Secure Sidecar Debugging for Encrypted Software Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Insecure connections between server and client computers in computer networks pose challenges during debugging operations, as trust issues arise due to potential unauthorized access to sensitive data.

Innovation Solution

A method and system for secure debugging, where a secure software application and a secure sidecar debugging application are encrypted, with only the client possessing the private key for decryption, allowing secure transmission and debugging without exposing data to the server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server computer executes the secure software application, then the application can run with access to computing resources, but the server cannot trust the client data due to insecure connections and potential unauthorized access

Engineering Contradiction:
Improvetrust between client and serverVSAvoidunauthorized access to sensitive data
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system segments the debugging functionality into two separate components: a secure sidecar debugging application that runs on the client computer and a debugging interface on the server computer. The sidecar application contains the private key and performs decryption locally, while the server only receives encrypted data and displays debug information. This segmentation ensures that the server never has access to the private key or unprotected sensitive data, resolving the trust issue while maintaining debugging capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secure sidecar debugging application acts as an intermediary between the client and server. It receives encrypted debug data from the client, decrypts it using the private key stored locally on the client computer, processes the debug information, and sends only the processed results to the server. This intermediary approach allows the server to receive debug information without ever having access to the private key or unprotected sensitive data, thereby maintaining security while enabling debugging.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If the secure sidecar debugging application is encrypted with a private key held only by the client, then data security is maintained, but the server cannot directly decrypt or access the debugging information

Engineering Contradiction:
Improvedata protectionVSAvoiddebugging access on server
Core Design Contradiction:
Object-affected harmful factorsVSEase of operation

Solution Approach 1:

The secure sidecar debugging application serves as an intermediary that handles the decryption process. It receives encrypted debug data, decrypts it using the private key stored on the client computer, processes the information, and then sends the processed debug output to the server. This allows the server to display debug information without needing to decrypt the original encrypted data, maintaining both security and operational ease.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The client computer performs the decryption operation itself using the secure sidecar debugging application and the private key stored locally. This self-service approach eliminates the need for the server to have decryption capabilities or access to the private key, thereby maintaining data protection while enabling the server to receive and display processed debug information.

Inventive Principle:
Principle #25Self-service

3Object-affected harmful factors

If the server receives encrypted debugging data, then security is maintained, but the server cannot process or debug the application without decryption capabilities

Engineering Contradiction:
Improveinsecure connectionsVSAvoiddebugging efficiency
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

The secure sidecar debugging application on the client computer acts as an intermediary that performs decryption and processing of debug data before transmission to the server. This allows the server to receive already-processed debug information that can be displayed and analyzed, maintaining security over insecure connections while preserving debugging efficiency. The server does not need decryption capabilities because the intermediary has already performed the necessary processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9477845B2Secure application debugging
Publication Date: 2016.10.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9477845B2 patent drawing
  • US9477845B2 patent drawing
  • US9477845B2 patent drawing

AI summary

A method, system, and/or computer program product enables secure debugging of a software application. A first computer receives a secure software application from a second computer. Access to data used by the secure software application is protected by a security object, which allows a processor to access the data used by the secure software application without permitting data to exit unprotected from the processor. The first computer receives from the second computer an encrypted secure sidecar debugging application that is designed to debug the secure software application. In response to detecting an error in execution of the secure software application within the first computer, the first computer transmits the secure software application and the secure sidecar debugging application to the second computer, such that the second computer is enabled to decrypt the secure sidecar debugging application and to debug the secure software application.