Go to main content
Oracle® Solaris 11.3 でのネットワークのセキュリティー保護

印刷ビューの終了

更新: 2016 年 11 月
 
 

ハードウェア上で IKEv1 の公開鍵証明書を生成および格納する方法

ハードウェア上で公開鍵証明書を生成および格納することは、システム上で公開鍵証明書を生成および格納することと似ています。ハードウェア上では、ikecert certlocal および ikecert certdb コマンドがハードウェアを識別しなければなりません。トークン ID に –T オプションを指定すると、コマンドがハードウェアを識別するようになります。

始める前に

  • ハードウェアの構成が完了していること。

  • /etc/inet/ike/config ファイルの pkcs11_path キーワードが別のライブラリを指している場合を除き、ハードウェアは /usr/lib/libpkcs11.so ライブラリを使用します。ライブラリが、RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) 規格、つまり PKCS #11 ライブラリに準拠して実装されている必要があります。

    設定の手順については、Sun Crypto Accelerator 6000 ボードを検出するように IKEv1 を構成する方法を参照してください。

Network IPsec Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

リモートで管理する場合は、セキュアなリモートログイン手順について、使用例 27およびOracle Solaris 11.3 での Secure Shell アクセスの管理 の Secure Shell を使用して ZFS をリモートで管理する方法を参照してください。

  1. 自己署名付き証明書または CSR を生成し、トークン ID を指定します。

    注 -  Sun Crypto Accelerator 6000 ボードは、RSA で最大 2048 ビットの鍵をサポートします。DSA の場合、このボードは最大 1024 ビットの鍵をサポートします。

    次のオプションのいずれかを選択します。

    • 自己署名付き証明書の場合は、この構文を使用します。
      # ikecert certlocal -ks -m 2048 -t rsa-sha512 \
      > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \
      > -a -T dca0-accel-stor IP=192.168.116.16
      Creating hardware private keys.
      Enter PIN for PKCS#11 token: Type user:password

      –T オプションの引数は、接続された Sun Crypto Accelerator 6000 ボードのトークン ID です。

    • CSR の場合は、この構文を使用します。
      # ikecert certlocal -kc -m 2048 -t rsa-sha512 \
      > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \
      > -a -T dca0-accel-stor IP=192.168.116.16
      Creating hardware private keys.
      Enter PIN for PKCS#11 token: Type user:password

    ikecert コマンドの引数については、ikecert(1M) のマニュアルページを参照してください。

  2. PIN のプロンプトに、Sun Crypto Accelerator 6000 ユーザー名、コロン、およびユーザーのパスワードを入力します。

    Sun Crypto Accelerator 6000 ボードのユーザー ikemgr のパスワードが rgm4tigt の場合、次のように入力します。

    Enter PIN for PKCS#11 token: ikemgr:rgm4tigt

    注 -  ikecert コマンドに –p オプションを付けて入力すると、PKCS #11 トークンがディスクにクリアテキストとして格納され、root 権限によって保護されます。PIN をディスクに保存しない場合は、in.iked コマンドの実行後に ikeadm コマンドを使用してトークンをロック解除する必要があります。

    パスワードの入力後、証明書が次を出力します。

    Enter PIN for PKCS#11 token: ikemgr:rgm4tigt
    -----BEGIN X509 CERTIFICATE-----
    MIIBuDCCASECAQAwSTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDFBhcnR5Q29tcGFu
    ...
    oKUDBbZ9O/pLWYGr
    -----END X509 CERTIFICATE-----
  3. 相手に証明書を送信します。

    次のオプションのいずれかを選択します。

  4. システム上で、証明書を認識するように /etc/inet/ike/config ファイルを編集します。

    次のオプションのどちらか 1 つを選択します。

    • 自己署名付き証明書

      cert_trustremote_id、および remote_addr パラメータには、リモートシステムの管理者から提供される値を使用します。たとえば、host1 システムの ike/config ファイルは次のようになります。

      # Explicitly trust the following self-signed certs
      # Use the Subject Alternate Name to identify the cert
      
      cert_trust "192.168.116.16"  Local system's certificate Subject Alt Name
      cert_trust "192.168.13.213"  Remote system's certificate Subject Alt name
      
      ...
      {
       label "JA-host1 to US-host2"
       local_id_type dn
       local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
       remote_id "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
      
       local_addr  192.168.116.16;
       remote_addr 192.168.13.213
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes}
      }
    • 証明書要求

      CA が cert_root キーワードの値として提供する名前を入力します。たとえば、host1 システムの ike/config ファイルは次のようになります。

      # Trusted root cert
      # This certificate is from Example CA
      # This is the X.509 distinguished name for the CA that it issues.
      
      cert_root "C=US, O=ExampleCA\, Inc., OU=CA-Example, CN=Example CA"
      
      ...
      {
       label "JA-host1 to US-host2 - Example CA"
       local_id_type dn
       local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
       remote_id  "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
      
       local_addr  192.168.116.16
       remote_addr 192.168.13.213
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes}
      }
  5. 通信先から受け取った証明書をハードウェアに格納します。

    Step 2 で応答したように、PIN 要求に応答します。


    注 -  公開鍵証明書は、公開鍵を生成したハードウェアに追加する必要があります
    • 自己署名付き証明書。

      リモートシステムの自己署名付き証明書を追加します。この例では、証明書は DCA.ACCEL.STOR.CERT ファイルに格納されています。

      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CERT
      Enter PIN for PKCS#11 token: Type user:password

      自己署名付き証明書が rsa_encryptauth_method パラメータの値として使用していた場合、ピアの証明書をハードウェア格納場所に追加します。

    • CA からの証明書。

      CA があなたの証明書要求と組織の証明書から生成した証明書を追加します。

      中間証明書の追加が必要な場合もあります。

      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CERT
      Enter PIN for PKCS#11 token: Type user:password
      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CA.CERT
      Enter PIN for PKCS#11 token: Type user:password

      CA からの証明書失効リスト (CRL) を追加するには、IKEv1 で失効した証明書を処理する方法を参照してください。

次のステップ

IPsec ポリシーの設定がまだ完了していない場合、IPsec の手順に戻って IPsec ポリシーを有効にするかリフレッシュしてください。VPN を保護する IPsec ポリシーの例については、IPsec による VPN の保護を参照してください。IPsec ポリシーのその他の例については、IPsec によって 2 つのサーバー間でネットワークトラフィックをセキュリティー保護する方法を参照してください。