TLS 的实现选项
了解在 CICS中实现 TLS 的三个补充选项。
使用的方法取决于您的需求。 您可以在不同的连接上混合使用这些方法:
- 通常,建议使用 AT-TLS ,因为 AT-TLS 规则和策略使网络管理员能够在单个位置处理所有 TLS 定义。
- 如果将客户机证书用于 IPIC 连接,那么必须通过使用系统 SSL 来使用 CICS TLS 支持。
- 如果在 CICS Liberty 中使用证书进行认证,那么需要 CICS Liberty TLS 支持。
使用系统 SSL 的 CICS TLS 支持
TLS 可用于保护与 CICS 之间的 TCP/IP 连接,这些连接涉及 CICS 资源定义 TCPIPSERVICE , URIMAP 和 IPCONN 中定义的 URI 和端口。 图 1 显示了使用 TCPIPSERVICE 定义的入站连接的示例。 图 2 显示了使用 URIMAP 定义的出站连接的示例。
可用来保护连接的 TLS 协议范围是从 SIT 获取的。 SIT 参数 MINTLSLEVEL 和 MAXTLSLEVEL 定义 CICS 区域支持的 TLS 的最低和最高级别。
作为客户端的CICS事务使用 URIMAP 将连接定义为 SCHEMEHTTPS),以使用 TLS。 它提供 CIPHERS 和 (可选) 区域密钥环中证书的标签。
提供 TLS 支持的函数是 System SSL。使用 JSSE 的 CICS Liberty TLS 支持
可以在 Liberty 中配置 TLS ,如 图 3中所示。
必须启用 Liberty transportSecurity 功能部件。 可以配置 SSL 元素以指定协议和密码。 有关配置的详细信息,请参阅 在 Liberty 中启用 SSL 通信。
JSSE 提供了 SSL 和 TLS 协议的框架和 Java 实现。
Java 密码术扩展 (JCE) 是 Java 平台的标准扩展,提供加密服务的底层实现,包括加密,密钥生成和消息认证代码 (MAC)。
IBM Java SDK for z/OS 提供了两个主要 JCE 提供程序 :IBMJCE 和 IBMJCECCA。 缺省提供程序是 IBMJCE ,它可以使用 CPACF IBM Z 加密硬件。 IBM JCECCA 提供程序是可选提供程序,它还可以使用 ICSF 来驱动 IBM Crypto Express 卡。 有关更多信息,请参阅 硬件密码术的性能注意事项。
使用 AT-TLS 的应用程序透明 TLS
应用程序透明传输层安全性 (AT-TLS) 可用于代表 CICS创建 TLS 会话。
图 4 显示了此 CICS入站配置的示例。
AT-TLS 提供基于 TCP/IP 策略代理程序中编码的策略语句的数据加密和解密,而不是在 CICS中实现 TLS。 当 AT-TLS 对于 CICS 套接字连接处于活动状态时, CICS 会发送和接收未加密的数据,而 AT-TLS 会在 TCP 传输层对数据进行加密和解密。
因此,与 TLS 相关的 CICS SIT 参数和资源配置选项不相关,因为 TLS 的实现由 AT-TLS 策略语句提供。 所有加密和解密都在 CICS 地址空间外部完成。
有关 AT-TLS 和 AT-TLS 策略设置的更多信息,请参阅 AT-TLS 策略配置 和 z/OS Communications Server:IP 配置参考中的策略代理和策略应用程序。
- AT-TLS 基本
- 端口不知道 AT-TLS 正在对数据进行加密或解密。 此配置是在 CICS 中使用 TCPIPSERVICE 资源定义上的 SSL (NO) 选项实现的。
- AT-TLS 感知
- 该端口可识别 AT-TLS ,并可查询信息 (例如 AT-TLS 状态) 和访问项 (例如客户机证书和证书用户标识)。 此配置是在 CICS 中使用 TCPIPSERVICE 定义上的 SSL (ATTLSAWARE) 选项实现的。 AT-TLS 感知模式只能用于 CICS® 作为 HTTP 服务器。 此选项在出站会话的 URIMAP 定义或 IPIC 会话的 IPCONN 定义上不可用。
6.3 beta AT-TLS感知模式可与 CICS 配合使用,既可作为 HTTP 客户端,也可作为 HTTP 服务器,并支持IPIC连接
图 5 显示了从 CICS出站的示例。
图 6 显示了 CICS Liberty 中的示例。
在 CICS Liberty 中使用 AT-TLS 实现 TLS 类似于 CICS。 唯一不同的是,您无法将端口定义为 AT-TLS 感知端口。 因此,无法在 CICS Liberty 应用程序中标识客户机证书。