6.2. JGroups 加密协议

为保护集群流量,您可以配置 Data Grid 节点,以使用机密密钥加密 JGroups 消息有效负载。

Data Grid 节点可以从以下任一位置获取 secret 密钥:

  • 协调器节点(基本指标加密)。
  • 共享密钥存储(symmetric 加密)。

从协调器节点检索 secret 密钥

您可以通过在 Data Grid 配置中将 ASYM_ENCRYPT 协议添加到 JGroups 堆栈来配置非对称加密。这允许 Data Grid 集群生成并分发 secret 密钥。

重要

在使用非对称加密时,您还应提供密钥存储,以便节点能够执行证书身份验证和安全地交换密钥。这会防止集群不受中间人(MitM)攻击。

非对称加密可以保护集群流量,如下所示:

  1. Data Grid 集群中的第一个节点(协调器节点)会生成 secret 密钥。
  2. 加入的节点使用协调器执行证书验证,以相互验证身份。
  3. 加入的节点从协调器节点请求 secret 密钥。该请求包括加入节点的公钥。
  4. 协调器节点使用公钥加密 secret 密钥,并将其返回到加入的节点。
  5. 加入的节点解密并安装 secret 密钥。
  6. 节点加入集群,使用 secret 密钥加密和解密信息。

从共享密钥存储检索 secret 密钥

您可以通过在 Data Grid 配置中将 SYM_ENCRYPT 协议添加到 JGroups 堆栈来配置对称加密。这允许 Data Grid 集群从您提供的密钥存储中获取 secret 密钥。

  1. 节点在启动时从 Data Grid classpath 上的密钥存储安装 secret 密钥。
  2. 节点加入集群,使用 secret 密钥加密和解密信息。

非对称和对称加密的比较

带有证书身份验证的 ASYM_ENCRYPT 提供了额外的加密层,与 SYM_ENCRYPT 进行比较。您提供对请求进行加密的密钥存储,以协调机密密钥的节点。Data Grid 会自动生成该 secret 密钥并处理集群流量,同时让您指定何时生成 secret 密钥。例如,您可以配置集群以在节点离开时生成新的 secret 密钥。这样可确保节点无法绕过证书身份验证,并使用旧密钥加入。

另一方面,SY M_ENCRYPTASYM_ENCRYPT 快,因为节点不需要与集群协调器交换密钥。SYM_ENCRYPT 的一个潜在的缺点是,当集群成员资格更改时,没有配置可自动生成新的 secret 密钥。用户负责生成和分发节点用于加密集群流量的 secret 密钥。