Signalprotokollet ( Signal Protocol , tidigare känt som TextSecure Protocol ) är ett kryptografiskt protokoll skapat av Open Whisper Systems för att tillhandahålla end-to- end-kryptering för röstsamtal, videosamtal [1] och snabbmeddelanden . Protokollet utvecklades av Open Whisper Systems 2013 och introducerades först i textSecure- applikationen med öppen källkod , som senare slogs samman i applikationensignal. Flera applikationer med stängd källkod, som WhatsApp , hävdar att de har implementerat detta protokoll, som de säger krypterar konversationerna med "mer än en miljard människor över hela världen" [3] . Facebook Messenger påstår sig också erbjuda detta protokoll för ytterligare "hemliga konversationer", liksom Google Allo för sitt "inkognitoläge".
Protokollet kombinerar Double Ratchet Algorithm , prekeys och Extended Diffie-Hellman Triple Key Exchange (3-DH) [4] och använder Curve25519 , AES-256 och HMAC - SHA256 som primitiver [5] .
Utveckling av signalprotokoll startades 2013 av Trevor Perrin och Moxie Marlinspike , av Open Whisper Systems . Målet med denna organisation är att utveckla en lättanvänd uppsättning mobilapplikationer för säker kommunikation. Organisationen grundades 2013 och består av en liten grupp utvecklare finansierade av donationer och bidrag, samt en stor gemenskap av frivilliga utvecklare. Den första versionen av protokollet, TextSecure v1, baserades på protokollet Off-the-Record Messaging (OTR) för snabbmeddelandesystem [7] .
Den 24 februari 2014 introducerade Open Whisper Systems TextSecure v2 [8] -protokollet , som portades till Axolotl Ratchet [9] -algoritmen . Idén med Axolotl Ratchet är baserad på det tillfälliga nyckelutbytet som introducerades av OTR , och kombinerar det med en symmetrisk nyckelspärr, modellerad efter Silent Circle Instant Messaging Protocol (SCIMP) [10] . Detta kunde implementera stöd för asynkron kommunikation ("offlinemeddelanden") som sin huvudsakliga nyhet, samt ökad robusthet mot skev meddelandeordning och gjorde det lättare att stödja konversationer med flera deltagare [4] . Axolotl Ratchet fick sitt namn efter den utrotningshotade amfibien axolotl som har en enastående förmåga att regenerera förlorade lemmar. Utvecklarna kallar denna algoritm för självläkande, eftersom den automatiskt inaktiverar en angripares åtkomst till vanliga texter i efterföljande meddelanden efter att sessionsnyckeln har äventyrats [10] .
Den tredje versionen av protokollet, TextSecure v3, införde några ändringar av de kryptografiska primitiverna och trådprotokollet . I oktober 2014 publicerade forskare vid Ruhruniversitetet Bochum en analys av TextSecure v3 [5] . Bland andra resultat presenterade de en okänd nyckelutbytesattack på protokollet, men totalt sett fann de att det var säkert [11] .
I mars 2016 döpte utvecklarna om protokollet till Signalprotokollet. De döpte också om Axolotl Ratchet Algorithm till Double Ratchet Algorithm för att bättre kunna skilja mellan algoritmen och det fullständiga protokollet [12] eftersom vissa använde namnet Axolotl när de hänvisade till det fullständiga protokollet [12] .
Från och med oktober 2016 var Signalprotokollet baserat på TextSecure v3-protokollet, men med ytterligare kryptografiska ändringar . I oktober 2016 publicerade forskare från University of Oxford i Storbritannien, Australian University of Technology Queensland och Kanadas McMaster University en formell analys av protokollet . De drog slutsatsen att detta protokoll är kryptografiskt säkert .
Protokollet tillhandahåller konfidentialitet , integritet, autentisering , deltagarkonsistens, destinationsverifiering, vidarebefordran, säkerhet efter kompromiss ( Post-Compromise Security , känd som Future Secrecy), bevarande av kausalitet, meddelandeavkoppling, meddelandeavvisning, avvisning av Det ger inte anonymitet och kräver att servrar vidarebefordrar meddelanden och lagrar information om offentlig nyckel [4] .
Signalprotokollet stöder också krypterade gruppchattar från slut till ände. Gruppchattprotokollet är en kombination av en parad dubbel ratchet och multicast-kryptering. Utöver funktionerna som tillhandahålls av en-till-en-protokollet, ger gruppchattprotokollet deltagarkonsistens, störningstolerans, meddelandemotståndskraft , beräkningslikvärdighet, trust equity, undergruppsmeddelanden och sammandragning och expansion av antalet deltagare [4] .
För autentisering kan användare manuellt jämföra offentliga nyckelfingeravtryck via en extern kanal. Detta tillåter användare att verifiera varandras identiteter och undvika man-in-the-midten- attacker. En implementering kan också använda en förtroendemekanism för första användning för att meddela användare när en korrespondents nyckel har ändrats [14] .
Signalprotokollet hindrar inte företag från att lagra information om när och med vem användare kommunicerar [14] [15] . Därför kan det finnas skillnader i hur leverantörer av meddelandetjänster väljer att hantera denna information. Signals integritetspolicy säger att mottagar-ID:n endast lagras på Signals servrar så länge det är nödvändigt för att överföra varje meddelande. I juni 2016 sa Moxie Marlinspike till The Intercept "Den information som ligger närmast den metadata som signalservern lagrar är sista gången varje användare ansluter till servern, och den informationen sjunker till en dag istället för en timme, en minut ." och sekunder" [15] .
Open Whisper Systems introducerade först protokollet i sin TextSecure- applikation . De kombinerade senare TextSecure-appen med ett krypterat röstsamtal som heter RedPhone och döpte om det till Signal. RedPhone använde ZRTP för att kryptera sina samtal. I mars 2017 bytte Signal till ett nytt samtalssystem baserat på WebRTC [1] , som också introducerade möjligheten att ringa videosamtal [16] . Det nya signalanropssystemet använder signalprotokollet för end-to- end-kryptering [1] .
I november 2014 tillkännagav Open Whisper Systems ett partnerskap med WhatsApp för att tillhandahålla end-to-end-kryptering genom att införliva Signal-protokollet i varje WhatsApp -klientplattform [17] . Open Whisper Systems uppgav att de redan har inkluderat protokollet i den senaste WhatsApp -klienten för Android och att andra klienter, gruppmeddelanden/ media och nyckelverifiering kommer att stödjas snart [18] . Den 5 april 2016 meddelade WhatsApp och Open Whisper Systems att de hade lagt till end-to-end-kryptering till "varje kommunikation" i WhatsApp och att användare nu kan verifiera varandras nycklar [19] [20] . I februari 2017 tillkännagav WhatsApp en ny WhatsApp Status-funktion som använder signalprotokollet för att säkra dess innehåll [21] .
I september 2015 lanserade G Data Software en ny meddelandeapp som heter Secure Chat som använder protokollet Signal [22] [23] .
I september 2016 lanserade Google en ny meddelandeapp kallad Allo som har ett valfritt inkognitoläge som använder signalprotokollet för end-to-end-kryptering [24] [25] .
I oktober 2016 rullade Facebook ut ytterligare ett läge kallat Secret Conversations i Facebook Messenger , som tillhandahåller end-to- end-kryptering med hjälp av Signal [26] [27] [28] [29] -protokollet .
I januari 2018 tillkännagav Open Whisper Systems och Microsoft tillägget av signalprotokollstöd till ett valfritt Skype -läge kallat Private Conversations [30] [31] .
I februari 2020 släpptes den nya Session Messenger (tidigare Loki Messenger), som är baserad på Signal-protokollet och stöder end-to-end-kryptering. Deklarerade decentralisering på blockkedjan och arbete genom lökrouting.
Signalprotokollet har påverkat andra kryptografiska protokoll. Den 3 maj 2016 uppgav Viber att deras krypteringsprotokoll är en anpassad implementering som använder samma tillvägagångssätt som Signal Protocol [32] [33] . Den 9 maj 2016 uppgav utvecklarna av Wire att deras Proteus-krypteringsprotokoll är baserat på Signal [34] [35] -protokollet .
Double Ratchet Algorithm , som introducerades som en del av signalprotokollet, har också antagits av andra protokoll. OMEMO är en tillägg till det öppna XMPP-protokollet som introducerades till meddelandeapplikationen Conversations och godkändes av XMPP Standards Foundation (XSF) i december 2016 som XEP-0384 [36] . Matrix är ett öppet kommunikationsprotokoll som inkluderar Olm, ett bibliotek som ger valfri end-to- end-kryptering över rum med hjälp av en implementering av Double Ratchet Algorithm .
Open Whisper Systems upprätthåller följande signalprotokollbibliotek på GitHub :