Mesaje off-the-record

Mesajele off-the-record ( OTR , transmiterea de mesaje neoficiale, confidențiale , germane care  nu sunt destinate publicului ) este un protocol pentru criptarea mesajelor în mesageria instantanee . Reglează actualizarea și gestionarea continuă a cheilor de sesiune de scurtă durată.

Spre deosebire de transmiterea mesajelor criptate cu OpenPGP (sau, în cazuri rare, de asemenea, cu un certificat X.509 ), cu mesaje off-the-record nu mai este posibil să se stabilească ulterior dacă o anumită cheie a fost utilizată de o anumită persoană (principiul negării credibile , negarea plauzibilă engleză ). Drept urmare, după încheierea conversației, nimeni (nici măcar unul dintre cei doi parteneri de comunicare) nu poate dovedi că unul dintre partenerii de comunicare a făcut o anumită declarație.

Acest principiu este implementat prin utilizarea combinată a procesului criptografic simetric Advanced Encryption Standard (AES), schimbul de chei Diffie-Hellman și funcția hash criptografică SHA-1 . O bibliotecă de programe și numeroase programe de mesagerie instant sunt disponibile, care pot utiliza protocolul fie direct, fie prin module suplimentare.

Obiectivele proiectului

Următoarele patru pietre de temelie sunt definite în statutele proiectului:

Criptare (Criptare)
Nimeni nu poate citi știrile.
Autentificare (autentificare)
Puteți fi sigur că destinatarul este cine credeți că este.
Repudierea (negarea)
Mesajele criptate nu conțin o semnătură electronică . Deci, este posibil ca cineva să falsifice mesaje după o conversație, astfel încât să pară că provin de la dvs. Cu toate acestea, în timpul unei conversații, destinatarul poate fi sigur că mesajele primite sunt autentice și neschimbate.
Consecințe ( secretul perfect înainte )
Dacă cheia privată (de lungă durată) cade în mâinile unei terțe părți, acest lucru nu are niciun efect asupra compromisului conversațiilor anterioare: conversațiile nu pot fi decriptate ulterior.

Implementare tehnică

Următoarea secțiune simplifică funcția protocolului OTR în versiunea 2.

Prezentare generală

În timpul comunicării lor reciproce, Alice și Bob aleg respectivele chei private . Două pe rând, de exemplu și , sunt folosite pentru a crea un secret comun folosind schimbul de chei Diffie-Hellman . Cheile și sunt calculate din acest secret .

este utilizat pentru a cripta fiecare mesaj folosind Advanced Encryption Standard (AES) în modul contor . Acest lucru transformă cifrul bloc simetric AES într-un cifru de flux . Alice și Bob folosesc semnături digitale pentru autentificarea inițială , astfel încât să poată fi siguri cu cine comunică în timpul conversației. este utilizat pentru autentificarea unui singur mesaj folosind SHA-1 ( Secure Hash Algorithm 1) hash funcția , care este utilizat ca codul de autentificare Mesaj (MAC).

La trimiterea de mesaje, noi chei private , respectiv , și generează cheia AES și MAC corespunzătoare. Cheile private care nu mai sunt utilizate sunt șterse, astfel încât Alice să nu mai poată fi asociată cu mesajele sale. Totuși, aceasta înseamnă, de asemenea, că Alice nu își poate citi propriile mesaje sau mesajele lui Bob după aceea. În plus, tastele MAC care nu mai sunt utilizate sunt publicate, astfel încât orice altă persoană ar fi putut semna mesajele Alice.

Pentru schimbul de chei Diffie-Hellman este un număr prim de 1536 de biți și un modulo rădăcină primitiv cu nevoi. Toate exponențierile au loc apoi la modul acest număr prim.

initializare

La începutul unei conversații, trebuie schimbate cheile inițiale și trebuie verificată autenticitatea partenerilor de conversație, adică Alice și Bob trebuie să fie siguri cu cine comunică. Acest lucru îl împiedică pe Alice, de exemplu, să schimbe chei cu atacatorul Eve în loc de Bob . Întregul proces se numește Authenticated Key Exchange (AKE) și este implementat cu protocolul SIGMA:

  1. Alice și Bob aleg cheia privată , respectiv (min. 320 biți lungime), înlocuiesc cheia publică corespunzătoare , respectiv , și obținută prin metoda Diffie-Hellman , un secret comun .
  2. Prin intermediul unui canal sigur poate fi creat acum, fiecare abonat de comunicare se autentifică utilizând o semnătură digitală către celălalt despre asta. În prezent, OTR acceptă doar algoritmul de semnătură digitală .

