Kulcselosztási protokollok hurkot használva. Kulcskezelés

Kulcselosztási protokollok hurkot használva.  Kulcskezelés
Kulcselosztási protokollok hurkot használva. Kulcskezelés

jegyzőkönyv nyilvános kulcs elosztása egy protokoll, amely lehetővé teszi két vagy több résztvevő számára, hogy közös titkos információt (egy közös titkos kulcsot) fejlesszenek ki lehallgatási csatornákon keresztüli üzenetváltással. A protokollnak ki kell zárnia annak lehetőségét, hogy kívülállók, valamint bármely résztvevő információt szerezzenek a kulcsról a protokollban előírt műveletek befejezése előtt.

tartalom

Állítás az információbiztonság problémájáról

A nyilvános kulcselosztási protokollok a biztonságos kommunikációs csatorna használata nélküli kulcscsere megvalósításának szükségessége miatt jelentek meg. Két vagy több résztvevő a protokoll által előírt műveletek végrehajtása eredményeként ugyanazokat a kulcsokat kapja, amelyeket ezután szimmetrikus titkosítási sémákban használnak. Az első kutatást ezen a területen Whitfield Diffie és Martin Hellman végezte, akik az 1970-es években tették közzé nyilvános kulcsú elosztási protokolljukat. Ez volt az első kriptorendszer, amely lehetővé tette az információk felhasználás nélküli védelmét titkos kulcsok biztonságos csatornákon továbbítják.

A Whitfield Diffie és Martin Hellman által javasolt nyilvános kulcs-elosztási séma valódi forradalmat hozott a titkosítás világában, mivel megszüntette a klasszikus kriptográfia fő problémáját - a kulcselosztás problémáját. Ugyanez a cikk bemutatta az aszimmetrikus kriptográfia alapjait is.

Egy ilyen protokoll használatával generált kulcs csak egy munkamenetre, vagy akár annak egy részére érvényes. Ennek megfelelően a titkosítási kulcsok nyílt elosztása lehetővé teszi bármely rendszerhasználó pár számára, hogy önállóan kidolgozzák saját közös titkosítási kulcsukat, ezáltal leegyszerűsítve a titkos titkosítási kulcsok elosztásának folyamatát. Ugyanakkor az előre elosztott közös titkosítási kulcs hiánya a levelezők között a kommunikációs munkamenet előtt nem ad lehetőséget arra, hogy nyílt csatornán keresztüli üzenetváltással ellenőrizzék egymás hitelességét. Ennek megfelelően az ember a közepén támadások lehetségesek.

A szimmetrikus titkosítási sémák gyakori újrakulcsolása szükséges a kriptoanalízissel szembeni megfelelő szintű ellenállás biztosításához, mivel ha az ellenség egy nagy szám titkosítási anyag egyetlen kulccsal titkosítva, a feladata könnyebbé válik. A nyilvános kulcsok elosztása lehetővé teszi a kulcsok megváltoztatását kívánt frekvenciát, mivel nincs szükség biztonságos kommunikációs csatornára, és nincsenek kapcsolódó költségek sem.

A probléma megoldásának elméleti alapjai

A nyilvános kulcsú elosztási protokollok alapvetően egyirányú függvények használatán alapulnak. A protokoll résztvevői által egymásnak továbbított üzeneteket elfogó ellenfél nem tud ezek alapján titkos kulcsokat kiszámítani, majd a résztvevők által kifejlesztett megosztott titkos kulcsot megszerezni.

A protokoll általános sémája a következő:

előzetes szakasz

  • get p - egy nagy prímszám;
  • kapja meg a szám (p -1) teljes faktorokra való felbomlását;
  • számítsuk ki az r modulo p (r mod p) primitív gyökét.

Az összetett számokat prímtényezőkre bontjuk (prímszámokra vagy azok pozitív egész hatványaira, esetleg nullára), ahol p i prímszámok; b i prímszámok hatványai.

A primitív gyök kiszámításához szükséges, hogy az intervallum bármely számához Az állapot . Ebben a feltételben bármilyen szám ábrázolható , ahol x egy pozitív egész szám az intervallumból. Nyilvános kulcsként egy számpárt (p,r) használunk.

munkaszakasz

Legyen két előfizető, akiknek meg kell szerezniük egy megosztott titkos kulcsot. Akkor:

1. elemet generál , kiszámítja és küldje el az eredményt

2. elemet generál , kiszámítja és küldje el az eredményt

3. kiszámítja az értéket

4. kiszámítja az értéket

Miután megkapta az értéket, és meg kell semmisíteni.

