Назви дайджестів SHA1 в OpenSSL: що означає старий список
Старі назви SHA1 описують реєстрації бібліотеки, а не те, що OpenVPN зробив із пакетом. Відокремлюйте зареєстровану назву, дайджест і викликову операцію.
Старі списки дайджестів читаються як стенограма криптографічних рішень, але нею не є. Назви на кшталт SHA1, DSA-SHA1-old або RSA-SHA1-2 стоять поруч у старих збірках OpenSSL, бо бібліотека зареєструвала кілька точок входу навколо пов'язаної хеш-машинерії. Позначка RSA або DSA в цьому списку OpenVPN нічого не каже про те, що 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, пов'язану криптографічну бібліотеку, точні параметри в профілі та результат реального з'єднання. Цей набір відповідає на запитання, на які не відповість знімок екрана меню дайджестів, і переживає наступне оновлення, бо називає версії, а не враження.
Перш за все не вибирайте старий псевдонім через те, що його назва звучить сильніше або конкретніше. Виберіть підтримувану політику для всього з'єднання, а старі назви сприймайте як запис про те, як бібліотека раніше себе подавала.