Android 14 може поставлятися з оновлюваними кореневими сертифікатами

Android 14 може поставлятися з оновлюваними кореневими сертифікатами, і ця стаття пояснює, чому це важливо.

Кореневі сертифікати є основою інфраструктури відкритих ключів (PKI), і їх підписують надійні центри сертифікації, або CA. Браузери, програми та інші програми мають попередньо запакований кореневий каталог, який означає, що ці сертифікати надійний. Якщо ви відвідуєте веб-сайт, який підтримує HTTPS, але не використовує сертифікат, підписаний центром сертифікації в кореневому сховищі вашого браузера, веб-сайт буде позначено як незахищений. Як правило, програми та браузери можуть оновлювати свої сертифікати, але ваш телефон не може, якщо це не через оновлення OTA. Це може змінитися з Android 14, відповідно до Еспер.

Протягом багатьох років було кілька страхів, пов’язаних із сертифікатами, і це через те, що ми покладаємося на них як на ядро ​​ланцюжка довіри, коли ми відвідуємо веб-сайти. Тут на XDA, наш сертифікат підписаний Let's Encrypt, некомерційною ЦС. Їх сертифікат підписаний дослідницькою групою безпеки в Інтернеті, і саме цей ланцюжок довіри гарантує, що ваше підключення до цього веб-сайту є безпечним і безпечним. Те саме стосується будь-якого іншого веб-сайту, який ви відвідуєте, який використовує HTTPS.

Кожна операційна система має власне вбудоване кореневе сховище, і Android нічим не відрізняється. Ви можете переглянути цей кореневий магазин на своєму смартфоні Android, перейшовши до розділу безпеки та конфіденційності в налаштуваннях свого пристрою. Далі все залежатиме від типу пристрою, який ви використовуєте, але на знімках екрана нижче показано, де він знаходиться на OneUI 5.

Справа в тому, що навіть цей кореневий магазин не є вичерпним. Програми можуть використовувати та довіряти своєму власному кореневому сховищу (що робить Firefox), і вони можуть прийняти лише це певні сертифікати (так звані закріплення сертифікатів), щоб уникнути Man-in-the-Middle (MITM) напади. Користувачі можуть установлювати власні сертифікати, але розробникам додатків потрібно дозволити своїм додаткам використовувати ці сертифікати ще з Android 7.

Чому важливо мати оновлювані кореневі сертифікати

Сертифікати Let's Encrypt перехресно підписані Групою досліджень безпеки в Інтернеті, a багато Інтернету залежить від безпеки ISRG. Якщо ISRG втратить контроль над своїм закритим ключем (наприклад, якщо його вкрадуть), тоді ISRG доведеться відкликати ключ. Залежно від того, як компанії відреагують, може статися так, що деякі частини Інтернету стануть недоступними для пристроїв, які не мають оновлюваних кореневих сертифікатів. Хоча це абсолютно катастрофічний кошмарний сценарій (і суто гіпотетичний), це саме той сценарій, якого Google хоче уникнути. Ось чому те, що зараз відбувається з TrustCor, може сигналізувати Google про те, що настав час додати оновлювані кореневі сертифікати в Android.

Для контексту, TrustCor є одним із таких центрів сертифікації, який потрапив під пильну увагу після того, як дослідники стверджували, що він мав тісні зв’язки з американським військовим підрядником. TrustCor не втратив свій закритий ключ, але він має втратили довіру багатьох компаній, яким потрібно вирішити, які сертифікати вони включають у свої кореневі сховища. Ці дослідники стверджували, що американський військовий підрядник TrustCor був близький, платив розробникам за розміщення шкідливих програм для збору даних у додатках для смартфонів. У PKI довіра — це все, і TrustCor втратив цю довіру, коли ці звинувачення з’явилися. Відтоді такі компанії, як Google, Microsoft і Mozilla, відмовилися від TrustCor як центру сертифікації. Видалення сертифікатів TrustCor із кореневого сховища Android вимагатиме оновлення через OTA, і поки фіксація вже виконана зроблено в AOSP, ймовірно, мине багато часу, поки ви чи я справді отримаємо оновлення, яке видаляє сертифікати TrustCor з наших пристроїв.

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

Рішення: Project Mainline

Якщо ви знайомі з Project Mainline, ви вже бачите, як це може допомогти вирішити проблему. Google використовує модулі Mainline, які надаються через структуру Google Play Services і Google Play Store. Кожен модуль Mainline поставляється як файл APK, файл APEX або файл APK-in-APEX. Коли оновлюється модуль Mainline, користувач бачить на своєму пристрої сповіщення «Оновлення системи Google Play» (GPSU). По суті, для доставки оновлень критично важливих компонентів Google обійшов необхідність чекати, поки OEM розгорне оновлення, вирішивши виконати це завдання самостійно. Bluetooth і Ultra-wideband є двома основними модулями Mainline, якими керує Google.

Відповідно до фіксувати на AOSP Gerrit (помічено Еспер), Conscrypt, модуль Mainline, який забезпечує реалізацію TLS Android, підтримуватиме оновлювані кореневі сертифікати в майбутньому оновленні. Це означатиме, що сертифікати можна буде видалити (або навіть додати) через оновлення системи Google Play Project Mainline, що забезпечує набагато швидший процес, якщо інша ситуація, подібна TrustCor (або гірша), трапиться в майбутнє. Незрозуміло, коли це стане доступним, але ймовірно, що воно з’явиться на Android 14. Технічно можливо, що Google захоче проштовхнути його з Android 13 QPR2, але це принесе користь лише користувачам Google Pixel, доки Android 14 все одно не досягне всіх інших наступного року. Це тому, що інші OEM-виробники зазвичай не розгортають оновлення QPR.

Основна причина цього полягає в тому, що Google може контролювати інший важливий аспект безпеки пристрою, не покладаючись на OEM-виробників, які просувають оновлення. Наразі для оновлення сертифікатів потрібен OTA, але в екстреній ситуації кожен день, коли користувачі не мають оновлення, може мати значення. Використання Project Mainline для забезпечення того, щоб користувачі могли вчасно отримувати важливі оновлення сертифікатів, якщо вони коли-небудь знадобляться, — безперечно бажана зміна.


Джерело: Еспер