A kulcsinformációk tárolására gyakran használt másik megközelítés a kulcsok titkosítása és titkosított formában való tárolása. Ezenkívül ezt a megközelítést gyakran használják kulcsfontosságú információk kriptográfiai hálózatokban való elosztására.

A kulcsinformációk más kulccsal titkosított tárolásának és továbbításának igénye vezetett a koncepció kidolgozásához kulcshierarchiák.

A kulcsfontosságú információk hierarchiája sok szintet foglalhat magában, azonban a leggyakrabban a következőket különböztetjük meg:

mesterkulcsok (mesterkulcsok),

kulcs titkosítási kulcsok,

működő kulcsok (munkamenet).

Munkamenet kulcsok a legalacsonyabb szinten vannak, és az adatok titkosítására szolgálnak. Ha ezeket a kulcsokat biztonságosan kell átvinni a hálózati csomópontok között vagy biztonságosan tárolni, akkor a következő szintű kulcsokkal titkosítják őket - kulcs titkosítási kulcsok.

A kulcshierarchia legfelső szintjén a főkulcs található. Ezt a kulcsot a titkosítási kulcsok titkosításához használják, ha biztonságosan tárolni kell őket a lemezen. Általában minden számítógépben csak egy mesterkulcsot használnak, amely külső adathordozón található, általában védve az illetéktelen hozzáféréstől.

A főkulcs értéke hosszú ideig (akár több hétig vagy hónapig) rögzített. A munkamenetkulcsok sokkal gyakrabban változnak, például kripto-biztonságos alagutak építésekor 10-15 percenként, vagy adott forgalom (például 1 Mb) titkosításának eredménye alapján.

A kulcselosztás nagyon felelősségteljes folyamat a kulcskezelésben. A folyamat megvalósításának egyik fő követelménye az elosztott kulcsinformációk elrejtése.

A kulcselosztás problémája egy olyan kulcselosztási protokoll felépítésére korlátozódik, amely a következőket nyújtja:

1) az ülés résztvevőinek kölcsönös hitelesítése;

2) munkamenet-érvényesítés a támadások elleni védelem érdekében

ismétlések;

3) a minimális számú üzenet használata a kulcscsere során.

Általánosságban elmondható, hogy a kulcsfontosságú információk elosztásának két módja van számítógép hálózat:

1. A kulcsfontosságú információk elosztása egy segítségével

vagy több kulcselosztó központ.

2. A munkamenetkulcsok közvetlen cseréje a felhasználók között.

A kulcsfontosságú információk elosztása kulcselosztó központok segítségével

Ez a megközelítés feltételezi, hogy a kulcselosztó központ ismeri a kiosztandó kulcsokat, és ezért a kulcsinformációk minden címzettjének megbíznia kell a kulcselosztó központban.

Méltóság ez a megközelítés a kulcsfontosságú információk elosztásának, sőt a távoli entitások egymás közötti hozzáférés-vezérlésének politikájának központi kezelésének képessége.


Ezt a megközelítést a Needham-Schroeder protokoll és az arra épülő Kerberos hitelesítési protokoll valósítja meg. A kulcsfontosságú információk elosztása és a hozzáférés-vezérlés ezekben a protokollokban a kulcselosztó központ általi hitelesítési adatokon alapul. Ezeknek a protokolloknak a használata lehetővé teszi a munkamenetkulcsok biztonságos elosztását még abban az esetben is, ha a két együttműködő fél kölcsönös bizalmatlansága van.

A munkamenetkulcsok közvetlen cseréje a felhasználók között

Ahhoz, hogy titkos kulccsal rendelkező kriptorendszert tudjanak használni az ellentétes felek közötti biztonságos információcserére, az interakcióban részt vevő feleknek közös titkot kell kialakítaniuk, amely alapján biztonságosan titkosíthatják az információkat, vagy biztonságosan generálhatnak és cserélhetnek munkamenetkulcsokat. Az első esetben a megosztott titok a munkamenet kulcsa, a második esetben a fő kulcs. Mindenesetre a támadónak nem szabad lehallgatnia a kommunikációs csatornát, hogy megszerezze ezt a titkot.

Két fő módja van annak, hogy megoldja a megosztott titok létrehozásának problémáját anélkül, hogy felfedné a támadónak:

nyilvános kulcsú kriptorendszer használata titkosításhoz;

