Protocol criptografic

Un  protocol criptografic este un protocol abstract sau concret care include un set de algoritmi criptografici , adesea o secvență de primitive criptografice . Protocolul se bazează pe un set de reguli care guvernează utilizarea transformărilor criptografice și a algoritmilor în procesele informaționale pentru schimbul de mesaje între doi sau mai mulți participanți, precum și o descriere a structurilor utilizate .

Într-un protocol, participanții (subiect, petrecere) pot fi aplicații , persoane, grupurile acestora sau, de exemplu, organizații. Cu alte cuvinte, tot ceea ce, indiferent de motiv, este capabil să joace un rol activ sau pasiv în funcționarea protocolului. Deci, în special, majoritatea protocoalelor sunt dezvoltate ținând cont de prezența unui ascultător pasiv capabil să intercepteze mesajele .

Apariția celor mai simple protocoale datează de la sfârșitul anilor 1970, începutul anilor 1980 [1] . Contribuția la apariția lor a fost adusă de specialiști precum Ronald Rivest , Adi Shamir [2] , Roger Needham , Michael Schroeder [3] și mulți alții. Bruce Schneier oferă o descriere a protocoalelor cunoscute în cartea sa Applied Cryptography [4] .

Funcții

Protocolul criptografic are următoarele funcții [5] :

Compoziție

Protocolul este împărțit în treceri ( eng.  pass ) sau cicluri ( eng.  round ), care reprezintă intervalul de timp de activitate al unui singur participant. În protocoalele concepute pentru mai mult de doi participanți, dacă este necesar, sincronizarea acestora, ciclul este perioada de timp dintre două puncte de sincronizare [6] .

Pasajul, la rândul său, constă din pași ( English  step, action ) - acțiuni specifice finalizate efectuate de participant [6] .

De exemplu:

Implementarea protocolului, sau chiar descrierea teoretică a acestuia pentru participanți specifici, fiecare dintre ele având unul sau mai multe roluri , se numește sesiune .  Într-o altă sesiune a protocolului, participanții pot schimba rolurile și pot îndeplini funcții complet diferite [6] .

Astfel, un protocol descrie regulile de comportament al fiecărui participant abstract în protocol. Și sesiunea descrie o implementare specifică a protocolului care a avut deja loc în trecut [6] .

Convenții

La scrierea protocoalelor criptografice, se obișnuiește să se utilizeze fie termenii „emițător”, „destinator” etc., fie exemplificatori pentru a desemna participanții . Corespondența dintre ele este următoarea [6] :

Pentru a scrie primitive, se obișnuiește să se folosească următoarea notație [6] :

Exemple de utilizare a notației [6] :

Clasificare

La nivel global, protocoalele pot fi împărțite în două grupe: primitive și aplicate [7] .

Un protocol criptografic primitiv nu are  o utilizare practică în sine, dar poate face parte dintr-un protocol de aplicație. Rezolvă o problemă abstractă [7] .

Protocolul criptografic aplicat ( ing.  protocol criptografic al aplicației ) are o aplicație practică, este folosit pentru a rezolva probleme practice de securitate. Aceste protocoale implementează de obicei mai multe funcții criptografice simultan. Și uneori sunt o întreagă familie de protocoale care pot modifica parametrii sistemului după cum este necesar. De exemplu, sistemul de plăți electronice [7] .

Cu toate acestea, există clasificări mai precise [5] :

  1. Clasificare după numărul de participanți:
    • bilateral
    • trilateral
    • multilateral
  2. Clasificare după numărul de mesaje transmise:
    • interactiv (există un schimb reciproc de mesaje)
    • non-interactiv (transmisie unică)
  3. Clasificare în funcție de scopul propus al protocolului:
    • integritatea mesajului cu/fără autentificarea originii
    semnatura digitala
    • individual/grup
    • cu/fără recuperare mesaj
    • orbeşte
    • cu dovada de fals
    • autentificare / identificare unidirecțională / bidirecțională (reciprocă).
    schimb de mesaje
    • transmitere confidențială obișnuită
    • mesaje confidențiale de difuzare/difuzare
    • schimb sincer de secrete
    • transmitere neglijentă
    • legarea la un bit (șir)
    distribuirea cheilor
    • preliminar
    • transfer de chei (schimb de chei)
    • generarea de chei în colaborare (distribuirea cheilor publice)
    • pereche/grup
    • împărtășire secretă
  4. Clasificare în funcție de tipul de sisteme criptografice utilizate:
  5. Clasificare după funcționare:
    • interactiv/non-interactiv
    • unic / două / trei, etc prin
    • protocol cu ​​un arbitru (protocol cu ​​un intermediar)
    • bidirecțional / cu o terță parte de încredere (cu un centru de încredere)

Atacurile

Există următoarele direcții [8] :

