Технические характеристики системы:
Клиент C #, использующий .NET 3.0. Службы WCF, размещенные как службы Windows на серверах приложений. MSSql Server 2008R2 DB для хранения данных.
Хеши паролей пользователей хранятся в БД для аутентификации пользователей. Моя проблема в том, что я не знаю, как безопасно аутентифицировать клиента на сервере, используя хэш пароля клиента.
Прочитав похожие вопросы по SO, я увидел, что был рекомендован механизм «вызов-ответ». Кто-нибудь может привести хорошие примеры кодирования того, как это можно сделать?
Кроме того, если мы сможем безопасно создать на сервере пару секретный-открытый ключ и распространить открытый ключ среди всех клиентов, будет достаточно использовать шифрование с открытым ключом для передачи информации от клиента и сервера вместо использования запроса-ответа.
РЕДАКТИРОВАТЬ: Под клиентом я имел в виду пользователя, который будет фактически использовать клиентский компьютер для входа в систему.