PKI プロキシを使用した Windows KSP および PKCS#11

この文書では、NetHSM での PKI Proxy の使用法について説明します。PKI Proxy は、Microsoft Windows のネイティブ API を介して NetHSM の使用を可能にする。この目的のために、PKI Proxy には、CNG (Cryptography API: Next Generation) インタフェースを介した使用を可能にする KSP (Key Storage Provider) が含まれている。さらに、NetHSM への PKCS#11 アクセスも提供するが、これは PKI Proxy の追加認証機能が必要な場合や、NetHSM をクライアントに直接公開しないように PKI Proxy をゲートウェイとして使用する場合など、セットアップで必要な場合にのみ使用する。それ以外の場合は、`NetHSM PKCS#11 ドライバ<pkcs11-setup.html>`__ を直接使用してください。

PKI プロキシを使用した NetHSM のデプロイは次のようになる。

NetHSM と PKI プロキシサーバ、クライアントおよび公開クライアントインタフェース間の接 続。

NetHSM は、NetHSM PKCS#11 ドライバが使用する REST API を提供している。PKI Proxy は、このドライバを使用して NetHSM に接続し、その鍵と証明書にアクセスする。PKI プロキシのクライアントは、PKI プロキシサーバの REST API を使用して、鍵と証明書にアクセ スする。クライアント上のアプリケーションは、Windows ネイティブ API または PKCS#11 ドライバを使用する。NetHSM と PKI プロキシサーバおよび PKI プロキシクライアント間の通信は暗号化される。PKI Proxy サーバとクライアントは同じコンピュータ上で実行できる。

このセットアップの使用例としては、以下のようなものが考えられる:

  • Code signing

  • Document signing

Tip

詳細については、`PKI Proxyの公式文書<https://cdn.nsoftware.com/help/PK1/app/default.htm>`__ も参照してください。

前提条件

  • NetHSM (ハードウェアまたはコンテナ型) - プロビジョニング済み - NetHSM の IP アドレスがわかっており、HTTPS ポートに到達可能であること。

  • Windows マシン - ニトロキー NetHSM PKCS#11 ドライバがインストールされ、構成されている (PKI プロキシサーバでのみ必要)。

重要

一部のマシンでは、NetHSM PKCS#11 モジュールのアンロード処理中に PKI Proxy Server がクラッシュすることがあります。これはモジュールの依存関係のバグであり、`この<https://github.com/Nitrokey/nethsm-pkcs11/issues/327>`__ GitHub issue で追跡されています。このバグに遭遇した場合は、NetHSM PKCS#11 設定ファイルの``disable_thread_pool`` 設定オプションを``true`` に設定してください。設定方法については`設定ファイル例<https://github.com/Nitrokey/nethsm-pkcs11/blob/main/p11nethsm.example.conf>`__ をご参照ください。

PKI プロキシ - サーバ

PKI プロキシサーバは、NetHSM からの鍵と証明書を異なるユーザ間で共有する。

インストール

  1. Download the PKI Proxy 2024 installer from the /n software website.

  2. インストーラーを開き、インストールウィザードに従ってください。

  3. スタート]メニューから PKI プロキシを開きます。既定の場所にインストールした場合は、[Run] ダイアログまたは PowerShell から以下のコマンドで実行することもできます。

    C:\Program Files\PKI Proxy 2024\PKIProxy.exe
    

    注釈

    PKI Proxy は、メインウィンドウが閉じていても、システムトレイに最小化されます。

Service Configuration

以下の手順は、PKI プロキシを構成するものです。

  1. Open the PKI Proxy main window.

  2. Change to the Settings tab.

  3. Make sure the checkbox Enable TLS is checked and an appropriate certificate is used.

  4. Change to the Users tab.

  5. New... ボタンをクリックして、新規ユーザを作成します。すべてのクライアントでサポートされている認証タイプを選択します。

  6. メイン・ウィンドウのメニュー・バーで、[Start] ボタンをクリックして、PKI プロキシ・サービスを開始します。

Publish Certificates from the NetHSM

以下では、NetHSM からどの証明書を PKI プロキシ経由で利用可能にするかを設定する。

  1. PKI プロキシのメイン・ウィンドウが開いていることを確認します。

  2. Change to the Certificates tab.

  3. New... ボタンをクリックする。Share Certificate ウィンドウが開きます。

  4. ウィンドウの**証明書** フレームの**証明書または鍵の選択...** ボタンをクリックします。これにより**Select a Private Key** ウィンドウが開きます。

  5. Security Key タブに変更する。

  6. Browse... ボタンをクリックし、NetHSM PKCS#11 ドライバライブラリファイルを選択します。テキストフィールド**PKCS#11 Library** にライブラリファイルへのパスが表示されます。

  7. ドロップダウンメニュー**Security Key (PKCS#11)** から、証明書を含むスロットを選択します。表示されるスロットは、PKCS#11 モジュールの構成によって異なります。

  8. Click the Open button.

  9. Certificates の下のテキストリストに、NetHSM で利用可能な証明書と一般鍵のリストが表示されるようになりました。PKI プロキシと共有する証明書または一般鍵を選択します。

  10. OK ボタンをクリックして選択を確定します。これにより、Share Certificate ウィンドウに戻ります。ウィンドウには、選択した証明書の詳細が表示されます。

  11. ウィンドウの**Access and Permissions** フレームの**Add...** ボタンをクリックする。これにより、Select user ウィンドウが開きます。

  12. ドロップダウンメニューから既存のユーザーを選択するか、Create New User... を選択して新規ユーザーを作成する。OK ボタンをクリックして選択を確定します。新規ユーザーの作成を選択した場合、New User ウィンドウが表示されます。

  13. Share Certificate ウィンドウに戻って、証明書またはジェネリック・キーに必要な操作のみを許可することも確認する。これは、Access and Permissions フレームの下部にあるチェックボックスで変更できます。

  14. OK ボタンをクリックして、証明書を公開します。これにより、PKI Proxy のメイン・ウィンドウに戻ります。

  15. 証明書管理 の下のテキストリストには、公開された証明書が表示されるようになりました。

重要

NetHSM 上の共有鍵のメカニズムが PKI プロキシで意図された使用を許可していることを確認する。

PKI プロキシ - クライアント

PKI プロキシ・クライアント・ツールは、PKI プロキシ・サーバから共有鍵および証明書にアクセスするため のさまざまな方法を提供する。

Tip

PKI プロキシ・サーバには、クライアント・ツールが含まれている。したがって、サーバを実行するマシンは、それ自体がクライアントになることもできる。

インストール

  1. `/n ソフトウェアの Web サイト<https://www.nsoftware.com/pkiproxy/download>`__ から*PKI Proxy 2024 - Client Tools* をダウンロードする。

  2. インストーラーを開き、インストールウィザードに従ってください。

KSP (Key Storage Provider)

PKI Proxy は、PKI Proxy サーバとのインタフェースとして KSP を提供する。KSP を使用すると、CNG (Cryptography API: Next Generation) インタフェースを通じて、Windows ネイティブ API をアプリケーションで使用できるようになる。詳細については、`PKI Proxy documentation<https://cdn.nsoftware.com/help/PK1/app/nsoftware.PKIProxy.htm#pg_runningksp>`__ を参照してください。

ピーケーシーエスナンバーイレブン

PKI Proxy は、PKI Proxy サーバとインタフェースするための PKCS#11 モジュールを提供します。詳細については、`PKI Proxy documentation<https://cdn.nsoftware.com/help/PK1/app/nsoftware.PKIProxy.htm#pg_runningpkcs11>`__ を参照してください。