Code Processing Apparatus for Secure Linker Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for code processing in collaborative computer program development fail to securely conceal program code from other developers, as general-purpose linkers cannot process encrypted code and require modification of special linkers, which is burdensome and not feasible in all environments.

Innovation Solution

A code processing apparatus that determines and conceals a portion of the code, allowing a general-purpose linker to process it while maintaining secrecy, by generating a protected unlinked code that can be processed by an external linker, and then unconcealing the code to produce a protected linked code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the program code is encrypted to conceal it from other developers, then the code secrecy is improved, but the general-purpose linker becomes incapable of processing the code

Engineering Contradiction:
Improvecode secrecyVSAvoidlinker compatibility
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by performing selective concealment on specific portions of the code (such as confidential information or trade secrets) before providing the code to other developers. The code processing apparatus identifies and conceals only the necessary portions while leaving other parts accessible, allowing the linker to process the code without requiring full decryption. This resolves the contradiction by maintaining secrecy where needed while preserving linker compatibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies local quality by implementing differential concealment strategies on different portions of the code. Instead of encrypting the entire code base, the system applies concealment only to specific sections that require protection (e.g., confidential algorithms, proprietary logic), while leaving other sections in plaintext. This allows the linker to process unprotected sections normally while maintaining security on sensitive portions, thus resolving the contradiction between secrecy and compatibility.

Inventive Principle:
Principle #3Local quality

2Loss of information

If a special linker is used to process encrypted code, then the code secrecy is maintained, but the device complexity and development burden increase

Engineering Contradiction:
Improvecode secrecyVSAvoidlinker complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent applies the extraction principle by separating the concealment function from the linker itself. Instead of modifying the linker to handle encrypted code, the system extracts the concealment operation to a preprocessing step performed by the code processing apparatus. The linker receives already-concealed code and processes it using standard mechanisms, thus maintaining code secrecy without increasing linker complexity or requiring special linker development.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary component (the code processing apparatus) that sits between the code author and the linker. This intermediary performs the concealment operation on specific code portions before passing the code to the linker. The linker remains a standard, unmodified tool that processes the pre-processed code, thus maintaining secrecy through the intermediary while avoiding the need for a complex special linker.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If the program code is temporarily decrypted for processing, then the linker can process the code, but the code secrecy is compromised

Engineering Contradiction:
Improvelinker processing capabilityVSAvoidcode secrecy
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent applies preliminary action by performing the concealment operation before the code is passed to the linker, rather than decrypting during processing. The code processing apparatus identifies confidential portions and applies concealment in advance, creating a modified code version that maintains secrecy throughout the linking process. This eliminates the need for temporary decryption while preserving both linker capability and code secrecy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10229277B2Code processing apparatus and computer program product
Publication Date: 2019.03.12 TOSHIBA DIGITAL SOLUTIONS CORP
  • US10229277B2 patent drawing
  • US10229277B2 patent drawing
  • US10229277B2 patent drawing

AI summary

According to an embodiment, a code processing apparatus includes a determining unit, a concealing unit, an instructing unit, and an unconcealing unit. The determining unit is configured to determine, based on relocation information included in first code data that includes a code body and relocation information representing a portion of the code body to be relocated by a linker, a first portion including at least a part of the code body that is other than the portion. The concealing unit is configured to conceal the first portion. The instructing unit is configured to instruct the linker to process the first code data having the first portion concealed. The unconcealing unit is configured to unconceal the concealed portion of second code data that is generated from the first code data by the linker.