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.

Do pobrania

O autorze