Source Code Encryption via Segmented Access Keys

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for delivering source code do not allow selective access and compilation, particularly for proprietary source code, which is a security concern and limits the ability to manage access rights effectively.

Innovation Solution

A method involving encryption keys with different access levels is used to encrypt source files, allowing for secure delivery and controlled access, where users with specific keys can compile or edit files, while others cannot, and compression is applied to optimize data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If source code is delivered in plain form for easy access and compilation, then ease of operation is improved, but security deteriorates as unauthorized users can access and compile proprietary code

Engineering Contradiction:
Improveaccess to source codeVSAvoidsecurity of proprietary code
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The source code is segmented into multiple encrypted packages, each protected by a unique decryption key. Different segments can be distributed to different users with different access rights, allowing selective access control while maintaining ease of operation for authorized users.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An encryption/decryption intermediary system is introduced between the source code and the user. The source code remains encrypted during transmission and storage, and only authorized users with the appropriate decryption keys can access it, thus maintaining both security and ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If source code is encrypted to improve security, then reliability is improved, but ease of operation deteriorates as users cannot easily access or compile the code

Engineering Contradiction:
Improvesecurity of proprietary codeVSAvoidaccess to source code
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The encryption system is made dynamic by providing multiple decryption keys with different access levels. Authorized users receive the appropriate key dynamically based on their permissions, allowing them to easily access and compile code they are authorized for while maintaining security for unauthorized code.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The encryption parameters are changed to allow selective decryption. Different portions of the source code are encrypted with different keys, and the system provides mechanisms for authorized users to obtain the specific keys they need, thus maintaining both security and ease of operation.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If all users have access to source code for compilation, then productivity is improved, but security deteriorates as proprietary code becomes vulnerable

Engineering Contradiction:
Improvecompilation capabilityVSAvoidprotection of proprietary code
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Different users are assigned different local qualities of access rights through the encryption system. Some users receive keys that allow full compilation access, while others receive keys that restrict access to specific portions or types of code, thus maintaining productivity for authorized users while protecting proprietary code.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2958040B1Method and device for encoding source files for the secure delivery of source code
Publication Date: 2020.11.18 BULL SA
  • EP2958040B1 patent drawingFigure 1~2
  • EP2958040B1 patent drawingFigure 3~4

AI summary

The invention relates in particular to the encoding of source files necessary for obtaining executable binary files by compilation according to directive files, for the secure delivery of source code. After obtaining at least one source file and at least one directive file, as well as a plurality of encryption keys, each of the encryption keys is selected and said at least one source file is encrypted (105, 110), according to the selected key, to generate at least one corresponding encrypted source file. A package comprising said at least one directive file and the source files encrypted according to each key of the plurality of encryption keys is then generated (120).