hardveres trójai vírusok asic és fpga áramkörökbenbuttyan/courses/bmevihim219/2013/... ·...

58
Hardveres trójai vírusok ASIC és FPGA áramkörökben 1

Upload: others

Post on 05-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Hardveres trójai vírusok

ASIC és FPGA áramkörökben

1

Page 2: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Fogalmak

Hardveres trójai „vírus”: a hardver rosszindulatú megváltoztatása, amely speciális feltételek mellett a rendszer funkciójának megváltozását okozza

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

2

Page 3: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Rövidítések

HTH: hardware trojan horse

IP: intellectual property

SoC: System on Chip

Outsourcing: a vállalkozáson kívül elérhető erőforrások igénybevétele a vállalkozás feladatainak ellátásához

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

3

Page 4: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH beillesztése a HDL kódba

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

4

Page 5: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH beillesztése a HDL kódba

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

5

Page 6: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Miért kell a HTH-val foglalkozni?

Elektronikus eszközök nagy szerepet játszanak életünkben Bizalmas adatok tárolása, továbbítása

Különböző fontos (pl. orvosi berendezések) vezérlése

Katonai alkalmazások

Outsourcing miatt ki vagyunk szolgáltatva az integrált áramkört gyártó vállalatnak

“Report of the defense science board task force on high performance microchip supply.“ Defense Science Board, US DoD, Februar 2005

6

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

Page 7: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Félvezető gyártó üzemek

Rank Company Foundry Type Country of origin Revenue (million $USD)

1 TSMC Pure-play       Taiwan 14,600

2 UMC Pure-play       Taiwan 3,760

3 Globalfoundries Pure-play       United States 3,580

4 Samsung Semiconductor IDM       South Korea 1,975

5 SMIC Pure-play       China 1,315

6 TowerJazz Pure-play       Israel 610

7 Vanguard (VIS) Pure-play       Taiwan 519

8 Dongbu HiTek Pure-play       South Korea 500

9 IBM IDM       United States 445

10 MagnaChip IDM       South Korea 350

11 SSMC Pure-play       Singapore 345

12 Hua Hong NEC Pure-play       China 335

13 Win Semiconductors Pure-play       Taiwan 300

14 X-Fab Pure-play       Germany 285

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

7

Page 8: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Foglalkozik-e vele valaki?

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

8

Page 9: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Foglalkozik-e vele valaki?

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

9

Page 10: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Digitális eszközök típusai

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

10

Page 11: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

FPGA blokkdiagram és floorplan

FPGA: helyszínen programozható logikai tömb

11

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 12: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

FPGA tervező környezet

12

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 13: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Bitstream letöltése az FPGA-ba

13

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 14: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

ASIC floorplan (Intel Nehalem microarchitecture)

ASIC: alkalmazásspecifikus integrált áramkör

14

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 15: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Bitstream vs. GDSII

15

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 16: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Digitális áramkör tervezési lépési

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

16

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 17: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Digitális áramkör tervezési lépési

17

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 18: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Digitális áramkör tervezési lépési

18

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 19: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Digitális áramkör tervezési lépési

19

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 20: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Digitális áramkör tervezési lépési

20

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 21: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Digitális áramkör tervezési lépési

21

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 22: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Digitális áramkör tervezési lépési

22

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 23: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Tervezési és gyártási folyamat részletesebben

23

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 24: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Tervezési fázis veszélyek

Támadó hozzáfér az összes forrásfájlhoz

Még, ha megbízható mérnök tervez, akkor is meg kell bízni

3rd party IP core (pl. Ethernet vezerlő)

Tervező szoftverek

Standard cellák (csak ASIC esetén: pl. NAND kapu valóban egy NAND kapu)

24

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 25: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Gyártási fázis veszélyek

FPGA Bitstream nem mindig titkosított Ha mégis az lenne: már publikáltak DPA technikán

alapuló támadást

ASIC Támadó módosítani tudja a maszk fájlokat gyártás

előtt Logika hozzáadása (nehéz feladat) Adalékolás megváltoztatása (pl. inverter -> konstans

VCC tápfeszültség)

Gyártás után is módosítható az áramkör FIB-bel (Focused Ion Beam)

25

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Page 26: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

A továbbiakban…

26

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Általánosan a HTH-ról Taxonómia Aktivitás Triggerelési mechanizmus

Tervezési és gyártási folyamat során

