Аутентификация с открытым ключом или подобное через HTTP / HTTPS?

31

Можно ли настроить Apache или какой-либо другой веб-сервер для использования какой-либо аутентификации с открытым ключом?

В идеале я хотел бы предоставить пользователям доступ к сайту без необходимости ввода имени пользователя / пароля, при условии, что они установили ключевой файл (или аналогичный) в своем браузере и что этот ключ «авторизован». на стороне сервера.

ezzatron
источник

Ответы:

17

То, что вы ищете, обычно называется взаимной аутентификацией. Обычно для «проверки подлинности сервера» существует сертификат сервера, что означает, что он проверяет подлинность сервера для клиента.

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

Вот пример того, как это делается для одного продукта:

Учебник по взаимной аутентификации

Настройка Apache для SSL

Грег Аскью
источник
8

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

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

Все это относительно просто и хорошо поддерживается большинством веб-серверов. Этот документ обсуждает настройку Apache. Оператор SSLRequire выполняет большую часть тяжелой работы для такого рода конфигурации.

larsks
источник