GnuPG est nécessaire pour de nombreux cas d'utilisation. C'est un outil en ligne de commande mais vous n'avez généralement pas besoin de l'invoquer directement mais d'utiliser une autre application avec interface utilisateur.
N'utilisez pas GnuPG en parallèle avec OpenSC ou un autre pilote PKCS#11 car les deux peuvent interférer et entraîner des problèmes inattendus.
Si vous souhaitez utiliser le cryptage S/MIME avec Thunderbird, pour utiliser TrueCrypt/VeraCrypt, l'authentification SSL basée sur certificat avec Firefox, PuTTY/KiTTY, OpenSSH, OpenSSL, ou tout autre logiciel compatible PKCS#11, vous devez installer OpenSC.
Notez qu'une Nitrokey initialisée avec OpenSC ne fonctionne pas avec GnuPG/OpenPGP. Mais l'inverse fonctionne très bien. Si vous voulez utiliser Nitrokey avec GnuPG et PKCS#11, générez les clés avec GnuPG.
N'utilisez pas PKCS#11 en parallèle avec GnuPG car les deux peuvent interférer et des problèmes imprévus peuvent survenir. (Un autre projet prometteur, scd-pkcs11, est en cours de développement et pourrait éventuellement surmonter cette limitation. Actuellement, il est limité au certificat d'authentification et n'a pas encore été largement testé.)
Instructions, comment créer un certificat X.509 valide avec Nitrokey (1, 2, 3). Ce sont des instructions générales sur l'utilisation des certificats X.509.
Le pilote PKCS#11 recommandé est OpenSC. Alternativement, vous pouvez utiliser le pilote PKCS#11 de Peter Koch qui a les limitations suivantes :
Ce mini pilote permet d'intégrer Nitrokey avec la liste de certificats de Window. Par la suite, toutes les applications qui utilisent ce stockage de certificats peuvent être utilisées avec Nitrokey (par ex. Internet Explorer, Google Chrome web browser, Windows Login). Pour installer le pilote, vous devrez peut-être d'abord autoriser l'installation de pilotes non signés.
Toutes les applications d'Aloaha fonctionnent avec le Nitrokey. Cela inclut un middleware pour intégrer Nitrokey avec d'autres applications basées sur PKCS#11 et avec Windows ainsi que des applications pour crypter et signer les PDF et le disque dur.
GnuPG est nécessaire dans de nombreux cas d'utilisation pour initialiser et utiliser le Nitrokey. C'est un outil en ligne de commande mais vous n'avez généralement pas besoin de l'invoquer directement.
Instruction d'utilisation de Nitrokey avec GnuPG (ligne de commande). Remarque : La carte à puce Fellowship est similaire à la Nitrokey Pro de sorte que ces instructions fonctionnent également avec Nitrokey. En général, la documentation officielle est recommandée.
Si vous souhaitez utiliser le cryptage S/MIME avec Thunderbird, pour utiliser TrueCrypt/VeraCrypt, l'authentification SSL basée sur certificat avec Firefox, PuTTY/KiTTY, OpenSSH, OpenSSL, ou tout autre logiciel compatible PKCS#11, vous devez installer OpenSC.
Notez qu'une Nitrokey initialisée avec OpenSC ne fonctionne pas avec GnuPG/OpenPGP. Mais l'inverse fonctionne très bien. Si vous voulez utiliser Nitrokey avec GnuPG et PKCS#11, générez les clés avec GnuPG.
N'utilisez pas PKCS#11 en parallèle avec GnuPG car les deux peuvent interférer et des problèmes imprévus peuvent survenir. (Un autre projet prometteur, scd-pkcs11, est en cours de développement et pourrait éventuellement surmonter cette limitation. Actuellement, il est limité au certificat d'authentification et n'a pas encore été largement testé.)
Instructions, comment créer un certificat X.509 valide avec Nitrokey (1, 2, 3). Ce sont des instructions générales sur l'utilisation des certificats X.509.
Le pilote PKCS#11 recommandé est OpenSC. Alternativement, vous pouvez utiliser le pilote PKCS#11 de Peter Koch qui a les limitations suivantes :
P11-glue utilise PKCS#11 comme colle entre les bibliothèques de crypto et les applications de sécurité sur le bureau open source.
GnuPG est nécessaire dans de nombreux cas d'utilisation pour initialiser et utiliser le Nitrokey. C'est un outil en ligne de commande mais vous n'avez généralement pas besoin de l'invoquer directement.
Instruction d'utilisation de Nitrokey avec GnuPG (ligne de commande). Remarque : La carte à puce Fellowship est similaire à la Nitrokey Pro de sorte que ces instructions fonctionnent également avec Nitrokey. En général, la documentation officielle est recommandée.
Si vous souhaitez utiliser le cryptage S/MIME avec Thunderbird, pour utiliser TrueCrypt/VeraCrypt, l'authentification SSL basée sur certificat avec Firefox, PuTTY/KiTTY, OpenSSH, OpenSSL, ou tout autre logiciel compatible PKCS#11, vous devez installer OpenSC.
Notez qu'une Nitrokey initialisée avec OpenSC ne fonctionne pas avec GnuPG/OpenPGP. Mais l'inverse fonctionne très bien. Si vous voulez utiliser Nitrokey avec GnuPG et PKCS#11, générez les clés avec GnuPG.
N'utilisez pas PKCS#11 en parallèle avec GnuPG car les deux peuvent interférer et des problèmes imprévus peuvent survenir. (Un autre projet prometteur, scd-pkcs11, est en cours de développement et pourrait éventuellement surmonter cette limitation. Actuellement, il est limité au certificat d'authentification et n'a pas encore été largement testé.)
Instructions, comment créer un certificat X.509 valide avec Nitrokey (1, 2, 3). Ce sont des instructions générales sur l'utilisation des certificats X.509.
Pour accéder aux appareils Nitrokey en lecture seule, téléchargez et installez ce mini pilote (CSP). Si vous utilisez Windows Server, vous devrez peut-être désactiver la vérification de la signature du pilote avant de pouvoir installer le pilote. Notez que le mini pilote pour Nitrokey Pro peut ne pas encore fonctionner en mode écriture.
Il existe différentes façons d'utiliser une Nitrokey pour se connecter sous Windows :
Sélectionnez votre cas d'utilisation :
Vous avez deux options : pam_p11 ou Poldi.
La solution avec pam_p11 est plus difficile à réaliser et est basée sur des certificats S/MIME. Veuillez consulter la documentation pour plus d'informations.
Poldi 0.4.1 fonctionne parfaitement avec Nitrokey pour l'authentification PAM. Outre l'installation de poldi (par exemple,'sudo apt-get install libpam-poldi' sur Ubuntu), les étapes suivantes sont nécessaires pour le faire fonctionner.
Il est nécessaire d'avoir déjà des clés générées sur la Nitrokey, car la clé d'authentification est utilisée par PAM.
Vous devez d'abord trouver l'"ID de l'application" de votre Nitrokey. Vous pouvez utiliser "gpg -card-status | grep Application" pour savoir ce qui est à vous. Il ressemble à'D0060001240124010202000000000000xxxxxxxxxx' ou similaire. Maintenant vous devez ajouter une ligne à /etc/poldi/localdb/users qui contient les informations suivantes
Cela pourrait ressembler à'D00600012401240102000000000000xxxxxxxxxxxx nitrokeyuser'. Déversez maintenant la clé publique du Nitrokey dans la base de données locale de poldi :
sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'
Veuillez noter que vous devez insérer votre ID d'application dans la ligne ci-dessus avec celle de votre stick !
Ensuite, vous devez configurer PAM. Ajoutez simplement "auth sufficient pam_poldi.so" aux fichiers de configuration pam selon vos besoins :
Note : Il est dangereux de jouer avec Pam, alors assurez-vous d'avoir un moyen d'accéder à la machine si vous brisez complètement l'authentification. Rappelez-vous que démarrer en mode de secours à partir de Grub nécessite un mot de passe root, alors gardez-le ou un CD live qui peut lire vos systèmes de fichiers à portée de main.
Vous trouverez ici d'autres instructions (en allemand, partiellement obsolètes).
Si vous obtenez une erreur similaire à'ERR 100663414 Invalid ID <SCD>' vous devriez essayer à la place
poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys
Veuillez noter que vous devez insérer votre ID d'application dans la ligne ci-dessus avec celle de votre stick !
Les mots de passe à usage unique (OTP) sont utilisés pour la connexion sécurisée aux sites Web et aux applications locales.
Deux modes OTP existent :
Pour utiliser les mots de passe uniques avec votre Nitrokey Pro ou Nitrokey Storage, vous devez télécharger et installer la dernière application Nitrokey.
To set up 2FA with a Nitrokey FIDO U2F device:
Avant d'utiliser le stockage mobile crypté, vous devez installer et initialiser le stockage Nitrokey et télécharger la dernière application Nitrokey.
Le Nitrokey Storage est également capable de créer des volumes cachés. Veuillez consulter les instructions correspondantes pour les volumes cachés.
Les volumes cachés permettent de cacher les données dans le volume crypté. Les données sont protégées par un mot de passe supplémentaire. Sans le mot de passe, l'existence des données ne peut être prouvée. Les volumes cachés ne sont pas configurés par défaut pour que leur existence puisse être niée de manière plausible. Le concept est similaire au volume caché de VeraCrypt/TrueCrypt, mais avec Nitrokey Storage, la fonctionnalité complète des volumes cachés est implémentée dans le matériel.
Vous pouvez configurer jusqu'à quatre volumes cachés. Une fois déverrouillés, les volumes cachés se comportent comme du stockage ordinaire où vous pouvez créer diverses partitions, systèmes de fichiers et stocker des fichiers comme vous le souhaitez.
Si vous décidez de configurer des volumes cachés, vous ne pouvez plus utiliser le stockage crypté. Comme le volume caché est situé sur l'espace libre de la mémoire cryptée, il est possible que des données soient écrasées dans le volume caché. Vous pouvez dire, même le stockage crypté "ne sait pas" qu'il y a un volume caché. La structure générale est illustrée dans le diagramme ci-dessous. Par conséquent, n'écrivez rien dans le stockage crypté après avoir créé un volume caché (vous devez d'abord le déverrouiller).
Configurez les volumes cachés :
Si vous utilisez deux volumes cachés ou plus, notez que leur surface de stockage ne doit pas se chevaucher. Sinon, ils passeraient outre et détruiraient les données de l'un et de l'autre. Chaque volume caché nécessiterait un mot de passe différent.
Utilisation de volumes cachés :
Voir aussi le manuel plus ancien mais complet sur le stockage Nitrokey.
Il est possible d'utiliser le Nitrokey sur un appareil Android en combinaison avec OpenKeychain. Cela permet de crypter/décrypter les courriels ou les fichiers via OpenPGP.
Cotech fournit le logiciel Android avec un support commercial. Jetez un coup d'oeil là, si vous voulez. Les instructions suivantes sont basées sur OpenKeychain.
Testé avec Nitrokey Start, Pro et Storage en combinaison avec Android 7.1, OpenKeychain 4.5 et K9Mail 5.207.
Pour importer les touches du Nitrokey, vous devez d'abord démarrer l'application OpenKeychain. Insérez ensuite la Nitrokey avec le câble USB OTG. OpenKeychain ouvre une boîte de dialogue pour utiliser la Nitrokey (vous devrez peut-être d'abord accepter l'utilisation de la clé avec OpenKeychain). Vous pouvez maintenant choisir entre rechercher une clé publique sur un serveur de clés ou choisir la clé publique dans le stockage. Après l'importation de la clé publique, vous devez taper sur'connect key' pour importer une référence à la clé privée de la Nitrokey. En gros, c'est tout.
Dans le cas où il n'y a pas encore de touches sur la Nitrokey, OpenKeychain vous aidera à créer une nouvelle paire de clés.
Vous pouvez utiliser toutes les fonctions d'OpenKeychain et des applications qui utilisent OpenKeychain. Par conséquent, vous pouvez simplement crypter/décrypter des messages ou des fichiers à la main en utilisant l'application directement ou par exemple vous pouvez combiner K9Mail avec OpenKeychain pour décrypter vos messages automatiquement. Il est important de choisir d'abord la bonne clé dans les paramètres du compte K9Mail.
Notez que vous devrez peut-être activer le clavier à l'écran dans les paramètres androïdes pour taper le code PIN car le système reconnaît le Nitrokey comme un clavier physique et essaie donc de masquer le clavier à l'écran. Allez dans'Langue et saisie' >'Clavier actuel' >'Méthode de saisie d'affichage du matériel'.
Pas encore possible.
Il y a des instructions sur gnupg.org sur la façon d'utiliser une carte OpenPGP sur un UbuntuPhone qui devrait fonctionner pour Nitrokey Start, Pro et Storage.
Cryptez vos courriels à l'aide de la norme de l'industrie S/MIME disponible dans tous les principaux clients de courriel.
Le Nitrokey HSM a été testé pour fonctionner avec Mozilla Thunderbird et Microsoft Outlook. D'autres clients de messagerie prenant en charge PKCS#11 ou Microsoft CSP devraient également fonctionner.
VeraCrypt est un logiciel gratuit et Open Source de chiffrement de disque pour Windows, macOS et GNU/Linux. C'est le successeur de TrueCrypt et donc recommandé, bien que les instructions suivantes devraient également s'appliquer à TrueCrypt. Suivez ces étapes pour utiliser le programme avec Nitrokey :
Considération de sécurité : Veuillez noter que VeraCrypt n'utilise pas toute la sécurité qu'offre Nitrokey (et les cartes à puce en général). Au lieu de cela, il stocke un fichier clé sur le Nitrokey qui pourrait théoriquement être volé par un virus informatique après que l'utilisateur ait entré le code PIN.
Note : Aloaha Crypt est basé sur TrueCrypt/VeraCrypt mais sans les limitations de sécurité décrites.
Purism a créé un script simple pour ajouter la Nitrokey/LibremKey comme moyen de déverrouiller les partitions LUKS (pas encore testé par Nitrokey).
Ce projet vise à faciliter l'utilisation de LUKS avec le Nitrokey Pro ou le stockage basé sur le Password Safe (non encore testé par Nitrokey).
Prérequis : Veuillez vous assurer que vous avez installé le pilote de périphérique, modifié les codes PIN par défaut et généré ou importé des clés avec GnuPG.
Un système de fichiers chiffrés facile à utiliser est EncFS, qui est basé sur FUSE. Vous pouvez suivre ces étapes pour l'utiliser avec de très longs mots de passe et Nitrokey :
Initialisation
# Create a key file with random data: $ dd bs=64 count=1 if=/dev/urandom of=keyfile # Encrypt the key file and use the User-ID of your Nitrokey $ gpg --encrypt keyfile # Remove the key file in clear text: $ rm keyfile # you may want to use 'wipe' or 'shred' to securely delete the keyfile # Create mount point: $ mkdir ~/.cryptdir ~/cryptdir # Create the actual encryption folder $ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir # There may appears an error message about missing permission of fusermount # This message can be ignored # Unmount the new file system: $ fusermount -u ~/cryptdir
Utilisation
# Mount encrypted file system and enter PIN of Nitrokey: $ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir # After usage, unmount the file system: $ fusermount -u ~/cryptdir
eCryptfs est un système de fichiers de chiffrement transparent pour Linux qui peut être utilisé avec Nitrokey via un pilote PKCS#11. Voir ces instructions. Sinon, essayez ESOSI ou suivez ces étapes en utilisant OpenSC et OpenVPN :
Avertissement : Cela supprimera les touches existantes sur votre Nitrokey !
# Import the certificate and key to the Nitrokey $ pkcs15-init --delete-objects privkey,pubkey --id 3 --store-private-key user@example.com.p12 --format pkcs12 --auth-id 3 --verify-pin # Create the file ~/.ecryptfsrc.pkcs11: $ editor ~/.ecryptfsrc.pkcs11 # Enter this content: $ pkcs11-log-level=5 pkcs11-provider1,name=name,library=/usr/lib/opensc-pkcs11.so,cert-private=true $ openvpn --show-pkcs11-ids path to opensc-pkcs11 module Certificate DN: /description=Iv4IQpLO02Mnix9i/CN=user@example.com/emailAddress=user@example.com Serial: 066E04 Serialized id: ZeitControl/PKCS\x2315\x20emulated/000500000c7f/OpenPGP\x20card\x20\x28User\x20PIN\x29/03 # Copy the serialized id for later usage: $ ecryptfs-manager # This will show list option. Choose option "Add public key to keyring" # Choose pkcs11-helper # Enter the serialized ID of step 3 to PKCS#11 ID.
VeraCrypt est un logiciel gratuit et Open Source de chiffrement de disque pour Windows, macOS et GNU/Linux. C'est le successeur de TrueCrypt et donc recommandé, bien que les instructions suivantes devraient également s'appliquer à TrueCrypt. Suivez ces étapes pour utiliser le programme avec Nitrokey :
Considération de sécurité : Veuillez noter que VeraCrypt n'utilise pas toute la sécurité qu'offre Nitrokey (et les cartes à puce en général). Au lieu de cela, il stocke un fichier clé sur le Nitrokey qui pourrait théoriquement être volé par un virus informatique après que l'utilisateur ait entré le mot de passe.
Note : Aloaha Crypt est basé sur TrueCrypt/VeraCrypt mais sans les limitations de sécurité décrites. (Non testé avec Nitrokey HSM !)
Utilisez l'outil gpgsm pour signer, vérifier, chiffrer et déchiffrer les fichiers. Utilisez une clé de signature sur un Nitrokey pour signer des documents en utilisant Acrobat Reader, Open Office / Libre Office ou tout autre lecteur PDF supportant les signatures électroniques.
Le Gnu Privacy Assistant (GPA) reconnaît Nitrokey prêt à l'emploi, dispose de diverses fonctions pour gérer les clés et les cartes. Il permet également des opérations de fichiers telles que le cryptage, le décryptage, la signature.
SOPS est un éditeur de fichiers cryptés qui supporte les formats YAML, JSON et BINARY et crypte avec AWS KMS et PGP. Vous pouvez le trouver sur Github.
Aloaha propose plusieurs applications pour crypter et signer des PDF. Tous, qui permettent l'intégration de cartes à puce, fonctionnent avec Nitrokey. Vous pouvez par exemple importer la clé et le certificat en utilisant OpenSC ou toute autre variante appropriée. Après cela, Windows reconnaîtra votre certificat et vous pourrez signer le document tel qu'il est montré dans la capture d'écran ci-dessous.
GpgEx s'intègre facilement dans l'Explorateur Windows pour permettre le cryptage et le décryptage des fichiers. Installez-le dans le cadre du package GPG4Win.
Depuis la version 2.1, GnuPG a un support intégré mais limité pour le Nitrokey HSM. Utilisez l'outil gpgsm pour signer, vérifier, chiffrer et déchiffrer des fichiers ou des messages S/MIME en utilisant votre HSM Nitrokey. Utilisez une clé de signature sur un HSM Nitrokey pour signer des documents en utilisant Acrobat Reader, Open Office / Libre Office ou tout autre lecteur PDF supportant les signatures électroniques.
ECC HSM Encryptor est une petite application pour crypter et décrypter des fichiers avec un Nitrokey HSM.
Utilisez l'outil gpgsm pour signer, vérifier, crypter et décrypter des fichiers. Utilisez une clé de signature sur une Nitrokey pour signer des documents en utilisant Acrobat Reader, Open Office / Libre Office ou tout autre lecteur PDF supportant les signatures électroniques.
Le Gnu Privacy Assistant (GPA) reconnaît Nitrokey prêt à l'emploi, dispose de diverses fonctionnalités pour gérer les clés et les cartes. Il permet également des opérations sur les fichiers telles que le cryptage, le décryptage, la signature.
SOPS est un éditeur de fichiers cryptés qui prend en charge les formats YAML, JSON et BINARY et qui crypte avec AWS KMS et PGP. Vous pouvez le trouver sur github.
Avant de commencer à utiliser l'une de ces applications avec votre Nitrokey, assurez-vous d'avoir installé le pilote de périphérique et initialisé le périphérique (par exemple, les clés générées).
La connexion par certificat avec TLS et navigateur Web est une méthode d'authentification très sécurisée, mais elle n'est que rarement utilisée. Si vous n'êtes pas certain de ce que cela signifie, cette approche n'est probablement pas pertinente pour vous.
Cette page fait référence aux sites Web et aux applications qui prennent en charge l'authentification par certificat, de sorte que les utilisateurs n'ont pas besoin d'entrer leur nom d'utilisateur et leur mot de passe lors de la connexion. Par exemple, WebID est un excellent protocole qui l'utilise. L'authentification par certificat peut être utilisée facilement avec le Nitrokey et également avec tout autre stockage de certificat.
Vous devez installer le pilote PKCS#11 :
Vous êtes maintenant prêt à accéder aux sites Web qui fournissent l'authentification par certificat.
Installez ce mini pilote pour Windows. Vous êtes maintenant prêt à accéder aux sites Web qui fournissent l'authentification par certificat.
Sous Windows, installez ce mini pilote. Sous Linux, suivez ces instructions. Vous êtes maintenant prêt à accéder aux sites Web qui fournissent l'authentification par certificat.
WebID est une technologie qui permet la création de sites Web sociaux sécurisés et fédérés. Voici une vidéo (WebM, Ogg vidéo, H.264) qui montre comment utiliser Nitrokey pour créer un profil WebID et ensuite l'utiliser dans un café Internet à Singapour. Nitrokey protège contre les virus informatiques qui, autrement, pourraient s'approprier le nom d'utilisateur et le mot de passe.
Site Web | Catégorie |
---|---|
CAcert | Autorité de certification communautaire |
PrivaSphere | Messagerie sécurisée |
HM Revenue & Customs | administration fiscale britannique |
Application | Catégorie |
---|---|
Roundcube (plugin) | Webmail |
Drupal (WebID, Connexion au certificat) | Système de gestion de contenu |
Media Wiki (plugin) | Wiki |
Joomla ! | Système de gestion de contenu |
Apache + mod_ssl | Serveur Web |
OpenSSH | Client et serveur SSH (remote secure shell) |
Wordpress (plugin) | Blog et CMS |
Tivoli | Cadre de gestion du système |
Globalscape EFT | transfert de fichiers géré (MFT) |
Oracle Identity Manager | I&AM |
Source du fusible | Middleware |
Liferay | Blog |
FusionForge | logiciel de gestion de projet et de collaboration en ligne |
Ce site est une bonne lecture sur les mécanismes d'authentification forte, pourquoi l'authentification par certificat client n'est pas populaire et de meilleures alternatives à l'horizon.
Protégez l'accès aux informations sensibles de votre site Web grâce à l'authentification par le 2e facteur.
Utilisez un HSM Nitrokey comme jeton d'authentification via le PKI d'authentification de périphérique intégré ou utilisez des clés et certificats sur un HSM Nitrokey pour l'authentification client TLS/SSL.
Le Nitrokey doit déjà avoir des clés PGP installées et le porte-clés GnuPG local doit être conscient des clés, c'est-à-dire que GPG4Win doit être installé sur le système (seule l'application centrale GnuPG est nécessaire). De plus, vous devez installer PuTTY.
Il y a deux étapes nécessaires pour que PuTTY fonctionne. Dans un premier temps, nous devons activer le support PuTTY de GnuPG. Pour ce faire, nous utilisons la commande suivante :
echo enable-putty-support >> AppData\Roaming\gnupg\gpg-agent.conf
Maintenant, nous voulons nous assurer que le gpg-agent démarre automatiquement en arrière-plan (vous pouvez le démarrer manuellement avec la commande ci-dessous, si vous préférez). Nous créons un raccourci vers gpg-connect-agent.exe. Appuyer sur la touche Windows et la maintenir enfoncée, puis appuyer sur'R'. Tapez "shell:startup" dans la zone de texte d'ouverture (voir image ci-dessous). L'explorateur Windows s'ouvre et vous cliquez avec le bouton droit de la souris sur un espace vide et choisissez "Nouveau" -> "Raccourci". Vous devez maintenant insérer la commande actuelle et continuer :
"C:\Program Files (x86)\gnupg\bin\gpg-connect-agent.exe" /bye
Redémarrez votre système pour vous assurer que le raccourci fonctionne. Si tout va bien, vous pouvez maintenant utiliser PuTTY comme d'habitude et PuTTY utilisera le Nitrokey automatiquement.
Vous pouvez générer un fichier authorized_keys en exécutant
"C:\Program Files (x86)\gnupg\bin\gpg.exe" --export-ssh-key keyID >> authorized_keys
où'keyID' est soit l'empreinte digitale de votre clé, soit simplement l'adresse e-mail liée à votre clé. Le Nitrokey doit déjà être connu du porte-clés GnuPG local. Vous pouvez maintenant ajouter ce fichier aux clés_autorisées d'un serveur distant et quand vous ssh sur le serveur, on vous demandera un pin plutôt qu'une phrase de passe.
Le Nitrokey doit déjà avoir des clés PGP installées et le porte-clés GnuPG local doit connaître les clés.
unset SSH_AGENT_PID if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" fi
pkill gpg-agent
d'ouvrir une nouvelle ligne de commande pour vous assurer que tout est configuré.gpg2 --card-status
la première utilisation pour vous assurer que l'agent gpg-agent démarre.Vous pouvez générer un fichier authorized_keys en exécutant soit
gpgkey2ssh keyID >> ~/authorized_keys #(for GnuPG version <= 2.1.11) or gpg2 --export-ssh-key keyID >> ~/authorized_keys #(for newer GnuPG versions)
là où
keyID
Si l'on vous demande encore un mot de passe, veuillez vous assurer que
echo $SSH_AUTH_SOCK
retourne quelque chose de raisonnable comme'/run/user/1000/gnupg/S.gpg-agent.ssh' ou'/home/username/.gnupg/.S.gpg-agent.ssh'. Malheureusement, il y a eu quelques changements dans GnuPG dans le passé, de sorte que le contenu réel peut différer du système et de la version GnuPG. Sur certains systèmes, il peut même y avoir plusieurs dossiers dans cette variable sauvegardée. Vous devez adapter le code donné ci-dessus dans.bashrc pour que la variable SSH_AUTH_SOCK soit correcte. Dans le doute, cherchez'SSH_AUTH_SOCK' dans
man gpg-agent
pour trouver le code réel de votre version/système.
Vous pouvez vérifier si vous avez un programme'pinentry' installé via votre gestionnaire de paquets. Vous devrez peut-être le définir dans le fichier gpg-agent.conf également
.
Il se peut que vous ayez besoin de pointer l'agent gpg-agent vers le bon ATS.
Lire le patch OpenSSH avec le support U2F.
Protégez la résolution de votre nom de domaine en utilisant DNSSEC et un Nitrokey HSM comme entrepôt de clés sécurisé. Il est basé sur la technologie Smartcard-HSM, c'est pourquoi les ressources suivantes s'appliquent :
Avec son PKI d'authentification de périphérique intégré unique, un HSM Nitrokey possède une identité unique protégée cryptographiquement qui peut être vérifiée dans un protocole d'authentification rapide. Un terminal de contrôle d'accès peut vérifier l'authenticité et l'identité de l'appareil, créer un canal de communication sécurisé et effectuer une vérification hors ligne du NIP. Le projet coolPACS contient tous les détails.
1. Générer une clé sur Nitrokey via pkcs11-tool.
2. Générer une demande de signature de certificat via le module openssl + pkcs11 :
$ openssl req -engine pkcs11 -sha256 -new -key id_3 -keyform engine -out <CSR FILE.CSR> -config <OPENSSL.CNF> -extensions usr_client
3. Signer le certificat avec notre autorité de certification
$ openssl ca -cert <CA.CRT> -keyfile <CA.KEY> -in <FILE.CSR> -out <FILE.CRT> -config <OPENSSL.CNF> -extensions usr_client
4. Importer le certificat dans le Nitrokey via pkcs11-tool
$ pkcs15-init --update-existing --store-certificate <FILE.PEM> --id 3
5. Lisez l'ID du certificat requis pour la configuration d'openvpn :
$ openvpn --show-pkcs11-ids /usr/lib64/opensc-pkcs11.so
6. Modifiez votre configuration openvpn. Ajoutez l'ID de certificat que vous avez collecté à l'étape précédente : p. ex.
$ pkcs11-id 'OpenPGP\x20project/PKCS\x2315\x20emulated/fffe43211234/User\x20PIN\x20\x28OpenPGP\x20card\x29/03'
7. Ajoutez également le pilote PKCS#11 à la configuration, par exemple :
$ pkcs11-providers '/usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so'
Voir ce lien pour plus d'informations.
Toutes les configurations sont maintenant terminées. Lors de l'exécution du client OpenVPN, le PIN de Nitrokey doit être saisi. Malheureusement, OpenVPN n'invite pas à entrer le code PIN et il doit être entré de la manière suivante :
$ telnet 8888 password 'User PIN (OpenPGP card) token' <PIN>
Sinon, vous pouvez recompiler le client OpenVPN avec le support système désactivé et il vous demandera le code PIN comme prévu. Alternativement au client OpenVPN, vous pouvez utiliser le client Viscosity qui offre une meilleure expérience utilisateur, notamment pour saisir le code PIN.
Strong Swan fonctionne avec le pilote PKCS#11. En gros, suivez ces étapes :
1. Générer une clé sur Nitrokey via pkcs11-tool. Dans cet exemple, il s'agit d'une clé RSA de 4096 bits.
$ pkcs11-tool --module /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so -l -k --key-type rsa:4096 --id 10 --label 'Staging Access'
2. Générer une demande de signature de certificat via le module openssl + pkcs11
$ openssl OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so OpenSSL> req -engine pkcs11 -sha256 -new -key id_10 -keyform engine -out user@email.com-staging-cert.csr -subj '/C=GB/L=Cambridge/O=Organization/OU=Staging Access/[email protected]/[email protected]'
3. Signez le certificat avec votre autorité de certification
4. Convertir le certificat en DER
$ openssl x509 -in user@email.com-staging-cert.csr -out user@email.com-staging-cert.der -outform DER
5. Importer le certificat dans le Nitrokey via pkcs11-tool
$ pkcs11-tool --module /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so -l -y cert -w user@email.com-staging-cert.der --id 10 --label 'Staging Access'
6. Configurez Strongswan pour charger le module opensc-pkcs11 puis pour charger le certificat sur Nitrokey. Editez /etc/strongswan.d/charon/pkcs11.conf et ajoutez le module suivant :
modules { Nitrokey { path = /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so } }
7. Initialiser la connexion VPN via IPSec/Strongswan, puis demander Nitrokey PIN
8. Le VPN est maintenant connecté
Stunnel fonctionne comme une enveloppe de cryptage SSL entre le client distant et le serveur local (inetd-startable) ou distant. Il peut être utilisé pour ajouter des fonctionnalités SSL aux démons inetd couramment utilisés comme les serveurs POP2, POP3, et IMAP sans aucune modification du code du programme.
Stunnel est capable de charger le moteur OpenSC PKCS#11 en utilisant cette configuration :
engine=dynamic engineCtrl=SO_PATH:/usr/lib/opensc/engine_pkcs11.so engineCtrl=ID:pkcs11 engineCtrl=LIST_ADD:1 engineCtrl=LOAD engineCtrl=MODULE_PATH:/usr/lib/pkcs11/opensc-pkcs11.so engineCtrl=INIT [service] engineNum=1 key=id_45
Les clés CA sont très sensibles et ne doivent pas être compromises ou perdues.
Veuillez consulter ce PDF (p. 30) de heinlein-support.de pour un résumé des instructions en allemand.
µ-CA-tool est un script basé sur GnuPG, OpenSC et OpenSSL qui permet d'effectuer les tâches de base d'une AC. Il fonctionne avec Nitrokey Pro et Nitrokey Storage.
Les clés CA sont très sensibles et ne doivent pas être compromises ou perdues.
Nitrokey HSM s'intègre bien avec des solutions industrielles comme EJBCA ou XCA.
Veuillez consulter ce PDF (p. 30) de heinlein-support.de pour un résumé des instructions en allemand.
µ-CA-tool est un script basé sur GnuPG, OpenSC et OpenSSL qui permet d'effectuer les tâches de base d'une AC. Il fonctionne avec Nitrokey Pro et Nitrokey Storage.
fladnag.net a publié une instruction en quatre parties sur comment utiliser le HSM pour un pki.
An approach to secure keys for Hashicorp Vault/Bank-Vault on a Nitrokey HSM can be found at banzaicloud.com.
Le Nitrokey HSM 2 prend en charge deux schémas n-of-m différents - l'un pour le partage sécurisé de mots de passe/matériel de clé et l'autre pour l'authentification par clé publique pour contrôler l'accès à l'appareil. Veuillez consulter ce billet de blog pour de plus amples informations.
Cette fonctionnalité peut être utilisée avec OpenSC comme décrit ici. L'approche générale est présentée dans les vidéos ci-dessous (liens externes).
Sauvegarde et restauration des clés sécurisées de Nitrokey HSM :
Nitrokey HSM's M-of-N Threshold Scheme :
Jusqu'à présent, l'authentification n-of-m n'est prise en charge que dans OpenSCDP. Le billet du blog donne un aperçu et un mode d'emploi (accès CDN requis) est montré ici, étape par étape, dans le Smart Card Shell. Pour OpenSC, il y a un ticket pour l'intégration.
L'authentification n-of-m est également prise en charge dans le portail PKI-as-a-Service Portal pour les HSM connectés localement et à distance. Le portail PKI-as-a-Service Portal est basé sur OpenSCDP.
Vous disposez des options suivantes :
Vous pouvez également suivre cette vidéo (Elle contient une erreur autour de l'heure 4:22 qui est décrite plus bas).
sudo add-apt-repository ppa:jtaylor/keepass sudo apt-get update sudo apt-get install keepass2
sudo apt-get install mono-complete
Testé sous Ubuntu 16.10, Nitrokey App v0.6.3 et Nitrokey Storage v0.45.
Le Nitrokey FIDO U2F peut être utilisé avec ces navigateurs :
Ouvrez l'un des sites Web supportant U2F. Connectez-vous sur le site Web et consultez les paramètres d'activation de l'authentification à deux facteurs. Appuyez sur la touche Nitrokey FIDO U2F pour l'enregistrer avec votre compte sur votre site Web lorsque cela vous est demandé. Après avoir configuré l'appareil avec succès, vous devez toucher votre Nitrokey FIDO U2F pour chaque connexion à ce site Web.
Si vous ne trouvez pas les paramètres d'authentification à deux facteurs, vous pouvez consulter dongleauth.com. Dans la plupart des cas, il existe un lien vers la documentation du service web supporté.
Remarque : Google accepte uniquement le navigateur Chrome pour l'enregistrement du Nitrokey FIDO U2F. Se connecter avec le Nitrokey FIDO U2F fonctionne bien avec Firefox cependant.
J.v.d.Bosch a écrit un programme python simple et gratuit pour sécuriser la clé privée d'un portefeuille Bitcoin dans un HSM. Voir ici pour plus d'informations.
Utilisation du HSM dans une chaîne de PoA Ethereum.
L'utilisateur comio a créé un fichier système pour utiliser scdrand et donc le TRNG plus généralement. Il a aussi créé un ebuild pour Gentoo.
Nitrokey HSM peut être utilisé avec Botan et TokenTools en utilisant OpenSC comme pilote PKCS#11.
OpenSSL ne peut pas utiliser directement le RNG de Nitrokey HSM parce que engineine-pkcs11 ne contient pas de mapping pour OpenSSL vers C_GenerateRandom.
Pour mettre à jour le firmware de Nitrokey Storage, veuillez lire ces instructions.