Shpërndarja e çelësit publik. Problemi i shpërndarjes së çelësit në kriptografi Shpërndarja e çelësit me pjesëmarrjen e një qendre të shpërndarjes së çelësit

Protokolli i shpërndarjes së çelësit Një protokoll themelimi kyç është një protokoll kriptografik në të cilin një sekret i përbashkët bëhet i disponueshëm për dy ose më shumë palë për përdorim të mëvonshëm për qëllime kriptografike.

Protokollet e shpërndarjes së çelësave ndahen në dy klasa:

    Protokollet kryesore të transportit;

    Protokollet e shkëmbimit të çelësave.

Protokollet kryesore të transportit(transporti i çelësit) janë protokolle të shpërndarjes kryesore në të cilat një pjesëmarrës krijon ose përvetëson një sekret dhe ia transmeton atë në mënyrë të sigurt pjesëmarrësve të tjerë.

Protokollet e shkëmbimit të çelësave(marrëveshja kryesore, shkëmbimi i çelësave) janë protokolle të shpërndarjes kryesore në të cilat një sekret i përbashkët përpunohet nga dy ose më shumë pjesëmarrës në funksion të informacionit të kontribuar (ose të lidhur me) secili prej tyre në një mënyrë të tillë që (idealisht) asnjë tjetër partia mund të paracaktojë sekretin e tyre të përbashkët.

Ekzistojnë dy forma shtesë të protokolleve të shpërndarjes së çelësave. Një protokoll thuhet se kryen një përditësim të çelësit nëse protokolli gjeneron një çelës krejtësisht të ri që është i pavarur nga çelësat e gjeneruar në sesionet e mëparshme të protokollit. Protokolli gjeneron çelësa derivativë (derivimi i çelësit) nëse një çelës i ri "rrjedh" nga ata që ekzistojnë tashmë midis pjesëmarrësve në kriptosistem.

Karakteristikat kryesore të protokolleve të shpërndarjes së çelësit përfshijnë vetitë e vërtetimit të çelësit, konfirmimit të çelësit dhe vërtetimit të qartë të çelësit.

Autentifikimi i çelësit (i nënkuptuar).(autentifikimi i nënkuptuar i çelësit) - një veti me të cilën një pjesëmarrës në një protokoll siguron që asnjë palë tjetër përveç një pjesëmarrësi të dytë të identifikuar në mënyrë specifike në protokoll (dhe ndoshta një autoritet besimi) nuk mund të ketë akses në çelësat sekretë të marrë në protokoll. Nuk ka asnjë garanci që pjesëmarrësi i dytë në të vërtetë fitoi akses te çelësi, por askush tjetër përveç tij nuk mund ta merrte atë. Vërtetimi i nënkuptuar i çelësit është i pavarur nga pronësia aktuale e çelësit nga pala tjetër dhe nuk kërkon ndonjë veprim nga pala tjetër.

Konfirmimi i çelësit(konfirmimi i çelësit) - një pronë me të cilën një pjesëmarrës në protokoll është i bindur se një pjesëmarrës tjetër (ndoshta i paidentifikuar) posedon në të vërtetë çelësat sekretë të marrë në protokoll.

Autentifikimi i qartë i çelësit(autentifikimi i qartë i çelësit) - një veti që ekzekutohet kur vërtetimi (i nënkuptuar) i çelësit dhe konfirmimi i çelësit ndodhin njëkohësisht.

    1. Protokolli Needham-Schroeder në çelësat simetrik

Ky protokoll qëndron në themel të një numri të madh të protokolleve të shpërndarjes së çelësave që përdorin qendra të besuara. Ekzistojnë dy lloje të këtij protokolli:

    Protokolli Needham-Schroeder mbi çelësat simetrik;

    Protokolli Needham-Schroeder mbi çelësat asimetrik.

Protokolli i çelësit simetrik funksionon si më poshtë:

Faza paraprake:

Shpërndarja e çelësit është procesi më kritik në menaxhimin e çelësave. Ka dy kërkesa për të:

1.Efiçenca dhe saktësia e shpërndarjes

2. Fshehtësia e çelësave të shpërndarë.

Kohët e fundit, ka pasur një zhvendosje të dukshme drejt përdorimit të kriptosistemeve me çelës publik, në të cilin problemi i shpërndarjes së çelësit është eliminuar. Megjithatë, shpërndarja e informacionit kyç në sistemin e informacionit kërkon zgjidhje të reja efektive.

Shpërndarja e çelësave ndërmjet përdoruesve zbatohet nga dy qasje të ndryshme:

1.Duke krijuar një ose disa qendra kryesore të shpërndarjes. Disavantazhi i kësaj qasjeje është se qendra e shpërndarjes e di se kujt i janë caktuar çfarë çelësash dhe kjo bën të mundur leximin e të gjitha mesazheve që qarkullojnë në IS. Abuzimet e mundshme kanë një ndikim të rëndësishëm në mbrojtje.

2. Shkëmbim i drejtpërdrejtë i çelësave ndërmjet përdoruesve të sistemit të informacionit.

Sfida atëherë është që të vërtetohen në mënyrë të besueshme subjektet.

Në të dyja rastet, duhet të garantohet autenticiteti i seancës së komunikimit. Kjo mund të arrihet në dy mënyra:

1. Mekanizmi kërkesë-përgjigje, i cili përbëhet nga sa vijon. Nëse përdoruesi A dëshiron të jetë i sigurt se mesazhet që merr nga B nuk janë false, ai përfshin një element (kërkesë) të paparashikueshme në mesazhin që i dërgon B. Kur përgjigjet, përdoruesi B duhet të kryejë disa veprime në këtë element (për shembull, shtoni 1). Kjo nuk mund të bëhet paraprakisht, pasi nuk dihet se cili numër i rastësishëm do të vijë në kërkesë. Pas marrjes së një përgjigjeje me rezultatet e veprimeve, Përdoruesi A mund të jetë i sigurt se seanca është e vërtetë. Disavantazhi i kësaj metode është mundësia e krijimit të një modeli ndonëse kompleks midis kërkesës dhe përgjigjes.

