Kryptografisk nyckelhantering: generering, lagring och distribution av nycklar. Utveckling och implementering av en matematisk modell av ett tvånycklars kryptosystem Nyckeldistribution

Varje kryptosystem fungerar med kryptografiska nycklar. Om systemet inte implementerar en mekanism för att hantera nyckeldata kommer det inte att vara svårt för en angripare att ta den i besittning. Nyckelhantering involverar procedurer som generering, lagring och distribution av nycklar. Den sista proceduren är den viktigaste.

I ett symmetriskt kryptosystem måste två parter först komma överens om en hemlig sessionsnyckel, nyckeln för att kryptera alla paket. Nyckeln måste vara hemlig och regelbundet uppdaterad för prenumeranter. Ett asymmetriskt kryptosystem innebär användning av två nycklar - privata (hemliga) och offentliga. Den offentliga nyckeln avslöjas. När du vidarebefordrar meddelanden måste du vidarebefordra den offentliga nyckeln, implementera vidarebefordran autentisering.

Nyckeldistributionssystemet måste uppfylla följande krav:

  • integritet och konfidentialitet för distribuerade nycklar
  • effektivitet och noggrannhet i distributionen

Det finns två sätt att distribuera nycklar:

  • användning av nyckeldistributionscentra
  • direkt nyckelutbyte mellan abonnenter

I det första tillvägagångssättet vet nyckeldistributionscentret vilka nycklar som skickades och till vem. I den andra metoden måste du verifiera äktheten av nätverksämnen. Uppgift nyckeldistribution handlar om att skapa en , som implementerar:

  • autentisering av sessionsdeltagare
  • sessionsautentisering
  • implementering av det minsta antalet meddelandeöverföringar under nyckelutbyte

Ett uppenbart exempel på implementering av viktiga distributionscenter är Kerberos-systemet. Här kommer vi att titta på det andra tillvägagångssättet. För denna användning:

  • ett asymmetriskt kryptosystem med publik nyckel för att skydda den privata nyckeln för ett symmetriskt kryptosystem
  • Diffie-Hellman distributionssystem för publika nyckel

Implementering av ett kombineratm

Huvudaspekten med asymmetriska kryptosystem med publik nyckel är deras potentiellt höga säkerhet. Det finns ingen anledning att lämna över nycklarna eller verifiera deras äkthet. Ett sådant system är dock sämre i hastighet jämfört med symmetriska kryptosystem med en hemlig nyckel.

Den kombinerade implementeringen av asymmetrisk och symmetrisk kryptering eliminerar de huvudsakliga nackdelarna som är karakteristiska för enskilda system. Tanken är denna:

  • ett symmetriskt kryptosystem implementeras för att kryptera den ursprungliga texten, och ett asymmetriskt kryptosystem med offentlig nyckel implementeras för att kryptera den hemliga nyckeln för det symmetriska kryptosystemet.

Detta tillvägagångssätt kallas också ett schema elektroniskt digitalt kuvert. Låt oss titta på ett exempel. Användare A vill implementera en hybridkrypteringsmetod för att säkert transportera paket M till användare B. Algoritmen är följande:

  • Användare A:s åtgärder:
    • Skapar (på vilket sätt som helst) en sessionshemlig nyckel K s, som behövs i symmetrisk kryptering för att kryptera paket
    • Krypterar paketet M med en symmetrisk algoritm på sessionens hemliga nyckel Ks
    • Krypterar den hemliga sessionsnyckeln K s med den asymmetriska algoritmen på den publika nyckeln K B för användare B
    • Skickar ett krypterat paket M över en öppen kanal till användare B tillsammans med en krypterad sessionsnyckel Ks
  • Handlingar av användare B (vid mottagandet av ett elektroniskt digitalt kuvert):
    • dekryptera sessionsnyckeln K s med en asymmetrisk algoritm med din hemliga nyckel K B
    • Dekryptera paket M med användning av en symmetrisk algoritm med användning av den dekrypterade nyckeln Ks
    • Användaråtgärder visas i Fig. 1

Bild 1

