Etter å ha spilt med en #YubiHSM i omtrent 4 hele dager, er jeg litt fornøyd med valget! 😁 Når det er sagt, kommer den også til kort på en rekke steder, så kjørelengden din kan variere (også noen steder der jeg trengte den for ikke å komme til kort). 🧵
Der det absolutt skinner er dets evner og relative eleganse og brukervennlighet. I motsetning til en YubiKey der du snakker direkte med enheten, blir HSM vanligvis eksponert via en webserver som grensesnitt den. Dette lar deg bruke HSM eksternt (med de knudrete opsec-problemene).
Yubico tilbyr et CLI-skall som kan snakke YubiHSM, noe som er fint fordi du kan komme i gang umiddelbart (du vil virkelig ikke rulle din egen protokoll her). På den negative siden er det... ikke den høyprofilerte CLI-en vi er vant til i dag. Den har mye teknisk gjeld og fotvåpen.
Dessverre er ikke YubiHSM-er så vanlige, så grensesnittbiblioteker fra andre språk er nesten ikke-eksisterende. Yubico gjør pytonslange, så enten ruller du med det, eller faller tilbake til skallet ... bare husk fotvåpenene.
Hovedproblemet mitt med fotvåpen er "ooops, jeg signerte noe ugyldig". Vel ja, ooops, for du vil aldri kunne forklare den revisjonsloggoppføringen eller bevise hva du signerte (mest fordi du ikke engang vil vite eller være i stand til å bevise det). Noe som fører oss til det dårlige: auditering.
YubiHSM hevder at de har en manipulasjonssikker signert revisjonslogg. Vel, den signerte delen viste seg å være markedsføring, den er ikke signert. Revisjonsloggen *er* hash-koblet, dessverre uten signatur er den også ubrukelig for offline revisjon da enhver logg kan forfalskes og hashes.
Den eneste måten å revidere en YubiHSM på er å ha en live forbindelse til den. Det er fordi du kan bevise at du er koblet til en Yubico HSM (via signerte sertifikater), så hvis du stoler på Yubico og deres HSM-maskinvare, så når den sier at den er på hash H, tror du på det. Men det er interaktivt.
Den andre ulempen er at revisjonsloggen bare inneholder operasjonene den kjørte, men ingen data. Dette er litt forståelig, men gjør også loggene mye mindre nyttige: skriptet ditt sløyfet 10 ganger og signerte den tomme strengen? Vel, det er 10 muligheter for ondsinnede signaturer.
Dessuten, i det minste foreløpig, har jeg ikke funnet en måte å demonstrere for en revisor at en bestemt nøkkel *er* på enheten. Hvis du gir en revisor tilgang til å attestere nøklene dine, så ja, det fungerer, men det føles bare feil. Uten det kan jeg bare bevise at *på et tidspunkt hadde jeg nøkler*.
Min personlige smerte er fordi jeg ønsker å lage en åpenhetsrapport for mitt @dark_dot_bio prosjekt, noe som virker semi-umulig med YubiHSM. Hvis trusselmodellen din er å beskytte nøklene mot dårlige aktører, er en YubiHSM perfekt. Hvis du ikke vil demonstrere misbruk, men flaks.
Alt i alt ser det ikke ut til å være et bedre produkt på markedet til en prisklasse jeg faktisk har råd til, så YubiHSM må gjøre det, men alle som ser på det, vær oppmerksom på at revisjonsevnen forutsetter en *mye* tillit som kunne vært unngått, bare ikke var det. Finne.
2,38K