· Diffie-Hellman kulcsok nyílt elosztási protokolljának használata.

Az első módszer alkalmazása nem vethet fel kérdéseket. Tekintsük részletesebben a második módszer megvalósítását.

Diffie-Hellman protokoll

A Diffie-Hellman protokoll volt az első nyilvános kulcsú algoritmus (1976). Ennek a protokollnak a biztonsága a diszkrét logaritmusok kiszámításának nehézségén alapul.

Engedje meg, hogy A és B felhasználók kidolgozzanak egy közös titkot. Ehhez a következő lépéseket hajtják végre.

Az A és B felek megállapodnak az alkalmazandó modulról N, valamint a primitív elem g, melynek fokai 1-től számokat alkotnak N-1.

1. Számok Nés g a protokoll nyilvános elemei.

2. Az A és B felhasználók egymástól függetlenül választják ki a CK A és CK B titkos kulcsait (véletlen nagy egész számok, kisebbek N titokban tartott).

3. Az A és B felhasználók kiszámítják az OK A és OK B nyilvános kulcsait a megfelelő titkos kulcsok alapján, a következő képletekkel:

4. A és B felek nem biztonságos csatornán cserélik ki a nyilvános kulcs értékeit.

5. Az A és B felhasználók közös titkot alkotnak K a képletek szerint:

A felhasználó:

K = (OK B) CK A (mod N) = (g CK B) CK A (mod N) = g CK B. CK A (mod N).

B felhasználó:

K = (OK A) CK B (mod N) = (g CK A) CK B (mod N) = g CK A. CK B (mod N).

Kulcs K szimmetrikus titkosítási rendszerben megosztott titkos kulcsként (főkulcsként) használható.

6.2. példa.

Vegyük a modult N= 47 és primitív elem g= 23. Engedje meg a felhasználókat Aés B kiválasztották a titkos kulcsukat: CK A = 12, CK B = 33. Ezután

Ebben az esetben a megosztott titok így fog kinézni:

A Diffie-Hellman nyilvános kulcs-elosztási algoritmus kiküszöböli a kulcsátvitelhez szükséges biztonságos csatorna szükségességét. Azonban a címzett által kapott garancia szükséges nyilvános kulcs attól a feladótól, akitől azt várja. Ez a probléma digitális tanúsítványok és digitális aláírás technológia segítségével oldják meg.

A Diffie-Hellman protokoll hatékony alkalmazást talált a protokollban UGRÁS kulcskezelés. Ezt a protokollt a ZASTAVA termékcsalád titkosítással védett alagutak építésénél használják.

Kulcskezelés

Az adott IC-hez megfelelő kriptográfiai rendszer kiválasztása mellett fontos kérdés a kulcskezelés. Nem számít, mennyire összetett és biztonságos maga a kriptorendszer, kulcshasználaton alapul. Ha a két felhasználó közötti bizalmas információcsere biztosítása érdekében a kulcscsere folyamata triviális, akkor egy olyan IS-ben, ahol a felhasználók száma több tíz és száz, a kulcskezelés komoly gondot jelent.

Alatt kulcs információ alatt az IS-ben lévő összes aktív kulcsot értjük. Ha a kulcsfontosságú információk kellően megbízható ellenőrzése nem biztosított, akkor azok birtokbavétele után a támadó korlátlan hozzáférést kap az összes információhoz.

Kulcskezelés- információs folyamat, amely három elemből áll:

* kulcsgenerálás;

* kulcsok felhalmozása;

* kulcsok elosztása.

Gondoljuk át, hogyan kell ezeket végrehajtani az IS-ben található kulcsfontosságú információk biztonságának biztosítása érdekében.

Kulcsgenerálás

A kriptográfiai módszerekről szóló beszélgetés legelején elhangzott, hogy nem szabad nem véletlenszerű kulcsokat használni, hogy könnyen megjegyezhetőek legyenek. A komoly IC-k speciális hardver- és szoftvermódszereket használnak véletlenszerű kulcsok generálására. Általában PSC érzékelőket használnak. Generációjuk véletlenszerűségének foka azonban meglehetősen magas kell hogy legyen. Az ideális generátorok „természetes” véletlenszerű folyamatokon alapuló eszközök. Például a kulcsgenerálás soros mintái alapján fehér rádiózaj. Egy másik véletlenszerű matematikai objektum az irracionális számok tizedeshelyei, például, vagy e, amelyeket szabványos matematikai módszerekkel számítanak ki.

