Secure Program Execution with Split-Key Confidential Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing confidential computing techniques do not adequately address the risk of data leakage to a program provider and program leakage to a data holder when different users hold data and programs.
Innovation Solution
A program execution system with a data holding apparatus, program providing apparatus, and data processing apparatus that employs a secure computing mechanism, where data and programs are encrypted and processed within a trusted execution environment (TEE) to prevent leakage, using public and shared keys for authentication and signature verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If confidential computing mechanism is used to process data in a secure area, then data confidentiality is improved, but program leakage to data holder and data leakage to program provider cannot be prevented
Solution Approach 1:
The patent divides the key management into separate segments: data holder has SKd, program provider has SKp, and they share a common key K for the secure area. This segmentation ensures that even though both parties have access to the secure area, neither can access the other's private keys, preventing both program leakage to data holder and data leakage to program provider while maintaining data confidentiality
Solution Approach 2:
The common key K acts as an intermediary that both the data holder and program provider share with the data processing apparatus, but neither party can access the other's private keys. This intermediary mechanism allows mutual authentication and secure processing while preventing direct information leakage between the data holder and program provider
2Reliability
If public key encryption is used for data and program transmission, then transmission security is improved, but key management complexity increases
Solution Approach 1:
The patent merges multiple encryption functions into a unified key management scheme where the common key K is used for both data encryption (SKd) and program encryption (SKp). This combining approach reduces the number of separate key management operations while maintaining transmission security through public key infrastructure
3Reliability
If signature verification is implemented for program authentication, then program authenticity is improved, but processing time increases
Solution Approach 1:
The program provider pre-generates and transmits the signature SKp to the data processing apparatus before the actual data processing begins. This preliminary action allows the signature verification to be performed in advance or cached, reducing the time required during the main processing operation while maintaining program authenticity
Data Source
AI summary
A program execution system including a data holding apparatus; a program providing apparatus; and a data processing apparatus that includes a mechanism for performing secret computing in a secure area is provided. The data holding apparatus transmits encrypted data of data D to the data processing apparatus, the program providing apparatus transmits an encrypted program of a program P to the data processing apparatus, the program providing apparatus transmits a secret key SKp to the data processing apparatus, the data processing apparatus generates a first signature by the secret key SKp on behalf of the program providing apparatus and transmits the first signature to the data holding apparatus, the data holding apparatus verifies the first signature and transmits a secret key SKd to the data processing apparatus, and the data processing apparatus computes, in the secure area, a result P(D) by executing the program P based on the data D.


