Рейтинг:0

соответствующий закрытый ключ сертификата - как его получить?

флаг jp

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

Рейтинг:2
флаг jp

Насколько я понимаю, закрытый ключ должен быть сгенерирован и храниться владельцем (или субъектом) сертификата. Открытый ключ и некоторая дополнительная информация отправляются в ЦС. Тем не менее, ЦС не должен знать закрытый ключ сертификата.

Верно ли приведенное выше понимание?

fgrieu avatar
флаг ng
Да, это стандартный способ работы. Это так, что только владелец/субъект сертификата знает закрытый ключ. То, что отправляется в ЦС, называется запросом на подпись сертификата (CSR). Обычно он содержит открытый ключ, идентифицирующую информацию и подпись с использованием закрытого ключа. CA возвращает сертификат. CSR и сертификат можно безопасно обнародовать (хотя обычно только сертификат).
Рейтинг:1
флаг in

Существуют и были центры сертификации, которые предоставляют услуги по генерации пары ключей. Однако это определенно не должно быть предпочтительным способом. Во-первых, это позволяет ЦС действовать как объект, у которого есть закрытый ключ, поскольку они могли его сохранить. $^1$. Во-вторых, это означает, что транспортировка закрытого ключа должна быть защищена. Наконец, это также может сделать хранилище менее безопасным; как правило, вы не хотите, чтобы значение помещалось в незащищенную память, которая также может быть заменена на запоминающее устройство.

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

Обратите внимание, что для запроса сертификата вы подписываете только запрос на подпись сертификата или CSR, используя закрытый ключ. Это позволяет закрытому ключу оставаться в защищенном хранилище ключей или (аппаратном) токене, таком как TPM или HSM, а не загружаться в незащищенную память.


Одним из ЦС, который предоставлял услуги по генерации пары ключей, был DigiNotar. Это был заведомо небезопасный ЦС, который обанкротился после того, как обнаружилось, что можно запрашивать сертификаты для любого домена.


$^1$ хотя могли конечно подписать любой невалидный запрос на сертификат - запрос конкретного пользователя им в принципе был бы не нужен; хотя процесс будет несколько другим, и обычно он должен заканчиваться в журнале аудита, если они собираются подписывать свои собственные запросы.

Maarten Bodewes avatar
флаг in
Я почти уверен, что видел доступный в настоящее время ЦС, предоставляющий услуги по генерации пары ключей. Я постараюсь найти это и публично пристыдить их.
флаг jp
Вот пример того, как ЦС, генерирующий и сохраняющий закрытые ключи, может пойти не так: Trustico хранил закрытые ключи, сгенерированные клиентами в Интернете, и крайне небрежно относился к их защите, что привело к [23 000 сертификатов, которые пришлось отозвать с минимальным уведомлением] (https: //arstechnica.com/information-technology/2018/03/23000-https-certificates-axed-after-ceo-e-mails-private-keys/). Trustico все еще в бизнесе (я не знаю почему), но, по крайней мере, они [больше этого не делают] (https://www.trustico.com/csr/generate-csr-howto.php).
dave_thompson_085 avatar
флаг cn
Maarten: попробуйте эмитентов сертификатов кодирования EV; они необходимы (выделение добавлено) для «**гарантии** того, что закрытый ключ подписчика генерируется, хранится и используется в криптомодуле, который соответствует или превосходит ... FIPS 140-2 уровня 2 или CC EAL 4+». IMLE такие центры сертификации решили, что им дешевле получить модуль (покупая оптом со скидкой), который не поддерживает экспорт ключа, контролирует генерацию ключа и отправляет его вам, вместо того, чтобы вы платили десятки тысяч за аудит вашего установка и эксплуатация собственного оборудования.
Maarten Bodewes avatar
флаг in
Что ж, в этом что-то есть, если аппаратное обеспечение не позволяет экспортировать даже в ЦС, пока само использование ключа эфемерно. Я бы не хотел такого, например. неотказуемость, но я мог рассматривать его как (полу-) безопасный промежуточный метод для аутентификации в реальном времени и, возможно, дешифрования. В конце концов, я полагаю, все сводится к контексту.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.