Ochrona własnosci intelektualnej projektów w układach FPGA

Transkrypt

Ochrona własnosci intelektualnej projektów w układach FPGA
Ochrona własności intelektualnej
projektów w układach FPGA
poprzez szyfrowanie danych konfiguracyjnych
(Na przykładzie projektowania układów sterujacych)
˛
Grzegorz Łabiak i Marek W˛egrzyn
Instytut Informatyki i Elektroniki
Uniwersytet Zielonogórski
17 marca 2015
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
1 / 16
Plan wystapienia
˛
1
Wprowadzenie
2
Projektowanie w technologii FPGA
3
Kryptograficzna ochrona własności intelektualnej
4
Przykład
5
Podsumowanie
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
2 / 16
Wprowadzenie – układy FPGA (1/2)
Układy FPGA stanowia˛ wydajne środowisko do realizacji układów
cyfrowych ogólnego przeznaczenia
W łatwy sposób moga˛ być programowane i przeprogramowywane przez
użytkownika
Szczególnie dobrze nadaja˛ sie˛ do zastosowań w układach sterowania
Nowoczesne układy oferuja˛ kryptograficzna˛ ochrone˛ projektu
Jest to szczególnie istotne w przypadku realizacji projektów objetych
˛
zastrzeżeniami patentowanymi, jak na przykład:
specjalizowane algorytmy
sterowanie reaktorem chemicznym, gdzie przebieg procesu jest chroniony
przed konkurencja˛
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
3 / 16
Wprowadzenie – układy FPGA (2/2)
Ang. Field Programmable Gate Array
Układy bramek programowane przez użytkownika (poza fabryka,
˛
„w polu”)
matryca
połączeniowa
kanały
łączące
pionowe
bloki I/O
blok logiczny
kanały
łączące
poziome
Układ XC5VLX50T: matryca 120 CLB (Configurable Logic Block)
28,800 6-wejściowych LUT (Look-Up Table)
480 KB rozproszonej pamieci
˛ RAM
240 KB w rejestrach przesuwnych
28,800 przerzutników
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
4 / 16
Ścieżka projektowa
Modelowanie koncepcyjne
Pierwsze ujecie
˛
formalne
FSM
Sieć Petriego
Maszyna stanów (diagram statechart)
Jezyki
˛
HDL – jako pośrednik miedzy
˛
notacjami graficznymi a systemami
CAD
Synteza – lista połacze
˛ ń dostepnych
˛
zasobów sprz˛etowych (bramki,
przerzutniki itp.)
Implementacja – odwzorowanie w konkretne urzadzenie
˛
FPGA, plik
bitstream
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
5 / 16
Ścieżka projektowa – diagram
Modelowanie koncepcyjne
(np. UML)
Pierwsze ujęcie formalne
FSM
Sieć
Petriego
Maszyna stanowa
(statecharts)
Diagram
aktywności
Języki HDL
VHDL
Verilog
Xilinx ISE
Synteza
(lista połączeń)
Implementacja
(odwzorowanie w urządzenie)
program iMPACT
plik .bit
plik .nky
GA
FP
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
6 / 16
Ochrona zasobów sprz˛etowych w środowisku Xilinx
Kryptograficzny system ochrony układu Virtex-5 składa sie˛ dwu cz˛eści:
programistycznej ochrony pliku konfiguracyjnego (bitstream)
ochrony sprz˛etowej wyróżnionej dedykowanej pamieci
˛ a˛ dla przechowywania
klucza szyfrujacego
˛
Szyfrowanie pliku z danymi konfiguracyjnymi przeprowadzane jest
zgodnie ze standardem AES
Klucz szyfrujacy
˛ ma 256-bitów, co daje daje 1, 1 × 1077 możliwych
kombinacji
Zapisanie klucza w dedykowanej pamieci
˛ układu podtrzymywanego
osobnym zasilaniem (od 1V do 3,6V)
Bezpieczny transfer zaszyfrowanych danych miedzy
˛
komputerem badź
˛
pamieci
˛ a˛ a układem FPGA
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
7 / 16
Akademicki system HiCoS
System automatycznego projektowania hierarchicznych współbieżnych
sterowników binarnych (HCFSM)
Wejściem jest tekstowa reprezentacja maszyny stanowej (statecharts,
UML)
Wewnetrznie
˛
zachowanie sterownika opisane jest równaniami logicznymi
reprezentowanymi przez BDD (binarne diagramy decyzyjne)
Wyjściem jest plik w VHDL, zawierajacy
˛ przerzutniki definiujace
˛ stan
globalny wraz z ich funkcjami wzbudzeń (RTL)
HiCoS system
Statecharts
(SSF file)
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Boolean
Equations
(BDDs)
Symbolic Set of States
(characteristic function)
VHDL
(flip-flops and
excitation functions)
VHDL
(RTL Level)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
8 / 16
Sterownik z HiCoS jako układ cyfrowy
Układ jest układem synchronicznym (sygnał clock)
Sterownik składa sie˛ z przerzutników, których złożenie definiuje stan
globalny sterownika
Przerzutniki sa˛ wzbudzane funkcjami wzbudzeń zbudowanych na
podstawie diagramu maszyny stanowej i zasad odpaleń tranzcycji
Funkcje wzbudzeń sa˛ uzależnione od wyjść przerzutników
Wyjście z układu ustalane jest przez funkcje wyjściowe
HiCoS controller
input
signals
Excitation
functions
Flip-flop
Register
Output
functions
output
signals
clock
reset
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
9 / 16
Obrotowe stanowisko do wiercenia – schemat ideowy
Stół obrotowy z trzema stanowiska obróbczymi
1. stanowisko: obrabiany element jest mocowany
2. stanowisko: obrabiany element jest wiercony
3. stanowisko: obrabiany element jest sprawdzany
Obróbka elementu powtarza sie˛ cyklicznie
Drilling
station
Element
Rotary
table
Completed
element out
Te
s
t
Raw
element in
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
10 / 16
Obrotowe stanowisko do wiercenia – diagram statechart
Start1
!Rp*X1
Start
A1 - input
Checking4
F !F
Forward5
do / {Y11}
X11
Backward6
do / {Y12}
X12
Rp*X1
Machining2
A2 - drilling
Checking8
D !D
Clamping9
do / {Y21}
X21
Drilling10
do / {Y22}
X22
DrillBwd11
do / {Y23}
X23
ChuckBwd12
do / {Y24}
X24
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Rotation3
do / {Rt}
A3 - testing
Checking14
T !T
LowerTester15
do / {Y31}
X31
RiseTester16
do / {Y32}
X32
FreeElem17
do / {Y33}
X33
RemElem18
do / {Y34}
X34
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
11 / 16
Praca w środowisku ISE
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
12 / 16
Ustawienia środowiska ISE do zakodowania pliku bitstream
Zawartość pliku .nky – klucz szyfrujacy
˛ w zapisie szesnastkowym
Device xc5vlx50tff1136;
Key 0 4B424253323031354B424253323031354B424253323031354B42425332303135;
Key StartCBC 4B424253323031354B42425332303135;
Dane szyfrujace
˛ w postaci znaków ASCII
Key 0 - KBBS2015KBBS2015KBBS2015KBBS2015
Key StartCBC KBBS2015KBBS2015
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
13 / 16
Porównanie plików bitstream: jawny i zakodowany
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
14 / 16
Praca z programem iMPACT
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
15 / 16
Podsumowanie
Kryptograficzna ochrona projektu w układach FPGA odbywa sie˛ poprzez
programistyczna˛ ochrone˛ pliku konfiguracyjnego (bitstream)
ochrone˛ sprz˛etowa˛ wyróżnionej pamieci
˛ dla przechowywania klucza
szyfrujacego
˛
Kodowanie pliku bitstream chroni projekt przed:
nieautoryzowana˛ analiza i modyfikacja˛ zarówno w układzie
(pamieć
˛ klucz szyfrujacego)
˛
jak i poza nim (zaszyfrowany
projekt)
Grzegorz Łabiak i Marek W˛egrzyn (UZ IIE)
Ochrona IP w FPGA poprzez szyfrowanie danych konfiguracyjnych
17 marca 2015
16 / 16

Podobne dokumenty