Între timp, conexiunea este întotdeauna criptată cu AES, dacă este posibil, iar mesajele individuale sunt autentificate folosind SHA-256 - HMAC .

Trimite un mesaj

Să presupunem că Alice vrea să îi trimită mesajul lui Bob . Realizează următorii pași:

  1. Alice selectează ultima cheie Diffie-Hellman pe care a primit-o de la Bob . Cheia lui Bob este considerată primită dacă a folosit-o pentru un mesaj pe care Alice l-a primit sau a fost schimbat anterior folosind AKE (a se vedea secțiunea de mai sus), ceea ce evident nu poate fi decât în ​​cazul respectiv .
  2. Dacă cea mai nouă cheie Diffie-Hellman a lui Alice, ea generează aleatoriu o nouă cheie cu cel puțin 320 de biți în lungime.
  3. Fii ultima cheie Diffie-Hellman primită de la Bob. Cheia este considerată primită aici din nou dacă Bob a adăugat-o la ultimul mesaj (vezi mai jos) sau dacă a fost schimbată folosind AKE.
  4. Secretul comun Diffie-Hellman poate fi acum calculat (modulo ) ca.
  5. Calculați cheia AES , unde indică primii 128 de biți ai valorii hash SHA-1 . a fost introdus anterior într-un anumit format de date și extins cu un octet .
  6. Calculați cheia MAC ca valoare hash de 160 biți SHA-1 de .
  7. Pentru modul contor care va fi utilizat ulterior, este necesar un contor care este selectat astfel încât triplul să nu apară niciodată de două ori pe parcursul întregului schimb de mesaje cu Bob.
  8. Mesajul este acum criptat în modul contor folosind algoritmul AES. Cheia utilizată pentru aceasta este contorul pe care tocmai l-ați selectat . Se apelează mesajul criptat în acest fel .
  9. Mesajul criptat , , iar unele părți criptografic neimportante , cum ar fi numărul de versiune a protocolului care urmează să fie combinate și care autentificarea codului de mesaj folosind tasta calculat. Aici denotă Codul de autentificare a mesajului cu cheie (HMAC) utilizând funcția hash SHA-1 și cheia .
  10. și toate tastele MAC neutilizate sunt trimise lui Bob printr-un canal nesigur.

Primiți un mesaj

Bob primește datele generate mai sus de la Alice și face următoarele:

  1. Bob l-a primit deja fie printr-un mesaj vechi de la Alice, fie prin AKE. Astfel, poate fi același secret împărțit de Diffie-Hellman prin calcularea, cu și în indicarea indexurilor conținute.
  2. La fel ca Alice și, el poate calcula.
  3. Cu ajutorul lui , calculează și compară valoarea primită cu cea transmisă de Alice. Aceasta verifică autenticitatea mesajului și îl protejează împotriva atacurilor intermediarilor .
  4. Cu ajutorul și , care este inclus în mesajul trimis de Alice , el decriptează mesajul cu algoritmul AES în modul contor și îl primește înapoi. Acest lucru funcționează deoarece AES este simetric, deci folosește aceeași cheie pentru criptare și decriptare .

Revizuirea obiectivelor

Criptare (Criptare)
Criptosistemul AES utilizat a fost supus unor teste criptanalitice detaliate și este practic fiabil.
Autentificare (autentificare)
Folosind AKE și semnături digitale, Bob poate fi sigur (chiar și într-un moment ulterior) că Alice a ales cheia publică . Deoarece următorul mesaj și, de asemenea, următoarea cheie este semnat cu ajutorul acestei chei , Bob poate fi sigur de identitatea persoanei cu care vorbește în toate mesajele ulterioare.
Repudierea (negarea)
Alice își folosește semnătura digitală doar la începutul conversației. Toate mesajele ulterioare sunt semnate cu tastele MAC . Deoarece secretul partajat este necesar pentru a genera cheia MAC , Bob poate fi sigur că Alice a semnat mesajul. Cu toate acestea, el nu poate dovedi acest lucru altcuiva, deoarece ar fi putut semna și mesajul. În plus, prin publicarea cheilor MAC care nu mai sunt folosite, nimeni nu poate verifica autenticitatea mesajelor, deoarece oricine le-ar fi putut semna. Numai Bob poate fi sigur că Alice a trimis mesajul, deoarece doar ambii știu cheia MAC corespunzătoare în momentul primirii. Cu toate acestea, prin utilizarea unei semnături digitale la începutul conversației, nimeni nu poate nega a avut loc o conversație.
Consecințe ( secretul perfect înainte )
Dacă Alice își pierde cheia privată de lungă durată, niciuna dintre cheile private de scurtă durată nu poate fi derivată din aceasta, deoarece acestea nu au fost niciodată publicate și șterse la scurt timp după ce au fost utilizate. Deoarece numai aceste chei private de scurtă durată au fost folosite pentru a cripta și semna mesajele, conversația nu a fost compromisă în ciuda pierderii cheii private de lungă durată.

