Опенсорсний чіп OpenTitan замінить власні корені довіри Intel та ARM

Alex Alex 08 листопада 2019

Опенсорсний чіп OpenTitan замінить власні корені довіри Intel та ARM


Некомерційна організація lowRISC за участю Google і інших спонсорів 5 листопада 2019 року представила проект OpenTitan, який називає «першим опенсорсным проектом по створенню відкритої, якісної архітектури мікросхем з коренем довіри (RoT) на апаратному рівні».

OpenTitan на архітектуру RISC-V — мікросхема спеціального призначення для установки на сервери в дата-центрах і в будь-якому іншому обладнанні, де потрібно забезпечити автентичність завантаження, захистити прошивку від змін і виключити ймовірність руткітів: це материнські плати, мережеві карти, маршрутизатори, пристрої IoT, мобільні гаджети та ін

Звичайно, подібні модулі є в сучасних процесорах. Наприклад, апаратний модуль Intel Boot Guard є коренем довіри в процесорах Intel. Він по ланцюжку довіри веріфіцірует справжність UEFI BIOS перед завантаженням ОС. Але питання, наскільки ми можемо довіряти пропрієтарним коріння довіри з урахуванням того, що у нас немає гарантій відсутності помилок в дизайні, а перевірити його немає можливості? См. статтю «Довірена завантаження Шредінгера. Intel Boot Guard» з описом того, «як роками клонируемая помилка на виробництві кількох вендорів дозволяє потенційному зловмиснику використовувати цю технологію для створення в системі неудаляемого (навіть програматором) прихованого руткіта».

Погроза компрометації обладнання в ланцюжку поставок на подив реальна: судячи з усього, будь-електронник-любитель може впаяти жучок в материнську плату сервера, використовуючи обладнання вартістю не більше 200 доларів. Деякі експерти підозрюють, що «організації з бюджетом в сотні мільйонів доларів можуть займатися цим вже багато років». Хоча ніяких доказів немає, але теоретично таке можливо.

«Якщо ви не можете довіряти апаратного завантажувачу, гра закінчена, — говорит Гевін Ферріс (Gavin Ferris), член ради директорів lowRISC. — Неважливо, що робить операційна система — якщо до моменту завантаження операційної системи ви скомпрометовані, то інше справа техніки. З вами вже покінчено».

Цю проблему і повинна вирішити перша у своєму роді відкрита апаратна платформа OpenTitan (репозиторій GitHub, документація, апаратні специфікації). Відхід від пропрієтарних рішень дозволить змінити «неповоротку і недосконалу індустрію RoT», вважає Google.

Сама компанія Google приступила до розробки Titan, виявивши операційну систему Minix, вбудовану в чіпи Intel Management Engine (ME). Ця складна ОС непередбачуваним і некерованим чином розширювала поверхню атаки. Google спробувала позбавитися від Intel Management Engine (ME), але невдало.

Що таке корінь довіри?


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

Корінь довіри (Root of Trust, RoT) — це апаратна автентифікація, яка гарантує, що джерело першої виконуваної інструкції в ланцюжку довіри не підлягає зміні. RoT є базовою захистом від руткітів. Це ключовий етап процесу завантаження, який бере участь в подальшому запуску системи — від BIOS до ОС і додатків. Він повинен перевіряти справжність кожного наступного етапу завантаження. Для цього на кожному етапі використовується набір ключів з цифровим підписом. Одним з найбільш популярних стандартів апаратної захисту ключів є TPM (Trusted Platform Module, tpm).


Встановлення кореня довіри. Вище представлена пятиэтапная завантаження, яка формує ланцюжок довіри і починається з завантажувача знаходиться в фіксованої пам'яті. На кожному етапі використовується відкритий ключ, за допомогою якого засвідчується справжність наступного завантаження. Ілюстрація з книги Перрі Чи «Архітектура інтернету речей»

RoT може запускатися різними способами:

  • завантаження образу і кореневого ключа з прошивки або фіксованої пам'яті;
  • зберігання кореневого ключа одноразової програмованої пам'яті з допомогою фьюз-біт;
  • завантаження коду з захищеній області пам'яті в захищене сховище.

