Proton Authenticator er en åpen kildekode tofaktor autentisering (2FA) autentiseringsapp som genererer tidsbaserte, engangspassord (TOTP)-koder på din enhet, slik at du får tilgang til pålogget-tjenester med et ekstra lag av sikkerhet. Den bruker den samme velutprøvde krypteringen som sikrer resten av Proton-økosystemet. Proton Authenticator er unik i og med at den ble designet fra bunnen av for å være tilgjengelig på nesten alle plattformer, samtidig som den bevarer ditt personvern og gir deg totalt eierskap over dataene dine.
I motsetning til andre autentiseringsapper sikrer Proton Authenticator dataene dine med ende-til-ende-kryptering, selv når du aktiver enhetssynkronisering.
Dette betyr at Proton Authenticator forhindrer noen, inkludert Proton selv, fra å vite hvilke pålogget-tjenester du har kontoer hos. Denne informasjonen, i likhet med e-postene eller nettleserhistorikken din, kan avsløre mye om deg, og å beskytte den er avgjørende for å opprettholde ditt personvern.
Proton Authenticators ende-til-ende-kryptering garanterer at alle kryptografiske operasjoner, inkludert nøkkelgenerering og datakryptering, utføres lokalt på din enhet. Dette betyr at dine ukrypterte data ikke kan fås tilgang til av Proton eller dele med noen tredjeparter. Proton-tjenere har aldri tilgang til dine ukrypterte data, inkludert ditt Proton Account-passord.
Krypteringsmodell
Proton Authenticator har en helhetlig tilnærming til å sikre maksimal sikkerhet og personvern for alle brukerdata. Alle kryptografiske operasjoner skjer lokalt på din enhet, og all data som overføres til tjeneren er alltid kryptert. Proton har aldri tilgang til ren tekst-nøklene som kreves for å dekryptere brukerdata, noe som gjør det umulig for oss å dekryptere lagret data, selv om det blir bedt om av tredjeparter.
Proton Authenticator bruker den samme avanserte krypteringen som vi bruker for autentisering i Proton Mail. Dette inkluderer bruken av en herdet versjon av Secure Remote Password (SRP)-protokollen som tilbyr sterkere sikkerhetsgarantier mot man-in-the-middle (MITM)-angrep. Vår implementering betyr at til og med en angriper som vilkårlig kan lest, modifisere, forsinke, ødelegge, gjenta eller fabrikkere meldinger mellom Proton og en bruker på en uoppdagelig måte, er begrenset til å sjekke bare ett enkelt passord-gjett per pålogging-forsøk, tilsvarende å prøve å logg på direkte. På denne måten, selv om Proton er kompromittert og opptrer ondsinnet, vil passord-ekvivalent informasjon aldri bli avslørt.
Lest mer om Protons kryptering for autentisering
Datakryptering
Proton Authenticator lar deg lagre dine 2FA-koder på en sikker måte, selv om du ikke har en Proton Account. Dette betyr at den innledende krypteringsprosessen må gjøres helt og holdent på din lokale enhet. Deretter, hvis du bestemmer deg for at du vil bruke din Proton Account for å synkronisere kodene dine på tvers av enheter, kan vi bruke de kryptografiske nøklene som er lagret på Proton-tjenere for å utføre synkroniseringen.
Proton-kryptering begynner med at Proton-tjeneren leverer den krypterte versjonen av rotnøkkelen som autentiseringsappen bruker til å krypter brukerens data. Hver Proton-bruker har en asymmetrisk User Key, og Proton krypterer denne User Key på din enhet som følger:
- Kontoer som bruker et enkelt passord for kontoen: Proton krypterer User Key med en bcrypt-hash av passordet for kontoen og saltet for kontoen.
- Kontoer som bruker funksjonen vår for flere passord per konto: Proton krypterer User Key med en bcrypt-hash av nøkkelpassordet og saltet for kontoen.
Proton Authenticator bruker bcrypt og et kontosalt for å hash passordet ditt som et ekstra lag med beskyttelse mot brute-force-angrep. Selv om en ondsinnet aktør fikk tilgang til Proton-databasen, ville kontonøklene dine være trygge mot brute-force-angrep.
Når du aktiver synkronisering, genererer Proton Authenticator en 32-byte tilfeldig Authenticator Key. Denne nøkkelen er kryptert og signert med din User Key, noe som sikrer at bare du kan dekryptere den — ingen (ikke engang Proton) kan lest eller opprette en ny Authenticator Key. Når du har tilgang til Authenticator Key, er alle oppføringer i Proton Authenticator kryptert ved hjelp av 256-bit AES-GCM.

