V srcu Dunaja

    Sedež podjetja

    Löwengasse 14 / Lokal 2

    1030 Dunaj, Avstrija

    Sledite nam na

    YubiKey PIV Restore

    Rad imam strojne ključe. YubiKey podpisuje, ne da bi zasebni ključ kdaj videl računalnik. Ampak ena misel me ni nikoli izpustila. Kartica svoje ključe ustvari sama, in prav to jo naredi dokončno. Če se izgubi ali če čip odpove, je identitete konec. Nobene varnostne kopije, nobenega drugega poskusa.

    Kriptodenarnice so ta problem rešile že pred leti. Peščica besed na papirju, in vsaka nova naprava spet postane ista denarnica. Prav to sem hotel za svoj YubiKey. Zato sem zgradil piv-restore in obrnil običajni pristop. Ključi nastanejo deterministično iz obnovitvene fraze denarnice in se nato zapišejo na kartico. Fraza v predalu je varnostna kopija. Vsaka prazna kartica lahko spet postane moja identiteta.

    En ključ, trije svetovi

    Zamisel, ki mi je pri projektu najbolj všeč: iz iste fraze nastane isti ključ Ed25519, trikrat. Kot denarnica TON. Kot podpisni ključ na kartici. Kot glavni ključ OpenPGP. Denarnica, kartica in potrdilo PGP kažejo isti javni ključ. Kdor kjer koli preverja moj podpis, vedno preverja isto identiteto. Mimogrede iz istega ključa odpade tudi vrstica za OpenSSH.

    Samo pri dešifriranju sem hotel nasprotno. Za to na kartici ležijo lastni, ločeni ključi. Tako mi lahko vsakdo z običajnim age brez povezave šifrira datoteke na kartico, odpre pa jih lahko samo kartica sama.

    Deluje

    Med potjo mi je OpenPGP dal lekcijo. Prstni odtis potrdila v zgoščeno vrednost vključi tudi čas nastanka. Če bi preprosto vzel trenutni čas, bi ista fraza pri vsakem zagonu dobila drug prstni odtis. Zato je čas nastanka trdo zapisan, izvoz pa ne porabi prav nobene naključnosti. Za vsak primer sem rezultat navzkrižno preveril z drugo, neodvisno izvedbo OpenPGP. Obe vrneta isti prstni odtis.

    Za vnos fraze sem si zgradil majhen vmesnik brez povezave, ki izgleda kot obnovitveni zaslon denarnice. Napačne besede se sproti obarvajo rdeče, natanko tako kot tam. Deluje brez omrežja in brez koraka gradnje, besede pa ostanejo zakrite, dokler jih zavestno ne razkrijem.

    Stranska veja: age-plugin-piv25519

    Iz projekta je nastala samostojna stranska veja. Ed25519 pravzaprav ne zna dešifrirati. Ampak podpisi Ed25519 so deterministični. Ista kartica, isto besedilo, isti podpis, vsakič. Ta podpis je torej ponovljiva skrivnost, ki jo lahko ustvari samo kartica. Vtičnik to izkorišča, da datoteke age poveže s fizično kartico. Odpreti jih je mogoče samo s kartico, s kodo PIN in, odvisno od nastavitve, z dotikom.

    Ta predpostavka o determinizmu nosi celoten vtičnik, zato sem jo preveril na pravi strojni opremi. Poleg tega vgrajeni samotest preveri vsako kartico, preden vtičniku zaupaš. Koda je odprta: github.com/kleberbaum/age-plugin-piv25519.

    Kje je stvar

    Sam piv-restore še ni javen. Ta stran pripoveduje pristop. Vtičnik age je že odprto na voljo na GitHubu.

    Security
    QES-OIDC

    Povezave

    GitHub

    Telegram

    Facebook

    Instagram

    Impresum

    Partnerji

    Kanbon

    Neurons

    Copyright © 2024 Netsnek, Florian Herbert Kleber IT & Werbeagentur Nico Schett. All rights reserved.