A közepes biztonsági követelményeket támasztó IS-ekben meglehetősen elfogadhatóak a szoftveres kulcsgenerátorok, amelyek a PRNG-t az aktuális idő és (vagy) a felhasználó által beírt szám komplex függvényeként számítják ki.

Kulcsfelhalmozás

Alatt kulcsok felhalmozódása tárolásuk, elszámolásuk, elszállításuk megszervezésére utal.

Mivel a támadó számára a kulcs a legvonzóbb tárgy, amely megnyitja számára az utat a bizalmas információk felé, különös figyelmet kell fordítani a kulcsok felhalmozásának kérdéseire.

A titkos kulcsokat soha nem szabad kifejezetten olyan adathordozóra írni, amely olvasható vagy másolható.

Egy meglehetősen összetett IS-ben egy felhasználó nagy mennyiségű kulcsinformációval dolgozhat, és néha szükségessé válik a mini-adatbázisok kulcsinformációk szerinti rendszerezése is. Az ilyen adatbázisok felelősek a használt kulcsok elfogadásáért, tárolásáért, elszámolásáért és törléséért.

Tehát a használt kulcsokkal kapcsolatos minden információt titkosított formában kell tárolni. A kulcsinformációkat titkosító kulcsokat hívják mesterkulcsok. Kívánatos, hogy minden felhasználó fejből ismerje a főkulcsokat, és egyáltalán ne tárolja azokat semmilyen anyaghordozón.

Az információbiztonság nagyon fontos feltétele a kulcsfontosságú információk időszakos frissítése az IS-ben. Ebben az esetben a normál kulcsokat és a mesterkulcsokat is újra kell rendelni. A különösen felelős IS-ben kívánatos a legfontosabb információkat naponta frissíteni.

A kulcsinformációk frissítésének kérdése a kulcskezelés harmadik eleméhez – a kulcselosztáshoz – is kapcsolódik.

Kulcselosztás

A kulcselosztás a kulcskezelés legkritikusabb folyamata. Két követelmény van vele szemben:
  1. Az elosztás hatékonysága és pontossága
  2. Az elosztott kulcsok titkossága.
Az utóbbi időben észrevehető elmozdulás történt a nyilvános kulcsú kriptorendszerek használata felé, amelyekben a kulcselosztás problémája eltűnik. Mindazonáltal a kulcsfontosságú információk IS-ben való elosztása új, hatékony megoldásokat igényel.

A kulcsok felhasználók közötti elosztása két különböző megközelítéssel valósul meg:

  1. Egy vagy több kulcsfontosságú elosztóközpont létrehozásával. Ennek a megközelítésnek az a hátránya, hogy az elosztóközpont tudja, hogy kihez és milyen kulcsok vannak hozzárendelve, és ez lehetővé teszi az IS-ben keringő összes üzenet elolvasását. Az esetleges visszaélések jelentősen befolyásolják a védelmet.
  2. Közvetlen kulcscsere az információs rendszer felhasználói között.
Ebben az esetben a probléma az alanyok megbízható hitelesítése.

Mindkét esetben garantálni kell a kommunikációs munkamenet hitelességét. Ez kétféleképpen biztosítható:

  1. Kérés-válasz mechanizmus, amely a következőkből áll. Ha A felhasználó meg akar bizonyosodni arról, hogy a B-től kapott üzenetek nem hamisak, akkor a B-nek küldött üzenetben egy előre nem látható elemet (kérést) foglal magában. Válaszoláskor B felhasználónak végre kell hajtania valamilyen műveletet ezen az elemen (például 1-et kell hozzáadnia). Ezt nem lehet előre megtenni, mivel nem tudni, hogy a kérésben milyen véletlen szám fog megjelenni. Miután megkapta a műveletek eredményét tartalmazó választ, A felhasználó biztos lehet benne, hogy a munkamenet hiteles. Ennek a módszernek az a hátránya, hogy a kérés és a válasz között összetett mintázat hozható létre.
  2. Időbélyeg mechanizmus ("időbélyeg"). Ez azt jelenti, hogy minden üzenethez rögzíteni kell az időt. Ebben az esetben minden IS felhasználó tudhatja, hogy milyen "régi" a bejövő üzenet.
