Integrated Circuit Security Block for Cloning Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manufacturers of semiconductor devices face challenges in preventing unauthorized cloning of devices due to the need for unique software and customized integrated circuits for each device type, which is time-consuming and logistically complex.

Innovation Solution

An integrated circuit with a security feature that detects markers in code to selectively render it executable only on specific 'sales types' of circuits, allowing code to be initially executed on any circuit before being processed by a security script to prevent execution on unauthorized hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If different circuit designs are manufactured for each end device manufacturer to prevent cloning, then security against cloning is improved, but manufacturing complexity and distribution logistics worsen

Engineering Contradiction:
Improvecloning preventionVSAvoidcircuit design variety
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A single integrated circuit design is made universal by incorporating a security feature that can detect and respond to different software types. The circuit includes a security block that scans for marker instructions in the software and selectively decrypts or processes code portions based on the detected software type, allowing one circuit design to securely execute multiple different software types from different manufacturers.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The circuit's behavior is dynamically changed based on detected software parameters. The security block examines software instructions to determine the software type and adjusts its processing accordingly - decrypting certain code portions for authorized software types while leaving them encrypted or non-executable for unauthorized types, thus adapting a single circuit to multiple software configurations.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If different circuit designs are manufactured for each end device manufacturer, then cloning prevention is improved, but testing time and manufacturing cost worsen

Engineering Contradiction:
Improvecloning preventionVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By creating a universal circuit design that can handle multiple software types through its security block, the need to manufacture and test separate circuit designs for each manufacturer is eliminated. Only one circuit design needs to be tested and manufactured, significantly reducing testing time and manufacturing complexity while maintaining cloning prevention capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If code is encrypted to prevent execution on unauthorized circuits, then cloning prevention is improved, but code portability and ease of distribution worsen

Engineering Contradiction:
Improvecloning preventionVSAvoidcode distribution
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The security script performs preliminary processing of the code during the software preparation phase, inserting marker instructions and identifying portions that require selective decryption. This preliminary action allows the code to be distributed in a prepared state that enables the security block to automatically enforce execution restrictions without requiring complex runtime decryption logic or manual configuration.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP1978466A1Integrated circuit and method for secure execution of software
Publication Date: 2008.10.08 STMICROELECTRONICS (RES & DEV) LTD
  • EP1978466A1 patent drawingFigure 1
  • EP1978466A1 patent drawingFigure 2
  • EP1978466A1 patent drawing

AI summary

A method and circuit for processing instruction code allows code to be written in a form that is executable but includes various markers arranged such that a security process in the form of a script can be run on the code to render at least portions of the code non-executable until a corresponding process is run to re-render the code into executable form. This allows the code to be written in a generic form and then personalised to particular circuits having an appropriate secret to allow the code to be descrambled, decrypted or otherwise rendered executable.