2. Mekanizmi i vulës së kohës ("vula kohore"). Ai përfshin regjistrimin e kohës për çdo mesazh. Në këtë rast, çdo përdorues i IS mund të dijë se sa "i vjetër" është mesazhi në hyrje.

Në të dyja rastet, kriptimi duhet të përdoret për të siguruar që përgjigja nuk është dërguar nga një sulmues dhe se vula kohore nuk është ndryshuar.

Kur përdorni stampat kohore, ka një problem me intervalin kohor të pranueshëm të vonesës për verifikimin e autenticitetit të një seance. Në fund të fundit, një mesazh me një "vulë kohore", në parim, nuk mund të transmetohet menjëherë. Përveç kësaj, orët kompjuterike të marrësit dhe dërguesit nuk mund të sinkronizohen absolutisht. Çfarë vonese në "vulë" konsiderohet e dyshimtë?

Prandaj, në sistemet reale të informacionit, për shembull, në sistemet e pagesave me karta krediti, përdoret mekanizmi i dytë për përcaktimin e origjinalitetit dhe mbrojtjen nga falsifikimi. Intervali i përdorur është nga një deri në disa minuta. Numër i madh metodat e njohura vjedhje para elektronike, bazohet në “hyrjen” në këtë boshllëk me kërkesa të rreme për tërheqje të parave.

Kriptosistemet e çelësit publik mund të përdoren për të shkëmbyer çelësa duke përdorur të njëjtin algoritëm RSA, por algoritmi Diffie-Hellman është dëshmuar të jetë shumë efektiv, duke lejuar dy përdorues të shkëmbejnë një çelës pa ndërmjetës, i cili më pas mund të përdoret për kriptim simetrik. Megjithë thjeshtësinë e algoritmit Diffie-Hellman, disavantazhi i tij në krahasim me sistemin RSA është mungesa e një kufiri të poshtëm të garantuar për kompleksitetin e zbulimit të çelësit.

Për më tepër, megjithëse algoritmi i përshkruar anashkalon problemin e transferimit të çelësit të fshehur, nevoja për vërtetim mbetet. pa fonde shtesë, një nga përdoruesit nuk mund të jetë i sigurt se ka shkëmbyer çelësat pikërisht me përdoruesin që i nevojitet. Rreziku i imitimit në këtë rast mbetet.

Zgjidhjet origjinale për problemin e "çelësave bredhës" po zhvillohen në mënyrë aktive nga specialistë. Këto sisteme janë një kompromis midis sistemeve të çelësit publik dhe algoritmeve konvencionale, të cilat kërkojnë që dërguesi dhe marrësi të kenë të njëjtin çelës.

Ideja e metodës është mjaft e thjeshtë. Pasi çelësi përdoret në një seancë, sipas disa rregullave, ai zëvendësohet nga një tjetër.

Ky rregull duhet të jetë i njohur si për dërguesin ashtu edhe për marrësin. Duke ditur rregullin, pas marrjes së mesazhit të radhës, marrësi ndryshon edhe çelësin. Nëse rregulli për ndryshimin e çelësave ndiqet me kujdes si nga dërguesi ashtu edhe nga marrësi, atëherë në çdo moment të kohës ata kanë të njëjtin çelës. Ndryshimi i vazhdueshëm i çelësit e bën të vështirë për një sulmues zbulimin e informacionit.

Detyra kryesore në zbatimin e kësaj metode është zgjedhja e një rregulli efektiv të ndryshimit të çelësit. Mënyra më e lehtë është të krijoni një listë të rastësishme çelësash. Tastet ndryshohen sipas renditjes së listës. Megjithatë, padyshim që lista do të duhet të transmetohet disi.

Një opsion tjetër është përdorimi i algoritmeve matematikore të bazuara në të ashtuquajturat sekuenca iterative. Në një grup çelësash, i njëjti veprim në një element prodhon një element tjetër. Sekuenca e këtyre veprimeve ju lejon të lëvizni nga një element në tjetrin derisa i gjithë grupi të jetë përsëritur.

Më e arritshme është përdorimi i fushave Galois. Duke e ngritur elementin gjenerues në një fuqi, mund të lëvizni në mënyrë sekuenciale nga një numër në tjetrin. Këta numra pranohen si çelësa.

Informacioni kryesor në këtë rast është elementi burim, i cili duhet të jetë i njohur si për dërguesin ashtu edhe për marrësin përpara se të fillojë komunikimi.

Besueshmëria e metodave të tilla duhet të sigurohet duke marrë parasysh njohuritë e sulmuesit për rregullin e ndryshimit kyç që përdoret.

Menaxhimi i çelësave sekret është i lidhur nëpërmjet protokolleve për shpërndarjen e tyre ndërmjet instalimit të çelësave dhe sistemeve të menaxhimit të çelësave. Sistemi i instalimit të çelësave përcakton algoritmet dhe procedurat për gjenerimin, shpërndarjen, transmetimin dhe verifikimin e çelësave.
Sistemi i menaxhimit të çelësave përcakton procedurën e përdorimit, ndryshimit, ruajtjes, heqjes së çelësave të dëmtuar nga qarkullimi dhe shkatërrimit të çelësave të vjetër.

Para-shpërndarja e çelësave