När du implementerar ett digitalt kuvert kompenseras nackdelarna med de asymmetriska och symmetriska algoritmerna på grund av:

  • problemet med att distribuera nycklar för en symmetrisk kryptoalgoritm elimineras av det faktum att sessionsnyckeln Ks sänds över en öppen kanal i krypterad form med användning av en asymmetrisk kryptoalgoritm
  • Problemet med den asymmetriska algoritmens långsamma hastighet är inte relevant, eftersom endast nyckeln är krypterad och texten är krypterad med en symmetrisk kryptoalgoritm

Om längden på sessionsnyckeln är mindre än längden på den asymmetriska nyckeln kommer angriparen att attackera sessionsnyckeln. Tabell 1 visar förhållandet mellan nyckellängder.

Tabell 1 - Nyckellängder för asymmetriska och symmetriska system med samma kryptografiska styrka

Diffie-Hellman nyckeldistributionsmetod

W. Diffie och M. Hellman skapade metoden för distribution av publika nyckel 1976. Metoden tillåter användare att utbyta nycklar över en osäkrad kommunikationskanal. Dess säkerhet är baserad på svårigheten att beräkna diskreta logaritmer i ett ändligt fält, i motsats till lättheten att lösa det direkta problemet med diskret exponentiering i samma fält. Funktionsdiagrammet för metoden visas i fig. 2.

Figur 2

Användare A och B, när de utbyter data, genererar sina slumpmässiga hemliga nycklar K A och K B (nycklarna är slumpmässiga stora heltal). Användare A och B beräknar sedan de publika nycklarna:

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

N, g är stora heltals primtal. Dessa nummer är inte hemliga och är kända för alla användare av systemet. Användare A och B utbyter sedan nycklar J över en osäker kanal och implementerar dem för att beräkna en delad sessionsnyckel J:

  • användare A: J = (J B) KA (mod N) = (g K B) KA (mod N)
  • användare B: J` = (J A) K B (mod N) = (g K A) K B (mod N)
  • J = J`, eftersom (g K B) KA = (g K A) K B

Tack vare implementeringen av en envägsfunktion är operationen för att beräkna den publika nyckeln oåterkallelig. Diffie-Hellman-algoritmen tillåter att information krypteras med nya nycklar under varje kommunikationssession. Detta ökar säkerheten eftersom det inte finns något behov av att lagra hemligheter på media. En sådan algoritm möjliggör också implementering av en metod för omfattande skydd av konfidentialitet och äkthet för överförda data.

Metod för omfattande skydd av konfidentialitet och äkthet för överförda data

För att samtidigt skydda informationens konfidentialitet och integritet är det tillrådligt att implementera kryptering i ett komplex. Algoritmen fungerar enligt följande:

  • användare A signerar paket M med hjälp av sin privata nyckel KA, och implementerar en standard digital signaturalgoritm
  • användare A beräknar den delade hemliga nyckeln K med hjälp av Diffie-Hellman-principen från sin publika nyckel och användare B:s publika nyckel
  • användare A krypterar paket M med hjälp av delad hemlig nyckel K med symmetrisk kryptering
  • användare B tar emot paket M, beräknar den delade nyckeln K och dekrypterar paket M
  • användare B verifierar signaturen för det dekrypterade paketet M med hjälp av den publika nyckeln för användare KA

SKIP- och IKE-kryptefungerar baserat på Diffie-Hellman-algoritmen.

Elliptiska kurvor är ett matematiskt objekt som kan definieras över vilket fält som helst (ändligt, reellt, rationellt eller komplext). Inom kryptografi används vanligtvis slutfält. En elliptisk kurva är en uppsättning punkter (x, y), som uppfyller följande ekvation:

y 2 = x 3 + ax + b,

och även punkten i oändligheten. För punkter på en kurva är additionsoperationen ganska lätt att introducera, vilket spelar samma roll som multiplikationsoperationen i RSA och ElGamal kryptosystem.

I verkliga kryptosystem baserade på elliptiska ekvationer används ekvationen

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

Var R- enkelt.

Det diskreta logaritmproblemet på en elliptisk kurva är som följer: ges en punkt G på en elliptisk kurva av ordningen r (antalet punkter på kurvan) och ytterligare en punkt Y på samma kurva. Vi måste hitta en enda punkt x så att Y = x G, det vill säga Y är X- grad G.

