Безопасность DDS: как генерируется ключ для другого издателя - PullRequest
0 голосов
/ 23 ноября 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 23 ноября 2018

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

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

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

...