Старите списъци с дайджести се четат като стенограма на криптографски решения, но не са такава. Имена като SHA1, DSA-SHA1-old или RSA-SHA1-2 стоят едно до друго в стари сборки на OpenSSL, защото библиотеката е регистрирала няколко входни точки около свързани хеш механизми. Етикет RSA или DSA в този списък не казва нищо за това какво OpenVPN е направил с пакета. Това, което четете, е инвентарът на библиотеката, а не запис на сесия.

Три неща трябва да бъдат разделени, преди какъвто и да е извод да има смисъл: регистрираното име, изчислението на дайджеста под него и операцията, която го използва.

Регистрацията е интерфейс, а не оценка на силата

В OpenSSL 1.0.2 таблицата за регистрация на дайджести свързва имена, псевдоними и реализации в един файл. Старият дескриптор DSS1 е най-ясният случай: той съобщава дължината на изхода на SHA-1 и извиква процедурата за финализиране на SHA-1, носейки име, което подсказва напълно различен алгоритъм. Затова допълнителните букви в регистрацията не означават различен хеш, по-дълъг изход или ново ниво на сигурност.

Същият изходен код запазва връзките на псевдонимите за по-стари извикващи, което обяснява защо списъкът изглежда претрупан. Това е документация за съвместимост, а не обещание, че текущ доставчик на OpenSSL показва същите имена.

Имената за подпис не създават подписи

Рамка за подписване може да обвърже дайджест с интерфейса на друг алгоритъм, така че съществуващите извикващи да продължат да се компилират. Истинският подпис с публичен ключ изисква и ключ, и стъпката на подписване, която го използва, и нито едното от тях не се доставя от име в меню. Запис на дайджест с аромат на RSA е име, което извикващият може да използва, а не доказателство, че всеки VPN пакет е носил RSA подпис.

Точно на тази стъпка по-старите текстове се плъзгат във фолклор. Ако трябва да знаете как са били удостоверени пакетите, намерете опцията, която е избрала механизма, и прочетете какво прави тя във версията, която действително изпълнявате. Страницата от ръководството, доставена с тази версия, е единственото описание, което отговаря на програмата пред вас. Архивните ръководства описват версията, за която са писани, а тя може да изостава с няколко конвенции за именуване.

Намерете опцията, която е използвала името

В случая с удостоверяване на пакети, документиран от OpenVPN 2.6, auth избира дайджест, използван от HMAC — конструкция за удостоверяване на съобщения с ключ, а не подпис на сертификат. Алгоритъмът за подписване на TLS сертификата е отделно свойство на ръкостискането.

При AEAD шифър за данни отделната настройка auth спира да се прилага за канала с данни, докато ролята ѝ за tls-auth остава отделен въпрос. Затова списък с дайджести не може да ви каже кой хеш е защитавал текущите пакети, кой TLS набор е бил договорен или как е бил подписан сертификатът на партньора. Само ефективната конфигурация заедно с версията може да отговори, и то само за връзката пред вас.

Запишете какво действително имате

Запишете версията на OpenVPN, свързаната криптобиблиотека, точните опции в профила и резултата от реална връзка. Този набор отговаря на въпроси, на които снимка на меню с дайджести не може, и оцелява при следващото обновяване, защото назовава версии, а не впечатления.

Преди всичко не избирайте стар псевдоним, защото името му звучи по-силно или по-конкретно. Изберете поддържаната политика за цялата връзка и третирайте старите имена като запис за това как библиотеката се е представяла преди.

Подобни статии