Mindkét esetben titkosítást kell használni annak biztosítására, hogy a választ nem támadó küldte, és az időbélyeg nem módosult.

Időbélyegek használatakor probléma van a munkamenet-hitelesítés megengedett késleltetési időintervallumával. Hiszen egy "időbeli bélyegzővel" ellátott üzenetet elvileg nem lehet azonnal továbbítani. Ezenkívül a címzett és a feladó számítógépes órája nem szinkronizálható teljesen. A "bélyegző" milyen késése tekinthető gyanúsnak.

Ezért a valódi IC-kben, például a hitelkártyás fizetési rendszerekben, ez a második hitelesítési és hamisítás elleni védelem mechanizmusa. Az alkalmazott intervallum egy perctől több percig terjed. Az elektronikus pénz eltulajdonításának számos ismert módszere azon alapul, hogy hamis pénzfelvételi kérelmekkel „beékelődnek” ebbe a résbe.

A nyilvános kulcsú kriptorendszerek kulcscserére használhatók ugyanazzal az RSA algoritmussal.

De a Diffie-Hellman algoritmus nagyon hatékonynak bizonyult, lehetővé téve két felhasználó számára, hogy közvetítők nélkül kulcsot cseréljenek, amelyet aztán szimmetrikus titkosításra használhatnak.

Diffie-Hellman algoritmus

Diffie és Helman azt javasolta, hogy nyilvános kulccsal hozzanak létre kriptográfiai rendszereket diszkrét hatványozási függvény.

A transzformáció visszafordíthatatlanságát ebben az esetben az biztosítja, hogy az exponenciális függvényt meglehetősen könnyű kiszámítani egy véges Galois-mezőben, amely p elemeket. ( p- akár prímszám, akár tetszőleges hatvány prímszáma). A logaritmusok kiszámítása az ilyen mezőkben sokkal időigényesebb művelet.

Ha egy y= x, 1<x<p-1, ahol a mező egy rögzített eleme GF(p), akkor x=lo g y felett GF(p). Miután x, könnyen kiszámítható y. Ehhez 2 ln( x+y) szorzási műveletek.

Inverz számítási probléma x tól től y elég nehéz lesz. Ha egy p elég helyesen van megválasztva, akkor a logaritmus kinyeréséhez arányos számításokra lesz szükség

L(p) = exp((ln p ln ln p) 0.5 }

Az információcseréhez az első felhasználó véletlenszerű számot választ x 1 , 1 egész valószínűsége... p-egy. Ezt a számot titokban tartja, és elküldi egy másik felhasználónak

y 1 = x mod p

A második felhasználó ugyanezt teszi, generál x 2 és kiszámítja y 2, elküldi az első felhasználónak. Ennek eredményeként tudnak számolni k 12 = x 1 x 2 mod p.

Számítás céljából k 12 , az első felhasználó emel y 2 a hatalomhoz x egy . A második felhasználó ugyanezt teszi. Így mindkét felhasználónak közös kulcsa van k 12, amely hagyományos algoritmusokkal titkosítható információkat. Az RSA algoritmussal ellentétben ez az algoritmus nem teszi lehetővé a tényleges információk titkosítását.

Anélkül, hogy tudná x 1 és x 2 , a támadó megpróbálhatja kiszámítani k 12 , tudván, csak elfogták y 1 és y 2. Ennek a problémának a diszkrét logaritmus számítási problémájával való egyenértékűsége egy fő és nyitott kérdés a nyilvános kulcsú rendszerekben. Egyszerű megoldást még nem találtak. Tehát, ha az 1000 bites prímszámok közvetlen transzformációja 2000 műveletet igényel, akkor az inverz transzformáció (a logaritmus kiszámítása a Galois mezőben) körülbelül 10 30 műveletet igényel.

Amint látható, a Diffie-Hellman algoritmus minden egyszerűsége mellett a második hátránya az RSA rendszerhez képest az, hogy nincs garantáltan alacsonyabb becslés a kulcs kinyitásának bonyolultságára vonatkozóan.

Ezen túlmenően, bár a leírt algoritmus megkerüli a rejtett kulcsok átvitelének problémáját, a hitelesítés szükségessége továbbra is fennáll. További források nélkül az egyik felhasználó nem lehet biztos abban, hogy pontosan azzal a felhasználóval cserélt kulcsot, akire szüksége van. Az utánzás veszélye ebben az esetben is fennáll.

