Kitas būdas, dažnai naudojamas raktų informacijai saugoti, yra raktų šifravimas ir saugojimas šifruota forma. Be to, šis metodas dažnai naudojamas pagrindinei informacijai platinti kriptografiniuose tinkluose.

Būtinybė saugoti ir perduoti pagrindinę informaciją, užšifruotą kitais raktais, paskatino koncepcijos kūrimą pagrindinių hierarchijų.

Pagrindinės informacijos hierarchija gali apimti daug lygių, tačiau dažniausiai išskiriami šie:

pagrindiniai raktai (pagrindiniai raktai),

raktų šifravimo raktai,

darbo raktai (sesija).

Seanso raktai yra žemiausio lygio ir naudojami duomenims užšifruoti. Kai šiuos raktus reikia saugiai perkelti tarp tinklo mazgų arba saugiai saugoti, jie užšifruojami naudojant kito lygio raktus. raktų šifravimo raktai.

Viršutiniame raktų hierarchijos lygyje yra pagrindinis raktas. Šis raktas naudojamas šifravimo raktams užšifruoti, kai reikia juos saugiai laikyti diske. Paprastai kiekviename kompiuteryje naudojamas tik vienas pagrindinis raktas, kuris yra išorinėje laikmenoje, paprastai apsaugotoje nuo neteisėtos prieigos.

Pagrindinio rakto reikšmė fiksuojama ilgam laikui (iki kelių savaičių ar mėnesių). Seanso raktai keičiasi daug dažniau, pavyzdžiui, statant kriptografiškai saugius tunelius, jie gali būti keičiami kas 10-15 minučių arba pagal tam tikro srauto kiekio (pavyzdžiui, 1 Mb) šifravimo rezultatus.

Raktų paskirstymas yra labai atsakingas raktų valdymo procesas. Vienas iš pagrindinių šio proceso įgyvendinimo reikalavimų yra paskirstytos pagrindinės informacijos slėpimas.

Raktų paskirstymo problema sumažinama iki raktų paskirstymo protokolo, kuris suteikia:

1) abipusis sesijos dalyvių autentifikavimas;

2) seanso patvirtinimas, siekiant apsisaugoti nuo atakų

pasikartojimai;

3) minimalaus pranešimų skaičiaus naudojimas keičiantis raktais.

Apskritai, yra du pagrindiniai informacijos platinimo būdai kompiuterinis tinklas:

1. Pagrindinės informacijos paskirstymas naudojant vieną

arba keli raktų paskirstymo centrai.

2. Tiesioginis keitimasis sesijos raktais tarp vartotojų.

Pagrindinės informacijos platinimas naudojant raktų paskirstymo centrus

Šis metodas daro prielaidą, kad raktų paskirstymo centras žino raktus, kuriuos reikia platinti, todėl visi pagrindinės informacijos gavėjai turi pasitikėti raktų paskirstymo centru.

Orumas šis požiūris yra galimybė centralizuotai valdyti pagrindinės informacijos paskirstymą ir netgi nuotolinių subjektų prieigos kontrolės politiką.


Šis metodas įgyvendintas Needham-Schroeder protokole ir juo pagrįstame Kerberos autentifikavimo protokole. Šiuose protokoluose pagrindinės informacijos paskirstymas ir prieigos kontrolė grindžiama raktų paskirstymo centro kredencialų išdavimu. Šių protokolų naudojimas leidžia saugiai paskirstyti seanso raktus net abipusio nepasitikėjimo abiem sąveikaujančiomis šalimis atveju.

Tiesioginis keitimasis sesijos raktais tarp vartotojų

Kad būtų galima naudoti kriptosistemą su slaptu raktu saugiam informacijos mainams tarp priešingų šalių, sąveikaujančios šalys turi sukurti bendrą paslaptį, kurios pagrindu jos galėtų saugiai užšifruoti informaciją arba saugiai generuoti ir keistis seanso raktais. Pirmuoju atveju bendra paslaptis yra seanso raktas, antruoju atveju pagrindinis raktas. Bet kuriuo atveju užpuolikas neturėtų turėti galimybę pasiklausyti ryšio kanalo, kad gautų šią paslaptį.

Yra du pagrindiniai būdai, kaip išspręsti bendros paslapties generavimo problemą neatskleidžiant jos užpuolikui:

