Proton Authenticator on avoimen lähdekoodin kaksivaiheinen tunnistautumissovellus (2FA), joka luo laitteellenne aikaperusteisia kertakäyttösalasanoja (TOTP), mahdollistaen verkkopalvelujen käytön ylimääräisellä turvakerroksella. Se käyttää samaa hyvin testattua salausta, joka suojaa muuta Proton-ekosysteemiä. Proton Authenticator on ainutlaatuinen siinä mielessä, että se on suunniteltu alusta alkaen olemaan saatavilla lähes jokaiselle alustalle säilyttäen samalla yksityisyytenne ja antaen teille täyden omistusoikeuden tietoihinne.
Toisin kuin muut tunnistautumissovellukset, Proton Authenticator suojaa tietonne päästä päähän -salauksella, vaikka ottaisitte laitteiden synkronoinnin käyttöön.
Tämä tarkoittaa, että Proton Authenticator estää ketään, mukaan lukien Proton itse, tietämästä, millä verkkopalveluilla teillä on tilejä. Tämä tieto, aivan kuten sähköpostinne tai selaushistorianne, voi paljastaa teistä paljon, ja sen suojaaminen on olennaista yksityisyytenne säilyttämiseksi.
Proton Authenticatorin päästä päähän -salaus takaa, että kaikki kryptografiset toiminnot, mukaan lukien avainten luonti ja tietojen salaus, suoritetaan paikallisesti laitteellanne. Tämä tarkoittaa, että Proton tai ulkopuoliset tahot eivät voi käyttää salaamattomia tietojanne. Proton-palvelimilla ei ole koskaan pääsyä salaamattomiin tietoihinne, mukaan lukien Proton Account -salasananne.
Salausmalli
Proton Authenticator ottaa kattavan lähestymistavan varmistaakseen maksimaalisen turvallisuuden ja yksityisyyden kaikille käyttäjätiedoille. Kaikki kryptografiset toiminnot tapahtuvat paikallisesti laitteellanne, ja kaikki palvelimelle siirrettävä tieto on aina salattua. Protonilla ei ole koskaan pääsyä käyttäjätietojen salauksen purkamiseen tarvittaviin pelkkä teksti -avaimiin, mikä tekee tallennettujen tietojen salauksen purkamisesta mahdotonta meille, vaikka ulkopuoliset tahot sitä pyytäisivät.
Proton Authenticator käyttää samaa edistynyttä salausta, jota käytämme tunnistautumiseen Proton Mailissa. Tähän sisältyy vahvennetun Secure Remote Password (SRP) -protokollan käyttö, joka tarjoaa vahvemmat turvatakuut väliintulohyökkäyksiä (MITM) vastaan. Toteutuksemme tarkoittaa, että jopa hyökkääjä, joka voi mielivaltaisesti lukea, muokata, viivästyttää, tuhota, toistaa tai tekaista viestejä Protonin ja käyttäjän välillä huomaamattomasti, voi tarkistaa vain yhden salasanarvauksen kirjautumisyritystä kohden, mikä vastaa suoraa kirjautumisyritystä. Tällä tavoin, vaikka Proton vaarantuisi ja toimisi pahantahtoisesti, salasanaa vastaavaa tietoa ei koskaan paljasteta.
Lukekaa lisää Protonin tunnistautumisen salauksesta
Tietojen salaus
Proton Authenticator antaa teidän tallentaa 2FA-koodinne turvallisesti, vaikka teillä ei olisi Proton Account -tiliä. Tämä tarkoittaa, että alkuperäinen salausprosessi on tehtävä kokonaan paikallisella laitteellanne. Sitten, jos päätätte haluavanne käyttää Proton Account -tiliänne koodienne synkronointiin laitteiden välillä, voimme käyttää Proton-palvelimille tallennettuja kryptografisia avaimia synkronoinnin suorittamiseen.
Protonin salaus alkaa siitä, että Proton-palvelin tarjoaa salatun version juuriavaimesta, jota tunnistautumissovellus käyttää käyttäjän tietojen salaamiseen. Jokaisella Proton-käyttäjällä on epäsymmetrinen User Key (Käyttäjäavain), ja Proton salaa tämän User Key -avaimen laitteellanne seuraavasti:
- Tilit, jotka käyttävät yhtä tilin salasanaa: Proton salaa User Keyn käyttäen bcrypt-hajautusarvoa tilin salasanasta ja tilin suolauksesta.
- Tilit, jotka käyttävät usean tilin salasanan ominaisuuttamme: Proton salaa User Keyn käyttäen bcrypt-hajautusarvoa avaimen salasanasta ja tilin suolauksesta.
Proton Authenticator käyttää bcryptiä ja tilin suolausta salasananne hajauttamiseen ylimääräisenä suojakerroksena raakaa voimaa käyttäviä hyökkäyksiä vastaan. Vaikka pahantahtoinen toimija saisi pääsyn Protonin tietokantaan, tilinne avaimet olisivat turvassa raakaa voimaa käyttäviltä hyökkäyksiltä.
Kun otatte synkronoinnin käyttöön, Proton Authenticator luo 32-tavuisen satunnaisen Authenticator Key -avaimen. Tämä avain on salattu ja allekirjoitettu User Key -avaimellanne, varmistaen että vain te voitte purkaa sen salauksen – kukaan (ei edes Proton) ei voi lukea tai luoda uutta Authenticator Key -avainta. Kun teillä on pääsy Authenticator Key -avaimeen, kaikki Proton Authenticatorin merkinnät salataan käyttäen 256-bit AES-GCM -salausta.