Un alt concept de securitate este falsificarea . Cu cifrarea flux (AES în modul contor) utilizată pentru criptare , în care textul simplu este legat pur și simplu cu un XOR pentru a obține textul cifrat , atacatorul poate modifica textul cifrat dacă o parte din textul clar este ghicit cu succes, astfel încât această parte să devină orice text decriptat. Acest lucru nu reduce securitatea, deoarece prin semnarea mesajului cu cheia MAC, Bob poate fi sigur că mesajul falsificat nu a venit de la Alice. Cu toate acestea, atacatorul poate semna ulterior acest mesaj deoarece a fost publicată cheia MAC asociată. Acest lucru face ca Alice să fie mai dificil de asociat cu ea prin conținutul unui mesaj, deoarece mesajul poate fi ulterior semnat de toată lumea și modificat într-o măsură limitată.

Criptanaliza

O criptanaliză asistată de computer a protocolului din versiunea 2 a fost efectuată de Universitatea Stanford și au fost descoperite mai multe vulnerabilități: un atac intermediar a făcut posibilă trecerea la o versiune mai veche a protocolului (de exemplu versiunea 1) pentru a exploata puncte slabe. În plus, negarea în sensul cel mai puternic, adică faptul că oricine ar fi putut semna un mesaj, nu mai este dată în cazul unui atacator cu control complet asupra rețelei. Acesta din urmă poate înlocui tastele MAC publicate cu date aleatorii, ceea ce înseamnă că nu mai este posibil ca alții să semneze valid mesaje cu aceste chei. În plus, autorii au găsit un atac în timpul autentificării în AKE, care, totuși, poate fi descoperit și nu are consecințe de anvergură.

Disponibilitate

Implementare referință

libotr
Date de bază

dezvoltator Echipa OTR
Versiunea actuală  4.1.1
(9 martie 2016)
sistem de operare Windows , Linux , x BSD , macOS
limbaj de programare Java (java-otr) sau C (libotr)
categorie Criptare
Licență LGPL / GPL ( Software gratuit )
Vorbitoare de limbă germană da
otr.cypherpunks.ca

Cei doi dezvoltatori, Ian Goldberg și Nikita Borisov, oferă o bibliotecă de programe numită libotr ca implementare de referință a protocolului . De asemenea, este publicat în cod sursă ca software liber și licențiat în conformitate cu termenii licenței GNU Lesser General Public License (LGPL). Un set de instrumente pentru falsificarea mesajelor este furnizat împreună cu biblioteca. Dezvoltatorii oferă, de asemenea, un plugin pentru pidgin . Acestea din urmă sunt ambele supuse termenilor licenței publice generale GNU (GPL).

Suport nativ

Următorii clienți acceptă nativ mesaje off-the-record. Aceasta include faptul că puteți utiliza OTR cu toate protocoalele de mesagerie instant implementate (de exemplu , OSCAR , XMPP , MSN și YIM ). O altă listă de programe poate fi găsită pe site-ul dezvoltatorului.

Partea inerentă

Conecteaza

Proxy

În primul rând, a fost dezvoltat un proxy care ar trebui să permită utilizarea cu protocolul OSCAR (AIM / ICQ), chiar dacă clientul de chat în sine nu acceptă OTR. Software-ul nu a mai fost dezvoltat din 2005, iar producătorul recomandă utilizarea acestuia.

poveste

