Аутентификация с использованием SSL-сертификатов - общий вопрос
Проверка подлинности клиента SSL с использованием сертификатов - это сложная тема, и я думаю, что я выучил достаточно, чтобы сделать ее еще более сложной.
Вот мое базовое понимание: открытый и закрытый ключи создаются центром сертификации. Эта информация может быть сохранена в "сертификате", а затем использована клиентом для аутентификации.
Почему возможно иметь сертификат без закрытого ключа? Я знаю, что, экспортируя сертификат из хранилища сертификатов Windows, вы можете экспортировать его без закрытого ключа. Как используется сертификат без закрытого ключа? Я всегда думал, что вам нужны оба, если вы собираетесь перенести это на другой компьютер / устройство для использования.
Можно ли в любое время запросить закрытый ключ, если открытый ключ и CA уже известны?
1 ответ
Открытый и закрытый ключи создаются центром сертификации.
Вы можете разрешить центру сертификации генерировать для вас закрытый ключ, но это не обязательно. Вы можете сгенерировать закрытый ключ в своей собственной системе, а затем отправить запрос на подпись сертификата в центр сертификации. Центру сертификации никогда не нужно знать ваш закрытый ключ. Если вы действительно параноики по поводу безопасности, вы не должны позволять им генерировать закрытый ключ для вас.
Эта информация может быть сохранена в "сертификате", а затем использована клиентом для аутентификации. Почему возможно иметь сертификат без закрытого ключа?
Чтобы служба могла подтвердить подлинность вашего ключа, им нужно либо доверять корневому ключу для центра сертификации, сгенерировавшего ваш сертификат, либо им нужна копия вашего сертификата с открытой частью ключа. Служба, которая аутентифицирует вас, не нуждается в вашем личном ключе.
Как используется сертификат без закрытого ключа?
Некоторые службы могут не захотеть доверять каждому ключу, выданному ЦС. Поэтому они могут захотеть сохранить публичную версию вашего ключа, чтобы они знали, что вы - это вы. Конечно, если они доверяют CA, чтобы поместить действительную информацию в Предмет, тогда
Можно ли в любое время запросить закрытый ключ, если открытый ключ и CA уже известны?
Никогда не должно быть возможности получить закрытый ключ, если у вас есть только открытый ключ.
Если вы разрешите своему ЦС сгенерировать свой личный ключ для вас, и они сохранят личный ключ в своей системе и будут иметь слабую защиту, я думаю, что ЦС может быть атакован, а личный ключ получен. Открытая часть ключа будет содержать информацию о ЦС. Это кажется довольно маловероятным, хотя.