Sun Java System Application Server 9.1 管理指南

將 Application Server 與硬體加密加速器搭配使用

您可以使用硬體加速器記號來改善加密效能,同時提供安全金鑰儲存功能。另外,您也可以經由智慧卡,為一般使用者提供行動式安全金鑰儲存。

Sun Java System Application Server 支援使用 PKCS#11 記號進行 SSL 或 TLS 通訊,並支援使用 Network Security Services (NSS) 工具管理金鑰和 PKCS#11 記號。本小節說明 Application Server 如何提供上述支援,同時帶您逐步執行相關配置的程序。

J2SE 5.0 PKCS#11 提供者可以和 Application Server 執行階段輕鬆整合。藉由這些提供者,您可以在 Application Server 中使用硬體加速器和其他 PKCS#11 記號,以達到快速效能,並保護 SSL 或 TLS 通訊中原有的私密金鑰。

本小節包含下列主題:

關於配置硬體加密加速器

Sun Java System Application Server 已通過 Sun Crypto Accelerator 1000 (SCA-1000) 和 SCA-4000 測試。

Application Server 和 J2SE 5.0 一同使用時,可以和 PKCS#11 記號進行通訊。和 Application Server 一起封裝的是 NSS PKCS#11 記號程式庫 (適用於 NSS 內部 PKCS#11 模組,通常稱為 NSS 軟體記號) 以及 NSS 指令行管理工具。如需更多詳細資訊,請參閱使用 Network Security Services (NSS) 工具

使用 NSS 工具根據 PKCS#11 記號和 J2SE PKCS#11 提供者建立金鑰和憑證,以便在執行階段存取記號金鑰和憑證。PKCS#11 提供者為加密服務的提供者,可做為原生 PKCS#11 程式庫外圍的包裝程式。PKCS#11 記號通常是指含原生 PKCS#11 介面的所有硬體和軟體記號。硬體記號是以實體裝置 (如硬體加速器和智慧卡) 實作的 PKCS#11 記號。軟體記號則是完全以軟體實作的 PKCS#11 記號。


備註 –

如果您在 J2SE 1.4.x 平台上執行 Application Server,則僅支援一個 PKCS#11 記號,即 NSS 軟體記號。


在 Microsoft Windows 環境下,請將 NSS 程式庫 AS_NSS 和 NSS 工具目錄 AS_NSS_BIN 的位置,增加到 PATH 環境變數中。為簡化說明,本小節所描述的程序僅使用 UNIX 指令。必要時請將 UNIX 變數替代為 Windows 變數。

硬體加密加速器的配置可分為兩個主要程序:

配置 PKCS#11 記號

本小節說明如何以 NSS 安全性工具 modutil 配置 PKCS#11 記號。請使用下列程序來配置 PKCS#11 記號。

輸入下列指令 (全部置於同一行):

modutil -dbdir AS_NSS_DB -nocertdb -force -add moduleName -libfile
 absolute_path_of_pkcs11_library -mechanisms list_of_security_mechanisms

其中,AS_NSS_DB 是 NSS 資料庫目錄 (和您使用 Domain Administration Server (DAS) 時的 AS_DOMAIN_CONFIG 相同)

例如,若要配置硬體加速器記號,請輸入下列內容 (全部置於同一行):

modutil -dbdir AS_NSS_DB -nocertdb -force -add "Sun Crypto Accelerator" -libfile
 /opt/SUNWconn/crypto/lib/libpkcs11.so -mechanisms RSA:DSA:RC4:DES

此範例中的硬體加速器為 SCA–1000 加密加速器。依預設,對應的 PKCS#11 程式庫位於 /opt/SUNWconn/crypto/lib/libpkcs11.so

mechanisms 必須是記號上可供使用之加密機制的完整清單。如果僅使用數個可用的加密機制,請參閱配置 J2SE 5.0 PKCS#11 提供者。如要取得所有支援機制的完整清單,請參閱 NSS 安全性工具網站上的 modutil 文件,網址是 http://www.mozilla.org/projects/security/pki/nss/tools

以下範例假設在記號安裝期間所指定的記號名稱為 mytoken

為驗證硬體加速器的配置是否正確,請輸入下列指令:

modutil -list -dbdir AS_NSS_DB

標準輸出如以下所示:


Using database directory /var/opt/SUNWappserver/domains/domain1/config ...

