Fast DDS Security模块中默认使用Diffie-Hellman算法进行秘钥交换。Diffie-Hellman 算法(简称 DH 算法)是一个非常重要的加密协议,用于在不安全的通信通道中安全地交换密钥。该算法通过利用数学中的离散对数问题来生成共享密钥,使得通信双方可以在没有事先共享密钥的情况下,通过公开的渠道交换加密密钥。
Diffie-Hellman 算法的基本原理
Diffie-Hellman 算法的目标是允许通信双方生成一个共享密钥,而无需直接交换密钥。这是通过公开的数学计算步骤来实现的,每个参与者都使用一些公共信息和自己的私密信息生成共享密钥,其他人无法通过观察通信内容来推算出这个密钥。步骤如下:
时序图如下所示:
Fast DDS中认证、握手、秘钥交换、以及数据加解密流程: