Passkey-vel belépsz, egyszer megadod az adataidat, és abból öt kitöltött űrlap készül el
a gépeden. A nyers adat közben nem hagyja el a böngészőt, ezt a hálózati fülön magad is ellenőrizheted.
5×
ugyanaz az adat, kézzel begépelve, ötször
vs
1×+ automatikus
egyszeri adatbevitel, öt kész űrlap
00:00.0
1 Passkey
2 Adatbevitel
3 Elköteleződés
4 Öt űrlap
2 · Egyszeri adatbevitel
Minta adatlap
Ez egy nyilvános demó, nincs mögötte adatkezelő cég. Ne írj be valódi
TAJ-számot vagy más valódi személyes adatot, használd a „Minta adatok kitöltése" gombot.
3 · Amit elküldtünk
A pontos JSON, ami kiment a Worker felé
–
Nyisd meg a böngésző hálózati fülét (F12 → Network), keresd meg ezt a
kérést, és nézd meg a törzsét. Nincs benne se a fenti mezők nyers értéke, se a vakító nonce,
csak vak elköteleződések és mezőnevek.
4 · Öt kitöltött űrlap
Biztonsági panel
A Worker a fenti JSON-t kapja: mezőnevenként egy-egy vak elköteleződést, a beküldés
teljességét és egy időbélyeget. Nyers értéket vagy a commitment kulcsát (a nonce-ot)
nem kapja meg, mert azok soha nem hagyják el ezt a lapot.
A commitment számítása: HMAC-SHA-256(nonce, mezőérték).
A nonce 32 véletlen bájt, crypto.getRandomValues()-szal generálva, csak a memóriában él.
A Worker a beérkezett commitmentekre a saját, adatbázison kívüli titkát (bors) alkalmazza,
és egy aláírt elismervényt küld vissza, ami azt bizonyítja, hogy a beküldés megtörtént és teljes volt,
tartalmi ellenőrzést viszont nem ad (lásd a korlátot lent).
A kérdés nem az, meddig tart feltörni egy SHA-256 kimenetét. A támadó nem a hash kimeneti
terét próbálja, hanem a bemeneti teret: egy TAJ-szám 9 számjegy, azaz 10⁹ ≈ 2³⁰
lehetőség, ami átlagos gépen is másodpercek kérdése, ha a hash-elés önmagában áll.
Az alábbi két doboz élőben, ezen a gépen számol, nem animáció.
1 · Naiv hash, 6 jegyű minta
Nincs elindítva
Sebesség: – · Idő: –
2 · Kulcsolt (HMAC) commitment, ugyanaz a tér
Nincs elindítva
Sebesség: – · Idő: –
Só (rekordonként véletlen): előre számolt (rainbow) táblák ellen. Célzott
brute force ellen önmagában nem elég, ha a támadónál az adatbázis is ott van.
Bors (kulcsolt hash), a kulcs az adatbázison kívül: adatbázis-dump önmagában
használhatatlan, mert a kulcs nincs benne.
Vak elköteleződés: a nonce soha nem hagyja el a böngészőt, a szerver oldalán
nincs mit brute force-olni.
A korlát, amit ki kell mondanunk
Vak commitmenttel a Worker nem tudja tartalmilag ellenőrizni az adatot, csak azt, hogy a
beküldés szerkezetileg teljes, és hogy később ugyanaz az érték mutatható-e fel. Valódi
tartalmi hitelesítéshez kibocsátó kellene. Ez a demó ilyet nem tartalmaz, és nem is állítja,
hogy tartalmaz.