Siden Proton Authenticator ikke krever en Proton Account, trenger vi også et separat krypteringsskjema som trygt lagrer dataene dine når de bare eksisterer på din enhet. Til syvende og sist er den enkleste måten å implementere dette på, ved å behandle Proton Account som en separat nøkkelleverandør. Det ser slik ut til slutt:

For lokal lagring av nøkler på din enhet stoler vi på hvert systems sikre tilbydere for nøkkellagring:
- Android: Vi lagrer nøkkelen sikkert i Android Keystore(nytt vindu), som deretter brukes til å krypter en Local Random Key som vi lagrer i appens beskyttede filsystem. Den nøkkelen brukes til å symmetrisk krypter alle Proton Authenticator-oppføringer på din enhet.
- iOS/iPadOS/macOS: Vi genererer en Local Random Key og lagrer den i Keychain-tjenesten(nytt vindu). Den nøkkelen brukes til å symmetrisk krypter alle Proton Authenticator-oppføringer på din enhet.
- Windows: Vi genererer en Local Random Key og lagrer den i Windows Credential Manager(nytt vindu). Den nøkkelen brukes til å symmetrisk krypter alle Proton Authenticator-oppføringer på din enhet. Hvis tilkobling til WCM er utilgjengelig, tillater vi brukeren å krypter sin Local Random Key med et passord.
- Linux: Vi genererer en Local Random Key og lagrer den i den tilgjengelige DBUS Secret Service. Den nøkkelen brukes til å symmetrisk krypter alle Proton Authenticator-oppføringene på din enhet. Hvis ingen DBUS secret service er konfigurert, tillater vi brukeren å krypter sin Local Random Key med et passord.
Sikkerhetskopi av kryptering
En av Proton Authenticators største styrker er at du alltid kontrollerer dataene dine. Dette inkluderer at du med jevne mellomrom kan sikkerhetskopier kodene dine til din lokale enhet og angi et passord som krypterer disse sensitive dataene.
For å implementere denne sikre lokale sikkerhetskopien, bruker vi passordet du oppga til å utlede en sikker krypteringsnøkkel ved hjelp av Argon2 som en KDF (nøkkelderiveringsfunksjon). En KDF brukes til å generere kryptografiske nøkler fra hemmelige inndata, som brukerangitte passord, og dens hovedformål er å forbedre sikkerheten ved å gjøre det vanskeligere og mer tidkrevende for angripere å knekke passord. Ved hjelp av denne krypteringsnøkkelen generert fra passordet ditt, serialiserer vi alle oppføringene dine og krypterer dem for å sikre at dataene dine forblir sikkert kryptert, selv om sikkerhetskopien lekker (blir en lekkasje). Og ved å bruke velkjente og åpne teknologier, er du i stand til å dekryptere dataene dine uten å bruke Proton Authenticator, noe som lar deg beholde kontrollen selv om du bestemmer deg for å bytte til en annen autentiseringsapp.
Sikkerhet gjennom transparens
Som alle Proton-tjenester er Proton Authenticator åpen kildekode. Alle kan konsultere vår kildekode for å verifisere sikkerhetsmodellen vår. I likhet med våre andre tjenester vil Proton Authenticator også gjennomgå regelmessige uavhengige sikkerhetsrevisjoner, og vi vil dele disse revisjonsrapportene offentlig så snart de er tilgjengelige.
Til slutt, for interesserte sikkerhetsforskere, er Proton Authenticator kvalifisert for Protons dusørprogram for programvarefeil som tilbyr belønninger på opptil $100 000 for oppdagelsen av feil i Protons programvare.






