Homomorphic Encryption Testing System for Secure Production Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software testing during development cycles is challenging due to the large size of software packages, leading to extensive testing times and potential defects post-release, as test data sets often differ from live production data, causing delays and resource inefficiencies.

Innovation Solution

A homomorphic encryption-based testing computing system that securely and efficiently pushes production data to lower-level environments for testing, using a risk-based, automated approach with homomorphic encryption to ensure data integrity and security, allowing for validation of test results against production data without exposing sensitive information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If production data is used for testing, then testing reliability is improved, but data security is compromised

Engineering Contradiction:
Improvetesting reliabilityVSAvoiddata security risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

Homomorphic encryption serves as an intermediary mechanism that enables testing with production-like data while maintaining security. The encryption layer acts as a mediator between the need for realistic test data and the requirement for data protection, allowing computations on encrypted data without exposing sensitive information.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the state of production data by applying homomorphic encryption transformation. This parameter change converts plaintext production data into ciphertext that retains computational properties, enabling testing operations while fundamentally altering the data's security characteristics to protect sensitive information.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If full test suites are run on large software packages, then testing completeness is improved, but testing time increases

Engineering Contradiction:
Improvetesting completenessVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary encryption of production data before testing begins. By pre-processing the data with homomorphic encryption and preparing the testing environment in advance, the system reduces the overall testing time while maintaining complete test suite execution, as the encryption overhead is managed beforehand rather than during test execution.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If test data differs from production data, then testing speed is improved, but testing accuracy deteriorates

Engineering Contradiction:
Improvetesting speedVSAvoidtesting accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system creates encrypted copies of production data that preserve the statistical properties and relationships of the original data. These homomorphically encrypted copies serve as accurate test surrogates, maintaining testing accuracy while enabling faster execution since they can be generated and distributed more efficiently than full production data sets.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12147331B2Homomorphic encryption-based testing computing system
Publication Date: 2024.11.19 BANK OF AMERICA CORP
  • US12147331B2 patent drawing
  • US12147331B2 patent drawing
  • US12147331B2 patent drawing

AI summary

A homomorphic encryption-based testing computing system provides a risk-based, automated, one-directional push of production data through a homomorphic encryption tool and distributes the encrypted data to use in testing of applications. Data elements and test requirements are considered when automatically selecting a homomorphic encryption algorithm. A decisioning component selects an algorithm to use to homomorphically encrypt the data set and a push mechanism performs one or both of the homomorphic encryption and distribution of the encrypted data set to at least one intended host. Once delivered, the testing software and/or testing procedures proceed using the encrypted data set, where results of the testing may be stored in a data store. A validation mechanism may validate the test data against production data and communicates whether testing was successful.