[devel] X509v3: CRL Distribution Points: help is needed

Alexey V. Vissarionov gremlin на altlinux.org
Пт Авг 10 17:51:50 MSK 2018


On 2018-08-10 15:52:26 +0300, Paul Wolneykien wrote:

 >>> А это значит, что издатель подписи (сертификата) рассчитывал
 >>> на то, что оба указанных им адреса будут расценены как
 >>> альтернативные и, при недоступности первого, проверяющий
 >>> перейдёт по второму.
 >> Именно так. Локальное зеркало - best practice, ибо недоступность
 >> CRL может привести к тому, что отозванный сертификат будет
 >> принят как рабочий.
 >>> Но dirmngr (из пакета gnupg2) считает иначе: он расценивает
 >>> указанную информацию как список из двух различных CRL, которые,
 >>> следовательно, оба требуются для проверки подписи.
 >> Идея здравая, но реализована, мягко говоря, per rectum.
 >> ...
 >> Проверять, действительно, нужно все источники (на случай, если
 >> какое-то свежее изменение в апстриме не доехало до зеркала), но
 >> отваливаться по UTV (unable to verify|validate) следует только
 >> когда недоступны _все_ источники.
 > А вот теперь вопрос, чья это идея (последний абзац выше): это
 > твоё личное представление о том, как должно быть или всё таки
 > нечто общепринятое?

Это мое личное мнение, основанное на моих же представлениях о том,
как можно злоупотребить некорректной реализацией :-)

 > Допустим, ты сомневаешься насчёт верности реализации в GnuPG.
 > Но как тебе такое:
 > [...]
 > Это я обнаружил в OpenSSL. И там, как видно, внутри цикла выход
 > по return на _первой_ же непустой DistributionPoint.

То, что эти реализации различаются между собой, свидетельствует о
том, что как минимум одна из них некорректна. Я же придерживаюсь
мнения о том, что некорректны обе :-)

 > Получаем тот же результат, что и через GnuPG. С той лишь разницей,
 > что в GnuPG заложен перебор нескольких альтернативных URI для
 > одной DistributionPoint, а вот OpenSSL даже не предполагает
 > альтернатив --- все должны быть доступны.

Дурь. Ибо кладем один источник - и вся система огребает DoS.

 > Получается, что предположение о том, что в разбираемом
 > сертификате оба URI нужно расценивать как альтернативные, не
 > подтверждается ни теорией (структурой в ASN.1), ни практикой
 > (openssl verify). Или скажешь, что OpenSSL тоже не аргумент?
 > А кто же тогда у них главный?

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


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


Подробная информация о списке рассылки Devel