Menü
Ingyenes
bejegyzés
itthon  /  Multimédia    / Mekkora a titkosítási kulcs hossza? Kriptográfiai kulcsok

Mit jelent a titkosítási kulcs hossza? Kriptográfiai kulcsok

Az SSL-tanúsítványok felhasználásának fő célja az, hogy az ügyféltől a kiszolgálóra továbbított adatokat és a kiszolgálóról az ügyfelet továbbítsák. Az ilyen kapcsolat biztonságának biztosítása érdekében a modern böngészők az X.509 tanúsítványokon alapuló TLS algoritmust használják. Ez az algoritmus aszimmetrikus titkosítást használ a munkamenet-kulcs létrehozásához a szimmetrikus titkosításhoz. Ez utóbbi közvetlenül egy biztonságos kapcsolat létrehozását követõ adatátvitelre használható.

Mi a kulcs a kriptográfiában?

  A kriptográfia kulcsa a titkos információ, amelyet a kriptográfia során használunk üzenetek titkosításához és dekódolásához, digitális aláírás létrehozásához és ellenőrzéséhez, az üzenet hitelesítési kódjainak kiszámításához és így tovább. A kulcs megbízhatóságát az úgynevezett kulcshossz határozza meg, amelyet bitben mérnek. Az SSL-tanúsítványok standard kulcshossza 128 vagy 256 bit. A gyökér tanúsítvány-tanúsítványkulcs hossza nem lehet kevesebb, mint 4096 bit. Az összes tanúsító hatóság, amellyel dolgozunk, SSL-tanúsítványokat biztosít a kulcsmal, amely teljes mértékben megfelel a modern szabványoknak:

Nyilvános és magánkulcsok aszimmetrikus titkosításban

  Az aszimmetrikus titkosítás érvényes kulcspár: nyilvános (nyilvános kulcs)   és zárvamás néven titok (Privát kulcs) A nyilvános és a magánkulcs ebben az esetben lehetővé teszi a kriptográfiai algoritmus számára az üzenet titkosítását és visszafejtését. Ugyanakkor a nyilvános kulccsal titkosított üzeneteket csak a privát kulcs felhasználásával lehet visszafejteni. A nyilvános kulcsot a tulajdonos tanúsítványában közzéteszik, és elérhető a csatlakoztatott ügyfél számára, a privát kulcsot pedig a tanúsítvány tulajdonosa tárolja. A nyilvános és a magánkulcsokat matematikai függőségek kapcsolják össze, így lehetetlen rövid időn belül (tanúsítvány érvényességi ideje) kiválasztani a nyilvános vagy a magánkulcsot. Ezért mindig alacsonyabb a magasabb szintű védettségű SSL-tanúsítványok maximális érvényességi ideje. Tehát maximum 2 évet rendelhet. Ugyanakkor új SSL-tanúsítvány megrendelésekor vagy a régi megújításakor fontos egy új CSR-kérés generálása, mivel a magánkulcsa hozzá van csatolva, és jobb, ha frissíti, amikor új SSL-tanúsítványt állít ki. Az ügyfél és a kiszolgáló interakciója a következő:
  1. a nyilvános kulcsú böngésző titkosítja a kérést, és elküldi azt a kiszolgálóra;
  2. a szerver a magánkulccsal dekódolja a kapott üzenetet;
  3. a szerver titkosítja digitális azonosítóját egy privát kulccsal, és továbbítja azt az ügyfélnek;
  4. az ügyfél ellenőrzi a szerver azonosítóját és átadja a sajátját;
  5. a kölcsönös hitelesítés után az ügyfél a jövőbeni munkamenet kulcsát titkosítja a nyilvános kulccsal, és átadja a szervernek;
  6. az ügyfél és a szerver között továbbított összes későbbi üzenetet a munkamenetkulcs aláírja, és a nyilvános és a magánkulcs segítségével titkosítja.
  Ilyen módon számos biztonsági pontot biztosítanak:
  • kizárt az információszivárgás lehetősége - ha elfogják, nem lehet visszafejteni;
  • a szerver megerősíti a címet és az azonosítót, egy másik webhelyre történő átirányítás (adathalász) lehetősége megszűnik;
  • egy egyedi munkamenetet rendelnek az ügyfélhez, amely lehetővé teszi a megbízhatóbb megkülönböztetését a többi ügyféltől;
  • a biztonságos munkamenet beállítása után az összes üzenet az ügyfél-azonosítóval titkosítva van, és azokat nem szabad diszkréten elfogni vagy megváltoztatni.

  Általános esetben a nyilvános és a magánkulcsokkal történő titkosítás olyan eseteknek tekinthető, amelyekben két kulcsot használnak: az egyik csak bezárható, a másik kinyitható. Ha az ügyet az első kulccsal zárták le, csak a második nyithatja meg, ha a másodikkal bezárták, akkor az első fog kinyitni. Ez egyértelműen látható a fenti ábrán.

A kulcsban lévő információ mennyiségét általában bitben mérik.

A modern szimmetrikus algoritmusok (AES, CAST5, IDEA, Blowfish, Twofish) esetében a kriptográfiai erősség fő jellemzője a kulcshossz. Erõsnek tekintjük a 128 bites vagy annál hosszabb kulcsokkal történõ titkosítást, mivel az információk kulcs nélküli dekódolása évente nagy teljesítményû szuperszámítógépeket igényel. A számelmélet problémáin alapuló aszimmetrikus algoritmusok esetében (faktorizációs probléma - RSA, diszkrét logaritmus probléma - Elgamal) jellemzőik miatt a minimális megbízható kulcshossz jelenleg 1024 bit. Az elliptikus görbék elméletén alapuló aszimmetrikus algoritmusoknál (ECDSA, GOST R 34.10-2001, DSTU 4145-2002) a minimális megbízható kulcshossz 163 bit, de legalább 191 bit hosszúság ajánlott.

Ebben a módszertanban ugyanazt a kulcsot használják mind a titkosításhoz, mind a feladó és a címzett dekódolásához, amelyeket a kölcsönhatás kezdete előtt vállaltak. Ha a kulcsot nem sértették meg, akkor a visszafejtéskor a feladó automatikusan hitelesítésre kerül, mivel csak a feladónak van egy kulcsa, amellyel információkat titkosíthat, és csak a címzettnek van kulcsa, amellyel információt vissza lehet dekódolni. Mivel a küldő és a fogadó csak azok a személyek, akik ismerik ezt a szimmetrikus kulcsot, csak a két felhasználó interakciója sérül, ha a kulcs sérül. Más kriptoszisztémák szempontjából releváns probléma a szimmetrikus (titkos) kulcsok biztonságos elosztása kérdése.

A szimmetrikus titkosítási algoritmusok olyan kulcsokat használnak, amelyek nem túl hosszúak és gyorsan nagy mennyiségű adatot tudnak titkosítani.

A szimmetrikus kulcsokkal rendelkező rendszerek használatának eljárása:

A szimmetrikus titkos kulcsot biztonságosan hozzák létre, terjesztik és tárolják.

A feladó elektronikus aláírást hoz létre úgy, hogy kiszámítja a szöveg hash-függvényét, és csatolja a kapott szöveget a szöveghez

A feladó egy gyors szimmetrikus titkosítási-visszafejtési algoritmust és egy titkos szimmetrikus kulcsot használ a kapott csomaghoz (szöveg és a csatolt elektronikus aláírás együtt) a titkosított szöveg fogadására. A hitelesítés hallgatólagosan így történik, mivel csak a feladó ismeri a szimmetrikus titkos kulcsot és képes titkosítani ezt a csomagot. Csak a címzett ismeri a szimmetrikus titkos kulcsot, és visszafejteni tudja ezt a csomagot.

A feladó továbbítja a rejtjel szöveget. A szimmetrikus titkos kulcsot soha nem továbbítják a nem biztonságos kommunikációs csatornákon.

A címzett ugyanazt a szimmetrikus titkosítási-visszafejtési algoritmust használja ugyanazzal a szimmetrikus kulcsmal (amely a címzettnek már megvan) a titkosított szöveghez az eredeti szöveg és az elektronikus aláírás visszaállításához. Sikeres helyreállítása hitelesíti valaki, aki ismeri a titkos kulcsot.

A címzett elválasztja az elektronikus aláírást a szövegtől.

A címzett újabb elektronikus aláírást hoz létre a kiszámított hash függvény kiszámításával.

