[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