Metodat e sigurisë kriptografike përdoren për të mbrojtur me besueshmëri informacionin e transmetuar përmes një kanali të hapur komunikimi. Për të përdorur këto metoda, duhet të përfundoni zgjedhjen fillestare dhe instalimin e çelësave. Në mënyrë tipike, nevojitet një kanal komunikimi i sigurt për shpërndarjen fillestare të çelësave.
Shumica mënyrë të besueshme shpërndarja fillestare e çelësave - takimi personal i të gjitha palëve ndërvepruese, komunikimi me korrier. Me një numër të madh përdoruesish, kërkohet shpërndarja paraprake e një sasie të konsiderueshme informacioni kyç dhe ruajtja e tij e mëtejshme.
Në praktikë, përdoren sisteme speciale për para-shpërndarjen e çelësave. Këto sisteme parashikojnë shpërndarjen dhe ruajtjen jo të vetë çelësave, por të disa informacioneve më të vogla mbi bazën e të cilave secila palë mund të llogarisë çelësin e sesionit.
Ekzistojnë dy algoritme për shpërndarjen para çelësit:
  • transmetohet informacioni, duke përfshirë një pjesë të hapur, e cila mund të vendoset në një server publik, si dhe pjesë sekrete të destinuara për secilën palë;
  • Vlera aktuale kyçe për ndërveprimin ndërmjet pajtimtarëve llogaritet duke përdorur pjesën sekrete dhe të zakonshme të hapur të informacionit kryesor origjinal të disponueshëm për abonentët.
Ekzistojnë dy kërkesa për një sistem kyç të para-shpërndarjes:
  • ajo duhet të jetë të qëndrueshme , d.m.th. të marrë parasysh mundësinë e zbulimit të një pjese të çelësave në rast të kompromisit, mashtrimit ose marrëveshjes së fshehtë të pajtimtarëve;
  • ajo duhet të jetë fleksibël - lejojnë mundësinë e rikuperimit të shpejtë duke përjashtuar abonentët e rrezikuar dhe duke lidhur abonentë të rinj.

Çelësat e përcjelljes

Pas shpërndarjes para çelësit, çelësat specifikë të sesionit duhet të transferohen. Transferimi i këtyre çelësave kryhet duke përdorur kriptim duke përdorur çelësa të marrë më parë.
Kur transferoni çelësat sekretë përmes një kanali të hapur komunikimi midis pajtimtarëve që nuk i besojnë njëri-tjetrit, është e nevojshme të përdorni të gjithë gamën e detyrave të vërtetimit.
Për të menaxhuar në mënyrë qendrore transferimin e çelësave, janë krijuar qendra të veçanta të besuara që shërbejnë si qendra për shpërndarjen ose rikriptimin e çelësave. Në rastin e parë, çelësat gjenerohen në vetë qendrën e shpërndarjes, dhe në rastin e dytë, çelësat gjenerohen nga vetë abonentët.

Shpërndarja e çelësit publik

Për shkak të numrit të madh të pajtimtarëve të rrjetit, qasjet kryesore të shpërndarjes të përmendura më sipër bëhen shumë të papërshtatshme. Diffie dhe Hellman e zgjidhën këtë problem duke përdorur një kanal komunikimi të pasigurt.
Në sistemin e shpërndarjes së çelësit publik që ata propozuan, secila palë fillimisht ka parametrin e saj sekret. Protokolli i ndërveprimit kryhet përmes një kanali të hapur komunikimi.
Palët shkëmbejnë disa mesazhe të formuara duke përdorur të tyre parametrat sekret. Bazuar në rezultatet e shkëmbimit, pajtimtarët llogaritin një çelës të përbashkët komunikimi sekret. Protokolle të tilla nuk shoqërohen me shpërndarjen dhe përcjelljen e çelësave, pasi fillimisht asnjë nga pajtimtarët nuk ka një çelës.
Në formën e tij të përmirësuar, sistemi Diffie-Hellman ju lejon të merrni një çelës të përbashkët, të kontrolloni dhe konfirmoni korrektësinë e llogaritjeve dhe të vërtetoni palët.

Skema e ndarjes sekrete

Skema e ndarjes së sekretit është që secilit pajtimtar i ndahet një pjesë e sekretit dhe përcaktohet nga dy algoritme që plotësojnë kushtin që asnjë përdorues të mos ketë çelësin e plotë të grupit.
Algoritmi i parë përcakton rendin e llogaritjes së vlerave të aksioneve bazuar në një vlerë të caktuar të çelësit sekret, i dyti është krijuar për të rivendosur sekretin nga aksionet e njohura.
Një përgjithësim i skemës së ndarjes së fshehtë lidhet me:

  • me futjen e një strukture aksesi, kur një vendim mund të merret jo nga një, por nga disa grupe të ndryshme dhe disa pjesëmarrësve mund t'u jepet e drejta e "vetos";
  • futja e një mekanizmi për zbulimin e mashtrimit ose marrëveshjeve të fshehta ndërmjet pjesëmarrësve;
  • me futjen e një protokolli të veçantë për shpërndarjen e aksioneve ndërmjet pjesëmarrësve me konfirmimin e saktësisë së informacionit të marrë dhe vërtetimin e palëve.

Certifikatat

Problemi me certifikimin e nënshkrimit dixhital është si vijon. Para përdorimit të një çelësi publik, pajtimtari duhet të jetë i sigurt se çelësi publik i përket marrësit. Çelësat publikë ruhen në një server publik dhe sulmuesi ka aftësinë të zëvendësojë çelësin publik të njërit prej pajtimtarëve dhe të veprojë në emër të tij.
Për mbrojtjen e çelësave publikë janë krijuar qendra të veçanta certifikimi, të cilat luajnë rolin e një pale të tretë dhe certifikojnë çelësat publikë të çdo abonenti me nënshkrimet e tyre dixhitale.
Certifikata është një grup të dhënash të certifikuara nga një nënshkrim dixhital i qendrës dhe përfshin një çelës publik dhe një listë të atributeve që i përkasin pajtimtarit. Kjo listë përfshin atributet:
  • emrin e përdoruesit dhe autoritetin e certifikatës;
  • numri i certifikatës;
  • periudha e vlefshmërisë së certifikatës;
  • caktimi i një çelësi publik (kriptimi, nënshkrimi dixhital), etj.