Offentlig nyckeldistribution

Hittills har fördelarna med krypteringsmetoder för offentliga nyckel inte varit uppenbara. På grundval av dessa är det emellertid lätt att lösa problemet med att utveckla en delad hemlig nyckel för en kommunikationssession för vilket par användare som helst av ett informationssystem. Redan 1976 föreslog Diffie och Hellman ett distributionsprotokoll för offentliga nyckel för detta ändamål. Det innebär att varje par av kommunicerande användare självständigt genererar sitt eget slumptal, konverterar det genom någon procedur, utbyter de konverterade talen över en öppen kommunikationskanal och beräknar en delad hemlig nyckel baserat på information som mottagits från partnern under kommunikationsprocessen. Varje sådan nyckel existerar endast under en kommunikationssession eller till och med en del av den. Sålunda tillåter öppen nyckeldistribution varje par systemanvändare att utveckla sin egen delade hemliga nyckel, vilket förenklar proceduren för att distribuera hemliga nycklar. Även om allt inte är så enkelt - frånvaron av en fördistribuerad delad hemlig nyckel för abonnenter före en kommunikationssession ger dem i princip inte möjlighet att verifiera varandras äkthet genom att utbyta meddelanden över en öppen kanal. Du kan till exempel skicka nycklar med ElGamal-algoritmen som beskrivs ovan som modifierad av Shamir, men hur kan du vara säker på att du har att göra med en partner och inte en interceptor? För att bekräfta äktheten måste varje deltagare i ett hemligt nätverk fortfarande ha sin egen hemliga nyckel, endast känd för honom och som skiljer honom från alla andra abonnenter. I det här fallet kommer Diffie-Hellman-algoritmen att tillhandahålla en sådan procedur för att presentera ett lösenord att dess upprepade användning inte minskar tillförlitligheten av bevis på ägarens äkthet. Som ett resultat separeras de två funktionerna hos en delad hemlig nyckel, vanligtvis levererad över en hemlig kanal, såsom att skydda information i kommunikationskanalen från en tredje part och bekräfta äktheten för varje abonnent hos en partner.

Diffie-Hellmans offentliga nyckeldistributionsalgoritm ser ut så här:

    Låt det finnas två abonnenter på ett öppet nätverk A Och B, som känner till det publika nyckelparet R Och d. Dessutom kl A har en hemlig nyckel X från intervallet (1, n), och B har en hemlig nyckel y från samma intervall.

    Abonnent A skickar Bx mod sid, och abonnenten B skickar A kryptering av din nyckel Z"=D** y mod sid.

    Efter detta beräknar de den gemensamma nyckeln Z som Z=Z"** y=Z""** x.

Med hjälp av speciella tekniker kan tiden för att generera en publik nyckel i Diffie-Hellman-systemet minskas med 5 gånger jämfört med ElGamal-systemet som modifierats av Shamir, och med 30 gånger jämfört med RSA på samma säkerhetsnivå. Detta, ur de flesta praktiska tillämpningars synvinkel, visar sig vara en märkbar fördel, eftersom kryptering och dekryptering med RSA-algoritmen är ungefär tusen gånger långsammare än klassiska algoritmer som DES. Observera att för många tillämpningar av kryptografiska system med offentlig nyckel är beräkningstiden för kryptografiska transformationer inte av stor betydelse. Till exempel, när du identifierar användare som använder kreditkort, kommer det inte att göra någon skillnad om det kräver en mikrosekund eller en sekund. Detsamma gäller valet av en gemensam krypteringsnyckel för ett annat, snabbare, men inte kapabelt kryptografiskt nyckelutbytessystem.

