Чипът OpenTitan с отворен код ще замени собствените корени на доверието на Intel и ARM

Чипът OpenTitan с отворен код ще замени собствените корени на доверието на Intel и ARM

Организация с идеална цел нисък RISC с Google и други спонсори 5 ноември 2019 г представени проект OpenTitan, който нарича „първият проект с отворен код за създаване на отворена, висококачествена чипова архитектура с корен на доверие (RoT) на хардуерно ниво.“

OpenTitan, базиран на RISC-V архитектура, е чип със специално предназначение за инсталиране на сървъри в центрове за данни и във всяко друго оборудване, където е необходимо да се осигури автентичност при зареждане, да се защити фърмуерът от промени и да се елиминира възможността за руткитове: това са дънни платки, мрежови карти, рутери, IoT устройства, мобилни джаджи и др.

Разбира се, подобни модули съществуват в съвременните процесори. Например, модулът Intel Hardware Boot Guard е основата на доверието в процесорите на Intel. Той проверява автентичността на UEFI BIOS чрез верига на доверие, преди да зареди операционната система. Но въпросът е доколко можем да се доверим на патентованите roots of trust, като се има предвид, че нямаме гаранция, че няма да има грешки в дизайна и няма начин да го проверим? Вижте статията „Довереното изтегляне на Шрьодингер. Intel Boot Guard" с описание на „как грешка, която е била клонирана от години в производството на няколко доставчици, позволява на потенциален нападател да използва тази технология, за да създаде скрит руткит в системата, който не може да бъде премахнат (дори с програмист).

Заплахата от компрометиране на оборудването във веригата за доставки е изненадващо реална: очевидно всеки любител електронен инженер може да запои грешка в дънната платка на сървъраизползвайки оборудване, струващо не повече от $200. Някои експерти подозират, че „организации с бюджети от стотици милиони долари могат да правят това в продължение на много години“. Въпреки че няма доказателства, теоретично е възможно.

„Ако не можете да се доверите на хардуерния буутлоудър, играта свърши“, Той говори Гавин Ферис, член на борда на директорите на lowRISC. - Няма значение какво прави операционната система - ако до момента, в който операционната система се зареди, вие сте компрометирани, тогава останалото е въпрос на технология. Вече сте готови."

Този проблем трябва да бъде решен от първата по рода си отворена хардуерна платформа OpenTitan (GitHub хранилище, документация, хардуерни спецификации). Отдалечаването от патентовани решения ще помогне за промяна на „мудната и погрешна RoT индустрия“, казва Google.

Самият Google започна да разработва Titan, след като откри операционната система Minix, вградена в чипове Intel Management Engine (ME). Тази сложна операционна система разшири повърхността на атаката по непредвидими и неконтролируеми начини. Google опитах да се отърва от Intel Management Engine (ME), но неуспешно.

Какъв е коренът на доверието?

Всеки етап от процеса на зареждане на системата проверява автентичността на следващия етап, като по този начин генерира верига на доверие.

Root of Trust (RoT) е хардуерно базирано удостоверяване, което гарантира, че източникът на първата изпълнима инструкция във веригата на доверие не може да бъде променен. RoT е основната защита срещу руткитове. Това е ключов етап от процеса на зареждане, който участва в последващото стартиране на системата - от BIOS до OS и приложения. Той трябва да проверява автентичността на всяка следваща стъпка за изтегляне. За целта на всеки етап се използва набор от цифрово подписани ключове. Един от най-популярните стандарти за защита на хардуерен ключ е TPM (Trusted Platform Module).

Чипът OpenTitan с отворен код ще замени собствените корени на доверието на Intel и ARM
Създаване на корен на доверие. По-горе е процес на зареждане в пет стъпки, който създава верига на доверие, започвайки с буутлоудъра в неизменна памет. Всяка стъпка използва публичен ключ за проверка на идентичността на следващия компонент, който ще бъде зареден. Илюстрация от книгата на Пери Лий „Архитектура на интернет на нещата“

RoT може да се стартира по различни начини:

  • зареждане на изображението и основния ключ от фърмуера или неизменна памет;
  • съхраняване на основния ключ в еднократна програмируема памет с помощта на битове за предпазители;
  • Зареждане на код от защитена област на паметта в защитено хранилище.

Различните процесори прилагат корена на доверието по различен начин. Intel и ARM
поддържат следните технологии:

  • ARM TrustZone. ARM продава патентован силиконов блок на производителите на чипове, който осигурява корен на доверие и други механизми за сигурност. Това отделя микропроцесора от несигурното ядро; работи с Trusted OS, защитена операционна система с добре дефиниран интерфейс за взаимодействие с несигурни компоненти. Защитените ресурси се намират в надеждното ядро ​​и трябва да бъдат възможно най-леки. Превключването между компоненти от различни типове се извършва с помощта на хардуерно превключване на контекста, което елиминира необходимостта от защитен софтуер за наблюдение.
  • Intel Boot Guard е хардуерен механизъм за проверка на автентичността на първоначалния блок за зареждане чрез криптографски средства или чрез процес на измерване. За да провери първоначалния блок, производителят трябва да генерира 2048-битов ключ, който се състои от две части: публична и частна. Публичният ключ се отпечатва на платката чрез „детониращи“ предпазители по време на производството. Тези битове са за еднократна употреба и не могат да се променят. Частната част на ключа генерира цифров подпис за последващо удостоверяване на етапа на изтегляне.

Платформата OpenTitan разкрива ключови части от такава хардуерна/софтуерна система, както е показано на диаграмата по-долу.

Чипът OpenTitan с отворен код ще замени собствените корени на доверието на Intel и ARM

Платформа OpenTitan

Разработката на платформата OpenTitan се управлява от организацията с нестопанска цел lowRISC. Инженерният екип е базиран в Кеймбридж (Великобритания), а основен спонсор е Google. Партньорите-основатели включват ETH Zurich, 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 на тази презентация.

Чипът OpenTitan с отворен код ще замени собствените корени на доверието на Intel и ARM
Титан чип в сървър на Google

Архитектурата на Titan преди беше собственост на Google, но сега става обществено достояние като проект с отворен код.

Първият етап от проекта е създаването на логичен RoT дизайн на ниво чип, включително микропроцесор с отворен код козирог с нисък RISC, криптографски процесори, хардуерен генератор на произволни числа, йерархии на ключове и памет за енергонезависимо и енергонезависимо съхранение, механизми за сигурност, I/O периферни устройства и защитени процеси на зареждане.

Google казва, че OpenTitan се основава на три ключови принципа:

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

„Настоящите чипове с корени на доверие са много патентовани. Те твърдят, че са сигурни, но в действителност вие го приемате за даденост и не можете да го проверите сами, казва Доминик Рицо, водещ специалист по сигурността за проекта Google Titan. „Сега за първи път е възможно да се осигури сигурност без сляпа вяра в разработчиците на патентован дизайн на корен на доверие. Така че основата е не само солидна, тя може да бъде проверена.“

Рицо добави, че OpenTitan може да се счита за „радикално прозрачен дизайн в сравнение с текущото състояние на нещата“.

Според разработчиците OpenTitan по никакъв начин не трябва да се счита за завършен продукт, тъй като разработката все още не е завършена. Те умишлено отвориха спецификациите и дизайна в средата на разработката, така че всеки да може да го прегледа, да даде информация и да подобри системата преди началото на производството.

За да започнете да произвеждате OpenTitan чипове, трябва да кандидатствате и да получите сертификат. Очевидно не се изискват хонорари.

Източник: www.habr.com

Добавяне на нов коментар