安全性术语和概念

本部分概述了安全性类型、用于生成和上载证书的工具,以及 WebSphere Partner Gateway 安装的数据存储的类型。

用于 WebSphere Partner Gateway 的安全性机制和协议

本部分提供了有关 SSL、数字签名和加密的信息。

SSL

WebSphere Partner Gateway 可以使用 SSL 来保护入站和出站文档。入站文档是发送到中心的文档。出站文档是从中心发送的文档。

SSL 是一种常在因特网上管理安全性的常用协议。通过使网络连接的两个应用程序能够相互验证身份并能够确保数据的机密性和数据完整性,SSL 提供了安全的连接。

基于 HTTP 的 SSL 连接始终是由使用以 https://(而不是 http://)开头的 URL 的客户机启动的。SSL 连接从“握手”开始。在该阶段,应用程序交换数字证书、就要使用的加密算法达成一致,并且生成用于余下会话的加密密钥。

注:
  1. WebSphere Partner Gateway 支持 RC2 和“三重 DES”算法。 它不支持 RC5 算法。如果在较早的版本中使用了 RC5 算法,则转为另一种受支持的算法。
  2. WebSphere Partner Gateway 也支持 AES 和 DES 算法。 您可以在 bcg.properties 文件中设置这些算法,或使用 SecurityService API 设置这些算法。请参阅管理员指南以获取有关 bcg.properties 文件的信息。请参阅程序员指南,以获取有关 SecurityService 的信息。

SSL 协议提供了下列安全性功能:

数字签名

数字签名是一种用于确保不可抵赖性的机制。不可抵赖性意味着参与者不能否认自己已生成且发送过某个消息。它还能确保参与者无法否认自己已接收到某个消息。

数字签名允许发起方对消息进行签名,以便确保发起方的确是发送消息的人。它还确保消息自签名后不会被修改。

WebSphere Partner Gateway 根据业务协议,支持 PKCS#7 SignedData 分离式数字签名格式。

加密

WebSphere Partner Gateway 使用密码系统(即所谓的公用密钥加密)来确保参与者和中心之间通信的安全。公用密钥加密使用一对在算法上相关的密钥。由第一个密钥加密的文档必须用第二个密钥进行解密,而由第二个密钥加密的文档必须用第一个密钥进行解密。

公用密钥系统中的每个参与者都有一对密钥。其中一个密钥是保密的;即所谓的专用密钥。而另一个密钥则分发给希望得到它的任何人;即所谓的公用密钥。WebSphere Partner Gateway 使用某个参与者的公用密钥来加密文档。专用密钥用于解密文档。

iKeyman 实用程序

如下面的章节所描述的,您可以使用 IBM 密钥管理工具(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 脚本来完成。对于“控制台”实例,请浏览到下列目录:

/<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 运行时环境(JRE)对密码算法和可用的最大密码强度进行限制。 例如,受限策略指定可允许长度和加密密钥强度的限制。这些限制是在称为管辖区域策略文件的文件中指定的。 允许的最大长度为 2048 个字节。如果要支持密钥大小大于 2048 个字节的证书,请使用管辖区域策略文件的强度不受限版本。 通过将新的策略文件安装到已安装的 JRE 的子目录,可以指定要使用更强的、不受限策略。对称密钥算法也存在加密限制,如 DES3。如果您需要强大的对称密钥算法,则替换管辖区域策略文件也会除去对称密钥的限制。

要将不受限的管辖区域文件安装在 WebSphere Partner Gateway 中,请执行以下步骤:

  1. 从 Web 站点 http://www.ibm.com/developerworks/java/jdk/security/142/ 的 IBM SDK 策略文件链接下载不受限的管辖区域强度策略文件。
  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