Behovet i distributionssystem med öppna nyckel av att ha individuella hemliga lösenord distribuerade i förväg från centrum för att bekräfta användarnas äkthet verkar inte vara en så betungande uppgift som produktion och distribution från centrum av par av hemliga nycklar för kommunikation mellan abonnenter . Giltighetsperioden för ett sådant lösenord kan vara betydligt längre än giltighetsperioden för kommunikationsnyckeln, säg ett år, och deras totala antal i kommunikationsnätverket är lika med antalet abonnenter. Dessutom, med vissa typer av kommunikation, kan bekräftelse av partnerns äkthet uppnås genom att känna igen honom genom fysiska egenskaper. Till exempel med röst under telefonkommunikation eller genom utseende och röst när man kommunicerar via tv-kanaler. Det bör noteras att distributionen av nycklar med användning av kryptografiska system med publik nyckel har den enda fördelen - behovet av att endast ha en nyckel vid varje hemlig kommunikationsnod. För klassiska symmetriska kryptografiska system bör det finnas lika många nycklar som det finns abonnenter på noden. System med offentliga nyckel har dock svagheter. Så om det är fundamentalt omöjligt att bryta en kryptering som innehåller en nyckel i ett klassiskt system, eftersom klartexten är meningslös och inte innehåller redundant information, så har kryptoanalytikern alltid hopp om framgång i system med en offentlig nyckel. Vidare, om talet D är gemensamt för alla nätverksdeltagare, kommer dess kompromiss, i form av upptäckten av speciella egenskaper som underlättar logaritmisering, att leda till kompromiss av hela nätverket. Om D är individuellt för varje abonnentpar är det för det första, på grund av överflöd av nycklar, lättare att hitta en svag bland dem, och för det andra, även om det är ojämförligt enklare att skicka och lagra oklassificerade nycklar än hemliga. orsakar också mycket problem. Därför, om en kryptograf har möjlighet att använda tjänsterna från en hemlig kanal, kommer han alltid att föredra det framför offentlig nyckeldistribution.

Av de praktiskt fungerande kommunikationsnätverk som använder ett distributionssystem för publika nyckel är det mest skyddade det amerikanska statliga telefonnätet baserat på STU-III-enheter. Det började fungera 1987 och har nu mer än 150 tusen prenumeranter. I Ryssland är ett liknande nätverk, även kallat ATS-1 eller "skivspelare", också tillförlitligt skyddat, men det finns hundratals gånger färre abonnenter där. I början av åttiotalet hade kryptologer förstått fördelarna med så kallade hybridsystem, där krypteringsprocedurer för offentliga nycklar endast används för att överföra nycklar och digitala signaturer. Och informationen som behöver överföras skyddas av en klassisk algoritm som DES, vars nyckel överförs med kryptering av offentlig nyckel. Den första seriella enheten av denna typ var Datacryptor från Racal-Milgo, som släpptes 1979. Datacryptors krär främst designad för statliga kommunikationsnätverk och är certifierad för att följa den engelska standarden för skydd av icke-känslig men känslig information. Den ger larm om brott mot kryptografiska krav och felmeddelanden. Den här enheten använder en algoritm för att etablera krypterad kommunikation genom att generera och överföra en delad hemlig nyckel med hjälp av RSA-algoritmen. Därefter producerades många enheter av denna typ för att skydda information. Andra exempel på användningen av nya kryptografiska idéer visas av många kommersiella nätverk, särskilt banknätverk som SWIFT. Dessutom används RSA:s digitala signatursystem i verifieringsutrustningen för kärnprovsbegränsningsfördraget utvecklad av Sandia Laboratories 1982, BPMIS-nätverket och andra system.

Nyckeldistribution är den mest kritiska processen inom nyckelhantering. Det finns två krav för det:

1. Effektivitet och noggrannhet i distributionen

2. Sekretess för utdelade nycklar.

Nyligen har det skett en märkbar förändring mot användningen av kryptosystem för publika nyckel, där problemet med nyckeldistribution elimineras. Ändå kräver distributionen av nyckelinformation i informationssystem nya effektiva lösningar.

Fördelning av nycklar mellan användare implementeras på två olika sätt:

1. Genom att skapa ett eller flera viktiga distributionscenter. Nackdelen med detta tillvägagångssätt är att distributionscentralen vet vem som är tilldelad vilka nycklar och detta gör det möjligt att läsa alla meddelanden som cirkulerar i IS. Eventuella övergrepp har en betydande inverkan på skyddet.

