Znak wodny sprzętu
Sprzętowy znak wodny , znany również jako znak wodny rdzenia IP to proces osadzania ukrytych znaków jako atrybutów projektowych wewnątrz samego projektu sprzętu lub własności intelektualnej. Sprzętowy znak wodny może reprezentować znak wodny rdzeni DSP (powszechnie stosowanych w urządzeniach elektroniki użytkowej) lub obwodów kombinowanych/sekwencyjnych. Obie formy sprzętowego znaku wodnego są bardzo popularne. W znaku wodnym DSP Core tajny znak jest osadzony w elementach logicznych samego rdzenia DSP. DSP Core Watermark zwykle wszczepia ten tajny znak w postaci solidnego podpisu w projekcie RTL lub podczas projektu syntezy wysokiego poziomu (HLS). Proces znakowania wodnego rdzenia DSP wykorzystuje strukturę syntezy wysokiego poziomu i wszczepia tajny znak w jednej (lub kilku) fazach syntezy wysokiego poziomu, takich jak planowanie, alokacja i wiązanie. DSP Core Watermarking jest wykonywany w celu ochrony rdzenia DSP przed zagrożeniami sprzętowymi, takimi jak piractwo własności intelektualnej, fałszerstwa i fałszywe roszczenia własności. Niektóre przykłady rdzeni DSP to filtr FIR, filtr IIR, FFT, DFT, JPEG, HWT itp. Kilka najważniejszych właściwości procesu znakowania wodnego rdzenia DSP to: (a) Niski koszt osadzania (b) Tajny znak (c ) Krótki czas tworzenia (d) Duża tolerancja manipulacji (e) Tolerancja błędów.
Proces znakowania wodnego sprzętu
Znak wodny sprzętu lub rdzenia IP w kontekście rdzeni DSP/multimedialnych znacząco różni się od znaku wodnego obrazów/treści cyfrowych. Rdzenie IP są zwykle złożone pod względem rozmiaru i natury, a zatem wymagają wysoce wyrafinowanych mechanizmów do wszczepiania podpisów w ich projekcie bez zakłócania funkcjonalności. Każda niewielka zmiana w funkcjonalności rdzenia IP sprawia, że proces sprzętowego znakowania wodnego staje się daremny. Taka jest wrażliwość tego procesu. Sprzętowe znakowanie wodne można wykonać na dwa sposoby: (a) Jednofazowe znakowanie wodne, (b) Wielofazowe znakowanie wodne.
Jednofazowy proces znakowania wodnego
Jak sama nazwa wskazuje, w jednofazowym procesie znakowania wodnego tajne znaki w postaci dodatkowych ograniczeń są wstawiane w określonej fazie poziomu abstrakcji projektu. Wśród wszystkich poziomów abstrakcji projektu w automatyzacji projektowania elektronicznego wstawianie ograniczeń związanych ze znakami wodnymi w syntezie wysokiego poziomu jest zawsze korzystne, zwłaszcza tam, gdzie aplikacje mają złożone algorytmy (takie jak cyfrowy procesor sygnału , procesor multimediów ). Faza alokacji rejestrów syntezy wysokiego poziomu jest jednym z popularnych miejsc, w których wstawiane są jednofazowe ograniczenia znaku wodnego. Przeważnie tajne znaki są wstawiane w fazie alokacji rejestru przy użyciu koncepcji kolorowania wykresów , gdzie każde dodatkowe ograniczenie jest dodawane jako dodatkowa krawędź grafu. Ponadto dodatkowe ograniczenia są odwzorowywane za pomocą zakodowanej zmiennej w celu zapewnienia kolejnej warstwy bezpieczeństwa. W procesie kodowania binarnego sygnatura jest dostarczana w postaci 0 i 1; gdzie każda cyfra wskazuje zdekodowane ograniczenia. W procesie kodowania wielu zmiennych sygnatura jest dostarczana w postaci czterech różnych zmiennych, a mianowicie. „ja”, „T”, „ja”, „!”.
Wielofazowy proces znakowania wodnego
Jak sama nazwa wskazuje, w wielofazowym procesie znakowania wodnego dodatkowe ograniczenia są wprowadzane w wielu fazach określonego poziomu abstrakcji projektu. Na przykład w syntezie wysokiego poziomu planowanie, alokacja sprzętu i alokacja rejestru są używane do wstawiania znaku wodnego. Głównym wyzwaniem wielofazowego procesu znakowania wodnego jest zależność między dodatkowymi ograniczeniami wielu faz. W idealnym scenariuszu ograniczenia znaku wodnego każdej fazy nie powinny od siebie zależeć. Innymi słowy, jeśli w jakiś sposób ograniczenia dotyczące znaku wodnego określonej fazy zostaną naruszone lub usunięte, nie powinno to mieć wpływu na ograniczenia innych faz. W procesie kodowania wielofazowego sygnatura jest dostarczana w postaci siedmiu różnych zmiennych, a mianowicie. „α”, „β”, „γ” „i”, „T”, „ja”, „!”; gdzie γ wstawia znak wodny w fazie planowania, α i β wstawia znak wodny w fazie alokacji sprzętu, i, T, I i ! wstawić znak wodny w fazie alokacji rejestru.