Standardi ndërkombëtar ISO X.509 përcakton strukturën e përgjithshme të certifikatave dhe protokolleve të çelësit publik për përdorimin e tyre për autentifikimin në rrjete.

Autoritetet e certifikimit

Qendra e certifikimit është krijuar për të regjistruar abonentët, për të prodhuar certifikata me çelës publik, për të ruajtur certifikatat e prodhuara, për të mbajtur një drejtori të certifikatave të vlefshme dhe për të lëshuar një listë të certifikatave të anuluara më herët.
Për rrjetet me një numër të madh abonentësh, krijohen disa autoritete certifikimi në një strukturë hierarkike. Autoriteti kryesor i certifikimit lëshon certifikata për qendrat e industrisë vartëse të tij, duke konfirmuar besimin në çelësat publikë të këtyre qendrave.
Duke ditur hierarkinë dhe vartësinë e autoriteteve të certifikimit me njëri-tjetrin, është e mundur të përcaktohet nëse pajtimtari është pronar i një çelësi publik të caktuar.
Vështirësia kryesore në krijimin e qendrave të certifikimit është statusi i tyre ligjor dhe aftësia e mundshme financiare për të paguar kompensim për dëmin për shkak të mospërputhjes me certifikatat e nënshkruara dixhitale të lëshuara nga qendra, marrëveshjet dhe kontratat e prishura nga refuzimi i një nënshkrimi dixhital ose falsifikimi i tij.

Kjo qasje krijon një lloj rrethi vicioz: për të ndarë një sekret (mesazhin e transmetuar), dërguesi dhe marrësi duhet të kenë tashmë një sekret të përbashkët (çelësin e kriptimit). Më herët ky problem u zgjidh duke përdorur një metodë jokriptografike - transferimi i çelësit mbi kanalet e komunikimit të mbrojtura fizikisht nga përgjimi (Fig. 1). Sidoqoftë, krijimi i një kanali të tillë dhe mbajtja e tij në gatishmëri operacionale në rast nevoje urgjente për të transferuar një çelës është mjaft punë intensive dhe e kushtueshme.

Oriz. 1.

Problemi u zgjidh me sukses brenda kornizës së kriptografisë moderne, e cila u ngrit pak më shumë se një çerek shekulli më parë, e quajtur kështu në kontrast me "kriptografinë tradicionale" të njohur tashmë në atë kohë. Zgjidhja është përdorimi i shifrave asimetrike (me dy çelësa) ose skemave të shpërndarjes së çelësave mbi kanalet e hapura të komunikimit.

Në rastin e parë, procedurat e enkriptimit dhe deshifrimit kryhen në çelësa të ndryshëm, kështu që nuk ka nevojë të mbahet sekret çelësi i enkriptimit. Sidoqoftë, për shkak të karakteristikave jashtëzakonisht të ulëta të efikasitetit dhe ndjeshmërisë ndaj disa llojeve të veçanta të sulmeve, shifra të tilla rezultuan të ishin pak të dobishme për fshehjen e drejtpërdrejtë të informacionit të përdoruesit. Në vend të kësaj, shifrat asimetrike përdoren si pjesë e skemave të kombinuara, kur një grup të dhënash është i koduar me një shifër simetrik në një çelës një herë, i cili nga ana tjetër është i koduar me një shifër me dy çelësa dhe në këtë formë transmetohet së bashku me të dhënat. .

Skemat për shpërndarjen e çelësave përmes kanaleve të hapura të komunikimit zgjidhin të njëjtin problem në një mënyrë paksa të ndryshme: gjatë një sesioni ndërveprimi, dy korrespondentë zhvillojnë një çelës të përbashkët sekret, i cili më pas përdoret për të kriptuar të dhënat e transmetuara me një shifër simetrik. Për më tepër, përgjimi i informacionit në kanal gjatë një sesioni të gjenerimit të një çelësi të tillë nuk i jep armikut mundësinë për të marrë vetë çelësin: K=K(X,Y) është i pallogaritshëm (Fig. 2).


Oriz. 2.

Probleme të kriptografisë asimetrike

Sot, kriptografia asimetrike zgjidh me mjaft sukses problemin e shpërndarjes së çelësave mbi kanalet e hapura të komunikimit. Megjithatë, ka disa probleme që shkaktojnë shqetësime për të ardhmen e tij. Fuqia e të gjitha skemave të kriptografisë asimetrike bazohet në pamundësinë e një zgjidhjeje efikase llogaritëse për një numër problemesh matematikore (të ashtuquajturat probleme NP), si faktorizimi (faktorizimi) i numrave të mëdhenj dhe logaritmi në fusha të mëdha diskrete. Por kjo pamundësi është vetëm një supozim që mund të përgënjeshtrohet në çdo kohë nëse vërtetohet hipoteza e kundërt, përkatësisht NP=P. Kjo do të çonte në kolapsin e të gjithë kriptografisë moderne, pasi problemet mbi të cilat ajo bazohet në pazgjidhshmërinë janë mjaft të lidhura ngushtë, dhe thyerja e qoftë edhe një kriptosistemi do të nënkuptonte thyerjen e shumicës së të tjerëve. Në këtë drejtim po kryhen kërkime intensive, por problemi mbetet ende i hapur.

Një kërcënim tjetër për kriptosistemet moderne vjen nga të ashtuquajturit kompjuterë kuantikë - pajisje të përpunimit të informacionit të ndërtuara mbi parimet e mekanikës kuantike, ideja e së cilës u propozua për herë të parë nga fizikani i famshëm amerikan R. Feynman. Në vitin 1994, P. Shor propozoi një algoritëm faktorizimi për një kompjuter kuantik, i cili ju lejon të faktorizoni një numër në një kohë që varet nga polinomi nga madhësia e numrit. Dhe në vitin 2001, ky algoritëm u zbatua me sukses në prototipin e parë të punës të një kompjuteri kuantik të krijuar nga specialistë nga IBM dhe Universiteti Stanford.

