Как стать автором
Обновить

Идёт массовый отзыв TLS-сертификатов от множества УЦ, по ошибке сгенерированных на 63-битном ГСЧ вместо 64-битного

Время на прочтение3 мин
Количество просмотров15K
Всего голосов 26: ↑24 и ↓2+22
Комментарии14

Комментарии 14

Самого интересного и не написали: про часть сертификатов google — да, а что с их же let's encrypt?

LE использует 128-битные идентификаторы. По крайней мере на всех сертификатах, до которых мне удалось дотянуться, именно такие.

Спасибо.

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

Популярная PKI-система EJBCA, которую используют многие УЦ, по умолчанию генерирует 64-битные числа и для номеров сертификатов просто обнуляет старший бит.


С этого места по подробнее, так мы используем этот несчастный старший 64 бит или нет? Если не используем в чём суть проблемы, пространство серийников всё равно будут 63-х битными…
НЛО прилетело и опубликовало эту надпись здесь
ну, судя по тому, что мне GoDaddy в перевыпущенном сегодня из-за этого инцидента сертификате выставил старший байт Serial Number в 0xC8, да, используются все 64 бита, как значащие.
Это же вопрос интерпретации данных уже…
Но этим комментарием вы снизили энтропию обратно до 63 бит :)
Тогда уж до 56 бит.
Да, ошибся.
Честно говоря не понял основного поинта статьи. На деле проблемы нет вообще никакой, если убрать пассажи типа «всего два раза это целых сколько-то квинтиллионов!». Так как на деле «два раза» это и есть всего в два раза.

То есть когда-то в стандарте взяли хорошее «круглое» число 64 (так-как 32 вроде мало), но потом в реализации накосячили со снаковым битом. Что по факту практически никак не сказывается на безопасности, ну вот просто «не по стандарту» получилось.
НЛО прилетело и опубликовало эту надпись здесь
Я больше про то, что исправляется не проблема базопасности, а неточность в регламенте. Которая к непосредственно безопасности относится довольно опосредованно.
Я один не понял, зачем использовать знаковый тип для величины, которая беззнаковая по определению? Это для какой-то совместимости с кривым софтом сделано?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий