Как работают цепочки SSL?

37

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

PeanutsMonkey
источник
6
Был бы признателен людям, комментирующим по крайней мере перед голосованием, чтобы закрыть вопрос. Я понятия не имею, почему вы хотели бы закрыть его, например, является ли он дубликатом, не имеет смысла и т. Д.
PeanutsMonkey
11
@ Linker3000 - Вопрос не является открытым, так как на него нет четкого ответа и он не болтлив, то есть не предназначен для разжигания разговора. Нужно понимать, как работают цепочки SSL, чтобы при необходимости при реализации сертификатов SSL это можно было сделать с пониманием основ цепочек SSL.
PeanutsMonkey

Ответы:

48

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

Иногда для защиты личного ключа корневого ЦС он хранится в очень безопасном месте и используется только для подписи нескольких промежуточных сертификатов, которые затем используются для выдачи сертификатов конечных объектов. В случае компромисса промежуточные соединения могут быть быстро отозваны, без необходимости перенастраивать каждую машину для доверия новому CA

Другая возможная причина - делегирование: например, такие компании, как Google, которые часто используют множество сертификатов для своих собственных сетей, будут иметь собственный промежуточный CA.

Как проверить цепочку от промежуточного сертификата до корневого сертификата?

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

Последним в этой цепочке является корневой сертификат, который вы уже отметили как доверенный.

Например, если у вас есть цепочка [пользователь] → [intermed-1] → [intermed-2] → [root] , проверка выполняется следующим образом:

  1. Имеет ли [пользователь] есть [INTERMED-1] в качестве своего "Эмитент"?

  2. Имеет ли [пользователь] действительную подпись под ключом [intermed-1] ?

  3. Имеет ли [INTERMED-1] есть [INTERMED-2] в качестве "Эмитент"?

  4. Имеет ли [intermed-1] действительную подпись под ключом [intermed-2] ?

  5. Имеет ли [INTERMED-2] есть [корень] в качестве своего "Эмитент"?

  6. Имеет ли [intermed-2] действительную подпись под ключом [root] ?

  7. Поскольку [root] находится в нижней части цепочки и называется «эмитентом», помечается ли он как доверенный?

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

Каковы примеры промежуточных сертификатов, которые ссылаются на корневые сертификаты?

См. Информацию о сертификате на https://twitter.com/ или https://www.facebook.com/ для цепочек, содержащих три или четыре сертификата. См. Также https://www.google.com/ для примера собственного центра сертификации Google.

grawity
источник
Спасибо. Когда вы говорите «делегирование», как это помогает иметь собственные промежуточные сертификаты? Означает ли это также, что он был подписан другим доверенным корневым центром сертификации? Я взглянул на сертификат Google, но не увидел цепочку. Можете ли вы загрузить изображение того, что вы имеете в виду?
PeanutsMonkey
Они не подписаны другим доверенным корневым центром сертификации, они подписаны их доверенным корневым центром сертификации. Типичные центры сертификации имеют несколько разных систем, которые могут подписывать сертификаты. Если бы они все действительно использовали корневой ключ, компромисс с одной системой разрушил бы весь ЦС и сделал бы все их сертификаты ненадежными.
Дэвид Шварц
1
@ Дэвид Шварц - Спасибо. Таким образом, в случае Google в качестве примера их корневым центром сертификации является Equifax, который предоставил им возможность создавать промежуточные сертификаты. Это правильно?
PeanutsMonkey
4
Это правильно. Скорее всего, Equifax содержит ключ, необходимый для подписи сертификатов, выпущенных этим промежуточным центром сертификации, но у Google есть интерфейс, позволяющий им подписывать сертификаты без участия человека со стороны Equifax. Если Google когда-либо злоупотребляет этой привилегией, Equifax может использовать свои полномочия root, чтобы отозвать промежуточный центр сертификации Google.
Дэвид Шварц
Используйте whatsmychaincert.com, чтобы помочь вам обнаружить проблему и сгенерировать правильные цепные сертификаты.
Итан Аллен