GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04LTSにSoftHSMをインストールして使用する方法

ハードウェア/ソフトウェアトークンまたはハードウェアセキュリティモジュール(HSM)は、暗号化キー(公開および秘密)と証明書を保存するためにさまざまなアプリケーションで使用されます。たとえば、NitroKeyとSmartcard-HSMは2つのHSMです。ただし、特にOpenDNSSECプロジェクトの一部として開発されているSoftHSM(v2)のような代替ソフトウェアもいくつか存在します。

SoftHSMは基本的に、PKCS#11インターフェイスを介してアクセスできる暗号化ストアの実装です。 PKCS#11インターフェイスは、HSM(ハードウェアセキュリティモジュール)やスマートカードなどの暗号化デバイスと通信またはアクセスするために使用されます。 HSMデバイスの主な目的は、暗号化キーを生成し、秘密キーを他の人に公開することなく情報に署名/暗号化することです。

簡単な背景を説明するために、OpenDNSSECユーザーが暗号化キーを保存するための新しいハードウェアトークンを購入することはできませんでした。そのため、この問題に対処するために、OpenDNSSECは、PKCS#11インターフェイスを備えた汎用暗号化デバイスのソフトウェア実装である「SoftHSM」の提供を開始しました。 SoftHSMは、OpenDNSSECの要件を満たし、他の暗号化製品とも連携するように設計されています。

依存関係

BotanまたはOpenSSL暗号化ライブラリはSoftHSMプロジェクトで使用できます。 BotanをSoftHSMで使用する場合は、GNU MP(--with-gnump)をサポートしていることを確認してください。これにより、公開鍵操作中のパフォーマンスが向上します。

インストール

SoftHSMはOpenDNSSECWebサイトから入手でき、次の方法でwgetコマンドを使用してダウンロードできます。

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

次に、次の方法でtarコマンドを使用してパッケージを抽出します。

抽出後、configureスクリプトを実行して、SoftHSMソフトウェアの依存関係を確認します。

./configure 

次のスナップショットは、configureスクリプトに「OpenSSLheader」パッケージがないためにエラーが表示されることを示しています。

これを解決するには、以下のように強調表示された方法で「openssl-dev」パッケージをインストールします。

apt-get install openssl-dev

configureスクリプトの出力は、必要なすべてのパッケージがツールのコンパイルに使用できることを示しています。

次のスナップショットは、SoftHSMツールの構成スクリプトで使用できるオプションを示しています。

configureスクリプトによって提供されるすべてのオプションには、次のコマンドを使用してアクセスできます。

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

次に、makeコマンドを実行して、SoftHSMのソースコードをコンパイルします。

make 

次に、「makeinstallコマンド」を実行してSoftHSMツールをインストールします。

make install

構成ファイル

構成ファイルのデフォルトの場所は/etc/softhsm2.conf これは、SOFTHSM2_CONFを設定することで変更できます 環境変数。

export SOFTHSM2_CONF=Path_of_SoftHSM_Conf_file

SoftHSMのデフォルト設定を次のスナップショットに示します。

ソフトトークンを初期化する

SoftHSMを使用する最初のステップは、初期化を使用することです。 「softhsm2-util」または「PKCS#11」インターフェースを使用して、デバイスを初期化できます。次のスナップショットは、SoftHSMデバイスの初期化を示しています。

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

セキュリティオフィサー(SO)PINは、トークンを再初期化するために使用され、ユーザーPINは、トークンと対話できるようにアプリケーションに渡されます(Mozilla Firefoxでの使用など)。そのため、SOとユーザーPINの両方を設定します。トークンが初期化されると、初期化されていない新しいトークンにスロットが自動的に追加されます。初期化されたトークンは、トークンのシリアル番号に基づいて別のスロットに再割り当てされます。スロットリスト/トークン情報でトークンラベルまたはシリアル番号を検索して、トークンを見つけて操作することをお勧めします。

「softhsm2-util」の他のオプションを以下に示します。

次のスナップショットは、トークンのスロットを示しています。

バックアップ

すべてのトークンとそのオブジェクトは、softhsm2.confで指定された場所に保存されます。したがって、バックアップは通常のファイルコピーとして実行できます。

OpenSCユーティリティとSoftHSM

このチュートリアルでは、OpenSCプロジェクトのPKCS11ユーティリティを使用してSoftHSMデバイスにアクセスします。 「OpenSC」のインストールと使用法の詳細は、howtoforgeサイトで入手できます。

apt-get install opensc

次のスナップショットは、PKCS#11コマンドがSoftHSMで実行されていることを示しています。 「-t」スイッチは、SoftHSMのメカニズムをテストするために使用されます。

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

結論

この記事では、ソフトウェアベースのHSMツールSoftHSMをUbuntuプラットフォームにインストールして初期化する方法について説明しました。 HSM/スマートカードがデバイスにアクセスするためのPKCS11標準を使用して構成できます。


Ubuntu
  1. Ubuntu16.04LTSにiostatをインストールして使用する方法

  2. Ubuntu20.04LTSにTelnetをインストールして使用する方法

  3. Ubuntu12.04および14.04LTSにLibreoffice4.3をインストールする方法

  1. Ubuntu20.04にWineをインストールして使用する方法

  2. Ubuntu18.04にFFmpegをインストールして使用する方法

  3. Ubuntu15.04および14.04LTSにLibreoffice4.4をインストールする方法

  1. Ubuntu18.04にWineをインストールして使用する方法

  2. Ubuntu18.04にCurlをインストールして使用する方法

  3. Ubuntu20.04にCurlをインストールして使用する方法