Sipas ekspertëve, një kompjuter kuantik i aftë për të thyer kriptosistemin RSA mund të krijohet në rreth 15-25 vjet.

Një tjetër fakt fatkeq për kriptosistemet asimetrike është se "madhësia e sigurt" minimale e çelësave po rritet vazhdimisht për shkak të përparimit në këtë fushë. Gjatë gjithë historisë çerekshekullore të sistemeve të tilla, ajo tashmë është rritur afërsisht 10 herë, ndërsa gjatë së njëjtës periudhë për shifrat tradicionale simetrike, madhësia e çelësit ka ndryshuar më pak se dy herë.

Të gjitha sa më sipër i bëjnë perspektivat afatgjata të sistemeve të kriptografisë asimetrike jo plotësisht të besueshme dhe na detyrojnë të kërkojmë mënyra alternative zgjidhjen e të njëjtave probleme. Disa prej tyre mund të zgjidhen brenda kornizës së të ashtuquajturës kriptografi kuantike, ose komunikim kuantik.

Shpërndarja e çelësit është procesi më kritik në menaxhimin e çelësave. Për të zbatohen kërkesat e mëposhtme:

· efikasitetin dhe saktësinë e shpërndarjes;

· fshehtësia e çelësave të shpërndarë.

Shpërndarja e çelësave ndërmjet përdoruesve të një rrjeti kompjuterik zbatohet në dy mënyra:

1) përdorimi i një ose më shumë qendrave kryesore të shpërndarjes;

2) shkëmbim i drejtpërdrejtë i çelësave të sesionit ndërmjet përdoruesve të rrjetit.

Disavantazhi i qasjes së parë është se qendra e shpërndarjes së çelësave e di se cilët çelësa i shpërndahen kujt, dhe kjo lejon që të gjitha mesazhet e transmetuara përmes rrjetit të lexohen. Abuzimet e mundshme kanë një ndikim të rëndësishëm në mbrojtje. Në qasjen e dytë, sfida është vërtetimi i besueshëm i identitetit të entiteteve të rrjetit.

Në të dyja rastet, duhet të sigurohet autenticiteti i seancës së komunikimit. Kjo mund të bëhet duke përdorur një mekanizëm kërkesë-përgjigje ose një mekanizëm të vulës kohore.

Mekanizmi kërkesë-përgjigjeështë si më poshtë. Përdoruesi A përfshin një element të paparashikueshëm (për shembull, një numër të rastësishëm) në mesazhin (kërkesën) dërguar përdoruesit B. Kur përgjigjet, përdoruesi B duhet të kryejë një operacion me këtë element (për shembull, të shtojë një), i cili nuk mund të bëhet paraprakisht, pasi nuk dihet se cili numër i rastësishëm do të vijë në kërkesë. Pas marrjes së rezultatit të veprimeve të Përdoruesit B (përgjigje), Përdoruesi A mund të jetë i sigurt se seanca është e vërtetë.

Mekanizmi i vulës së kohës përfshin regjistrimin e kohës për çdo mesazh. Kjo i lejon çdo entiteti rrjeti të përcaktojë se sa i vjetër është një mesazh në hyrje dhe ta refuzojë atë nëse ka dyshime për vërtetësinë e tij. Kur përdorni vulat kohore, duhet të vendosni një interval kohor të pranueshëm të vonesës.

Në të dyja rastet, kriptimi përdoret për të mbrojtur kontrollin për t'u siguruar që përgjigja nuk është dërguar nga një sulmues dhe se vula kohore nuk është manipuluar.



Problemi i shpërndarjes së çelësit zbret në ndërtimin e një protokolli të shpërndarjes së çelësit që ofron:

· konfirmim i ndërsjellë i autenticitetit të pjesëmarrësve në sesion;

· konfirmimi i autenticitetit të seancës me një mekanizëm kërkesë-përgjigje ose vulë kohore;

· përdorimi i një numri minimal mesazhesh gjatë shkëmbimit të çelësave;

· Mundësia e eliminimit të abuzimit nga qendra e shpërndarjes së çelësave (deri në braktisjen e tij).

Këshillohet që zgjidhja e problemit të shpërndarjes së çelësit të bazohet në parimin e ndarjes së procedurës për konfirmimin e origjinalitetit të partnerëve nga vetë procedura e shpërndarjes së çelësave. Qëllimi i kësaj qasjeje është të krijojë një metodë në të cilën, pas vërtetimit, vetë pjesëmarrësit gjenerojnë një çelës sesioni pa pjesëmarrjen e një qendre të shpërndarjes kryesore, në mënyrë që shpërndarësi kryesor të mos ketë asnjë mënyrë për të zbuluar përmbajtjen e mesazheve.

Shpërndarja e çelësave me pjesëmarrjen e qendrës së shpërndarjes së çelësave. Kur shpërndani çelësat midis pjesëmarrësve në shkëmbimin e ardhshëm të informacionit, duhet të garantohet vërtetësia e sesionit të komunikimit. E pranueshme për vërtetimin e ndërsjellë të partnerëve model shtrëngimi duarsh. Në këtë rast, asnjë nga pjesëmarrësit nuk do të marrë ndonjë informacion të ndjeshëm gjatë procedurës së vërtetimit.

Vërtetimi i ndërsjellë siguron që entiteti i saktë thirret me një shkallë të lartë besimi se lidhja është krijuar me marrësin e kërkuar dhe se nuk janë bërë përpjekje për mashtrim. Procedura aktuale për organizimin e një lidhjeje midis pjesëmarrësve në një shkëmbim informacioni përfshin si fazën e shpërndarjes ashtu edhe fazën e konfirmimit të origjinalitetit të partnerëve.

