GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et utiliser SoftHSM sur Ubuntu 16.04 LTS

Les jetons matériels/logiciels ou les modules de sécurité matériels (HSM) sont utilisés avec différentes applications pour stocker les clés cryptographiques (publiques et privées) et les certificats. Par exemple, NitroKey et Smartcard-HSM sont deux HSM. Cependant, il existe également des alternatives logicielles telles que SoftHSM (v2), qui est spécifiquement développée dans le cadre du projet OpenDNSSEC.

SoftHSM est essentiellement une implémentation d'un magasin cryptographique accessible via une interface PKCS #11. L'interface PKCS#11 est utilisée pour communiquer ou accéder aux dispositifs cryptographiques tels que les HSM (Hardware Security Modules) et les cartes à puce. L'objectif principal des dispositifs HSM est de générer des clés cryptographiques et de signer/chiffrer des informations sans révéler la clé privée aux autres.

Pour vous donner un aperçu rapide, il n'était pas possible pour les utilisateurs d'OpenDNSSEC d'acheter un nouveau jeton matériel pour le stockage des clés cryptographiques. Ainsi, pour contrer ce problème, OpenDNSSEC a commencé à fournir "SoftHSM", une implémentation logicielle d'un dispositif cryptographique générique avec une interface PKCS#11. SoftHSM est conçu pour répondre aux exigences d'OpenDNSSEC et fonctionne également avec d'autres produits cryptographiques.

Dépendances

Les bibliothèques cryptographiques Botan ou OpenSSL peuvent être utilisées avec le projet SoftHSM. Si Botan est utilisé avec SoftHSM, assurez-vous qu'il prend en charge GNU MP (--with-gnump), ce qui améliorera les performances lors des opérations de clé publique.

Installation

SoftHSM est disponible sur le site Web OpenDNSSEC et peut être téléchargé à l'aide de la commande wget de la manière suivante.

wget https://dist.opendnssec.org/source/softhsm-2.3.0.tar.gz

Maintenant, extrayez le package à l'aide de la commande tar de la manière suivante.

Après l'extraction, exécutez le script de configuration pour vérifier les dépendances du logiciel SoftHSM.

./configure 

L'instantané suivant montre que le script de configuration affiche une erreur due à l'absence du package "OpenSSL header".

Alors résolvez cela, installez le package "openssl-dev" de la manière indiquée ci-dessous.

apt-get install ouvressl-dev

La sortie du script de configuration montre que tous les packages requis sont maintenant disponibles pour la compilation de l'outil.

L'instantané suivant montre les options disponibles pour le script de configuration de l'outil SoftHSM.

Toutes les options proposées par le script de configuration sont accessibles via la commande suivante :

./configure --help 
--disable-ecc		Disable support for ECC (default enabled)
--disable-gost		Disable support for GOST (default enabled)
--disable-visibility	Disable hidden visibilty link mode [enabled]
--with-crypto-backend	Select crypto backend (openssl|botan)
--with-openssl=PATH	Specify prefix of path of OpenSSL
--with-botan=PATH	Specify prefix of path of Botan
--with-migrate		Build the migration tool. Used when migrating
			a SoftHSM v1 token database. Requires SQLite3
--with-objectstore-backend-db
			Build with database object store (SQLite3)
--with-sqlite3=PATH	Specify prefix of path of SQLite3
--disable-p11-kit	Disable p11-kit integration (default enabled)
--with-p11-kit=PATH	Specify install path of the p11-kit module, will
			override path given by pkg-config

Maintenant, exécutez la commande make pour compiler le code source de SoftHSM.

make 

Ensuite, exécutez la "commande make install" pour installer l'outil SoftHSM.

make install

Fichier de configuration

L'emplacement par défaut du fichier de configuration est /etc/softhsm2.conf qui peut être modifié en définissant le SOFTHSM2_CONF variable d'environnement.

export SOFTHSM2_CONF=Path_of_SoftHSM_Conf_file

Le paramètre par défaut de SoftHSM est affiché dans l'instantané suivant.

Initialiser le jeton logiciel

La toute première étape pour utiliser SoftHSM consiste à l'initialiser. Nous pouvons utiliser l'interface "softhsm2-util" ou l'interface "PKCS#11" pour initialiser l'appareil. L'instantané suivant montre l'initialisation de l'appareil SoftHSM.

 softhsm2-util --init-token --slot 0 --label "Token-1" 

Le code PIN du responsable de la sécurité (SO) est utilisé pour réinitialiser le jeton et le code PIN de l'utilisateur est transmis à l'application afin qu'elle puisse interagir avec le jeton (comme l'utilisation avec Mozilla Firefox). C'est pourquoi, définissez à la fois le SO et le PIN de l'utilisateur. Une fois qu'un jeton a été initialisé, d'autres emplacements seront ajoutés automatiquement à un nouveau jeton non initialisé. Les jetons initialisés seront réaffectés à un autre emplacement en fonction du numéro de série du jeton. Il est recommandé de trouver et d'interagir avec le jeton en recherchant l'étiquette du jeton ou le numéro de série dans la liste des emplacements/les informations sur le jeton.

D'autres options de "softhsm2-util" sont présentées ci-dessous.

L'instantané suivant montre les emplacements du jeton.

Sauvegarde

Tous les jetons et leurs objets sont stockés à l'emplacement indiqué par softhsm2.conf. La sauvegarde peut donc être effectuée comme une copie de fichier ordinaire.

softhsm avec opensc utilities

Dans ce tutoriel, les utilitaires PKCS11 du projet OpenSC sont utilisés pour accéder au périphérique SoftHSM. Les détails sur l'installation et l'utilisation de "OpenSC" sont disponibles sur le site howtoforge.

apt-get install opensc

 

L'instantané suivant montre que la commande PKCS#11 est exécutée sur le SoftHSM. Le commutateur "-t" est utilisé pour tester le mécanisme de SoftHSM.

pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so -l -t

Conclusion

Dans cet article, nous avons expliqué comment l'outil logiciel HSM SoftHSM peut être installé et initialisé sur la plate-forme Ubuntu. Il peut être configuré à l'aide de la norme PKCS11 pour que le HSM/Smartcard accède aux appareils.


Ubuntu
  1. Comment installer et utiliser Wine sur Ubuntu 20.04

  2. Comment installer et utiliser iostat sur Ubuntu 16.04 LTS

  3. Comment installer et utiliser Telnet sur Ubuntu 20.04 LTS

  4. Comment installer Libreoffice 4.3 sur Ubuntu 12.04 et 14.04 LTS

  5. Comment installer Libreoffice 4.4 sur Ubuntu 15.04 et 14.04 LTS

Comment installer et utiliser Kontact dans Ubuntu 20.04

Comment installer et utiliser iTunes sur Ubuntu 20.04

Comment installer PHP 5.6, PHP 8.0 et PHP 8.1 sur Ubuntu 20.04 LTS

Comment installer uTorrent dans Ubuntu 16.04 LTS et Ubuntu 17.10

Comment installer et utiliser R sur Ubuntu

Comment installer et utiliser Jenkins sur Ubuntu 18.04 et 16.04 LTS