Проблема застарілих кореневих сертифікатів. На черзі Let's Encrypt та розумні телевізори

Проблема застарілих кореневих сертифікатів. На черзі Let's Encrypt та розумні телевізори

Щоб браузер міг аутентифікувати веб-сайт, той є справжнім ланцюжком сертифікатів. Типовий ланцюжок показаний зверху, в ньому може бути більше одного проміжного сертифіката. Мінімальна кількість сертифікатів у дійсному ланцюжку дорівнює трьом.

Кореневий сертифікат – серце центру сертифікації. Він буквально вбудований у ОС або браузер, він фізично присутній на вашому пристрої. Його не зміниш з боку сервера. Потрібне примусове оновлення ОС або вбудованого програмного забезпечення на пристрої.

Фахівець з безпеки Скотт Хельме (Scott Helme) пише, Що основні проблеми виникнуть у центру сертифікації Let's Encrypt, тому що сьогодні це найпопулярніший ЦС в інтернеті, а його кореневий сертифікат скоро "протухне". Зміна кореня Let's Encrypt призначена на 8 липня 2020 року.

Кінцеві та проміжні сертифікати сертифіката (CA) доставляються клієнту з сервера, а кореневий сертифікат у клієнта вже є, тому за допомогою цієї колекції сертифікатів можна побудувати ланцюжок та автентифікувати веб-сайт.

Проблема полягає в тому, що кожен сертифікат має термін дії, після чого він потребує заміни. Наприклад, з 1 вересня 2020 року у браузері Safari планують запровадити обмеження на термін дії серверних TLS-сертифікатів максимум 398 днів.

Це означає, що всім нам доведеться замінювати серверні сертифікати щонайменше кожні 12 місяців. Це обмеження поширюється лише сертифікати сервера, воно НЕ розповсюджується на кореневі сертифікати CA.

Сертифікати CA регулюються іншим набором правил, тому мають різні обмеження терміну дії. Найчастіше зустрічаються проміжні сертифікати з терміном дії 5 років та кореневі сертифікати з терміном служби навіть 25 років!

З проміжними сертифікатами зазвичай немає проблем, тому що вони постачаються клієнту сервером, який сам набагато частіше змінює свій власний сертифікат, тому просто в ході цієї процедури замінює і проміжний. Його досить легко замінити разом із сертифікатом сервера, на відміну кореневого сертифіката CA.

Як ми вже говорили, кореневий CA вбудований безпосередньо в клієнтський пристрій, в ОС, в браузер або інше програмне забезпечення. Зміна кореневого CA веб-сайту не може контролювати. Тут потрібно оновлення на клієнті, чи то оновлення ОС чи софту.

Деякі кореневі CA існують вже дуже давно, йдеться про 20-25 років. Незабаром деякі з найстаріших кореневих CA наблизляться до кінця свого природного життя, їхній час майже минув. Для більшості з нас це взагалі не буде проблемою, тому що CA створили нові кореневі сертифікати, і вони вже багато років поширюються в усьому світі в оновленнях ОС і браузерів. Але якщо хтось дуже давно не оновлював ОС чи браузер, це своєрідна проблема.

Така ситуація виникла 30 травня 2020 року о 10:48:38 GMT. Це точний час, коли протух кореневий сертифікат AddTrust від центру сертифікації Comodo (Sectigo)

Він використовувався для перехресного підпису, щоб забезпечити сумісність із застарілими пристроями, у сховищі яких немає нового кореневого сертифіката USERTrust.

На жаль, проблеми виникли не тільки у застарілих браузерах, але й у небраузерних клієнтах на базі OpenSSL 1.0.x, LibreSSL та gnuTLS. Наприклад, у телевізійних приставках року, сервісі Heroku, у додатках Fortinet, Chargify, на платформі .NET Core 2.0 під Linux та багатьох інших.

Передбачалося, що проблема торкнеться лише застарілих систем (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9 тощо), оскільки сучасні браузери можуть задіяти другий кореневий сертифікат USERTRust. Але за фактом почалися збої у сотнях веб-сервісів, які використовували вільні бібліотеки OpenSSL 1.0.x та GnuTLS. Безпечне з'єднання перестало встановлюватися з виводом помилки про старіння сертифіката.

Наступний - Let's Encrypt

Ще один добрий приклад майбутньої зміни кореневого CA - центр сертифікації Let's Encrypt. Ще в квітні 2019 року вони планували перейти з ланцюжка Identrust на власний ланцюжок ISRG Root, але цього не відбулося.

Проблема застарілих кореневих сертифікатів. На черзі Let's Encrypt та розумні телевізори

"Через побоювання з приводу недостатнього поширення кореня ISRG на пристроях Android ми вирішили перенести дату переходу до власного кореня з 8 липня 2019 на 8 липня 2020", - сказано в офіційному повідомленні Let's Encrypt.

