Схема аутентификации машины C # - PullRequest
2 голосов
/ 11 апреля 2011

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

Я действительно не знаю, теоретически и на практике это действительная схема. Это приложение ASP.NET, использующее C #.

1 Ответ

2 голосов
/ 12 апреля 2011

Возможно, вы захотите использовать клиентские сертификаты X509 для подключения HTTPS . Они были созданы с этой целью и являются открытым стандартом:

Для веб-приложений с высокой степенью защиты, таких как сайты интернет-банкинга, вы можете захотеть внедрить более безопасное решение для аутентификации пользователя, чем комбинация имени пользователя и пароля. Вы можете использовать клиентские цифровые сертификаты для проверки личности пользователя. Кроме того, при необходимости вы можете сопоставить цифровые сертификаты на стороне клиента с учетными записями Windows на сервере.
& Mdash; источник

На стороне клиента вы можете использовать этот ресурс для начала работы:

В этой статье рассказывается, как отправить сертификат клиента с помощью классов HttpWebRequest и HttpWebResponse в Microsoft Visual C # NET.
& Mdash; источник

...