EP3069277A1 - Method for spreading elementary cells in integrated circuit - Google Patents
Method for spreading elementary cells in integrated circuitInfo
- Publication number
- EP3069277A1 EP3069277A1 EP14792511.9A EP14792511A EP3069277A1 EP 3069277 A1 EP3069277 A1 EP 3069277A1 EP 14792511 A EP14792511 A EP 14792511A EP 3069277 A1 EP3069277 A1 EP 3069277A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- distribution
- elementary cells
- integrated circuit
- cells
- elementary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Definitions
- the present invention relates to a method for spreading elementary cells in integrated circuit intended to include predetermined quantities of several predetermined functions, the implementation of said predetermined functions necessitating the integration of elementary cells of several kinds on the integrated circuit, this integration leading to a predictable distribution of elementary cells while using classical automatic conception tools.
- the invention concerns integrated circuits used for secure applications and sensible to reverse engineering like smart card chips, crypto processors, authentication circuits, cipher machines and, more generally, any other circuit that is not designed for secure application but that can be a good candidate for reverse engineering for example for cloning purpose.
- the invention also pertains to an integrated circuit wherein elementary cells are spread according to the method of the invention and to a device using said method.
- the logic part of an integrated circuit is made of synthesized logic: standard cells, also named gates or elementary cells, are placed on the silicon substrate and are connected to each other to obtain the wanted function.
- standard cells also named gates or elementary cells
- the scale order of the number of elementary standard cells is 100, so around 100 or multiples of 100 whereas the total number of cells used in a complex circuit can be comprised between several thousands to several millions ( ⁇ 1 M cells for a complex current smart card chip).
- the standard cells are placed and connected by automatic tools that use custom criteria to optimize final chip size or power consumption. Reversing the entire circuit for extracting hidden data could be very long and costly.
- Classical reverse engineering techniques require: Chip deprocessing, large amount of pictures collection for each metal layer, manual or pseudo manual analysis of the pictures to retrieve the circuit netlist and functionality.
- Such techniques are based on statistical gate analysis.
- the probability of occurrence of a specific gate within the total number of gates used can help the attacker to guess the function of the gate without performing the entire reverse engineering of the cell itself. Indeed, basic cells are widely used and, for example, NAND gates will be ranked in first whereas complex gate will arrive on last position.
- XOR gates will be mainly placed in the coprocessor area or in encryption functions and fast access latches gates will be used for CPU ALU internal registers.
- the present invention aims at avoiding the above-mentioned reverse engineering statistical methods to succeed while relying on automated tools.
- the present invention is defined, in its broadest sense, as a method for spreading elementary cells in integrated circuit intended to include predetermined quantities of several predetermined functions, the implementation of said predetermined functions necessitating the integration of elementary cells of several kinds on the integrated circuit, this integration leading to a predictable distribution of elementary cells while using classical automatic conception tools, said method being characterized in that it includes:
- the invention enables to avoid statistical methods to succeed.
- the introduction of a distribution breaking parameter while using an automatic spreading of elementary cells as provided by automatic tool enables to easily and automatically spreading cells according to a statistically unexpected pattern or cell occurrence.
- the invention relates to hardware issues, how gates are distributed on the final circuit knowing that such distribution is monitored by automated tools.
- the invention changes the physical implementation of the given integrated circuit by notably adapting the number of occurrences for each standard cell at the level of the automated tools.
- the invention intervenes as soon as such automated tools are implicated and relates to the way such automated tools are monitored.
- the method according to the invention allows reducing the risks of malicious attacks. At least, the attacks are more complex to carry out for a malicious attacker.
- the distribution breaking parameters are quantities of each possible set used to implement the function inside the integrated circuit, the total quantity of these sets being equal to the predetermined quantity of the concerned predetermined function.
- This embodiment enables to modify the elementary cells used for the implementation of a given function. By doing so, an obtained circuit will have an elementary cell distribution distinct from the one expected for a given logical design. With such an unexpected elementary cells distribution, the nature of the circuit will be very difficult to deduce. This embodiment prevents statistical analysis by changing the elementary cells occurrence distribution during design phase after logic synthesis step.
- the quantities of each possible set used to implement the function are randomly determined.
- This feature introduces an additional mixing level that will render any attack even more difficult.
- said distribution breaking parameters are introduced in the functioning of a logic synthesis conception tool.
- the distribution breaking parameters are zones defined on at least an area reserved for elementary gates implantation on the integrated circuit associated with a distribution constraint to have similar elementary cells' kind distribution on each of these zones.
- This embodiment leads to an unexpected spreading of the cells as specific localization constraint is applied.
- elementary cells are equally or at least similarly spread among the N zones.
- the goal of the second embodiment is to prevent statistical analysis by changing the position of the gates during the chip design at the place and route step.
- said distribution breaking parameters are introduced in the functioning of a place and route conception tool.
- the invention also concerns a layout data stream, wherein elementary cells are spread using the method according to the invention.
- Such a data stream is a well known product among the integrated circuit manufacturer. It is an essential technical product useful in the integrated circuit manufacturing.
- the invention thus also relates to an integrated circuit wherein elementary cells are spread according to a layout data stream according to the invention.
- the invention also proposes a conception device for circuit integration having automatic conception tools, said device comprising a distribution breaking parameters introduction means to implement the method of the invention.
- one or more embodiments comprise the features hereinafter fully described and particularly pointed out in the claims.
- Figure 1 represents a flowchart of a method for spreading elementary cells in integrated circuit, this method comprising two different embodiments of the invention and resulting in the production of a final layout data stream, typically a Graphic Data System II stream;
- Figure 2 shows three different implementations for a logical AND gate in terms of elementary cells, as used in the first embodiment of the invention
- Figure 3 shows two different implementations for a logical NAND gate in terms of elementary cells, as used in the first embodiment of the invention
- Figures 4A, 4B and 4C show an example of the evolution in the elementary cells distribution as obtained in the eventually obtained integrated circuit when the first embodiment of the invention is applied;
- Figures 5A, 5B and 5C show an example of the evolution in the elementary cells distribution on the eventually obtained integrated circuit as obtained when the second embodiment of the invention is applied.
- FIG. 1 schematically represents a flowchart of a method for spreading elementary cells in integrated circuit. It summarizes the chip design between chip specification and final mask generation (GDSII files generated for mask processing). Such a method typically results in the production of a final layout data stream, typically a Graphic Data System II stream.
- This method includes a first step E0 of determining a logic design LD for the integrated circuit to be obtained. Such a logic design LD lists the logical functions to be implemented.
- a logic synthesis LS is performed. During this step, the elementary cells to implement each logical function are determined.
- Design process floorplans FP are then created during a floorplanning design step E2, which is an early stage in the hierarchical approach to chip design.
- floorplanning takes typically in account some of the geometrical constraints in a design. Examples of this are: bonding pads for off-chip connections are normally located at the circumference of the chip, line drivers often have to be located as close to bonding pads as possible, chip area is given a minimum area in order to fit in the required number of pads, areas are clustered in order to limit data paths thus frequently featuring defined structures such as cache RAM, multiplier, barrel shifter, line driver and arithmetic logic unit, IP-blocks, such as a processor core, come in predefined area blocks, some IP-blocks come with legal limitations such as permitting no routing of signals directly above the block.
- the floorplanning step is followed by a step E3 of placing and routing. Then a step E4 of determining a first Graphic Data System II stream is performed. The design rules are then verified and the GDSII is validated using electrical simulation in a verification step E5.
- FGDSII Graphic Data System stream
- Figure 1 presents two embodiments of the invention.
- the first one is applied to step E1 of logical synthesis of the integrated circuit.
- the second one is applied on the placing and routing step E3.
- step E1 normally at the end of step E1 , the number of elementary cell is known and a distribution function ranking the number of occurence of each cell can be generated. This can lead to successful attack.
- step E0 the number of elementary functions EF to be implemented is known in the logic design LD.
- a step DBI1 of introduction of distribution breaking parameters are introduced in the logical synthesis step E1 .
- These distribution breaking parameters are quantities
- the total quantity of these sets is Nn1 +Nn2+Nn3 equal to the predetermined number of the concerned predetermined elementary function EFn defined in the logic design LD.
- Figure 2 shows three different implementations EF1 1 , EF12, EF13 for a logical AND elementary function in terms of elementary cells.
- EF1 as presented in figure 1 is this AND elementary function having three possible implementation.
- N1 1 , N12, N13 are thus the quantities of each of the three different possible implementations and are the distribution breaking parameters for this embodiment.
- the AND cell EF1 1 is replaced by two NAND cells.
- the AND cell EF1 1 is replaced by three NOR cells. It enables to replace elementary cells by several other elementary cells doing the same function.
- Figure 3 shows two different implementations EF21 and EF22 for a logical NAND elementary function in terms of elementary cells. While considering figure, the NAND function is for example EF2 and N21 , N22 are the quantities of each of the two possible implementations. Here, in EF21 , the logical NAND gate is replaced by four NOR gates.
- Figures 4A, 4B and 4C show an example of the evolution the elementary cells ranking CR as obtained when the first embodiment of the invention is applied. These figures show the number of occurrences Nocc of each cell A to H.
- Figure 4A shows an initial repartition IR of several elementary cells A to H, the cells being classified from the most current to the least current one. Here cells D are the most common while cells H are the less common cells encountered, the order being DAEBCFGH.
- Figure 4B shows the changes MOD in the number of occurrences Nocc for each kind of cells, still ranked as on figure 4A.
- the number of occurrence Nocc is modified by replacing this elementary cell by several other elementary cells that do the same function. It can be seen that cells D and A have a decreasing number of occurrences while cells E, C, F, G, H have increasing number of occurrences.
- elementary cells are replaced by the equivalent function made of other elementary cells. It leads to a change of the overall cell ranking within the distribution.
- the substitution can be done by replacing an elementary cell by an equivalent function randomly chosen among a set of possible combinations of elementary cells as shown on figure 2 and 3.
- Figure 4C shows the broken cells distribution as a modified cells distribution MR after reordering of the cells according to the number of their occurrences.
- the new order is EGCBDAHF.
- the invention modifies the cell distribution and the ranking and it avoids any analysis of the ranking of cells that can leak information about the function of the cell.
- This embodiment does not require any modification of standard elementary cells and is fully compatible with standard automated tools.
- FIGS 5A, 5B and 5C show an example of the evolution in the elementary cells distribution as obtained when the second embodiment of the invention is applied. This embodiment is implemented during the place and route step E3.
- FIG. 5A shows an example of such a classically obtained circuit COC made of 54 elementary cells as a total number of cells. Seven different kinds of cells represented by different filings of each square are present. It can be seen that cells are grouped in specific way, this way enabling an attacker to deduce the purpose of the circuit or at least to know if this is a sensitive zone or not.
- the invention introduces a number N of zones in the integrated circuit as distribution breaking parameter.
- Figure 5B shows the effect of such a distribution breaking parameter, here equal to 4, on the elementary cells spreading.
- the rules to implement this embodiment in such an automated tool are the followings.
- the area reserved for the elementary cells implantations is subdivided in N zones Zn.
- the total number of each cell Ci is divided by N and Ci/N gates is placed in each zone.
- the N number can be chosen between the following interval N e [2,TGn/NEC] where TGn is the total number of logic gates (elementary cells) used for the complete circuit, here 54, and NEC is the Number of Elementary Cells, here 7.
- the choice of number N could be adjusted depending on the wanted security level (more zones, more security).
- Figure 5C shows the obtained broken cells distribution in the form of a final obtained layout FLO of the circuit once the four zones Z1 to Z4 have been grouped.
- This embodiment does not require any modification of standard cells and is fully compatible with standard automated tools as soon as constraints in placement are offered by such a tool.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14792511.9A EP3069277A1 (en) | 2013-11-15 | 2014-10-31 | Method for spreading elementary cells in integrated circuit |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20130306569 EP2874081A1 (en) | 2013-11-15 | 2013-11-15 | Method for spreading elementary cells in integrated circuit |
PCT/EP2014/073445 WO2015071115A1 (en) | 2013-11-15 | 2014-10-31 | Method for spreading elementary cells in integrated circuit |
EP14792511.9A EP3069277A1 (en) | 2013-11-15 | 2014-10-31 | Method for spreading elementary cells in integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3069277A1 true EP3069277A1 (en) | 2016-09-21 |
Family
ID=49683652
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP20130306569 Withdrawn EP2874081A1 (en) | 2013-11-15 | 2013-11-15 | Method for spreading elementary cells in integrated circuit |
EP14792511.9A Ceased EP3069277A1 (en) | 2013-11-15 | 2014-10-31 | Method for spreading elementary cells in integrated circuit |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP20130306569 Withdrawn EP2874081A1 (en) | 2013-11-15 | 2013-11-15 | Method for spreading elementary cells in integrated circuit |
Country Status (2)
Country | Link |
---|---|
EP (2) | EP2874081A1 (en) |
WO (1) | WO2015071115A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010055171A1 (en) * | 2008-11-17 | 2010-05-20 | Intrinsic-Id B.V. | Distributed puf |
US20110113392A1 (en) * | 2009-11-09 | 2011-05-12 | Rajat Subhra Chakraborty | Protection of intellectual property (ip) cores through a design flow |
-
2013
- 2013-11-15 EP EP20130306569 patent/EP2874081A1/en not_active Withdrawn
-
2014
- 2014-10-31 WO PCT/EP2014/073445 patent/WO2015071115A1/en active Application Filing
- 2014-10-31 EP EP14792511.9A patent/EP3069277A1/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010055171A1 (en) * | 2008-11-17 | 2010-05-20 | Intrinsic-Id B.V. | Distributed puf |
US20110113392A1 (en) * | 2009-11-09 | 2011-05-12 | Rajat Subhra Chakraborty | Protection of intellectual property (ip) cores through a design flow |
Non-Patent Citations (4)
Title |
---|
CHAKRABORTY R S ET AL: "HARPOON: An Obfuscation-Based SoC Design Methodology for Hardware Protection", IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 28, no. 10, 1 October 2009 (2009-10-01), pages 1493 - 1502, XP011276729, ISSN: 0278-0070, DOI: 10.1109/TCAD.2009.2028166 * |
JEFFREY T MCDONALD ET AL: "Evaluating component hiding techniques in circuit topologies", COMMUNICATIONS (ICC), 2012 IEEE INTERNATIONAL CONFERENCE ON, IEEE, 10 June 2012 (2012-06-10), pages 1138 - 1143, XP032274368, ISBN: 978-1-4577-2052-9, DOI: 10.1109/ICC.2012.6364542 * |
KENNETH E NORMAN: "Algorithms for White-box Obfuscation Using Randomized Subcircuit Selection and Replacement", 27 March 2008 (2008-03-27), XP055080961, Retrieved from the Internet <URL:http://www.dtic.mil/dtic/tr/fulltext/u2/a486799.pdf> [retrieved on 20130925] * |
See also references of WO2015071115A1 * |
Also Published As
Publication number | Publication date |
---|---|
EP2874081A1 (en) | 2015-05-20 |
WO2015071115A1 (en) | 2015-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3324298B1 (en) | Programmable integrated circuit with stacked memory die for storing configuration data | |
Yasin et al. | Evolution of logic locking | |
CN108206179B (en) | Active interposer for local programmable integrated circuit reconfiguration | |
US10659229B1 (en) | Secure permanent integrated circuit personalization | |
US20110258459A1 (en) | Method for protecting the decrypting of the configuration files for programmable logic circuits and circuit implementing the method | |
JP5146156B2 (en) | Arithmetic processing unit | |
US11063756B1 (en) | Secure intra-chip hardware micro-segmentation using charged particle beam processing | |
CN104243137B (en) | The method of data handling system and initialization data processing system | |
CN113849826A (en) | Protected deployment of machine learning models | |
CN103345609A (en) | Method and device for text encryption and decryption | |
US20220327271A1 (en) | Integrated circuit with peek and poke protection circuitry for multi-tenant usage model | |
Gören et al. | Partial bitstream protection for low-cost FPGAs with physical unclonable function, obfuscation, and dynamic partial self reconfiguration | |
CN104662548A (en) | Protection scheme for embedded code | |
Islam et al. | High-level synthesis of key based obfuscated RTL datapaths | |
Gao et al. | iPROBE: internal shielding approach for protecting against front-side and back-side probing attacks | |
EP2874081A1 (en) | Method for spreading elementary cells in integrated circuit | |
CN104899502A (en) | Apparatus and Method for Software Enabled Access to Protected Hardware Resources | |
Zamanzadeh et al. | Higher security of ASIC fabrication process against reverse engineering attack using automatic netlist encryption methodology | |
Wang et al. | Spear and shield: Evolution of integrated circuit camouflaging | |
CN105227296A (en) | A kind of error resilience misses manufacture method and the device of the 3D crypto chip of injection attacks | |
Sigl et al. | Where technology meets security: Key storage and data separation for system-on-chips | |
Yu et al. | Hardware obfuscation methods for hardware Trojan prevention and detection | |
US9100015B1 (en) | Find-first-set bit circuit and method | |
Yasin et al. | The need for logic locking | |
Wang et al. | Gate camouflaging-based obfuscation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20160615 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
PUAG | Search results despatched under rule 164(2) epc together with communication from examining division |
Free format text: ORIGINAL CODE: 0009017 |
|
17Q | First examination report despatched |
Effective date: 20190313 |
|
B565 | Issuance of search results under rule 164(2) epc |
Effective date: 20190313 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 17/50 20060101AFI20190308BHEP |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: THALES DIS FRANCE SA |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: THALES DIS FRANCE SAS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20211102 |