Software Security via Segmented Key Storage and Decryption Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for securing software are inadequate in preventing cloning and reverse engineering, as they fail to effectively restrict access to decryption keys and allow unauthorized use of software by third parties.

Innovation Solution

A device and method utilizing a unique encryption key to encrypt instructions, where the integrated circuit manufacturer controls access to different sets of keys for customers, preventing cloning by using a key database combined with logic circuits to avoid detection, and a memory eraser to securely manage decrypted instructions during the booting sequence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If software is copied to save development cost, then development cost is reduced, but software cloning and unauthorized use increase

Engineering Contradiction:
Improvesoftware copyingVSAvoidsoftware cloning
Core Design Contradiction:
Ease of manufactureVSObject-affected harmful factors

Solution Approach 1:

The encryption key is divided into multiple parts: a first portion stored in a first memory location and a second portion stored in a second memory location. These segments are geographically separated within the integrated circuit, preventing unauthorized access to the complete key while allowing legitimate software copying when both portions are properly combined through the decryption logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A decryption circuit acts as an intermediary between the encrypted software and the processor. This intermediary component requires both key portions to function, mediating the access control process and preventing direct access to the key material while enabling authorized software execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If decryption keys are made accessible for software execution, then software functionality is enabled, but key exposure increases cloning risk

Engineering Contradiction:
Improvesoftware executionVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The decryption key is segmented into two separate portions stored in different memory locations within the integrated circuit. This segmentation ensures that even if one portion is exposed, the complete key remains secure, enabling software execution while maintaining security through distributed key storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The key portions are nested within the integrated circuit structure at different hierarchical levels - the first portion in a first memory location and the second portion in a second memory location, both protected by the circuit's physical and logical security boundaries, allowing controlled access during normal operation.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Reliability

If key access is restricted to prevent cloning, then security is improved, but legitimate software usage may be blocked

Engineering Contradiction:
Improvecloning protectionVSAvoidsoftware access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system dynamically controls key access based on operational context. During legitimate software execution, both key portions are made available to the decryption circuit through controlled internal pathways. During cloning attempts, the segmented key structure and access control logic prevent reconstruction of the complete key, achieving both security and functionality.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The decryption circuit incorporates feedback mechanisms that monitor access patterns and key combination attempts. When legitimate conditions are detected, the circuit enables decryption functionality. When suspicious patterns indicate cloning attempts, the feedback loop blocks access, ensuring both legitimate usage and cloning protection.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8397081B2Device and method for securing software
Publication Date: 2013.03.12 NXP USA INC
  • US8397081B2 patent drawing
  • US8397081B2 patent drawing
  • US8397081B2 patent drawing

AI summary

A device includes a first memory unit adapted to store encrypted instructions, a processor adapted to execute decrypted instructions, a second memory unit accessible by the processor, and a decryption unit. The device includes a key database and a key selection circuit, wherein the key selection circuit is adapted to select a selected decryption key from the key database for decrypting encrypted instructions. The selection is responsive to a fixed selection information stored within the integrated circuit and to received key selection information. A method includes a stage of receiving encrypted instructions; and executing decrypted instructions by a processor. The method includes receiving key selection information, selecting a selected decryption key out of a key database in response to fixed selection information and to the received key selection information, and decrypting encrypted instructions using the selected decryption key.