viešojo rakto kriptosistemos naudojimas šifravimui;

· Diffie-Hellman raktų atviro paskirstymo protokolo naudojimas.

Pirmojo metodo įgyvendinimas neturėtų kelti klausimų. Išsamiau apsvarstykime antrojo metodo įgyvendinimą.

Diffie-Hellman protokolas

Diffie-Hellman protokolas buvo pirmasis viešojo rakto algoritmas (1976). Šio protokolo saugumas pagrįstas diskrečiųjų logaritmų skaičiavimo sunkumais.

Leiskite A ir B naudotojams išsiaiškinti bendrą paslaptį. Norėdami tai padaryti, jie atlieka šiuos veiksmus.

A ir B šalys susitaria dėl naudojamo modulio N, taip pat primityvus elementas g, kurių laipsniai sudaro skaičius nuo 1 iki N-1.

1. Skaičiai N ir g yra vieši protokolo elementai.

2. Vartotojai A ir B savarankiškai pasirenka savo slaptus CK A ir CK B raktus (atsitiktiniai dideli sveikieji skaičiai, mažesni N laikomas paslaptyje).

3. Vartotojai A ir B apskaičiuoja OK A ir OK B viešuosius raktus pagal atitinkamus slaptuosius raktus, naudodami šias formules:

4. Šalys A ir B keičiasi viešojo rakto reikšmėmis nesaugiu kanalu.

5. Vartotojai A ir B sudaro bendrą paslaptį K pagal formules:

Vartotojas A:

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

Vartotojas B:

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

Raktas K gali būti naudojamas kaip bendras slaptasis raktas (pagrindinis raktas) simetrinėje kriptosistemoje.

6.2 pavyzdys.

Paimkime modulį N= 47 ir primityvusis elementas g= 23. Leiskite vartotojams A ir B pasirinko savo slaptus raktus CK A = 12, CK B = 33. Tada,

Šiuo atveju bendra paslaptis atrodys taip:

Diffie-Hellman viešojo rakto paskirstymo algoritmas pašalina saugaus rakto perdavimo kanalo poreikį. Tačiau reikalinga garantija, kurią gavėjas gavo viešasis raktas iš siuntėjo, iš kurio jis to tikisi. Ši problema išspręsta skaitmeninių sertifikatų ir skaitmeninio parašo technologijos pagalba.

Diffie-Hellman protokolas buvo veiksmingai pritaikytas protokole PRALEISTI raktų valdymas. Šis protokolas naudojamas statant kriptovaliutų apsaugotus tunelius ZASTAVA produktų šeimoje.

Raktų valdymas

Be kriptografinės sistemos pasirinkimo, tinkamos konkrečiam IC, svarbus klausimas yra raktų valdymas. Kad ir kokia sudėtinga ir saugi būtų pati kriptosistema, ji pagrįsta raktų naudojimu. Jei siekiant užtikrinti konfidencialų keitimąsi informacija tarp dviejų vartotojų, raktų keitimosi procesas yra trivialus, tai IS, kur vartotojų skaičius yra dešimtys ir šimtai, raktų valdymas yra rimta problema.

Pagal pagrindinė informacija suprantama kaip visų aktyvių IS raktų visuma. Jei nepateikiama pakankamai patikima pagrindinės informacijos kontrolė, ją užvaldęs užpuolikas gauna neribotą prieigą prie visos informacijos.

Raktų valdymas- informacijos procesas, kurį sudaro trys elementai:

* raktų generavimas;

* raktų kaupimas;

* raktų paskirstymas.

Pasvarstykime, kaip juos reikėtų įgyvendinti, kad būtų užtikrintas pagrindinės informacijos IS saugumas.

Raktų generavimas

Pačioje pokalbio apie kriptografinius metodus pradžioje buvo pasakyta, kad nereikėtų naudoti neatsitiktinių raktų, kad juos būtų lengva įsiminti. Rimti IC naudoja specialius techninės ir programinės įrangos metodus atsitiktiniams raktams generuoti. Paprastai naudojami PSC jutikliai. Tačiau jų kartos atsitiktinumo laipsnis turėtų būti gana didelis. Idealūs generatoriai yra įrenginiai, pagrįsti „natūraliais“ atsitiktiniais procesais. Pavyzdžiui, serijiniai raktų generavimo pavyzdžiai, pagrįsti baltas radijo triukšmas. Kitas atsitiktinis matematinis objektas yra neracionaliųjų skaičių po kableliai, pavyzdžiui, arba e, kurie apskaičiuojami naudojant standartinius matematinius metodus.