Kur një qendër e shpërndarjes së çelësit (KDC) përfshihet në procesin e shpërndarjes së çelësave, ajo ndërvepron me një ose të dy pjesëmarrësit e sesionit për të shpërndarë çelësat sekretë ose publikë për t'u përdorur në sesionet e mëpasshme të komunikimit.

Faza tjetër, verifikimi i autenticitetit të pjesëmarrësve, përfshin shkëmbimin e mesazheve të vërtetimit në mënyrë që të jetë në gjendje të zbulojë çdo zëvendësim ose përsëritje të një prej thirrjeve të mëparshme.

Le të shqyrtojmë protokollet për kriptosistemet simetrike me çelësa sekret dhe për kriptosistemet asimetrike me çelësa publikë. Thirrësi (objekti burimor) shënohet me A, dhe thirrësi (objekti i destinacionit) me B. Pjesëmarrësit e sesionit A dhe B kanë përkatësisht identifikues unikë Id A dhe Id B.

5.6.4. Protokolli i vërtetimit dhe shpërndarjes
çelësat për kriptosistemet simetrike

Le të shqyrtojmë si shembull protokollin e vërtetimit dhe shpërndarjes së çelësit Kerberos (në Rusisht - Cerberus). Protokolli Kerberos është krijuar për të operuar mbi rrjetet TCP/IP dhe përfshin një palë të tretë të besuar në vërtetimin dhe shpërndarjen e çelësave. Kerberos siguron vërtetim të fortë të rrjetit duke lejuar një përdorues legjitim akses në makina të ndryshme në rrjet. Protokolli Kerberos bazohet në shifra simetrike (algoritmi DES është implementuar, megjithëse mund të përdoren algoritme të tjera kriptografike simetrike). Kerberos gjeneron një çelës sekret të veçantë për çdo ent të rrjetit dhe njohja e një çelësi të tillë sekret është e barabartë me vërtetimin e identitetit të entitetit të rrjetit.

Protokolli thelbësor Kerberos është një variant i protokollit të vërtetimit dhe shpërndarjes së çelësit Needham-Schroeder. Versioni 5 i protokollit bazë Kerberos përfshin dy palë komunikuese, A dhe B, dhe një server të besuar, KS (Kerberos Server). Palët A dhe B, secila veç e veç, ndajnë çelësin e tyre sekret me serverin KS. Serveri i besuar KS vepron si një qendër shpërndarjeje për qendrën kryesore të shpërndarjes.

Lëreni palën A të dëshirojë të marrë një çelës sesioni për shkëmbimin e informacionit me palën B.

Pala A fillon fazën e shpërndarjes së çelësit duke dërguar identifikuesit Id A dhe Id B përmes rrjetit te serveri KS:

(1) A ® KS: Id A, Id B.

Serveri KS gjeneron një mesazh me vulën kohore T, datën e skadimit L, çelësin e rastësishëm të sesionit K dhe identifikuesin Id A. Ai e kodon këtë mesazh me një çelës sekret që e ndan me Partinë B.

Serveri KS më pas merr vulën kohore T, datën e skadimit L, çelësin e sesionit K, ID B të palës B dhe i kodon të gjitha me çelësin sekret që ndan me palën A. Ai i dërgon të dyja këto mesazhe të koduara palës A. :

(2) KS ® A: E A (T, L, K, Id B), E B (T, L, K, Id A).

Pala A deshifron mesazhin e parë me çelësin e saj privat, kontrollon vulën kohore T për të siguruar që mesazhi nuk është një përsëritje e procedurës së mëparshme të shpërndarjes së çelësit.

Pala A më pas gjeneron një mesazh me ID-në e saj A dhe vulën kohore T, e kodon atë me çelësin e sesionit të K dhe ia dërgon B. Përveç kësaj, A i dërgon B një mesazh nga KS, të koduar me çelësin e B:

(3) A ® B: E K (Id A, T), E B (T, L, K, Id A).

Vetëm Pala B mund të deshifrojë mesazhet (3). Pala B merr një vulë kohore T, një datë skadimi L, një çelës sesioni K dhe një identifikues Id A. Pastaj pala B deshifron pjesën e dytë të mesazhit (3) me çelësin e sesionit K. Koincidenca e vlerave të T dhe Id A në dy pjesët e mesazhit konfirmon vërtetësinë e A në lidhje me B.

Për vërtetim të ndërsjellë, pala B krijon një mesazh të përbërë nga një vulë kohore T plus 1, e kodon atë me çelësin K dhe ia dërgon palës A:

(4) B ® A: E K (T+1).

Nëse, pas deshifrimit të mesazhit (4), pala A merr rezultatin e pritur, ajo e di se është vërtet B në skajin tjetër të linjës së komunikimit.

Ky protokoll funksionon me sukses me kusht që ora e secilit pjesëmarrës të sinkronizohet me orën e serverit KS. Duhet të theksohet se ky protokoll kërkon një shkëmbim me KS për të marrë çelësin e sesionit sa herë që A dëshiron të komunikojë me B. Protokolli ofron lidhje e besueshme objektet A dhe B, me kusht që asnjë nga çelësat të mos cenohet dhe serveri KS të jetë i mbrojtur.

Kerberos mbron rrjetin nga aksesi i paautorizuar bazuar vetëm në zgjidhje softuerike, dhe përfshin kriptim të shumëfishtë të informacionit të kontrollit të transmetuar përmes rrjetit.

Sistemi Kerberos ka një strukturë klient-server dhe përbëhet nga pjesët e klientit C të instaluara në të gjitha makinat në rrjet (stacionet e punës së përdoruesit dhe serverët), dhe një server Kerberos KS i vendosur në një kompjuter (jo domosdoshmërisht të dedikuar).

