Безопасность DDS: как генерируется ключ для другого издателя

После прочтения спецификации OMG о безопасном DDS: https://www.omg.org/spec/DDS-SECURITY/1.1/

Я понял, что участники DDS будут аутентифицировать друг друга, хотя рукопожатие и вывести секрет, используя DH. Этот общий секретный ключ используется издателем (писателем) для обмена ключом, используемым для шифрования опубликованных сообщений, для того чтобы подписчик (читатель) расшифровал сообщение.

Однако что произойдет, если на одну и ту же тему будет несколько издателей?

  • Они согласны с тем же ключом?
  • Они генерируют свой собственный ключ и отправляют их каждому читателю?

Я ожидаю первого варианта, но не смог найти подтверждение в спецификации OMG.

1 ответ

Решение

Однако что произойдет, если на одну и ту же тему будет несколько издателей?

Каждый DataWriter (не Publisher) генерирует свой собственный симметричный ключ, который используется всеми его соответствующими DataReaders. Тот факт, что несколько DataWriters могут писать в одну и ту же тему, не меняет этого - каждый из них генерирует свой собственный ключ и использует его для защиты своих собственных обновлений.

Обратите внимание, что это поведение, предписанное так называемыми встроенными плагинами, как определено в главе 9 спецификации, которую вы упомянули. Они определены для обеспечения готовых функциональных возможностей с возможностью взаимодействия между поставщиками. Индивидуальные плагины могут вести себя по-разному.

Другие вопросы по тегам