Slo-Tech

» »

CryptDB - baza podatkov, ki izvaja podatkovne operacije nad šifriranimi podatki

CryptDB - baza podatkov, ki izvaja podatkovne operacije nad šifriranimi podatki

Forbes - Skupina raziskovalcev iz MIT-ja je pred kratkim predstavila pomemben napredek pri razvoju šifriranih baz podatkov. Raluca Ada Popa, Catherine M. S. Redfield, Nickolai Zeldovich in Hari Balakrishnan so v članku CryptDB: Protecting Confidentiality with Encrypted Query Processing predstavili koncept baze podatkov, ki omogoča izvajanje operacij nad šifriranimi podatki na način, da podatkov ni potrebno dešifrirati.

Gre za tim. popolnoma homomorfno šifriranje, katerega teoretične temelje je leta 2009 postavil je kriptolog Craig Gentry (več o tem v članku Fully Homomorphic Encryption Using Ideal Lattices).

Homomorfni šifrirni sistemi imajo to lastnost, da je določena algebraična operacija nad dvema nizoma podatkov ekvivalentna določeni algebraični operaciji (ni nujno, da gre za isti dve algebraični operaciji) nad šifriranima niza teh dveh podatkov.

Homomorfne šifrirne sisteme je mogoče uporabiti npr. pri preštevanju elektronskih glasovnic. Sistem omogoča preštevanje šifriranih glasovnic, pri čemer glasovnic ne dešifriramo, a na koncu vseeno dobimo dešifriran skupni rezultat glasovanja (več o tem si je mogoče prebrati v diplomskem delu Kriptografija e-volitev, avtorja Andreja Toliča).

Kot rečeno, je teoretične temelje popolnoma homomorfnega sistema postavil Craig Gentry, vendar pa njegova rešitev v praksi ni preveč uporabna, saj je čas izvajanja na operacij povečala za približno bilijonkrat.

Omenjeni raziskovalci iz MIT-ja so zato ubrali drugačen pristop. Za posamezne operacije nad podatkovno bazo so uporabili različne delno homomorfne kriptosisteme, pri čemer so uporabili tiste, ki so časovno najbolj učinkoviti.

Podatki v bazi - raziskovalci so jo poimenovali CryptDB - so zašifrirani v več različnih "plasteh", z različnimi šifrirnimi algoritmi in z različnimi šifrirnimi ključi. CryptDB zaradi delnega homomorfizma sicer ne omogoča izvajanja vseh operacij nad podatki (tipičen primer operacije, ki je ni mogoče izvesti je npr. izračun kvadratnega korena nad podatki), vendar pa raziskovalci ocenjujejo, da bo nad šifriranimi bazami podatkov mogoče izvajati kar 99,5% tipičnih podatkovnih operacij, torej operacij, ki se najbolj pogosto uporabljajo nad običajnimi bazami podatkov.

23 komentarjev

Looooooka ::

WHERE EMSO LIKE '%YOUREMSO%'.
fsck encryption then :D

Zgodovina sprememb…

Fave ::

Ali je v diplomskem delu od Andreja Toliča na strani 66 napaka? V tistem odstavku pod formulo bi najbrž moralo pisati 2^32-1?
My mind's a hyper tool that fixes everything.

Matthai ::

Looooooka je izjavil:

WHERE EMSO LIKE '%YOUREMSO%'.
fsck encryption then :D

WHERE EMSO LIKE '%YOURENCRYPTEDEMSO%'
All those moments will be lost in time, like tears in rain...
Time to die.

marS ::

a smo s tem kaj bližje elektronskim volitvam?
...no more heroes...
http://tracks.ilbis.com/

para! ::

Tole je full-feature DB pogon, ali layer za SQL?

lp
Death before dishonor!

AndyS ::

Fave je izjavil:

Ali je v diplomskem delu od Andreja Toliča na strani 66 napaka? V tistem odstavku pod formulo bi najbrž moralo pisati 2^32-1?


Je napaka ja.. Saj je očitna...

Ziga Dolhar ::

marS je izjavil:

a smo s tem kaj bližje elektronskim volitvam?


Lahko smo bližje volitvam na elektronski napravi na volišču (bo Matej povedal), nikakor pa ne internetnim volitvam oziroma volitvam zunaj nadzorovanega okolja (volišča).
Legal systems are not supposed to be efficient. They are
designed to ensure that innocent people are not found guilty.
If that requires inefficiencies, so be it.

marS ::

Ziga Dolhar je izjavil:

marS je izjavil:

a smo s tem kaj bližje elektronskim volitvam?


Lahko smo bližje volitvam na elektronski napravi na volišču (bo Matej povedal), nikakor pa ne internetnim volitvam oziroma volitvam zunaj nadzorovanega okolja (volišča).


no saj to je korak naprej....
...no more heroes...
http://tracks.ilbis.com/

FrizzleFry ::

Kaj pa uporabna vrednost za cloud? Da cloud provider ne more prebrati uporabnikovih podatkov. Izvedljivo?

Matthai ::

Zelo izvedljivo.

Še vedno pa rabiš dober audit log. Tale zadeva je namreč ranljiva na diferencialno kriptoanalizo, torej nas varuje zgolj pred DB adminom, pri čemer mora sistem zagotavljati, da DB admin ne izvaja preveč analiz, s katerimi uspe iz strukture podatkov razbrati tudi vsebine.

Sem bil jasen, ali razložim bolj podrobno?
All those moments will be lost in time, like tears in rain...
Time to die.

Macketina ::

Matej, vedno podrobno :)

Matthai ::