A kulcsok elosztásáról elmondottak általánosításaként a következőket kell elmondani. A kulcskezelés feladata egy olyan kulcselosztási protokoll megtalálása, amely a következőket nyújtja:

* a kulcselosztó központtól való visszautasítás lehetősége;

* A munkamenet résztvevőinek kölcsönös hitelesítése;

* A munkamenet hitelességének megerősítése kérés-válasz mechanizmussal, ehhez szoftver vagy hardver használatával;

* a kulcscsere során a minimális számú üzenet használata.

Minden kriptográfiai rendszer titkosítási kulcsokkal működik. Ha a kulcsfontosságú adatkezelési mechanizmus nincs implementálva a rendszerben, akkor a támadónak nem lesz nehéz azt birtokba vennie. Kulcskezelés olyan eljárásokat foglal magában, mint a kulcsok generálása, tárolása és elosztása. Az utolsó eljárás a legfelelősebb.

Egy szimmetrikus kriptorendszerben a két félnek először meg kell állapodnia egy titkos munkamenetkulcsban, amely az összes csomag titkosításának kulcsa. A kulcsnak titkosnak kell lennie, és az előfizetőknek rendszeresen frissíteniük kell. Az aszimmetrikus kriptorendszer két kulcs – egy privát (titkos) és egy nyilvános kulcs – használatát foglalja magában. A nyilvános kulcs nyilvánosságra kerül. Üzenetek küldésekor el kell küldenie a nyilvános kulcsot, amely végrehajtja a hitelesítést az átvitel során.

A kulcselosztó rendszernek meg kell felelnie a következő követelményeknek:

  • az elosztott kulcsok integritása és bizalmassága
  • az elosztás hatékonysága és pontossága

A kulcsok elosztása során 2 megközelítés létezik:

  • kulcsfontosságú elosztóközpontok használata
  • közvetlen kulcscsere az előfizetők között

Első megközelítésben a kulcselosztó központ tudja, hogy mely kulcsokat küldték el és kinek. A második megközelítésben ellenőriznie kell a hálózati entitások azonosságát. Egy feladat A kulcselosztás egy , amely megvalósítja:

  • a foglalkozás résztvevőinek hitelesítése
  • munkamenet érvényesítése
  • minimális számú üzenet átadása a kulcscserében

A kulcsfontosságú elosztóközpontok megvalósításának egyértelmű példája a Kerberos rendszer. Itt a második megközelítést fogjuk megvizsgálni. Ehhez a felhasználáshoz:

  • egy aszimmetrikus nyilvános kulcsú titkosítási rendszer a szimmetrikus kriptorendszer titkos kulcsának védelmére
  • Diffie-Hellman nyilvános kulcsú elosztó rendszerek

Kombinált kriptorendszer megvalósítása a disztribúció kezelésére

Az aszimmetrikus nyilvános kulcsú kriptorendszerek fő szempontja a potenciálisan magas biztonság. Nem kell átvinni a kulcsokat, győződjön meg arról, hogy azok hitelesek. Egy ilyen rendszer azonban veszít a sebességben a titkos kulccsal rendelkező szimmetrikus kriptorendszerekhez képest.

Az aszimmetrikus és szimmetrikus titkosítás kombinált megvalósítása lehetővé teszi a rendszerekre jellemző fő hátrányok külön-külön történő kiküszöbölését. Az ötlet a következő:

  • szimmetrikus kriptorendszer van megvalósítva a nyílt szöveg titkosítására, és egy aszimmetrikus nyilvános kulcsú kriptorendszer van megvalósítva a szimmetrikus kriptorendszer titkos kulcsának titkosítására.

Ezt a megközelítést sémának is nevezik. elektronikus digitális boríték. Nézzünk egy példát. Az A felhasználó hibrid titkosítási módszert szeretne megvalósítani, hogy biztonságosan továbbítsa az M csomagot B felhasználóhoz. Az algoritmus a következő:

  • A felhasználó műveletei:
    • Létrehoz (bármilyen módon) egy K s munkamenet titkos kulcsot, amely a szimmetrikus titkosításban szükséges a csomagok titkosításához
    • Titkosítja az M csomagot egy szimmetrikus algoritmussal a K s munkamenet titkos kulcsán
    • Titkosítja a K s titkos munkamenetkulcsot B felhasználó K B nyilvános kulcsával egy aszimmetrikus algoritmus segítségével
    • Nyitott csatornán keresztül küld egy titkosított M csomagot a K s titkosított munkamenet kulccsal együtt B felhasználónak
  • B felhasználó műveletei (elektronikus digitális boríték fogadásakor):
    • dekódolja a K s munkamenetkulcsot egy aszimmetrikus algoritmussal a K B privát kulcs használatával
    • Az M csomag visszafejtése szimmetrikus algoritmussal a dekódolt K s kulccsal
    • A felhasználói műveletek az 1. ábrán láthatók

