Az azonosító alapú titkosítás vagy az identitás alapú titkosítás egy aszimmetrikus titkosítási rendszer, amelyben a nyilvános kulcsot a felhasználó személyazonosságára vonatkozó egyedi információk ( azonosító adatok ) alapján számítják ki. Ilyen információ lehet felhasználónév, e-mail cím, elérhetőségi telefonszám vagy bármilyen más adat.
Ezenkívül a titkosítási rendszer más elnevezései is használatosak: IBE, identitásalapú titkosítás, személyes titkosítás .
1984-ben Adi Shamir felvetette az azonosító adatokon alapuló nyilvános kulcsú kriptorendszer létrehozásának ötletét [1] . Adi Shamir munkájában nem adott teljes körű leírást a rendszerről, hanem egy személyazonossági információkon alapuló aláírást és egy e-mail címen alapuló nyilvános kulcsú infrastruktúrát fejlesztett ki.
Az első gyakorlati megvalósításokat 2001-ben a Clifford Cox - Cocks IBE séma [2] , valamint Dan Bonet és Matthew K. Franklin - Boneh–Franklin séma [3] mutatta be .
A privát titkosítás lehetővé teszi bármely fél számára, hogy nyilvános kulcsot generáljon bármely felhasználó személyazonosságából, biztonságosan cserélhessen üzeneteket, ellenőrizze az aláírásokat kulcscsere nélkül. A séma feltételezi egy megbízható központ jelenlétét a privát kulcsok generálására - egy harmadik megbízható fél, az úgynevezett Private Key Generator (PKG), amelynek célja, hogy minden új felhasználó számára személyes intelligens kártyát biztosítson. A kártya mikroprocesszorból, I/O portból, RAM-ból, ROM-ból a felhasználó privát kulcsával, valamint titkosító, visszafejtő, üzenetaláíró és aláírás-ellenőrző programokból áll. A korábban kiadott intelligens kártyákat nem kell frissíteni, ha új felhasználókat adnak a rendszerhez. A séma sikeresen alkalmazható zárt felhasználói kör számára - nemzetközi cég, nagy bank stb., mivel egy ilyen szervezet központja képes megbízható PKG-t szervezni és adminisztrálni ennek a felhasználói körnek [1] .
Az identitás alapú titkosítási séma a nyilvános kulcsú titkosítási rendszeren alapul, néhány módosítással. Az IBE-hez képest az a különbség, hogy ahelyett, hogy véletlenszerű privát és nyilvános kulcspárt generálna, és közzéteszi a megfelelő nyilvános kulcsot, a felhasználó nyilvános kulcsként választja ki a nevét, e-mail címét vagy más jól ismert azonosító adatait, amelyek egyedileg társíthatók ehhez a felhasználóhoz. . A megfelelő privát kulcsot a PKG segítségével számítják ki, és a fent leírt intelligens kártya formájában adják ki a felhasználónak [1] .
A biztonságos IBE kommunikációs csatorna létrehozásának folyamata a következőképpen írható le:
A felhasználó a személyes intelligens kártyáján lévő privát kulcsával aláír egy üzenetet, az eredményt a címzett személyazonosságának felhasználásával titkosítja, és elküldi az üzenetet a címzettnek, B felhasználónak. Az üzenet kézhezvétele után B felhasználó visszafejti azt a személyes kulcsán lévő titkos kulcs segítségével. intelligens kártya, azonosító adataival ellenőrzi a feladó aláírását.
Fontos megjegyezni, hogy a privát kulcsokat csak a PKG-kiszolgáló számíthatja ki a biztonságos üzenetkezelés érdekében.
Az algoritmus működése a következőképpen ábrázolható:
Egy adott kriptorendszer általános biztonsága a következőktől függ:
A privát kulcs, a nyilvános kulcs és a személyes titkosítási sémák közötti különbségeket a 2. ábra szemlélteti. Minden sémában az üzenetet kulccsal titkosítják, nyilvános csatornán titkosított szövegként továbbítják , és a kulcs segítségével dekódolják . A kulcsok véletlenszerű paraméterek használatával generálódnak . A magánkulcsos sémában a nyilvános kulcsú titkosítási és visszafejtési kulcsokat véletlenszerű paraméterek segítségével állítják elő két különböző függvényen és . Az identitás alapú titkosítási sémában egy másik elv rejlik: a felhasználó identitása titkosítási kulcsként működik, a visszafejtési kulcsot valamilyen felhasználói azonosító és egy véletlenszerű paraméter segítségével állítják elő az [1] függvényen keresztül .
A nyilvános kulcsú kriptorendszer aláírási sémája eltér a privát kulcsú titkosítási rendszerétől. Az aláírási sémák közötti különbség a 3. ábrán látható.
1984-ben Adi Shamir csak az üzenetaláírási séma konkrét megvalósítását javasolta, felvetette magának a kriptorendszernek implementációinak létezését, és arra is ösztönözte a közösséget, hogy ezeket keressék és tanulmányozzák.
Az aláírási séma a következő feltétel ellenőrzésén alapul: , ahol az üzenet, az aláírás, a felhasználó identitása, két nagy prímszám szorzata, egy nagy prím, amely viszonylag prím az [1] -hez .
A PKG oldalon kiválasztott paraméterek és funkció minden felhasználó számára azonosak. A funkció algoritmikus leírása minden felhasználó számára egyedi intelligens kártyán tárolódik. Ezen paraméterek értékei nyilvánosak lehetnek, de az elsődleges faktorizációt csak a PKG szerveren szabad tárolni. Egy felhasználót csak az azonosítója alapján lehet megkülönböztetni a másiktól . Az egyetlen privát kulcs , amely megfelel a -nak, nem más, mint: . Ezt a kulcsot egyszerűen ki lehet számítani a PKG szerveren, de senki más nem tudja kiszámítani [1] .
Minden üzenetnek nagy számú lehetséges aláírása van, és ebben az esetben a véletlenszerű párválasztási algoritmus nem hatékony. Bármilyen kísérlet véletlenszerű érték rögzítésére egy pár egyik változójához, és egy kifejezés megoldására a másik nem rögzített változóhoz faktorizálást igényel , ami jelenleg nehéz számítási probléma. Ha azonban az érték biztosan ismert, de a dekompozíció nem ismert, akkor van egy egyszerű módja annak, hogy bármilyen üzenethez tetszőleges számú aláírást generáljunk [1] .
Egy üzenet aláírásához a felhasználónak egy véletlen számot kell választania, és ki kell számítania: . A fenti feltétel átírható így: . Mivel a koprím -vel van , a közös tényező kizárható a kitevőből. Összefoglalva: kiértékelés nélkül is kiszámítható [1] .
Jelenleg az identitás alapú titkosítási sémák bilineáris párosításokon (Weyl és Tate) és elliptikus görbéken alapulnak . Dan Boneh és Matthew K. Franklin 2001-ben fejlesztette ki az első ilyen sémát, a Boneh–Franklin sémát [3] . Egy tetszőleges hosszúságú üzenet valószínűségi titkosítását hajtja végre, hasonlóan az ElGamal-sémához [3] .
A titkosítás más megközelítését javasolta Clifford Cox 2001-ben - Cocks IBE séma . Ez a kriptorendszer nagyszámú modulo négyzetes maradékot használ, az üzeneteket egyenként titkosítja, és megnöveli a titkosított szöveg hosszát a kezdeti üzenethez képest [2] .
A gyakorlatban a következő azonosító adatokon alapuló kriptorendszereket alkalmazzák:
2010-ben Xu An Wang és Xiaoyuan Yang tanulmányt végzett a két hierarchikus identitáson alapuló titkosítási séma erősségéről, amelyek több, különböző "szintű" PKG szerver használatát foglalják magukban felhasználói kulcsok generálására. A kutatók egy véletlenszerűen kiválasztott, első "szintű" privát kulcs segítségével hajtottak végre támadást, megszerezve a szükséges magánkulcsot a megcélzott áldozat felhasználó számára. Az eredményül kapott privát kulcs lehetővé teszi az áldozat felhasználó bármely titkosított üzenetének visszafejtését [6] .
2014-ben Jyh-Haw Yeh megvizsgálta a Boneh–Franklin sémát , és arra a következtetésre jutott, hogy ennek a kriptorendszernek a szerzői csak egy kriptográfiai hash függvény használatát jelzik , de nem kínálnak konkrét megvalósítást ennek a hash függvénynek. Jyh-Haw Yeh munkájában egy olyan kriptográfiai hash függvényt fejlesztett ki és javasolt használatra, amely megfelel a következő követelményeknek [7] :
Ezenkívül Jyh-Haw Yeh egy kriptográfiai hash függvény kidolgozásakor a következőkkel egészítette ki a követelmények listáját [7] :
Más szavakkal, ez a további tulajdonság megköveteli az együttható kiszámításának bonyolultságát tetszőleges előképekhez arányban vagy -ban , ahol a hash függvény. Fontos megjegyezni, hogy egy további tulajdonság bevezetése nélkül Jyh-Haw Yeh munkája a Boneh-Franklin séma kriptográfiai erejének tanulmányozása lett volna [7] .
Szimmetrikus titkosítási rendszerek | |
---|---|
Rejtjelfolyam adatfolyam | |
Feistel hálózat | |
SP hálózat | |
Egyéb |
Hash függvények | |
---|---|
Általános rendeltetésű | |
Kriptográfia | |
Kulcsgenerálási funkciók | |
Csekkszám ( összehasonlítás ) | |
Hashes |
|