Cryptographic Component Software Validation via Simulator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods are inadequate for validating the proper execution of cryptographic components due to protected memory access, making it difficult to test and validate cryptographic functions, especially when the component is in an operational configuration, leading to increased costs and complexity.

Innovation Solution

A method and system that utilize a simulator to test and validate cryptographic software by comparing the states of memories and results between a cryptographic component and a simplified software replica, allowing for the verification of correct operation without direct access to the memory, using a second software to reproduce cryptographic functions and generate comparable memory states and results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory access is protected in cryptographic components, then security is improved, but the ability to validate and test software functionality deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidmemory validation capability
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent creates a copy of the cryptographic component's software in a test environment where memory can be accessed and validated. The software is compiled twice: once for the cryptographic component with protected memory, and once for a test version with accessible memory. This allows validation of software functionality without compromising the security of the actual cryptographic component.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The validation process is segmented into two separate environments: a production environment where the cryptographic component operates with protected memory, and a test environment where a copy of the software runs with accessible memory. This segmentation allows each environment to serve its specific purpose without compromising the other.

Inventive Principle:
Principle #1Segmentation

2Reliability

If memory access is restricted for security, then data protection is improved, but testing and validation costs increase

Engineering Contradiction:
Improvedata protectionVSAvoidtesting cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

Instead of attempting to access protected memory in the cryptographic component during testing, the patent creates a separate copy of the software that can be freely accessed and tested. This eliminates the need for expensive and complex hardware modifications or security bypasses while still enabling thorough validation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The software is compiled and tested in advance in a permissive environment before being deployed to the cryptographic component. This preliminary validation ensures software correctness before deployment, avoiding the need for expensive post-deployment testing or rework.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If direct memory access is used for validation, then validation speed is improved, but security is compromised

Engineering Contradiction:
Improvevalidation speedVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent achieves fast validation by copying the software to a test environment where memory access is unrestricted. This allows rapid reading and comparison of memory contents during testing while the original cryptographic component maintains its security protections intact.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The test environment acts as an intermediary that provides the benefits of fast memory access without directly accessing the protected cryptographic component. The intermediary copy allows validation operations to proceed quickly while security boundaries remain intact.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3182286B1Method for verifying software functionalities intended for being on-board a cryptographic component, system
Publication Date: 2020.08.12 AIRBUS DS SLC
  • EP3182286B1 patent drawingFigure 1

AI summary

The method for validating the state of a memory (M1) of a simulator (11) of a cryptographic component capable of saving data generated by a cryptographic function, comprises: ▪ A step carried out in the simulator (11) including a first execution of a first cryptographic function generating: o a first state (M1STATUS) of the first memory (M1); o a first result (RESULT_1) of the first command (CDE_1); ▪ a step carried out in a test bench (10) including a second execution of a second simplified cryptographic function, the first and second functions performing the same operations generating: o a second state (M2STATUS) of the memory (M2); o a second result (RESULT_2) of the second command (CDE_2). ▪ A validation step including comparisons (COMP_A, COMP_B): o of the first state (M1STATUS) and the second state (M2STATUS); o of the first result (RESULT_1) and the second result (RESULT_2).