US 11,720,654 B2
Timed unlocking and locking of hardware intellectual properties
Swarup Bhunia, Gainesville, FL (US); Abdulrahman Alaql, Gainesville, FL (US); Aritra Dasgupta, Gainesville, FL (US); and Md Moshiur Rahman, Gainesville, FL (US)
Assigned to University of Florida Research Foundation, Inc., Gainesville, FL (US)
Filed by University of Florida Research Foundation, Inc., Gainesville, FL (US)
Filed on Dec. 13, 2021, as Appl. No. 17/549,184.
Claims priority of provisional application 63/126,149, filed on Dec. 16, 2020.
Prior Publication US 2022/0188387 A1, Jun. 16, 2022
Int. Cl. G06F 21/14 (2013.01); G06F 21/12 (2013.01); G06F 21/75 (2013.01); G06F 21/72 (2013.01)
CPC G06F 21/123 (2013.01) [G06F 21/14 (2013.01); G06F 21/72 (2013.01); G06F 21/75 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of protecting an integrated circuit design by locking sequential and combinational logic of the integrated circuit design, the method comprising:
obtaining a gate-level netlist for the integrated circuit design, wherein functionality of the integrated circuit design is enabled by entering of key inputs;
identifying control path state elements that constitute a finite state machine (FSM) within the integrated circuit design and any pseudo-state elements within the gate-level netlist for the integrated circuit design, wherein the pseudo-state elements constitute data path flip-flop circuit elements that impact a state transition of the FSM;
adding one or more extra FSM elements using a multiplexer to an input of individual ones of a plurality of target elements of the integrated circuit design in parallel with original design logic at the input of the target element, wherein the plurality of target elements constitute the identified control path state elements and pseudo-state elements, wherein the one or more extra FSM elements are driven by an output of an obfuscation finite state machine that accepts a subset of the key inputs corresponding to a functional key sequence for facilitating a permanent mode of operation for the integrated circuit design or the subset of the key inputs corresponding to a test key sequence for facilitating a temporary mode of operation of the integrated circuit design until occurrence of a defined event, wherein occurrence of the defined event causes a corruption of the functionality of the integrated circuit design, wherein an input of incorrect keys that do not correspond to the functional key sequence and the test key sequence cause the corruption of the functionality of the integrated circuit design;
adding a data path enable finite state machine to implement the corruption of the functionality of the integrated circuit design, wherein input values to the data path enable finite state machine correspond to a subset of the key inputs that do not match the functional key sequence or the test key sequence; and
generating an obfuscated gate-level netlist of the integrated circuit design after completion of the adding operations.