1. kép

A digitális burkológörbe megvalósítása során az aszimmetrikus és szimmetrikus algoritmusok hátrányait a következők kompenzálják:

  • a szimmetrikus titkosítási algoritmus kulcseloszlásának problémáját kiküszöböli az a tény, hogy a K s munkamenetkulcsot egy nyitott csatornán keresztül, titkosított formában továbbítják egy aszimmetrikus titkosítási algoritmus segítségével.
  • az aszimmetrikus algoritmus lassú sebességének problémája nem releváns, mivel csak a kulcsot titkosítják, a szöveget pedig szimmetrikus titkosítási algoritmussal titkosítják

Ha a munkamenetkulcs hossza kisebb, mint az aszimmetrikus kulcs hossza, akkor a támadó támadást hajt végre a munkamenetkulcs ellen. Az 1. táblázat a kulcshosszak arányát mutatja.

1. táblázat – Kulcshosszak azonos kriptográfiai erősségű aszimmetrikus és szimmetrikus rendszerek esetén

Diffie-Hellman kulcselosztási módszer

W. Diffie és M. Hellman 1976-ban alkotta meg a nyilvános kulcsú elosztási módszert. A módszer lehetővé teszi a felhasználók számára, hogy kulcsokat cseréljenek egy nem biztonságos kommunikációs csatornán. Biztonsága a diszkrét logaritmusok véges mezőben történő kiszámításának nehézségén alapszik, szemben azzal, hogy a diszkrét hatványozás direkt problémáját ugyanabban a mezőben könnyű megoldani. A módszer sémája a 2. ábrán látható.

Rajz - 2

Az A és B felhasználók az adatcsere során generálják véletlenszerű titkos kulcsukat K A és K B (a kulcsok véletlenszerű nagy egész számok). Ezután A és B felhasználó kiszámítja a nyilvános kulcsokat:

  • J A,B = g K A,B (mod N)

N, g nagy egész prímek. Ezek a számok nem titkosak, és a rendszer minden felhasználója számára ismertek. Az A és B felhasználók ezután egy J kulcscserét valósítanak meg egy nem biztonságos csatornán, és implementálják őket a J megosztott munkamenetkulcs kiszámításához:

  • A felhasználó: J = (J B) K A (mod N) = (g K B) K A (mod N)
  • B felhasználó: J` = (J A) K B (mod N) = (g K A) K B (mod N)
  • J = J` mivel (g K B) K A = (g K A) K B

Az egyirányú funkció megvalósítása miatt a nyilvános kulcs kiszámításának művelete visszafordíthatatlan. A Diffie-Hellman algoritmus lehetővé teszi az információk titkosítását minden kommunikációs munkamenet során új kulcsok használatával. Ez javítja a biztonságot, mivel nem kell titkokat tárolnia az adathordozón. Ezenkívül ez az algoritmus lehetővé teszi a továbbított adatok bizalmasságának és hitelességének átfogó védelmét szolgáló módszer megvalósítását.

A továbbított adatok titkosságának és hitelességének átfogó védelmének módszere

Az információk titkosságának és integritásának egyidejű védelme érdekében tanácsos titkosítást alkalmazni a komplexumban. Az algoritmus így működik:

  • A felhasználó aláírja az M csomagot K A titkos kulcsával, megvalósítva a szabványos digitális aláírási algoritmust
  • A felhasználó a Diffie-Hellman elv alapján kiszámít egy K megosztott titkos kulcsot a nyilvános kulcsából és a B felhasználó nyilvános kulcsából
  • A felhasználó szimmetrikus titkosítással titkosítja az M csomagot egy K megosztott titkos kulccsal
  • B felhasználó megkapja az M csomagot, kiszámítja a K nyilvános kulcsot, és visszafejti az M csomagot
  • B felhasználó ellenőrzi a dekódolt M csomag aláírását K A felhasználó nyilvános kulcsával