A protokoll végrehajtása eredményeként az előfizetők mindegyike kap egy közös kulcsot, amely szimmetrikus titkosítási rendszerekben használható. Ugyanakkor egy ellenfél, aki ismeri a nyilvános kulcsot (p, r), nem fogja tudni kiszámítani az értékét. Számok elfogása esetén az ellenség sem tudja megszerezni az értéket.

Alapvető kriptográfiai konstrukciók és biztonságuk

Diffie-Hellman nyilvános kulcselosztási protokoll

Ezt a protokollt 1976-ban javasolták, és ez az első ilyen protokoll. Az egyik leghíresebb nyilvános kulcs-elosztási protokollnak is nevezhető.

A Diffie-Hellman protokoll nem nyújt sem hitelesítést, sem kulcsellenőrzést, sem a protokoll résztvevőinek hitelesítését. Egy aktív ellenfél támadást építhet a protokoll ellen úgy, hogy beilleszt egy csatornába (Man-in-the-Middle attack).

Ha ezzel az algoritmussal dolgozik, garantálni kell, hogy A felhasználó megkapta a nyilvános kulcsot B felhasználótól, és fordítva. Ezt a problémát egy elektronikus aláírás segítségével oldják meg, amely nyilvános kulcsú üzenetek aláírására szolgál.

A Diffie-Hellman módszer előnye az RSA módszerhez képest, hogy a megosztott titkos kulcs létrehozása több százszor gyorsabb. Az RSA rendszerben az új privát és nyilvános kulcsok generálása új prímszámok generálásán alapul, ami hosszú időt vesz igénybe.

ElGamal séma

Ezt a kriptorendszert 1985-ben javasolták. ElGamal javasolta ezt a sémát, amely egy nagy prímszám modulo hatványozásán alapul. Javította a Diffie-Hellman rendszert, és kapott két algoritmust, amelyeket titkosításra és hitelesítésre használtak.

A kriptográfiai struktúrák gyakorlati alkalmazásai, megvalósításuk jellemzői

A kriptorendszerek első gyakorlati alkalmazása nyilvános kulcs– kulcscsere megszervezése távoli felhasználók között nyílt kommunikációs csatornákon keresztül

IKE (Internet Key Exchange)

Az IKE egy szabványos IPsec-protokoll, amelyet a virtuális magánhálózatok kommunikációjának biztosítására használnak. Az IKE protokoll lehetővé teszi a Diffie-Hellman kulcscsere eljáráshoz szükséges algoritmusok és matematikai struktúrák egyeztetését, valamint hitelesítési folyamatokat.

IPsec (IP Security) - az IP Internet protokollon keresztül továbbított adatok védelmét biztosító protokollok készlete. Lehetővé teszi az IP-csomagok hitelesítését (hitelesítését), integritás-ellenőrzését és/vagy titkosítását. Az IPsec protokollokat is tartalmaz a biztonságos Diffie-Hellman kulcscseréhez az interneten keresztül.

Az IKE protokollok három célt szolgálnak:

Az interakcióban részt vevő felek hitelesítése, a titkosítási algoritmusok és a biztonságos információcsere során használt kulcsjellemzők meghatározása;

A kapcsolati paraméterek kezelése és bizonyos típusú támadások elleni védelem, az összes megkötött megállapodás végrehajtásának ellenőrzése;

Biztosítani kell a kulcskapcsolati információk létrehozását, kezelését, a kulcsok közvetlen cseréjét (beleértve azok gyakori cseréjének lehetőségét is).

PGP (Pretty Good Privacy)

A PGP egy népszerű program titkosításra, visszafejtésre és digitális aláírásüzenetek Email, fájlokat és egyéb elektronikus formában biztosított információkat. Az aszimmetrikus titkosítás elvén működik, amely lehetővé teszi a nyilvános kulcsok cseréjét nem biztonságos kommunikációs csatornákon keresztül. Privát kulcsok nem kerülnek továbbításra, ezért a program úgy van megszervezve, hogy a kulcsok küldésére és cseréjére szolgáló összes parancs csak nyilvános kulccsal működjön.

Kulcsfelhalmozás

Kulcsgenerálás

Kulcskezelés

A kulcsinformáció az IS-ben lévő összes aktív kulcs összessége.

A kulcskezelés az információs folyamat, amely 3 elemet tartalmaz:

kulcsok generálása;

kulcsok felhalmozása;

kulcsok elosztása.

Köztudott, hogy nem szabad nem véletlenszerű billentyűket használni. A komoly IC-k speciális szoftver- és hardvermódszereket használnak véletlenszerű kulcsok generálására. Általában véletlenszerű és pszeudo-véletlen számok érzékelőit használják. A véletlenszerűség mértékének magasnak kell lennie. Az ideális generátorok természetes véletlenszerű folyamatokon alapuló eszközök. A fizikai véletlenszám-generátor a Pentium 3 processzor magjába van beépítve.

