Hårdvaruförvirring
Hårdvaruobfuskering är en teknik genom vilken beskrivningen eller strukturen för elektronisk hårdvara modifieras för att avsiktligt dölja dess funktionalitet , vilket gör det betydligt svårare att bakåtkonstruera. Med andra ord modifierar maskinvaruobfuskation designen så att den resulterande arkitekturen blir ouppenbar för en motståndare. Hårdvaruobfuskation kan vara av två typer beroende på vilken hårdvaruplattform som är inriktad på: (a) DSP Core Hardware Obfuscation - denna typ av obfuskering utför viss högnivåtransformation på dataflödesgrafens representation av DSP-kärnan för att omvandla den till en okänd form som återspeglar en ouppenbar arkitektur på RTL- eller gatenivå. Denna typ av obfuskation kallas även " Struktural Obfuscation" . En annan typ av DSP Core Obfuscation-metod kallas " Functional Obfuscation" - Den använder en kombination av AES och IP-kärnlåsningsblock (ILB) för att låsa funktionaliteten hos DSP-kärnan med nyckelbitar. Utan tillämpning av korrekt tangentsekvens producerar DSP-kärnan antingen fel utsignal eller ingen utsignal alls. (b) Kombination/sekventiell hårdvaruobfuskation - denna typ av fördunkling utför ändringar av gatenivåstrukturen för själva kretsen.
I grund och botten skiljer det sig från digital vattenmärkning (där ägandet döljs i själva det digitala innehållet), eller från vattenmärkning av immateriell egendom för maskinvara (IP) där ägarinformationen är inbäddad och dold i beskrivningen av en krets . Det skiljer sig också från kryptografibaserade IP-skyddstekniker för hårdvara som är vanliga i designflödet av Field Programmable Gate Array .
Betydelsen av hårdvaruvattenmärkning har ökat under de senaste åren på grund av ett utbrett antagande av hårdvaru-IP-baserad designpraxis för moderna integrerade kretsar (ICs) såsom system on chips (SoCs). Viktiga säkerhetsproblem förknippade med hårdvaru-IP:er inkluderar: (a) intrång i hårdvaruintrång under SoC-design; (b) reverse engineering av de tillverkade IC:erna eller IC-designdatabasen (i tillverkningsanläggningar ) för att producera förfalskade eller klonade IC:er; och (c) skadliga modifieringar av en IP genom införande av hårdvarutrojan för att orsaka funktionsfel inom fältet . Hårdvaruobfuskering syftar till att minimera dessa hot på IP- eller chipnivå genom att göra det svårt för en motståndare att förstå den faktiska funktionaliteten i en design.
Hårdvaruobfuskeringstekniker kan klassificeras i två huvudkategorier: (a) de "passiva" teknikerna, som inte direkt påverkar det elektroniska systemets funktionalitet, och (b) de "aktiva" teknikerna, som direkt ändrar systemets funktionalitet . Ofta är teknikerna för aktiv hårdvaruobfuskation "nyckelbaserade", så att normal funktionalitet hos den obfuskerade designen endast kan aktiveras genom framgångsrik tillämpning av en enda förutbestämd nyckel eller en sekvens av hemliga nycklar vid ingången; annars fungerar kretsen i ett läge som uppvisar felaktig funktionalitet. Detta kan göras genom att bädda in en väl dold finita tillståndsmaskin (FSM) i kretsen för att styra funktionslägena baserat på applicering av nyckel. Tekniken med nyckelbaserad, aktiv hårdvaruobfuskering liknar i princip privata nyckelkrypteringsmetoder för informationsskydd , eftersom "nyckelsekvensen" för den obfuskerade designen spelar en liknande roll som den kryptografiska nyckeln. Tekniken kan tillämpas på olika nivåer av hårdvarubeskrivningar, nämligen gate-nivå eller registeröverföringsnivå (RTL) design och kan därför användas för att skydda mjuka, fasta och hårda IP-kärnor. Obfuskering kan också bidra till att effektivt dölja säkerhetsfunktioner i en IC och på så sätt möjliggöra skydd av IC:er från förfalskning och kloning i tillverkningsanläggningar.
Däremot modifierar de passiva teknikerna kretsbeskrivningen i en mjuk form (t.ex. syntaktiska förändringar), så att det blir svårt för en mänsklig läsare att förstå kretsens funktionalitet. Dessa tillvägagångssätt använder vanligtvis antingen strängersättning (inklusive ändrad variabelnamn, borttagning av kommentarer, etc.), eller strukturell förändring i beskrivningen av hårdvarubeskrivningsspråket (HDL) för en krets (inklusive slingavrullning , registerbyte , etc.). En stor brist med de passiva tillvägagångssätten är att de inte modifierar den svarta lådans funktionalitet hos en krets, och därför inte kan förhindra potentiell användning av en IP som svart låda i en design. Dessutom kan den faktiska styrkan hos en sådan passiv obfuskering diskuteras, eftersom blackbox-obfuskering i allmänhet inte existerar, åtminstone för programvaror som beräknar vissa matematiska funktioner .
Hårdvaruvattenmärkning kan användas i samband med maskinvaruobfuskation. I en förvirrad design kan vattenmärkning vara effektiv för att tillhandahålla en andra försvarslinje mot olicensierade kopieringsinsatser.
Historiska sammanhang
Hårdvaruobfuskation i datoranvändning har förmodligen sitt ursprung med stordatorprocessorer , främst sådana som tillverkades av IBM under 1960- och 1970-talen. IBM, för att behålla vissa konkurrensfördelar, implementerade hemliga opkoder som endast skulle användas av operativsystemet med sluten källkod på stordatorn. [ citat behövs ]