Avain 0, vertaisverkon julkinen avain
Pakkaamattomat X9.62-julkisen avaimen tavut (33 tavua P-256:lle). Puhelin käyttää näitä salatun tunnelin muodostamiseen.
Standardit · FIDO CTAP 2.2 hybrid (salasanaavain-QR)
Vain jos SINÄ juuri aloitit salasanaavainkirjautumisen 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 salasanaavaimella".
Salasanaavain on tunniste – julkinen/yksityinen avainpari – joka on sidottu yhteen laitteistasi. Jos rekisteröit salasanaavaimen sivustolle example.com puhelimellasi, vain puhelimesi voi allekirjoittaa example.com-sivuston kirjautumishaasteen.
Tämä toimii hyvin, kun kirjaudut sisään PUHELIMELLASI. Mutta mitä tapahtuu, kun kirjaudut kannettavalle, jolla ei ole kyseisen sivuston salasanaavainta? Voit:
Vaihtoehto 3 on se, mitä FIDO CTAP 2.2 "hybrid" määrittelee. QR-koodi on käynnistysmekanismi – se sisältää tarpeeksi tietoa, jotta puhelimesi voi löytää kannettavan Bluetooth Low Energyn kautta, muodostaa kertaluonteisen suojatun tunnelin ja välittää WebAuthn-seremonian.
URI näyttää tältä:
FIDO:/0123456789012345678901234567890123456789...
Desimaalinumerot ovat CBOR-kartan base10-koodaus. Base10-dekoodauksen + CBOR-jäsennyksen jälkeen kartassa on kokonaislukuavaimet:
Pakkaamattomat X9.62-julkisen avaimen tavut (33 tavua P-256:lle). Puhelin käyttää näitä salatun tunnelin muodostamiseen.
10 tavua satunnaistietoja. Tunnistaa tämän QR-koodin; BLE-ilmoitus lähettää siitä tiivisteen, jotta puhelin löytää oikean kannettavan.
0 = make-credential (uuden salasanaavaimen rekisteröinti), 1 = get-assertion (kirjautuminen), 2 = discoverable-credential.
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).
Sekuntia epookista QR-koodin luomishetkellä. Käytetään uudelleenlähetyssuojaukseen – puhelin kieltäytyy hyväksymästä muutamaa minuuttia vanhempaa QR-koodia.
Totuusarvo. Ilmaisee, haluaako kannettava puhelimen osallistuvan passiiviseen tilanylläpitoon (lähinnä merkityksellinen tunnistustenluettelovirtojen kannalta).
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ää salasanaavainkirjautumisen 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ää salasanaavainallekirjoituksesi hyökkääjän kannettavan selaimen kautta. Sivusto, johon sinulla on salasanaavain, 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ä. Kirjautumiskohde ei auta – se on oikea sivusto, johon sinulla on salasanaavain. 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.
Kun pudotat FIDO-QR-koodin skannerimme, tulos näyttää:
cable.ua5v.com, Applen tunnelipalvelin jne.)?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."
Turvallista: istuuduit kannettavasi ääreen, avasit pankki- tai sähköpostisivustosi, klikkasit "Kirjaudu salasanaavaimella" ja kannettavasi näytti QR-koodin. Nostat puhelimesi, skannaat QR-koodin ja hyväksyt läheisyyskehotuksen. Valmis.
Ei turvallista: kukaan muu kuin sinä aloitti kirjautumisprosessin. Tähän kuuluvat kaikki puhelimessa, kaikki etätukipuheluissa, 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.
Pudota kuva tai liitä FIDO:-URI. Tulos näyttää operaation, tunnelipalvelimen, aikaleiman ja selkeän varoituksen hylätä, ellei itse aloittanut kirjautumista.