Tipuri de atacuri asupra protocoalelor criptografice

  1. Omul din mijloc este un  tip de atac în care un atacator se introduce în canalul de comunicare dintre participanți, modificând mesajele transmise sau redirecționându-le. Este vulnerabil la protocoalele care nu au autentificarea reciprocă a părților [6] .
  2. Reluare mesaj ( atac de reluare în engleză  ) - reutilizarea unui mesaj transmis anterior sau a oricărei părți a acestuia în sesiunea curentă a protocolului. De exemplu, înregistrând mai întâi un mesaj care conține o cheie criptată, puteți petrece o perioadă arbitrară de timp decriptându-l și apoi forțați participanții să o refolosească [5] .
  3. Atacul cu erori de tip - similar cu un  atac de reluare, singura diferență fiind că mesajul este transmis într-o altă rundă a protocolului, modificându-și astfel valoarea în protocol [6] .
  4. Atacul cu sesiuni paralele ( eng.  parallel-session attack ) - un atac în timpul căruia un atacator inițiază mai multe sesiuni paralele cu participanții și transmite mesaje de la o sesiune la alta [6] .

Proprietăți de securitate

Există o mulțime de proprietăți care caracterizează securitatea unui protocol criptografic. În mod obișnuit, proprietățile protocoalelor care le caracterizează rezistența la diferite atacuri sunt formulate ca obiective ( goals în engleză )  sau cerințe pentru protocoale. Interpretarea acestor obiective s-a schimbat și s-a rafinat de-a lungul timpului. Cea mai completă și modernă interpretare a acestor obiective este dată în documentele organizației internaționale IETF . Proprietățile de securitate (obiective, cerințe) în documentele IETF înseamnă în prezent următoarele 20 de obiective, grupate în 10 grupuri [9] :

  1. Autentificare (non-difuzare):
    • G1 Autentificare subiect ( Eng.  Peer Entity Authentication ) Autentificarea participanților la protocolul de prezență, autoritatea lor și, de asemenea, că aceștia participă cu adevărat la execuția sesiunii curente a protocolului.
    • G2 Autentificare mesaj ( Engleză  Message authentication ) Autentificarea sursei de date. Deoarece fără garanția că mesajul nu a fost modificat, această proprietate devine inutilă, există și o cerință pentru integritatea mesajului.
    • G3 Anti-reluare ( Eng.  Replay Protection ) Garantează că mesajul nu este retrimis. În funcție de context, aceasta poate însemna fie că mesajul a fost generat într-o anumită sesiune, fie că mesajul a fost generat într-un interval de timp cunoscut. sau că mesajul nu a fost primit mai devreme.
  2. Autentificare atunci când difuzați la mai multe adrese sau când vă conectați la un serviciu de abonament/notificare:
    • G4 Autentificare implicită (ascunsă) a destinatarului ( Ing.  Autentificare implicită a destinației ) Protocolul trebuie să asigure că numai acei participanți care sunt autorizați de expeditor vor avea acces la informațiile trimise, mesajul multicast sau comunicarea de grup.
    • Autentificare sursă G5( Autentificarea sursei în engleză  ) Membrii legitimi ai grupului pot verifica autenticitatea sursei și conținutului informațiilor sau mesajului de grup. Acestea includ cazurile în care membrii grupului nu au încredere unul în celălalt.
  3. Autorizare G6 (de la o terță parte de încredere) ( Autorizare ing.  (de la o terță parte de încredere) ) O terță parte de încredere prezintă un participant unui alt participant, dându-i încrederea că pot avea încredere unul în celălalt.
  4. Proprietăți de generare a cheilor în colaborare:
    • Autentificare cheie G7( Autentificare cheie în limba engleză  ) Unul dintre participanți primește confirmarea că niciun alt participant, cu excepția unui al doilea participant predeterminat (și, eventual, alți participanți de încredere), nu poate accesa nicio cheie secretă.
    • Validarea cheii G8( Confirmare  cheie, dovada deținerii cheii ) Unul dintre participanți primește confirmarea că al doilea participant (eventual nedefinit) are într-adevăr o cheie secretă specifică (sau are acces la toate materialele cheie necesare pentru a o calcula).
    • G9 Protecție la citire din spate ( Engleză  Perfect Forward Secrecy ) Compromisul cheilor pe termen lung nu duce la compromisul cheilor vechi de sesiune.
    • G10 Generarea de chei noi ( English  Fresh Key Derivation ) Utilizarea managementului dinamic al cheilor pentru a obține chei de sesiune proaspete.
    • G11 Abilitatea sigură de a negocia parametrii de securitate ( ing.  Negocierea capabilităților securizate ) Detectarea capacităților criptografice și a preferințelor participanților, precum și negocierea parametrilor de securitate (cum ar fi puterea cheii și cifrurile).
  5. G12 Confidențialitate ( English  Confidentiality , Secrecy ) O garanție că un mesaj sau o parte din acesta nu va deveni disponibil sau dezvăluit participanților neautorizați și unui atacator.
  6. Anonimat :
    • G13 Protecția identității față de neparticipanți (neobligatorie) ( ing.  Protecția identității împotriva interceptatorilor ) Un atacator care nu este un participant legitim la protocol nu ar trebui să poată asocia un mesaj schimbat de o parte cu identitatea reală a acelei părți.
    • G14 Protecția identității față de participanți ( Ing.  Protecția identității împotriva egalului ) Un participant legitim la protocol nu ar trebui să poată asocia un mesaj transmis de o parte cu identitatea reală a acelei părți.
  7. G15 (Limitat) Securitate împotriva atacurilor de refuzare a serviciului
    • ( engleză  (limitată) rezistență la refuzul serviciului ) rezistență la DoS. Este dificil de verificat, deoarece protocolul poate fi supus atacurilor DoS din diverse motive, dintre care cel mai frecvent este consumul de prea multe resurse (memorie, putere de procesare) înainte ca un participant să se autentifice. Dar există multe alte motive: printre altele, protocoalele pot fi vulnerabile la un atac DoS asupra alocării memoriei, puterii de procesare.
  8. G16 Invarianța expeditorului
    • ( Eng.  Sender Invariance ) Partea câștigă încredere că sursa mesajului a rămas aceeași cu cea care a început mesajul.
  9. Imposibilitatea renunțării la acțiunile comise anterior:
    • G17 Responsabilitate ( Responsabilitate în limba engleză  ) Garantează că acțiunile participantului pot fi urmărite fără ambiguitate.
    • G18 Dovada sursei ( Dovada originii în limba engleză  ) Dovadă irefutabilă a trimiterii unui mesaj.
    • G19 Dovada Beneficiarului ( ing.  Dovada de livrare ) Dovada irefutabila a primirii mesajului.
  10. G20 Proprietate temporară sigură ( English  Safety Temporal Property ) Capacitatea de a folosi operatorul cândva în trecut pentru a descrie relația dintre rundele de protocol. De exemplu, dacă un utilizator dorește să asculte muzică la un serviciu, la un moment dat în trecut a trebuit să plătească pentru un abonament.

