GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und verwenden Sie SoftHSM unter Ubuntu 16.04 LTS

Hardware-/Software-Token oder Hardware-Sicherheitsmodule (HSM) werden mit verschiedenen Anwendungen verwendet, um kryptografische Schlüssel (öffentlich und privat) und Zertifikate zu speichern. Zum Beispiel sind NitroKey und Smartcard-HSM ein paar HSMs. Es gibt jedoch auch einige Software-Alternativen wie SoftHSM(v2), das speziell als Teil des OpenDNSSEC-Projekts entwickelt wird.

SoftHSM ist im Grunde eine Implementierung eines kryptografischen Speichers, auf den über eine PKCS #11-Schnittstelle zugegriffen werden kann. Die PKCS#11-Schnittstelle wird verwendet, um mit kryptografischen Geräten wie HSM (Hardware Security Modules) und Smartcards zu kommunizieren oder darauf zuzugreifen. Der Hauptzweck von HSM-Geräten besteht darin, kryptografische Schlüssel zu generieren und Informationen zu signieren/verschlüsseln, ohne den privaten Schlüssel an andere weiterzugeben.

Um Ihnen einen kurzen Hintergrund zu geben, war es für OpenDNSSEC-Benutzer nicht möglich, neue Hardware-Token für die Speicherung von kryptografischen Schlüsseln zu kaufen. Um diesem Problem entgegenzuwirken, begann OpenDNSSEC mit der Bereitstellung von „SoftHSM“, einer Softwareimplementierung eines generischen kryptografischen Geräts mit einer PKCS#11-Schnittstelle. SoftHSM wurde entwickelt, um die Anforderungen von OpenDNSSEC zu erfüllen und auch mit anderen kryptografischen Produkten zusammenzuarbeiten.

Abhängigkeiten

Botan- oder OpenSSL-Verschlüsselungsbibliotheken können mit dem SoftHSM-Projekt verwendet werden. Wenn Botan mit SoftHSM verwendet wird, stellen Sie sicher, dass es GNU MP (--with-gnump) unterstützt, was die Leistung bei Operationen mit öffentlichen Schlüsseln verbessert.

Installation

SoftHSM ist auf der OpenDNSSEC-Website verfügbar und kann mit dem wget-Befehl auf folgende Weise heruntergeladen werden.

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

Extrahieren Sie nun das Paket mit dem tar-Befehl auf folgende Weise.

Führen Sie nach dem Extrahieren das Konfigurationsskript aus, um die Abhängigkeiten der SoftHSM-Software zu überprüfen.

./configure 

Der folgende Schnappschuss zeigt, dass das Konfigurationsskript einen Fehler aufgrund des fehlenden "OpenSSL-Header"-Pakets anzeigt.

Also lösen Sie das Problem, installieren Sie das Paket "openssl-dev" wie unten hervorgehoben.

apt-get install openssl-dev

Die Ausgabe des configure-Skripts zeigt, dass nun alle erforderlichen Pakete für die Kompilierung des Tools verfügbar sind.

Der folgende Schnappschuss zeigt die verfügbaren Optionen für das Konfigurationsskript des SoftHSM-Tools.

Auf alle Optionen, die das configure-Skript bietet, kann über den folgenden Befehl zugegriffen werden:

./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

Führen Sie nun den Befehl make aus, um den Quellcode von SoftHSM zu kompilieren.

make 

Führen Sie als Nächstes „make install command“ aus, um das SoftHSM-Tool zu installieren.

make install

Konfigurationsdatei

Der Standardspeicherort der Konfigurationsdatei ist /etc/softhsm2.conf Dies kann geändert werden, indem Sie den SOFTHSM2_CONF festlegen Umgebungsvariable.

export SOFTHSM2_CONF=Path_of_SoftHSM_Conf_file

Die Standardeinstellung von SoftHSM wird im folgenden Schnappschuss gezeigt.

Soft-Token initialisieren

Der allererste Schritt zur Verwendung von SoftHSM besteht darin, es zu initialisieren. Wir können das "softhsm2-util" oder die "PKCS#11"-Schnittstelle verwenden, um das Gerät zu initialisieren. Der folgende Schnappschuss zeigt die Initialisierung des SoftHSM-Geräts.

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

Die PIN des Sicherheitsbeauftragten (SO) wird verwendet, um das Token neu zu initialisieren, und die Benutzer-PIN wird an die Anwendung übergeben, damit sie mit dem Token interagieren kann (wie bei der Verwendung mit Mozilla Firefox). Legen Sie daher sowohl SO als auch Benutzer-PIN fest. Sobald ein Token initialisiert wurde, werden einem neuen, nicht initialisierten Token automatisch weitere Slots hinzugefügt. Initialisierte Token werden basierend auf der Token-Seriennummer einem anderen Steckplatz neu zugewiesen. Es wird empfohlen, den Token zu finden und mit ihm zu interagieren, indem Sie nach dem Token-Label oder der Seriennummer in der Slot-Liste/Token-Info suchen.

Weitere Optionen des "softhsm2-util" werden unten gezeigt.

Der folgende Schnappschuss zeigt die Slots des Tokens.

Sicherung

Alle Token und ihre Objekte werden an dem von softhsm2.conf angegebenen Ort gespeichert. Die Sicherung kann somit als normale Dateikopie erfolgen.

fofthsm mit OpenSC-Dienstprogrammen

In diesem Tutorial werden PKCS11-Dienstprogramme des OpenSC-Projekts verwendet, um auf das SoftHSM-Gerät zuzugreifen. Einzelheiten zur Installation und Verwendung von "OpenSC" finden Sie auf der howtoforge-Site.

apt-get install opensc

 

Der folgende Schnappschuss zeigt, dass der PKCS#11-Befehl auf dem SoftHSM ausgeführt wird. Der Schalter "-t" wird verwendet, um den Mechanismus von SoftHSM zu testen.

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

Fazit

In diesem Artikel haben wir besprochen, wie das softwarebasierte HSM-Tool SoftHSM auf der Ubuntu-Plattform installiert und initialisiert werden kann. Es kann mit dem PKCS11-Standard konfiguriert werden, damit das HSM/die Smartcard auf die Geräte zugreifen kann.


Ubuntu
  1. So installieren und verwenden Sie Wine unter Ubuntu 20.04

  2. So installieren und verwenden Sie iostat unter Ubuntu 16.04 LTS

  3. So installieren und verwenden Sie Telnet unter Ubuntu 20.04 LTS

  4. So installieren Sie Libreoffice 4.3 auf Ubuntu 12.04 und 14.04 LTS

  5. So installieren Sie Libreoffice 4.4 auf Ubuntu 15.04 und 14.04 LTS

So installieren und verwenden Sie Kontact in Ubuntu 20.04

So installieren und verwenden Sie iTunes unter Ubuntu 20.04

So installieren Sie PHP 5.6, PHP 8.0 und PHP 8.1 auf Ubuntu 20.04 LTS

So installieren Sie uTorrent in Ubuntu 16.04 LTS und Ubuntu 17.10

So installieren und verwenden Sie R unter Ubuntu

So installieren und verwenden Sie Jenkins unter Ubuntu 18.04 und 16.04 LTS