Serveri Kerberos, nga ana tjetër, mund të ndahet në dy pjesë: serveri i identifikimit AS (Serveri i vërtetimit) dhe serveri i lejeve TGS (Serveri i dhënies së biletave). Burimet e informacionit të nevojshëm nga klientët C menaxhohen nga serveri burimet e informacionit RS (shih figurën tjetër).

Shtrirja e sistemit Kerberos shtrihet në atë pjesë të rrjetit në të cilën të gjithë përdoruesit janë të regjistruar me emrat dhe fjalëkalimet e tyre në bazën e të dhënave të serverit Kerberos.


Oriz. 41. Skema dhe hapat e protokollit Kerberos.

Emërtimet:

KS – Serveri i sistemit Kerberos;

AS – server identifikimi;

TGS – server për lëshimin e lejeve;

RS – serveri i burimeve të informacionit;

C – Klienti i sistemit Kerberos;

1: C ® AS: – kërkoni leje për të kontaktuar TGS;

2: AS ® C: – leje për të kontaktuar TGS;

3: C ® TGS: – kërkesë për akses në RS;

4: TGS ® C: – leje për pranim në RS;

5: C ® RS: – kërkesa për të marrë një burim informacioni nga RS;

6: RS ® C: – konfirmon autenticitetin e serverit RS dhe siguron

burim informacioni.

Në përgjithësi, procesi i identifikimit dhe vërtetimit të një përdoruesi në një sistem Kerberos mund të përshkruhet si më poshtë. Përdoruesi (klienti) C, duke dashur të aksesojë një burim rrjeti, i dërgon një kërkesë serverit të identifikimit AS. Ky i fundit identifikon përdoruesin duke përdorur emrin dhe fjalëkalimin e tij dhe jep leje për të hyrë në serverin e lejeve TGS, i cili nga ana tjetër, me kërkesë të klientit C, autorizon përdorimin e burimeve të nevojshme të rrjetit duke përdorur serverin e burimit të informacionit të synuar RS.

Ky model i ndërveprimit të klientit me serverët mund të funksionojë vetëm nëse sigurohet konfidencialiteti dhe integriteti i informacionit të kontrollit të transmetuar. Pa siguri të rreptë siguria e informacionit klienti nuk mund të dërgojë kërkesa në serverët AS, TGS dhe RS dhe të marrë leje për të hyrë në shërbimet në rrjet. Për të shmangur mundësinë e përgjimit dhe përdorimit të paautorizuar të informacionit, Kerberos përdoret kur transmeton çdo informacion kontrolli në rrjet. sistem kompleks enkriptim i shumëfishtë duke përdorur një grup çelësash sekretë (çelës sekret klienti, çelës sekret serveri, çelësa të sesionit sekret, klient-server).

5.6.5. Protokolli për kriptosistemet asimetrike
duke përdorur certifikatat e çelësit publik

Ky protokoll përdor idenë e certifikatave të çelësit publik.

Certifikata e çelësit publik Cështë një mesazh nga një qendër e shpërndarjes së çelësave (KDC) që vërteton integritetin e disa çelësave publikë të një objekti. Për shembull, një certifikatë e çelësit publik për përdoruesin A, e shënuar C A, përmban një vulë kohore T, identifikuesin A dhe një çelës publik K A, të koduar me çelësin sekret DKK k DKK, d.m.th.

C A = (T, Id A, K A).

Vula kohore T përdoret për të konfirmuar që një certifikatë është aktuale dhe në këtë mënyrë parandalon dublikatat e certifikatave të vjetra që përmbajnë çelësa publikë dhe për të cilat çelësat privatë përkatës janë të pavlefshëm.

Çelësi sekret k i CRC është i njohur vetëm për menaxherin e CRC. Çelësi publik K i DRC është i njohur për pjesëmarrësit A ​​dhe B. DRC mban një tabelë të çelësave publikë të të gjithë objekteve të rrjetit që i shërben.

Telefonuesi A fillon fazën e vendosjes së çelësit duke kërkuar një certifikatë nga DRC për çelësin e tij publik dhe çelësin publik të palës B:

(1) A ® TsK: Id A, Id B, "Dërgo certifikatat e çelësave A dhe B." Këtu Id A dhe Id B janë identifikues unik të pjesëmarrësve A dhe B, respektivisht.

Menaxheri i CRC përgjigjet me një mesazh

(2) TsRK ® A: (T, Id A, K A), (T, Id B, K B).

Pjesëmarrësi A, duke përdorur çelësin publik të DRC në DRC, deshifron përgjigjen DRC dhe verifikon të dyja certifikatat. Id B siguron A që identiteti i palës së thirrur është regjistruar saktë në DRC dhe K B është me të vërtetë çelësi publik i pjesëmarrësit B, pasi që të dy janë të koduar me çelësin DRC k.

Megjithëse çelësat publikë supozohet se janë të njohur për të gjithë, ndërmjetësimi i KDF-së bën të mundur konfirmimin e integritetit të tyre. Pa një ndërmjetësim të tillë, një sulmues mund t'i sigurojë A-së çelësin e tij publik, të cilin A do ta konsiderojë si çelësin e pjesëmarrësit B.
Atëherë sulmuesi mund të zëvendësojë veten me B dhe të krijojë një lidhje me A, dhe askush nuk do të jetë në gjendje ta zbulojë atë.

Hapi tjetër i protokollit përfshin vendosjen e komunikimit midis A dhe B:

(3) A ® B: C A, (T), (r 1).

Këtu C A është certifikata e çelësit publik të përdoruesit A;

(T) është një vulë kohore e koduar me çelësin privat të pjesëmarrësit A ​​dhe është nënshkrimi i pjesëmarrësit A, pasi askush tjetër nuk mund të krijojë një nënshkrim të tillë;

r 1 është një numër i rastësishëm i gjeneruar nga A dhe përdoret për shkëmbim me B gjatë procedurës së vërtetimit.