Vidutinių saugumo reikalavimų IS yra gana priimtini programinės įrangos raktų generatoriai, kurie apskaičiuoja PRNG kaip sudėtingą esamo laiko ir (arba) vartotojo įvesto skaičiaus funkciją.

Raktų kaupimas

Pagal raktų kaupimas nurodo jų saugojimo, apskaitos ir išvežimo organizavimą.

Kadangi užpuolikui raktas yra patraukliausias objektas, atveriantis jam kelią į konfidencialią informaciją, ypatingas dėmesys turėtų būti skiriamas raktų kaupimo klausimams.

Slapti raktai niekada neturėtų būti aiškiai parašyti laikmenoje, kurią galima nuskaityti ar kopijuoti.

Gana sudėtingoje IS vienas vartotojas gali dirbti su dideliu pagrindinės informacijos kiekiu, o kartais net prireikia tvarkyti mini duomenų bazes pagal pagrindinę informaciją. Tokios duomenų bazės yra atsakingos už panaudotų raktų priėmimą, saugojimą, apskaitą ir ištrynimą.

Taigi, kiekviena informacija apie naudojamus raktus turi būti saugoma užšifruota forma. Raktai, užšifruojantys rakto informaciją, yra vadinami pagrindiniai raktai. Pageidautina, kad kiekvienas vartotojas atmintinai žinotų pagrindinius raktus ir iš viso jų nesaugotų jokioje laikmenoje.

Labai svarbi informacijos saugumo sąlyga yra periodiškas pagrindinės informacijos atnaujinimas IS. Tokiu atveju ir įprasti raktai, ir pagrindiniai raktai turėtų būti priskirti iš naujo. Ypač atsakingoje IS pagrindinę informaciją pageidautina atnaujinti kasdien.

Pagrindinės informacijos atnaujinimo klausimas yra susijęs ir su trečiuoju raktų valdymo elementu – raktų paskirstymu.

Raktų paskirstymas

Raktų paskirstymas yra pats svarbiausias raktų valdymo procesas. Jam keliami du reikalavimai:
  1. Paskirstymo efektyvumas ir tikslumas
  2. Paskirstytų raktų slaptumas.
Pastaruoju metu pastebimas poslinkis prie viešojo rakto kriptosistemų naudojimo, kai išnyksta raktų paskirstymo problema. Nepaisant to, pagrindinės informacijos platinimas IS reikalauja naujų veiksmingų sprendimų.

Raktų paskirstymas tarp vartotojų įgyvendinamas dviem skirtingais būdais:

  1. Sukūrus vieną ar daugiau pagrindinių paskirstymo centrų.Šio metodo trūkumas yra tas, kad paskirstymo centras žino, kam ir kokie raktai yra priskirti, ir tai leidžia perskaityti visus IS cirkuliuojančius pranešimus. Galimas piktnaudžiavimas labai paveikia apsaugą.
  2. Tiesioginis raktų keitimas tarp informacinės sistemos vartotojų.
Šiuo atveju problema yra patikimai nustatyti subjektų autentiškumą.

Abiem atvejais turi būti garantuotas bendravimo seanso autentiškumas. Tai galima pateikti dviem būdais:

  1. Prašymo-atsakymo mechanizmas, kurį sudaro toliau nurodyta. Jei vartotojas A nori būti tikras, kad pranešimai, kuriuos jis gauna iš B, nėra klaidingi, jis į B siunčiamą pranešimą įtraukia nenuspėjamą elementą (užklausą). Atsakydamas vartotojas B turi atlikti tam tikrą operaciją su šiuo elementu (pavyzdžiui, pridėti 1). To negalima padaryti iš anksto, nes nežinoma, koks atsitiktinis skaičius bus pateiktas užklausoje. Gavęs atsakymą su veiksmų rezultatais, vartotojas A gali būti tikras, kad sesija yra autentiška. Šio metodo trūkumas yra galimybė sukurti, nors ir sudėtingą, modelį tarp užklausos ir atsakymo.
  2. Laiko žymos mechanizmas („timestamp“). Tai reiškia, kad reikia nustatyti kiekvieno pranešimo laiką. Tokiu atveju kiekvienas IS vartotojas gali žinoti, kiek „senas“ yra gaunamas pranešimas.
