Standardit · otpauth-migration

Onko Google Authenticator -viennin QR-koodi turvallinen skannata?

Vain jos generoit sen itse omalla vanhalla puhelimellasi oman uuden puhelimesi tähdätessä näyttöön. Kuka tahansa muu, joka valokuvaa tuon QR-koodin mistä tahansa syystä, saa pysyvän pääsyn kaikkiin paketissa olevien tilien 2FA-koodeihin.

Tarkista paketti → Kaikki standardit →

Mitä se on

Google Authenticator ja useat yhteensopivat sovellukset (Aegis, Raivo OTP, 2FAS) antavat sinun "viedä" tallennetut 2FA-tilisi, jotta voit siirtää ne uuteen laitteeseen. Vienti tapahtuu QR-koodina, jonka URI alkaa otpauth-migration://. Tuon URI:n sisällä on yksi protokollapuskuri­paketti (Googlen MigrationPayload-skeema), joka sisältää kerralla kaikki tilit – myöntäjä, tilin nimi, salainen seed, algoritmi, numeromäärä, tyyppi (HOTP / TOTP) ja laskuri.

Formaatti oli alunperin dokumentoimaton, mutta se on purettu käänteisesti ja on nyt de-facto-vaihtoformaatti 2FA-varmuus­kopioille. Kolmannen osapuolen todentaja­sovellukset tunnistaja ja tuovaja saman QR-koodin.

Yksi QR-koodi voi sisältää kymmeniä tilejä. QR-koodi on visuaalisesti erottamaton normaalista TOTP-asetus-QR:sta – ei ole visuaalista merkkiä, joka kertoisi satunnaiselle tarkkailijalle, että se kantaa koko paketin.

Miksi yksi paketti-QR-koodi on erityisen vaarallinen

Tavallinen otpauth://-asetus-QR on vaarallinen skannata, jos et sitä pyytänyt – mutta vahinkoalue on yksi tili. Migraatio-QR:n vahinkoalue on kaikki autentikoin­tisi tilit. Jos hyökkääjä valokuvaa tämän QR-koodin näyttävää näyttöä – olkasi yli kahvilassa, valvonta­kameran kautta jonka et huomannut, läpinäkyvän lasikuituikkunan läpi – he kävelevät pois kyvyllä ohittaa 2FA kaikilla sen kattamilla tileillä. Pysyvästi. Kunnes kierrätät jokaisen salaisuuden manuaalisesti – mitä useimmat palvelut eivät tee helpoksi.

Paketissa olevilla salaisuuksilla ei ole vanhentumis­päivää. Toisin kuin istuntotokenilla (joka vanhenee), toisin kuin salasana­avain-QR:lla (joka on kertakäyttöinen), siirto­paketin seedit ovat voimassa, kunnes vaihdat ne palvelu kerrallaan.

Siksi skannerimme tulos kaikille otpauth-migration://-QR-koodeille alkaa likely_dangerous -luokituksesta ja pysyy siellä kontekstista riippumatta. Formaatti on kunnossa; uhkamalli on formaatin olemassaolo.

Mitä sisällä oikeasti on (anatomia)

URI näyttää tältä:

otpauth-migration://offline?data=<urlsafe-base64-encoded-protobuf>

Base64-runko purettuna on MigrationPayload-protokollapuskuri näillä ylimmän tason kentillä:

Jokaisella otp_parameters-merkinnällä on:

Mitä skannerimme näyttää ja mitä se tietoisesti jättää näyttämättä

✓ Näytetään

Jokaiselle paketin merkinnälle tulos näyttää myöntäjän (ACME, GitHub, AWS), tilin nimen (alice@acme.com), algoritmin (SHA1), numeromäärän (6) ja tyypin (TOTP). Tuloksen tiedote lukee "Tämän paketin myönnöt: ACME / alice@acme.com; GitHub / bob@github; AWS / root; …" jotta migraation keskellä oleva käyttäjä voi tarkistaa listan ennen tuontia.

Skeema­versio, erä­indeksi, erän koko ja erän tunnus näytetään myös – hyödyllistä, kun vienti on jaettu useaan QR-koodiin.

✗ Ei koskaan pureta

Raa'at secret-tavut eivät koskaan pury tulostulokseen. Analysaattorimme lukee ne vain varmistaakseen, että jokainen merkintä on oikein muodostettu (salaisuus läsnä ja ei-tyhjä), ja hylkää arvon ennen kuin löydöt rakennetaan.

Tämä vahvistetaan testi­paketilla – syötämme analysaattorille käsin­tehtyjä protobuf-payloadeja, jotka sisältävät canary-merkkijonoja (SECRET_SEED_1, SECRET_SEED_2), ja väitämme, että nämä merkkijonot eivät koskaan esiinny serialisoidussa tulostuloksessa. Regressio siellä epäonnistuu CI:ssä.

Milloin (ja miten) sitä käytetään

Laillinen käyttötapaus: olet siirtymässä uuteen puhelimeen. VANHA puhelin näyttää migraatio-QR-koodin näytöllään noin 30 sekunnin ajan. UUDEN puhelimen todentaja­sovellus tähtää näyttöön ja tuo. Kukaan muu ei ole huoneessa. Poistat viennin vanhalta puhelimelta varmistettuasi, että kaikki tuotiin.

Vaara­pinnat ovat:

Jos epäilet migraatio-QR-koodin paljastuneen

Käsittele tilannetta tunniste­vuotona kaikilla paketin tileillä. Palautus­toimenpiteet järjestyksessä:

  1. Kirjaudu jokaiseen vaikuttuneeseen palveluun ja kierrätä 2FA-salaisuus. Useimmat palvelut sallivat sen kohdassa Tili → Turvallisuus → Kaksivaiheinen todennus → Poista käytöstä ja rekisteröidy uudelleen.
  2. Palveluissa, jotka eivät tarjoa kierrättämistä (harvinainen, mutta olemassa), poista ja lisää tili uudelleen.
  3. Tarkista viimeaikainen kirjautumis­toiminta kaikilla vaikuttuneilla tileillä.
  4. Poista alkuperäinen vienti-QR-koodi kaikista laitteista ja pilvi­synkronoiduista valokuva­kirjastoista, joissa se saattaa olla.

Hyökkääjä, jolla on paketti, voi tuottaa voimassa olevia 2FA-koodeja vuosia, kunnes kierrätät ne. Älä lykkää.

Aiheeseen liittyvää

Tarkista pakettisi

Pudota QR-kuva skannerimme, liitä otpauth-migration://-URI tai käytä kameraa. Tulos näyttää kaikki paketin tilit purkamatta koskaan salaisuuksia.

Avaa skanneri →