Безопасность сообщений WCF без сертификата и аутентификации Windows

У меня есть служба WCF и клиент, который будет развернут в нескольких компаниях (сотнях). Некоторые компании будут запускать программное обеспечение в своей сети, а некоторые - через Интернет (сервер WCF находится в офисе, клиент WCF - в другом).

Мы хотим зашифровать связь между сервером WCF и клиентом. Нам не нужно проходить аутентификацию cient / subscriber с использованием безопасности WCF, потому что у нас есть собственный логин / пароль, который клиенты будут использовать для входа на сервер.

Мы не можем полагаться на аутентификацию Windows, потому что некоторые пользователи будут запускать ее через Интернет, и сервер WCF может не находиться в том же домене, что и клиент WCF.Если мы используем «настоящие» сертификаты *, компании, работающие с программным обеспечением, должны будут приобрести сертификаты в ЦС и установить его, а затем настроить наше программное обеспечение для его использования, но для большинства из них это слишком сложно.Мы могли бы автоматически создавать сертификаты во время установки сервера WCF, но тогда нам пришлось бы автоматически устанавливать его в хранилище сертификатов и каким-то образом автоматически предоставлять разрешения IIS для чтения сертификата. Это сложнее, чем хотелось бы.

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

Это возможно?

* Под «настоящими» сертификатами я имею в виду сертификаты, приобретенные в центре сертификации, а не те, которые я сам создал / подписал самостоятельно.

Ответы на вопрос(5)

Ваш ответ на вопрос