27
GET / Télécom Paris, CNRS LTCI (UMR 5141) 46, rue Barrault – 75634 Paris Cedex 13 – France Page 1 The “backend duplication” method The “backend duplication” method - - A Leakage A Leakage - - Proof Place Proof Place - - and and - - Route Strategy for Secured Route Strategy for Secured ASICs ASICs - - CHES Workshop August 30th – September 1st 2005 Edinburgh, Scotland, UK. Sylvain GUILLEY (*), Philippe HOOGVORST (*), Yves MATHIEU (*) and Renaud PACALET (**). (*) GET/ENST, 46 rue Barrault F-75634 Paris Cedex 13. (**) GET/ENST, Institut Eurecom BP 193, 2229 route des Crêtes F-06904 Sophia-Antipolis Cedex.

The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 1

The “backend duplication” methodThe “backend duplication” method

-- A LeakageA Leakage--Proof PlaceProof Place--andand--Route Strategy for Secured Route Strategy for Secured ASICsASICs --

CHES Workshop

August 30th – September 1st 2005

Edinburgh, Scotland, UK.

Sylvain GUILLEY (*) ,Philippe HOOGVORST (*) ,Yves MATHIEU (*) andRenaud PACALET (**) .

(*) GET/ENST, 46 rue BarraultF-75634 Paris Cedex 13.

(**) GET/ENST, Institut Eurecom BP 193, 2229 route des Cr êtesF-06904 Sophia-Antipolis Cedex.

Page 2: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 2

OutlineOutline

� Introduction

� Backend

� Standard versus Secured Logic Cells

� Secured Place-and-Route (P&R)

� Implementation

� Cross-coupling

� Security Evaluation

� Example of a Secured DES (SDES) design,embedded into the SECMAT ASIC

� Perspectives

� Acknowledgements

Page 3: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 3

IntroductionIntroduction

� « Backend duplication » : a method at the backend level to secure the design of ASICs against Side-Channel Attacks(SCAs).

� Why ASICs?

� Alternatives are SW, FPGAs and any mixture

� ASICs always provide the best performance:

– Implementation size,

– Power consumption,

– Computation speed.

– And it is far more difficult to realize a SCA on an ASIC than on a µµµµP.

Page 4: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 4

ContextContext

� SCAs are a serious threat� We consider power attacks in this talk

� Counter-measures are typically of two types: logical or physical� We consider physical counter-measures

� Leaked information is made unexploitable (e.g. randomization)� We consider constant syndrom

� Design style: full-custom versus standard cells based� We consider the use of « not so standard » gates

� We address the question of assembling the gates in a secured way

Page 5: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 5

FrontendFrontend versusversus BackendBackend

Hardware design divides into steps:

� « frontend » = logical aspects� Specification

� Definition of the architecture

� Coding using a parallel language (VHDL, Verilog, SystemC)

� Validation, by simulation or formal proof

� ⇒⇒⇒⇒ logical synthesis, to obtain a netlist of cells

� « backend » = physical aspects� a) Floorplan

� b) Placement

� c) Routing

� ⇒⇒⇒⇒ final circuit layout, ready to be sent to the silicon factory

+ pads

+ power management

+ scan chain reordering

+ clock tree generation

+ signal integrity

+ « dummies » insertion

+ etc.

Page 6: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 6

RegularRegular BackendBackend FlowFlow in ASIC Designin ASIC Design

a) Floorplan split into rows

b) Instances Ix of the netlist are dispatched into the placement rows

The cells share the supply (power or VDD / ground or VSS) lines

c) Routes are created over the cells

E.g. in HCMOS9GP, cell pins are in M1, thus M2 – M6 is devoted to interconnection

(M1 can be used to route side-by-side cells.)

Page 7: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 7

SecuredSecured LogicLogic GatesGates

� Many secured cells type exist:� WDDL [Kris Tiri et al.]

� SABL [Kris Tiri et al.]

� QDI primitives [Marc Renaudin et al.]

� DI primitives [Ross Anderson et al.]

� But how to use them in a secured Place-and-Route flow?� Differential routing with…

� … balanced parasitic capacitances.

� Nodes shielded against cross-talk.

Built upon

standard cells

Page 8: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 8

SecuredSecured CellsCells ComeCome in Pairs: WDDLin Pairs: WDDL

ΠΣΠΣΠΣΠΣΣΠΣΠΣΠΣΠ

INV , XOR3, MAJINV , XOR3, MAJ

XNORXOR

NORNAND

Examples

f( ei )f( ei ) , ei being inputsDefinition

DualRegular

Page 9: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 9

SecuredSecured CellsCells ComeCome in Pairs: SABL & DI in Pairs: SABL & DI gatesgates

SABL: DI:

Page 10: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 10