Matematikailag véletlen számokat kaphatunk a transzcendentális számok, például π vagy e tizedesjegyeinek használatával, amelyeket standard matematikai módszerekkel számítanak ki. Az IS közepes biztonsági követelményekkel szoftvert használ a véletlen számok beszerzésére.

Kulcsok felhalmozása - elszámolásuk, tárolásuk és törlésük megszervezése. Mivel sok kulcs van, a kulcsinformációs adatbázisban tárolódnak. Magukat a kulcsokat titkosított formában kell tárolni az adatbázisban.

A kulcsinformációt titkosító kulcsot főkulcsnak nevezzük.

Kívánatos, hogy a felhasználó fejből tudja. A főkulcsokat részekre bonthatja, és az egyik részt mágneskártyán, a másikat a számítógép memóriájában tárolhatja.

A kulcsinformációk tárolásának fontos feltétele a kulcsok és mesterkulcsok időszakos frissítése. Különösen kritikus esetekben naponta frissítheti.

A kulcselosztás a kulcskezelés legkritikusabb folyamata. Két követelménye van:

· Az elosztás hatékonysága és pontossága.

· A kulcsok elosztásának titkossága.

A szimmetrikus titkosítási rendszerek felhasználóinak meg kell cserélniük egy megosztott titkos kulcsot, amelyet a titkosításhoz és a visszafejtéshez is használnak.

A kulcselosztás a szimmetrikus kriptorendszerekben a következő módokon történhet:

1) lehetséges a kulcs kiszállítása futáron keresztül, de mivel a kulcsokat frissíteni kell, költséges és nem hatékony a kézbesítés

2) közös kulcs két felhasználó általi átvétele a központi hatóságtól (Kulcselosztó Központ – CDC). A továbbított kulcsot a CRC kulccsal titkosítják. Hátrány: egy támadó megjelenhet a CRC-ben. Lehetőség van a kulcsok tárolását a CRC-ben fa formájában megszervezni.

3) A harmadik módszert Diffie és Hellman tudósok javasolták - egy nyílt csatornás kulcscsere protokollt. A protokoll olyan lépések sorozata, amelyeket két vagy több fél megtesz egy probléma közös megoldása érdekében. Minden lépés fontossági sorrendben következik.



A kriptográfiai protokoll egy kriptográfiai algoritmuson alapuló protokoll, és a protokoll minden résztvevőjét előzetesen értesíteni kell minden lépésről, amelyen keresztül kell mennie.

Diffie-Hellman nyilvános csatorna kulcscsere protokoll.

Cél: két A és B felhasználó megosztott titkos kulcsot kap.

1. A felhasználó generál egy X véletlenszámot.

2. B felhasználó generál egy Y véletlenszámot.

3. A kiszámítja: La=a^x mod m

4. B kiszámítja: Lb=b^y mod m

5. A B La felhasználót küld.

6. B Lb-t küld A felhasználónak.

7. A kiszámítja a Kab =(Lb)^x mod m=(a^y mod m)^x mod m=a^xy mod m-t.

8. B kiszámítja a Kab =(La)^y mod m=(a^x mod m)^y mod m=a^xy mod m-t.

Így mindkét felhasználónak ugyanaz a Kab privát kulcsa van.

A nyilvános kulcsok kezelése online vagy offline címtárszolgáltatással is megszervezhető. A fő kérdések a hitelesség, az integritás és az érvényesség. Hitelesség – győződjön meg arról, hogy ez a kulcsa ennek a felhasználónak.

A kulcscsere minden esetben biztosítani kell a kommunikációs munkamenet hitelességét, amelyet az alábbiakkal biztosítunk:

1. "kérés-válasz" mechanizmus (eljárás "kézfogás" = virtuális csatorna felállítása);

2. időbélyegző mechanizmus.

A kulcselosztás problémája egy olyan elosztási protokoll felépítésére redukálódik, amely biztosítja:

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

2. Munkamenet ellenőrzése kihívás-válasz mechanizmussal vagy időbélyegekkel.

3. A minimális számú üzenet használata a kulcscserében.

4. A CRC általi visszaélések kizárásának lehetősége (szolgáltatásainak megtagadásáig).

A partnerek személyazonosságának ellenőrzésére szolgáló eljárást célszerű elkülöníteni a tényleges kulcsosztási eljárástól.

A hitelesség és az integritás elérésének egyik módja a nyilvános kulcsok elosztása a tanúsítványok használatával.

