
Organizacja non-profit przy udziale Google i innych sponsorów 5 listopada 2019 roku projekt , który nazywa „pierwszym projektem open source do tworzenia otwartej, jakościowej architektury układów scalonych z zaufanym rdzeniem (RoT) na poziomie sprzętowym”.
OpenTitan na architekturze RISC-V to układ scalony specjalnego przeznaczenia do instalacji na serwerach w centrach danych oraz w każdym innym sprzęcie, w którym konieczne jest zapewnienie autentyczności rozruchu, ochrona oprogramowania układowego przed zmianami i wykluczenie ryzyka rootkitów: m.in. płyty główne, karty sieciowe, routery, urządzenia IoT, mobilne gadżety i inne.
Oczywiście, tego typu moduły są obecne w nowoczesnych procesorach. Na przykład sprzętowy moduł Intel Boot Guard stanowi zaufany rdzeń w procesorach Intel. Weryfikuje on pochodzenie UEFI BIOS na podstawie łańcucha zaufania przed załadowaniem systemu operacyjnego. Ale pojawia się pytanie, na ile możemy ufać zastrzeżonym rdzeniom zaufania, biorąc pod uwagę, że nie mamy gwarancji braku błędów w projekcie, a ich sprawdzenie jest niemożliwe? Zobacz artykuł z opisem tego, „jak przez lata klonowany błąd na produkcji kilku dostawców pozwala potencjalnemu złoczyńcy wykorzystać tę technologię do stworzenia w systemie nieusuwalnego (nawet przez programatora) ukrytego rootkita”.
Zagrożenie kompromitacji sprzętu w łańcuchu dostaw jest zaskakująco realne: podobno każdy elektronik-amator , używając sprzętu wartego nie więcej niż 200 dolarów. Niektórzy eksperci podejrzewają, że „organizacje z budżetem w setkach milionów dolarów mogą zajmować się tym od wielu lat”. Choć nie ma żadnych dowodów, to teoretycznie jest to możliwe.
„Jeśli nie możesz zaufać sprzętowemu bootloaderowi, gra jest skończona, — Gavin Ferris, członek zarządu lowRISC. — Nie ma znaczenia, co robi system operacyjny — jeśli w momencie załadowania systemu operacyjnego jesteś skompromitowany, to reszta to kwestia techniki. Jesteś już stracony.”
Ten problem ma rozwiązać pierwsza w swoim rodzaju otwarta platforma sprzętowa OpenTitan (, , ). Odejście od zastrzeżonych rozwiązań pozwoli zmienić „niezgrabną i niedoskonałą branżę RoT”, uważa Google.
Firma Google sama rozpoczęła rozwój Titan, odkrywając system operacyjny Minix, wbudowany w chipy Intel Management Engine (ME). Ten skomplikowany system operacyjny w nieprzewidywalny i niekontrolowany sposób zwiększał powierzchnię ataku. Google , ale bezskutecznie.
Czym jest korzeń zaufania?
Każdy etap procesu uruchamiania systemu weryfikuje autentyczność następnego etapu, tworząc w ten sposób łańcuch zaufania.
Korzeń zaufania (Root of Trust, RoT) to sprzętowa weryfikacja autentyczności, która zapewnia, że źródło pierwszej wykonywanej instrukcji w łańcuchu zaufania nie może zostać zmienione. RoT stanowi podstawową ochronę przed rootkitami. Jest to kluczowy etap procesu uruchamiania, który bierze udział w dalszym rozruchu systemu — od BIOS-u po system operacyjny i aplikacje. Musi on weryfikować autentyczność każdego kolejnego etapu rozruchu. W tym celu na każdym etapie używany jest zestaw kluczy z podpisem cyfrowym. Jednym z najpopularniejszych standardów ochrony sprzętowej kluczy jest TPM (Trusted Platform Module, zaufany moduł platformy).

Ustanowienie korzenia zaufania. Powyżej przedstawiono pięcioetapowy proces uruchamiania, który tworzy łańcuch zaufania i zaczyna się od bootloadera umieszczonego w pamięci niezmiennej. Na każdym etapie używany jest klucz publiczny, za pomocą którego potwierdza się autentyczność kolejnego komponentu uruchamianego. Ilustracja z książki Perry Lee
RoT może być uruchamiane na różne sposoby:
- ładowanie obrazu oraz klucza głównego z firmware lub pamięci niezmiennej;
- przechowywanie klucza głównego w jednokrotnie programowalnej pamięci za pomocą bitów bezpiecznika;
- ładowanie kodu z chronionego obszaru pamięci do zabezpieczonego składu.
W różnych procesorach korzeń zaufania jest realizowany w różny sposób. Intel i ARM
obsługują następujące technologie:
- ARM TrustZoneARM sprzedaje producentom chipów proprietary blok krzemowy, który zapewnia podstawowe zaufanie i inne mechanizmy bezpieczeństwa. W ten sposób mikroprocesor oddziela się od niebezpiecznego jądra; wykonuje Trusted OS — zabezpieczony system operacyjny z wyraźnie określonym interfejsem do komunikacji z niebezpiecznymi komponentami. Zabezpieczone zasoby znajdują się w zaufanym jądrze i powinny być jak najlżejsze. Przejście między komponentami różnego typu odbywa się za pomocą sprzętowego przełączania kontekstu, co eliminuje konieczność używania bezpiecznego oprogramowania do monitorowania.
- Intel Boot Guard to mechanizm sprzętowy do weryfikacji autentyczności początkowego bloku rozruchowego za pomocą kryptograficznych środków lub procesu pomiaru. Aby zweryfikować początkowy blok, producent musi wygenerować 2048-bitowy klucz składający się z dwóch części: publicznej i prywatnej. Klucz publiczny jest drukowany na płycie poprzez 'detonację' bitów bezpiecznych w trakcie produkcji. Bity te są jednorazowe i nie mogą być zmieniane. Prywatna część klucza generuje podpis cyfrowy do późniejszej weryfikacji etapu rozruchu.
Platforma OpenTitan odsłania kluczowe części takiego systemu sprzętowo-programowego, jak pokazano na poniższym diagramie.