Listing of PKCS#11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS#11 Module
         slots: 2 slots attached
        status: loaded

         slot: NSS Internal Cryptographic Services                            
        token: NSS Generic Crypto Services

         slot: NSS User Private Key and Certificate Services                  
        token: NSS Certificate DB

  2. Sun Crypto Accelerator
        library name: /opt/SUNWconn/crypto/lib/libpkcs11.so
         slots: 1 slot attached
        status: loaded

         slot: Sun Crypto Accelerator:mytoken
        token: mytoken
-----------------------------------------------------------

 

管理金鑰和憑證

本小節說明數種使用 certutilpk12util 來建立和管理金鑰與憑證的常用程序。如需有關 certutilpk12util 的詳細資訊,請參閱使用 Network Security Services (NSS) 工具以及 NSS 安全性工具網站上的文件,網址是 http://www.mozilla.org/projects/security/pki/nss/tools


備註 –

藉由在 java.security 特性檔案 (位於 Java 執行階段的 JAVA_HOME/jre/lib/security 目錄中) 中配置 PKCS#11 提供者,您還可以使用 J2SE keytool 公用程式來管理金鑰和憑證。如需使用 keytool 的詳細資訊以及「Java PKCS#11 Reference Guide」,請參閱 http://java.sun.com/j2se/1.5.0/docs/guide/security/p11guide.html


本小節說明下列主題:

列出金鑰和憑證

使用私密金鑰和憑證

使用 certutil 來建立自我簽署的憑證,並匯入或匯出憑證。若要匯入或匯出私密金鑰,請使用 pk12util 公用程式。如需更多詳細資訊,請參閱使用 Network Security Services (NSS) 工具


注意 – 注意 –

在 Application Server 中,請勿直接使用 NSS 工具 certutilmodutil 來修改 NSS 密碼。否則 Application Server 中的安全性資料可能會毀壞。


配置 J2SE 5.0 PKCS#11 提供者

Application Server 需藉由 J2SE PKCS#11 提供者,在執行階段存取位於 PKCS#11 記號中的金鑰和憑證。依預設,Application Server 會為 NSS 軟體記號配置 J2SE PKCS#11 提供者。本小節說明如何置換 J2SE PKCS#11 提供者的預設配置。

在 Application Server 上,會為每個 PKCS#11 記號產生下列預設的 PKCS#11 配置參數。

這些配置符合「Java PKCS#11 Reference Guide」所描述的語法。


備註 –

只要求名稱參數必須為唯一。J2SE 5.0 有些舊版本僅支援字母數字式的字元。


您可以建立自訂的配置檔案,以置換預設的配置參數。例如,您可以在 SCA–1000 中,明確停用 RSA 密碼和 RSA 金鑰對產生器。如需有關停用 RSA 密碼和 RSA 金鑰對產生器的詳細資訊,請參閱 http://www.mozilla.org/projects/security/pki/nss/tools

建立自訂的配置檔案:

  1. 使用下列程式碼建立名為 as-install/mypkcs11.cfg 的配置檔案,然後儲存該檔案。


    name=HW1000
    library=/opt/SUNWconn/crypto/lib/libpkcs11.so
    slotListIndex=0
    disabledMechanisms = {
    	CKM_RSA_PKCS
    	CKM_RSA_PKCS_KEY_PAIR_GEN
    }
    omitInitialize=true
  2. 如有必要,請更新 NSS 資料庫。在這個案例中,請更新 NSS 資料庫,這樣才能停用 RSA。

    執行下列指令:


    modutil -undefault "Sun Crypto Accelerator" -dbdir AS_NSS_DB -mechanisms RSA

    mechanisms 清單上的演算法名稱,與預設配置中的演算法名稱不同。如需 NSS 中有效 mechanisms 的清單,請參閱 NSS 安全性工具網站上的 modutil 文件,網址是 http://www.mozilla.org/projects/security/pki/nss/tools

  3. 如下所示進行變更,在適當的位置增加特性以更新伺服器:


    <property name="mytoken" value="&InstallDir;/mypkcs11.cfg"/>

    特性的位置可能是下列其中一處:

    • 若提供者適用於 DAS 或伺服器實例,請將特性增加到相關聯的 <security-service> 之下。

    • 若提供者適用於節點代理程式,請將特性增加到 domain.xml 檔案中,相關聯的 <node-agent> 元素之下。

  4. 重新啟動 Application Server。

    自訂配置將在重新啟動後生效。