Standardit · FIDO CTAP 2.2 hybrid (salasana­avain-QR)

Pitäisikö minun skannata tämä salasana­avain­kirjautumis-QR?

Vain jos SINÄ juuri aloitit salasana­avain­kirjautumisen laitteella, joka näyttää QR-koodin. Jos joku muu on luonut QR-koodin – vieras, "helpdesk"-agentti tai tekninen tukipuhelu – skannaamalla se puhelimellasi kirjaudut heidät tilillesi, et itsesi. Protokollan avoin standardi (FIDO CTAP 2.2 hybrid) on vankka; uhkana on sosiaalinen manipulointi sen suhteen, kuka painoi ensin "Kirjaudu salasana­avaimella".

Tarkista salasana­avain-QR → Kaikki standardit →

Miten laitteiden välinen salasana­avain­kirjautuminen toimii

Salasana­avain on tunniste – julkinen/yksityinen avainpari – joka on sidottu yhteen laitteistasi. Jos rekisteröit salasana­avaimen sivustolle example.com puhelimellasi, vain puhelimesi voi allekirjoittaa example.com-sivuston kirjautumis­haasteen.

Tämä toimii hyvin, kun kirjaudut sisään PUHELIMELLASI. Mutta mitä tapahtuu, kun kirjaudut kannettavalle, jolla ei ole kyseisen sivuston salasana­avainta? Voit:

  1. Kirjoita salasanasi – se kumoaa salasana­avainten koko tarkoituksen.
  2. Rekisteröi uusi salasana­avain kannettavalle – sopii, mutta vain jos luotat tähän kannettavaan pitkällä aikavälillä.
  3. Käytä puhelimen salasana­avainta laitteiden välisellä siirrolla – kannettava näyttää QR-koodin, puhelimesi skannaa sen, puhelin allekirjoittaa haasteen ja kannettavan selain vastaanottaa tuloksen, jolloin olet kirjautunut sisään.

Vaihtoehto 3 on se, mitä FIDO CTAP 2.2 "hybrid" määrittelee. QR-koodi on käynnistys­mekanismi – se sisältää tarpeeksi tietoa, jotta puhelimesi voi löytää kannettavan Bluetooth Low Energyn kautta, muodostaa kertaluonteisen suojatun tunnelin ja välittää WebAuthn-seremonian.

Mitä QR-koodin sisällä on

URI näyttää tältä:

FIDO:/0123456789012345678901234567890123456789...

Desimaali­numerot ovat CBOR-kartan base10-koodaus. Base10-dekoodauksen + CBOR-jäsennyksen jälkeen kartassa on kokonaisluku­avaimet:

Avain 0, vertaisverkon julkinen avain

Pakkaamattomat X9.62-julkisen avaimen tavut (33 tavua P-256:lle). Puhelin käyttää näitä salatun tunnelin muodostamiseen.

Avain 1, QR-salaisuus / tunneli­nonce

10 tavua satunnaistietoja. Tunnistaa tämän QR-koodin; BLE-ilmoitus lähettää siitä tiivisteen, jotta puhelin löytää oikean kannettavan.

Avain 2, operaatiovihje

0 = make-credential (uuden salasana­avaimen rekisteröinti), 1 = get-assertion (kirjautuminen), 2 = discoverable-credential.

Avain 3, tunneli­palvelin­toimialue

HTTPS-isäntä, joka välittää tunnelia laitteiden välillä, kun suora BLE ei ole käytettävissä (esim. NAT:n kautta). Yleensä toimittajan ylläpitämä palvelin, kuten cable.ua5v.com (Google) tai cable.auth.com (Apple/MS).

Avain 4, aika­leima

Sekuntia epookista QR-koodin luomis­hetkellä. Käytetään uudelleenlähetys­suojaukseen – puhelin kieltäytyy hyväksymästä muutamaa minuuttia vanhempaa QR-koodia.