Platforma OpenTitan
Rozwój platformy OpenTitan odbywa się pod patronatem organizacji non-profit lowRISC. Zespół inżynierów ma siedzibę w Cambridge (Wielka Brytania), a głównym sponsorem jest Google. Współtwórcami są Swiss Federal Institute of Technology Zurich, G+D Mobile Security, Nuvoton Technology oraz Western Digital.
Google projektu na korporacyjnym blogu Google Open Source. Firma afirmuje, że OpenTitan dąży do 'dostarczenia wysokiej jakości rekomendacji dotyczących projektowania i integracji RoT do zastosowania w serwerach centrów danych, magazynach, urządzeniach peryferyjnych i wielu innych'.
Podstawowe zaufanie to pierwszy ogniwo w łańcuchu zaufania na najniższym poziomie w zaufanym module obliczeniowym, któremu system zawsze w pełni ufa.
RoT jest krytycznie ważny dla aplikacji, w tym infrastruktury kluczy publicznych (PKI). To fundament systemu bezpieczeństwa, na którym oparta jest złożona struktura, taka jak aplikacja IoT czy centrum danych. Dlatego zrozumiałe jest, dlaczego Google wspiera ten projekt. Obecnie posiada 19 centrów danych na pięciu kontynentach. Centra danych, magazyny i krytycznie ważne aplikacje stanowią rozległą powierzchnię ataku, a aby chronić tę infrastrukturę, Google pierwotnie stworzyło własny root zaufania na chipie Titan.
dla centrów danych Google po raz pierwszy zaprezentowano na konferencji Google Cloud Next. 'Nasze komputery przeprowadzają kryptograficzną weryfikację każdego pakietu oprogramowania, a następnie decydują, czy przyznać mu dostęp do zasobów sieciowych. Titan integruje się w ten proces, oferując dodatkowe warstwy ochrony', mówili przedstawiciele Google podczas tej prezentacji.

Chip Titan w serwerze Google
Architektura Titan była własnością Google, ale teraz staje się dobrem publicznym w ramach projektu otwartego źródła.
Pierwszym etapem projektu jest stworzenie logicznego projektu RoT na poziomie chipu, w tym otwarty procesor , kryptograficzne procesory, sprzętowy generator liczb losowych, hierarchie kluczy oraz pamięci do trwałego i nietrwałego przechowywania, mechanizmy zabezpieczeń, urządzenia wejścia-wyjścia oraz bezpieczne procesy uruchamiania.
Google podaje, że OpenTitan oparty jest na trzech kluczowych zasadach:
- każdy ma możliwość zweryfikowania platformy i wniesienia swojego wkładu;
- zwiększona elastyczność dzięki otwartemu bezpiecznemu projektowi, który nie jest blokowany przez ograniczenia dostawców;
- jakość zapewniona nie tylko przez sam projekt, ale również referencyjny firmware i dokumentację.
„Obecne układy z korzeniami zaufania są bardzo zamknięte. Twierdzą, że są bezpieczne, ale w rzeczywistości musisz w to uwierzyć i nie możesz ich zweryfikować – mówi Dominic Rizzo, wiodący specjalista ds. bezpieczeństwa projektu Google Titan. – Teraz po raz pierwszy pojawia się możliwość zapewnienia bezpieczeństwa bez ślepego zaufania do projektantów zamkniętych korzeni zaufania. Fundament jest więc nie tylko mocny, ale można go także zweryfikować.”
Rizzo dodał, że OpenTitan można uznać za „drastycznie przejrzysty projekt w porównaniu do obecnej sytuacji.”
Według deweloperów, OpenTitan nie powinien być w żadnym wypadku uważany za gotowy produkt, ponieważ prace nad nim jeszcze nie zostały zakończone. Specjalnie udostępnili specyfikacje i projekt w połowie procesu, aby każdy mógł to zweryfikować, przyczynić się do rozwoju i udoskonalić system przed rozpoczęciem produkcji.
Aby rozpocząć produkcję chipów OpenTitan, należy złożyć wniosek i przejść certyfikację. Z tego, co wiadomo, nie są wymagane żadne opłaty licencyjne.
Źródło: habr.com