У різних процесорах корінь довіри реалізований по-різному. Intel та ARM
підтримують такі технології:

  • ARM TrustZone. ARM продає виробникам чіпів пропріетарний кремнієвий блок, який надає корінь довіри і інші механізми безпеки. Таким чином мікропроцесор відокремлюється від небезпечного ядра; він виконує Trusted OS — захищену операційну систему з чітко певним інтерфейсом взаємодії з небезпечними компонентами. Захищені ресурси знаходяться в надійному ядрі і повинні бути як можна більш легковажними. Перехід між компонентами різного типу робиться з допомогою апаратного перемикання контексту, завдяки чому відпадає необхідність в безпечному моніторингу.
  • Intel Boot Guard — це апаратний механізм для перевірки початкового блоку завантаження криптографічними засобами або за допомогою процесу вимірювання. Для перевірки початкового блоку виробник повинен згенерувати 2048-бітний ключ, який складається з двох частин: відкритої і закритої. Відкритий ключ друкується на платі шляхом «детонації» фьюз-бітів на етапі виробництва. Ці біти є одноразовими і не підлягають зміні. Закрита частина ключа генерує цифровий підпис для подальшого посвідчення автентичності етапу завантаження.

Платформа OpenTitan відкриває ключові частини такої апаратно-програмної системи, як показано на діаграмі нижче.



Платформа OpenTitan


Розробка платформи OpenTitan йде під управлінням некомерційної організації lowRISC. Колектив інженерів базується в Кембріджі (Великобританія), а головним спонсором є Google. Партнери-засновники включають Швейцарської вищої технічної школи Цюріха, G+D Mobile Security, Nuvoton Technology і Western Digital.

Google опублікувала анонс проекту в корпоративному блозі Google Open Source. Компанія заявила, що OpenTitan прагне надати високоякісні рекомендації щодо дизайну та інтеграції RoT для використання в серверах центрів обробки даних, сховищах, периферійних пристроях і в чому іншому».

Корінь довіри — перша ланка в ланцюжку довіри на найнижчому рівні в довіреному обчислювальному модулі, якому завжди повністю довіряє система.

RoT критично важливий для додатків, включаючи інфраструктури відкритих ключів (PKI). Це фундамент системи безпеки, на якій заснована складна система, така як додаток IoT або центр обробки даних. Тому зрозуміло, чому Google підтримує цей проект. Зараз у неї 19 центрів обробки даних на п'яти континентах. Дата-центри, сховища і критично важливі програми представляють велику поверхню атаки, і для захисту цієї інфраструктури Google спочатку розробила власний корінь довіри на мікросхемі Titan.

Пропрієтарний чіп Titan для дата-центрів Google був вперше представлений у березні 2017 року на конференції Google Cloud Next. «Наші комп'ютери проводять криптографічну перевірку кожного пакету, а потім вирішують, чи варто видавати йому доступ до ресурсів мережі. Titan інтегрується в цей процес і пропонує додаткові шари захисту», — розповідали представники Google на тій презентації.


Мікросхема Titan сервері Google

Архітектура Titan була власністю Google, але зараз стає суспільним надбанням в рамках опенсорсного проекту.

Перший етап проекту — створення логічної дизайну RoT на рівні мікросхеми, включаючи опенсорсний мікропроцесор lowRISC ibex, криптографічні процесори, апаратний генератор випадкових чисел, ієрархії ключів і пам'яті для незалежного і енергонезалежного зберігання, захисні механізми, периферійні пристрої вводу-виводу і безпечні процеси завантаження.

Google говорить, що OpenTitan базується на трьох ключових принципах:

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

«Нинішні мікросхеми з корінням довіри дуже пропрієтарні. Вони заявляють про безпеки, але в реальності ви приймаєте це на віру і самі не можете їх перевірити, — говорить Домінік Ріццо (Dominic Rizzo), провідний фахівець з безпеки проекту Google Titan. — Тепер вперше з'являється можливість забезпечити безпеку без сліпої віри розробникам пропрієтарного дизайну коренів довіри. Так що фундамент не просто міцний, його можна перевірити».

Ріццо додав, що OpenTitan можна вважати «радикально прозорим дизайном, порівняно із нинішнім станом речей».

За словами розробників, OpenTitan ні в якому разі не слід розглядати як готовий продукт, тому що розробка ще не закінчена. Вони спеціально відкрили специфікації та дизайн в середині розробки, щоб всі могли перевірити його, внести свій внесок і удосконалити систему перед початком виробництва.

Щоб почати виробництво чіпів OpenTitan, потрібно подати заявку й пройти сертифікацію. Судячи з усього, ніяких ліцензійних відрахувань не потрібно.

Source: habr.com

Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.