Nëse certifikata C A dhe nënshkrimi A janë të sakta, atëherë pjesëmarrësi B ka besim se mesazhi erdhi nga A. Një pjesë e mesazhit (r 1) mund të deshifrohet vetëm nga B, pasi askush tjetër nuk e di çelësin privat k B që korrespondon me publikun çelësi K B. Pjesëmarrësi B deshifron vlerën e numrit r 1 dhe, për të konfirmuar vërtetësinë e tij, i dërgon një mesazh pjesëmarrësit A

(4) B® A: (r 1).

Pjesëmarrësi A rikuperon vlerën e r 1 duke deshifruar këtë mesazh duke përdorur çelësin privat k të A. Nëse kjo është vlera e pritur e r 1 , atëherë A merr konfirmimin se pjesëmarrësi i thirrur është me të vërtetë B.

Një protokoll i bazuar në kriptim simetrik është më i shpejtë se një protokoll i bazuar në kriptosistemet e çelësit publik. Megjithatë, aftësia e sistemeve të çelësit publik për të gjeneruar nënshkrime dixhitale që ofrojnë funksione të ndryshme mbrojtje, kompenson tepricën e llogaritjeve të kërkuara.

Shkëmbimi i drejtpërdrejtë i çelësave midis përdoruesve. Kur përdorni një kriptosistem me një çelës sekret simetrik për shkëmbimin e informacionit, dy përdorues që dëshirojnë të shkëmbejnë informacion të mbrojtur kriptografikisht duhet të kenë një çelës sekret të përbashkët. Përdoruesit duhet të shkëmbejnë një çelës të përbashkët në një kanal komunikimi në një mënyrë të sigurt. Nëse përdoruesit e ndryshojnë çelësin mjaft shpesh, shpërndarja e çelësit bëhet një problem serioz.

Për të zgjidhur këtë problem, përdoren dy metoda:

1) përdorimi i një kriptosistemi me çelës publik për enkriptim dhe transmetim

çelësi sekret i një kriptosistemi simetrik;

2) përdorimi i sistemit të shpërndarjes së çelësit publik Diffie-Hellman

(shih seksionin 5.4.2).

5.6.6. Përdorimi i një kriptosistemi me çelës publik për kriptim dhe transmetim
çelësi sekret i një kriptosistemi simetrik

Algoritmet që qëndrojnë në themel të kriptosistemit me çelës publik kanë si më poshtë

të metat:

· Gjenerimi i çelësave të rinj sekretë dhe publikë bazohet në gjenerimin e numrave të rinj të mëdhenj të thjeshtë, dhe kontrollimi i parësisë së numrave kërkon shumë kohë CPU;

· Procedurat e kriptimit dhe deshifrimit që lidhen me ngritjen e një numri shumëshifror në një fuqi janë mjaft të vështira.

Prandaj, performanca e kriptosistemeve me çelës publik është zakonisht qindra ose më shumë herë më e ulët se performanca e kriptosistemeve simetrike me një çelës sekret.

Një metodë hibride e kriptimit kombinon përfitimet e sekretit të lartë të kriptosistemeve asimetrike të çelësit publik me përfitimet e shpejtësisë së lartë të kriptosistemeve simetrik të çelësit privat. Në këtë qasje, një kriptosistem i çelësit publik përdoret për të kriptuar, transmetuar dhe më pas deshifruar vetëm çelësin privat të kriptosistemit simetrik. Një kriptosistem simetrik përdoret për të kriptuar dhe transmetuar tekstin origjinal origjinal. Si rezultat, një kriptosistem me çelës publik nuk zëvendëson një kriptosistem me çelës sekret simetrik, por vetëm e plotëson atë, duke bërë të mundur rritjen e sigurisë së përgjithshme të informacionit të transmetuar. Nëse përdoruesi A dëshiron të transmetojë një mesazh M të koduar duke përdorur një metodë të kombinuar te përdoruesi B, atëherë rendi i veprimeve të tij do të jetë si më poshtë.

1. Krijoni (për shembull, gjeneroni në mënyrë të rastësishme) një çelës simetrik, i quajtur në këtë metodë çelësi i sesionit K S.

2. Enkriptoni mesazhin M duke përdorur tastin e sesionit K S.

3. Shifroni çelësin e sesionit K S në çelësin publik K B të përdoruesit B.

4. Transmetoni një mesazh të koduar së bashku me një çelës sesioni të koduar te përdoruesi B përmes një kanali të hapur komunikimi.

Veprimet e përdoruesit B me marrjen e një mesazhi të koduar dhe një çelës sesioni të koduar duhet të jenë të kundërta:

5. Deshifroni çelësin e sesionit K S duke përdorur çelësin tuaj sekret k B .

6. Duke përdorur tastin e marrë të sesionit K S, deshifroni dhe lexoni mesazhin M.

Kur përdorni një metodë të kombinuar të enkriptimit, mund të jeni i sigurt se vetëm përdoruesi B do të jetë në gjendje të deshifrojë saktë çelësin K S dhe të lexojë mesazhin M. Kështu, kur përdorni një metodë të kombinuar të enkriptimit, përdoren çelësat kriptografikë të kriptosistemit simetrik dhe asimetrik. Natyrisht, zgjedhja e gjatësisë së çelësit për secilin lloj kriptosistemi duhet të kryhet në atë mënyrë që të jetë po aq e vështirë për një sulmues të sulmojë çdo mekanizëm sigurie të kriptosistemit të kombinuar.

Tabela e mëposhtme tregon gjatësitë kryesore të zakonshme të kriptosistemeve simetrike dhe asimetrike, për të cilat vështirësia e një sulmi me forcë brutale është afërsisht e barabartë me vështirësinë e faktorizimit të moduleve përkatëse të kriptosistemeve asimetrike (Schneier B. Cryptography Applied. - John Wiley & Sons, Inc., 1996. - 758 fq).

Publikime mbi temën