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

退出打印视图

更新时间: 2014 年 9 月
 
 

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

在硬件上生成和存储公钥证书,与在系统上生成和存储公钥证书类似。在硬件上,ikecert certlocalikecert 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_trustremote_idremote_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 保护两台服务器之间的网络通信