6.2. JGroups 加密协议
为保护集群流量,您可以配置 Data Grid 节点,以使用机密密钥加密 JGroups 消息有效负载。
Data Grid 节点可以从以下任一位置获取 secret 密钥:
- 协调器节点(基本指标加密)。
- 共享密钥存储(symmetric 加密)。
从协调器节点检索 secret 密钥
您可以通过在 Data Grid 配置中将 ASYM_ENCRYPT
协议添加到 JGroups 堆栈来配置非对称加密。这允许 Data Grid 集群生成并分发 secret 密钥。
在使用非对称加密时,您还应提供密钥存储,以便节点能够执行证书身份验证和安全地交换密钥。这会防止集群不受中间人(MitM)攻击。
非对称加密可以保护集群流量,如下所示:
- Data Grid 集群中的第一个节点(协调器节点)会生成 secret 密钥。
- 加入的节点使用协调器执行证书验证,以相互验证身份。
- 加入的节点从协调器节点请求 secret 密钥。该请求包括加入节点的公钥。
- 协调器节点使用公钥加密 secret 密钥,并将其返回到加入的节点。
- 加入的节点解密并安装 secret 密钥。
- 节点加入集群,使用 secret 密钥加密和解密信息。
从共享密钥存储检索 secret 密钥
您可以通过在 Data Grid 配置中将 SYM_ENCRYPT
协议添加到 JGroups 堆栈来配置对称加密。这允许 Data Grid 集群从您提供的密钥存储中获取 secret 密钥。
- 节点在启动时从 Data Grid classpath 上的密钥存储安装 secret 密钥。
- 节点加入集群,使用 secret 密钥加密和解密信息。
非对称和对称加密的比较
带有证书身份验证的 ASYM_ENCRYPT
提供了额外的加密层,与 SYM_ENCRYPT
进行比较。您提供对请求进行加密的密钥存储,以协调机密密钥的节点。Data Grid 会自动生成该 secret 密钥并处理集群流量,同时让您指定何时生成 secret 密钥。例如,您可以配置集群以在节点离开时生成新的 secret 密钥。这样可确保节点无法绕过证书身份验证,并使用旧密钥加入。
另一方面,SY M_ENCRYPT
比 ASYM_ENCRYPT
快,因为节点不需要与集群协调器交换密钥。SYM_ENCRYPT
的一个潜在的缺点是,当集群成员资格更改时,没有配置可自动生成新的 secret 密钥。用户负责生成和分发节点用于加密集群流量的 secret 密钥。