Sprzętowa ochrona IP w FPGA firmy Xilinx z wykorzystaniem SHA-256 [ALCATRAZ]
Prezentowany w artykule moduł Alcatraz stanowi projekt referencyjny zabezpieczający projekty implementowane w FPGA przed nieuprawnionym dostępem. System stosuje zabezpieczenie typu zapytanie-odpowiedź z szyfrowaniem SHA-256 (FIPS180-3) pomiędzy FPGA a układem uwierzytelniania DS28E15 firmy Maxim. Twórcy projektu udostępnili wzór PCB oraz pliki projektów.
Zautomatyzowane fabryki, urządzenia przemysłowe oraz medyczne często korzystają z wydajności i możliwości zapewnianych przez układy FPGA. Wszystkie te systemy są coraz silniej ze sobą połączone, co powoduje powstanie problemu ochrony własności intelektualnej implemenetowanej w FPGA. Zachodzi potrzeba ochrony własności intelektualnej oraz zabezpieczenia przed nieuprawnionym dostępem. Prezentowany w artykule moduł Alcatraz opracowali jak projekt referencyjny konstruktorzy firmy Maxim, został on opisany w nocie MAXREFDES34#. W projekcie użyto układ DS28E15, który pozwala zrealizować sprzętowe uwierzytelnianie z szyfrowaniem SHA-256 (FIPS180-3) na płytkach z FPGA firmy Xilinx, wyposażonych w złącza Pmod.
Układ DS28E15 komunikuje się z otoczeniem za pomocą interfejsu 1-Wire, dzięki czemu liczba zajętych wyprowadzeń FPGA jest minimalna. Kod referencyjny opisuje procesor SHA-256 połączony z układem nadrzędnym 1-Wire znajdującym się na FPGA w urządzeniu hosta, schemat blokowy rozwiązania pokazano na rysunku 1.
Rys. 1. Schemat blokowy systemu ochrony IP w FPGA na bazie płytki Alcatraz wraz z platformą projektową
Warstwa sprzętowa
Moduł Alcatraz łączy się z płytką FPGA za pośrednictwem 6-pinowego złącza Pmod, co widać na fotografii 2. Górna część obrazka przedstawia układ pinów złącza Pmod.
Fot. 2. Moduł Alcatraz jest montowany w zestawach z FPGA za pomocą złącza Pmod
Tabela 1. Lista obsługiwanych platform oraz portów
Zestaw | Port dla Alcatraz |
LX9 |
J5 |
MicroZed |
J5 |
W scenariuszach uwierzytelnienia symetrycznego, na przykład wykorzystujących SHA-256, ważna jest ochrona zarówno tajnego klucza układu uwierzytelniającego, jak i klucza używanego przez FPGA. Rozwiązanie symetryczne może być ryzykowane, jeżeli zabezpieczenie klucza FPGA jest niedostateczne. W celu zapewnienia ochrony, układ DS28E15 wykorzystuje technologię DeepCover, która chroni przed atakami inwazyjnymi i nieinwazyjnymi wymierzonymi w klucz. Projekt referencyjny zapewnia rozmaite techniki ochrony klucza FPGA.
Oprogramowanie dla platformy LX9
W tabeli 1 zostały wymienione platformy i porty obsługiwane przez udostępniony projekt referencyjny. Udostępnione oprogramowanie kolejno: oblicza funkcję skrótu, zapisuje dane do DS28E15 oraz dokonuje autoryzacji DS28E15. Kompletny kod źródłowy przyspiesza tworzenie projektu. Dokumentacja kodu znajduje się w plikach oprogramowania dla odpowiedniej platformy.
Oprogramowanie dla platformy MicroZed
Oprogramowania Alcatraz współpracuje również z zestawem MicroZed i procesorami ARM Cortex-A9 umieszczonymi z układzie Zynq typu system-on-chip firmy Xillinx.
Oprogramowanie pozwala na natychmiastowe podłączenie sprzętu. Jest ono napisane w języku C i stworzone przy użyciu środowiska programistycznego Xilinx opartego na Eclipse.
Funkcje oprogramowania są dokładnie takie same, jak dla platformy LX9.