Secure Boot Loader Encryption for Embedded Code Piracy Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The transfer of embedded code and data to devices poses risks of piracy, as it can be leaked to unauthorized devices or used to produce clones, and customers may underdeclare the number of devices using the code, leading to unpaid license fees due to lack of transparent tracking.

Innovation Solution

A method and system that securely transfer embedded code and data by storing a first encryption key in the device's memory, encrypting the code and data with a second encryption key, and encrypting the second key using the first key, utilizing a secure boot loader to decrypt and authenticate the code and data, ensuring only authorized devices can use the embedded content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If trap routines are included in embedded code to freeze unauthorized device operation, then device security is improved, but code size increases and the system can still be hacked by replacing trap routines with dummy code

Engineering Contradiction:
Improvedevice securityVSAvoidcode size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the security verification function from the embedded code itself and relocates it to the device's hardware memory. The encryption key is stored in a dedicated memory component separate from the code, and the boot loader is responsible for verification. This separation removes the need for trap routines within the code, reducing code size while maintaining security through hardware-based key storage and boot-time verification.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a boot loader as an intermediary component between the storage medium and the processor. This boot loader acts as a mediator that loads the embedded code only after verifying its authenticity using the encryption key stored in memory. This intermediary layer provides security without requiring trap routines in the code, thus reducing code complexity while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If embedded code is transferred without encryption, then ease of operation is improved, but piracy risks increase including unauthorized device usage and underdeclaration of device counts

Engineering Contradiction:
Improvecode transfer simplicityVSAvoidpiracy risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary anti-action by encrypting the embedded code with an encryption key before transfer and storage. This pre-encryption measure prevents piracy and unauthorized usage before they can occur. The encryption key is stored in the device's memory, and the boot loader verifies the code's authenticity during boot-up, thereby preventing unauthorized device usage and enabling accurate tracking of device counts for license fee calculation.

Inventive Principle:
Principle #9Preliminary anti-action

3Reliability

If encryption keys are stored in device memory, then security against piracy is improved, but device complexity increases

Engineering Contradiction:
Improvepiracy preventionVSAvoidmemory structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the encryption key from the embedded code and stores it separately in the device's memory. This separation simplifies the overall system architecture by dedicating specific memory components for key storage, rather than embedding keys within the code structure. The boot loader handles the verification process, further simplifying the memory structure while maintaining strong piracy prevention capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

4Measurement precision

If unique identification numbers are provided with devices for tracking, then license fee management is improved, but the system can be hacked by replacing identification mechanisms

Engineering Contradiction:
Improvedevice tracking accuracyVSAvoidtracking security
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent uses the boot loader as an intermediary that performs authentication verification during the boot process. Instead of relying solely on identification numbers that can be replaced, the boot loader verifies the embedded code's authenticity using the encryption key stored in memory. This intermediary verification mechanism provides accurate device tracking for license fee management while preventing hacking attempts to replace identification mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9116841B2Methods and systems for securely transferring embedded code and/or data designed for a device to a customer
Publication Date: 2015.08.25 INFINEON TECHNOLOGIES AG
  • US9116841B2 patent drawing
  • US9116841B2 patent drawing
  • US9116841B2 patent drawing

AI summary

The invention relates to methods and systems for securely transferring embedded code or data to a customer, in particular to methods and systems for securely transferring embedded code, data files or program files designed for a device to a customer in order to prevent the embedded code, data files or program files from being used on unauthorized devices.