Перейти к содержимому
buybitcoinsmart

Глоссарий / Справочник разработчика

Цепочка сертификатов

Что такое цепочка сертификатов?
Цепочка сертификатов представляет собой упорядоченный список сертификатов, который связывает сертификат, предъявленный сервером, с корневым сертификатом, которому ваше устройство уже доверяет, причем каждое звено подписано следующим.

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

Как это работает

Типичная цепочка состоит из трех позиций, и сервер передает только две из них.

Внизу находится конечный сертификат, выпущенный для определенного набора доменных имен. Над ним расположены один или несколько промежуточных сертификатов, назначение которых состоит в том, чтобы изолировать корневой сертификат от повседневного использования. Наверху находится корневой сертификат, самоподписанный и лежащий в вашем хранилище доверия задолго до того, как вы посетили сайт. Сервер отправляет конечный и промежуточные сертификаты, потому что отправка корневого добавила бы байты и ничего не доказала бы: корневой сертификат учитывается, только если он у вас уже был.

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

Самым наглядным примером остается переход Let's Encrypt. Его собственный корневой сертификат, ISRG Root X1, был перекрестно подписан более старым DST Root CA X3, чтобы устройства, еще не добавившие X1, могли построить путь. Срок действия DST Root CA X3 истек 30 сентября 2021 года. Устройства, имевшие X1, переключились на другие пути незаметно для всех, тогда как версии Android старше 7.1.1 и ряд устаревших библиотек TLS этого не сделали, и соединения по всему миру сломались за один день. Ничего не было взломано и никакой ключ не утек. Просто наступила определенная дата.

Где это встречается

Проблемы с цепочкой выглядят тревожно и почти всегда оказываются обыденными.

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

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

Аттестация аппаратных кошельков использует ту же форму в гораздо меньшем масштабе: корневой сертификат производителя, иногда один промежуточный и сертификат, хранящийся на самом устройстве.

Цепочка сертификатов vs корневой сертификат

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

Не путать с

Часто задаваемые вопросы

Почему сайт загружается на одном устройстве, а на другом показывает ошибку сертификата?

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

Стоит ли когда-либо обходить предупреждение о сертификате, чтобы попасть на криптобиржу?

Нет. Предупреждение означает, что имя и ключ, которые были предъявлены, не совпадают так, как ваше устройство может проверить. Закройте вкладку, проверьте часы и написание домена и снова откройте сайт из сохраненной закладки.

Связанные термины

Еще в разделе «Справочник разработчика»

Читать эту страницу на английском