Abiem atvejais turėtų būti naudojamas šifravimas, siekiant užtikrinti, kad atsakymas nebuvo išsiųstas užpuoliko ir nepakeista laiko žyma.

Naudojant laiko žymes, kyla problemų dėl seanso autentifikavimo leistino delsos laiko intervalo. Juk žinutė su „laikiniu antspaudu“ iš esmės negali būti perduota akimirksniu. Be to, gavėjo ir siuntėjo kompiuterio laikrodžiai negali būti visiškai sinchronizuojami. Koks „antspaudo“ delsimas laikomas įtartinu.

Todėl tikruose IC, pavyzdžiui, kredito kortelių mokėjimo sistemose, naudojamas antrasis autentifikavimo ir apsaugos nuo padirbinėjimo mechanizmas. Naudojamas intervalas yra nuo vienos iki kelių minučių. Daugybė žinomų elektroninių pinigų vagystės būdų yra pagrįsti „įsikišimu“ į šią spragą su klaidingais pinigų išėmimo prašymais.

Viešojo rakto kriptosistemos gali būti naudojamos raktų mainams naudojant tą patį RSA algoritmą.

Tačiau Diffie-Hellman algoritmas pasirodė labai efektyvus, leidžiantis dviem vartotojams apsikeisti raktu be tarpininkų, kurie vėliau gali būti naudojami simetriniam šifravimui.

Diffie-Hellman algoritmas

Diffie ir Helmanas pasiūlė sukurti kriptografines sistemas su viešuoju raktu diskrečiosios eksponencijos funkcija.

Transformacijos negrįžtamumą šiuo atveju užtikrina tai, kad gana lengva apskaičiuoti eksponentinę funkciją baigtiniame Galois lauke, kurį sudaro p elementai. ( p- pirminis skaičius arba bet kurios laipsnio pirminis skaičius). Logaritmų skaičiavimas tokiuose laukuose yra daug laiko reikalaujantis veiksmas.

Jeigu y= x, 1<x<p-1, kur yra fiksuotas lauko elementas GF(p), tada x= štai g y aukščiau GF(p). Turėdamas x, nesunku apskaičiuoti y. Tam prireiks 2 ln( x+y) daugybos operacijos.

Atvirkštinio skaičiavimo uždavinys xy bus gana sunku. Jeigu p yra pasirinktas pakankamai teisingai, tada logaritmui išgauti reikės atlikti proporcingus skaičiavimus

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

Norėdami keistis informacija, pirmasis vartotojas pasirenka atsitiktinį skaičių x 1 , sveikojo skaičiaus 1 lygiavertė... p-vienas. Jis saugo šį numerį paslaptyje ir siunčia numerį kitam vartotojui

y 1 = x mod p

Antrasis vartotojas daro tą patį, generuodamas x 2 ir skaičiuojant y 2, siunčiant jį pirmajam vartotojui. Dėl to jie gali apskaičiuoti k 12 = x 1 x 2 mod p.

Norint apskaičiuoti k 12 , pakelia pirmasis vartotojas y 2 į valdžią x vienas . Antrasis vartotojas daro tą patį. Taigi abu vartotojai turi bendrą raktą k 12, kuris gali būti naudojamas informacijai užšifruoti įprastais algoritmais. Skirtingai nuo RSA algoritmo, šis algoritmas neleidžia užšifruoti tikrosios informacijos.

Nežinant x 1 ir x 2 , užpuolikas gali pabandyti apskaičiuoti k 12 , žinodamas tik perimtas y 1 ir y 2. Šios problemos lygiavertiškumas diskretinio logaritmo skaičiavimo problemai yra pagrindinis ir atviras klausimas viešojo rakto sistemose. Paprastas sprendimas dar nerastas. Taigi, jei tiesioginei 1000 bitų pirminių skaičių transformacijai reikia 2000 operacijų, tai atvirkštinei transformacijai (logaritmo skaičiavimui Galois lauke) reikės apie 10 30 operacijų.

Kaip matote, nepaisant Diffie-Hellman algoritmo paprastumo, antrasis jo trūkumas, palyginti su RSA sistema, yra garantuotai mažesnio rakto atidarymo sudėtingumo įvertinimo nebuvimas.