A címzett összehasonlítja ezt a két elektronikus aláírást az üzenet integritásának ellenőrzése érdekében (nincs torzítás)

A szimmetrikus módszertant használó ma elérhető eszközök a következők:

Kerberos, amelynek célja a hálózati erőforrásokhoz való hozzáférés hitelesítése, nem pedig az adatok ellenőrzése. Központi adatbázist használ, amely tárolja az összes felhasználó titkos kulcsainak másolatát.

ATM hálózatok (ATM BankingNetworks). Ezek a rendszerek a saját bankjaik eredeti tervei, és nem eladóak. Szimmetrikus módszertant is alkalmaznak.

Összehasonlítás aszimmetrikus kriptoszisztémákkal

Előnyök

sebesség (az AppliedCryptography szerint - 3 nagyságrenddel nagyobb)

könnyű végrehajtás (az egyszerűbb műveletek miatt)

rövidebb kulcshossz szükséges az összehasonlítható tartóssághoz

tudás (nagyobb életkor miatt)

hátrányok

a kulcskezelés komplexitása egy nagy hálózatban. Ez azt jelenti, hogy a hálózatban generálni, átadni, tárolni és megsemmisíteni kell a kulcspárokat. 10 előfizetőből álló hálózathoz 45 kulcsra van szükség, 100-ra már 4950, 1000-re - 499500 stb.

a kulcscsere összetettsége. Használathoz meg kell oldani a megbízható kulcsátvitel problémáját az egyes előfizetők számára, mivel titkos csatornára van szükség az egyes kulcsok mindkét fél számára történő továbbításához.

A szimmetrikus titkosítás hiányosságainak kompenzálására jelenleg széles körben használnak kombinált (hibrid kriptográfiai sémát), ahol az aszimmetrikus titkosítás átadja azt a munkamenetkulcsot, amelyet a felek szimmetrikus titkosítás felhasználásával cserélnek.

A szimmetrikus rejtjelek fontos tulajdonsága, hogy lehetetlen használni őket a szerzők megerősítésére, mivel a kulcs mindkét oldalán ismert.

Ebben a módszertanban a titkosítás és a visszafejtés kulcsai különböznek, bár együtt készülnek. Az egyik kulcs mindenki számára ismert, a másik pedig titokban van. Annak ellenére, hogy mindkét kulccsal titkosíthat és dekódolhat, az egyik kulccsal titkosított adatokat csak egy másik kulccsal lehet visszafejteni.

Minden aszimmetrikus kriptoszisztéma támadásoknak van kitéve a kulcsok közvetlen felsorolása révén, ezért sokkal hosszabb kulcsot kell használniuk, mint a szimmetrikus kriptoszisztémákban, hogy egyenértékű védelmet biztosítsanak. Ez azonnal befolyásolja a titkosításhoz szükséges számítási erőforrásokat, bár az elliptikus görbe titkosítási algoritmusok enyhíthetik ezt a problémát. Bruce Schneier „Alkalmazott kriptográfia: Protokollok, algoritmusok és C forráskód” című könyvében a következő adatokat adja meg az egyenértékű kulcshosszokról.

Annak érdekében, hogy elkerüljük az aszimmetrikus titkosítási algoritmusok alacsony sebességét, minden üzenethez ideiglenes szimmetrikus kulcsot generálunk, és csak aszimmetrikus algoritmusok titkosítják. Maga az üzenet titkosítva van ezen ideiglenes munkamenetkulcs és titkosítási / visszafejtési algoritmus használatával. Ez a munkamenet-kulcs ezután titkosítva van a címzett nyitott aszimmetrikus kulcsával és aszimmetrikus titkosítási algoritmussal. Ezt követően ezt a titkosított munkamenetkulcsot a titkosított üzenettel együtt továbbítják a címzettnek. A címzett ugyanazt az aszimmetrikus titkosítási algoritmust és saját magánkulcsát használja a munkamenet-kulcs visszafejtéséhez, a fogadott munkamenet-kulcs pedig az üzenet dekódolásához használható.

Az aszimmetrikus kriptoszisztémákban fontos, hogy a munkamenet és az aszimmetrikus kulcsok összehasonlíthatók legyenek az általuk nyújtott biztonsági szint szempontjából. Ha rövid munkamenet-kulcsot használ (például 40 bites DES), akkor nem számít, mekkora az aszimmetrikus kulcs. A hackerek nem támadják meg őket, hanem a munkamenet kulcsait. Az aszimmetrikus nyilvános kulcsok érzékenyek a brutális erőszakos támadásokra, részben azért, mert nehéz helyettesíteni őket. Ha a támadó megtanulja a titkos aszimmetrikus kulcsot, akkor nemcsak az aktuális, hanem a küldő és a fogadó közötti későbbi interakciók is veszélybe kerülnek.

Az eljárás aszimmetrikus kulcsokkal rendelkező rendszerek használatához:

Az aszimmetrikus nyilvános és magánkulcsokat biztonságosan hozzák létre és terjesztik. A titkos aszimmetrikus kulcsot a tulajdonosnak továbbítják. Az aszimmetrikus nyilvános kulcsot az X.500 adatbázis tárolja, és egy igazolási hatóság kezeli (CertificationAuthority vagy CA). Magától értetődik, hogy a felhasználóknak azt kell hinniük, hogy egy ilyen rendszer kulcsok biztonságos létrehozására, terjesztésére és adminisztrálására szolgál. Sőt, ha a kulcskészítő és az őket kezelő személy vagy rendszer nem azonos, akkor a végfelhasználónak azt kell hinnie, hogy a kulcskészítő ténylegesen megsemmisítette másolatát.

A hash function kiszámításával létrejön a szöveg elektronikus aláírása. A kapott értéket a feladó aszimmetrikus titkos kulcsával titkosítjuk, majd a kapott karakterlánc hozzáadódik az átadott szöveghez (csak a feladó hozhat létre elektronikus aláírást).

Létrejön egy titkos szimmetrikus kulcs, amelyet csak ennek az üzenetnek vagy interakciós munkamenetnek (munkamenet-kulcs) rejtjeleznek, majd a szimmetrikus titkosítási / dekódolási algoritmus és ennek a kulcsnak a felhasználásával a forrásszöveget titkosítják, a hozzá csatolt elektronikus aláírással együtt - a titkosított szöveget megkapják (rejtjel- szöveg).

Most meg kell oldania a problémát azáltal, hogy átadja a munkamenet kulcsot az üzenet címzettjének.

A feladónak rendelkeznie kell egy aszimmetrikus igazolási jogosultság (CA) nyilvános kulcsával. A nyilvános kulcs titkosítatlan kéréseinek elfogása a támadás általános formája. Lehet, hogy egy teljes igazolási rendszer igazolja a CA nyilvános kulcs hitelességét. Az X.509 szabvány számos módszert ír le a felhasználók számára a CA nyilvános kulcsok beszerzésére, de egyikük sem képes teljes mértékben megvédeni a CA nyilvános kulcsának hamisítását, ami egyértelműen bizonyítja, hogy nincs olyan rendszer, amely garantálhatja a CA nyilvános kulcs hitelességét.

A feladó a CA-tól kéri az üzenet címzettjének aszimmetrikus nyilvános kulcsát. Ez a folyamat érzékeny a támadásra, amelynek során a támadó beavatkozik a küldő és a címzett közötti interakcióba, és módosíthatja a közöttük továbbított forgalmat. Ezért a címzett aszimmetrikus nyilvános kulcsát „aláírja” a CA. Ez azt jelenti, hogy a CA az aszimmetrikus titkos kulcsát az aszimmetrikus címzett nyilvános kulcs titkosításához használta. Csak a CA ismeri a CA aszimmetrikus titkos kulcsát, ezért vannak garanciák arra, hogy a címzett aszimmetrikus nyilvános kulcsát a CA-tól kapjuk meg.

A kézhezvétel után a címzett aszimmetrikus nyilvános kulcsát dekódolják az aszimmetrikus CA nyilvános kulcs és az aszimmetrikus titkosítási / dekódolási algoritmus segítségével. Természetesen feltételezzük, hogy a CA-t nem veszélyeztették. Ha veszélybe kerül, akkor ez letiltja a felhasználók teljes hálózatát. Ezért maguk titkosíthatják a többi felhasználó nyilvános kulcsait, de hol van az a bizalom, hogy nem veszélyeztetik őket?

A munkamenet kulcsot most egy aszimmetrikus titkosítási-visszafejtési algoritmus és egy aszimmetrikus címkekulcs titkosítja (amely a CA-tól kapott és dekódolt).

