Poté, co jsem si s #YubiHSM hrál asi 4 celé dny, jsem s výběrem docela spokojený! 😁 To znamená, že také zaostává na řadě míst, takže váš počet najetých kilometrů se může lišit (také na některých místech, kde jsem to potřeboval, abych nezaostával). 🧵
V čem naprosto září, jsou jeho schopnosti a relativní elegance a snadné použití. Na rozdíl od YubiKey, kde mluvíte přímo se zařízením, je HSM obecně zpřístupněn prostřednictvím webového serveru, který jej propojuje. To vám umožní používat HSM na dálku (s drsnými problémy s opsec).
Yubico poskytuje CLI shell, který umí mluvit YubiHSM, což je fajn, protože můžete začít okamžitě (opravdu zde nechcete zavádět svůj vlastní protokol). Na druhou stranu je to... ne tak vysoce profilované CLI, na které jsme zvyklí dnes. Má spoustu technologických dluhů a pěšáků.
Bohužel, YubiHSM nejsou tak běžné, takže knihovny rozhraní z jiných jazyků téměř neexistují. Yubico dělá python, takže se s tím buď smíříte, nebo se vrátíte zpět do ulity... Jen si vzpomeňte na footguny.
Můj hlavní problém s footguny je "jejda, podepsal jsem něco neplatného". No jo, jejda, protože nikdy nebudete schopni vysvětlit ten záznam v auditním protokolu ani dokázat, co jste podepsali (hlavně proto, že to ani nebudete vědět nebo nebudete schopni dokázat). Což nás přivádí ke špatnému: auditingu.
YubiHSM se chlubí tím, že má protokol auditu podepsaný proti neoprávněné manipulaci. No, ukázalo se, že ta podepsaná část je marketingová, ale není podepsaná. Protokol auditu *je* propojen s hashem, bohužel bez podpisu je také nepoužitelný pro offline audit, protože jakýkoli protokol může být zfalšován a hashován.
Jediným způsobem, jak auditovat YubiHSM, je mít k němu živé připojení. Je to proto, že můžete prokázat, že jste připojeni k Yubico HSM (prostřednictvím podepsaných certifikátů), takže pokud důvěřujete Yubico a jejich hardwaru HSM, pak když říká, že je to na hashi H, věříte tomu. Ale je to interaktivní.
Další nevýhodou je, že protokol auditu obsahuje pouze operace, které byly spuštěny, ale žádná data. To je do jisté míry pochopitelné, ale také to činí protokoly mnohem méně užitečnými: váš skript se 10krát opakoval ve smyčce a podepsal prázdný řetězec? No, existuje 10 příležitostí pro škodlivé podpisy.
Také, alespoň prozatím, jsem nenašel způsob, jak auditorovi prokázat, že konkrétní klíč *je* na zařízení. Pokud dáte auditorovi přístup k ověření vašich klíčů, pak ano, funguje to, ale je to prostě špatně. Bez toho mohu pouze dokázat, že *v určitém okamžiku jsem měl klíče*.
Moje osobní bolest spočívá v tom, že chci vytvořit zprávu o transparentnosti pro svůj @dark_dot_bio projekt, což se s YubiHSM zdá být částečně nemožné. Pokud je vaším modelem hrozeb ochrana klíčů před špatnými aktéry, YubiHSM je perfektní. Pokud chcete demonstrovat žádné zneužití, i když štěstí.
Celkově se zdá, že na trhu není lepší produkt v cenovém rozpětí, které si mohu skutečně dovolit, takže YubiHSM bude muset stačit, ale každý, kdo se na to dívá, buďte upozorněni, že schopnost auditu předpokládá *hodně* důvěry, které se dalo vyhnout, prostě nebylo. Ploutev.
2,38K