Dubbel spärralgoritm

Inom kryptografi är Double Ratchet Algorithm (tidigare kallad Axolotl Ratchet ) en nyckelhanteringsalgoritm som utvecklades av Trevor Perrin och Moxie Marlinspike 2013. Den kan användas som en del av ett kryptografiskt protokoll för att tillhandahålla end-to-end kryptering för snabbmeddelanden . Efter ett första nyckelutbyte hanterar den den pågående förnyelsen och underhållet av kortlivade sessionsnycklar. Den kombinerar en kryptografisk så kallad "ratchet" baserad på Diffie–Hellman-nyckelutbytet (DH) och en ratchet baserad på en nyckelhärledningsfunktion (KDF), såsom en hash-funktion , och kallas därför en dubbelspärr.

Algoritmen anses vara självläkande eftersom den under vissa förhållanden hindrar en angripare från att komma åt klartexten i framtida meddelanden efter att ha äventyrat en av användarens nycklar. Nya sessionsnycklar byts ut efter några omgångar av kommunikation. Detta tvingar effektivt angriparen att avlyssna all kommunikation mellan de ärliga parterna, eftersom de förlorar åtkomst så snart ett nyckelutbyte inträffar som inte avlyssnas. Den här egenskapen fick senare namnet Future Secrecy , eller Post-Compromise Security .

Etymologi

A gif of a ratchet moving showing that the mechanism can only move in one direction
En mekanisk spärrhake

" Axolotl " syftade på salamanderns självläkande egenskaper. Termen "spärr" i kryptografi används i analogi med en mekanisk spärr . I mekanisk mening tillåter en spärr bara framflyttning i en riktning; en kryptografisk ratchet tillåter endast att nycklar genereras från den föregående nyckeln. Till skillnad från en cirkulär spärr är dock varje stat unik.

Ursprung

The Double Ratchet Algorithm utvecklades av Trevor Perrin och Moxie Marlinspike ( Open Whisper Systems ) 2013 och introducerades som en del av Signal Protocol i februari 2014. Double Ratchet Algorithms design är baserad på DH-spärren som introducerades av Off-the- Spela in meddelanden (OTR) och kombinerar den med en spärrhake med symmetrisk nyckel modellerad efter Silent Circle Instant Messaging Protocol (SCIMP). Spärrhatten fick ursprungligen sitt namn efter den kritiskt hotade vattenlevande salamandern axolotl , som har enastående självläkande förmåga. I mars 2016 döpte utvecklarna om Axolotl Ratchet till Double Ratchet Algorithm för att bättre skilja mellan spärrhaken och det fullständiga protokollet, eftersom vissa hade använt namnet Axolotl när de hänvisade till signalprotokollet.

Egenskaper

Double Ratchet Algorithm har egenskaper som har varit allmänt tillgängliga i end-to-end-krypteringssystem under lång tid: kryptering av innehåll på hela transportvägen samt autentisering av fjärranslutningen och skydd mot manipulering av meddelanden . Som en hybrid av DH- och KDF -spärrhakar kombinerar den flera önskade egenskaper hos båda principerna. Från OTR- meddelanden tar det egenskaperna för vidarebefordran av sekretess och automatiskt återupprättande av sekretess i händelse av att en sessionsnyckel kompromitteras, vidarebefordran av sekretess med en kompromiss av den hemliga beständiga huvudnyckeln och troligt förnekande av författarskapet av meddelanden. Dessutom möjliggör den förnyelse av sessionsnyckeln utan interaktion med fjärranslutningen genom att använda sekundära KDF-spärrar. Ett ytterligare steg för nyckelhärledning tas för att möjliggöra kvarhållande av sessionsnycklar för meddelanden som inte fungerar utan att äventyra följande nycklar.

Det sägs [ av vem? ] för att upptäcka omordning, radering och uppspelning av skickade meddelanden och förbättra sekretessegenskaperna för vidarebefordran i jämförelse med OTR-meddelanden.

Kombinerat med infrastruktur för offentlig nyckel för kvarhållande av förgenererade engångsnycklar (förnycklar), möjliggör det initiering av meddelandesessioner utan närvaron av den fjärranslutna peeren ( asynkron kommunikation ). Användningen av trippel Diffie–Hellman-nyckelutbyte (3-DH) som initial nyckelutbytesmetod förbättrar förnekbarhetsegenskaperna. Ett exempel på detta är Signal Protocol, som kombinerar Double Ratchet Algorithm, prekeys och en 3-DH handskakning. Protokollet tillhandahåller konfidentialitet, integritet, autentisering, deltagarkonsistens, destinationsvalidering, framåtriktad sekretess, bakåtsekretess (alias framtida sekretess), kausalitetsbevarande, meddelandeavlänkning, meddelandeavvisning, avvisning av deltagande och asynkronitet. Den tillhandahåller inte anonymitetsbevarande, och kräver servrar för vidarebefordran av meddelanden och lagring av publika nyckelmaterial.

Fungerande

Diagram över arbetsprincipen

En klient förnyar sessionsnyckelmaterial i interaktion med fjärransluten med hjälp av Diffie–Hellman-spärr när det är möjligt, annars oberoende genom att använda en hash-spärr. Därför, för varje meddelande en klient som använder den dubbla spärrhaken flyttar fram en av två hash-spärrar (en för att skicka, en för att ta emot) som seedas med en gemensam hemlighet från en DH-spärr. Samtidigt försöker den använda varje tillfälle att förse den fjärranslutna peeren med ett nytt publikt DH-värde och flytta fram DH-spärren närhelst ett nytt DH-värde från den avlägsna peeren anländer. Så snart en ny gemensam hemlighet har etablerats, initieras en ny hash-spärr.

Som kryptografiska primitiver använder Double Ratchet Algorithm

för DH-spärrhaken
Elliptic curve Diffie–Hellman (ECDH) med Curve25519 ,
för meddelandeautentiseringskoder (MAC, autentisering)
Keyed-Hash Message Authentication Code (HMAC) baserad på SHA-256 ,
för symmetrisk kryptering
Advanced Encryption Standard (AES), delvis i Cipher Block Chaining- läge (CBC) med stoppning enligt PKCS #5 och delvis i Counter-läge (CTR) utan stoppning,
för hash-spärrhaken
HMAC.

Ansökningar

Följande är en lista över applikationer som använder Double Ratchet Algorithm eller en anpassad implementering av den:

Anteckningar

Litteratur

  • Cohn-Gordon, Katriel; Cremers, Cas; Dowling, Benjamin; Garratt, Luke; Stebila, Douglas (25 oktober 2016). "En formell säkerhetsanalys av signalmeddelandeprotokollet" (PDF) . Kryptologi ePrint-arkiv . International Association for Cryptologic Research (IACR).
  • Frosch, Tilman; Mainka, Christian; Bader, Christoph; Bergsma, Florian; Schwenk, Jörg; Holz, Thorsten (2014). "Hur säkert är TextSecure?" (PDF) . Kryptologi ePrint-arkiv . International Association for Cryptologic Research (IACR) . Hämtad 16 januari 2016 .
  • Unger, Nik; Dechand, Sergej; Bonneau, Joseph; Fahl, Sascha; Perl, Henning; Goldberg, Ian Avrum; Smith, Matthew (2015). SoK: Secure Messaging (PDF) . Proceedings of the 2015 IEEE Symposium on Security and Privacy. IEEE Computer Societys tekniska kommitté för säkerhet och integritet. s. 232–249. doi : 10.1109/SP.2015.22 .

externa länkar