User Tools

Site Tools


pfs

This is an old revision of the document!


Perfect Forward Secrecy (Savršena unaprijedna sigurnost)

Savršena unaprijedna sigurnost (Perfect Forward Secrecy, PFS) enkripcijsko je svojstvo nekih protokola za razmjenu ključeva koje osigurava razmjenu kratkotrajnih privatnih ključeva među klijentima i poslužiteljima. Osim što im je kratak rok trajanja, ključevi se automatski generiraju pri svakom povezivanju klijenta i poslužitelja. Ako se PFS koristi pri slanju poruka, može se generirati novi ključ za svaku poslanu poruku. Na taj način, čak i ako netko dospije do jednog od korištenih ključeva, ima vrlo malo podataka koje može dekriptirati. 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.  Napad čovjeka u sredini na Diffie-Hellman razmjenu ključeva

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.  Double Ratchet algoritam aplikacije Signal[2]

Razvoj kvantnih računala učinit će neke kriptografske metode zastarjelima jer se njihova kompleksnost svodi samo na činjenicu da postoji velik broj kombinacija koje treba isprobati. Međutim, PFS je otporan i na to. On ne prenosi svoje ključeve preko mreže niti ih generira kao potpuno nasumične vrijednosti koje bi se potencijalno mogle pogoditi. Umjesto toga koristi se simetričnom enkripcijom te je za njegovo generiranje potrebna autentifikacija obiju strana, klijentske i poslužiteljske. Nije nemoguće ukrasti neki ključ, ali je smisao da svaki ključ daje pristup čim manjem segmentu podataka (primjerice, samo jednom klijentskom zahtjevu) kako bi podatci bili čim više fragmentirani te da napadač ne bi mogao dobiti pristup nekoj smislenoj cjelini podataka.

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

pfs.1700657843.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki