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 .
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 .
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] .
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] .
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.)
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] .
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] .
Software de mesagerie instantanee | |||||||
---|---|---|---|---|---|---|---|
| |||||||