Torej, problem, ki ga poznamo že od Lorenz šifrirnega algoritma iz časa druge svetovne vojne je, da je mogoče uganiti strukturo podatkov ali celo same podatke, če je isti tekst zašifriran z dvema različnima ključema ali dvema različnima algoritmoma.

Poleg tega v primeru homomorfizma lahko iz strukture podatkov uganemo tudi vsebino. Recimo, če homomorfizem omogoča sortiranje podatkov, lahko z vstavljanjem znane vrednosti v podatke ugotovimo vrednost nekega podatka. Se pravi: vstavimo neko random cifro notri, pogledamo na katero mesto je padla, vstavimo drugo, in tako ožimo interval v katerem se nahaja podatek, ki ga želimo razkriti.

Skratka, če DB admin nad bazo izvaja ustrezne operacije, lahko ugane podatke.

Temu se izognemo tako, da se beleži audit log kaj je DB admin delal. S tem dosežemo, da če bo DB admin na hitrico pogledal podatke, ne bo videl vsebine, če pa bo začel ugibati vsebino, se bo to poznalo v audit logu in bomo človeka lahko pravočasno ustavili.

Seveda v tem primeru DB admin ne sme imeti možnosti izvoza podatkov (tim. database dump), oz. mora biti ta šifriran z asimetričnim algoritmom in DB admin ne sme imeti ključa za dešifriranje.

In če gremo še en korak dalje, ne sme biti DB admin tudi sysadmin, ker bi lahko naredil repliko sistema in tam izvajal ugibanje.

Se pravi gre tukaj za en pomemben košček v mozaiku varnosti, vendar se je treba zavedati, da je to le en košček in tudi proti katerim grožnjam stvar ščiti in proti katerim ne.
All those moments will be lost in time, like tears in rain...
Time to die.

MrStein ::

http://www.elektronske-volitve.si/ je webmaster tega mogoče tule?
Malo touch-upa bi rabila stran. Mogoče le v CSS.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Matthai ::

Ful prenove bi rabila stran, vem. ;)
All those moments will be lost in time, like tears in rain...
Time to die.

kronik ::

Volilni sistemi so v uporabi redko, največ nekajkrat na leto. Sistemi, ki so v uporabi vsak dan se izboljšujejo, ker ljudje nanje postanejo navajeni, odkrijejo napake in se spomnijo izboljšav.".


To pa lahko hitro spremenimo z uvedbo i-parlamenta. Zakone naj predlagajo strokovnjaki, glasovali pa bomo mi. In se že rešimo enega kupa zajedavcev proračuna.

Matthai ::

Kateri strokovnjaki točno? ;) Lobistični?

In kdo bo vsak dan glasoval? Razen organiziranih lobistov...
All those moments will be lost in time, like tears in rain...
Time to die.

MrStein ::

kronik je izjavil:


To pa lahko hitro spremenimo z uvedbo i-parlamenta. Zakone naj predlagajo strokovnjaki, glasovali pa bomo mi.

Mi?

Misliš ta kup folka, kateri povečini ni jasno, da sta parlament in vlada dve (zelo) različni zadevi?
Ki mislijo, da je Jankovič bil izvoljen za predsednika vlade (da ne rečem države)?

rly? :(
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

para! ::

A tole (CryptDB) se da uproabit kot sloj on-top-of SQL, al je čisto samosvoja zadeva? Če je možno, je potrebna kakšna posebna struktura baze?

lp
Death before dishonor!

MrStein ::

http://css.csail.mit.edu/cryptdb/

Neki modicifiran MySQL. Nimam GIT-a, pa nisem detajle pogledal (je kaka web2git stran ?)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Matthai ::

Čakam da tole kot extension pride v Postgres...
All those moments will be lost in time, like tears in rain...
Time to die.

kronik ::

Matthai je izjavil:

Kateri strokovnjaki točno? ;) Lobistični?

In kdo bo vsak dan glasoval? Razen organiziranih lobistov...


Tisti, ki se zanimajo za politiko bi glasovali vsak dan, ostali pa itak niti na volitve ne hodijo.
Če bi dnevno glasovalo samo 10.000 ljudi, je to še vedno bolje od 90 plačancev/lobistov.

Izbor strokovnjakov je pa malo večji problem ja (v grobem bi lahko bil pogoj doktorat iz določenega področja ali pa celo vsak državljan?). Idealno bi bilo, da bi vsak strokovnjak pripravil svoj predlog, mi pa bi izbrali najboljšega glede na argumente. Temu bi se reklo demokracija. ;)

PaX_MaN ::

MrStein je izjavil:

http://css.csail.mit.edu/cryptdb/

Neki modicifiran MySQL. Nimam GIT-a, pa nisem detajle pogledal (je kaka web2git stran ?)

En mirror je https://github.com/CaiusRobot/CryptDB
Pravi, da se apdejta vsakih 10 minut, ampak so zadnji datumi že sredi novembra.

MrStein ::

Aha, po README sodeč je to en frontend/proxy pred MySQL.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

CryptDB - baza podatkov, ki izvaja podatkovne operacije nad šifriranimi podatki

Oddelek: Novice / Zasebnost
235234 (3515) MrStein
»

Zla koda v grafičnih procesorjih

Oddelek: Novice / Grafične kartice
62560 (1507) denial
»

Izšel TrueCrypt 6.2

Oddelek: Novice / Zasebnost
363723 (2570) MrStein
»

Izšel TrueCrypt 5.1

Oddelek: Novice / Zasebnost
113694 (3042) Matthai
»

Uspešno razbitje sistema za daljinsko zaklepanje avtomobilov KeeLoq

Oddelek: Novice / Zasebnost
297308 (5325) Loki

Več podobnih tem