A titkosított munkamenetkulcsot a titkosított szöveghez csatolják (amely tartalmazza a korábban hozzáadott elektronikus aláírást is).

A teljes fogadott adatcsomagot (titkosított szöveg, amely a forrásszöveg mellett tartalmazza az elektronikus aláírást és a titkosított munkamenetkulcsot is) továbbítja a címzettnek. Mivel a titkosított munkamenetkulcsot nem biztonságos hálózaton továbbítják, ez a különféle támadások nyilvánvaló tárgya.

A címzett a titkosított munkamenet-kulcsot kibontja a fogadott csomagból.

Most a címzettnek meg kell oldania a problémát a munkamenet kulcs visszafejtésével.

A címzettnek rendelkeznie kell egy aszimmetrikus igazolási jogosultság (CA) nyilvános kulcsával.

A titkos aszimmetrikus kulcs és ugyanazon aszimmetrikus titkosítási algoritmus felhasználásával a címzett visszafejti a munkamenet kulcsot.

A címzett ugyanazt a szimmetrikus titkosítási-dekódolási algoritmust és a dekódolt szimmetrikus (munkamenet) kulcsot alkalmazza a titkosított szövegre, és a forrásszöveget elektronikus aláírással együtt megkapja.

A címzett elválasztja az elektronikus aláírást a forrás szövegétől.

A címzett az aszimmetrikus feladó nyilvános kulcsát kéri a CA-tól.

Miután megkapta ezt a kulcsot, a címzett a CA nyilvános kulcs és a megfelelő aszimmetrikus titkosítási-visszafejtési algoritmus segítségével dekódolja azt.

Ezután a szöveg hash funkcióját a feladó nyilvános kulcsának és az aszimmetrikus titkosítási-visszafejtési algoritmusnak a segítségével dekódoljuk.

A kapott forráskód hash függvényét újra kiszámítják.

Ezt a két hash-funkciót összehasonlítjuk annak ellenőrzése érdekében, hogy a szöveg nem lett-e módosítva.

A rendszer jellemzői

Alkalmazás

Nyilvános kulcsú kriptoszisztéma algoritmusok használhatók

Önálló eszközként az átadott és tárolt információk védelmére

A kulcsok elosztásának eszközeként. Általában a nyilvános kulcsú kriptoszisztémák használatával a kis volumenű kulcsok kerülnek elosztásra. A nagy információáramok továbbítását más algoritmusok segítségével hajtjuk végre.

Felhasználói hitelesítés eszközeként.

Előnyök: Az aszimmetrikus rejtjelek előnye a szimmetrikus rejtjelekkel szemben az, hogy nincs szükség előre továbbítani a titkos kulcsot egy megbízható csatornán.

A szimmetrikus kriptográfia során a kulcsot mindkét oldal titokban tartják, az aszimmetrikus kriptoszisztémában csak egy titkot.

Szimmetrikus titkosítás esetén a kulcsot minden egyes átviteli tény után meg kell frissíteni, míg aszimmetrikus kriptoszisztémákban az (E, D) pár nem változtatható meg jelentős ideig.

Nagy hálózatokban az aszimmetrikus kriptoszisztémában a kulcsok száma sokkal kisebb, mint a szimmetrikusban.

Hátrányok: A szimmetrikus titkosítási algoritmus előnye az aszimmetrikushoz képest az, hogy viszonylag könnyű megváltoztatni az elsőt.

Noha az üzenetek biztonságosan vannak titkosítva, a fogadót és a feladót "kiemeli" a titkosított üzenet elküldése.

Az aszimmetrikus algoritmusok hosszabb billentyűket használnak, mint a szimmetrikusak. Az alábbi táblázat összehasonlítja a szimmetrikus algoritmus kulcshosszát az aszimmetrikus algoritmus kulcshosszával azonos kriptográfiai erősséggel:

A kulcspárt használó titkosítási-visszafejtési folyamat két-három nagyságrenddel lassabb, mint ugyanazon szöveg titkosítási-visszafejtési szimmetrikus algoritmus általi titkosítása.

Tiszta formájában az aszimmetrikus kriptoszisztémák jelentősen nagyobb számítási erőforrásokat igényelnek, ezért a gyakorlatban más algoritmusokkal kombinálva használják őket.

Az EDS esetében az üzenetet először összekeverik, és aszimmetrikus kulcs segítségével csak a hash függvény viszonylag kis eredményét írják alá.

Titkosításhoz hibrid kriptoszisztémák formájában használják őket, ahol nagy mennyiségű adatot szimmetrikus rejtjelrel titkosítanak a munkamenet kulcsán, és csak magát a munkamenet kulcsot továbbítják az aszimmetrikus rejtjel használatával.

A kriptográfia során a lineáris kriptoanalízis olyan kriptoanalitikus manipulációs módszerre utal, amely lineáris közelítést használ a rejtjel működésének leírására.

A lineáris kriptoanalízist a MitsuruMatsui japán kriptológus találta ki. Az általa 1993-ban javasolt algoritmus (az Eurocrypt-93-on) eredetileg a DES és a FEAL megnyitására irányult. Ezt követően a lineáris kriptoanalízist kiterjesztették más algoritmusokra is. Manapság ez a differenciális kriptoanalízis mellett az egyik leggyakoribb módszer a blokk rejtjelek megnyitásához. Fejlesztettek blokkoló és adatfolyam-titkosítási támadásokat.

A lineáris kriptoanalízis felfedezése lendületet adott új kriptográfiai sémák felépítésének.

Működés elve

A kriptoanalízis két lépésben történik. Az első a sima szöveg, a titkos szöveg és a kulcs közötti kapcsolatok felépítése, amelyek nagy valószínűséggel igazak. A második az, hogy ezeket a kapcsolatokat a közismert egyszerű szöveges - rejtjeles szöveges párokkal együtt használjuk kulcsbitek elérésére.

Lineáris kriptoanalízisvédelem

A blokk rejtjel megtámadására lineáris kriptoanalízissel elegendő, amint azt fentebb leírtuk, egy olyan lineáris összefüggést kapni, amely valószínűséggel jelentősen eltolódik 1/2-től. Ennek megfelelően a támadásálló titkosítás tervezésének első célja a valószínűségi torzítások minimalizálása, annak biztosítása, hogy ilyen kapcsolat ne létezzen. Más szavakkal, ellenőriznünk kell, hogy a kapott titkosítás szövegének vagy kulcsainak bármilyen megváltoztatásakor a bit pontosan fele megváltoztatja az értékét ellenkezőre, és minden egyes bit 1/2 valószínűséggel változik. Ezt általában úgy lehet elérni, hogy erősen nemlineáris S-dobozokat választunk, és javítottuk a diffúziót.

Ez a megközelítés jó indoklást ad a rejtjel erősségére, de a lineáris kriptoanalízis elleni védelem szigorú bizonyítása érdekében a rejtjelező fejlesztőknek figyelembe kell venniük a bonyolultabb jelenséget - a lineáris héjak hatását (linearhulleffect).

A lineáris kriptoanalízis alapján a támadások osztálya ellen a védelem bizonyításának kissé általánosabb elmélete a dekoráció fogalmán alapul. Az elmélet azt sugallja, hogy az eszköz az úgynevezett dekorációs modul, amely hatékonyan gátolja a hagyományos lineáris és differenciális jellemzők terjedését. Meg kell jegyezni, hogy a szűk támadásokkal szemben optimális titkosítás általában gyenge más típusú támadásokkal szemben.

A kulcskezelés (CC) annyira fontos és fejlett kriptográfiai terület, hogy külön és részletes megfontolást igényel. A CC rendszerekhez hatalmas különféle funkciók vannak hozzárendelve, amelyek széles skáláját biztosítják a felszerelt kriptoszisztémák alapvető és újonnan megszerzett tulajdonságaihoz. Az ilyen sémák végrehajthatnak tárolást, továbbítást, titkosítást (vagyis a bizalmasság biztosítását), hitelesítést, „letétbe helyezést” (letétet) és a kulcsok szétválasztását. A CC rendszerek egyetlen közös tulajdonsága, hogy különféle átalakítások eredményeként a kriptoszisztémának kulcsot (szimmetrikus vagy aszimmetrikus) kell biztosítaniuk, amelyen a dokumentum titkosításának fő folyamata kerül végrehajtásra. Nyilvános kulcskezelő rendszerek műszaki megvalósítása (angol PKI - PublicKeyInfrastructure)