Дату довелося перенести через проблему, яку називають «розповсюдженням кореня» (root propagation), а точніше, відсутністю поширення кореня, коли кореневий CA не надто широко розповсюджений на всіх клієнтах.

Зараз Let's Encrypt використовує перехресно підписаний проміжний сертифікат із ланцюжком до кореня IdenTrust DST Root CA X3. Цей кореневий сертифікат було видано ще у вересні 2000 року і закінчується 30 вересня 2021 року. До цього часу Let's Encrypt планує перейти на власний самопідписаний корінь ISRG Root X1.

Проблема застарілих кореневих сертифікатів. На черзі Let's Encrypt та розумні телевізори

Корінь ISRG випущено 4 червня 2015 року. Після цього розпочався процес його затвердження як центр сертифікації, який завершився 6 серпня 2018 року. З цього моменту кореневий CA був доступний для всіх клієнтів через оновлення операційної системи або програмного забезпечення. Все, що потрібно було зробити, це встановити оновлення.

Але в цьому проблема.

Якщо ваш мобільний телефон, телевізор або інший пристрій не оновлювалися два роки — як він дізнається про новий кореневий сертифікат ISRG Root X1? А якщо його не встановити в системі, всі серверні сертифікати Let's Encrypt ваш пристрій визнає недійсними, як тільки Let's Encrypt перейде на новий корінь. А в екосистемі Android багато застарілих пристроїв, які давно не оновлювалися.

Проблема застарілих кореневих сертифікатів. На черзі Let's Encrypt та розумні телевізори
Екосистема Android

Ось чому Let's Encrypt відклав перехід до свого кореня ISRG і все ще використовує проміжну ланку, яка спускається до кореня IdenTrust. Але перехід у будь-якому випадку доведеться зробити. І датою зміни кореня призначено 8 липня 2020 року.

Для перевірки, що на вашому пристрої (телевізор, приставка або інший клієнт) встановлено корінь ISRG X1, відкрийте тестовий сайт https://valid-isrgrootx1.letsencrypt.org/. Якщо не з'являється попередження безпеки, то зазвичай все гаразд.

Let's Encrypt не єдиний, хто має вирішити проблему з переходом на новий корінь. Криптографію в інтернеті почали використовувати трохи більше 20 років тому, тому саме зараз настає момент закінчення дії багатьох кореневих сертифікатів.

З такою проблемою можуть зіткнутися власники розумних телевізорів, які багато років не оновлювали програмне забезпечення Smart TV. Наприклад, новий корінь GlobalSign R5 Root випущений в 2012 році, і після деякі старі Smart TV не можуть побудувати ланцюжок до нього, тому що цей кореневий CA у них просто відсутній. Зокрема ці клієнти не могли встановити захищене з'єднання з сайтом bbc.co.uk. Щоб вирішити проблему, адмінам ВВС довелося піти на хитрість: вони побудували для цих клієнтів альтернативну ланцюжок через додаткові проміжні сертифікати, задіявши старе коріння R3 Root и R1 Root, які ще не протухли

www.bbc.co.uk (Leaf) GlobalSign ECC OV SSL CA 2018 (Intermediate) GlobalSign Root CA - R5 (Intermediate) GlobalSign Root CA - R3 (Intermediate)

Це тимчасове рішення. Проблема нікуди не піде, якщо не оновити клієнтське програмне забезпечення. Розумний телевізор — це, по суті, обмежений у функціональності комп'ютер під Linux. І без оновлень його кореневі сертифікати неминуче протухнуть.

Це стосується всіх пристроїв, не лише телевізорів. Якщо у вас будь-який пристрій, який підключений до інтернету і який рекламували як «розумний» девайс, то проблема з сертифікатами, що протухли, майже напевно стосується його. Якщо пристрій не оновлюється, кореневе сховище CA з часом застаріє, і в кінцевому підсумку проблема спливе на поверхню. Коли виникне проблема, залежить від часу останнього оновлення кореневого сховища. Це може бути кілька років до дати реального випуску пристрою.

До речі, у цьому проблема, чому деякі великі медіаплатформи не можуть використати сучасні автоматизовані центри сертифікації типу Let's Encrypt, пише Скотт Хельме. Для розумних ТБ вони не підходять, і кількість коренів замала, щоб гарантувати підтримку сертифіката на застарілих пристроях. В іншому випадку, ТБ просто не зможе запустити сучасні стрімінгові сервіси.

Останній інцидент з AddTrust показав, що навіть великі IT-компанії не готові до того, що у кореневого сертифіката закінчується термін дії.

Вирішення проблеми лише одне — оновлення. Розробники розумних пристроїв повинні заздалегідь забезпечити механізм оновлення програмного забезпечення та кореневих сертифікатів. З іншого боку, виробникам невигідно забезпечувати роботу своїх пристроїв після закінчення терміну гарантії.

Проблема застарілих кореневих сертифікатів. На черзі Let's Encrypt та розумні телевізори


Джерело: habr.com

Додати коментар або відгук