GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e utilizzare SoftHSM su Ubuntu 16.04 LTS

I token hardware/software o Hardware Security Modules (HSM) vengono utilizzati con diverse applicazioni per archiviare chiavi crittografiche (pubbliche e private) e certificati. Ad esempio, NitroKey e Smartcard-HSM sono un paio di HSM. Tuttavia, esistono anche alcune alternative software come SoftHSM(v2), che, in particolare, è in fase di sviluppo come parte del progetto OpenDNSSEC..

SoftHSM è fondamentalmente un'implementazione di un archivio crittografico accessibile tramite un'interfaccia PKCS #11. L'interfaccia PKCS#11 viene utilizzata per comunicare o accedere ai dispositivi crittografici come HSM (Hardware Security Modules) e smart card. Lo scopo principale dei dispositivi HSM è generare chiavi crittografiche e firmare/crittografare le informazioni senza rivelare la chiave privata agli altri.

Per darti un rapido background, non è stato possibile per gli utenti OpenDNSSEC acquistare nuovo token hardware per la memorizzazione delle chiavi crittografiche. Quindi, per contrastare questo problema, OpenDNSSEC ha iniziato a fornire "SoftHSM", un'implementazione software di un dispositivo crittografico generico con un'interfaccia PKCS#11. SoftHSM è progettato per soddisfare i requisiti di OpenDNSSEC e funzionare anche con altri prodotti crittografici.

Dipendenze

Le librerie crittografiche Botan o OpenSSL possono essere utilizzate con il progetto SoftHSM. Se Botan viene utilizzato con SoftHSM, assicurati che abbia il supporto per GNU MP (--with-gnump), qualcosa che migliorerà le prestazioni durante le operazioni con chiave pubblica.

Installazione

SoftHSM è disponibile dal sito Web di OpenDNSSEC e può essere scaricato utilizzando il comando wget nel modo seguente.

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

Ora estrai il pacchetto usando il comando tar nel modo seguente.

Dopo l'estrazione, esegui lo script di configurazione per verificare le dipendenze del software SoftHSM.

./configure 

La seguente istantanea mostra che lo script di configurazione mostra un errore dovuto alla mancanza del pacchetto "OpenSSL header".

Quindi risolvi il problema, installa il pacchetto "openssl-dev" nel modo evidenziato come di seguito.

apt-get install openssl-dev

L'output dello script di configurazione mostra che tutti i pacchetti richiesti sono ora disponibili per la compilazione del tool.

La seguente istantanea mostra le opzioni disponibili per lo script di configurazione dello strumento SoftHSM.

È possibile accedere a tutte le opzioni offerte dallo script configure tramite il seguente comando:

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

Ora esegui il comando make per compilare il codice sorgente di SoftHSM.

make 

Quindi, esegui "make install command" per installare lo strumento SoftHSM.

make install

File di configurazione

Il percorso predefinito del file di configurazione è /etc/softhsm2.conf che può essere modificato impostando il SOFTHSM2_CONF variabile di ambiente.

export SOFTHSM2_CONF=Path_of_SoftHSM_Conf_file

L'impostazione predefinita di SoftHSM è mostrata nell'istantanea seguente.

Inizializza il token software

Il primo passo per utilizzare SoftHSM è utilizzare inizializzarlo. Possiamo usare l'interfaccia "softhsm2-util" o "PKCS#11" per inizializzare il dispositivo. L'istantanea seguente mostra l'inizializzazione del dispositivo SoftHSM.

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

Il PIN del responsabile della sicurezza (SO) viene utilizzato per reinizializzare il token e il PIN dell'utente viene distribuito all'applicazione in modo che possa interagire con il token (come l'utilizzo con Mozilla Firefox). Ecco perché, imposta sia SO che il PIN utente. Una volta che un token è stato inizializzato, più slot verranno aggiunti automaticamente a un nuovo token non inizializzato. I token inizializzati verranno riassegnati a un altro slot in base al numero di serie del token. Si consiglia di trovare e interagire con il token cercando l'etichetta del token o il numero di serie nell'elenco degli slot/informazioni sul token.

Di seguito sono mostrate altre opzioni di "softhsm2-util".

La seguente istantanea mostra gli slot del token.

Backup

Tutti i token e i relativi oggetti sono archiviati nella posizione fornita da softhsm2.conf. Il backup può quindi essere eseguito come una normale copia di file.

SOFTHSM con utility OpenSC

In questo tutorial, le utilità PKCS11 del progetto OpenSC vengono utilizzate per accedere al dispositivo SoftHSM. I dettagli sull'installazione e l'utilizzo di "OpenSC" sono disponibili sul sito howtoforge.

apt-get install opensc

 

La seguente istantanea mostra che il comando PKCS#11 viene eseguito su SoftHSM. L'interruttore "-t" viene utilizzato per testare il meccanismo di SoftHSM.

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

Conclusione

In questo articolo, abbiamo discusso di come lo strumento HSM basato su software SoftHSM può essere installato e inizializzato sulla piattaforma Ubuntu. Può essere configurato utilizzando lo standard PKCS11 per l'HSM/Smartcard per accedere ai dispositivi.


Ubuntu
  1. Come installare e utilizzare Wine su Ubuntu 20.04

  2. Come installare e utilizzare iostat su Ubuntu 16.04 LTS

  3. Come installare e utilizzare Telnet su Ubuntu 20.04 LTS

  4. Come installare Libreoffice 4.3 su Ubuntu 12.04 e 14.04 LTS

  5. Come installare Libreoffice 4.4 su Ubuntu 15.04 e 14.04 LTS

Come installare e utilizzare Kontact in Ubuntu 20.04

Come installare e utilizzare iTunes su Ubuntu 20.04

Come installare PHP 5.6, PHP 8.0 e PHP 8.1 su Ubuntu 20.04 LTS

Come installare uTorrent in Ubuntu 16.04 LTS e Ubuntu 17.10

Come installare e utilizzare R su Ubuntu

Come installare e utilizzare Jenkins su Ubuntu 18.04 e 16.04 LTS