Implementáció Detektálás Megelőzés

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Page 27: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH taxonómia

27

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 28: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH aktivitás

Funkció módosítás

Logikai hozzáadása, törlése

Pl. hibadetektáló modul olyan bemeneteket is elfogad, melyeket egyébként elutasítana

Titkosítás során egyes lépések kihagyása

28

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 29: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH aktivitás

Információ szivárogtatás

RF, optikai, termikus úton

Esetleg soros porton, JTAG-en vagy akár interneten keresztül

A szivárogtatás során a küldés tipikusan rejtve marad (adott zajszint alatt marad az érték)

Pl. RF esetében spread spectrum segítségével

29

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 30: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH aktivitás

Denial of Service Szűkös erőforrások kimerítése

SoC busz folyamatos foglalása Számítási kapacitás Akkumulátor (egyes modulokat nem hagyunk sleep

módba jutni vagy felesleges meghajtó áramköröket helyezünk le)

Fizikai elváltozás Hot Carrier Injection(HCI)

Oxide Breakdown (OB) (nagy elektromos mező miatt a FET-ek gate alatti oxid rétegének átütése következik be, ami rövidzárt okoz)

Negative Bias Temperature Instability (NBTI) Electron-Migration (EM)

30

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 31: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH triggerelési mechanizmus

Áramkörön belüli trigger

Egyszerű esetben pl. egy buszra kiadott címet figyelünk

Bonyolultabb esetben állapotgép segítségével egy megadott szekvenciára várunk

Sokkal nagyobb állapotteret kell megvizsgálni, ha detektálni akarjuk, így ez hatékonyabb

31

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 32: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH triggerelési mechanizmus

On-chip termikus kommunikáció

32

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 33: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH triggerelési mechanizmus

Trigger feltétele valamilyen külső input

Szenzoroktól származó értékek

Hőmérséklet

Feszültség

Páratartalom

stb…

Egyéb

Soros porton beérkező adat

33

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 34: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Bemutató: saját hardveres trójai áramkör implementáció

34

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 35: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Verilog forrásfájlok

35

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 36: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

RTL szintű modell

36

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 37: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Kapuszintű modell

37

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 38: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Rendszertani besorolása

38

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Page 39: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH implementáció

39

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Page 40: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

FPGA típusok

Xilinx + Altera + Lattice (+ SiliconBlue) > 90 % piaci részesedés

Microsemi (+Actel)

40

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 41: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

SRAM FPGA

41

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 42: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

FPGA nem titkosított bitstream

42

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 43: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

FPGA nem titkosított bitstream módosítás

43

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 44: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

FPGA titkosított bitstream módosítás

44

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 45: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

FPGA titkosított bitstream módosítás

On the Vulnerability of FPGA Bitstream Encryption against Power Analysis Attacks – Extracting Keys from Xilinx Virtex-II FPGAs –

Differential Power Analysis

45

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 46: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH implementáció

46

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Page 47: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Standard cellás ASIC - basic floorplan

47

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 48: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

ASIC adalékanyag maszk módosítás

48

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 49: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

CMOS inverter

49

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 50: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

ASIC adalékanyag maszk módosítás

50

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 51: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

ASIC adalékanyag maszk módosítás

51

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 52: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH detektálás

52

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Page 53: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH detektálás

Pásztázó elektronmikroszkóp (SEM) segítségével

Apró eltéréseket nehéz észrevenni

53

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 54: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH detektálás

Funkcionális tesztelés

Gyártás után történik

Adott bemenetre a várt kimenetet kapjuk-e

Nem kimerítő keresés

54

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 55: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH detektálás

Side-channel comparison

55

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Page 56: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Tervezés során, ha nem megbízható CAD rendszert használunk, az elkészített terveket érdemes saját

fejlesztésű (megbízható) programmal megvizsgálni.

HTH megelőzés

56

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Page 57: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

Újraprogramozható logika beiktatása egyes helyekre, így a támadó nem tudja, hogy a maszkot hogyan módosítsa,

mivel csak később fog a tényleges funkcionalitás eldőlni.

Logika duplikálása, adatok keverése (scrambling).

HTH megelőzés

57

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Page 58: Hardveres trójai vírusok ASIC és FPGA áramkörökbenbuttyan/courses/BMEVIHIM219/2013/... · FPGA ASIC Áramkörök tervezésének lépései 10 . FPGA blokkdiagram és floorplan

HTH megelőzés

58

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH