Mesager de sesiune

mesager de sesiune
Tip de SUNT
Dezvoltator Fundația Loki
Scris in C++
Interfață EGL
Sistem de operare Linux , Windows , Android , MacOS , iOS [1]
Limbi de interfață Engleză
Prima editie 4 februarie 2020 [2]
ultima versiune 1.11.20 (22 martie 2022)
Licență GPL v3 [3]
Site-ul web getsession.org

Session messenger  este un mesager deschis descentralizat (fost Loki Messenger) bazat pe ecosistemul Oxen (fost Loki blockchain), care acceptă criptarea end-to-end bazată pe protocolul Signal, precum și eliminarea unor metadate. Acest messenger vă permite să faceți schimb de mesaje și diferite fișiere cu o cantitate minimă de metadate de utilizator [4] .

Session Messenger nu necesită un număr de telefon sau o adresă de e-mail pentru a se înregistra [5] .

La crearea unui cont, se generează un ID unic aleatoriu [6] . După aceea, puteți trimite acest ID persoanelor de contact dorite sau puteți citi și trimite un cod QR .

Istorie

Session messenger este succesorul Loki messenger. Prima versiune a fost lansată pe 04 februarie 2020 pe Google Play [2] .

Începând cu versiunea 1.1.0, există posibilitatea de a alege între sincronizarea mesajelor de fundal și notificările push [7] . Pe Android , mesajele push sunt sincronizate prin Firebase Cloud Messaging (FCM) de la Google .

Informații de bază

Acest mesager folosește lucrul descentralizat bazat pe blockchain-ul Oxen (numit anterior Loki), precum și lucrul prin rutarea cepei. Este folosit un roi de servere descentralizate, care sunt construite pe baza blockchain-ului Oxen - Oxen Service Node. La rândul său, funcționarea blockchain-ului Oxen se bazează pe protocolul CryptoNote [8] .

O altă componentă fundamentală a Session este protocolul de rutare onion și așa-numitele cereri onion, care permit clienților Session să-și ascundă adresele IP prin crearea unei căi aleatorii prin 3 noduri de servire în rețea [9] . Sesiunea acceptă și mesageria asincronă (offline) [10] .

În diagramă, Alice folosește cereri de ceapă pentru a le trimite către nodurile de ascultare ale lui Bob. Bob primește acest mesaj folosind cereri de ceapă, apoi trimite mesajul către Nodurile de ascultare ale lui Alice [11] .

Protocolul Signal permite clienților să accepte Perfect Forward Secrecy (PFS) și Deniable Authentication cu mesagerie asincronă după stabilirea sesiunii inițiale folosind chei pe termen lung [11] .

Protocolul de semnalizare realizează PFS prin negocierea cheilor - Extended Triple Diffie -Hellman (X3DH) și algoritmul Double Ratchet pentru derivarea cheilor de mesaj [11] . Returnarea informațiilor private are loc printr-o schemă specială PIR (Private Information Retrieval). Aceste protocoale permit utilizatorului să caute informații în nodurile de servire fără a cunoaște nodurile în sine, ce informații au fost selectate și transmise utilizatorului [12] . În messenger, puteți, de asemenea, să creați chat-uri de grup folosind criptarea end-to-end [13] .

Grupurile deschise pot fi create de la 3 la 500 de membri. Limita de 500 de membri a fost introdusă deoarece, în cazul grupurilor foarte mari, există o probabilitate mare ca unul dintre membri să fie un atacator sau un membru cu un dispozitiv infectat. Grupurile închise cu criptare end-to-end pot fi create de la 3 la 10 participanți [14] .

Modificări ale protocolului Signal

Pe lângă protocolul de semnalizare, au fost făcute modificări pentru a evita utilizarea serverelor centrale și pentru a partaja pachetele de prechei. De asemenea, la fiecare mesaj se adaugă informații de serviciu despre rutarea necesară și verificarea corectitudinii creării unui mesaj [15] .

Măsuri de securitate aplicate în Session Messenger

  1. Anonimitatea expeditorului: cheia de identificare pe termen lung a expeditorului este cunoscută doar de participanții la conversație, iar adresa IP a expeditorului este necunoscută celorlalte părți, cu excepția primului hop (nod de intrare) din cererea de ceapă. Totuși, nodul de intrare nu cunoaște nici adresa de destinație, nici conținutul mesajului [16] .
  2. Anonimitatea destinației : adresa IP de destinație este necunoscută altor părți, cu excepția primului hop (nod de intrare) din cererea de ceapă. Și, de asemenea, nodul de intrare nu cunoaște adresa de destinație sau conținutul mesajului [16] .
  3. Integritatea datelor : Mesajele sunt primite intacte și nemodificate, iar dacă un mesaj a fost modificat în tranzit, acesta este marcat corupt și aruncat [16] .
  4. Stocare : Mesajele criptate sunt stocate temporar în noduri și sunt disponibile pentru un timp specificat Time To Live (TTL) [16] .
  5. Criptare end-to-end : Mesajele (cu excepția solicitărilor de prietenie) au proprietăți de protocol Off the Record (OTR) numite Perfect Forward Secrecy (PFS) și Autentificare refuzată ) [16] .

Caracteristici suplimentare

Multi-dispozitive

Sesiunea acceptă mai multe dispozitive. Astfel, îl puteți folosi pe un computer, laptop, telefon, precum și pe alte dispozitive în același timp [17] . Acest lucru necesită ca tastele să fie sincronizate între cele două dispozitive. Din punctul de vedere al utilizatorului, ambele dispozitive trebuie să aibă aceeași pereche de chei publice/private.

Diagrama prezintă transferul de informații folosind mai multe dispozitive. Alice trimite un mesaj de pe dispozitivul ei principal lui Bob, care are mai multe dispozitive activate în același timp. Alice trimite un mesaj către dispozitivele primare și secundare ale lui Bob. De asemenea, își trimite un mesaj, pentru ca dispozitivul ei secundar să-și lase mesajul pe alt dispozitiv. (Pentru a simplifica figura, interogările de ceapă nu sunt afișate aici, precum și replicarea mesajelor în roi.)

Transferarea atașamentelor

Trimiterea fișierelor este acceptată de până la 10 MB. Înainte de trimitere, fișierul este criptat cu o cheie AES aleatorie. Expeditorul trimite apoi fișierul prin solicitări de ceapă. Ca răspuns, serverul de fișiere trimite un link către conținut, care este, de asemenea, returnat prin solicitări de ceapă. După aceea, expeditorul trimite un mesaj destinatarului prin sesiunea existentă. Acest mesaj conține un link către conținut, hash-ul acestuia și o cheie de decriptare. Destinatarul folosește cereri de ceapă pentru a prelua mesajul criptat de pe serverul de fișiere și apoi îl decriptează folosind cheia de decriptare pe care a primit-o de la expeditor. De asemenea, destinatarul verifică hash-ul atașării pentru a verifica dacă fișierul nu a fost modificat în tranzit [18] .

Alte caracteristici

Mesagerul are capacitatea de a crea mesaje care dispar cu o perioadă de la 5 secunde până la 1 săptămână. Pentru a vă proteja împotriva spamului, timpul maxim în care mesajele pot fi stocate într-un roi înainte de livrare este de 96 de ore [19] . Acest timp poate fi selectat în setările aplicației în interval de 12 ore - 96 de ore (Mesaj TTL) .

Session acceptă backup la unele servicii populare de backup în cloud. Backup-ul este criptat cu o cheie simetrică (derivată dintr-o cheie privată pe termen lung), care la rândul său este criptată cu o expresie de acces constând din 12 cuvinte aleatorii rostite [20] .

Mesagerul oferă protecție împotriva atacului Sybil , precum și protecție împotriva spam-ului [21] .

Avantajele Session messenger

  1. Descentralizare bazată pe blockchain.
  2. Suport pentru criptare end-to-end și protocol Signal.
  3. Înregistrarea în sistem nu necesită un număr de telefon sau e-mail.
  4. Suport pentru conversații de grup cu criptare end-to-end (până la 10 persoane).
  5. Suport pentru întrebări despre ceapă.
  6. Multiplatformă.

Dezavantajele Session messenger

  1. Performanță scăzută și, ca rezultat, livrarea mesajelor cu o întârziere vizibilă.
  2. Consum crescut de trafic de rețea (tipic pentru toți mesagerii descentralizați).

Vezi și

Link -uri

Note

  1. Pagina oficială de descărcare a Session messenger . Preluat la 5 mai 2020. Arhivat din original la 12 mai 2020.
  2. 1 2 Session messenger pe Google Play . Preluat la 5 mai 2020. Arhivat din original pe 22 mai 2020.
  3. Proiect Loki pe GitHub . Preluat la 5 mai 2020. Arhivat din original la 18 iunie 2020.
  4. White Paper (Ștergerea metadatelor) , p.1
  5. Carte albă , p.24
  6. Sesiune: Un mesager privat cu sursă deschisă care nu are nevoie de numărul dvs. de telefon . Preluat la 5 mai 2020. Arhivat din original la 2 mai 2020.
  7. Modificări în Session messenger (Google Play) . Preluat la 5 mai 2020. Arhivat din original pe 22 mai 2020.
  8. Carte albă , p.3
  9. Carte albă , p.4
  10. Carte albă , p.9
  11. 1 2 3 White Paper , p.10
  12. Carte albă , p.27
  13. Carte albă , p.12
  14. Carte albă , p.15
  15. Carte albă, pp.11-12
  16. 1 2 3 4 5 White Paper , p.1
  17. Carte albă , p.16
  18. Carte albă , pp. 18, 23
  19. Carte albă , p.23
  20. Carte albă , p.20
  21. Carte albă , pp. 3-4