Permissible Code Analysis via Blockchain Policy Enforcement

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata analysis capabilityVSAvoiddata exposure risk
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data owners restrict program execution to ensure security, then data security is improved, but program functionality and flexibility are reduced

Engineering Contradiction:
Improvedata securityVSAvoidprogram functionality
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If data owners manually evaluate program code before execution, then data security is improved, but time consumption and operational complexity increase

Engineering Contradiction:
Improvedata securityVSAvoidcode evaluation time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If a trusted intermediary validates every program execution request, then data security is improved, but system complexity and processing overhead increase

Engineering Contradiction:
Improvedata securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12192390B2Permissible code analysis
Publication Date: 2025.01.07 VIA SCIENCE INC
  • US12192390B2 patent drawing
  • US12192390B2 patent drawing
  • US12192390B2 patent drawing

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.