在 Oracle® Solaris 11.2 中确保网络安全

退出打印视图

更新时间: 2014 年 9 月
 
 

如何在硬件中为 IKEv1 生成和存储公钥证书

在硬件上生成和存储公钥证书,与在系统上生成和存储公钥证书类似。在硬件上,ikecert certlocal 和 ikecert certdb 命令必须标识硬件。带有令牌 ID 的 –T 选项向命令标识硬件。

开始之前

  • 必须配置硬件。

  • 该硬件使用 /usr/lib/libpkcs11.so 库,除非 /etc/inet/ike/config 文件中的 pkcs11_path 关键字指向其他库。该库必须按照以下标准实现:RSA Security Inc. 推出的 PKCS #11 加密令牌接口 (Cryptographic Token Interface, Cryptoki),即 PKCS #11 库。

    有关设置说明,请参见如何配置 IKEv1 来查找 Sun Crypto Accelerator 6000 板。

您必须成为分配有 "Network IPsec Management"(网络 IPsec 管理)权限配置文件的管理员。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。

如果执行远程管理,请参见Example 7–1 和在 Oracle Solaris 11.2 中管理安全 Shell 访问 中的如何使用安全 Shell 远程管理 ZFS,了解进行安全远程登录的说明。

  1. 生成自签名证书或 CSR,并指定令牌 ID。

    注 -  对于 RSA,Sun Crypto Accelerator 6000 板最多支持 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 板具有口令为 rgm4tigt 的用户 ikemgr,应键入以下内容:

    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 文件以识别这些证书。

    选择以下选项之一。

    • 自签名证书

      使用远程系统管理员为 cert_trust、remote_id 和 remote_addr 参数提供的值。例如,在 enigma 系统上,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-enigma to US-partym"
       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 关键字的值键入。例如,enigma 系统上 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-enigma to US-partym - 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 4 中作出的响应,响应 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_encrypt 用作 auth_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 的证书撤销列表 (certificate revocation list, CRL),请参见如何在 IKEv1 中处理已撤销的证书。

接下来的步骤

如果建立 IPsec 策略未完成,请返回到 IPsec 过程以启用或刷新 IPsec 策略。有关保护 VPN 的 IPsec 策略的示例,请参见使用 IPsec 保护 VPN。有关 IPsec 策略的其他示例,请参见如何使用 IPsec 保护两台服务器之间的网络通信。