Attól függően, hogy a CC rendszer milyen kulcsot generál végül, vezérlőrendszerekre, szimmetrikus kulcsokra és aszimmetrikus kulcskezelő rendszerekre oszlik. A szimmetrikus kulcskezelő rendszereket felváltva kezdeti főkulcsokkal rendelkező rendszerekre és nulla kezdeti információval rendelkező rendszerekre osztják. Külön anyagként a kulcsok letétbe helyezésére szolgáló rendszereket és a titok megosztására szolgáló rendszereket vesszük figyelembe. Sajnos ez a szakasz a büntető törvénykönyv és az azokon alapuló kriptográfiai protokollok különféle sémáinak a felét sem fedezi - a kutatók eddig több mint száz különböző sémát dolgoztak ki. A kriptováltozatok, a különféle funkciókkal és hatáskörökkel rendelkező proxyk harmadik tárgyának bevezetése egyre inkább elterjedt, és olyan protokollok hullámát generálta, amelyek a kriptoszisztémák új tulajdonságait biztosítják (fellebbezhetőség, az aláírás dátumának / időpontjának megerősítése, kulcsok letétbe helyezése stb.).

Részleges előtelepítés

Az összes szimmetrikus kulcskezelő rendszert, függetlenül attól, hogy hány résztvevő vesz részt a folyamatban, elsősorban olyan rendszerekre osztják, amelyekben az entitások között már vannak védőcsatornák telepítve (vagyis titkos mesterkulcsok vannak jelen), és olyan rendszerekbe, amelyekben ez a csatorna nincs. Az első esetben a kulcskezelő rendszer fő célja vagy munkamenetkulcsok előállítása vagy a kulcsinformációk frissítése, vagy - ami a leggyakrabban szükséges - titkos kulcscsere két előfizető között, akiknek korábban még nem volt ilyen kulcsuk, bár a megbízható kapcsolatok lánca (például kölcsönös ismerős) már létezett. A második esetben, amikor két felhasználónak nincs megosztott titkos információja, be kell állítaniuk a kulcsot, és oly módon, hogy a támadó, aki a teljes üzenetküldést hallgassa, nem tudta létrehozni a kulcs „harmadik” példányát.

Az az eset, amikor két előfizető már biztonságos csatornán keresztül képes kommunikálni egymással, és ugyanakkor „friss” kulcsinformációkat kíván cserélni, gyakorlatilag nem tartalmaz finomságokat. Csak arra kell figyelni, hogy a támadó nem továbbíthatja egy korábban rögzített csomagot ugyanazzal az információval. Ehhez az automatikus növekményes számlálók és / vagy a dátum- / időbélyegzők bekerülnek a rendszerbe.

Kissé érdekesebbek azok a rendszerek, amelyekben három alany van: két előfizető és egy megbízható kulcskiszolgáló. Ebben az esetben úgy véljük, hogy a szerver nagyszámú társat szolgál fel, mindegyikükkel egy biztonságos kommunikációs csatorna már telepítve van a szerverre, azaz a kulcscsere megtörtént. Most, a rendszer működésének egy bizonyos szakaszában, két olyan szerver ügyfél, aki még soha nem volt kapcsolatba lépve, vágyakozott valami személyes információ cseréjére.

Ilyen helyzetben a munkamenet-kulcs létrehozására szolgáló klasszikus protokoll így néz ki: - A hívó fél A, a hívott előfizető B, a megbízható szerver S, a kulcsot kicserélik A és S között - „AS”, a kulcs B és S között van. - „BS.”

Kulcsok előtelepítés nélkül

Ennek az osztálynak a protokolljai számára az a feladat, hogy azonos előfizetői információt hozzanak létre két előfizetőtől a nyílt kommunikációs csatornákon továbbított üzenetek alapján, és ezt úgy tegyék meg, hogy az összes tárgyalást dokumentáló harmadik fél nem tudta megkapni ezt a kulcsot. Első pillantásra a feladat teljesen megoldhatatlannak tűnik, de a cél elérésére módszerek léteznek és nagyon megbízhatóak. Az ilyen protokollok alapját olyan sémák képezik, amelyek nagyon emlékeztetnek az aszimmetrikus titkosításra.

Kezdetben minden, a kulcscserében részt vevő fél megegyezik egy nagy P számmal (ami nem titok). Bármely két előfizető (A és B), akik titkos munkakulcsot akarnak létrehozni:

Két nagy véletlen számot (a és b) hozunk létre, valamint inverzióikat modulo p (a-1 modp és b-1 mod p), és titokban tartjuk rendszereikben.

A hívó k (k.) Munkamenet-kulcsot generál< р-2) и возводит его в степень а по модулю р, после чего отправляет полученное выражение вызываемому абоненту: M1=ka mod p.

A hívott fél emeli a kapott üzenetet b erejéig, és visszaküldi: M2 \u003d (M1b mod p) \u003d (kab mod p).

A hívó visszafejti a kapott számot az a szám megfordításával és visszaadja: MZ \u003d (M2-b mod p) \u003d (kb mod p).

Végül, B előfizető dekódolja az utolsó üzenetet a b szám megfordításával és megkapja a kívánt munkakulcsot: k \u003d (MZ-b mod p) \u003d (k mod p).

Aszimmetrikus kriptográfia, amely úgy tűnik, megoldotta az üzenet titkosságának problémáját anélkül, hogy először a titkos kulcsot továbbította volna egy biztonságos csatornán, kiderül, hogy ezt a problémát csak egy kissé más területre továbbította. Az aszimmetrikus rendszerre pillantva úgy tűnik - „keresse meg a címzett nyilvános kulcsát a hálózatban, titkosítsa az üzenetet velük és - a titoktartás megtörtént”. De itt csak a rosszindulatú közreműködő jelenik meg - hipotetikus módon a nyilvános kulcsát a fogadó-címzett neve és a levelezési címe alatt a hálózati szerverkészletre teheti. Ezt követően, bármilyen levél kézhezvételekor, visszafejti azt a magánkulccsal, elolvassa és továbbítja az igazi címzettnek, valódi nyilvános kulccsal titkosítva, amelyet valóban ismer. Ugyanakkor az EDS sémák nem mentenek, ha a támadó mind a feladó, mind a címzett nyilvános kulcsait kicseréli. Ezek a megfontolások ahhoz vezetnek, hogy egy előzetes biztonságos csatornára mégis szükség van - a nyilvános kulcs és a levelezési cím, vagy legalább egy megerősítő adatblokk (például a nyilvános kulcs kivonatának) továbbításához.

Az aszimmetrikus technológiák azonban sokkal nagyobb áttörést hajtottak végre a kulcselosztási rendszerekben, mint a szimmetrikusak - a tanúsítványokat feltalálták. A tanúsítvány olyan információs blokk, amely olyan adatokat tartalmaz, amelyek egyedileg azonosítják az előfizetőt, a nyilvános kulcsot és a szállítási címet, és ezt az információs blokkot egy másik személy digitális aláírása alatt írják alá. A tanúsítványban említett előfizetőt a kulcs tulajdonosának hívják, a tanúsítványt aláíró hálózati egység pedig a hitelesítõ (az „Elektronikus digitális aláírásokról” szóló RF törvényben - a tanúsító központ). Tegyük fel, hogy A előfizető soha nem beszélt a C előfizetővel, és nem tudja ellenőrizni nyilvános kulcsának hitelességét, de A és C beszélt egy bizonyos B előfizetővel - akkor B megbízhatósági ügynökként járhat el és aláírhatja a C kulcs tulajdonosának igazolását. Majd az A előfizető, miután megkapta tanúsítvánnyal, és ellenőrizte a B aláírást, amelynek nyilvános kulcsában biztos benne, most megbízhat a C előfizető nyilvános kulcsában.

Mi ugyanaz az áttörés a kulcselosztási rendszerben? A bizonyítványok nagyszerűsége az, hogy összekapcsolhatod őket. Tegyük fel, hogy két A és D előfizető, akik nem akartak kommunikálni, nem találtak közös ismerõst, ám kiderült, hogy A ismeri egy bizonyos B-t, és D egy bizonyos C-t ismer, akik ismerik egymást. Ez azt jelenti, hogy B küldhet A-nak bizonyítékot a C kulcsról, és C küldhet A-nak egy igazolást a D kulcsról. Ennek eredményeként A meggyőződik arról, hogy a kezében lévő D nyilvános kulcs igaz. Így létrejött egy bizalmi lánc, amely lényegében az A és D (küldő és fogadó) közötti nagyon előzetes biztonságos csatornát képviseli, de ezt a csatornát több meglévő törölt csatornából összeállították (és ráadásul egy nagyon egyszerű és megbízható séma szerint). A nyílt kriptográfia előnye annak a lehetőségnek, hogy egy olyan biztonságos csatorna kiépítésére kerüljön sor, amely már létezik több, már létező rövid csatornából.