A Diffie-Hellman algoritmus alapján a SKIP, IKE kriptokulcs-kezelési protokollok működnek.

Kulcselosztási protokoll(kulcsleállítási protokoll) olyan kriptográfiai protokoll, amelynek végrehajtása során egy megosztott titkot két vagy több fél rendelkezésére bocsátanak utólagos kriptográfiai felhasználásra.

A kulcselosztási protokollok két osztályba sorolhatók:

    Kulcsátviteli protokollok;

    Kulcscsere protokollok.

Kulcsátviteli protokollok(kulcsszállítás) olyan kulcselosztási protokollok, amelyekben az egyik résztvevő létrehoz vagy más módon megszerez egy titkot, és biztonságosan továbbítja azt a többi résztvevőnek.

Kulcscsere protokollok(kulcsmegállapodás, kulcscsere) olyan kulcselosztási protokollok, amelyekben egy megosztott titkot két vagy több résztvevő generál az általuk (vagy velük társított) információ függvényében oly módon, hogy (ideális esetben) más fél előre meghatározhatja közös titkát.

A kulcselosztási protokolloknak két további formája létezik. A protokollról azt mondják, hogy kulcsfrissítést hajt végre, ha egy teljesen új kulcsot generálnak a protokollban, függetlenül a protokoll korábbi szekcióiban generált kulcsoktól. A protokoll végrehajtja a származtatott kulcsok generálását (kulcs származtatás), ha új kulcsot „származnak” a kriptorendszer már meglévő résztvevőitől.

A kulcselosztási protokollok kulcstulajdonságai közé tartoznak a kulcshitelesítés, a kulcsérvényesítés és az explicit kulcshitelesítés tulajdonságai.

(Implicit) kulcshitelesítés(implicit kulcs hitelesítés) - olyan tulajdonság, amellyel a protokoll egyik résztvevője gondoskodik arról, hogy egy másik fél, kivéve egy speciálisan azonosított második protokollrésztvevőt (és esetleg egy bizalmi központot), ne férhessen hozzá a protokollban megszerzett titkos kulcsokhoz. Nincs garancia arra, hogy a második fél valóban hozzáfért a kulcshoz, de rajta kívül senki más nem kaphatta meg. Az implicit kulcshitelesítés független attól, hogy a másik fél ténylegesen birtokolja-e a kulcsot, és nem igényel semmilyen intézkedést a másik féltől.

Kulcs megerősítése(kulcs megerősítése) - olyan tulajdonság, amellyel a protokoll egyik résztvevője meg van győződve arról, hogy egy másik résztvevő (esetleg azonosítatlan) valóban rendelkezik a protokollban megszerzett titkos kulcsokkal.

Explicit kulcs hitelesítés(explicit kulcshitelesítés) egy olyan tulajdonság, amely akkor kerül végrehajtásra, ha mind az (implicit) kulcshitelesítés, mind a kulcsellenőrzés megtörténik.

    1. Needham-Schroeder protokoll szimmetrikus kulcsokon

Ez a protokoll számos kulcselosztási protokoll alapját képezi, amelyek megbízható központokat használnak. Ennek a protokollnak két típusa van:

    Needham-Schroeder protokoll szimmetrikus kulcsokon;

    Needham-Schroeder protokoll aszimmetrikus kulcsokon.

A szimmetrikus kulcs protokoll a következőképpen működik:

Előzetes szakasz:

Ez a megközelítés egyfajta ördögi kört hoz létre: a titok megosztásához (az üzenet továbbítása folyamatban van), a feladónak és a címzettnek már rendelkeznie kell egy közös titkával (titkosító kulccsal). Korábban ezt a problémát nem kriptográfiai módszerrel oldották meg - a kulcs átvitele olyan kommunikációs csatornákon keresztül, amelyek fizikailag védettek a hallgatástól (1. ábra). Azonban egy ilyen csatorna létrehozása és üzemkész állapotban tartása vészhelyzet esetén a kulcs átadására meglehetősen munkaigényes és költséges.

Rizs. egy.