A tanúsítvány alapú rendszer feltételezi, hogy van egy központi hatóság, és minden felhasználó biztonságosan kommunikálhat a központi hatósággal, ehhez minden felhasználónak rendelkeznie kell a központi hatóság nyilvános kulcsával.

A C A nyilvános kulcsú tanúsítvány egy központi hatóság üzenete, amely igazolja az A objektum valamely nyilvános kulcsának integritását (lehet papír vagy elektronikus dokumentum).

Például: egy nyilvános kulcsú tanúsítvány az A felhasználó számára, C A jelöléssel, egy T időbélyeget, Id A azonosítót, K A nyilvános kulcsot tartalmaz, a CRK K crc titkos kulccsal titkosítva:

C A \u003d E K crk (T, Id A, K A)

A T időbélyeg a tanúsítvány érvényességének ellenőrzésére szolgál, és ezáltal megakadályozza a régi tanúsítványok ismétlődését. A CRC titkos kulcsát K csak a CRC menedzsere ismeri, a CRC nyilvános kulcsát pedig minden előfizető ismeri.

A nyilvános kulccsal és digitális aláírással titkosítást biztosító rendszert nyilvános kulcsú infrastruktúrának nevezzük.

A hitelesítés-szolgáltató digitális aláírással felhasználói tanúsítványokat hoz létre saját magánkulcsával, és aláírja a következő adatkészletet:

1. Teljes név felhasználó (szám, jelszó).

2. A felhasználó nyilvános kulcsa.

3. A tanúsítvány érvényességi ideje.

4. Konkrét műveletek, amelyekhez ez a kulcs használható (azonosítás, titkosítás vagy mindkettő).

Kerberos hitelesítés

A titkosításon alapuló hitelesítés problémájának megoldására a Massachusetts Institute of Technology 1985-ben egy biztonsági rendszert fejlesztettek ki. információs rendszerek behatolásoktól, speciális jegyértékesítő szolgáltatással. Kerberosnak nevezték el a háromfejű Cerberus kutyáról, aki a görög mitológiában a pokol kapuját őrizte.

Ezt a nevet azért választottuk, mert három fél vett részt a hitelesítésben: a felhasználó, a szerver, amelyhez a felhasználó hozzá szeretne férni, és a hitelesítési szerver, ill. kulcselosztó központ (KDC). Megbízható harmadik félként egy speciális hitelesítési szervert javasoltak, amelynek szolgáltatásait az információs rendszer más szerverei és kliensei is igénybe vehetik.

A Kerberos rendszer tárolja a kiszolgált alanyok titkos kulcsait és segíti őket a teljesítményben kölcsönös hitelesítés.

  1. a jegy felhasználója általi átvétel TGT jegyekért;
  2. átvételét a felhasználó szerver hozzáférési jegy;
  3. felhasználó hitelesítés a szerver által;
  4. a szerver hitelesítése a felhasználó által.

Tekintsük részletesebben a Kerberos rendszerben történő hitelesítést ( rizs.), amely négy lépésben történik:

1) A munkamenet azzal kezdődik, hogy a felhasználó megkapja az A-t jegy a jegy átvételéhez - Ticket-Granting Ticket (TGT) tól től CRC.

2) Amikor egy felhasználó hozzá akar férni valamilyen B szerverhez, először egy kérést küld erre jegyet a szerver eléréséhez jegyével együtt TGT V CRC. TGT információkat tartalmaz az A felhasználó bejelentkezési munkamenetéről, és lehetővé teszi CRC anélkül működnek, hogy folyamatosan információkat karbantartanak az egyes felhasználók bejelentkezési munkamenetéről.

3) Kérésére válaszul A felhasználó kap egy titkosított munkamenet kulcsot SA és szerver hozzáférési jegy C. A munkamenetkulcs titkosításra kerül egy titkos kulccsal, amelyet csak az A és felhasználó ismer CRC. Szerver belépési jegy A B ugyanazt a szekciókulcsot tartalmazza, de egy titkos kulccsal van titkosítva, amelyet csak a B és a szerver ismer CRC.

4) A hitelesítés akkor történik, amikor az A felhasználó és a szerver bizonyítják, hogy ismerik privát kulcsukat. A felhasználó titkosítja az időbélyeget, és elküldi a B szervernek. A szerver dekódolja az időbélyeget, eggyel növeli, újratitkosítja, és elküldi a titkosított szöveget A felhasználónak. A felhasználó visszafejti a választ, és ha az tartalmazza a megnövelt időbélyegértéket , a hitelesítés sikeres, ellenkező esetben sikertelen. Után kölcsönös hitelesítés a munkamenetkulcs használható az A felhasználó és a B szerver között váltott üzenetek titkosításához. Nyilvánvalóan a feleknek bízniuk kell CRC, mivel minden titkos kulcs másolatát megőrzi.