Jelenleg a leírt rendszer fejlesztése világszerte nagyon intenzív. A következő fő trendeket vázoltuk. Először kezdtek megjelenni olyan alanyok, akiknek egyetlen funkciója a kulcsok tárolása és tanúsítása - tanúsító hatóságok (eng. CertificationAuthority --CA). Másodszor, a nagy szoftvergyártók aktívan részt vesznek a bizalmi láncok létrehozásának folyamatában. Valójában, ha egy számítógép-felhasználó licencelt szoftvert vásárol hologrammal és más fizikai védettséggel ellátott védett zárt dobozban, akkor az ezen a lemezen található nyilvános kulcs meghamisítása nagyságrenddel bonyolultabbá válik. És mivel a nagy szoftvergyártóknak több megbízható nyilvános kulcsa van, a felhasználó már képes számos bizalmi láncot felépíteni előfizetők millióiba. És maguk a szoftvergyártók osztalékként lehetőséget kapnak a szoftverfrissítések hiteles küldésére a hálózaton keresztül, ugyanazokkal a kulcsokkal aláírva, amelyek nyitott feleit az eredeti CD-re helyezték.

Kriptográfiai algoritmus standardok

Vannak szabványok a kriptográfiai algoritmusokra. A szabványoknak megfelelő algoritmusok megbízhatóságát a szakértők gondosan áttekintik. A hivatalos dokumentációval végzett munka során csak a szabványoknak megfelelő algoritmusok használhatók.

A különböző országok eltérő szabványokkal rendelkeznek az algoritmusok tekintetében. A szoftver széles körben használ algoritmusokat, amelyek megfelelnek az amerikai szabványoknak, leggyakrabban az RSA algoritmus.

Oroszországnak vannak saját állami szabványai a titkosítási algoritmusok és az elektronikus aláírások generálása / ellenőrzése szempontjából: GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001.

Az elektronikus aláírások előállításához és ellenőrzéséhez, valamint a dokumentumok titkosításához és dekódolásához bizonyos műveletsorokat használnak, úgynevezett kriptográfiai algoritmusokat.

A kriptográfiai algoritmus egy komoly fejlesztés, amely jelentős szakemberek munkáját igényli, és bizonyos feltételeknek megfelel követelmények . Számos felhasználó használhatja ugyanazt az algoritmust az információk védelmére. az algoritmusok nem minősülnek besorolt \u200b\u200binformációnak.

Vannak szabványok a kriptográfiai algoritmusokra, azaz formalizált követelmények, amelyeknek ezen algoritmusoknak meg kell felelniük. Ezek a szabványok országonként változnak, és idővel változnak. Népszerű amerikai algoritmusok - RSA, DSA stb. - amelyeket gyakran használnak a közönséges szoftvertermékekben, megfelelnek az amerikai szabványoknak.

Oroszország szintén állami szabványokat fogadott el a kriptográfiai algoritmusokra vonatkozóan. Az orosz gyártók, köztük a Cryptocom LLC, az orosz szabványoknak megfelelő algoritmusokat használnak szoftvertermékeikben.

A titkosítási kulcsokat titkos információként használják.

A kriptográfiai kulcs bizonyos szabályok által generált karaktersorozatok. Ezt a szekvenciát használják a szövegek kriptográfiai átalakításához. Minden kriptográfiai algoritmusnak megvannak a saját követelményei, amelyek szerint a kulcsok létre vannak hozva. Mindegyik kulcsot egy adott algoritmus hozza létre.

Annak biztosítása érdekében, hogy az elektronikus aláírás visszaállíthatatlan legyen, és az idegen emberek nem tudják titkosított szövegeket olvasni, a kriptográfia során kriptográfiai kulcsokat használnak.

A modern kriptográfiai kulcs egy meghatározott hosszúságú számsor, amelyet bizonyos szabályok szerint állítanak össze véletlenszámok sorozata alapján. Mindegyik gombhoz a véletlen számok sorozata kerül újra létrehozásra, egyetlen szekvenciát csak egyszer használunk. A véletlen számok sorozatainak előállításához speciális szoftver objektumokat vagy véletlenszám-érzékelőknek nevezett eszközöket használnak.



Minden algoritmus bemutatja a kulcsokra vonatkozó saját követelményeit, így minden kriptográfiai kulcsot egy adott algoritmushoz hoznak létre, és csak ezzel az algoritmussal használják.

Ha az elektronikus aláírás előállítása és ellenőrzése, vagy a szöveg titkosítása és visszafejtése ugyanazon kulcs használatával történik, ezt a megközelítést hívják szimmetrikus kriptográfia   (szimmetrikus algoritmusok és szimmetrikus kulcsok). A szimmetrikus kriptográfiai műveletek gyorsak és viszonylag egyszerűek. De legalább két ember megköveteli a kulcs ismeretét, ami jelentősen növeli a kompromisszumuk kockázatát (azaz illetéktelen személyek hozzáférése).

Ezért most elsősorban használják aszimmetrikus kriptográfia. Aszimmetrikus kriptográfia során az elektronikus aláírás létrehozását vagy titkosítását egy kulcson, az aláírás ellenőrzését vagy visszafejtését egy másik, párosított kulcson hajtják végre.

Az aszimmetrikus kriptográfia során az úgynevezett kulcspárokat használjuk. Mindegyik pár két összekapcsolt kulcsból áll. Az egyik kulcs egy privát kulcs. Csak a kulcs tulajdonosa ismeri, és semmilyen körülmények között sem szabad hozzáférhetővé tenni senkit. Egy másik kulcs a nyilvános (nyilvános kulcs), lehet, hogy elérhető

bárki, aki akarja.

A kulcsinformáció alatt a rendszerben aktív összes kulcs összességét értjük. Ha a kulcsfontosságú információk kellően megbízható és biztonságos kezelése nem biztosított, a kriptográfiai adatok védelmének hatása nullára csökkenthető: a kulcsok birtoklásával a betolakodó hozzáférhet a védett információkhoz. A kulcskezelési folyamat három fő funkció végrehajtását foglalja magában:

  •   kulcs generáció;
  •   kulcsok tárolása;
  •   kulcs elosztás.

Kulcs generáció. Valódi véletlenszerű és ál ál-véletlen sorozatok. A kulcs generálását oly módon kell elvégezni, hogy a kulcs értékének megjósolása (még akkor is, ha tudta, hogyan fogja előállítani) szinte lehetetlen volt. Ideális esetben egy kulcs kiválasztásának valószínűsége az érvényes halmazból 1 /NAK NEK,   Ahol K -   a kulcskészlet teljesítménye (a kulcsok ugyanolyan valószínűek).

A kulcsok beszerzéséhez hardvert és szoftvert használnak véletlen értékek előállításához. A magas biztonsági követelményekkel bíró rendszereknél a véletlenszerű fizikai folyamatokon alapuló hardver érzékelők előnyösebbek.

Tehát az Intel kifejlesztett egy véletlenszám-generátort, amely bemenetként használja a rendszer termikus zaját. Más vállalatok kriptográfiai gyorsítóknak nevezett eszközöket forgalmaznak, amelyek véletlenszám-generátorokat is tartalmaznak (2.60. Ábra). Ezek a hardver eszközök generálnak valóban véletlenszerűen   számsorozatok.

Hívott sorozat valóban véletlenszerűenha nem reprodukálható. Ez azt jelenti, hogy ha kétszer ugyanazon a bemeneten futtatja a valóban véletlenszerű számok generátort, akkor a kimeneten különböző véletlenszerű sorozatokat kap.

Ugyanakkor az olcsóság és a korlátlan replikáció lehetősége miatt a leggyakoribb a szoftver megvalósítás -

Ábra. 2.60.

generátorok generációja. Meg kell jegyezni, hogy ebben az esetben a kapott szekvencia lesz ál-véletlenszerű -   Ha a programgenerátort ugyanazzal a kezdeti értékkel újraindítják, akkor ugyanazt a szekvenciát fogja generálni (2.61. ábra).

