Proton Authenticator este o aplicație de autentificare cu sursă deschisă, cu doi factori (A2F), care generează coduri de parolă unică bazate pe timp (TOTP) pe dispozitivul dvs., permițându-vă să accesați servicii conectate cu un strat suplimentar de securitate. Folosește aceeași criptare bine testată care securizează restul ecosistemului Proton. Proton Authenticator este unic prin faptul că a fost proiectat de la zero pentru a fi disponibil pe aproape orice platformă, păstrând în același timp confidențialitatea dvs. și oferindu-vă proprietate totală asupra datelor dvs.

Spre deosebire de alte aplicații de autentificare, Proton Authenticator securizează datele dvs. cu criptare de la un capăt la altul, chiar și atunci când activați sincronizarea dispozitivelor.

Aceasta înseamnă că Proton Authenticator împiedică pe oricine, inclusiv Proton însuși, să știe la ce servicii conectate aveți conturi. Aceste informații, la fel ca e-mailurile sau istoricul dvs. de navigare, pot dezvălui multe despre dvs., iar protejarea lor este esențială pentru menținerea confidențialității dvs.

Criptarea de la un capăt la altul a Proton Authenticator garantează că toate operațiunile criptografice, inclusiv generarea cheilor și criptarea datelor, sunt efectuate local pe dispozitivul dvs. Aceasta înseamnă că datele dvs. necriptate nu pot fi accesate de Proton sau partajate cu terți. Serverele Proton nu au niciodată acces la datele dvs. necriptate, inclusiv parola Proton Account.

Model de criptare

Proton Authenticator adoptă o abordare cuprinzătoare pentru a asigura securitate și confidențialitate maximă pentru toate datele utilizatorului. Toate operațiunile criptografice au loc local pe dispozitivul dvs., iar orice date transmise către server sunt întotdeauna criptate. Proton nu are niciodată acces la cheile text neformatat necesare pentru a decripta datele utilizatorului, făcând imposibil pentru noi să decriptăm datele stocate, chiar dacă sunt solicitate de terți.

Proton Authenticator folosește aceeași criptare avansată pe care o folosim pentru autentificare în Proton Mail. Aceasta include utilizarea unei versiuni întărite a protocolului Secure Remote Password (SRP) care oferă garanții de securitate mai puternice împotriva atacurilor man-in-the-middle (MITM). Implementarea noastră înseamnă că, chiar și un atacator care poate în mod arbitrar să citească, modifice, întârzie, distrugă, repete sau fabrice mesaje între Proton și un utilizator într-un mod nedetectabil, este limitat la verificarea unei singure parole unice ghicite per încercare de conectare, echivalentul încercării de a se conecta direct. În acest fel, chiar dacă Proton este compromis și acționează malițios, informațiile echivalente parolei nu sunt niciodată dezvăluite.

Citiți mai multe despre criptarea autentificării Proton

Criptarea datelor

Proton Authenticator vă permite să stocați în siguranță codurile dvs. A2F, chiar dacă nu aveți un Proton Account. Aceasta înseamnă că procesul inițial de criptare trebuie făcut în întregime pe dispozitivul dvs. local. Apoi, dacă decideți că doriți să folosiți Proton Account pentru a sincroniza codurile dvs. între dispozitive, putem folosi cheile criptografice stocate pe serverele Proton pentru a efectua sincronizarea.

Criptarea Proton începe cu serverul Proton care furnizează versiunea criptată a cheii rădăcină pe care aplicația de autentificare o folosește pentru a cripta datele utilizatorului. Fiecare utilizator Proton are o User Key asimetrică, iar Proton criptează această User Key pe dispozitivul dvs. după cum urmează:

  • Conturi care folosesc o parolă unică de cont: Proton criptează User Key cu un hash bcrypt al parolei contului și sarea contului.
  • Conturi care folosesc caracteristica noastră de parole multiple de cont: Proton criptează User Key cu un hash bcrypt al parolei cheii și sarea contului.

Proton Authenticator folosește bcrypt și un cod aleator de cont pentru a face hash parolei dvs. ca un strat suplimentar de protecție împotriva atacurilor brute-force. Chiar dacă un actor malițios ar obține accesare la baza de date Proton, cheile contului dvs. ar fi în siguranță împotriva atacurilor brute-force.