2.Direkt utbyte av nycklar mellan användare av informationssystemet.

Utmaningen är då att på ett tillförlitligt sätt autentisera ämnena.

I båda fallen måste kommunikationssessionens äkthet garanteras. Detta kan uppnås på två sätt:

1. Mekanismen för begäran-svar, som består av följande. Om användare A vill vara säker på att meddelandena han får från B inte är falska, inkluderar han ett oförutsägbart element (begäran) i meddelandet han skickar till B. När du svarar måste användare B utföra någon operation på detta element (till exempel lägg till 1). Detta kan inte göras i förväg, eftersom det inte är känt vilket slumptal som kommer i förfrågan. Efter att ha fått ett svar med resultatet av åtgärderna kan Användare A vara säker på att sessionen är äkta. Nackdelen med denna metod är möjligheten att etablera ett om än komplext mönster mellan begäran och svaret.

2. Tidstämpelmekanism ("tidsstämpel"). Det handlar om att registrera tiden för varje meddelande. I det här fallet kan varje IS-användare veta hur "gammalt" det inkommande meddelandet är.

I båda fallen bör kryptering användas för att säkerställa att svaret inte skickades av en angripare och att tidsstämpeln inte har ändrats.

När du använder tidsstämplar finns det ett problem med det acceptabla fördröjningstidsintervallet för att verifiera en sessions äkthet. När allt kommer omkring kan ett meddelande med en "tidsstämpel" i princip inte överföras direkt. Dessutom kan mottagarens och avsändarens datorklockor inte synkroniseras absolut. Vilken fördröjning av "stämpeln" anses vara misstänkt?

Därför är det i verkliga informationssystem, till exempel i kreditkortsbetalningssystem, den andra mekanismen för att fastställa äkthet och skydda mot förfalskning som används. Intervallet som används är från en till flera minuter. Ett stort antal kända metoder för att stjäla elektroniska pengar är baserade på att "kila" in i denna lucka med falska förfrågningar om att ta ut pengar.

Offentliga nyckelkryptosystem kan användas för att utbyta nycklar med samma RSA-algoritm, men Diffie-Hellman-algoritmen har visat sig vara mycket effektiv, vilket gör att två användare kan utbyta en nyckel utan mellanhänder, som sedan kan användas för symmetrisk kryptering. Trots enkelheten hos Diffie-Hellman-algoritmen är dess nackdel jämfört med RSA-systemet bristen på en garanterad nedre gräns för komplexiteten i nyckelupptäckt.

Dessutom, även om den beskrivna algoritmen kringgår problemet med dold nyckelöverföring, kvarstår behovet av autentisering. Utan ytterligare medel kan en av användarna inte vara säker på att han bytt nycklar med exakt den användare han behöver. Faran för imitation kvarstår i detta fall.

Originallösningar på problemet med "vandrande nycklar" utvecklas aktivt av specialister. Dessa system är en kompromiss mellan system med offentliga nyckel och konventionella algoritmer, som kräver att avsändaren och mottagaren har samma nyckel.

Tanken med metoden är ganska enkel. Efter att nyckeln har använts i en session, enligt någon regel, ersätts den av en annan.

Denna regel måste vara känd för både avsändaren och mottagaren. Genom att känna till regeln, efter att ha tagit emot nästa meddelande, ändrar mottagaren också nyckeln. Om regeln för att byta nycklar följs noggrant av både avsändaren och mottagaren, så har de vid varje tidpunkt samma nyckel. Att ständigt byta nyckel gör det svårt för en angripare att avslöja information.

Huvuduppgiften för att implementera denna metod är att välja en effektiv nyckeländringsregel. Det enklaste sättet är att skapa en slumpmässig lista med nycklar. Nycklar ändras i listordning. Men uppenbarligen måste listan överföras på något sätt.

Ett annat alternativ är att använda matematiska algoritmer baserade på så kallade iterativa sekvenser. På en uppsättning nycklar producerar samma operation på ett element ett annat element. Sekvensen av dessa operationer gör att du kan flytta från ett element till ett annat tills hela uppsättningen har itererats.