A szoftver által megvalósított álnévszám-generátorok periodikus függvények, amelyek értékeit ciklikusan megismételik. Az ál-véletlenszerű sorozat időszakosan ismétlődő fragmentumának hosszát (amelyen belül nincsenek ismétlések) hívjuk időszak   generátor funkció. Az időszak mindig véges, bár talán elég nagy számú.

Ábra. 2.61.

A legegyszerűbb és legismertebb ál-véletlenszám-generátor egy lineáris kongruens generátor, amely számok sorozatát generálja R (i):

ahol ÉS   és VAL VEL -   állandók R (0) a generáló számként kiválasztott kezdeti érték. Érték t   általában 2-re állítják n y   Ahol p -gépi szó hossza bitben. A generátornak egy M periódusa van, amely után a generált sorozat megismételni kezd. Ki kell választania a számokat A és c   úgy, hogy az időszak M   volt a maximális. Bizonyított, hogy ezt csak akkor lehet elérni, ha VAL VEL -   furcsa és A   4. mod \u003d 1.

A lineárisan kongruensgenerátor nem alkalmas kriptográfiai célokra, mivel ismertek olyan egyszerű algoritmusok, amelyek teljes mértékben visszaállítják a generátor paramétereit (és ezért megjósolják a szekvencia bármely tagjának értékét), az általa generált szekvencia néhány elemének felhasználásával.

Tehát például ismert értékekkel R (0), R ( 1), R (2), R (3) (vagy ál-véletlen számsorozat bármely más négy egymást követő tagja) R (i)   A generátor paramétereket az egyenletrendszerből lehet beszerezni

Sok más ál-véletlenszám-generátor létezik, például nemlineáris kongruens generátorok, lineáris regiszterek visszajelzéssel, Mersenne örvény stb., Amelyek közül sok jó sebességjellemzővel rendelkezik, de nem nyújt megfelelő stabilitást.

A kriptográfiailag erős ál-véletlenszerű szám-generátorok közé tartozik a blokk rejtjelek OFB módja (és annak CTR-módosítása), valamint a GOST 28147-89 nemzeti kriptográfiai algoritmus gamma módja. Ebben az esetben a kifejezetten a generációs feladatokra fenntartott kulcsokat használjuk. Mivel a kezdeti értékeket figyelembe lehet venni, például a számítási rendszer időzítő értékeit. Ezen felül kriptográfiailag erős generátorok építhetők egyirányú hash funkciókkal.

A kriptográfiai feladatokhoz alkalmazott ál-véletlenszerű sorozatgenerátornak meg kell felelnie a következő követelményeknek:

  • a generált sorozat statisztikailag megkülönböztethető legyen egy elfogadható számítási idő alatt a teljesen véletlenszerű sorozattól;
  •   a szekvencia bármely kezdeti részének ismerete nem teszi lehetővé számunkra, hogy megjósoljuk ennek a sorozatnak a következő bitjét elfogadható számítási idő alatt.

A véletlenszerűségtől való lehetséges eltérések azonosításához számos statisztikai tesztet lehet használni:

  •   klasszikus statisztikai tesztek (egy véletlen változó egyenletes eloszlásának hipotézisének tesztelése chi-négyzet módszerrel, egységesség és szimmetria tesztek);
  •   bináris szekvenciákra alkalmazható tesztek (soros módszer, frekvencia-időszakos vizsgálat);
  •   kifejezetten a kriptográfia céljára tervezett vagy kiválasztott tesztek - NIST tesztek (16 teszt, amelyeket az Egyesült Államok Nemzeti Szabványügyi és Technológiai Intézete ajánlott); DIEHARD tesztek, az egyik legszigorúbb tesztkészlet; D. Knut-tesztek chi-négyzet kritériumok alapján; adaptív teszt "köteg könyv" stb.

Blum generátor - Bluma - Szőrme. Jelenleg a legegyszerűbb és leghatékonyabb kriptográfiailag erős ál-véletlenszerű szám-generátor a BBS (Blum - Blum - Shub) generátor, amelyet Blum, M. Blum és M. Shub alkotói neveztek el, és a kvadratikus maradványok, de a modulus elméletén alapul.

Először keressen két nagy prímszámot p) q   nagyjából azonos méretű, amely 4-el osztva 3 maradékot eredményez:

Számok megtalálása r   és q   először véletlen egész számot választhat és   és vkiszámítja r = Ai + 3, q = 4v   + 3, majd tesztelje őket az egyszerűség kedvéért. Ha a kapott szám nem egyszerű, akkor válasszon egy új véletlenszerű értéket. Ezután kiszámítottuk n \u003d pq,   hívták a virágszámot. Ezután válasszunk egy véletlen egész számot, amelyben 1 s van coprime pGCD (5, n) \u003d.   A generátor kezdeti értéke generált x 0 \u003d   s modrc. kapott x () -   véletlenszerű kvadratikus maradék modulo p.

Az ál-véletlenszerű sorozat bitjeként ps   szükséges hosszúság L   alacsony sorrendű számbiteket használunk x

A BBS generátor érdekes tulajdonsága, hogy a szám növekedésével kapcsolatos ismeretekkel p   tényezők alapján lehetővé teszi a szekvencia bármelyik bitjének közvetlen közvetlen meghatározását ps.   Bármi x-   csak a kezdeti érték alapján lehet kiszámítani x 0   és sorozatszám én:

A kezdeti paraméterek helyes megválasztásával a BBS algoritmus teljesíti az ál-véletlen sorozatokra előírt statisztikai kritériumokat. A BBS generátor kiszámíthatatlan bal és jobb, azaz nem lehet megjósolni a szekvencia előző vagy következő bitjét, amelynek annak része van. A pszeudo-véletlenszerű sorozat periódusa, amelyet a BBS generátor generál, sokszor nagyobb, mint a modul mérete pC

2.11. Példa

Egy ál-véletlenszerű 4-bites szekvenciát alakítunk ki egy BBS generátorral.

Keresse meg a számokat r   és q.   Válasszon két véletlen egész számot és   \u003d 3 és v   \u003d 5. Számítsa ki p \u003d 4 3 + 3 = A 15 és p \u003d 15 nem egyszerű és nem használható BBS generátorban, hanem egy számot q \u003d   A 23. ábra egyszerű. Ezután válasszon új értéket u \u003d 7, p \u003d 7-4 + 3 \u003d\u003d 31 egyszerű. Virágzás száma n \u003d pq \u003d 31 23 = 713.

Válasszon egy véletlenszerű egész számot 5, coprime to p.   Legyen s \u003d   16, AML (16, 713) \u003d 1. Akkor:

