Http://vsp2.ecs.umass.edu/vspg/vspg.html Preventing Piracy and Reverse Engineering of SRAM FPGAs...

33
http://vsp2.ecs.umass.edu/vspg/vspg.html http://lester.univ-ubs.fr/ Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1 , Guy Gogniat 1 , Wayne Burleson 2 1 LESTER Lab Université de Bretagne Sud Lorient, France [email protected] 2 Department of Electrical and Computer Engineering University of Massachusetts, Amherst, USA [email protected]
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    1

Transcript of Http://vsp2.ecs.umass.edu/vspg/vspg.html Preventing Piracy and Reverse Engineering of SRAM FPGAs...

Page 1: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://vsp2.ecs.umass.edu/vspg/vspg.html

http://lester.univ-ubs.fr/

Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream

Lilian Bossuet1, Guy Gogniat1, Wayne Burleson2

1 LESTER LabUniversité de Bretagne Sud

Lorient, [email protected]

2 Department of Electricaland Computer Engineering

University of Massachusetts,Amherst, USA

[email protected]

Page 2: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

2

Outline

Design Security

Actual Solutions

Propositions

Conclusion

Page 3: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

3

FPGA and Security …

Protecting FPGA

data and resources

System Securityusing FPGA

FPGADesign Security

Protect the FPGA configuration

• Bitstream encryption

• Watermarking

Protect the FPGA

• Data encryption scheme

• Protection against hardware damage

Use the FPGA to protect

• Network isolation (firewalls)

• Smart cards

• Sensor networks

FPGADesign Security

Page 4: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

4

Design Security

Page 5: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

5

Need for Design Security

Protection against Cloning

• A competitor makes copy of the boot ROM or intercepts the bitstream and copies the code.

Reverse Engineering• A competitor copies a design by reconstructing a “schematic” or netlist level

representation; in the process, he understands how the design works and how to improve it, or modify it with malicious intent

Attack Types Noninvasive

• Monitored by external means such as brute force key generation, changing voltages to discover hidden test modes, etc

Invasive• Decapped and then microprobed using focused ion beams, or other sophisticated

techniques to determine the contents of the device

Page 6: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

6

Levels of Semiconductor Security

#3 Can be broken into in a government sponsored lab (e.g. USA NSA or France DGA)

#2 Can theoretically be broken into with time and expensive equipment

#1 Not secure, easily compromised with low costs tools

#3

#2

#1

Tim

e Cost

Source : IBM systems journal Vol. 30 No 2 - 1991D. G. Abraham, G. M. Dolan, G. P. Double, J. V. Stevens. Transaction Security System

Page 7: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

7

Actual Semiconductor Level of Security

Source : ACTEL

DEVICES SECURITY

SRAM FPGA LEVEL 1 ASIC Gate Array LEVEL 2 - Cell-Based ASIC LEVEL 2 - SRAM FPGA with Bitstream encryption LEVEL 2 Flash FPGA LEVEL 2 + Antifuse FPGA LEVEL 2 +

Page 8: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

8

Actual Solutions

Page 9: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

9

Very good for design security No bitstream can be intercepted in the field (no bitstream transfer,

no external configuration device) Need a Scanning Electron Microscope (SEM) to try to know the

antifuse states (an Actel AX2OOO antifuse FPGA contains 53 million antifuses with only 2-5% programmed in an average design)

BUT not really “reconfigurable” just configurable ...

Flash and Antifuses FPGA

©ACTEL

FPGA MARKET SHARE (2000)

Altera34%

Xilinx38%Lattice

14%

Other8%

Actel6%

Flash and Antifuse

FPGA

10 %

SRAM

FPGA

90 %

Page 10: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

10

Xilinx Solution

Need of an external battery to save the keys

The decryption circuit takes FPGA resources (silicon)…

No flexibility for the decryption algorithm

Partial reconfiguration is no more available

encryptedconfiguration

EPROM FPGA Virtex -II

decryptioncircuit

keys storage

+ -externalbattery

CAD

TOOL

configurationgenerator

encryptionsoftware

secret keys (Triple DES - 3 x 56 bits)

configurationmemory

secret keys (Triple DES - 3 x 56 bits)

Protection against cloning and reverse engineering

Page 11: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

11

Altera Solution

The decryption circuit takes FPGA resources (silicon)…

No flexibility for the decryption algorithm

encryptedconfiguration

EPROM FPGA Stratix -II

decryptioncircuit

keys storage

CAD

TOOL

configurationgenerator

encryptionsoftware

secret key (AES 128 bits)

configurationmemory

secret key (AES 128 bits)

Page 12: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

12

Algotronix (U.K.) Proposition

Tom Kean. Secure Configuration of a Field Programmable Gate Array. FPL 2001 and FCCM 2001.

A secret cryptographic key can be stored on each FPGA

No need for the CAD tools or any person to have knowledge of the key

The Encryption Decryption circuit takes FPGA resources (silicon)…

No flexibility for the decryption algorithm

encryptedconfiguration

FLASH Serial EPROM

FPGA

encryptioncircuit

secret key

configurationcircuit

configurationmemory

JTAG

encryptedconfiguration

FLASH Serial EPROM

FPGA

decryptioncircuit

secret key

configurationcircuit

configurationmemory

a) Initial programming of secure FPGA

b) Normal configuration of secure FPGA

Page 13: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

13

Propositions...

Page 14: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

14

Desirable Characteristics

Strong protection against cloning and reverse engineering for SRAM FPGA

No additional battery => the key is embedded (laser)

Choice of the suitable encryption algorithm and architecture (security policy)

No use of FPGA application-dedicated resources

Page 15: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

15

IP1

IP3

IP5

IP2

IP4

Security Policy

Actual solutions: the whole design (all IPs) has the same security policy

IP1

IP3

IP5

IP2

IP4

Proposition: Each IP can be encrypted with its own algorithm

Page 16: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

16

Security Policy

Application partitioning with necessary security levels All of the application doesn’t need to be encrypted

(free available IP)

Security-Critical Part:your Intellectual property which needs higher security due to • development cost• potential security breach

No critical Parts:Generic functions and cores such as communication protocols, etc.

IP1(SCP)

IP3

IP5

IP2(SCP)

IP4

Page 17: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

17

Encryption - Decryption management

Once the FPGA is configured encryption and decryption circuits do not use FPGA resources

Use of partial dynamic reconfiguration

Use of self-reconfiguration (to configure each IP with the corresponding decryption circuit)

Embedded secret key

Page 18: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

18

Encryption Management (in the lab.)

IP1(SCP1)

algorithm 1

IP3(NCP)

IP2(SCP2)

algorithm 2

FPGA : secret KEY

Encryptioncircuit1

Encryptioncircuit1

SCP1Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

Page 19: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

19

Encryption Management (in the lab.)

IP1(SCP1)

algorithm 1

IP3(NCP)

IP2(SCP2)

algorithm 2

FPGA : secret KEY

Encryptioncircuit2

Encryptioncircuit2

SCP1Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

SCP2Encrypted

SCP2Encrypted

Decryptioncircuit2

Decryptioncircuit2

Page 20: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

20

Encryption Management (in the lab.)

IP1(SCP1)

algorithm 1

IP3(NCP)

IP2(SCP2)

algorithm 2

FPGA : secret KEY

SCP1Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

SCP2Encrypted

SCP2Encrypted

Decryptioncircuit2

Decryptioncircuit2

NCPNCP

Page 21: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

21

Decryptioncircuit1

Decryption Management (at power up)

SCP1Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

SCP2Encrypted

SCP2Encrypted

Decryptioncircuit2

Decryptioncircuit2

NCPNCP

FPGA : secret KEY

ConfigurationController

Page 22: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

22

Decryption Management (at power up)

SCP1Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

SCP2Encrypted

SCP2Encrypted

Decryptioncircuit2

Decryptioncircuit2

NCPNCP

IP1

Decryptioncircuit1

FPGA : secret KEY

ConfigurationController

Partial and self reconfiguration

Page 23: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

23

Decryptioncircuit2

Decryption Management (at power up)

SCP1Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

SCP2Encrypted

SCP2Encrypted

Decryptioncircuit2

Decryptioncircuit2

NCPNCP

FPGA : secret KEY

IP1

ConfigurationController

Partial and self reconfiguration

The decryption circuit1 is replaced by the decryption circuit2

Page 24: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

24

IP2

Decryptioncircuit2

Decryption Management (at power up)

SCP1Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

SCP2Encrypted

SCP2Encrypted

Decryptioncircuit2

Decryptioncircuit2

NCPNCP

FPGA : secret KEY

IP1

ConfigurationController

Partial and self reconfiguration

The decryption circuit1 is replaced by the decryption circuit2

Page 25: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

25

IP2

IP3

Decryption Management (at power up)

ConfigurationControllerSCP1

Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

SCP2Encrypted

SCP2Encrypted

Decryptioncircuit2

Decryptioncircuit2

NCPNCP

FPGA : secret KEY

IP1

Partial and self reconfiguration

The decryption circuit1 is replaced by the decryption circuit2

The decryption circuit2 is replaced by the non critical part that is not encrypted

Page 26: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

26

Main issues

Partial and self-reconfiguration

Area related to the decryption algorithms

Keys management for each encryption/decryption circuit

Configuration controller to perform the configuration management

Page 27: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

27

Area related to the decryption algorithms

Once the last encrypted bitstream is configured the last decryption algorithm can be replace by non critical parts

ICAP performance: 66 Mbits/s, throughput is not the major concern but area

Algorithm #slices of the cryptographic core

Rijndael 4312 5302 2902Serpent 1250 7964 4438RC6 1749 3189 1139Twofish 2809 3053 1076

~ 100 Mbits/s< Throughput < ~400 Mbiys/s

Page 28: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

28

Keys management

Secret key is define during the fabrication process (laser) Define a large key e.g. 1024 bits that is used to generate each

secret key (56 bits, 128 bits)

Hardwired key generator Hardwired mechanism to authenticate each decryption circuit

and encrypted bitstream (signature)

Page 29: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

29

Configuration Controller

IP2

IP3

ConfigurationControllerSCP1

Encrypted

SCP1Encrypted

EPROM

Decryptioncircuit1

Decryptioncircuit1

SCP2Encrypted

SCP2Encrypted

Decryptioncircuit2

Decryptioncircuit2

NCPNCP

FPGA : secret KEY

IP1

Loading &decrypting

Loading &decrypting

loadingloading

idleidle

end loadingdecryption

circuit

end loadingencrypted

SCP

end loadingno-decryption

circuitapplicationend loading

start

applicationend loading

Page 30: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

30

Advantages / Inconveniences

The encryption/decryption circuit doesn’t take FPGA resources Choice of a suitable encryption algorithm and architecture ( to

obtain a required security level) Only designer knows the chosen algorithm and architecture The system can be upgraded with new encryption algorithms No additional battery with an embedded secret key

Complex system, keys management Management of partial, self and dynamic reconfiguration Take time during the system set up

-

-

-

+

+

+

+

+

Page 31: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

31

Conclusion...

Page 32: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://lester.univ-ubs.fr/

http://vsp2.ecs.umass.edu/vspg/vspg.html

32

Conclusion

In consequence of the rise of the FPGA, it is necessary to prevent piracy and reverse engineering of FPGA Bistream

Existing SRAM FPGA are insecure

We propose original solutions that take advantage of the partial and dynamic FPGA configuration, with a no-fixed encryption algorithm and architecture

It is a first step toward security policy for FPGA and the solutions still to be improved ...

Page 33: Http://vsp2.ecs.umass.edu/vspg/vspg.html  Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,

http://vsp2.ecs.umass.edu/vspg/vspg.html

http://lester.univ-ubs.fr/

Comments?

Questions?

Thank you