Perfect forward secrecy

(Perfect) forward secrecy (of PFS) is in de cryptografie een eigenschap die ervoor zorgt dat in het geval een bepaalde sleutel uit een communicatiekanaal gecompromitteerd wordt, de voorgaande sleutels niet afgeleid kunnen worden. Hierdoor zijn de voorgaande berichten ook niet af te leiden. Een sleutel zou bijvoorbeeld gecompromitteerd kunnen worden indien een rechter beveelt deze af te staan of een aanvaller in een computer inbreekt.

Geschiedenis

PFS werd als eerste geïntroduceerd[1] door Diffie, Van Oorschot en Wiener, en werd gebruikt om een eigenschap van het Station-to-Station protocol (STS) te beschrijven, waarbij de langetermijngeheimen private keys zijn.

PFS is ook gebruikt[2] om de analoge eigenschap van wachtwoord geauthentiseerde sleutel overeenkomst protocollen te beschrijven, waarbij het langetermijngeheim een gedeeld wachtwoord is.

Annex D.5.1 van IEEE 1363-2000 bediscussieert de aan elkaar gerelateerde eenpartij- en tweepartijen-forwardsecrecy-eigenschappen van diverse standaardsleutelovereenkomstschema's.

Forward secrecy van een session key

Alice en Bob zijn met elkaar de session key overeengekomen. Nu willen ze graag forward secrecy over de door hun verstuurde berichten. Ze kiezen ervoor om voor het eerste bericht sleutel k te gebruiken, voor het 2e bericht , voor het ne bericht . is een hash functie die aan de volgende eisen voldoet:

One-wayness: Indien uit te rekenen is uit een gegeven , is het hele systeem onveilig. Alle voorgaande sleutels kunnen dan gewoon uitgerekend worden.

Collision resistance: Je wilt dat er telkens weer unieke nieuwe sleutels uit de hash-functie komen, indien blijft de reeks sleutels zich steeds herhalen, je kan dan met behalve bericht ook ontsleutelen.

Op deze manier zal de hash-functie telkens een nieuwe sleutel opleveren, vanuit een nieuwe sleutel is de oude niet te berekenen.

Daarnaast is het van belang dat ze de oude sleutel verwijderen, indien ze deze bewaren kan een mogelijk persoon die inbreekt op de computer nog steeds alle sleutels verkrijgen.

Protocollen

IPsec

IPsec heeft PFS als optie, deze maakt gebruik van het OAKLEY sleuteluitwisselingsprotocol (RFC 2412[3]), wat op zijn beurt weer gebruikmaakt van het Diffie-Hellman-sleuteluitwisselingsprotocol.

SSH

SSH[4] maakt gebruik van Diffie-Hellman sleutel uitwisselingen die voor PFS zorgen. SSH-sessies die resulteren uit een Diffie-Hellman sleutel uitwisseling (RFC 4253[5]) zijn dus veilig, ook als een private key later wordt achterhaald. Echter niet als de sessiesleutel is achterhaald. Gegeven dit heeft SSH perfect forward secrecy.

In het geval dat Diffie-Hellmanparameters worden achterhaald kan natuurlijk ook de sessiesleutel achterhaald worden, echter behoren deze gegevens verwijderd te worden nadat de sleuteluitwisseling klaar is. Deze behoren dus niet per ongeluk op een swapschijf opgeslagen te worden.

OpenPGP

OpenPGP stelt gebruikers in staat, veelal via e-mail, veilig te communiceren. Elke gebruiker heeft een private key en een public key die iedereen weet, deze public key is veelal voor lange termijn geldig en te vinden op een website of keyserver. Bij e-mail is het echter een stuk lastiger om forward secrecy te handhaven, aangezien hier geen sprake is van een directe verbinding tussen verzender en ontvanger.

Er bestaat echter wel een draft om PFS toe te voegen aan het protocol.[6] Het idee is dat er keys worden gegenereerd die slechts een beperkte levensduur hebben en deze te groeperen onder een zogenaamde long term signature (langetermijnhandtekening). Een verlopen private key dient op het moment dat de levensduur verstreken is verwijderd te worden, anders kan een aanvaller nog steeds alle berichten achterhalen. Het probleem zit er vooral in hoe dit goed, makkelijk en flexibel te beheren is in een mailclient.

Off the Record Messaging

Off-the-Record Messaging, een cryptografisch protocol en bibliotheek voor allerlei instant messaging clients, verschaft perfect forward secrecy evenals deniable encryption. Om PFS te bereiken wordt het Diffie-Hellman-sleuteluitwisselingsprotocol gebruikt.[7]

Transport Layer Security

In theorie kan Transport Layer Security afdoende versleuteling kiezen sinds SSLv3, maar in de alledaagse praktijk weigeren veel implementaties om PFS te verschaffen, of ze verschaffen het enkel met een zeer lage encryptie.[8]

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.