Avain 5, tilatuettu lippu

Totuusarvo. Ilmaisee, haluaako kannettava puhelimen osallistuvan passiiviseen tilan­ylläpitoon (lähinnä merkityksellinen tunnistus­ten­luettelo­virtojen kannalta).

Uhkamalli: kuka painoi ensin "Kirjaudu salasana­avaimella"?

Protokolla on kryptografisesti vankka. Bluetooth-läheisyystarkistus on aito ja rajoittaa hyökkäyksen fyysisesti lähellä oleviin. Miten se sitten menee pieleen?

Sosiaalisen manipuloinnin kautta aloituksen kohdalla. Hyökkääjä käynnistää salasana­avain­kirjautumisen SINUN tilillesi HEIDÄN kannettavallaan. Heidän kannettavansa näyttää FIDO-QR-koodin. He saavat QR-koodin jollakin tavalla eteesi:

Jos skannaat, puhelimesi välittää salasana­avain­allekirjoituksesi hyökkääjän kannettavan selaimen kautta. Sivusto, johon sinulla on salasana­avain, luulee sinun kirjautuneen sisään. Hyökkääjä on nyt kirjautunut tilillesi.

Huomaa, että läheisyystarkistus ei auta – hyökkääjä on fyysisesti paikalla. QR-koodin sisältö ei auta – se on kryptografisesti pätevä. Kirjautumis­kohde ei auta – se on oikea sivusto, johon sinulla on salasana­avain. Ainoa auttava asia on tilanteen tunnistaminen: sinun ei pitäisi koskaan skannata FIDO-QR-koodia, jota et itse luonut klikkaamalla "Kirjaudu sisään" omalla laitteellasi.

Mitä skannerimme näyttää

Kun pudotat FIDO-QR-koodin skannerimme, tulos näyttää:

Uhkaluokka on aina epäilyttävä – ei siksi, että protokolla olisi rikki, vaan koska turvallisuusarviointi on kontekstuaalista eikä skanneri voi tietää, kuka painoi "Kirjaudu sisään". Tuloksen tiedote kertoo juuri sen: "skannaus suorittaa kirjautumisen, jonka joku ALOITTI TOISELLA LAITTEELLA. Kieltäydy, jos et juuri itse käynnistänyt kirjautumista."

Milloin se on turvallista (ja milloin ei)

Turvallista: istuuduit kannettavasi ääreen, avasit pankki- tai sähköposti­sivustosi, klikkasit "Kirjaudu salasana­avaimella" ja kannettavasi näytti QR-koodin. Nostat puhelimesi, skannaat QR-koodin ja hyväksyt läheisyys­kehotuksen. Valmis.

Ei turvallista: kukaan muu kuin sinä aloitti kirjautumis­prosessin. Tähän kuuluvat kaikki puhelimessa, kaikki etätuki­puheluissa, kaikki jotka lähettivät sinulle QR-koodin sähköpostitse, kaikki jotka näyttivät sinulle "QR:n henkilöllisyyden vahvistamiseksi" ja mikä tahansa QR-koodi paikassa, joka ei ole oma juuri näytetty laitteesi.

Jos et ole varma, onko QR-koodi kirjautumisesta, jonka SINÄ aloitit, peruuta kirjautuminen alkuperäisessä laitteessa (sulje selaimen välilehti) ja aloita sitten alusta haluamassasi laitteessa. Oikeat FIDO-QR-koodit ovat voimassa vain noin 10 minuuttia – uudelleenaloitus tyhjentää kaikki käynnissä olevat istunnot ja tekee uhasta mahdottoman.

Aiheeseen liittyvää

Tutki FIDO-QR-koodi

Pudota kuva tai liitä FIDO:-URI. Tulos näyttää operaation, tunneli­palvelimen, aika­leiman ja selkeän varoituksen hylätä, ellei itse aloittanut kirjautumista.

Avaa skanneri →