Software Module Binding With Dynamic Keys Against Malware Theft

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Encryption keys stored on computing devices are vulnerable to theft and misuse by malware, necessitating improved protection mechanisms.

Innovation Solution

A process for binding a first software module with a second software module using encryption or decryption keys, challenge values, and application identifiers, with hardware-backed secure storage and software-based protection such as obfuscation to ensure reliable authentication and secure data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If encryption keys are stored on computing devices for various tasks, then secure communication and identity verification can be enabled, but the keys become vulnerable to theft and misuse by malware

Engineering Contradiction:
Improvesecurity of encryption keysVSAvoidvulnerability to malware theft
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system segments the authentication process into multiple stages: initialization phase where binding information is exchanged and stored, and runtime phase where dynamic authentication occurs. This segmentation allows the system to establish secure bindings upfront while maintaining flexibility during operation, reducing the window of vulnerability to malware attacks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by establishing binding information between software modules during initialization, before actual cryptographic operations begin. This pre-established binding creates a trusted foundation that prevents malware from interfering with key storage and usage, as the modules are already authenticated and bound together.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If software modules exchange secrets to bind themselves during initialization, then mutual authentication can be established, but the system complexity increases

Engineering Contradiction:
Improvemutual authentication of software modulesVSAvoidcomplexity of binding algorithm execution
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses binding information as an intermediary that mediates the authentication relationship between software modules. Instead of modules directly sharing complex secrets, they exchange binding information that serves as a trusted intermediary, simplifying the authentication process while maintaining security. The binding information acts as a reference that both modules can use to verify each other's identity without exposing sensitive cryptographic material.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If static encryption keys are used for data encryption, then secure data transfer can be achieved, but the keys can be targeted and compromised over time

Engineering Contradiction:
Improvesecurity of data transferVSAvoidlifetime of encryption key validity
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The system transitions from static encryption keys to dynamic key derivation at runtime. Instead of using the same binding information continuously, the system dynamically generates authentication keys during operation based on the pre-established binding. This dynamic approach ensures that even if one runtime key is compromised, it cannot be used to derive other keys, effectively limiting the damage window and enhancing long-term security.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters used for encryption at runtime by deriving fresh authentication keys from the static binding information. This parameter change ensures that the actual encryption keys vary with each session or operation, preventing long-term key compromise while maintaining the benefit of secure data transfer. The binding information remains static and secure, while its derived parameters (encryption keys) are dynamic and short-lived.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4086796B1System and method for software module binding
Publication Date: 2026.04.15 VISA INTERNATIONAL SERVICE ASSOCIATION
  • EP4086796B1 patent drawingFigure 1
  • EP4086796B1 patent drawingFigure 2
  • EP4086796B1 patent drawingFigure 3A

AI summary

Embodiments of the invention are directed to methods and systems for software module binding. Cryptographic keys and challenge elements can be exchanged between a first software module and a second software module to create a binding between the first software module and the second software module. As a result, a first software module can securely and authentically access sensitive data and functionality at a second software module, while unauthorized software modules can be prevented from accessing the sensitive data and functionality.