Базова інфраструктура, яка зробила б це можливим, існує і називається DNS, заснована на DNS, ідентифікація іменованих організацій та визначена в RFC6698 . Він працює за допомогою TLSA
запису ресурсів, який вказує сертифікат або його відкритий ключ кінцевого об'єкта або одного з його ЦТ у ланцюзі (насправді існує чотири різних типи, детальну інформацію див. У RFC).
Усиновлення
Однак, DANE ще не бачив широкого прийняття. VeriSign стежить за прийняттям DNSSEC і DANE і відстежує його зростання з часом :
Для порівняння, за версією VeriSign, існує близько 2,7 мільйонів DNS-зон, тобто це означає, що трохи більше 1% усіх зон мають принаймні один запис TLSA.
Я не можу дати жодної авторитетної відповіді, чому ДАНЕ, але ось мої міркування:
DANE страждає від тієї ж проблеми, що і списки відкликання сертифікатів (CRL) та протокол про статус онлайн-сертифіката (OCSP). Для перевірки дійсності представленого сертифіката необхідно звернутися до третьої особи. Ханно Бёк дає хороший огляд , чому це є великою проблемою на практиці. Це зводиться до питання, що робити, коли ви не можете отримати третю сторону. Постачальники веб-переглядачів у цьому випадку вирішили відмовитись (він же дозволив), що зробило все це безглуздо, і Chrome врешті-решт вирішив відключити OCSP у 2012 році.
DNSSEC
Можливо, DNS пропонує набагато кращу доступність, ніж сервери CRL та OCSP ЦО, але це все ще робить неможливою перевірку в режимі офлайн. Крім того, DANE слід використовувати лише спільно з DNSSEC. Оскільки звичайний DNS працює над несанкціонованим UDP, він досить схильний до підробки, атак MITM тощо. Прийняття DNSSEC набагато краще, ніж прийняття DANE, але все ще далеко не всюдисуще.
І з DNSSEC ми знову стикаємося з проблемою непрацездатності. Наскільки мені відомо, жодна основна операційна система сервера / клієнта за замовчуванням не забезпечує перевірку DNSSEC-рішення.
Тоді також є питання про скасування. DNSSEC не має механізму відкликання, а замість цього покладається на недовговічні ключі.
Підтримка програмного забезпечення
Все програмне забезпечення, що бере участь, має реалізувати підтримку DANE.
Теоретично ви можете подумати, що це буде завданням бібліотек криптовалют, а розробникам додатків не доведеться багато робити, але факт полягає в тому, що криптографічні бібліотеки, як правило, забезпечують лише примітиви, а додатки самі повинні робити багато конфігурації та налаштування. (і, на жаль, існує багато способів виправити щось неправильно).
Я не знаю, що будь-який великий веб-сервер (наприклад, Apache або nginx), наприклад, реалізував DANE або планує це зробити. Тут важливе значення мають веб-сервери, оскільки все більше речей будується на веб-технологіях, і тому вони часто є першими, де все реалізовується.
Якщо ми порівняємо CRL, OCSP та OCSP Stapling для порівняння, ми можемо зробити висновок про те, як піде історія прийняття DANE. Тільки деякі програми, які використовують OpenSSL, libnss, GnuTLS тощо, підтримують ці функції. Минуло певний час, щоб підтримати його велике програмне забезпечення, наприклад Apache або nginx, і знову посилаючись на статтю Hanno Böck, вони помилилися, і їх реалізація виявилася хибною. Інші великі програмні проекти, такі як Postfix або Dovecot , не підтримують OCSPі мають дуже обмежений функціонал CRL, в основному вказуючи на файл у файловій системі (який не обов'язково перечитувати регулярно, тому вам доведеться перезавантажувати сервер вручну тощо). Майте на увазі, що це проекти, які часто використовують TLS. Тоді ви можете почати дивитися на речі, де TLS набагато рідше, наприклад PostgreSQL / MySQL, і, можливо, вони пропонують CRL в кращому випадку.
Тому я навіть не використовую сучасні веб-сервери, і більшість інших програм навіть не має можливості впроваджувати OCSP та CRL, удачі з вашим 5-річним корпоративним додатком чи пристроєм.
Потенційні програми
То де б ви могли насправді використовувати DANE? Поки що не в загальному Інтернеті. Якщо ви керуєте сервером і клієнтом, можливо, це є можливим варіантом, але в цьому випадку ви часто можете вдатися до прикріплення відкритого ключа.
У поштовому просторі DANE отримує деяку тягу, тому що SMTP довгий час не мав жодного аутентифікованого шифрування транспорту. SMTP-сервери іноді використовували TLS між собою, але не перевіряли, що імена в сертифікатах насправді відповідають, тепер вони починають перевіряти це через DANE.