Подпись сертификата на стороне клиента

Один из моих партнеров хотел выполнить аутентификацию сертификата SSL на стороне клиента.

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

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

1
задан 26 February 2016 в 12:16
2 ответа

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

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

0
ответ дан 3 December 2019 в 23:50

Этот вопрос лучше подходит для http://security.stackexchange.com дочернего сайта

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

Очевидно, что общедоступный корень, принадлежащий признанному CA, действительно подписывает сертификаты, отличные от ваших клиентов; подписание сертификата с некоторым текстом субъекта (CN) аналогично доверию тому, кто запрашивал подпись, имеет право действовать в качестве этого субъекта. Это означает, что признанный центр сертификации по самой своей природе «доверяет» гораздо большему количеству субъектов, чем вы бы доверяли. Другими словами, ваш сервер должен проявлять особую осторожность, чтобы отличать Субъектов, которым вы доверяете, из всей группы.

Публично признанные сертификаты также являются дополнительной платой за покупку и продление.

Хотя могут существовать решения от признанных центров сертификации, которые соответствуют вашим требованиям, они всегда будут более дорогостоящими, более сложными и менее безопасными, чем подписывание самостоятельно (с собственным корневым , после вашего собственного процесса проверки личности клиента). Для меня это не имеет никакого смысла.

Еще хуже решение - заплатить за общедоступные сертификаты, а затем удалить все общедоступные корни из доверенного хранилища и добавлять только определенные сертификаты конечных клиентов один за другим. Этот «компромисс» просто объединяет стоимость обеих альтернатив без каких-либо соответствующих преимуществ.

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

1
ответ дан 3 December 2019 в 23:50

Теги

Похожие вопросы