This is an old revision of the document!
Perfect forward secrecy (Savršena unaprijedna sigurnost)
Savršena unaprijedna sigurnost, odnosno perfect forward secrecy (PFS), je enkripcijsko svojstvo nekih protokola za razmjenu ključeva koje osigurava kratkotrajnu privatnu razmjenu ključeva među klijentima i poslužiteljima. PFS štiti podatke na transportnom sloju (SSL/TLS) i štiti podatke prethodnih sesija od buduće ranjivosti ključeva ili lozinki.
Kako bi se postigla takva sigurnost, PFS koristi ključeve sesije automatski generirane pri svakom povezivanju, odnosno pri svakoj novoj poslanoj poruci. Ključevi ne koriste prethodne podatke, što eliminira potrebu za dugotrajnim čuvanjem ključeva i uklanja ranjivost trenutnih podataka u slučaju da su prethodni ključevi kompromitirani.
PFS u potpunosti štiti od pasivnih napadača koji samo prikupljaju podatke ili kradu ključeve sa servera, ali ne i od aktivnih napadača koji napadaju kriptosustav u pozadini razmjene ključeva ili koriste klasični napad čovjeka u sredini (man-in-the-middle attack). PFS u pravilu koristi Diffie-Hellman algoritam razmjene ključeva kako bi spriječio čitanje prošlih podataka. Diffie-Hellman za potpis najčešće koristi statični potpisni ključ. Ako napadač uspješno dođe do ključa, može impersonirati server u komunikaciji s klijentom (i obrnuto) te izvesti klasični napad čovjeka u sredini.
PFS je prisutan u implementacijama mnogih protokola, kao npr. u SSL protokolu, OMEMO ekstenziji XMPP protokola ili u određenim postavkama IPSec-a. OpenSSL PFS postiže pomoću eliptičnog Diffie-Hellman algoritma, a protokol aplikacije za razmjenu poruka Signal koristi Double Ratchet algoritam kako bi postigao PFS.
Izvori
[1] Mark Stamp, Information Security Principles and practice, JohnWiley & Sons, 2011.
[2] https://signal.org/docs/specifications/doubleratchet/
[3] Kriptografija i kriptoanaliza, predavanja, FER
[4] https://www.sectigo.com/resource-library/perfect-forward-secrecy
[5] https://www.cert.hr/wp-content/uploads/2019/04/NCERT-PUBDOC-2009-12-284.pdf