密码套件和密码套件规范文件

许多不同的算法可用于加密数据以及用于计算消息认证代码。 为了允许用户选择适合其需求的安全级别,并允许与其他可能有不同需求的用户进行通信, SSL 定义了 密码套件或密码集。 您可以在 SSL 密码套件规范文件中指定要在 SSL 连接期间使用的密码套件的列表。

密码套件

建立 SSL 连接时,在 SSL 握手期间,客户机和服务器会交换有关它们共有哪些 TLS 协议和密码套件的信息。 然后,他们使用提供最高级别安全性的协议和公共密码套件进行通信。 如果它们没有公共协议或密码套件,那么无法进行安全通信,并且 CICS® 会关闭连接。

可用的密码套件取决于系统初始化参数 MINTLSLEVELNISTSP800131A的值,以及 z/OS® 系统 SSL 支持的密码。 此外,您可以通过在相应的资源定义上编辑 CIPHERS 属性中的密码套件列表,或者通过编辑资源定义的 SSL 密码套件规范文件来限制所使用的密码。

您可以检查正在为来自每个 CICS 区域的 SSL 入站连接选择哪些密码套件。 DFHSOCK 组中的性能数据字段 SOCIPHER (320) 显示用于每个 SSL 入站连接的密码套件的代码。 使用此信息可识别 CICS 区域提供但未针对 SSL 连接选择的任何密码套件。 您还可以识别为 SSL 连接选择的任何效率较低或安全性较低的密码套件。 然后,您可以决定是否消除此类密码套件。

要指定所需的加密级别:
对于入站 HTTP
使用 TCPIPSERVICE 资源定义的 CIPHERS 属性。
对于出站 HTTP 和 Web Service 请求
使用 URIMAP 资源定义的 CIPHERS 属性。
对于入站 IPIC
使用 TCPIPSERVICE 资源定义的 CIPHERS 属性。
对于出站 IPIC
使用 IPCONN 资源定义的 CIPHERS 属性。
对于入站 CICSPlex ® SM Web 用户界面请求
使用 TCPIPSSLCIPHERS Web 用户界面服务器初始化参数。 此值的语法与 TCPIPSERVICE 资源的 CIPHERS 属性相同,但最多限制为 22 个密码。

z/OS® 和 CICS 针对每个受支持的安全协议支持的密码套件在 z/OS Cryptographic Services System SSL Programming 中的密码套件定义中进行了描述。

SSL 密码套件规范文件

SSL 密码套件规范文件是一个 XML 文件,其中包含可在 SSL 连接中使用的密码套件的列表。 它使用 EBCDIC 037 编码。

该文件的名称长度最多可以为 28 个字符,包括扩展名,必须为 .xml。 指定的值区分大小写。 它必须是 UNIX 文件的有效名称,并且只能包含以下字符: A-Z a-z 0-9 # - . @ _

SSL 密码套件规范文件必须位于 ussconfig/security/ciphers 目录中,其中 ussconfig 是 SIT 参数 USSCONFIG的值。

CICS 区域必须具有访问 z/OS UNIX 的许可权,并且必须具有对包含该文件的目录的读和执行访问权,以及对该文件本身的读访问权。

样本文件在 usshome/security/ciphers 目录中提供,其中 usshome 是 SIT 参数 USSHOME的值。 还在 usshome/schemas/security 目录中提供了模式文件。 文件名为 ciphersfile.xsd

SSL 密码套件规范文件的结构

每个密码套件都指定为 cipher 元素的 number 属性。 密码号是一个四字符代码。 如果使用双字符代码,请用前导零填充该代码。

样本文件还包含每个密码的注释,其中包含描述密码套件的文本字符串。 但是, CICS 不会验证此元素,也不会对其执行任何操作。

以下示例显示了密码文件的结构:
<?xml version="1.0"?>
<cipher_list xmlns="http://www.ibm.com/software/htp/cics/ciphers">
    <cipher number="000A">
        <!-- SSL_RSA_WITH_3DES_EDE_CBC_SHA -->
    </cipher>
    <cipher number="000D">
        <!-- SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA -->
    </cipher>
    ...
</cipher_list>