Szekvenciaként ps   vegye fel a legkevésbé jelentős számbiteket x (   (0 - ha a szám páros, és 1 - ha a szám páratlan), akkor ps \u003d 0110-et kapunk.

Most válaszoljunk a kérdésre: mi lesz a sorozat 12. bitje ps?

Egy szám bomlásának ismerete p   tényezők szerint (R   \u003d 31 és q   \u003d 23), kiszámoljuk x és:

x és -   még a sorozat 12. bitjét is jelenti ps   nulla lesz.

A BBS generátor hatékonysága javítható anélkül, hogy meggyengítené a kapott szekvenciát ps   ha nem egyet, de legfeljebb log 2-t használ, akkor az rj legkisebb számbiteket x jf   Ahol g   - a Bloom szám bináris számjegyeinek száma p   (vagyis körülbelül log 2 log 2 n alacsony bit).

2.12. Példa

Keresse meg a legkevésbé szignifikáns számbitek maximális lehetséges számát x (,amely felhasználható a BBS-gsnository-ban, ha gyengíti, akkor p= 713.

Kiszámítjuk a 2. log (713 + 1) “9.48 (adjunk hozzá egyet a nulla kódoláshoz), kerekítve a legközelebbi egész számra, r \u003d   10 - a 713 bináris számjegyek száma.

Kiszámoljuk a log 2 10 ~ 3,32-t, lefelé kerekítve a legközelebbi egész számra, így 3-nak leszünk. Ezért a BBS generátor hatékony megvalósításában használhatjuk a három legkevésbé jelentős számot x (   (összehasonlításhoz: log 2 log 2 713 ~ 3,24, az eredmény ugyanaz - a három legkevésbé jelentős bit).

ANSI X9.17 szabvány. Természetesnek tűnik a kriptográfiai titkosítási algoritmusok használata kriptográfiailag erős ál-véletlenszám-generátor felépítéséhez. Erre a célra OFB, CTR vagy gamma módok alkalmasak (GOST 28147-89 esetén). Ez a módszer biztosítja a generált szekvencia megfelelő minőségét, mivel a kriptográfiai gamma rendelkezik a szükséges statisztikai jellemzőkkel. Más ál-véletlenszerű számgenerátorokhoz hasonlóan a sorozat is periodikus lesz. Tehát a GOST 28147-89 algoritmus titkosítási gamma 64 bites blokkok ismétlési periódusának időtartama 2 64 -2 32.

A szimmetrikus rejtjelet használó kulcsgenerációs sémák egyike az ANSI X9.17 szabvány, a tripla DES algoritmussal (Triple DES, 3DES) és dupla kulcskal (2.62. Ábra). Ezt a technológiát alkalmazó alkalmazások között szerepel a PGP.


Ábra. 2.62.

Hagyja, hogy a funkció E k (X)   titkosítja x   ZOEB algoritmussal (titkosítás - dekódolás - titkosítás) egy előre elkészített kulcson k \u003d (K 1, K2)   amelyet csak magánkulcsok generálására használnak. Hagyja a további inicializációs vektorot Iv 0   a kezdeti 64 bites érték, amelyet titokban tartanak az ellenségtől, és G. az időbélyegzőt képviseli, amikor előállították énth kulcs. Aztán még egy véletlenszerű kulcs R)   átváltással számolva

Az inicializációs vektor következő értéke IV i + v   amelyet a következő véletlen szám előállítására használnak, az alábbiak szerint kerül kiszámításra:

Az ANSI X9.17 generátor fő célja számos kulcs megszerzése több kommunikációs munkamenethez.

Általánosságban elmondható, hogy a 3DES helyett bármilyen más erős titkosítási algoritmust, például GOST 28147-89 használhat.

A gyakorlatban a titkosítási eljáráshoz szükséges további hívások szükségessége (egy a gamming esetében és egy az ANSI X9.17 szabványban) a generációt nagyon erőforrás-igényesvé teszi, ami bonyolítja a hardver megvalósítását és meghatározza ennek a módszernek a kis sebességű jellemzőit.

Jelenleg a hármas titkosítást (az alacsony sebesség miatt) csak az ál-véletlenszerű sorozatgenerátor kezdeti értékeinek megváltoztatására használják, maguk a sorozatblokkok a titkosítási algoritmus egyszeri hívásának eredményeként alakulnak ki.

Kulcsközök. Keyspace K   (kulcsköz) az összes lehetséges kulcsérték halmaza.

Ha a lehetséges kulcskészletből bármelyik kulcs biztosítja a rejtjel azonos erősségét, azaz hiányzik a gyenge kulcsok, majd beszélni homogén (lineáris) kulcsfontosságú hely.

Az inhomogén kulcsterületeket a kriptográfiai berendezések jogosulatlan használata elleni védelemre használják.

Az egyik olyan probléma, amelyet a katonai kriptográfusoknak meg kell oldaniuk, az, hogy megnehezíti az ellenség kommunikációjának védelmét, ha az ellenség megragadja az általuk kifejlesztett erős kriptográfiai berendezéseket. A probléma megoldásának első lépése a titkosítási algoritmus hardver megvalósítása olyan modul formájában, amelyet az ellenfél nem tud megnyitni az algoritmus jellemzőinek megismerése érdekében.

Ezután ellenőriznie kell, hogy a használt kulcsok különleges megjelenésűek-e. Ha a beírt kulcs eltérést mutat ettől a típustól, akkor az üzenetek titkosításához szignifikánsan kevésbé stabil kriptográfiai algoritmust kell használni. Célszerű, hogy elhanyagolható legyen annak esélye, hogy a kulcs véletlenszerűen különleges megjelenést nyújtson egy robusztus algoritmus segítségével történő titkosításhoz. Ebben az esetben a kulcstér heterogén (nemlineáris), mivel a kulcsok nem azonos ellenállásúak.

A kulcsterület nemlinearitásának elérésének egyik módja a kulcs két részre bontása: maga a titkosítási kulcs és egy kriptográfiailag biztonságos módszerrel kapott rögzített ellenőrző karakterlánc. A tesztlánc dekódolása után a kriptográfiai modul összehasonlítja a kapott szöveges szöveget a normál szöveggel, és ha egyezik, akkor egy erős titkosítási algoritmust használ, és ha nem egyezik, kevésbé stabil algoritmust használ.

A heterogén kulcsteret a következő jellemzők jellemzik:

  •   információ titkosítása erős kriptográfiai algoritmus segítségével E-ig   csak speciális kulcsok használata esetén fordul elő;
  •   „Helyes” (állandó) gomb k \u003d,   Ahol k "-   a titkosítási kulcs tényleges hossza n k (|&| = n k) F -   valamilyen kriptográfiai funkció; | F (k ')   | - A, A - n-ig -
  •   az állandó kulcs véletlenszerű megszerzésének valószínűsége elhanyagolható és egyenlő 2 “d-vel;
  •   ha a kriptomodul bemeneténél kapott kulcs nem stabil, akkor lényegesen kevésbé stabil algoritmust használunk az információ titkosításához E [.

Például egy 128 bites kulcshosszú blokk-titkosítási algoritmus használhat 192 bit „összetett” kulcsot. Akkor az a valószínűség, hogy véletlenül egy állandó kulcsot használnak, meglehetősen kicsi - csak 2 -64.

Biztosítani kell azt is, hogy a kulcsok erőssége közötti különbség az ellenség szemében ne legyen túl feltűnő, és ő semmit sem tud.

Kulcsok tárolása és terjesztése.Ajánlott a rendszerben használt kulcsok rendszeres cseréje. A szimmetrikus titkosítási kulcsok tárolásának megszervezése során biztosítani kell az olyan munkakörülményeket, hogy a titkos kulcsokat soha ne írják kifejezetten azon a közegen, amelyhez a betolakodó hozzáférhet. Ez a követelmény kulcshierarchiák létrehozásával teljesíthető. A háromszintű hierarchia a kulcsok megosztását vonja maga után:

  •   a mester kulcshoz (mester kulcs);
  •   kulcs titkosítási kulcs;
  •   adat titkosítási kulcs (munkamenet kulcs).

A munkamenet kulcsok - a hierarchia alsó szintje - az adatok titkosításához és az üzenetek hitelesítéséhez használhatók. Ezeknek a kulcsoknak az átvitel vagy tárolás során történő védelme érdekében kulcskosító kulcsokat használnak, amelyeket soha nem szabad munkamenetként használni. A hierarchia legfelső szintjén található a fő kulcs (vagy a fő kulcs). A második szintű kulcsok védelmére szolgál. A csak a szimmetrikus rejtjeleket használó rendszerek mesterkulcsának védelme érdekében nem kriptográfiai eszközöket, hanem például fizikai adatvédelmi eszközöket kell használni. Viszonylag kicsi információs rendszerekben kétszintű kulcshierarchia (master és session kulcsok) használható.

Jelenleg a nyilvános kulcsú kriptográfiai sémákat, például a Diffie-Hellman (DH) rendszert vagy a Needham-Schroeder protokollt, amelyek a felek kölcsönös hitelesítését biztosítják egy közös titkos kulcs kialakításával, általában használják a kulcs elosztásához. A kulcselosztási probléma hatékony megoldása szimmetrikus kriptográfia segítségével lehetséges egy közös megbízható központ (kulcskiszolgáló) használatával.

A kulcsok rendszer előfizetők közötti elosztásakor a következő követelményeknek kell teljesülniük:

  •   biztosítja a kulcselosztás hatékonyságát és pontosságát;
  •   biztosítsa a kulcselosztás biztonságát.

A kulcs elosztása megtehető:

  •   egy vagy több kulcsos elosztó központ használata (központosított elosztás);
  •   szekciókulcsok közvetlen cseréje a hálózati felhasználók között (decentralizált kulcselosztás).

A szimmetrikus titkosítási kulcsok decentralizált elosztása megköveteli, hogy minden felhasználónak nagy számú kulcs legyen (a rendszer-előfizetőkkel való kommunikációhoz), amelyeket először biztonságosan el kell osztani, majd biztosítani kell a horkolás során.

A szimmetrikus titkosítási kulcsok központi eloszlása \u200b\u200bazt jelenti, hogy minden felhasználónak csak egy elsődleges kulcsa van, hogy kapcsolatba léphessen a kulcs-elosztó központtal. Az adatok cseréjéhez egy másik előfizetővel a felhasználó hozzáfér a kulcskiszolgálóhoz, amely a munkamenet szimmetrikus kulcsát hozzárendeli ehhez a felhasználóhoz és a megfelelő előfizetőhöz. Az egyik legismertebb központosított kulcselosztó rendszer a Kerberos protokoll.

A kulcsfontosságú információk központosított elosztását használó titkos kommunikációs hálózatok jobban védettek az egyes előfizetők kompromisszuma esetén. Az előfizető kompromisszuma azt a helyzetet jelenti, amikor az előfizetővel kapcsolatos minden információ (beleértve a titkos kulcsait) az ellenség számára ismertté válik. Ha azonban a kulcskiszolgáló veszélybe kerül, akkor a minősített kommunikáció teljes hálózata veszélybe kerül.

  •   NIST SPRAFT 800-90A, Rev. 1. Ajánlás a véletlenszám-generálásra aDeterministic Random Bit Generators segítségével // NIST. november 2014. URL: http://csrc.nist.gov/publications/drafts/800-90/sp800-90a_r l_draft_novembcr2014_vcr.pdf
  •   Ott; STB 34.101.47-2012. A Belarusz Köztársaság állami szabványa. Informatika és biztonság. Kriptográfiai algoritmusok ál-véletlenszerű számok előállításához. Minszk: Gosstandart, 2012. URL: http://apmi.bsu.by/assets/files/std/brng-specl7.pdf
  •   Brassar J. Modern kriptológia. Vezetés.
  •   NIST SPRAFT 800-90A, Rev. 1. Ajánlás a véletlenszám-generációra aDeterministic Random Bit Generators segítségével.

A titkosítási kulcsokat titkos információként használják.

A kriptográfiai kulcs bizonyos szabályok által generált karaktersorozatok. Ezt a szekvenciát használják a szövegek kriptográfiai átalakításához. Minden kriptográfiai algoritmusnak megvannak a saját követelményei, amelyek szerint a kulcsok létre vannak hozva. Mindegyik kulcsot egy adott algoritmus hozza létre.

Annak biztosítása érdekében, hogy az elektronikus aláírás visszaállíthatatlan legyen, és az idegen emberek nem tudják titkosított szövegeket olvasni, a kriptográfia során kriptográfiai kulcsokat használnak.

A modern kriptográfiai kulcs egy meghatározott hosszúságú számsor, amelyet bizonyos szabályok szerint állítanak össze véletlenszámok sorozata alapján. Mindegyik gombhoz a véletlen számok sorozata kerül újra létrehozásra, egyetlen szekvenciát csak egyszer használunk. A véletlen számok sorozatainak előállításához speciális szoftver objektumokat vagy véletlenszám-érzékelőknek nevezett eszközöket használnak.

Minden algoritmus bemutatja a kulcsokra vonatkozó saját követelményeit, így minden kriptográfiai kulcsot egy adott algoritmushoz hoznak létre, és csak ezzel az algoritmussal használják.

Ha az elektronikus aláírás előállítása és ellenőrzése, vagy a szöveg titkosítása és visszafejtése ugyanazon kulcs használatával történik, akkor ezt a megközelítést szimmetrikus kriptográfiának nevezzük (szimmetrikus algoritmusok és szimmetrikus kulcsok). A szimmetrikus kriptográfiai műveletek gyorsak és viszonylag egyszerűek. De legalább két ember megköveteli a kulcs ismeretét, ami jelentősen növeli a kompromisszumuk kockázatát (azaz illetéktelen személyek hozzáférése).

Ezért ma elsősorban az aszimmetrikus kriptográfiát használják. Aszimmetrikus kriptográfia során az elektronikus aláírás generálását vagy titkosítását egy kulcson hajtják végre, az aláírás ellenőrzését vagy visszafejtését egy másik, párosított kulcson.

Az aszimmetrikus kriptográfia során az úgynevezett kulcspárokat használjuk. Mindegyik pár két összekapcsolt kulcsból áll. Az egyik kulcs egy privát kulcs. Csak a kulcs tulajdonosa ismeri, és semmilyen körülmények között sem szabad hozzáférhetővé tenni senkit. Egy másik kulcs a nyilvános (nyilvános kulcs), bárki számára elérhető.

A digitális aláírás fejlesztéséhez az üzenet szerzőjének magánkulcsára van szükség, az ellenőrzéshez pedig a nyilvános kulcsra. Így csak a magánkulcs tulajdonosa hozhat létre elektronikus digitális aláírást, és bármely felhasználó, aki megkapta a megfelelő nyilvános kulcsot, ellenőrizheti azt.

A címzett nyilvános kulcsát a szöveg titkosításához használják, a privát kulcsot pedig a dekódolásához. Így bárki titkosíthat egy üzenetet, és csak a megfelelő magánkulcs tulajdonosa dekódolhatja, azaz cél.

Az EDS-sel való együttműködéshez használt kulcspárt (az EDS előállítását és ellenőrzését) aláírási kulcsnak nevezzük. Az üzenetek titkosításához és dekódolásához használt kulcspárt csere kulcsnak nevezzük.

Az aszimmetrikus kriptográfia problémája az, hogy az aszimmetrikus algoritmusokkal végzett titkosítás sokkal lassabb, mint a szimmetrikus. Ezen túlmenően, ha a titkosított szöveget több címzettnek szánják, akkor az elküldött üzenetbe minden egyes címzetthez bele kell foglalnia a szöveg másolatát, amely drámai módon megnöveli az üzenet méretét és a titkosításához szükséges időt.

Ezt a problémát az úgynevezett hibrid kriptográfia segítségével oldják meg.

A titkosítási folyamat elsősorban egy egyszeri (úgynevezett munkamenet) titkosítási kulcsot (munkamenet titkosítási kulcsot) hoz létre. Ez egy szimmetrikus kulcs, azaz ugyanazt a kulcsot használják mind a titkosításhoz, mind a dekódoláshoz. Egyszeri vagy szekciónak hívják, mert csak egy üzenet titkosításához / dekódolásához használják.

Az üzenet titkosítva van a munkamenet titkosítási kulcsán. Mivel az üzenetet szimmetrikus algoritmus segítségével titkosítják, az üzenet titkosításának folyamata elég gyors.

Ezután maga a titkosítási kulcs titkosítva van egy aszimmetrikus algoritmussal a címzett nyilvános kulcsával. Mivel a titkosítási kulcs viszonylag kevés adatmennyiséget igényel, az ilyen kulcs titkosítása nem vesz sok időt.

A titkosított titkosítási kulcs szerepel az üzenetben.

Ennek eredményeként az üzenet valamivel nagyobb volumenű (a titkosítási kulcs hozzáadott titkosított példányának köszönhetően), de a titkosítási folyamat sokkal gyorsabb, mint ha maga az üzenet egy aszimmetrikus algoritmus segítségével lett volna titkosítva.

Ha több címzett van, akkor az üzenetet egyszer titkosítja a munkamenet titkosítási kulcsán, és a kulcsot (viszonylag kis mennyiségű adatot) külön-külön titkosítják az egyes címzettek nyitott cserekulcsán. Így egy titkosított üzenet az egyes címzettek számára titkosított üzenet több példánya helyett az üzenet egy titkosított példányát és az egyes címzettek számára titkosított egyszeri munkamenet titkosítási kulcs több példányát tartalmazza. A titkosított üzenet mennyisége és a titkosításához szükséges idő lényegesen kevesebb, mint ha az üzenetet minden egyes címzett aszimmetrikus algoritmusával titkosították.

Amikor a címzett megkapja az üzenetet, az üzenetben szereplő titkosított munkamenet kulcsok között, a munkamenet kulcs titkosítva van a címzett nyilvános kulcsával. Ha ilyen kulcsot talál, akkor a címzett privát cserekulccsal dekódolja azt, majd maga az üzenet dekódolja ezt a kulcsot.

Így tiszteletben tartják az aszimmetrikus algoritmus szerinti titkosítási folyamat alapvető követelményét - úgy, hogy senki ne férjen hozzá a magán csere kulcshoz, kivéve a kulcs tulajdonosát. A titkosítási kulcshoz való hozzáféréshez hozzáférésre van szükség a magáncsere-kulcshoz; de miután a titkosítási kulcsot a magáncsere-kulcs segítségével dekódolták, ezt a titkosítási kulcsot soha többé nem használják, tehát nincs értelme beszélni a kompromisszumról.