Det mest tillgängliga är användningen av Galois-fält. Genom att höja det genererande elementet till en effekt kan du sekventiellt flytta från ett nummer till ett annat. Dessa nummer accepteras som nycklar.

Nyckelinformationen i detta fall är källelementet, som måste vara känt för både avsändaren och mottagaren innan kommunikationen påbörjas.

Tillförlitligheten hos sådana metoder måste säkerställas med hänsyn till angriparens kunskap om nyckeländringsregeln som används.

Nyckeldistributionsprotokoll Ett nyckeletableringsprotokoll är ett kryptografiskt protokoll där en delad hemlighet blir tillgänglig för två eller flera parter för efterföljande användning för kryptografiska ändamål.

Nyckeldistributionsprotokoll är indelade i två klasser:

    Viktiga transportprotokoll;

    Nyckelutbytesprotokoll.

Viktiga transportprotokoll(nyckeltransport) är nyckeldistributionsprotokoll där en deltagare skapar eller på annat sätt förvärvar en hemlighet och överför den på ett säkert sätt till andra deltagare.

Nyckelutbytesprotokoll(nyckelöverenskommelse, nyckelutbyte) är nyckeldistributionsprotokoll där en delad hemlighet utarbetas av två eller flera deltagare som en funktion av informationen som bidrar med (eller associeras med) var och en av dem på ett sådant sätt att (helst) ingen annan part kan förutbestämma sin gemensamma hemlighet.

Det finns ytterligare två former av nyckeldistributionsprotokoll. Ett protokoll sägs utföra en nyckeluppdatering om protokollet genererar en helt ny nyckel som är oberoende av nycklarna som genererats i tidigare sessioner av protokollet. Protokollet genererar derivatnycklar (nyckelhärledning) om en ny nyckel "härleder" från de som redan finns bland deltagarna i kryptosystemet.

Huvudegenskaperna för nyckeldistributionsprotokoll inkluderar egenskaperna för nyckelautentisering, nyckelbekräftelse och explicit nyckelautentisering.

(Implicit) nyckelautentisering(implicit nyckelautentisering) - en egenskap genom vilken en deltagare i ett protokoll säkerställer att ingen annan part än en specifikt identifierad andra deltagare i protokollet (och möjligen en förtroendemyndighet) kan komma åt de hemliga nycklarna som erhålls i protokollet. Det finns ingen garanti för att den andra deltagaren faktiskt fick tillgång till nyckeln, men ingen annan än han kunde få den. Implicit nyckelautentisering är oberoende av den andra partens faktiska ägande av nyckeln och kräver ingen åtgärd från den andra parten.

Nyckelbekräftelse(nyckelbekräftelse) - en egenskap genom vilken en deltagare i protokollet är övertygad om att en annan deltagare (eventuellt oidentifierad) faktiskt har de hemliga nycklarna som erhållits i protokollet.

Explicit nyckelautentisering(explicit nyckelautentisering) - en egenskap som exekveras när (implicit) nyckelautentisering och nyckelbekräftelse sker samtidigt.

    1. Needham-Schroeder-protokoll på symmetriska nycklar

Detta protokoll ligger till grund för ett stort antal nyckeldistributionsprotokoll som använder betrodda centra. Det finns två typer av detta protokoll:

    Needham-Schroeder-protokoll på symmetriska nycklar;

    Needham-Schroeder-protokoll på asymmetriska nycklar.

Det symmetriska nyckelprotokollet fungerar enligt följande:

Förstadium:

Med traditionell kryptering måste båda parter som är inblandade i datautbytet få samma nyckel, som andra användare nekas åtkomst till. Detta kräver vanligtvis frekventa byten av nycklar för att minska mängden data som går förlorade i händelse av att en av nycklarna blir känd för fienden.

Därför beror tillförlitligheten hos alla kryptografiska system till stor del på nyckeldistributionssystem, som är ett sätt att leverera nycklar till två parter som planerar att utbyta data utan att låta andra se dessa nycklar.