OTR a fost prezentat de Nikita Borisov, Ian Avrum Goldberg și Eric A. Brewer în 2004 la „Workshop on Privacy in the Electronic Society” (WPES) ca o îmbunătățire față de sistemele OpenPGP și S / MIME. La 21 noiembrie 2004 a fost publicată prima versiune 0.8.0 a implementării de referință. În 2005, Mario Di Raimondo, Rosario Gennaro și Hugo Krawczyk au prezentat o analiză care a atras atenția asupra mai multor vulnerabilități și le-a sugerat corecții, inclusiv în special o lacună de securitate în schimbul de chei. Ca urmare, versiunea 2 a protocolului OTR a fost publicată în 2005, care implementează o variantă a modificării propuse, care ascunde și cheia publică. În plus, a fost introdusă posibilitatea fragmentării mesajelor OTR pentru sistemele de chat cu dimensiuni limitate ale mesajelor și a fost implementată o posibilitate mai simplă de verificare împotriva atacurilor intermediarilor fără compararea sumelor cheie de verificare. Cunoașterea oricărui secret comun poate fi utilizată prin Protocolul Socialist Millionaires, pentru care o entropie relativ scăzută poate fi tolerată. Versiunea 3 a protocolului a fost publicată în 2012. Ca o măsură împotriva restabilirii constante a unei sesiuni cu mai mulți clienți de chat concurenți care sunt conectați la aceeași adresă de utilizator în același timp, o versiune 3 a introdus o identificare mai precisă a instanței clientului expeditor și destinatar. În plus, se negociază o cheie suplimentară care poate fi utilizată pentru un alt canal de date.

Au fost propuse mai multe sisteme pentru a sprijini mai mulți apelanți. O procedură propusă de Jiang Bian, Remzi Seker și Umit Topaloglu în 2007 a folosit sistemul unui participant ca „server virtual”. Procedura „Multi-party Off-the-Record Messaging” (mpOTR), publicată în 2009, a reușit fără o instanță organizațională centrală și a fost dezvoltată de Ian Goldberg și colab. Introdus în Cryptocat . În 2013, TextSecure a introdus protocolul Axolotl bazat pe mesaje OTR și Instant Messaging Silent Circle Protocol (SCIMP). Ca o caracteristică suplimentară centrală, a adus suport pentru comunicarea asincronă („mesaje offline”), precum și o mai bună rezistență în caz de întrerupere a secvenței de mesaje și suport mai simplu pentru mai mulți participanți la apel. OMEMO introdus în Conversații în 2015 integrează Axolotl în protocolul de mesagerie instant XMPP („Jabber”) și acum permite și securizarea transferurilor de fișiere. A fost trimis spre standardizare către XMPP Standards Foundation în toamna anului 2015 .

Protocolul milionarilor socialiști

Socialist Milionarii Protocolul (SMP) permite compararea amprentelor digitale ale cheilor publice , care de altfel are loc în afara benzii , care urmează să fie înlocuit de un secret comun .

Alte domenii de aplicare

  • Apple iCloud Keychain folosește protocolul OTR pentru a transfera ID-ul de utilizator și parolele de pe dispozitivul Apple pe dispozitivul Apple.

Link-uri web

