Off-the-Record meddelanden
Off-the-Record Messaging ( OTR ) är ett kryptografiskt protokoll som ger kryptering för snabbmeddelandekonversationer . OTR använder en kombination av AES symmetrisk nyckelalgoritm med 128 bitars nyckellängd, Diffie–Hellman-nyckelutbytet med 1536 bitars gruppstorlek och SHA-1- hashfunktionen. Utöver autentisering och kryptering tillhandahåller OTR vidaresekretess och formbar kryptering .
Den primära motivationen bakom protokollet var att ge konversationsdeltagarna en förnekbar autentisering samtidigt som konversationerna hölls konfidentiella, som en privat konversation i verkligheten, eller off the record i journalistikförsörjning . Detta till skillnad från kryptografiverktyg som producerar utdata som senare kan användas som en verifierbar registrering av kommunikationshändelsen och deltagarnas identiteter. Den första introduktionen fick namnet "Off-the-Record Communication, or, Why Not To Use PGP ".
OTR-protokollet designades av kryptograferna Ian Goldberg och Nikita Borisov och släpptes den 26 oktober 2004. De tillhandahåller ett klientbibliotek för att underlätta stöd för klientutvecklare för snabbmeddelanden som vill implementera protokollet. Det finns ett Pidgin- och Kopete -plugin som gör att OTR kan användas över vilket IM-protokoll som helst som stöds av Pidgin eller Kopete, och erbjuder en automatisk identifieringsfunktion som startar OTR-sessionen med kompisarna som har det aktiverat, utan att störa vanliga, okrypterade konversationer. Version 4 av protokollet är för närvarande [ när? ] designad av ett team som leds av Sofia Celi, och recenserad av Nik Unger och Ian Goldberg. Den här versionen syftar till att tillhandahålla förnekelse online och offline, att uppdatera de kryptografiska primitiverna och att stödja leverans i oordning och asynkron kommunikation.
Historia
OTR presenterades 2004 av Nikita Borisov, Ian Avrum Goldberg och Eric A. Brewer som en förbättring jämfört med OpenPGP och S/MIME-systemet på "Workshop on Privacy in the Electronic Society" (WPES). Den första versionen 0.8.0 av referensimplementeringen publicerades den 21 november 2004. 2005 presenterades en analys av Mario Di Raimondo, Rosario Gennaro och Hugo Krawczyk som uppmärksammade flera sårbarheter och föreslog lämpliga korrigeringar, framför allt inklusive en brist i nyckelbytet. Som ett resultat publicerades version 2 av OTR-protokollet 2005 som implementerar en variant av den föreslagna ändringen som dessutom döljer de publika nycklarna. Dessutom infördes möjligheten att fragmentera OTR-meddelanden för att hantera chattsystem som har en begränsad meddelandestorlek, och en enklare metod för verifiering mot man-in-the-middle-attacker implementerades.
2007 publicerade Olivier Goffart mod_otr
för ejabberd , vilket gör det möjligt att utföra man-in-the-middle-attacker på OTR-användare som inte kontrollerar nyckelfingeravtryck. OTR-utvecklare motverkade denna attack genom att införa socialistiskt miljonärsprotokoll i libotr. Istället för att jämföra viktiga kontrollsummor kan kunskap om en godtycklig delad hemlighet användas för vilken relativt låg entropi kan tolereras genom att använda det socialistiska miljonärsprotokollet .
Version 3 av protokollet publicerades 2012. Som en åtgärd mot upprepad återupprättande av en session i händelse av att flera konkurrerande chattklienter loggas in på samma användaradress samtidigt, mer exakta identifieringsetiketter för att skicka och ta emot klientinstanser introducerades i version 3. Dessutom förhandlas en extra nyckel som kan användas för en annan datakanal.
Flera lösningar har föreslagits för att stödja samtal med flera deltagare. En metod som föreslogs 2007 av Jiang Bian, Remzi Seker och Umit Topaloglu använder systemet för en deltagare som en "virtuell server". Metoden som kallas "Multi-party Off-the-Record Messaging" (mpOTR) som publicerades 2009 fungerar utan en central förvaltningsvärd och introducerades i Cryptocat av Ian Goldberg et al.
2013 introducerades Signal Protocol som är baserat på OTR Messaging och Silent Circle Instant Messaging Protocol (SCIMP). Det gav stöd för asynkron kommunikation ("offlinemeddelanden") som sin stora nyhet, såväl som bättre motståndskraft med förvrängd ordning på meddelanden och enklare stöd för konversationer med flera deltagare. OMEMO , introducerad i en Android XMPP-klient som heter Conversations 2015, integrerar Double Ratchet Algorithm som används i Signal i snabbmeddelandeprotokollet XMPP ("Jabber") och möjliggör även kryptering av filöverföringar. Hösten 2015 lämnades den in till XMPP Standards Foundation för standardisering.
För närvarande har version 4 av protokollet utformats. Den presenterades av Sofía Celi och Ola Bini på PETS2018.
Genomförande
Förutom att tillhandahålla kryptering och autentisering – funktioner som också tillhandahålls av typiska krypteringssviter med offentliga nyckel, som PGP , GnuPG och X.509 ( S/MIME ) – erbjuder OTR också några mindre vanliga funktioner:
- Vidarebefordra sekretess : Meddelanden krypteras endast med tillfälliga AES - nycklar per meddelande, förhandlade med hjälp av Diffie–Hellman-nyckelutbytesprotokollet . Kompromissandet av eventuella långlivade kryptografiska nycklar äventyrar inte några tidigare konversationer, även om en angripare är i besittning av chiffertexter .
- Förnekar autentisering : Meddelanden i en konversation har inga digitala signaturer , och efter att en konversation är klar kan vem som helst förfalska ett meddelande så att det verkar ha kommit från en av deltagarna i konversationen, vilket försäkrar att det är omöjligt att bevisa att en ett specifikt meddelande kom från en specifik person. Inom konversationen kan mottagaren vara säker på att ett meddelande kommer från den person som de har identifierat.
Autentisering
Från och med OTR 3.1 stöder protokollet ömsesidig autentisering av användare med hjälp av en delad hemlighet genom det socialistiska miljonärsprotokollet . Den här funktionen gör det möjligt för användare att verifiera identiteten för den fjärranslutna parten och undvika en man-in-the-midten-attack utan besväret att manuellt jämföra fingeravtryck för offentlig nyckel via en extern kanal.
Begränsningar
På grund av begränsningar i protokollet stöder OTR inte gruppchatt med flera användare från och med 2009, men det kan komma att implementeras i framtiden. Från och med version 3 av protokollspecifikationen härleds en extra symmetrisk nyckel under autentiserade nyckelutbyten som kan användas för säker kommunikation (t.ex. krypterad filöverföring ) över en annan kanal. Stöd för krypterat ljud eller video är inte planerat. ( SRTP med ZRTP finns för det ändamålet.) Ett projekt för att ta fram ett protokoll för multi-party off-the-record meddelanden (mpOTR) har organiserats av Cryptocat , eQualitie och andra bidragsgivare inklusive Ian Goldberg.
Sedan OTR-protokollet v3 (libotr 4.0.0) stöder plugin-programmet flera OTR-konversationer med samma kompis som är inloggad på flera platser.
Kundsupport
Utvecklare | OTR utvecklingsteam |
---|---|
Stabil frisättning | 4.1.1 / 9 mars 2016
|
Skrivet i | C |
Operativ system | Cross-plattform |
Typ | Programvarubibliotek |
Licens | LGPL v2.1+ |
Hemsida |
Native (stöds av projektutvecklare)
Dessa klienter stöder Off-the-Record Messaging direkt. (ofullständig lista)
- Adium ( OS X )
- Blink SIP-klient ( OS X )
- BitlBee (plattformsoberoende), sedan 3.0 (valfritt vid kompilering)
- CenterIM ( Unix-liknande ), sedan 4.22.2
- ChatSecure ( iOS )
- Zom Mobile Messenger ( Android )
- climm ( Unix-liknande ), eftersom (mICQ) 0.5.4
- IronChat, baserat på Xabber ( Android )
- Jitsi (plattformsoberoende)
- Kadu ( plattformsoberoende ), sedan 1.0
- Kopete ( Unix-liknande )
- LeechCraft (plattformsoberoende)
- MCabber ( Unix-liknande ), sedan 0.9.4
- Svordomar , sedan 0.4.1
- Psi ( plattformsoberoende )
- Psi+ ( plattformsoberoende )
- Textual 5 ( OS X ), sedan 5.1.2
- Mozilla Thunderbird , sedan 68
- Xabber ( Android )
- Tkabber ( plattformsoberoende ), sedan version 1.1
- irssi , i (kommande) utgåvor släppta efter augusti 2018, för närvarande i "master"-repo
Via tredjeparts plug-in
Följande klienter kräver ett plugin-program för att använda Off-the-Record Messaging.
- HexChat , med ett plugin från tredje part
- Miranda NG ( Microsoft Windows ), med ett plugin från tredje part
- Pidgin ( cross-platform ), med ett plugin tillgängligt från OTRs hemsida
- WeeChat , med ett plugin från tredje part
- HexChat , för *nix-versioner, med ett plugin från tredje part
Förvirring med Google Talk "off the record"
Även om Gmails Google Talk använder termen "off the record" har funktionen ingen koppling till Off-the-Record Messaging-protokollet som beskrivs i den här artikeln, dess chattar krypteras inte på det sätt som beskrivs ovan – och kan loggas internt av Google även om det inte är tillgängligt för slutanvändare.
Se även
Vidare läsning
-
Joseph Bonneau; Andrew Morrison (21 mars 2006). "Finite-State Security Analysis of OTR Version 2" (PDF) . Hämtad 5 september 2013 .
{{ citera journal }}
: Citera journal kräver|journal=
( hjälp ) -
Mario Di Raimondo; Rosario Gennaro & Hugo Krawczyk (2005). "Secure Off-the-Record Messaging" (PDF) . Proceedings of 2005 ACM Workshop on Privacy in the Electronic Society. Föreningen för Datormaskiner . Hämtad 27 augusti 2013 .
{{ citera journal }}
: Citera journal kräver|journal=
( hjälp )
externa länkar
- Officiell hemsida
- Protokollspecifikation
- Off-the-Record Messaging: Användbar säkerhet och sekretess för IM , föredrag av Ian Goldberg vid University of Waterloo (video)
- på YouTube