Be to, nors aprašytas algoritmas apeina paslėpto rakto perdavimo problemą, autentifikavimo poreikis išlieka. Neturėdamas papildomų lėšų vienas iš vartotojų negali būti tikras, kad keitė raktus būtent su tuo vartotoju, kurio jam reikia. Imitacijos pavojus šiuo atveju išlieka.

Apibendrinant tai, kas buvo pasakyta apie raktų paskirstymą, reikėtų pasakyti štai ką. Raktų valdymo užduotis yra surasti tokį raktų paskirstymo protokolą, kuris užtikrintų:

* galimybė atsisakyti raktų paskirstymo centro;

* Abipusis sesijos dalyvių autentifikavimas;

* Seanso autentiškumo patvirtinimas užklausos-atsakymo mechanizmu, tam naudojant programinę ar techninę įrangą;

* naudojant mažiausią pranešimų skaičių keičiantis raktais.

Kiekviena kriptografinė sistema veikia su kriptografiniais raktais. Jei sistemoje nėra įdiegtas pagrindinių duomenų valdymo mechanizmas, užpuolikui nebus sunku jį užvaldyti. Raktų valdymas apima tokias procedūras kaip raktų generavimas, saugojimas ir platinimas. Paskutinė procedūra yra pati atsakingiausia.

Simetriškoje kriptosistemoje abi šalys pirmiausia turi susitarti dėl slapto seanso rakto – visų paketų šifravimo rakto. Raktas turi būti slaptas, o abonentai jį periodiškai atnaujina. Asimetrinė kriptosistema apima dviejų raktų – privataus (slapto) ir viešo – naudojimą. Viešasis raktas atskleidžiamas. Siunčiant žinutes reikia išsiųsti viešąjį raktą, perkėlimo metu įgyvendinant autentifikavimą.

Raktų paskirstymo sistema turi atitikti šiuos reikalavimus:

  • paskirstytų raktų vientisumas ir konfidencialumas
  • paskirstymo efektyvumas ir tikslumas

Platinant raktus yra 2 būdai:

  • pagrindinių paskirstymo centrų naudojimas
  • tiesioginis raktų keitimas tarp abonentų

Pirmuoju atveju raktų paskirstymo centras žino, kurie raktai buvo išsiųsti ir kam. Antruoju metodu turite patikrinti tinklo objektų tapatybę. Užduotis raktų paskirstymas yra sukurtas , kuris įgyvendina:

  • sesijos dalyvių autentifikavimas
  • seanso patvirtinimas
  • minimalaus pranešimų skaičiaus, perduodamų keičiantis raktais, įgyvendinimas

Ryškus pagrindinių paskirstymo centrų diegimo pavyzdys yra Kerberos sistema. Čia mes apsvarstysime antrąjį metodą. Šiam naudojimui:

  • asimetrinė viešojo rakto kriptosistema, skirta apsaugoti simetrinės kriptosistemos slaptąjį raktą
  • Diffie-Hellman viešojo rakto platinimo sistemos

Kombinuotos kriptosistemos, skirtos paskirstymui valdyti, įdiegimas

Pagrindinis asimetrinių viešojo rakto kriptosistemų aspektas yra potencialiai didelis jų saugumas. Nereikia perkelti raktų, įsitikinkite, kad jie yra autentiški. Tačiau tokia sistema praranda greitį, palyginti su simetrinėmis kriptosistemomis su slaptu raktu.

Kombinuotas asimetrinio ir simetrinio šifravimo įgyvendinimas leidžia pašalinti pagrindinius trūkumus, kurie būdingi sistemoms atskirai. Idėja tokia:

  • simetrinė kriptosistema įgyvendinama grynajam tekstui šifruoti, o asimetrinė viešojo rakto kriptosistema – simetrinės kriptosistemos slaptajam raktui šifruoti.

