Безопасное общение с распределенными компонентами - PullRequest
0 голосов
/ 04 января 2011

Я занимаюсь проектированием аутентификации и безопасности для распределенного приложения.

Требования: -

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 сохранят этот ключ с использованием локального безопасного хранилища.

Этот симметричный ключ будет использоваться для шифрования и аутентификации для связи между А и В.

Можете ли вы предложить другие способы, которыми это может работать?

Спасибо, Вивек

1 Ответ

1 голос
/ 04 января 2011

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

Вам понадобится CRL любого типа, чтобы сделать WCF счастливым.

...