DDS 安全:如何为不同的发布者生成密钥

DDS Security: How are key generated for different publisher

阅读有关安全 DDS 的 OMG 规范后:https://www.omg.org/spec/DDS-SECURITY/1.1/

我了解 DDS 参与者将通过握手相互验证身份并使用 DH 推断出秘密。 此共享秘密用于发布者(作者)共享用于加密发布消息的密钥,以便订阅者 (reader) 解密消息。

但是,如果同一主题有多个发布者会怎样?

我期待第一个选项,但在 OMG 规范中找不到确认。

However, what happens if there are multiple publishers for the same topic?

每个 DataWriter(不是 Publisher)生成自己的对称密钥,并与所有匹配的 DataReader 共享。多个 DataWriter 可能正在写入同一个主题这一事实并没有改变这一点——它们每个都生成自己的密钥并使用它来保护自己的更新。

请注意,这是您提到的规范第 9 章中定义的所谓内置插件所规定的行为。这些被定义为提供开箱即用的功能以及供应商之间的互操作性。自定义插件的行为可能不同。