Šis metodas taip pat vadinamas schema. elektroninis skaitmeninis vokas. Pažiūrėkime į pavyzdį. Vartotojas A nori įdiegti hibridinį šifravimo metodą, kad saugiai perduotų paketą M vartotojui B. Algoritmas yra toks:

  • Naudotojo A veiksmai:
    • Sugeneruoja (bet kokiomis priemonėmis) slaptąjį seanso raktą K s , kuris reikalingas simetriniam šifravimui paketams užšifruoti
    • Užšifruoja paketą M simetriniu algoritmu seanso slaptajame rakte K s
    • Šifruoja slaptą seanso raktą K s su viešuoju vartotojo B raktu K B naudodamas asimetrinį algoritmą
    • Atviru kanalu siunčia vartotojui B užšifruotą paketą M kartu su šifruotu seanso raktu K s
  • Vartotojo B veiksmai (gaunant elektroninį skaitmeninį voką):
    • iššifruokite seanso raktą K s naudodami asimetrinį algoritmą naudodami privatųjį raktą K B
    • Iššifruokite paketą M, naudodami simetrinį algoritmą, naudodami iššifruotą raktą K s
    • Vartotojo veiksmai parodyti 1 pav

1 paveikslas

Diegiant skaitmeninį voką, asimetrinių ir simetrinių algoritmų trūkumai kompensuojami dėl:

  • simetrinio šifravimo algoritmo raktų paskirstymo problemą pašalina tai, kad seanso raktas Ks perduodamas atviru kanalu šifruota forma, naudojant asimetrinį šifravimo algoritmą.
  • lėto asimetrinio algoritmo greičio problema nėra aktuali, nes šifruojamas tik raktas, o tekstas šifruojamas simetriniu šifravimo algoritmu

Jei seanso rakto ilgis yra mažesnis už asimetrinio rakto ilgį, užpuolikas įgyvendins seanso rakto ataką. 1 lentelėje parodytas raktų ilgių santykis.

1 lentelė. Asimetrinių ir simetrinių sistemų, turinčių tą patį kriptografinį stiprumą, raktų ilgiai

Diffie-Hellman raktų paskirstymo metodas

W. Diffie ir M. Hellman sukūrė viešojo rakto platinimo metodą 1976 m. Šis metodas leidžia vartotojams keistis raktais nesaugiu ryšio kanalu. Jo saugumas pagrįstas diskrečiųjų logaritmų skaičiavimo sudėtingumu baigtiniame lauke, priešingai nei tiesioginės diskrečiojo eksponencijos tame pačiame lauke problemos sprendimo paprastumas. Metodo schema parodyta 2 pav.

Brėžinys – 2

Vartotojai A ir B, keisdamiesi duomenimis, generuoja savo atsitiktinius slaptuosius raktus K A ir K B (raktai yra atsitiktiniai dideli sveikieji skaičiai). Tada vartotojas A ir B apskaičiuoja viešuosius raktus:

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

N, g yra dideli sveikųjų skaičių pirminiai skaičiai. Šie skaičiai nėra slapti ir žinomi visiems sistemos naudotojams. Tada vartotojai A ir B įdiegia raktų mainus J per nesaugų kanalą ir įgyvendina juos, kad apskaičiuotų bendrinamą seanso raktą J:

  • vartotojas A: J = (J B) K A (mod N) = (g K B) K A (mod N)
  • vartotojas B: J` = (J A) K B (mod N) = (g K A) K B (mod N)
  • J = J`, nes (g K B) K A = (g K A) K B

Dėl vienpusės funkcijos įgyvendinimo viešojo rakto skaičiavimo operacija yra negrįžtama. Diffie-Hellman algoritmas leidžia užšifruoti informaciją kiekvieno ryšio seanso metu naudojant naujus raktus. Tai pagerina saugumą, nes nereikia saugoti paslapčių laikmenoje. Taip pat šis algoritmas leidžia įgyvendinti visapusiškos perduodamų duomenų konfidencialumo ir autentiškumo apsaugos metodą.

Perduotų duomenų konfidencialumo ir autentiškumo visapusės apsaugos metodas

Norint vienu metu apsaugoti informacijos konfidencialumą ir vientisumą, patartina komplekse įdiegti šifravimą. Algoritmas veikia taip:

  • vartotojas A pasirašo paketą M savo slaptuoju raktu K A , įgyvendindamas standartinį skaitmeninio parašo algoritmą
  • vartotojas A apskaičiuoja bendrą slaptąjį raktą K pagal Diffie-Hellman principą iš savo viešojo rakto ir vartotojo B viešojo rakto
  • vartotojas A užšifruoja paketą M bendru slaptuoju raktu K, naudodamas simetrinį šifravimą
  • vartotojas B gauna paketą M, apskaičiuoja viešąjį raktą K ir iššifruoja paketą M
  • vartotojas B patikrina iššifruoto paketo M parašą naudodamas viešąjį vartotojo K A raktą

