Secret Sharing via Software Content Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In unreliable environments, such as production plants or field-deployed devices, ensuring the authenticity of software introduced into devices is challenging, as secret data may be modified or compromised by third-party software or devices, necessitating secure and authentic insertion methods.

Innovation Solution

A method for secret sharing between devices using symmetric encryption, where a first device encrypts a secret with a calculated key based on predefined hash functions applied to random addresses corresponding to expected software content, ensuring decryption is possible only if the second device stores the expected software, thereby preventing unauthorized access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If secret data is transmitted in encrypted form using a symmetric encryption key, then the confidentiality of the secret is improved, but the ability to verify software authenticity is worsened without additional authentication mechanisms

Engineering Contradiction:
Improveconfidentiality of secret dataVSAvoidauthentication mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines encryption and authentication into a single integrated mechanism. The symmetric encryption key is derived from software-specific data, so that the same key material serves both to encrypt the secret for confidentiality and to authenticate the software's integrity. This merging eliminates the need for separate authentication protocols while maintaining both security properties.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The encryption key serves multiple functions: it provides confidentiality by encrypting the secret data, and simultaneously provides authentication by being derived from software-specific data that only authentic software can reproduce. This multi-functionality reduces system complexity while achieving multiple security goals with a single mechanism.

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

2Measurement precision

If the encryption key is derived from software content using hash functions, then software authentication is improved, but the risk of key compromise in unreliable environments is worsened

Engineering Contradiction:
Improvesoftware authentication accuracyVSAvoidsecurity against third-party compromise
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent introduces a trusted intermediary (the secret itself) that is distributed to devices through a secure channel before deployment. This intermediary serves as a anchor of trust that cannot be compromised by third parties in unreliable environments. The encryption key is derived from both the software content and this pre-established secret, creating a layered security model where the secret acts as a mediator that protects against key compromise while maintaining authentication precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Object-affected harmful factors

If random addresses are used to retrieve software content for key generation, then the security against reverse engineering is improved, but the device complexity for key calculation is worsened

Engineering Contradiction:
Improveresistance to reverse engineeringVSAvoidkey calculation complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-compiling the software and embedding the necessary data structures with known address patterns. The random address selection process operates on pre-structured data, which simplifies the calculation complexity compared to searching through unstructured code. The preliminary organization of software data enables secure key generation without excessive computational complexity.

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If the same encryption key is used for both encryption and authentication, then the system simplicity is improved, but the security risk from key exposure is worsened

Engineering Contradiction:
Improvesystem structure simplicityVSAvoidsecurity against key exposure
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The encryption key is derived from data that is inherently tied to the software itself and the device's secret. This self-service approach means the key is generated autonomously by each device based on its own unique characteristics, eliminating the need for centralized key management. The key's security is bound to the device's own secrets, making exposure unlikely even if the system structure is simple.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3422239B1Methods for sharing and using a secret
Publication Date: 2020.02.05 SAGEMCOM ENERGY & TELECOM SAS
  • EP3422239B1 patent drawingFigure 1A~1B
  • EP3422239B1 patent drawingFigure 2~3
  • EP3422239B1 patent drawingFigure 4~5

AI summary

A first device (D1) wishes to share a secret (S) with a second device (D2) assumed to store predefined software. The first device (D1) obtains a list of random addresses (L@) from a set of addresses corresponding to the software that the second device (D2) is assumed to store, and retrieves the assumed content of the random addresses in this list, using a reference software (SW). The first device (D1) calculates the symmetric encryption key by applying a predefined hash function to the retrieved content, and transmits to the second device (D2), in addition to the secret encrypted using the calculated symmetric encryption key, the list of random addresses (L@). If the second device (D2) does indeed have the expected software, the second device (D2) is able to recover the encryption key from the list of random addresses (L@), and therefore decrypt the secret (S).Otherwise, the second device (D2) is not able to recover the secret (S), the decryption then giving an erroneous result.