Bármennyire is összetett és biztonságos maga a kriptorendszer, kulcshasználaton alapul. Ha a kulcscsere folyamata triviális ahhoz, hogy két felhasználó bizalmas információcseréjét biztosítsa, akkor egy olyan rendszerben, ahol a felhasználók száma több tíz és száz, a kulcskezelés komoly gondot jelent.

A kulcsinformáció alatt a rendszerben működő összes kulcs összességét értjük. Ha a kulcsfontosságú információkat nem kezelik biztonságosan, akkor azok birtokbavétele után a támadó korlátlan hozzáférést kap az összes információhoz.

A kulcskezelés egy információs folyamat, amely három elemből áll:

Kulcsgenerálás;

Kulcsok felhalmozása;

Kulcselosztás.

Kulcsgenerálás. BAN BEN valódi rendszerek speciális hardver és szoftver módszereket használnak véletlenszerű kulcsok generálására. Általában véletlenszám-generátorokat használnak. Generációjuk véletlenszerűségének fokának azonban kellően magasnak kell lennie. Az ideális generátorok „természetes” véletlenszerű folyamatokon alapuló eszközök. Például kulcsgenerálás a fehér rádiózaj alapján. Egy másik véletlenszerű matematikai objektum az irracionális számok, például p vagy e tizedesjegyei, amelyeket szabványos matematikai módszerekkel számítanak ki.

Közepes biztonsági követelményeket támasztó rendszerekben meglehetősen elfogadhatóak a szoftveres kulcsgenerátorok, amelyek véletlenszámokat számítanak ki összetett funkció az aktuális időtől és (vagy) a felhasználó által beírt számtól.

Kulcsfelhalmozás. A kulcsok felhalmozása alatt a tárolásuk, elszámolásuk és törlésük megszervezését értjük.

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

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

Egy meglehetősen összetett rendszerben egy felhasználó nagy mennyiségű kulcsfontosságú információval dolgozhat, és néha szükségessé válik a kulcsfontosságú információk miniadatbázisainak rendszerezése is. Az ilyen adatbázisok felelősek a használt kulcsok elfogadásáért, tárolásáért, rögzítéséért és törléséért.

A használt kulcsokkal kapcsolatos minden információt titkosított formában kell tárolni. A kulcsinformációkat titkosító kulcsokat mesterkulcsoknak nevezzük. 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 a rendszerben. Ebben az esetben a normál kulcsokat és a mesterkulcsokat is újra kell rendelni. A különösen kritikus rendszerekben a legfontosabb információkat naponta frissíteni kell.


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énye van:

Az elosztás hatékonysága és pontossága;

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. Ennek ellenére a kulcsfontosságú információk rendszerben történő 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 mely kulcsok vannak hozzárendelve, és ez lehetővé teszi a rendszerben keringő összes üzenet elolvasását. Az esetleges visszaélések jelentősen befolyásolják a védelmet.

2 Közvetlen kulcscsere a rendszerhasználók 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 A kérés-válasz mechanizmus, amely a következő. Ha A felhasználó meg akar bizonyosodni arról, hogy a B felhasználótól kapott üzenetek nem hamisak, akkor a B-nek küldött üzenetben egy előre nem látható elemet (kérést) tartalmaz. 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 eredeti. Ennek a módszernek az a hátránya, hogy a kérés és a válasz között összetett mintákat lehet létrehozni.

2 Időbélyegző mechanizmus. Ez magában foglalja az egyes üzenetek időpontjának rögzítését. Ebben az esetben a rendszer minden felhasználója tudhatja, hogy milyen „régi” a bejövő üzenet.

Mindkét esetben titkosítást kell alkalmazni annak biztosítására, hogy a választ nem támadó küldte, és az időbélyeg ne változzon.

Időbélyegek használatakor probléma van a munkamenet-hitelesítés megengedett késleltetési időintervallumával. Hiszen egy időbélyeggel 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ó tökéletesen.

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 diszkrét hatványozási függvényt javasoltak nyilvános kulcsú kriptográfiai rendszerek létrehozásához.

A transzformáció visszafordíthatatlanságát ebben az esetben az biztosítja, hogy egy p elemből álló véges Galois-mezőben meglehetősen egyszerű az exponenciális függvény kiszámítása ( p bármely hatvány prímszáma vagy prímszáma). A logaritmusok kiszámítása az ilyen mezőkben sokkal időigényesebb művelet.

Az információcseréhez az első felhasználó véletlenszerű számot választ x 1 , 1-től való egész számokkal egyenlő p– 1. Ezt a számot titokban tartja, és elküldi egy másik felhasználónak y 1 = , ahol α a Galois-mező fix eleme GF(p), amely p-vel együtt előre el van osztva a felhasználók között.

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 mindketten ki tudják számítani a megosztott titkos kulcsot k 12 = .