Remiantis Diffie-Hellman algoritmu, veikia kriptovaliutų valdymo protokolai SKIP, IKE.

Raktų paskirstymo protokolas(rakto nustatymo protokolas) yra kriptografinis protokolas, kurio vykdymo metu bendra paslaptis suteikiama dviem ar daugiau šalių, kad vėliau galėtų ją naudoti kriptografiniais tikslais.

Raktų paskirstymo protokolai skirstomi į dvi klases:

    Pagrindiniai transportavimo protokolai;

    Raktų mainų protokolai.

Pagrindiniai transportavimo protokolai(raktų transportavimas) – tai raktų platinimo protokolai, kuriuose vienas dalyvis sukuria ar kitaip įgyja paslaptį ir saugiai perduoda ją kitiems dalyviams.

Raktų mainų protokolai(raktų susitarimas, keitimasis raktais) yra raktų paskirstymo protokolai, kuriuose du ar daugiau dalyvių sukuria bendrą paslaptį kaip kiekvieno iš jų pateiktos (arba su jais susietos) informacijos funkciją tokiu būdu, kad (idealiu atveju) niekas kitas. partija gali iš anksto nustatyti savo bendrą paslaptį.

Yra dvi papildomos raktų paskirstymo protokolų formos. Teigiama, kad protokolas atlieka rakto atnaujinimą, jei protokole sugeneruojamas visiškai naujas raktas, nepriklausomai nuo raktų, sugeneruotų ankstesnėse protokolo seansuose. Protokolas atlieka išvestinių raktų generavimą (raktų išvedimą), jei naujas raktas „išvedamas“ iš jau esamų kriptosistemos dalyvių.

Pagrindinės raktų paskirstymo protokolų savybės apima rakto autentifikavimo, rakto patvirtinimo ir aiškaus rakto autentifikavimo savybes.

(Numanomas) rakto autentifikavimas(numanomas rakto autentifikavimas) – ypatybė, kuria vienas protokolo dalyvis užtikrina, kad jokia kita šalis, išskyrus specialiai identifikuotą antrąjį protokolo dalyvį (ir galbūt pasitikėjimo centrą), negalėtų pasiekti protokole gautų slaptųjų raktų. Čia nėra garantijų, kad antrasis dalyvis iš tikrųjų gavo prieigą prie rakto, tačiau niekas kitas, išskyrus jį, negalėjo jo gauti. Numanomas rakto autentifikavimas nepriklauso nuo to, ar kita šalis faktiškai turi raktą, ir nereikalauja kitos šalies jokių veiksmų.

Rakto patvirtinimas(rakto patvirtinimas) – savybė, kuria vienas protokolo dalyvis yra įsitikinęs, kad kitas dalyvis (galimai neidentifikuotas) tikrai turi protokole gautus slaptuosius raktus.

Aiškus rakto autentifikavimas(aiškus rakto autentifikavimas) yra ypatybė, kuri vykdoma, kai vyksta ir (numanomas) rakto autentifikavimas, ir rakto patvirtinimas.

    1. Needham-Schroeder protokolas ant simetrinių raktų

Šis protokolas yra daugelio pagrindinių paskirstymo protokolų, kuriuose naudojami patikimi centrai, pagrindas. Yra du šio protokolo tipai:

    Needham-Schroeder protokolas ant simetrinių raktų;

    Needham-Schroeder protokolas ant asimetrinių klavišų.

Simetrinio rakto protokolas veikia taip:

Preliminarus etapas:

Toks požiūris sukuria savotišką užburtą ratą: norėdami pasidalyti paslaptimi (pranešimas perduodamas), siuntėjas ir gavėjas jau turi turėti bendrą paslaptį (šifravimo raktą). Anksčiau ši problema buvo sprendžiama nekriptografiniu būdu – rakto perdavimu komunikacijos kanalais, kurie yra fiziškai apsaugoti nuo klausymosi (1 pav.). Tačiau tokio kanalo sukūrimas ir jo palaikymas, kad jis būtų parengtas avarinei situacijai, kai reikia perduoti raktą, yra gana sunkus ir brangus.

Ryžiai. vienas.

