Après avoir joué avec un #YubiHSM pendant environ 4 jours complets, je suis plutôt content de mon choix ! 😁 Cela dit, il présente également des lacunes à plusieurs endroits, donc votre expérience peut varier (il y a aussi des endroits où j'avais besoin qu'il ne présente pas de lacunes). 🧵
Là où il brille absolument, c'est dans ses capacités et son élégance relative ainsi que sa facilité d'utilisation. Contrairement à un YubiKey où vous parlez directement à l'appareil, le HSM est généralement exposé via un serveur web qui l'interface. Cela vous permet d'utiliser le HSM à distance (avec les problèmes d'opsec délicats).
Yubico fournit un shell CLI qui peut communiquer avec YubiHSM, ce qui est agréable car vous pouvez commencer immédiatement (vous ne voulez vraiment pas créer votre propre protocole ici). En revanche, ce n'est... pas le CLI très en vue auquel nous sommes habitués de nos jours. Il a beaucoup de dettes techniques et de pièges.
Malheureusement, les YubiHSM ne sont pas si courants, donc les bibliothèques d'interface d'autres langages sont presque inexistantes. Yubico propose Python, donc soit vous optez pour cela, soit vous revenez à la ligne de commande... n'oubliez juste pas les pièges.
Mon principal problème avec les footguns est "oups, j'ai signé quelque chose d'invalide". Eh bien oui, oups, parce que vous ne pourrez jamais expliquer cette entrée de journal d'audit ni prouver ce que vous avez signé (surtout parce que vous ne saurez même pas ou ne pourrez pas le prouver). Ce qui nous amène au mauvais : l'audit.
Le YubiHSM se vante d'avoir un journal d'audit signé à l'épreuve des falsifications. Eh bien, la partie signée s'est révélée être du marketing, ce n'est pas signé. Le journal d'audit *est* lié par hachage, malheureusement sans signature, il est également inutile pour l'audit hors ligne car tout journal peut être falsifié et haché.
La seule façon d'auditer un YubiHSM est d'avoir une connexion en direct avec celui-ci. C'est parce que vous pouvez prouver que vous êtes connecté à un HSM Yubico (via des certificats signés), donc si vous faites confiance à Yubico et à leur matériel HSM, alors quand il dit qu'il est à la valeur de hachage H, vous y croyez. Mais c'est interactif.
L'autre inconvénient est que le journal d'audit ne contient que les opérations qu'il a exécutées, mais aucune donnée. Cela est en quelque sorte compréhensible, mais rend également les journaux beaucoup moins utiles : votre script a bouclé 10 fois et a signé la chaîne vide ? Eh bien, il y a 10 opportunités pour des signatures malveillantes.
De plus, du moins pour l'instant, je n'ai pas trouvé de moyen de démontrer à un auditeur qu'une clé spécifique *est* sur l'appareil. Si vous donnez à un auditeur l'accès pour attester vos clés, alors oui, cela fonctionne, mais cela semble tout simplement faux. Sans cela, je ne peux prouver que *à un moment donné, j'avais des clés*.
Ma douleur personnelle vient du fait que je veux créer un rapport de transparence pour mon projet @dark_dot_bio, ce qui semble semi-impossible avec le YubiHSM. Si votre modèle de menace est de protéger les clés des acteurs malveillants, un YubiHSM est parfait. Si vous voulez démontrer qu'il n'y a pas d'abus, bonne chance.
Dans l'ensemble, il ne semble pas y avoir de meilleur produit sur le marché dans une gamme de prix que je peux réellement me permettre, donc le YubiHSM devra faire l'affaire. Mais quiconque s'y intéresse, sachez que la capacité d'audit suppose *beaucoup* de confiance qui aurait pu être évitée, mais ne l'a pas été. Fin.
2,39K