Secure IC State Management via NVM Lock-Bit Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing secure Integrated Circuits (ICs) lack effective mechanisms to prevent unauthorized access and external tampering, particularly against attacks like laser or Electromagnetic Interference (EMI), while maintaining secure storage of sensitive information in Non-Volatile Memory (NVM).
Innovation Solution
A controller-managed state array with lock-bits and key-bits in Non-Volatile Memory (NVM) determines operational states, setting the IC to locked, unlocked, or error states based on bit comparisons, and performs cryptographic operations using key-bits, with interleaved lock-bits and key-bits to prevent unauthorized access and protect against external tampering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional lock mechanisms are used in secure ICs, then basic access control is provided, but the system is vulnerable to external tampering attacks like laser or EMI
Solution Approach 1:
The patent divides the security mechanism into multiple independent words (first word, second word, third word) stored in NVM, each with its own lock-bits. This segmentation ensures that external tampering with one word does not compromise the entire security system, as the controller can detect inconsistencies between multiple words and respond appropriately by setting the IC to a locked state.
Solution Approach 2:
The patent introduces a controller as an intermediary that manages the security state by reading and comparing lock-bits from multiple words in NVM. The controller acts as a mediator between the physical memory storage and the security decision-making process, enabling detection of tampering attempts and coordination of protective responses without requiring direct access to the memory cells.
2Reliability
If multiple words are stored in NVM with lock-bits for state management, then security against tampering is improved, but the complexity of managing and comparing lock-bits increases
Solution Approach 1:
The patent stores multiple pre-configured words with lock-bits in NVM before the security decision is needed. The expected lock values are predetermined and embedded in the system, allowing the controller to perform simple comparison operations rather than complex calculations when determining the security state. This preliminary preparation simplifies the real-time decision-making process.
Solution Approach 2:
The patent implements a feedback mechanism where the controller reads the current lock-bits from NVM, compares them against expected values, and uses this feedback to determine the appropriate security state. The system continuously monitors the consistency between multiple words and adjusts the IC's operational state based on this feedback, enabling automatic detection and response to tampering attempts.
3Reliability
If the IC is set to locked state to prevent unauthorized access, then security is improved, but legitimate access and debugging capabilities are lost
Solution Approach 1:
The patent implements a dynamic security system where the IC can transition between different operational states (unlocked, locked, error) based on the consistency of lock-bits across multiple words in NVM. This dynamic approach allows the system to adapt its security level in real-time, maintaining ease of operation when no tampering is detected while providing strong security protection when inconsistencies are identified, rather than using a static locked/unlocked binary state.
Data Source
AI summary
An apparatus includes a Non-Volatile Memory (NVM) and a controller. The controller is configured to store in the NVM a state array, which includes multiple words. In each word, one or more bits are designated as lock-bits. The controller is further configured to set an operational state for the apparatus based on the lock-bits of the state array, by (i) deciding whether each word in the state array is locked or unlocked by comparing the lock-bits of that word to respective expected lock values, (ii) if all the words in the state array are found locked, setting the apparatus to a locked state, (iii) if all the words in the state array are found unlocked, setting the apparatus to an unlocked state, and (iv) if one or more of the words are found locked and one or more other words are found unlocked, setting the apparatus to an error state.