Dovezi individuale

  1. a b Protocolul de mesagerie off-the-record versiunea 2 (engleză)
  2. Joseph Bonneau, Andrew Morrison: Analiza securității statului finit a versiunii OTR 2. (PDF (105 kB)) Universitatea Stanford, accesat la 13 iulie 2011 (engleză).
  3. Site-ul ChatSecure
  4. IM + pe Google Play
  5. github.com
  6. mcabber Changelog, consultați „mcabber (0.9.4)” (engleză)
  7. Phonix Viewer , OSS
  8. qutIM 0.3.1 jurnal de schimbări pe Facebook
  9. Rocket.Chat Channel Actions , engleză
  10. SecuXabber în Google Play Store (engleză)
  11. Jurnal de schimbări Spark
  12. Xabber în Google Play Store , engleză
  13. Gajim OTR , engleză
  14. Irssi OTR , engleză
  15. Miranda OTR Plugin ( Memento de la 1 martie 2012 în Internet Archive ), engleză
  16. MirOTR, Miranda NG Wiki
  17. thunderbird.net
  18. Thunderbird: OTR - MozillaWiki. 22 mai 2019, accesat la 20 iulie 2019 .
  19. Plugin OTR Pidgin , engleză
  20. Psi-Patch și OTR-Plugin pe tfh-berlin.de ( Memento din 26 martie 2009 în Internet Archive ), engleză
  21. Site-ul web al versiunii de dezvoltare Psi Psi + , în limba engleză
  22. Colecție de pluginuri pentru Vacuum IM
  23. weechat-otr , engleză
  24. Xchat OTR ( memento al originalului din 27 februarie 2016 în Internet Archive ) Info: Arhiva link - ul a fost introdus în mod automat și nu a fost încă verificată. Vă rugăm să verificați linkul original și arhivă conform instrucțiunilor și apoi eliminați această notificare. , Engleză  @ 1@ 2Șablon: Webachiv / IABot / xchat.org
  25. Nikita Borisov, Ian Avrum Goldberg, Eric A. Brewer: Comunicare off-the-record sau, de ce să nu folosiți PGP . În: Association for Computing Machinery (Ed.): WPES '04: Lucrări ale atelierului ACM 2004 privind confidențialitatea în societatea electronică . ACM Press, New York octombrie 2004, pp. 77-84 ( cypherpunks.ca [PDF]).
  26. ^ Mario Di Raimondo, Rosario Gennaro, Hugo Krawczyk: Mesaje sigure off-the-record . În: Association for Computing Machinery (Ed.): Lucrări ale atelierului ACM 2005 privind confidențialitatea în societatea electronică . 2005, p. 81-89 ( unict.it [PDF]).
  27. ^ Jiang Bian, Remzi Seker, Umit Topaloglu: Mesaje instantanee off-the-record pentru conversații de grup . În: IEEE (Ed.): IEEE International Conference on Information Reuse and Integration . 2007 ( online (PDF)). Off-the-record Instant Messaging pentru Grupul de conversație ( amintirea originalului din 04 ianuarie 2016 în Internet Archive ) Info: Arhiva link - ul a fost introdus în mod automat și nu a fost încă verificată. Vă rugăm să verificați linkul original și arhivă conform instrucțiunilor și apoi eliminați această notificare.  @ 1@ 2Șablon: Webachiv / IABot / gotr.googlecode.com
  28. Chris Alexander, Ian Avrum Goldberg: Autentificare îmbunătățită a utilizatorului în mesaje off-the-record . În: Association for Computing Machinery (Ed.): Lucrări ale atelierului ACM 2007 privind confidențialitatea în societatea electronică . New York octombrie 2007, p. 41-47 , doi : 10.1145 / 1,314,333.1314340 ( cypherpunks.ca [PDF]).
  29. otr.cypherpunks.ca
  30. Ian Avrum Goldberg, Berkant Ustaoğlu, Matthew D. Van Gundy, Hao Chen: Mesaje multi-party off-the-record . În: Association for Computing Machinery (Ed.): Lucrările celei de-a 16-a conferințe ACM privind securitatea computerelor și comunicațiilor . 2009, p. 358-368 , doi : 10.1145 / 1,653,662.1653705 ( cypherpunks.ca [PDF]).
  31. Nik Unger, Sergej Dechand, Joseph Bonneau, Sascha Fahl, Henning Perl, Ian Avrum Goldberg, Matthew Smith: SoK: Secure Messaging . În: Comitetul tehnic al IEEE Computer Society pentru securitate și confidențialitate (Ed.): Lucrările Simpozionului IEEE 2015 privind securitatea și confidențialitatea . 2015, p. 232-249 ( ieee-security.org [PDF]).
  32. ^ Andreas Straub: OMEMO Encryption. (Nu mai este disponibil online.) În: site-ul XMPP Standards Foundation. 25 octombrie 2015, arhivat din original la 29 ianuarie 2016 ; accesat pe 4 ianuarie 2016 . Informații: linkul arhivei a fost inserat automat și nu a fost încă verificat. Vă rugăm să verificați linkul original și arhivă conform instrucțiunilor și apoi eliminați această notificare.  @ 1@ 2Șablon: Webachiv / IABot / xmpp.org
  33. Daniel Gultsch: OMEMO Encrypted Jingle File Transfer. În: site-ul XMPP Standards Foundation. 2 septembrie 2015, accesat la 4 ianuarie 2016 .
  34. heide.de / ... - Keychain iCloud: vulnerabilitatea a permis accesul la parole al terților. 4 august 2017. Adus pe 5 august 2017.