Взаимный SSL - насколько аутентификации достаточно? - PullRequest
5 голосов
/ 11 ноября 2009

Предположим, у вас есть взаимный сервис SSL, который, помимо SSL, имеет аутентификацию приложения. Таким образом, клиенты предоставляют сертификаты (а также серверы), но клиентский запрос (например, запрос REST) ​​также содержит имя пользователя / пароль, с помощью которых внутренний сервер приложений аутентифицируется.

С точки зрения «степени» аутентификации клиента, кажется, что существует несколько уровней. Один уровень (a) просто для клиента, чтобы предоставить сертификат, который подписан CA, который находится в хранилище CA сервера. Другой очевидный уровень (b) - для сервера выше (a) плюс обеспечение правильности учетных данных приложения. Третий уровень (с) - сделать (а) и (б), а также убедиться, что сертификат клиента уникально связан с учетной записью.

Преимущество (c) заключается в том, что оно предотвращает использование кем-либо, кому доверяет «доверенный ЦС», неправомерного использования пароля приложения.

Я понимаю, что все это очень маловероятно, но мне интересно, в какой степени (c) предполагается, что он является частью взаимного SSL, а не просто (a) или (b)?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2013

Я предполагаю, что под «взаимным SSL» вы подразумеваете TLS v1.0, 1.1 или 1.2 с аутентификацией на основе сертификатов сервера и клиента, а под «частью взаимного SSL» вы подразумеваете часть спецификации TLS.

Используя эту интерпретацию, только (а) является частью взаимного SSL. Спецификация TLS включает совместное использование сертификата с сообщением рукопожатия SSL. Он не включает проверку имени пользователя / пароля или проверку сертификата SSL для учетной записи.

0 голосов
/ 08 апреля 2010

Да, я думал о чем-то похожем .

Одна вещь, которую вы можете сделать, это дать вашему приложению отдельное хранилище доверенных сертификатов, которое не содержит ЦС. Таким образом, вы можете просто предоставить доступ клиентам с самозаверяющими сертификатами, которые вы авторизовали.

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