A problémát a valamivel több, mint negyedszázaddal ezelőtt felmerült modern kriptográfia keretein belül sikerült sikeresen megoldani, így az akkor már ismert „hagyományos kriptográfiával” ellentétben. A megoldás aszimmetrikus (kétkulcsos) titkosítások vagy kulcselosztási sémák használata nyitott kommunikációs csatornákon.

Az első esetben a - és a visszafejtési eljárásokat különböző kulcsokon hajtják végre, így nincs szükség a titkosítási kulcs titokban tartására. A rendkívül alacsony teljesítményjellemzők és néhány speciális támadásra való hajlam miatt azonban az ilyen titkosítások kevéssé hasznosnak bizonyultak a felhasználói információk közvetlen elrejtésére. Ehelyett aszimmetrikus rejtjeleket használnak a kombinált sémák részeként, amikor egy adattömböt szimmetrikus rejtjellel titkosítanak egy egyszeri kulcson, amelyet viszont egy kétkulcsos rejtjellel titkosítanak, és ebben a formában továbbítják az adatokkal együtt.

A nyitott kommunikációs csatornákon keresztüli kulcselosztási sémák ugyanezt a problémát némileg másképpen oldják meg: egy interakciós munkamenet során két levelező kifejleszt egy közös titkos kulcsot, amelyet aztán szimmetrikus rejtjellel titkosítanak az átvitt adatokon. Ezen túlmenően, az ilyen kulcs generálása során a csatornában lévő információ elfogása nem ad lehetőséget az ellenségnek magának a kulcsnak a megszerzésére: K=K(X,Y) kiszámíthatatlan (2. ábra).


Rizs. 2.

Az aszimmetrikus kriptográfia problémái

A mai napig az aszimmetrikus kriptográfia meglehetősen sikeresen oldja meg a kulcsok nyílt kommunikációs csatornákon történő elosztásának problémáját. Mindazonáltal számos probléma van, amelyek aggodalomra adnak okot a jövőjét illetően. Az összes aszimmetrikus kriptográfiai séma stabilitása azon alapul, hogy számos olyan matematikai probléma (ún. NP-probléma) hatékony számítási megoldása lehetetlen, mint a nagy számok faktorizálása (faktorizálása) és a logaritmus nagy diszkrét mezőkben. De ez a lehetetlenség csak egy feltételezés, amely az ellenkező hipotézis, azaz az NP=P bizonyítása esetén bármelyik pillanatban megcáfolható. Ez az összes modern kriptográfia összeomlásához vezetne, mivel a problémák, amelyeken ez alapul, szorosan összefüggenek, és egyetlen kriptorendszer feltörése a legtöbb többi kriptográfiai rendszer feltörését is jelenti. Intenzív kutatások folynak ebben az irányban, de a probléma továbbra is nyitott.

Egy másik fenyegetést jelentenek a modern kriptorendszerek számára az úgynevezett kvantumszámítógépek - a kvantummechanika elveire épülő információfeldolgozó eszközök, amelyek ötletét először a híres amerikai fizikus, R. Feynman vetette fel. 1994-ben P. Shor egy faktorizációs algoritmust javasolt egy kvantumszámítógéphez, amely lehetővé teszi egy szám faktorálását egy olyan idő alatt, amely polinomiálisan függ a szám méretétől. 2001-ben pedig ezt az algoritmust sikeresen implementálták egy kvantumszámítógép első működő prototípusán, amelyet az IBM és a Stanford Egyetem szakemberei készítettek.

Szakértők szerint körülbelül 15-25 év alatt lehet létrehozni egy olyan kvantumszámítógépet, amely képes feltörni az RSA kriptorendszert.

Egy másik kellemetlen tény az aszimmetrikus kriptorendszerekben, hogy a kulcsok minimális "biztonságos mérete" folyamatosan növekszik az adott területen elért haladás miatt. Az ilyen rendszerek negyedszázados története során ez már körülbelül 10-szeresére nőtt, míg a hagyományos szimmetrikus titkosítások esetében ugyanezen időszak alatt a kulcs mérete kevesebb mint felére változott.

A fentiek mindegyike miatt az aszimmetrikus kriptográfiai rendszerek hosszú távú kilátásai nem teljesen megbízhatóak, és arra kényszerítenek bennünket, hogy alternatív megoldásokat keressünk ugyanazon problémák megoldására. Ezek egy része az úgynevezett kvantumkriptográfia, vagy kvantumkommunikáció keretében megoldható.