安全詞彙和概念

本節提供安全類型的一般概觀、 用以產生和上傳憑證的工具,以及 WebSphere Partner Gateway 所安裝的資料儲存庫類型。

WebSphere Partner Gateway 中所用的安全機制和通訊協定

本節提供 SSL、數位簽章和加密的相關資訊。

SSL

WebSphere Partner Gateway 可使用 SSL 來保護入埠和離埠文件。入埠文件為要傳給中心的文件。離埠文件為中心所送出的文件。

SSL 是一種經由網路網路來管理安全性的常用通訊協定。SSL 提供安全連線的做法是讓兩個應用程式經由網路連線鏈結, 並互相鑑別彼此的身分,以及確保資料的機密性和完整性

HTTP 型 SSL 連線固定由用戶端使用 URL(開頭為 https:// 而非 http://)起始。 SSL 連線由訊息交換開始。在這個階段,應用程式彼此交換數位憑證,協議好所要使用的加密演算法, 並產生加密金鑰,以便在往後的階段作業中使用。

附註:
  1. WebSphere Partner Gateway 支援 RC2 和「三重 DES」演算法。它不支援 RC5 演算法。如果您在舊版中使用 RC5 演算法, 請切換成其中一種支援的演算法。
  2. WebSphere Partner Gateway 亦支援 AES 和 DES 演算法。您可以在 bcg.properties 檔中,或使用 SecurityService API 來設定這些演算法。有關 bcg.properties 檔的說明, 請參閱管理手冊。有關 SecurityService 的說明, 請參閱 Programmer Guide

SSL 通訊協定提供的安全特性如下:

數位簽章

數位簽章是一種確保無可否認性的機制。「無可否認性」是指參與者無法否認已產生並已傳送訊息。它也會確保參與者無法否認已接收訊息。

數位簽章可讓起始者在訊息中簽署, 如此一來該起始者即已證明是實際的訊息傳送端。它也可確保訊息自簽署後不會被修改。

WebSphere Partner Gateway 按照商業通訊協定,支援 PKCS#7 SignedData 獨立式數位簽章格式。

加密

WebSphere Partner Gateway 採用密碼化系統(即所謂的公開金鑰加密法), 來保護參與者和中心間的通訊。公開金鑰加密法採用一對相關的數學金鑰。以第一個金鑰加密的文件必須以第二個金鑰解密, 而以第二個金鑰加密的文件也必須使用第一個來解密。

公開金鑰系統中的每一個參與者都有一對金鑰。其中一個金鑰為秘密保存;這就是私密金鑰。 另一個金鑰會配送給需要它的任何一方;這就是公開金鑰。 WebSphere Partner Gateway 使用參與者的公開金鑰來加密文件。私密金鑰用來解密文件。

iKeyman 公用程式

如同以下的章節所述,您將使用 IBM Key Management 工具 (iKeyman) 來建立金鑰資料庫、公開和私密金鑰組, 以及憑證要求。您也可以使用 iKeyman 來建立自簽憑證。iKeyman 公用程式位於 <ProductDir>/was/bin 目錄,這是在安裝期間由 WebSphere Partner Gateway 所建。

您也可以使用 iKeyman 來產生要求,以便向「憑證管理中心 (CA)」取得憑證。

社群主控台

您將使用「社群主控台」,來安裝所有必要的用戶端、 簽章和加密憑證,以供 WebSphere Partner Gateway 儲存。您也可以使用「社群主控台」, 來安裝「根和中繼 CA(憑證管理中心)」憑證。

註: 在參與者的憑證到期時, 參與者有責取得新憑證。「社群主控台」的 「警示」特性會對儲存在 WebSphere Partner Gateway 中的憑證發出憑證到期警示。

金鑰儲存庫和信任儲存庫

在您安裝 WebSphere Partner Gateway 時,會安裝「接收端」和「主控台」的金鑰儲存庫和信任儲存庫。

依預設,會在 <ProductDir>/common/security/keystore 目錄中建立兩個金鑰儲存庫和兩個信任儲存庫。其名稱如下:

變更預設密碼

在存取這四個儲存庫時, 所用的預設密碼都是 WebAS。內嵌版 WebSphere Application Server 是配置成使用這四個儲存庫。您可以使用 iKeyman 公用程式來變更密碼。或者,您可以使用下列 UNIX 指令來變更金鑰儲存庫檔案的密碼:

/<ProductDir>/console/was/java/bin/keytool
  -storepasswd -new $NEW_PASSWORD$ -keystore $KEYSTORE_LOCATION$
  -storepass $CURRENT_PASSWORD$ -storetype JKS

只要金鑰儲存庫密碼有變,也必須變更每一個 WebSphere Application Server 實例的配置。這可使用 bcgChgPassword.jacl Script 來變更。 若要採用「主控台」, 請導覽至下列目錄:

/<ProductDir>/bin

並發出下列指令:

./bcgwsadmin.sh -f /<ProductDir>/scripts/
 bcgChgPassword.jacl -conntype NONE

請針對「接收端」和「文件管理程式」的 WebSphere Application Server 實例, 重複執行此指令。

註: 若為 Windows 安裝環境,請使用 bcgwsadmin.bat(而非 ./bcgwsadmin.sh)。

系統會提示您提供新密碼。

更換過期憑證

如果信任儲存庫中有憑證過期, 您必須新增新憑證以便更換;其程序如下:

  1. 啟動 iKeyman(如果不在執行的話)。
  2. 開啟信任儲存庫檔案。
  3. 輸入密碼並按一下確定
  4. 從功能表中選取簽署者憑證
  5. 按一下新增
  6. 按一下資料類型,並選取一種資料類型(如 Base64 加密 ASCII 資料)。

    這種資料類型必須和匯入之憑證的資料類型相符。

  7. 輸入 CA 根數位憑證的憑證檔案名稱和位置,或按一下瀏覽,選取名稱和位置。
  8. 按一下確定
  9. 輸入匯入之憑證的標籤。
  10. 按一下確定

憑證鏈

憑證鏈由參與者的憑證以及用來鑑別參與者憑證的任何憑證所組成。比方說, 當使用某 CA 來建立參與者的憑證,則該 CA 本身可能已經過另一 CA 的認可。 信任鏈是起自 CA(信任錨點)。根 CA 的數位憑證是自簽的; 亦即,憑證管理中心使用本身的私密金鑰來簽署數位憑證。介於信任錨點和參與者憑證(目標憑證)間的任何憑證, 皆為中繼憑證。

凡是 CA 所發的憑證,都必須在憑證鏈中加入所有的憑證。舉例來說, 在憑證鏈中,A(信任錨點)是 B 的簽發者,而 B 是 C(目標憑證)的簽發者,則憑證 A 和 B 必須當成 CA 憑證上傳。

WebSphere Partner Gateway 將所有自簽憑證皆視為信任錨點。自簽憑證可以是憑證管理中心 (CA) 的憑證, 也可以是參與者產生的自簽憑證。

主要和次要憑證

您可以建立多份同一類型的憑證, 並指定其中一份為主要憑證, 其中一份為次要憑證。一旦主要憑證到期或無法使用, WebSphere Partner Gateway 會切換至次要憑證。您將在「社群主控台」上指定主要和次要憑證。

下列憑證可提供主要和次要憑證功能:

變更加密強度

請注意以下有關使用加密憑證時的重要限制事項。WebSphere Partner Gateway 隨附的 Java Runtime Environment (JRE) 會實施密碼演算法和所能使用的密碼化強度上限等相關限制。例如, 限定原則是指定容許的長度限制,因而用來指定加密金鑰的強度。這些限制指定在一個管轄原則檔中。容許的長度上限是 2048 個位元組。 如果您想支援金鑰大小超過 2048 個位元組的憑證, 請使用管轄原則檔的無限定或無限制強度版本。您可以指定使用較強且無限定的原則, 方法是將新原則檔安裝到已安裝之 JRE 的子目錄中。對稱金鑰演算法(如 DES3) 也有一些加密限制。如果您需要使用較強的對稱金鑰演算法, 更換管轄原則檔也會移除對稱金鑰的相關限制。

若要在 WebSphere Partner Gateway 中安裝無限制的管轄原則檔,請執行下列步驟:

  1. IBM SDK Policy files 鏈結(網站為 http://www.ibm.com/developerworks/java/jdk/security/142/)下載無限制的管轄強度原則檔。
  2. 將所下載的檔案解壓縮到一個暫時資料夾中
  3. 複製暫時資料夾中的 local_policy.jar 和 US_export_policy.jar。
  4. 切換至 <ProductDir>\was\java\jre\lib\security 資料夾。
  5. 將現有的 local_policy.jar 和 US_export_policy.jar 更名為 local_policy.jar.bak 和 US_export_policy.jar.bak
  6. 將您在步驟 3 中所複製的 jar 檔, 貼到 <ProductDir>\was\java\jre\lib\security 資料夾中。
  7. 重新啟動伺服器。

這些步驟適用於所有已配置的 WebSphere Application Server 實例。

Copyright IBM Corp. 2003, 2005