Autentifikovano šifrovanje

S Vikipedije, slobodne enciklopedije

ATM korisnik koji se autentifikuje

Autentifikovano šifrovanje (AE) i autentifikovano šifrovanje sa pridruženim podacima (AEAD) su oblici šifrovanja koji istovremeno obezbeđuju poverljivost i autentičnost podataka.

Autentifikacija je čin dokazivanja tvrdnje, kao što je identitet korisnika računarskog sistema. Za razliku od identifikacije, čina navođenja identiteta osobe ili stvari, autentifikacija je proces verifikacije tog identiteta.[1] To može uključivati potvrđivanje ličnih dokumenata, verifikaciju autentičnosti veb-sajta sa digitalnim sertifikatom,[2] određivanje starosti artefakta pomoću ugljenikovog datiranja ili osiguranje da proizvod ili dokument nisu falsifikovani. Sadržaj

Namena[uredi | uredi izvor]

Pored zaštite integriteta i poverljivosti poruke, autentifikovano šifrovanje može da obezbedi zaštitu od napada sa izabranim šifratom (engl. CCA). Napadač očekuje otvorene tekstove za pažljivo odabrane šifrate. Shema za autentifikovano šifrovanje može da prepozna nepravilno izgrađene šifrate i da odbije da ih dešifruje. Ovim se sprečava da napadač zahteva dešifrovanje šifrata koje algoritam za šifrovanje nije dobro izgenerisao. Ispravno implementirano autentifikovano šifrovanje čini nemogućim napad sa dešifrovanjem proizvoljnih šifrata.

Razvijeno je više specijalizovanih postupaka autentifikovanih šifrovanja predviđenih za primenu sa simetričnim blokovskim šiframa. Opšte, generičko rešenje autentifikovanog šifrovanja može se konstruisati kombinovanjem algoritma za šifrovanja i autentikacionog koda poruke (engl. MAC), pod uslovom da:[3]

Programski interfejs[uredi | uredi izvor]

Klasični programski interfejs za realizaciju AE obezbeđuje sledeće:

  • Šifrovanje
    • Ulaz: otvoreni tekst, ključ i opciono zaglavlje otvorenog teksta koje, iako se ne šifruje, biva zaštićeno u pogledu autentičnosti
    • Izlaz: šifrat i autentikacioni blok (autentikacioni kod poruke)
  • Dešifrovanje
    • Ulaz: šifrat, ključ, autentikacioni blok i opciono zaglavlje, ako se koristi tokom šifrovanja
    • Izlaz: otvoreni tekst ili greška, ako autentikacioni blok ne odgovara šifratu ili zaglavlju

Istorija[uredi | uredi izvor]

Potreba za autentifikovanim šifrovanjem proistekla je iz zapažanja da bi bezbedno kombinovanje zasebnih režima rada blokovskih šifara namenjene obezbeđenju[4][5], poverljivosti i autentikacije, moglo biti komplikovano i podložno greškama.

To su potvrdili brojni praktični napadi izazvani neispravnom implementacijom ili nedostatkom autentifikacije u protokolima i aplikacijama (SSL/TLS).[6]

U okviru standarda ISO/IEC 19772:2009 [7] predviđeno je šest različitih autentifikacionih načina šifrovanja (OCB 2.0, Key Wrap, CCM, EAX, Encrypt-then-MAC (EtM), i GCM) su standardizovani . Još nekoliko autentifikacionih metoda šifrovanja razvijeno je kao odgovor na konkurs NIST[8]. Sunđer funkcije mogu se koristiti u dupleks režimu za obezbeđivanje autentifikovanog šifrovanja.[9]

Belare i Namprempre su 2000. godine analizirali tri načina kombinovanja šifrovanja i MAC primitiva i pokazali da šifrovanje poruke, a zatim primena MAC na šifrat (pristup Encrypt-then-MAC) obezbeđuje sigurnost protiv adaptivnog napada sa izabranim šifratom. Kac i Jung istraživali su pojam pod nazivom „šifrovanje otporno na falsifikat“, za koji su dokazali da implicira otpornost od napada sa izabranim šifratom.

Godine 2013. objavljen je konkurs za dizajn režima autentifikovanog šifrovanja.[10]

Autentifikovano šifrovanje sa pridruženim podacima (AEAD)[uredi | uredi izvor]

AE ne pruža mogućnost dodavanja otvorenog teksta u situacijama kada je to potrebno, npr. kod dodavanja IP adrese poruci. Često su nešifrovani podaci potrebni za prenošenje zaglavlja, adresa, portova, verzije protokola i drugih podataka potrebnih da bi se odlučilo kako šifrovani tekst treba obraditi ili poslati. Potrebno je ove podatke proveriti iako ostaju otvoreni, kako bi uređaji za obradu mogli pravilno postupati sa podacima. AE shema može se modifikovati dodavanjem MAC za autentifikaciju otvorenih podataka.

Tako nastaje AEAD, varijanta AE, koja omogućava primaocu da proveri integritet i šifrovane i nešifrovane informacije u poruci. AE shema, kao i AEAD shema, koriste nonce, proizvoljni broj koji se može koristiti samo jednom u kriptografskoj komunikaciji. Ovo je neophodno da bi se onemogućilo da napadač ponovo uspostavi vezu između delova šifrovanih poruka pod istim ključem prilikom ponovne upotrebe sheme, kao i da bi se zaštitio od napada sa ponavljanjem, u kojem napadač,predstavljajući se kao legitimni korisnik, poruku ponovo šalje. AEAD povezuje pridružene podatke (AD) sa šifratom i kontekstom u kome se ti podaci pojavljuju, tako da se pokušaji, koji podrazumevaju da se validni šifrat prekopira u drugi kontekst, otkriju i odbace. Koristi se, na primer, kod mrežnih paketa.