För två sidor, A och I, Som anges nedan kan nyckeldistribution organiseras på olika sätt:

  • 1. Nyckeln kan väljas av part A och fysiskt levereras till part I.
  • 2. Nyckeln kan väljas av en tredje part och fysiskt levereras till deltagare A och I.
  • 3. Om utbytesdeltagare A och I redan använder någon delad nyckel, kan en av parterna överföra den nya nyckeln till den andra parten i krypterad form med den gamla nyckeln.
  • 4. Om båda sidorna A och I har kryptografiskt säkra kommunikationskanaler med en tredje part C, då kan den senare leverera nyckeln till deltagare A och I genom dessa säkra kanaler.

Alternativ 1 och 2 innebär att nyckeln överförs från hand till hand. Med kanalkryptering kan detta krav vara ganska rimligt, eftersom vilken kanalkrypteringsenhet som helst involverar utbyte av data endast med motsvarande enhet i den andra änden av kanalen.

Men i fallet med end-to-end-kryptering är fysisk leverans av nyckeln praktiskt taget oacceptabel. I vilket distribuerat system som helst kan varje masternod eller terminal delta i kommunikation med många andra masternoder och terminaler. Därför kommer varje sådan enhet att kräva många nycklar, som måste levereras dynamiskt. Problemet visar sig vara mycket svårt att lösa, särskilt när det gäller stora, globalt distribuerade system.

Omfattningen av problemet beror på antalet kontaktpar som måste servas. Om end-to-end-kryptering implementeras på nätverks- eller IP-nivå, kommer en nyckel att krävas för varje par masternoder på nätverket som kommunicerar. Därför, om det finns N ledande noder kommer antalet nödvändiga nycklar att vara lika med / 2. Om kryptering utförs på applikationsnivå, kommer varje par användare eller processer som kommunicerar att behöva sin egen nyckel. I det här fallet kan nätverket ha hundratals ledande noder och tusentals användare och processer. I fig. 6.2 för fallet med end-to-end-kryptering visar beroendet av komplexiteten i nyckeldistributionsproblemet på antalet par som deltar i datautbytet. Till exempel, på ett nätverk med 1 000 noder där kryptering görs på nodnivå, skulle du sannolikt behöva distribuera cirka en halv miljon nycklar. Och om ett sådant nätverk stöder cirka 10 000 applikationer, kan kryptering på applikationsnivå kräva distribution av cirka 50 miljoner nycklar.

Ris. 6.2.

För att återgå till listan över nyckeldistributionsmetoder, noterar vi att metod 3 är möjlig både för fallet med kanalkryptering och för end-to-end-kryptering, men om motståndaren någonsin lyckas få tillgång till en av nycklarna, kommer han att kunna erhålla alla efterföljande. Dessutom måste den initiala distributionen av potentiellt miljontals nycklar fortfarande slutföras.

För end-to-end-kryptering används i stor utsträckning ett schema som är någon variant av metod 4. I detta schema är något nyckeldistributionscenter ansvarigt för att leverera nycklar till par av användare (masternoder, processer, applikationer). Varje användare måste få sin egen unika nyckel, som han använder tillsammans med nyckeldistributionscentralen för att organisera nyckelleveransen.

Ris. 6.3.

Att använda ett nyckeldistributionscenter innebär att organisera en viss hierarki av nycklar. I en minimal konfiguration innefattar en sådan hierarki två nivåer (Fig. 6.3). Kommunikation mellan slutsystem krypteras med hjälp av en temporär nyckel, ofta kallad sessionsnyckel. Vanligtvis används en sessionsnyckel endast för en specifik logisk anslutning, såsom en virtuell krets, eller för att transportera data, varefter nyckeln inte längre används. Sessionsnyckeln erhålls från nyckeldistributionscentret med användning av samma sätt för dataleverans på nätverket som tjänar till att organisera kommunikation mellan slutanvändare. Följaktligen sänds sessionsnycklar i krypterad form, och huvudnyckeln, gemensam för nyckeldistributionscentret och det givna slutsystemet eller specifika användaren, används för kryptering.

En unik huvudnyckel skapas för varje slutsystem eller slutanvändare och delas med ett nyckeldistributionscenter. Naturligtvis måste dessa huvudnycklar också distribueras på något sätt. Detta problem är dock mycket enklare i komplexitet. Som nämnts kräver N objekt som kommunicerar i par /2 sessionsnycklar. Och endast N huvudnycklar krävs, en för varje objekt. Därför kan huvudnycklar distribueras på något icke-kryptografiskt sätt, såsom genom fysisk leverans till mottagaren.