Számítás céljából k 12 , az első felhasználó emel y 2 a hatalomhoz x 1, és a maradékot megkeresi az osztás után p. A második felhasználó ugyanezt teszi, csak használja y 1 és x 2. Í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 ezt az algoritmust nem teszi lehetővé a tényleges információk titkosítását.

Nem tudván 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ás a mai napig nem találták meg. 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 1030 műveletet igényel.

Amint látható, a Diffie-Hellman algoritmus egyszerűsége ellenére hátránya az RSA rendszerhez képest az, hogy nincs garantáltan alacsonyabb becslés a kulcsfeltárás bonyolultságára vonatkozóan.

Ráadásul bár a leírt algoritmus megkerüli a problémát rejtett közvetítés kulcs, a hitelesítés szükségessége továbbra is fennáll. Nélkül további pénzeszközök, az egyik felhasználó nem lehet biztos abban, hogy pontosan azzal a felhasználóval cserélt kulcsot, akire szüksége van.

Az elliptikus görbék olyan matematikai objektumok, amelyek bármilyen (véges, valós, racionális vagy összetett) mező felett meghatározhatók. A kriptográfiában általában véges mezőket használnak. Az elliptikus görbe pontok halmaza (x, y), kielégíti a következő egyenletet:

y 2 = x 3 + ax + b,

valamint egy pont a végtelenben. A görbe pontjainál meglehetősen egyszerű bevezetni az összeadási műveletet, amely ugyanazt a szerepet játszik, mint a szorzási művelet az RSA és az ElGamal kriptorendszerekben.

Az elliptikus egyenleteken alapuló valós kriptorendszerekben az egyenletet használják

y 2 = x 3 + fejsze + b mod p,

Ahol R- egyszerű.

A diszkrét logaritmus probléma egy elliptikus görbén a következő: adott egy G pont egy r rendű elliptikus görbén (a görbe pontjainak száma) és egy másik Y pont ugyanazon a görbén. Egyetlen pontot kell találni xúgy, hogy Y = x G, azaz Y az x G fokozat.

Nyilvános kulcs elosztása

Eddig a nyilvános kulcsú titkosítási módszerek előnyei nem voltak nyilvánvalóak. Ezek alapján azonban könnyen megoldható a közös titkos kulcs kidolgozása egy információs rendszer bármely felhasználópárjának kommunikációs munkamenetéhez. Diffie és Hellman még 1976-ban egy nyilvános kulcsú elosztási protokollt javasolt ehhez. Ez magában foglalja a kommunikáló felhasználópárok mindegyikének véletlenszámának független generálását, annak egy bizonyos eljárással történő átalakítását, a konvertált számok nyílt kommunikációs csatornán keresztüli cseréjét, valamint egy közös titkos kulcs kiszámítását a tőle kapott információk alapján. a partner a kommunikáció során. Minden ilyen kulcs csak egy kommunikációs munkamenet vagy annak egy része alatt létezik. Így a nyílt kulcsok elosztása lehetővé teszi, hogy a rendszerfelhasználók minden párja saját megosztott titkos kulcsot fejlesszen ki, ezzel leegyszerűsítve a titkos kulcsok elosztásának folyamatát. Bár minden nem ilyen egyszerű - az előre elosztott közös titkos kulcs hiánya az előfizetők között a kommunikációs munkamenet előtt elvileg nem teszi lehetővé, hogy nyílt csatornán keresztül üzenetváltással ellenőrizzék egymás hitelességét. Például a Shamir módosításában leírt ElGamal algoritmussal is küldhetsz kulcsokat, de honnan lehetsz biztos abban, hogy partnerrel van dolgod, nem pedig elfogóval? Az azonosság megerősítéséhez a titkos hálózat minden résztvevőjének rendelkeznie kell saját titkos kulccsal, amelyet csak ő ismer, és megkülönbözteti őt az összes többi előfizetőtől. Ebben az esetben a Diffie-Hellman algoritmus olyan jelszóbemutatási eljárást biztosít, hogy ismételt használata nem csökkenti a tulajdonos személyazonosságának igazolásának megbízhatóságát. Ennek eredményeként a megosztott titkos kulcs két funkciója, amelyeket általában titkos csatornán keresztül juttatnak el, mint például a kommunikációs csatornán lévő információk védelme egy harmadik féltől, és a partner előfizetőinek személyazonosságának ellenőrzése, elválik egymástól.

