本规范定义了符合DDS实现的安全模型和服务插件接口(SPI)架构。DDS安全模型通过DDS实现调用这些SPI来实现。
构成DDS安全模型的三个插件是:
1、身份验证服务插件
提供验证调用DDS操作的应用程序和/或用户身份的方法。包括在参与者之间执行相互身份验证和建立共享秘密的设施。
2、AccessControl服务插件
提供了一种方法,以强制执行有关身份验证用户可以执行哪些DDS相关操作的策略决策。例如,它可以加入哪些域,可以发布或订阅哪些主题等。
3、加密服务插件
实现(或与实现的库接口)所有加密操作,包括加密、解密、哈希、数字签名等。这包括从共享密钥导出密钥的方法。
CycloneDDS提供了这些插件的内置实现。
- 身份验证使用PKI(公钥基础设施)和预先配置的共享证书颁发机构,RSA用于身份验证,Diffie-Hellman用于密钥交换。
- AccessControl使用由共享证书颁发机构签名的权限文档。
- 密码学使用AES-GCM(AES使用伽罗瓦计数器模式)进行加密,使用AES-GMAC进行消息认证。
安全插件在配置或参与者QoS设置中定义的位置动态加载。
PKI(公钥基础设施)简介
提供公钥加密和数字签名服务所需的综合系统被称为公钥基础设施(PKI)。PKI的目的是管理密钥和证书。通过PK