WDDL WDDL exampleexample: placement : placement strategystrategy

After they are flippedR0 and MX,dual gates are much

alike!

NAND(R0)placed into row i

NOR(MX)Placed into row i+1

Page 11: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 11

MakingMaking Standard Standard CellsCells CompliantCompliant withwith WDDLWDDL

Each dual pair must have a

compatible interface.

The transformation done

on the abstracts (LEF

description) + pins metal

consists in:

1. Reorder pins

2. Enlarge pins for overlap

3. Keep pins intersection

At that point:

- dual cells have similar

layout in transistor

- the port position allow

for a differential routing

Page 12: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 12

« « BackendBackend--duplicationduplication » » overviewoverview

Page 13: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 13

« « BackendBackend--duplicationduplication »: placement»: placement

Flip Placement

Page 14: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 14

« « BackendBackend--duplicationduplication »: »: routingrouting

Translate routing

Page 15: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 15

« « BackendBackend--duplicationduplication » » RealizationRealization

Before duplication After duplication

o Half of the placement rows are obstructed

o Half of the routing channel are obstructed

o Cells are duplicated by vertical flip (R0 MX)o Routing is translated by:(PITCH, ROW_HEIGHT)

The method fully relies on the setting of appropriate constraints

Page 16: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 16

WDDL WDDL exampleexample: : constraintsconstraints

No placement

No routing

Placement OK

Horizontal

routing OK

No vertical

routing

Vertical

routing OK

Page 17: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 17

WDDL WDDL exampleexample: : beforebefore duplicationduplication

Page 18: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 18

WDDL WDDL exampleexample: : afterafter duplicationduplication

Note:

Results can be

visualized in a

backend tool

without

rewritting

(error-prone)

nor reloading

(not interactive)

design rules.

Page 19: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 19

ImplementationImplementation

4 (TCL)

100 (C)

400 (Perl)

200 (Perl)

LoC:

Verilog

DEF

+3 lines added in the Makefile:

Regular Backend-duplicated

Place 1.9 s 6.2 s

Route 39.0 s 80.0 s

Duplication - 77.5 s

Execution time in the

example of DES:

Page 20: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 20

CrossCross--couplingcoupling

� The method achieves the same routing length and shape

� But the environnement still differ

� Solution: shield (only vertical shield is shown)

wT

wF

wT

wF

w’T

w’F

C

wT

wF

wT

wF

w’T

w’FC↓↓↓↓

Page 21: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 21

ReducingReducing thethe crosscross--couplingcoupling: : routingrouting constraintsconstraints

Routingforb

idden

: track

sobstru

sted

= shield

Page 22: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 22

« « BackendBackend Duplication » Duplication » EfficiencyEfficiency AssessmentAssessment

Page 23: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 23

SecureSecure DES (SDES) DES (SDES) afterafter P&RP&R

Floorplan

duplication

visual « effect »:

the rows go by

pairs.

This P&R

has been

done withSecLibauto-dual

cell pairs.

The dual

abstracts

superimpose.

The duplication flow

is independent of the

CAD tools used.

Page 24: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 24

SECMAT chip SECMAT chip underunder CadenceCadence

would be…

SDES_WDDL

DES

SDES

AES 64B RAMs

6502 2kB ROM

6502 32kB RAM

DES, SDES and

SDES_WDDL

256B RAMs

28 pads

Standard cells « sea »

Page 25: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 25

SECMAT SECMAT PicturesPictures

The silicon die The test motherboard

Page 26: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 26

SecuredSecured P&R: PerspectivesP&R: Perspectives

� In deep submicron technologies, theinterconnect accounts for a large amount of the power dissipation

� Twisted pairs routing to thwart EMA?

� Efficiently using cross-talk strategies to decrease the dissymmetry of signal pairs

� Study dynamic dissymmetriesoccurring because of cross-talk� Spice simulations are the last resort?

transistors

interconnect

0→→→→1: Aggressor of FAggressor of T: 0→→→→0

wFwT

Page 27: The “backend duplication” method · Thecellssharethesupply(power or VDD / groundor VSS) lines c) Routes are createdoverthecells E.g. in HCMOS9GP, cellpins are in M1, thusM2 –M6

GET / Télécom Paris, CNRS LTCI (UMR 5141)

46, rue Barrault – 75634 Paris Cedex 13 – France

Page 27

AcknowledgementsAcknowledgements

� This work has been partially funded by:� the “conseil régional Provence Alpes Côte d'Azur” and

� the French Research Ministry, through ACI SI MARS:http://www.comelec.enst.fr/recherche/mars/

� The authors are also grateful to the AST division of STMicroelectronics (Rousset, France), for help in the design and the fabrication of the secured DES ASIC prototype.

AnyAny question?question?

� Comments / feedback welcomed:< [email protected] >