Koska Proton Authenticator ei vaadi Proton Account -tiliä, tarvitsemme myös erillisen salauskaavion, joka tallentaa turvallisesti tietonne, kun ne ovat olemassa vain laitteellanne. Loppujen lopuksi helpoin tapa toteuttaa tämä on käsitellä Proton Account -tiliä erillisenä avainten tarjoajana. Lopulta se näyttää seuraavalta:

Paikallista avainten tallennusta varten laitteellanne luotamme kunkin järjestelmän turvallisiin avainten tallennuspalveluihin:
- Android: Tallennamme avaimen turvallisesti Android Keystoreen(uusi ikkuna), jota käytetään sitten salaamaan Local Random Key (Paikallinen satunnaisavain), jonka tallennamme sovelluksen suojattuun tiedostojärjestelmään. Tätä avainta käytetään symmetrisesti salaamaan kaikki Proton Authenticator -merkinnät laitteellanne.
- iOS/iPadOS/macOS: Luomme Local Random Keyn ja tallennamme sen Keychain-palveluun(uusi ikkuna). Tätä avainta käytetään symmetrisesti salaamaan kaikki Proton Authenticator -merkinnät laitteellanne.
- Windows: Luomme Local Random Keyn ja tallennamme sen Windowsin kirjautumistietojen hallintaan(uusi ikkuna). Tätä avainta käytetään symmetrisesti salaamaan kaikki Proton Authenticator -merkinnät laitteellanne. Jos yhteys WCM:ään ei ole saatavilla, annamme käyttäjän salata Local Random Keynsä salasanalla.
- Linux: Luomme Local Random Keyn ja tallennamme sen saatavilla olevaan DBUS Secret Serviceen. Tätä avainta käytetään symmetrisesti salaamaan kaikki Proton Authenticator -merkinnät laitteellanne. Jos DBUS Secret Serviceä ei ole määritetty, annamme käyttäjän salata Local Random Keynsä salasanalla.
Varmuuskopion salaus
Yksi Proton Authenticatorin päävahvuuksista on se, että hallitsette aina tietojanne. Tähän sisältyy mahdollisuus varmuuskopioida koodinne säännöllisesti paikalliselle laitteellenne ja asettaa salasana, joka salaa nämä arkaluonteiset tiedot.
Toteuttaaksemme tämän turvallisen paikallisen varmuuskopioinnin käytämme antamaanne salasanaa turvallisen salausavaimen johtamiseen käyttäen Argon2:ta KDF:nä (Key-Derivation Function). KDF:ää käytetään kryptografisten avainten luomiseen salaisista syötteistä, kuten käyttäjän syöttämistä salasanoista, ja sen päätarkoitus on parantaa turvallisuutta tekemällä salasanojen murtamisesta vaikeampaa ja aikaa vievämpää hyökkääjille. Käyttämällä tätä salasanastanne luotua salausavainta sarjoitamme kaikki merkintänne ja salaamme ne varmistaaksemme, että tietonne pysyvät turvallisesti salattuina, vaikka varmuuskopio vuotaisi. Ja käyttämällä tunnettuja ja avoimia teknologioita voitte purkaa tietojenne salauksen ilman Proton Authenticatoria, mikä antaa teidän säilyttää hallinnan, vaikka päättäisitte siirtyä toiseen tunnistautumissovellukseen.
Turvallisuutta läpinäkyvyyden kautta
Kuten kaikki Proton-palvelut, Proton Authenticator on avointa lähdekoodia. Kuka tahansa voi tarkastella lähdekoodiamme varmistaakseen turvallisuusmallimme. Kuten muutkin palvelumme, myös Proton Authenticator käy läpi säännöllisiä riippumattomia turvallisuustarkastuksia, ja jaamme nämä tarkastusraportit julkisesti heti kun ne ovat saatavilla.
Lopuksi, kiinnostuneille tietoturvatutkijoille, Proton Authenticator kuuluu Protonin vikapalkkiojärjestelmään, joka tarjoaa jopa 100 000 dollarin palkkioita vikojen löytämisestä Protonin ohjelmistosta.






