Могу ли я использовать безопасность WCF без сертификата SSL? - PullRequest
0 голосов
/ 22 августа 2011

Хорошо, вот моя ситуация.

Я пишу многосайтовое программное обеспечение, которое позволяет мне отслеживать процессы, память, сервисы и т. Д. На Windows Server.

Каждый «сайт» будет хостом для WCF. Может существовать или не быть центральный узел распространения, это также будет хост, но будет интерфейс, который считывает данные - он будет подключаться к каждому «сайту» или узлу распределения.

Правильно, поэтому я хочу защитить это сообщение в зашифрованном виде. Я не хочу использовать SSL-сертификаты, учитывая, что не каждый сайт / клиент будет иметь SSL-сертификаты.

Могу ли я сделать это? Возможно, вы используете Message Security? Только я не читал способ сделать это. Я не знаю, подойдет ли для этого «проверка подлинности Windows»? Будет ли это? Подойдет простое имя пользователя и / или пароль. Примерно так же, как команда WebsitePanel использовала WSE для этого.

Спасибо за вашу помощь.

EDIT:

Так что мне нужно быть более ясным в этом.

Я не хочу использовать SSL / сертификаты в любом случае. Возьми, что я не могу это контролировать. Я мог бы, если бы мне действительно было нужно, зашифровывать каждую отправку информации в коде вручную, используя AES и т. Д., Перед тем как она была отправлена, как PGP в электронных письмах, но я решил, что это и есть Message Security.

Такая простая задача, что удивляет меня, что Microsoft и профессионалы никогда не думали ее реализовать. Все данные отправляются в предварительно зашифрованном виде, и если у вас нет базового ключа шифрования, вы не сможете прочитать данные. Да, я понимаю, что это по сути то же самое, что SSL и т. Д.

1 Ответ

2 голосов
/ 22 августа 2011

Для шифрования требуется сертификат, чтобы быть действительно безопасным. WSE разрешил имя пользователя и пароль, но для шифрования сообщения ему все еще требовался сертификат - WCF делает это таким же образом.

Вы можете создать уровень шифрования без сертификата, но

  • Вам придется сделать это полностью самостоятельно - вам нужно будет реализовать собственный канал, который будет выполнять шифрование и дешифрование.
  • Вам придется где-то надежно хранить ключи шифрования - это то, что обычно делают сертификаты. Как только ключ будет взломан, ваша безопасность исчезнет. Вот почему используются сертификаты.

Для проверки подлинности Windows либо снова требуется защищенный транспорт (обычная проверка подлинности http) = HTTPS, либо клиент и сервер должны находиться в одном домене Windows (если вы общаетесь со своими клиентами через Интернет, что требует VPN).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...