Nyckeldistribution kan implementeras på olika sätt. Ett typiskt scenario visas i fig. 6.4. Det här scenariot förutsätter att varje användare har en unik huvudnyckel som delas med ett nyckeldistributionscenter (KDC).

Låt oss anta att användare A har för avsikt att skapa en logisk koppling med användare B, och för att skydda de data som ska överföras under denna anslutning krävs en engångssessionsnyckel.

I detta fall har användare A en hemlig nyckel Ka, känd endast för honom och DRC, och på samma sätt använder B huvudnyckeln Kc, gemensam med DRC.

Systemet för informationsutbyte ser ut så här:

  • 1. Initiator A skickar en begäran till DRC om att erhålla en sessionsnyckel för att skydda den logiska förbindelsen med B. Meddelandet som skickas i detta fall måste innehålla information som gör att man kan identifiera A och B unikt, samt någon identifierare N1, unik för denna begäran, vanligtvis kallad möjlighet (popse - given case, given time (engelska)). Sådana identifierare kan vara aktuell tid, någon räknare eller ett slumptal - åtminstone måste denna identifierare vara unik för varje begäran. Dessutom, för att förhindra att motståndaren förfalskar meddelandet, borde det vara svårt för motståndaren att gissa denna identifierare. Därför kan ett slumptal anses vara ett bra val för en möjlighet.
  • 2. CRC:n svarar på begäran med ett meddelande krypterat med hjälp av Ka-nyckeln. Den enda användare som kan ta emot och läsa detta meddelande är A, och därför kan A vara säker på att detta meddelande kom från CRC. Meddelandet innehåller två element avsedda för A:
    • - engångssessionsnyckel Ks, som kommer att användas i kommunikationssessionen;
    • - det ursprungliga begärandemeddelandet, inklusive möjligheten, så att användare A har möjlighet att matcha svaret med motsvarande begäran.
  • 3. På detta sätt kan A försäkra sig om att hans ursprungliga begäran inte ändrades på vägen till CRC, och möjligheten kommer inte att tillåta honom att blanda ihop svaret på denna begäran med svaret på någon av de tidigare förfrågningarna.

Ris. 6.4.

  • 1. Dessutom innehåller meddelandet även två delar avsedda för I:
    • - engångssessionsnyckel K. y, som kommer att användas i kommunikationssessionen;
    • - identifierare GO A för användare A (till exempel hans nätverksadress).
  • 2. Båda elementen krypteras med nyckeln K b(huvudnyckeln som används gemensamt av TsK och I), och det är meningen att de ska skickas i efterhand I, för att upprätta en anslutning och identifiera A.
  • 3. Part A sparar sessionsnyckeln för den kommande kommunikationssessionen och vidarebefordrar den till parten I information som erhållits från CRC och avsedd för I(nämligen information Ek[K L ||GO A ]). Eftersom denna information är krypterad med K b, hon finner sig skyddad. Nu mottagaren I känner till sessionsnyckeln (Ks) och vet att den mottagna informationen kom från DRC (eftersom denna information är krypterad med nyckeln Kb).

Vid denna tidpunkt har sessionsnyckeln levererats till både part A och part I, och så att de kan börja utbyta data säkert. Men innan dess är det lämpligt att utföra ytterligare två operationer.

  • 1. Använda den nyligen mottagna sessionsnyckeln K för kryptering, parten I skickar part A en ny möjlighet L/
  • 2. Använd samma tangent K s, sida A återvänder /(N2 ), där / är en funktion som utför någon transformation N2 (till exempel lägga till en).

Dessa åtgärder är avsedda att övertyga mottagaren Iär att meddelandet han ursprungligen fick (klausul 3) inte återgavs.

Det bör noteras att själva nyckelöverföringsprocessen faktiskt utförs i steg 1-3, och steg 4 och 5, såväl som delvis steg 3, är utformade för att tillhandahålla en autentiseringsfunktion.