Криптография с открытым ключом n-party

В то время как двухсторонняя криптография с открытым ключом очень хорошо реализована в инфраструктуре .net n-party меня очень беспокоит. Например, обеспечение двусторонней видеоконференции. связь довольно проста:

1) Каждая сторона генерирует пары ключей RSA для конкретного сеанса и получает свои открытые ключи, подписанные доверенным центром (т. е. доверенным сервером). 2) Каждая сторона обменивается ключами с использованием ECDiffieHellmanCng , таким образом, соединение теперь является аутентичным и безопасным (полагая, что они используют Vista / W7).

Теперь добавление третьего участника к этому обмену не будет работать, потому что обмен ключами алгоритмы предназначены для получения общего секрета только из двух открытых ключей (особенно с использованием .NET и BouncyCastle). Итак, вопрос в том, как бы вы реализовали схему криптографии с открытым ключом, состоящую из n сторон, которая остается аутентичной (т.е. устойчивой к атаке человека в середине) и безопасной (т.е. защищенной от подслушивания).

Изменить : В настоящее время идеи следующие, я продолжу и реализую наиболее популярную из них как часть библиотеки NBusy.Communicator :

  • Используйте схему двусторонней связи, в которой одна сторона действует как сервер федерации.
  • Инициировать двустороннюю связь и позволить одной стороне аутентифицировать третьи стороны и поделиться секретным / симметричным ключом.
  • Использовать схему многостороннего соглашения о ключах.

Edit2 : Я собираюсь с алгоритм "n-Party Diffie Hellman", аналогичный описанному здесь, но с некоторыми изменениями: http://www.codeproject.com/KB/cs/diffy_helman.aspx

5
задан Teoman Soygul 25 April 2011 в 22:45
поделиться