Note

  1. Alfred J. Menezes , Paul C. van Oorschot , Scott A. Vanstone. Manual de Criptografie Aplicată . - CRC Press, 1996. - S. 1-2. — 816 p. - ISBN 0-8493-8523-7 . Arhivat la 1 decembrie 2021 la Wayback Machine
  2. Ronald L. Rivest , Adi Shamir. Cum să expuneți o persoană cu urechea  //  Comunicațiile ACM. - 1984. - Aprilie ( nr. 27 ). - P. 393-394 .
  3. Roger M. Needham , Michael D. Schroeder. Utilizarea criptării pentru autentificare în rețele mari de computere // Comunicații ale ACM. - 1978. - Decembrie. - S. 993-999 .
  4. Bruce Schneier. Criptografie aplicată . - John Wiley & Sons, 1996. - 784 p. - ISBN 978-1-119-09672-6 . Arhivat pe 18 noiembrie 2021 la Wayback Machine
  5. ↑ 1 2 3 Cheryomushkin A. V. Protocoale criptografice: proprietăți de bază și vulnerabilități  // Applied Discrete Mathematics: Application. - 2009. - Noiembrie ( Nr. 2 ).
  6. ↑ 1 2 3 4 5 6 7 8 9 10 Vladimirov S.M. și altele.Manual de securitate a informațiilor al Departamentului de Inginerie Radio și Sisteme de Control al Institutului de Fizică și Tehnologie din Moscova (6 septembrie 2013). Preluat la 5 octombrie 2021. Arhivat din original la 5 octombrie 2021.
  7. ↑ 1 2 3 Iașcenko V.V. , Varnovsky N.P. , Nesterenko Yu.V. , Kabatyansky G.A. , Devyanin P.N. , Proskurin V.G. , Cheremushkin A.V. , Gyrdymov P.A. Zubov A. , Iuv . ed. V. V. Iascenko . - 2012. - S. 45. - 348 p. - ISBN 978-5-4439-0026-1 . Arhivat pe 17 noiembrie 2021 la Wayback Machine
  8. Shakhanova M. V. , Varlataya S. K. Metode criptografice și mijloace de asigurare a securității informațiilor. Complex de instruire și metodologie. / Recenzători: Kornyushin P. N. , Glushkov S. V. . — Universitatea Tehnică de Stat din Orientul Îndepărtat: Prospekt LLC, 2015. Arhivat 17 noiembrie 2021 la Wayback Machine
  9. Proprietăți (Goals)  (engleză)  (link nu este disponibil) . Grupul operativ de inginerie a internetului . Preluat la 4 noiembrie 2021. Arhivat din original la 23 martie 2019.