Odată ce activați sincronizarea, Proton Authenticator generează o Authenticator Key aleatorie de 32 de octeți. Această cheie este criptată și semnată cu User Key-ul dvs., asigurând că doar dvs. o puteți decripta — nimeni (nici măcar Proton) nu poate citi sau crea o nouă Authenticator Key. Odată ce aveți acces la Authenticator Key, toate intrările în Proton Authenticator sunt criptate folosind 256-bit AES-GCM.

Deoarece Proton Authenticator nu necesită un Proton Account, avem nevoie și de o schemă separată de criptare care stochează în siguranță datele dvs. atunci când acestea există doar pe dispozitivul dvs. În cele din urmă, cel mai simplu mod de a implementa acest lucru este tratând Proton Account ca un furnizor de chei separat. În cele din urmă, arată după cum urmează:

O diagramă a criptării Proton Authenticator fără un Proton Account

Pentru stocarea locală a cheilor pe dispozitivul dvs., ne bazăm pe furnizorii de stocare securizată a cheilor ai fiecărui sistem:

  • Android: Stocăm în siguranță cheia în Android Keystore(fereastră nouă), care este apoi folosită pentru a cripta o Local Random Key pe care o stocăm în sistemul de fișiere protejat al aplicației. Acea cheie este folosită pentru a cripta simetric toate intrările Proton Authenticator pe dispozitivul dvs.
  • iOS/iPadOS/macOS: Generăm o Local Random Key și o stocăm în serviciul Keychain(fereastră nouă). Acea cheie este folosită pentru a cripta simetric toate intrările Proton Authenticator pe dispozitivul dvs.
  • Windows: Generăm o Local Random Key și o stocăm în Windows Credential Manager(fereastră nouă). Acea cheie este folosită pentru a cripta simetric toate intrările Proton Authenticator pe dispozitivul dvs. Dacă conexiunea la WCM nu este disponibilă, permitem utilizatorului să cripteze propria Local Random Key cu o parolă.
  • Linux: Generăm o Local Random Key și o stocăm în DBUS Secret Service disponibil. Acea cheie este folosită pentru a cripta simetric toate intrările Proton Authenticator pe dispozitivul dvs. Dacă nu este configurat niciun serviciu secret DBUS, permitem utilizatorului să cripteze propria Local Random Key cu o parolă.

Criptare backup

Unul dintre principalele puncte forte ale Proton Authenticator este că vă controlați întotdeauna datele. Aceasta include permiterea dvs. să creați periodic backup pentru codurile dvs. pe dispozitivul local și să setați o parolă care criptează aceste date sensibile.

Pentru a implementa acest backup local securizat, folosim parola pe care ați furnizat-o pentru a deriva o cheie de criptare securizată folosind Argon2 ca KDF (Key-Derivation Function). Un KDF este folosit pentru a genera chei criptografice din intrări secrete, cum ar fi parolele introduse de utilizator, iar scopul său principal este de a îmbunătăți securitatea făcând mai greu și mai consumator de timp pentru atacatori să spargă parole. Folosind această cheie de criptare generată din parola dvs., serializăm toate intrările dvs. și le criptăm pentru a asigura că datele dvs. rămân criptate în siguranță, chiar dacă backup-ul este divulgat. Și folosind tehnologii bine cunoscute și deschise, sunteți capabil să decriptați datele fără a folosi Proton Authenticator, permițându-vă să rămâneți în control chiar dacă decideți să vă mutați la o altă aplicație de autentificare.

Securitate prin transparență

Ca toate serviciile Proton, Proton Authenticator este cu cod sursă public. Oricine poate consulta codul nostru sursă pentru a verifica modelul nostru de securitate. La fel ca și celelalte servicii ale noastre, Proton Authenticator va fi supus, de asemenea, unor audituri de securitate independente regulate, și vom partaja aceste rapoarte de audit public imediat ce sunt disponibile.

În cele din urmă, pentru cercetătorii de securitate interesați, Proton Authenticator este eligibil pentru program de recompense pentru remediere erori al Proton care oferă premii de până la 100.000 $ pentru descoperirea erorilor în software-ul Proton.