Author Contributions
Conceptualization, A.S. and O.S.; data curation, A.S., M.N. and M.A.; formal analysis, A.S. and J.K.; funding acquisition, O.S.; investigation, A.S., M.N. and M.A.; methodology, A.S., M.N., M.A. and J.K.; project administration, A.S. and J.K.; software, A.S., M.N. and M.A.; supervision, J.K. and O.S.; validation, A.S.; visualization, A.S.; writing—original draft, A.S., J.K. and O.S.; writing—review and editing, A.S., J.K. and O.S. All authors have read and agreed to the published version of the manuscript.
Figure 1.
Concept of split manufacturing, with splitting realized after M3 (without loss of generality). The FEOL by itself is missing the BEOL interconnects; hence, an FEOL-centric attacker has to infer those BEOL parts to obtain the full design.
Figure 1.
Concept of split manufacturing, with splitting realized after M3 (without loss of generality). The FEOL by itself is missing the BEOL interconnects; hence, an FEOL-centric attacker has to infer those BEOL parts to obtain the full design.
Figure 2.
The classical threat model for split manufacturing, as also considered in this work. Red dashes mean the entity is untrusted (FEOL fab), whereas green dashes mean the entities are trusted (all others).
Figure 2.
The classical threat model for split manufacturing, as also considered in this work. Red dashes mean the entity is untrusted (FEOL fab), whereas green dashes mean the entities are trusted (all others).
Figure 3.
Simple example for logic locking. (a) Original circuit; (b) locked circuit with one key-gate (correct key-bit is ‘0’).
Figure 3.
Simple example for logic locking. (a) Original circuit; (b) locked circuit with one key-gate (correct key-bit is ‘0’).
Figure 4.
Physical design of the key for regular split manufacturing. (a) Locked layout, with key-nets connected to TIE cells, but following a regular, security-wise naive physical design. The placement of TIE cells, as well as the FEOL-level routing, can leave hints on the underlying assignment of key-bits to key-gates. (b) Locked layout of (a), with randomized placement of TIE cells. (c) Locked layout of (b), with key-nets lifted to the BEOL (i.e., above the split layer, which is M3 here). Note that lifting makes use of stacked vias to reduce FEOL-level routing and related hints to the bare minimum. (d) Locked layout of (c) after splitting. The broken key-nets are indecipherable for the FEOL-centric attacker.
Figure 4.
Physical design of the key for regular split manufacturing. (a) Locked layout, with key-nets connected to TIE cells, but following a regular, security-wise naive physical design. The placement of TIE cells, as well as the FEOL-level routing, can leave hints on the underlying assignment of key-bits to key-gates. (b) Locked layout of (a), with randomized placement of TIE cells. (c) Locked layout of (b), with key-nets lifted to the BEOL (i.e., above the split layer, which is M3 here). Note that lifting makes use of stacked vias to reduce FEOL-level routing and related hints to the bare minimum. (d) Locked layout of (c) after splitting. The broken key-nets are indecipherable for the FEOL-centric attacker.
Figure 5.
Physical design of the key for “poor man’s split manufacturing”. Instead of using TIE cells and requiring the related placement and routing to avoid any hints, this strategy here simply connects key-gates to I/O ports and bumps, which do not reveal any information by themselves. The key-bits can be implemented as fixed-value signals either (a) at a trusted packaging facility or (b) at the board level.
Figure 5.
Physical design of the key for “poor man’s split manufacturing”. Instead of using TIE cells and requiring the related placement and routing to avoid any hints, this strategy here simply connects key-gates to I/O ports and bumps, which do not reveal any information by themselves. The key-bits can be implemented as fixed-value signals either (a) at a trusted packaging facility or (b) at the board level.
Figure 6.
Our physical design flow. After the synthesis stage, the flow is bifurcated into regular split manufacturing (SM) with lifting of key-nets to the BEOL versus “poor man’s split manufacturing” with lifting of key-nets to the package level. For the latter, TS cell is short for temporary cell, a custom cell we devise to enable lifting of nets to the package level.
Figure 6.
Our physical design flow. After the synthesis stage, the flow is bifurcated into regular split manufacturing (SM) with lifting of key-nets to the BEOL versus “poor man’s split manufacturing” with lifting of key-nets to the package level. For the latter, TS cell is short for temporary cell, a custom cell we devise to enable lifting of nets to the package level.
Figure 7.
Randomized placement of TIE cells and key-nets lifted to the BEOL for benchmark b14_C, with M6 as split layer. For visibility in hard copies, colors are inverted. (top) Wiring of all key-nets, indicating that TIE cells and key-gates are decoupled. (bottom) A key-net highlighted. Routing is handled exclusively in M7 (green wire segments) and M8 (red segments).
Figure 7.
Randomized placement of TIE cells and key-nets lifted to the BEOL for benchmark b14_C, with M6 as split layer. For visibility in hard copies, colors are inverted. (top) Wiring of all key-nets, indicating that TIE cells and key-gates are decoupled. (bottom) A key-net highlighted. Routing is handled exclusively in M7 (green wire segments) and M8 (red segments).
Figure 8.
Layout costs for our scheme for various split layers. The respective baselines are the unprotected layouts. Prelift refers to locked layouts without lifting of key-nets. Each box comprises data points within the first and third quartile; the bar represents the median; the whiskers the minimum/maximum values; and outliers are marked by dots.
Figure 8.
Layout costs for our scheme for various split layers. The respective baselines are the unprotected layouts. Prelift refers to locked layouts without lifting of key-nets. Each box comprises data points within the first and third quartile; the bar represents the median; the whiskers the minimum/maximum values; and outliers are marked by dots.
Figure 9.
Layout costs for our scheme for various split layers, and when using a single pair of TIE cells. The respective baselines are the unprotected layouts. Prelift refers to locked layouts without lifting of key-nets. Each box comprises data points within the first and third quartile, the bar represents the median; the whiskers; and the minimum/maximum values, and outliers are marked by dots.
Figure 9.
Layout costs for our scheme for various split layers, and when using a single pair of TIE cells. The respective baselines are the unprotected layouts. Prelift refers to locked layouts without lifting of key-nets. Each box comprises data points within the first and third quartile, the bar represents the median; the whiskers; and the minimum/maximum values, and outliers are marked by dots.
Figure 10.
Layout and bump assignment for our case study on “poor man’s split manufacturing”, based on an ARM Cortex M0 core with various custom modules. (top) Design with lifting of 80 regular, single-fanout nets of the core. (bottom) Design with lifting of 80 key-nets, used to lock the core. Blue bumps are signal bumps and red/orange bumps are VDD/VSS bumps. Yellow flylines indicate the connectivity between bumps and the corresponding standard cells/pads. Recall that lifted nets are allowed to connect directly from cell to bump and vice versa. Most of the flylines radiate toward a region in the upper-right corner which is where the Cortex M0 core is placed.
Figure 10.
Layout and bump assignment for our case study on “poor man’s split manufacturing”, based on an ARM Cortex M0 core with various custom modules. (top) Design with lifting of 80 regular, single-fanout nets of the core. (bottom) Design with lifting of 80 key-nets, used to lock the core. Blue bumps are signal bumps and red/orange bumps are VDD/VSS bumps. Yellow flylines indicate the connectivity between bumps and the corresponding standard cells/pads. Recall that lifted nets are allowed to connect directly from cell to bump and vice versa. Most of the flylines radiate toward a region in the upper-right corner which is where the Cortex M0 core is placed.
Table 1.
Pitches (nm) across metal layers for the Nangate 45 nm technology.
Table 1.
Pitches (nm) across metal layers for the Nangate 45 nm technology.
M1 | M2 | M3 | M4 | M5 | M6 | M7 | M8 | M9 | M10 |
---|
70 | 70 | 70 | 140 | 140 | 140 | 400 | 400 | 800 | 800 |
Table 2.
CCR (%) for ITC’99 benchmarks when split at M4 and M6. “NA” means time-out after 48 h.
Table 2.
CCR (%) for ITC’99 benchmarks when split at M4 and M6. “NA” means time-out after 48 h.
Benchmark | M4 | M6 |
---|
Key-Nets | Regular | Key-Nets | Regular |
---|
Logical | Physical | Nets | Logical | Physical | Nets |
---|
b14 | 50 | 1.8 | 18.5 | 48.4 | 0.9 | 25.3 |
b15 | 49.6 | 0 | 24.5 | 48.4 | 0.9 | 32 |
b17 | NA | NA | NA | 49.2 | 0 | 24.5 |
b20 | 47.6 | 0.9 | 17.7 | 49.9 | 1.8 | 31.0 |
b21 | 47.8 | 0 | 14.8 | 48.3 | 0 | 31.8 |
b22 | 49.4 | 0 | 16.8 | 48.5 | 0 | 36.3 |
Average | 48.9 | 0.5 | 18.4 | 48.8 | 0.6 | 30.2 |
Table 3.
HD (%) and OER (%) for ITC’99 benchmarks when split at M4/M6, for 1 M simulation runs/input patterns considered. “NA” means attack time-out after 48 h.
Table 3.
HD (%) and OER (%) for ITC’99 benchmarks when split at M4/M6, for 1 M simulation runs/input patterns considered. “NA” means attack time-out after 48 h.
Benchmark | M4 | M6 |
---|
HD | OER | HD | OER |
---|
b14 | 34.3 | 100 | 13.0 | 100 |
b15 | 38.5 | 100 | 15.9 | 100 |
b17 | NA | NA | 26.4 | 100 |
b20 | 41.1 | 100 | 18.7 | 100 |
b21 | 42.7 | 100 | 24.4 | 100 |
b22 | 41.9 | 100 | 22.4 | 100 |
Average | 39.7 | 100 | 20.1 | 100 |
Table 4.
PNR, CCR, HD, and OER (all in %) for ISCAS benchmarks when split at M4. “NA” means not reported in the respective publication.
Table 4.
PNR, CCR, HD, and OER (all in %) for ISCAS benchmarks when split at M4. “NA” means not reported in the respective publication.
Benchmark | [40] | [15] | [16] | Proposed |
---|
PNR | CCR | HD | OER | PNR | CCR | HD | OER | PNR | CCR | HD | OER | PNR | CCR | HD | OER |
---|
c432 | 87.5 | 78.8 | 46.1 | 99.4 | 32.3 | 0 | 45.9 | 100 | NA | 0 | 48.4 | 99.9 | 13.1 | 3.7 | 39.5 | 98.9 |
c880 | 86.8 | 45.8 | 18.0 | 99.9 | 28.3 | 0 | 39.9 | 100 | NA | 0 | 43.4 | 99.9 | 16.8 | 0 | 38.7 | 100 |
c1355 | 84.9 | 77.1 | 26.6 | 100 | 32.8 | 0 | 46.1 | 100 | NA | 0 | 40.1 | 99.9 | 10.2 | 3.4 | 41.4 | 100 |
c1908 | 91.2 | 83.8 | 38.8 | 100 | 29.5 | 0 | 48.1 | 100 | NA | 0 | 46.2 | 99.9 | 9.9 | 2.7 | 33.7 | 100 |
c3540 | 86.2 | 77.0 | 36.1 | 100 | 30.8 | 0 | 46.4 | 100 | NA | 0 | 47.9 | 99.9 | 8.3 | 0 | 40.8 | 100 |
c5315 | 87.7 | 74.7 | 18.1 | 100 | 31.6 | 0 | 35.4 | 100 | NA | 0 | 38.3 | 99.9 | 21.7 | 1.6 | 23.8 | 100 |
c7552 | 93.9 | 73.9 | 20.3 | 100 | 26.9 | 0 | 25.7 | 100 | NA | 0 | 27.8 | 99.9 | 26.2 | 0.9 | 24.1 | 100 |
Average | 88.3 | 73.3 | 29.1 | 99.9 | 30.3 | 0 | 41.1 | 100 | NA | 0 | 41.7 | 99.9 | 15.2 | 1.8 | 34.6 | 99.8 |
Table 5.
CCR (%) for ITC’99 benchmarks when split at M4, M6, and M8, and when using a single pair of TIE cells. “NA” means time-out after 48 h.
Table 5.
CCR (%) for ITC’99 benchmarks when split at M4, M6, and M8, and when using a single pair of TIE cells. “NA” means time-out after 48 h.
Benchmark | M4 | M6 | M8 |
---|
Key Nets | Regular Nets | Key Nets | Regular Nets | Key Nets | Regular Nets |
---|
Logical | Physical | | Logical | Physical | | Logical | Physical | |
---|
b14 | 47.9 | 1.1 | 49.5 | 44.2 | 8.8 | 23.2 | 37.5 | 25.3 | 11.7 |
b15 | 46.1 | 0.9 | 23.1 | 47.6 | 1.8 | 33.8 | 45.8 | 2.7 | 23.2 |
b17 | NA | NA | NA | 44.8 | 8.7 | 23.6 | 45.2 | 5.2 | 36.1 |
b20 | 16.9 | 0 | 27.4 | 47.8 | 0 | 49.2 | 43.6 | 6.6 | 38.8 |
b21 | 45.5 | 1.9 | 23.9 | 47.7 | 2.8 | 45.4 | 42.7 | 9.4 | 40.5 |
b22 | 46.1 | 6.5 | 48.8 | 45.5 | 6.5 | 48.8 | 43.8 | 10.8 | 28.4 |
Average | 46.5 | 2.1 | 34.5 | 46.3 | 4.8 | 37.3 | 43.1 | 10.0 | 29.8 |
Table 6.
HD (%) and OER (%) for ITC’99 benchmarks when split at M4/M6/M8, for 1M simulation runs/input patterns considered, and when using a single pair of TIE cells. “NA” means attack time-out after 48 h.
Table 6.
HD (%) and OER (%) for ITC’99 benchmarks when split at M4/M6/M8, for 1M simulation runs/input patterns considered, and when using a single pair of TIE cells. “NA” means attack time-out after 48 h.
Benchmark | M4 | M6 | M8 |
---|
HD | OER | HD | OER | HD | OER |
---|
b14 | 21.9 | 100 | 9.7 | 100 | 7.7 | 100 |
b15 | 39.0 | 100 | 15.3 | 100 | 6.8 | 100 |
b17 | NA | NA | 23.2 | 100 | 7.2 | 100 |
b20 | 37.9 | 100 | 18.5 | 100 | 4.8 | 100 |
b21 | 39.7 | 100 | 11.3 | 100 | 4.5 | 100 |
b22 | 37.2 | 100 | 11.9 | 100 | 6.3 | 100 |
Average | 35.1 | 100 | 16.0 | 100 | 6.2 | 100 |
Table 7.
Impact of key-size on HD and OER (%) for circuit b14_C when split at M6. The key-size is defined as percentage of the total number of gates in the circuit.
Table 7.
Impact of key-size on HD and OER (%) for circuit b14_C when split at M6. The key-size is defined as percentage of the total number of gates in the circuit.
Key-Size (%) | 5 | 10 | 15 | 20 | 25 |
---|
HD / OER (%) | 15.0/100 | 24.0/100 | 31.0/100 | 36.5/100 | 39.7/100 |
Table 8.
Impact of split layer on logical CCR for the circuit c432.
Table 8.
Impact of split layer on logical CCR for the circuit c432.
Split Layer | M1 | M2 | M3 | M4 | M5 | M6 | M7 | M8 |
---|
Logical CCR | 49.9 | 48.6 | 49.6 | 49.9 | 48.6 | 49.0 | 49.2 | 49.2 |
Table 9.
Case study on “poor man’s split manufacturing”. S. is short for signal (bump).
Table 9.
Case study on “poor man’s split manufacturing”. S. is short for signal (bump).
Metric/Design Case | Regular Nets Lifted | Key-Nets Lifted |
---|
Timing Cost | 423% | 0% |
Die-Area Cost | 0% | 0% |
Power Cost | 3.12% | 1.56% |
Lifted Nets | 80 | 80 |
Bumps: Lifted S.S./Total | 160/181 | 80/101 |
Bump: Power/Total | 44/225 | 95/196 |
Bump Spacing | 200 μm | 225 μm |
Timing Constraint | 15 ns | 15 ns |
Utilization Rate | 0.6 | 0.6 |
Gates | ≈180 K | ≈180 K |