{{tag>Brouillon}}
= 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érable
https://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 HOTP
Recommandation : utilisez un TOTP pour des applications web et un HOTP pour des applications locales
Nitrokey :
* 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.
FIXME
ykman otp static 2 -g --no-enter
# --keyboard-layout
== Mot de passe statique stocké sur NitroKey
Voir aussi :
* [[https://bitbucket.org/MaVo159/gkey/src/master/|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.