A Diffie-Hellman nyilvános kulcs elosztási algoritmusa így néz ki:

    Legyen két előfizető nyílt hálózat AÉs B akik ismerik a nyilvános kulcspárt RÉs d. Ezen kívül at A van titkos kulcsa x intervallumból (1, n), míg B van titkos kulcsa y ugyanabból az intervallumból.

    Előfizető A küld Bx mod pés az előfizető B küld A kulcsának titkosítása Z"=D** y mod p.

    Ezután kiszámítják a közös Z kulcsot Z=Z"** y=Z""** x.

Speciális technikák segítségével a Diffie-Hellman rendszerben a közös kulcs generálásának ideje 5-szörösére csökkenthető az ElGamal rendszerhez képest a Shamir módosításban, és 30-szor az RSA-hoz képest azonos biztonsági szinten. Ez a legtöbb gyakorlati alkalmazás szempontjából észrevehető előnynek bizonyul, mivel az RSA algoritmussal történő titkosítás és visszafejtés körülbelül ezerszer lassabb, mint a klasszikus algoritmusok, például a DES. Vegye figyelembe, hogy a nyilvános kulcsú kriptográfiai rendszerek számos alkalmazása esetén a kriptográfiai átalakítások számítási ideje nem nagy jelentőséggel bír. Például a felhasználók hitelkártyával történő azonosításakor nem lesz különbség – egy mikroszekundum vagy egy másodpercig tart. Ugyanez vonatkozik a megosztott titkosítási kulcs kiválasztására egy másik, gyorsabb, de kulcscserére nem képes kriptográfiai rendszerhez.

Nem tűnik olyan megterhelő feladatnak a nyílt kulcsú elosztó rendszerekben az egyéni titkos jelszavak előzetes kiosztása a központból a felhasználók hitelesítésére, mint az előfizetők egymás közötti összekötésére szolgáló titkos kulcspárok előállítása és elosztása a központból. Egy ilyen jelszó érvényességi ideje lényegesen hosszabb lehet, mint a kommunikációs kulcs érvényességi ideje, mondjuk egy év, és a kommunikációs hálózatban lévő összes számuk megegyezik az előfizetők számával. Ezen túlmenően bizonyos típusú kommunikációval a partner személyazonosságának megerősítése a fizikai jelek alapján történő felismeréssel érhető el. Például hanggal telefonos kommunikáció vagy megjelenés és hang alapján, amikor televíziós csatornákon keresztül kommunikál. Meg kell jegyezni, hogy a kulcsok nyilvános kulcsú kriptográfiai rendszerekkel történő elosztásának megvan az egyetlen előnye: minden titkos kommunikációs csomópontnak csak egy kulccsal kell rendelkeznie. A klasszikus szimmetrikus kriptográfiai rendszerekben annyi kulcsnak kell lennie, amennyivel az előfizetői csomópont rendelkezik. A nyilvános kulcsú rendszereknek azonban vannak gyengeségei. Tehát, ha egy kulcsot tartalmazó titkosítás feltörése alapvetően lehetetlen egy klasszikus rendszerben, mivel a nyílt szöveg értelmetlen és nem tartalmaz redundáns információkat, akkor a nyilvános kulccsal rendelkező rendszerekben a kriptaelemzőnek mindig van reménye a sikerre. Továbbá, ha a D szám a hálózat összes résztvevőjére jellemző, akkor annak kompromisszuma a logaritmust megkönnyítő speciális tulajdonságok felfedezése formájában az egész hálózat kompromisszumához vezet. Ha D egyéni előfizetőpáronként, akkor egyrészt a kulcsok bősége miatt könnyebben lehet gyengét találni köztük, másrészt bár a nem titkos kulcsok elosztása és tárolása összehasonlíthatatlanul könnyebb, mint titkosak, az is sok gondot okoz. Ezért, ha egy kriptográfusnak lehetősége van egy titkos csatorna szolgáltatásait igénybe venni, akkor mindig azt fogja előnyben részesíteni a nyilvános kulcsú terjesztéssel szemben.