Problema buvo sėkmingai išspręsta pasitelkus šiek tiek daugiau nei prieš ketvirtį amžiaus iškilusią šiuolaikinę kriptografiją, taip vadinamą priešingai nei tuo metu jau žinoma „tradicinė kriptografija“. Sprendimas yra naudoti asimetrinius (dviejų raktų) šifrus arba raktų paskirstymo schemas atvirais ryšio kanalais.

Pirmuoju atveju – ir iššifravimo procedūros atliekamos naudojant skirtingus raktus, todėl nereikia laikyti šifravimo rakto paslaptyje. Tačiau dėl itin žemų veikimo charakteristikų ir jautrumo kai kurioms specialioms atakų rūšims tokie šifrai pasirodė mažai naudingi norint tiesiogiai paslėpti vartotojo informaciją. Vietoj to, asimetriniai šifrai naudojami kaip kombinuotų schemų dalis, kai duomenų masyvas užšifruojamas simetriniu šifru ant vienkartinio rakto, kuris savo ruožtu yra užšifruotas dviejų raktų šifru ir perduodamas tokia forma kartu su duomenimis.

Raktų paskirstymo atvirais ryšio kanalais schemos tą pačią problemą išsprendžia kiek kitaip: sąveikos seanso metu du korespondentai sukuria bendrą slaptą raktą, kuris vėliau naudojamas perduodamiems duomenims užšifruoti simetriniu šifru. Be to, informacijos perėmimas kanale tokio rakto generavimo seanso metu nesuteikia priešui galimybės gauti patį raktą: K=K(X,Y) yra neapskaičiuojamas (2 pav.).


Ryžiai. 2.

Asimetrinės kriptografijos problemos

Iki šiol asimetrinė kriptografija gana sėkmingai išsprendžia raktų paskirstymo atvirais ryšio kanalais problemą. Nepaisant to, yra keletas problemų, kurios kelia susirūpinimą dėl jos ateities. Visų asimetrinės kriptografijos schemų stabilumas grindžiamas tuo, kad neįmanoma efektyviai skaičiuoti daugelio tokių matematinių problemų (vadinamųjų NP problemų), kaip didelių skaičių faktorizavimas (faktorizavimas) ir logaritmas dideliuose diskrečiuose laukuose. Bet ši neįmanomybė tėra prielaida, kurią galima bet kada paneigti, jei pasitvirtina priešinga hipotezė, būtent NP=P. Tai lemtų visos šiuolaikinės kriptografijos žlugimą, nes problemos, kuriomis ji grindžiama, yra glaudžiai susijusios, o net vienos kriptosistemos sulaužymas reikš, kad bus sulaužyta dauguma kitų. Šia kryptimi vykdomi intensyvūs tyrimai, tačiau problema vis dar lieka atvira.

Dar vieną grėsmę šiuolaikinėms kriptosistemoms kelia vadinamieji kvantiniai kompiuteriai – kvantinės mechanikos principais sukurti informacijos apdorojimo įrenginiai, kurių idėją pirmasis pasiūlė garsus amerikiečių fizikas R. Feynmanas. 1994 metais P. Šoras pasiūlė kvantinio kompiuterio faktorizavimo algoritmą, leidžiantį faktorinuoti skaičių per laiką, kuris polinomiškai priklauso nuo skaičiaus dydžio. O 2001 metais šis algoritmas buvo sėkmingai įdiegtas pirmajame veikiančiame kvantinio kompiuterio prototipe, kurį sukūrė IBM ir Stanfordo universiteto specialistai.

Ekspertų teigimu, kvantinis kompiuteris, galintis sulaužyti RSA kriptosistemą, gali būti sukurtas maždaug per 15-25 metus.

Kitas nemalonus faktas asimetrinėse kriptosistemose – minimalus „saugus raktų dydis“ nuolat auga dėl pažangos atitinkamoje srityje. Vos per ketvirtį amžiaus tokių sistemų istorijoje jis jau išaugo maždaug 10 kartų, o per tą patį laikotarpį tradicinių simetrinių šifrų rakto dydis pasikeitė mažiau nei per pusę.

Dėl viso to, kas išdėstyta, asimetrinės kriptografijos sistemų ilgalaikės perspektyvos nėra visiškai patikimos ir verčia ieškoti alternatyvių būdų toms pačioms problemoms spręsti. Kai kuriuos iš jų galima išspręsti naudojant vadinamąją kvantinę kriptografiją arba kvantinį ryšį.