Permissible Code Analysis via Blockchain Policy Enforcement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data owners face challenges in securely executing computer programs on sensitive data without risking exposure of their data, as they cannot evaluate the code or actions performed by the programs executed, potentially leading to malicious actions.
Innovation Solution
A system that determines permissible functions for program execution by accessing an immutable record on a blockchain, ensuring only approved functions are used, and a trusted analytics chain manages program execution requests and compliance, providing a secure environment for data transfer and compliance enforcement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If data owners allow external systems to execute programs on their sensitive data, then data analysis and processing capabilities are improved, but data security and privacy are compromised due to inability to evaluate code actions
Solution Approach 1:
The patent introduces a trusted intermediary system that acts as a mediator between data owners and external program executors. This intermediary verifies program code against predefined security policies, validates function calls, and ensures compliance with data usage agreements before allowing execution. The intermediary maintains trust without requiring data owners to directly evaluate or understand the external code, thus enabling data analysis while protecting data security.
2Reliability
If data owners restrict program execution to ensure security, then data security is improved, but program functionality and flexibility are reduced
Solution Approach 1:
The patent implements dynamic policy enforcement where security constraints are not static but adapt based on the specific program, data type, and execution context. The system allows different levels of access and different sets of permitted functions depending on the validated program requirements and data sensitivity. This dynamic approach enables the system to maintain high security for sensitive operations while allowing greater flexibility for less sensitive data processing tasks.
Solution Approach 2:
The system changes security parameters (such as permitted functions, data access levels, and execution constraints) based on program validation results. Instead of applying uniform restrictions, the system adjusts security parameters dynamically according to the specific program's needs and the data being processed, thereby maintaining security while maximizing permissible program functionality.
3Reliability
If data owners manually evaluate program code before execution, then data security is improved, but time consumption and operational complexity increase
Solution Approach 1:
The patent implements preliminary validation of program code against security policies before execution is permitted. The trusted intermediary system pre-approves programs by verifying their compliance with security requirements, validating their function calls, and establishing execution constraints in advance. This preliminary action eliminates the need for data owners to perform time-consuming manual code evaluation at the time of data processing, as security verification has already been completed beforehand.
4Reliability
If a trusted intermediary validates every program execution request, then data security is improved, but system complexity and processing overhead increase
Solution Approach 1:
The patent employs syntax tree representations as simplified copies of the actual program code for validation purposes. Instead of analyzing the complete complex program, the system creates and validates a structured representation (syntax tree) that captures the essential control flow and function calls. This copying approach maintains security validation effectiveness while reducing the complexity of the validation process and making the intermediary system more manageable.
Data Source
AI summary
A computing system that is configured to receive requests to send computer executable programs to a data owner system associated with a data source for execution of the computer executable program by the data owner system. The data owner system may store to a blockchain a permitted list of programming functions, function libraries, function syntax definitions, and execution environment requirements. The computing system may be further configured to retrieve the permitted lists. The computing system may be further configured to evaluate the computer executable program using the permitted lists to determine if the computer executable program may be executed by the data owner system. The evaluation may be performed by generating an abstract syntax tree of the computer executable program. The computing system may be further configured to send the computer executable program to the data owner system if the computer executable program satisfies the conditions of the permitted lists.


