クライアント デバイス証明書の認証機能を使用すると、Omnissa Horizon Client for Linux にクライアント システムの証明書認証を設定できます。Omnissa Unified Access Gateway はクライアント システムを認証します。SoftHSM2 ライブラリは、クライアント システムに対する証明書の配布と展開を管理します。デバイスの認証に成功した後も、ユーザーはユーザー認証を行う必要があります。
前提条件
この機能には次の要件があります。
- Unified Access Gateway 2.6 以降
- クライアント システムには、Unified Access Gateway が受け入れるルート認証局 (CA) 証明書が用意されています
Unified Access Gateway の構成の詳細については、Unified Access Gateway のドキュメントを参照してください。
Linux クライアント システムでのデバイス証明書認証の設定
デバイス証明書認証を設定するには、次の高度なタスクを実行する必要があります。
- システムに SoftHSM2 ライブラリをインストールします。
- SoftHSM2 ライブラリの暗号化トークンを作成します。
- デバイス証明書、パブリックキー、プライベート キーを準備します。
- SoftHSM2 データベースに証明書とキー ファイルをインポートします。
- Horizon Client で使用するように SoftHSM2 ライブラリを構成します。
以下に、一般的な Linux クライアント システムで設定を完了するためのガイドラインを示します。Linux ディストリビューションによって具体的な手順が異なる場合があります。
**注:**デバイス証明書認証は、Becrypt Paradox を実行しているシン クライアントでもサポートされます。設定情報については、Becrypt Paradox のドキュメントを参照してください。
-
次のいずれかの方法で、SoftHSM2 ライブラリを Linux クライアント システムにインストールします。
-
方法 1:パッケージ管理ツールを使用する。
たとえば、Ubuntu システムでは、次のコマンドを実行できます。
sudo apt-get install softhsm2 -
方法 2:SoftHSM2 ライブラリを手動でコンパイルしてインストールします。
-
システムに SoftHSM2 ソース コード リポジトリのクローンを作成します。
git clone [https://github.com/opendnssec/SoftHSMv2.git](https://github.com/opendnssec/SoftHSMv2.git) -
クローン作成されたソース コードを使用して、SoftHSM2 ライブラリのコンパイル、構成、インストールを行います。
**注:**Horizon Client は独自の OpenSSL ライブラリをインストールしますが、SoftHSM2 にリンクしている OpenSSL ライブラリも使用します。ランタイムでの競合を回避するには、Horizon Client によってインストールされた OpenSSL ライブラリに SoftHSM2 をリンクします。
次のコマンドの例で、<path to OpenSSL library> には include パスと lib パスが含まれている必要があります。
cd SoftHSMv2/ sh autogen.sh ./configure --with-crypto-backend=openssl --with-openssl=<path to OpenSSL library> make sudo make install
-
-
-
SoftHSM2 ライブラリの暗号化トークンを作成します。
デフォルトでは、SoftHSM2 には 1 つのトークン スロットがあります。最初のスロットでトークンを初期化すると、2 番目のスロットが自動的に追加されます。以降のスロットは、各スロットで新しいトークンを初期化すると追加されます。
-
コマンドを実行してトークンを作成します。
softhsm2-util --init-token --slot 0 --label "<your token label>" -
トークン作成コマンドによって返されるスロット ID を書き留めます。このスロット ID は、後で X.509 デバイス証明書とキー ファイルを SoftHSM2 データベースにインポートするときに必要になります。
-
-
X.509 デバイス証明書、パブリックキー、プライベート キーを準備します。
-
プライベート キーを含む PFX 形式のデバイス証明書を取得します。
-
PFX ファイルを PEM 形式のキー ファイルに変換します。たとえば、次のコマンドを実行すると、
client.pfxがclient-keys.pemに変換されます。openssl pkcs12 -in client.pfx -nocerts -nodes -out client-keys.pem -
PEM キー ファイルを PKCS8 キー ファイルに変換します。
openssl pkcs8 -in client-keys.pem -topk8 -nocrypt -out client-keys.pk8 -
PFX ファイルを DER 形式の X.509 証明書に変換します。
openssl pkcs12 -in client.pfx -nokeys -nodes -out client-cert.pem openssl x509 -outform der -in client-cert.pem -out client-cert.der
-
-
SoftHSM2 証明書データベースに X.509 証明書とキー ファイルをインポートします。
-
SoftHSM2 データベースにキー ファイルをインポートします。
たとえば、次のコマンドを実行すると、
client-key.pk8ファイルがインポートされます。と は、手順 2 で取得した値に置き換えます。 softhsm2-util --import client-key.pk8 --token "<your token label>" --slot <slot ID> --label "client" --id 0001 -
SoftHSM2 データベースに X.509 証明書をインポートします。
たとえば、次のコマンドを実行すると、
client-cert.derファイルがインポートされます。は、SoftHSM2 データベースにアクセスする際に必要な PIN で置き換えます。 pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so -l -p <softhsm2-pin> --write-object client-cert.der --type cert --id 0001 -
X.509 証明書、パブリック キー、プライベート キーがすべて SoftHSM2 データベースに格納されていることを確認します。
pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so -l -p <softhsm2-pin> --token-label "<your token label>" --list-objects
-
-
Horizon Client で使用するように SoftHSM2 ライブラリを構成します。
FIPS コンプライアンス モードのサポート
FIPS (Federal Information Processing Standard) に準拠している環境でデバイス証明書認証を使用するには、まず、「FIPS 互換モードの有効化」に記載されている手順を完了する必要があります。次に、Linux クライアント システムでのデバイス証明書認証の設定の設定手順を行い、次の変更を行います。
SoftHSM2 ライブラリを FIPS コンプライアンス モードでコンパイルするには、次の一連のコマンドを実行します。
cd SoftHSMv2/
sh autogen.sh
./configure --with-crypto-backend=openssl --with-openssl=<path to OpenSSL library> --enable-fips
make
sudo make install
注: コンパイル中に、ヘッダーが見つからないというエラーが発生した場合は、www.openssl.org/source/ から FIPS 関連ヘッダーのソース コードをダウンロードできます。OpenSSL ライブラリのパスにヘッダーをコピーし、コマンド シーケンスを繰り返して、SoftHSM2 ライブラリを FIPS コンプライアンス モードでコンパイルします。
このページは役に立ちましたか?