Pristupi autentifikovanom šifrovanju[uredi | uredi izvor]

Encrypt-then-MAC (EtM)[uredi | uredi izvor]

Otvoreni tekst se prvo šifruje, a zatim se pravi MAC na osnovu dobijenog šifrata iz rezultata. Šifrat i njegov MAC se šalju zajedno. Koristi se, na primer, u IPsec.[11] Metoda je deo standarda ISO/IEC 19772:2009.[7] Ovo je jedina metoda kojom se može dostići najveća sigurnost u AE, ali to se može postići samo kada je upotrebljeni MAC „jako otporan na falsifikovanje“.[12] U novembru 2014.godine EtM proširenja TLS i DTLS su objavljena. U okviru SSHv2 predviđene su različite EtM kombinacije šifri. Moraju se koristiti različiti ključevi za šifrovanje i za heš funkciju. U suprotnom su možda mogući neki napadi, zavisno od metode šifriranja i korišćene heš funkcije.

Encrypt-and-MAC (E&M)[uredi | uredi izvor]

MAC se pravi na osnovu otvorenog teksta, a otvoreni tekst je šifrovan bez MAC-a. Otvoreni tekst MAC-a i šifrat se šalju zajedno. Koristi se, na primer, u SSH.[13] Iako se pokazalo da pristup E&M sam po sebi nije jako otporan na falsifikovanje [12], moguće je primeniti neke manje modifikacije na SSH i tako ga učiniti jako otpornim na falsifikovanjem.

MAC-then-Encrypt (MtE)[uredi | uredi izvor]

MAC se pravi na osnovu otvorenog teksta, a zatim se otvoreni tekst i MAC zajedno šifruju. Šalje se šifrat koji sadrži šifrovani MAC. Koristi se, na primer, u okviru SSL/TLS. [14] Iako nije pokazano da je MtE sam po sebi jako otporan na falsifikovanje[12], Kravčik (engl. Krawczyk) je dokazao da je SSL/TLS implementacija jako otporna na falsifikovanje i pokazao da je SSL/TLS u stvari siguran zbog korišćenja kodiranja pored MtE mehanizma.[15] Greške dopunjavanja često dovode do napada oracle dopunjavanja, kao što je Lucky Thirteen.

Reference[uredi | uredi izvor]

  1. ^ „What is Authentication? Definition of Authentication, Authentication Meaning”. The Economic Times. Pristupljeno 2020-11-15. 
  2. ^ Turner, Dawn M. „Digital Authentication: The Basics”. Cryptomathic. Arhivirano iz originala 14. 8. 2016. g. Pristupljeno 9. 8. 2016. 
  3. ^ IEEE 802.11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications (PDF). (2007 revision). IEEE-SA. 12. 6. 2007. ISBN 978-0-7381-5656-9. doi:10.1109/IEEESTD.2007.373646. 
  4. ^ M. Bellare; P. Rogaway; D. Wagner. „A Conventional Authenticated-Encryption Mode” (PDF). NIST. Pristupljeno 12. 3. 2013. „people had been doing rather poorly when they tried to glue together a traditional (privacy-only) encryption scheme and a message authentication code (MAC) 
  5. ^ T. Kohno; J. Viega & D. Whiting. „The CWC Authenticated Encryption (Associated Data) Mode” (PDF). NIST. Pristupljeno 12. 3. 2013. „it is very easy to accidentally combine secure encryption schemes with secure MACs and still get insecure authenticated encryption schemes 
  6. ^ „Failures of secret-key cryptography” (PDF). Daniel J. Bernstein. Arhivirano iz originala (PDF) 18. 4. 2013. g. Pristupljeno 12. 3. 2013. 
  7. ^ a b „Information technology -- Security techniques -- Authenticated encryption”. 19772:2009. ISO/IEC. Pristupljeno 12. 3. 2013. 
  8. ^ „Encryption modes development”. NIST. Pristupljeno 17. 4. 2013. 
  9. ^ The Keccak Team. „Duplexing The Sponge” (PDF). 
  10. ^ „CAESAR: Competition for Authenticated Encryption: Security, Applicability, and Robustness”. Pristupljeno 12. 3. 2013. 
  11. ^ „Separate Confidentiality and Integrity Algorithms”. RFC 4303. Internet Engineering Task Force (IETF). Pristupljeno 12. 9. 2018. 
  12. ^ a b v „Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm”. M. Bellare and C. Namprempre. Arhivirano iz originala 23. 01. 2018. g. Pristupljeno 13. 4. 2013. 
  13. ^ „Data Integrity”. RFC 4253. Internet Engineering Task Force (IETF). Pristupljeno 12. 9. 2018. 
  14. ^ „Record Payload Protection”. RFC 5246. Internet Engineering Task Force (IETF). Pristupljeno 12. 9. 2018. 
  15. ^ „The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)” (PDF). H. Krawczyk. Pristupljeno 13. 4. 2013. 

Literatura[uredi | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]

  1. ^ 11-12-20C8