Notes Nitrokey

Voir :

https://shop.nitrokey.com/shop/product/nkpr2-nitrokey-pro-2-3

Généralités

Initialisation

sudo apt-get install nitrocli nitrocli reset

SO-PIN 12345678

Avant d'aller plus loin

regarder si votre version de GPG n'est pas vulnérablehttps://security-tracker.debian.org/tracker/source-package/gnupg2

Regardez sur la version du firmware de la NitroKey n'est pas vulnérable

nitrocli status

https://github.com/Nitrokey/nitrokey-pro-firmware/releases

Certificat sur Nitrokey

Source : https://docs.nitrokey.com/fr/pro/linux/openvpn-easyrsa

Importez client.crt sur la Nitrokey depuis la machine CA

Après avoir créé le fichier client.crt, nous branchons le dispositif Nitrokey Pro 2 sur la machine CA, et importons le .crt sur le dispositif Pro 2 en utilisant cette commande :

$ pkcs15-init --store-certificate client.crt --id 3

Vous pouvez voir si la clé est effectivement stockée sur la Nitrokey en utilisant cette commande :

$ pkcs15-tool -c

Ou alternativement

$ pkcs11-tool --list-objects

Pour plus de commandes, vous pouvez vous référer au Wiki OpenSC.

Mot de passe OTP

TOTP vs HOTPRecommandation : utilisez un TOTP pour des applications web et un HOTP pour des applications localesNitrokey :

15 slot TOTP

3 HOTP

Note: les 2ds facteurs d'authentification ne sont pas protégés contre les attaques physique. Vous devrez changer tous les secrets OTP si vous perdez votre Nitrokey.

ykman otp static 2 -g --no-enter # --keyboard-layout

Mot de passe statique stocké sur NitroKey

Voir aussi :

gkeys - Une alternative à nitrocli

Comme la taille des mots de passe est très limitée sur la NitroKey, nous allons utiliser deux slots pour un seul mot de passe.

Il suffira de concaténer les deux pour retrouver notre mot de passe.

secret max length : 40 bytes

read SECRET SECRET_1="$(echo "$SECRET"|dd bs=20 count=1)" SECRET_2="$(echo "$SECRET"|dd bs=20 skip=1 count=2)" nitrocli pws set 0 yk_s1 p1 "$SECRET_1" nitrocli pws set 1 yk_s1 p2 "$SECRET_2"

Vérification

#FIXME #nitrocli lock nitrocli pws status md5sum <(echo "$SECRET") <(echo "$(nitrocli pws get 0 -p -q)$(nitrocli pws get 1 -p -q)")

Notes nitrokey-app

nitrokey-app --debug-level 4 -d --df debug.log

Pb

Could not access the password safe: AES decryption failed

Voir : https://app.bountysource.com/issues/68755409-new-error-code-for-a-missing-aes-key

$ nitrocli pws status
Could not access the password safe: AES decryption failed

https://github.com/d-e-s-o/nitrocli/releases v0.4.1 Latest

Added the --only-aes-key option to the reset command to build a new AES
key without performing a factory reset

Solution

nitrokey-app
Password Safe
Unlock Password Safe
AES keys not initialized. Please provide Admin PIN
Keys generated. Please unlock Password Sage again.