Я занимаюсь проектированием аутентификации и безопасности для распределенного приложения.
Требования: -
1) Два распределенных компонента A и B A и B всегда будут установлены в среде Windows.A и B могут быть установлены в двух разных доменах Windows, которые не доверяют друг другу.
2) A и B используют WCF для связи.
A и B должны иметь возможность аутентифицировать каждыйдругие и безопасно обмениваться данными.
Как это можно сделать?
Возможные решения: -
a) Внедрить ЦС, выдать сертификаты дляA и B. оба эти сертификата подписаны rootCA.Но это решение требует от нас реализации CA, который является слишком дорогостоящим
b) Реализация службы генерации ключей на A.
Это будет выглядеть следующим образом: -
CreateSymmetricKey (stringuserName, строковый пароль);
A и B будут иметь самозаверяющий сертификат.Данные, которыми обмениваются A и B, будут защищены с помощью самозаверяющего сертификата.Аутентификация выполняется с использованием имени пользователя и пароля.
Это создаст симметричный ключ.И A, и B сохранят этот ключ с использованием локального безопасного хранилища.
Этот симметричный ключ будет использоваться для шифрования и аутентификации для связи между А и В.
Можете ли вы предложить другие способы, которыми это может работать?
Спасибо, Вивек