A gyakorlatilag működő, nyilvános kulcsú elosztórendszert használó kommunikációs hálózatok közül a legkomolyabban védett a telefon állami hálózat USA STU-III eszközökön alapul. 1987-ben kezdte meg működését, és mára több mint 150 ezer előfizetővel rendelkezik. Oroszországban egy hasonló, ATS-1-nek vagy "lemezjátszónak" is nevezett hálózat szintén megbízhatóan védett, de ott több százszor kevesebb az előfizető. Az 1980-as évek elejére a kriptológusok felismerték az úgynevezett hibrid rendszerek előnyeit, amelyekben a nyilvános kulcsú titkosítási eljárásokat csak kulcsok és digitális aláírások átvitelére használják. A továbbítandó információkat pedig egy klasszikus DES-típusú algoritmus védi, amelynek kulcsát nyilvános kulcsú titkosítással továbbítják. Az első soros készülék ebből a típusból egy Racal-Milgo Datacryptor volt, amelyet 1979-ben adtak ki. A Datacryptor Encryption Key Management Apparatus elsősorban kormányzati kommunikációs hálózatokhoz készült, és tanúsítvánnyal rendelkezik, hogy megfelel a nem titkos, de érzékeny információk védelmére vonatkozó brit szabványnak. Jelzi a kriptográfiai követelmények megsértését és hibaértesítéseket. Ez az eszköz egy algoritmust használ a titkosított kommunikáció létrehozására egy megosztott titkos kulcs létrehozásával és továbbításával az RSA algoritmus használatával. A jövőben rengeteg ilyen típusú információvédelmi eszközt adtak ki. Az új kriptográfiai ötletek alkalmazásának további példáit számos kereskedelmi hálózat, különösen a banki hálózatok, például a SWIFT mutatják be. Ezenkívül az RSA digitális aláírási rendszert a Sandia Laboratories által 1982-ben kifejlesztett nukleáris kísérleti korlátozási szerződés ellenőrző berendezésekben, a BPMIS hálózatban és más rendszerekben használják.

Az egyik legtöbb kihívást jelentő feladatokat A kriptográfiában felmerülő kulcskezelés a kriptorendszerekben résztvevők megosztott titkos kulcsainak kialakítása. Ebben a részben röviden megismerkedünk a probléma megoldásának fő módszereivel, megjegyezzük azok előnyeit, hátrányait és lehetséges alkalmazási területeit.
2.2.1. Alapfogalmak és definíciók
A kulcslétrehozási protokoll olyan kriptográfiai protokoll, amelyben egy megosztott titkot két vagy több fél számára tesznek elérhetővé kriptográfiai célú későbbi felhasználás céljából.
A kulcselosztási protokollok két osztályba sorolhatók: kulcsátviteli és kulcscsere protokollok.
A kulcsátviteli protokollok olyan kulcselosztási protokollok, amelyekben az egyik fél létrehoz vagy más módon megszerez egy titkot, és biztonságosan továbbítja azt a többi félnek.
A kulcsmegállapodási (kulcscsere) protokollok 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) semmilyen 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. Egy protokoll kulcsfrissítést hajt végre, ha a protokoll teljesen generál új kulcs, amely nem függ a korábbi protokollvégrehajtási munkamenetekben generált kulcsoktól. A protokoll végrehajtja a származékos kulcsok generálását (kulcs származtatásaJ, ha az új kulcs a már meglévő titkosítási rendszer résztvevőitől származik).
A kulcselosztási protokollok más módon is osztályozhatók.
A kulcs-előosztási protokollok olyan kulcselosztási protokollok, amelyekben az eredményül kapott kulcsokat a kezdeti kulcsanyag eleve teljesen meghatározza. A titkos megosztási sémák az ilyen protokollok egy speciális típusának tulajdoníthatók.
A dinamikus kulcs létrehozási protokollok olyan kulcselosztási protokollok, amelyekben a résztvevők rögzített párja (vagy csoportja) által generált kulcsok eltérőek a különböző protokollmunkamenetekben. Ezt a folyamatot szekciókulcs-elosztásnak is nevezik.
A kulcselosztási protokollok aszerint is osztályozhatók, hogy szimmetrikus vagy aszimmetrikus titkosítási sémákat használnak.
Az alábbiakban vizsgált kulcselosztási protokollok besorolása a fent felsorolt ​​kritériumok szerint a táblázatban látható. 2.1.
2.1. táblázat. A kulcselosztási protokollok osztályozása Protokollosztályok Kulcselosztási protokollok Kulcsszállítás Kulcscsere Szimmetrikus titkosítási sémákon alapuló protokollok Needham - Schroeder, Otway - Rees, Kerberos, Shamir háromutas protokollja Sharada Merkle Bpoma séma Titkos megosztási sémák
Protokollosztályok Kulcselosztási protokollok Kulcsszállítás Kulcscsere Aszimmetrikus titkosítási sémákon alapuló protokollok Needham-Schroeder, X.509, Beller-Yacobi, SSL Diffie-Hellman, ElGamal, MTl, STS, Gunther Secret megosztási sémák Dinamikus kulcselosztási protokollok előre megosztott kulcsok
A kulcselosztási protokollok „harmadik fél” részvétele nélkül és annak részvételével is megépíthetők. A megbízható „harmadik fél” különféle funkciókat lát el: hitelesítési szerver, kulcselosztó központ, kulcsfordító központ, hitelesítési központ stb.