A teljesen homomorf titkosítás egy olyan titkosítás, amely lehetővé teszi, hogy egy adott π 1 ,…, π t rejtjelezett szöveg bárki (nem csak a kulcstulajdonos) számára megszerezze bármely kívánt f( π 1 ,…, π t ) függvény titkosított szövegét , mindaddig, amíg ez függvény hatékonyan kiszámítható.
A teljesen homomorf titkosítás ötletét először 1978-ban javasolták az RSA nyilvános kulcsú kriptográfiai algoritmus feltalálói, Ronald Rivest és Adi Shamir Michael Dertouzosszal együtt . [1] A kezdeti szakaszban azonban az ilyen titkosítással rendelkező kriptorendszer létrehozására tett kísérletek sikertelenek voltak. Sok éven át nem volt világos, hogy egyáltalán lehetséges-e a teljesen homomorf titkosítás, bár többször is próbálkoztak ilyen rendszer létrehozásával. Így például a Shafi Goldwasser és Silvio Micali által 1982-ben javasolt kriptorendszer meglehetősen magas kriptográfiai erősséggel rendelkezett, de csak részben volt homomorf (csak homomorf), és csak egy bitet tudott titkosítani. [2] Egy másik additívan homomorf titkosítási rendszert javasolt 1999-ben Pascal Peillet . [3] A teljesen homomorf titkosítás fejlesztésében az áttörést 2009-ben éri el, amikor Craig Gentry először javasolta egy teljesen homomorf kriptorendszer egy rácsos kriptográfián alapuló változatát. [4] Azóta számos mű jelent meg, amelyek a Gentry kriptorendszer módosítását javasolják teljesítményének javítása érdekében.
A teljesen homomorf titkosítás egy titkosítási primitív, amely egy titkosítási függvény, amely kielégíti a homomorfizmus további követelményét az egyszerű szövegeken végzett műveletek tekintetében. A titkosítási függvény , ahol m a nyílt szöveg, k a titkosítási kulcs, homomorf a nyílt szövegeken végzett művelethez képest, ha létezik olyan hatékony algoritmus , amely bármely formájú kriptogrampárt bemenetként kapott , létrehoz egy kriptogramot. úgy, hogy a visszafejtéskor a nyílt szöveget megkapjuk [5] . A műveletre vonatkozó homomorfizmust hasonlóan definiáljuk .
Míg a részben homomorf kriptorendszerek csak egyetlen egyszerű szöveges művelet (akár összeadás, akár szorzás) esetén homomorfak, addig a teljesen homomorf rendszerek mindkét művelet (összeadás és szorzás) esetén is támogatják a homomorfizmust [6] . Vagyis a következő feltételek teljesülnek számukra:
Sőt, az összeadás és szorzás műveleteinek homomorfizmusa elegendő ahhoz, hogy a rendszer teljesen homomorf legyen. [6]
A Craig Gentry által létrehozott, rácsos titkosításon alapuló kriptorendszer leírta a teljesen homomorf rendszer első lehetséges felépítését. A Gentry rendszere támogatta a titkosított szövegen keresztüli összeadás és szorzás műveleteit, ami lehetővé teszi, hogy gyűrűket építsen fel tetszőleges számítás végrehajtásához.
A konstrukció egy majdnem homomorf titkosítási sémával indul , amely csak kisfokú polinomok kiszámítására alkalmas titkosított adatok felett. (Ennek az a határa, hogy a rejtjelezett szöveg tartalmaz némi zajt, ami a rejtjelezett szöveg összeadási és szorzási műveleteivel addig növekszik, amíg a zaj érthetetlenné teszi az eredményt.) Gantry megmutatta, hogyan lehet módosítani és rugalmassá tenni a sémát . Vagyis az újratitkosítás segítségével el tudta távolítani a felgyülemlett zajt, és legalább még egy műveletet végrehajtani a rejtjelezett szövegen.
Vagyis a séma lehetővé teszi, hogy legalább egy további művelethez kiértékelje a visszafejtési algoritmusát. Végül is megmutatta, hogy rekurzív önbeágyazással bármilyen flex séma átalakítható teljesen homomorf sémává.
"Zajos" Gentry-séma esetén a "rugalmas" sémát módosító eljárás hatékonyan "frissíti" a rejtjelezett szöveget azáltal, hogy homomorf visszafejtési eljárást alkalmaz rá, így egy új szöveget kap, amely ugyanazokat az adatokat titkosítja, mint korábban, de kisebb zajjal. A titkosított szöveg időszakos „frissítésével”, amikor magas zajszintet érünk el, tetszőleges számú műveletet lehet végrehajtani rajta interferencia nélkül. Gentry két problémával indokolta sémájának biztonságát: a legrosszabb eset titkosításának összetettségi problémájával ideális rácsokon és a részhalmazösszeg problémájával.
Gentry doktori munkájának [7] részletesebb leírása van.
Teljesítményük ellenére a Gentry-sémában a titkosított szövegek kompaktok maradnak, mivel hosszuk nem függ a titkosított adatokhoz kiszámított függvény összetettségétől. A séma azonban nem praktikus a rejtjelezett szöveg méretének drámai növekedése és a védelmi szinttől függő számítási költségek miatt. Damien Schechli és Ron Steinfeld számos optimalizálást és fejlesztést vezetett be [8] , majd Nigel Smart Frederic Verkauterennel [ 9] [10] és Craig Gentry Shai Halevivel , [11] [ 12] bemutatta a teljesen homomorf Gentry titkosítási séma első működő implementációit.
2010-ben Martin van Dijk , Craig Gentry , Shai Halevi és Weedon Vaikuntanahan bemutatott egy második teljesen homomorf rendszert [13] . Gentry kriptorendszerének számos elvét alkalmazta, de nem volt szükség tökéletes rácsokra . Ehelyett megmutatták, hogy az ideális rácsokon lehetséges a homomorf komponens helyettesítése egy egyszerű homomorf sémával, amely egész számokat használ. Ez a séma fogalmilag egyszerűbb, mint a Gentry-séma, de hasonló paraméterekkel rendelkezik a homomorfizmus és a hatékonyság tekintetében.
A homomorf komponens Dyck munkájában hasonló a Leviel és Naccaha által 2008-ban bemutatott titkosítási sémához [14] , és hasonló ahhoz, amelyet Brahm Cohen 1998-ban [15] mutatott be . De Cohen módszere nem homomorf az összeadás műveletét illetően. A Leviela-Naccahi séma csak az összeadási műveletet támogatja, és módosítható néhány szorzási művelet támogatására. Számos áramköri fejlesztést és optimalizálást mutatott be Jen-Sebastian Corona , Tankrid Lepointe , Avradip Mandala , David Nakkhi és Mehdi Tibuhi [16] [17] [18] [19] .
2011-2012 óta számos új technikát fejlesztettek ki Zvik Brakerski , Craig Gentry , Widon Vaikuntanahan és mások. Ezek a fejlesztések számos hatékonyabb, teljesen homomorf kriptorendszert eredményeztek. Közöttük:
A legtöbb séma biztonsága a hibatanulási probléma megoldásának nehézségén alapszik . Csak az LVT sémában valósul meg a védelem az NTRU számítási feladat egy változatán. Mindezek a rendszerek a korábbi sémákkal ellentétben lassabb zajnövekedést mutatnak a homomorf számítások során. Craig Gentry , Shai Haveli és Nigel Smart további optimalizálásának eredményeként egy majdnem optimális aszimptotikus komplexitású kriptorendszert kaptunk : [25] [26] [27] Ezek az optimalizálások a Smart-Vercauteren technikán alapulnak, amely lehetővé teszi, hogy szöveges változókat tömörítsen egyetlen titkosított szöveggé, és egy adatfolyamban dolgozzon ezeken a változókon . [10] A teljesen homomorf rendszerek második generációjának számos vívmányát az egész számokat tartalmazó kriptorendszerekben is felhasználták. [18] [19]
Zvika Brakerski és Vidon Vaikuntanahan észrevette, hogy számos séma esetében a GSW kriptorendszer enyhe zajszintnövekedést mutat, ezáltal nagyobb hatékonyságot és nagyobb biztonságot. [28] Jakob Alperin-Sheriff és Chris Peikert később egy hatékony titkosítás-flexibilis technikát írt le, amely ezt a sémát használja. [29] De ez a fajta átalakítás nem kompatibilis a titkosított szöveg tömörítési módszereivel, így Gentry-Sahai-Waters optimalizálás nem alkalmazható rá [25] .
Az összes eddigi második generációs kriptorendszer a Gentry séma tervezésének alapjait követi, nevezetesen, hogy szinte homomorf kriptorendszert használnak, nagyfokú zajnövekedéssel, majd egy teljesen homomorf kriptorendszerré alakítják át rugalmas sémává.
A teljesen homomorf titkosítás első megvalósítása a Gentry-Halevi séma volt, amelyet a fenti Gentry séma alapján valósítottak meg. [12] 30 percébe telt egy egyszerű bitművelet végrehajtása. A kriptorendszerek második generációjának megjelenése után ez a megvalósítás elavulttá vált.
A szakirodalomban számos implementáció található a második generációs szinte homomorf rendszereknek. A BGV kriptorendszer Gentry, Haveli és Smart (GHS) [27] variációjával implementálva [20] 36 óra alatt mutatta meg az eredményt egy komplex séma ( AES titkosítás megvalósítása) kiszámításakor. A rejtjelezett szöveg tömörítési technikák használatával ez a megvalósítás ugyanazt a sémát 54 különböző bemeneten tudja újraszámolni ugyanazon 36 óra alatt, így 40 perc eredményt kapva bemenetenként. Az AES áramkör számítását több további munkához is iránymutatóul választották, [18] [30] [31] , ahol jelentősen, 4 órára lehetett csökkenteni a számítási időt, miközben bemenetenként 7 másodpercet kellett ráfordítani.
A kriptorendszerek második generációjának két megvalósítása érhető el nyilvános használatra:
Mindkét könyvtár a teljesen homomorf titkosítás megvalósítása. A HELib 5-10 perc alatt mutatja az eredményt a tömörített titkosított szöveg körülbelül 1000 karakterből rugalmassá alakítására. [34] Az FHEW a tömörítetlen titkosított szöveget rugalmas rejtjelezett szöveggé alakítja körülbelül 1/2 másodperc alatt bitenként. [35] 2014 végén a HElib frissített implementációja 4 perc eredményt mutatott az AES-séma kiszámításához 120 bemeneti adatfolyamra, így folyamonként 2 másodperces fajlagos sebességet ért el. [32]
A Gentry által javasolt teljesen homomorf titkosítási sémát a számítások példáján keresztül tekinthetjük meg . [36]
Az adattitkosítási folyamat a következőképpen ábrázolható:
1. Egy tetszőleges páratlan számot választunk , ami egy titkos paraméter. Hadd .
2. Egy számot úgy állítunk össze , hogy , ahol egy tetszőleges szám. Ez azt jelenti, hogy .
3. A titkosítás során mindenki kap egy számot , ahol tetszőlegesen van kiválasztva. Így, . Könnyen belátható, hogy , és ezért a támadó csak a titkosítási kimenet paritását tudja meghatározni.
Legyen ismert a titkosított szám és a titok . Ezután az adatok visszafejtési folyamatának a következő lépéseket kell tartalmaznia:
1. Dekódolás a titkos paraméterrel : , ahol zajnak és .
2. Az eredeti titkosított bit beszerzése :
Legyen két bit , és ezekhez egy számpár és . Vegyük fel a titkos paramétert és titkosítsuk az adatokat: és .
Ezeknek a számoknak az összegét kiszámítjuk:
Ezen számok összege esetén a visszafejtett üzenet az eredeti bitek összege lesz .
De ennek ismerete nélkül nem lehet visszafejteni az adatokat: .
A szorzási műveletet ugyanúgy ellenőrizzük:
A kapott eredményekre a visszafejtési eljárást kell alkalmazni, ami a következőket eredményezi:
.
Ennek a teljesen homomorf titkosítási sémának a gyakorlati felhasználása jelenleg nem lehetséges, mivel a számítások eredményeként a felhalmozott hiba gyorsan eléri a kellően nagy értékeket [36] . Még az is lehetséges, hogy az adatokat egyáltalán nem lehet helyesen visszafejteni. Ez akkor történik meg, ha a hiba értéke meghaladja a . Egy ilyen probléma elkerülésére a Gantry kifejlesztett egy rejtjelezett szöveg önjavító mechanizmust (bootstrapping), amely a rejtjelezett szöveg mennyiségének túl gyors növekedése miatti kivitelezhetetlensége miatt nem talált széles körű alkalmazásra. Megoldható ez a probléma, de a kitűzött feladat eléréséhez bonyolultabb számítási algoritmusok kidolgozása szükséges, vagy az adatokkal végzett műveletek számának korlátozása. [36]
A teljesen homomorf titkosítás egyik legfontosabb alkalmazása a távoli felhőtárolón tárolt adatokon különböző matematikai műveletek végrehajtása . Egy ilyen titkosítási séma használata lehetővé teszi egy biztonságos felhőszolgáltatás létrehozását, amely képes különféle műveleteket végrehajtani a felhasználói adatokon anélkül, hogy tudná, milyen adatokról van szó.
Tegyük fel például, hogy a felhasználó titkosította bizonyos adatait, és tárolja azokat egy távoli felhőtárolón. Ha a felhasználó valamilyen módon módosítani kívánja ezeket az adatokat, akkor vagy rábízhatja a szerverre titkos kulcsát, és ennek következtében hozzáférhet minden titkos információjához, vagy letöltheti a titkosított adatokat a számítógépére, visszafejtheti, elvégezheti a szükséges számításokat és elküldheti. vissza a szerverre. De sem az egyik, sem a másik út nem optimális. Az első esetben lehetetlen kizárni az adatok valószínű kiszivárgását és harmadik félhez való hozzáférését, a második esetben az összes szükséges művelet elvégzésére fordított idő túl sok lehet. Ezenkívül előfordulhat, hogy az ügyfél egyszerűen nem rendelkezik a szükséges számítási erőforrásokkal a szükséges számítások elvégzéséhez. [6]
A globális információtechnológiai és távközlési piacot vizsgáló IDC nemzetközi kutatócég szerint is sok cég bizalmatlan a felhőtechnológiákkal szemben, és elsősorban a tárolt adatok biztonságával kapcsolatos nagy problémákat társít hozzájuk. A független Portio Research kutatócég pedig olyan adatokat közölt, amelyek szerint a különböző európai IT-cégek vezetőinek 68 százaléka nem bízik az ilyen szolgáltatásokban. Így például a G Data Security Labs vezetője , Ralph Bentzmuller a következőképpen beszélt a felhőszolgáltatásokról: „Ha nem szeretné, hogy adatai nyilvánosak legyenek, ne tárolja azokat felhőtárhelyen.” Ezért jelenleg eléggé akut probléma egy teljesen homomorf adattitkosítási sémát alkalmazó biztonságos felhőtároló létrehozása.. [37] .
A teljesen homomorf titkosítást olyan keresőmotorokban alkalmazzák, amelyek "privát keresést" igényelnek, vagyis olyan keresést, amelyben a szerver semmit sem tud a keresési lekérdezés tartalmáról, és az eredményt titkosított formában adja vissza a felhasználónak. A már lefedett területeken kívül teljesen homomorf titkosítási sémák is alkalmazhatók az elektronikus szavazórendszerekben , például vak aláírások esetén . [6]