Command Encryption via Public Key Mediation for Debugging Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In conventional client-server systems, users can inadvertently execute debugging commands that may damage the system, as there is no mechanism to restrict the submission of such commands from client devices, posing a risk to the security and integrity of the system.

Innovation Solution

Implementing a public key and secret key pair to encrypt commands, where the public key is used for encryption and the secret key is stored on the server, ensuring only authorized entities can decrypt and execute restricted processes like debugging commands, and the secret key is discarded after execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If debugging commands are allowed to be executed freely on client devices, then ease of operation is improved, but system security and reliability deteriorate due to potential damage from improper execution

Engineering Contradiction:
Improvecommand execution accessibilityVSAvoidsystem security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an encryption intermediary mechanism where commands are encrypted using a public key before transmission to the client device. The decryption key remains on the server, acting as a mediator that controls whether the command can be executed. This intermediary layer prevents unauthorized or improper command execution while allowing legitimate operations to proceed normally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary encryption of commands using a public key before they reach the client device. This preliminary action ensures that only properly authorized commands can be decrypted and executed later, preventing improper execution while maintaining ease of operation for legitimate users.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If encryption is implemented for command security, then system security is improved, but device complexity increases due to key management requirements

Engineering Contradiction:
Improvesystem securityVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encryption system is segmented into two distinct key components: a public key that can be freely distributed to client devices for encryption, and a secret key that remains exclusively on the server for decryption. This segmentation allows security to be implemented without requiring complex key management on client devices, as they only need to handle the simpler public key.

Inventive Principle:
Principle #1Segmentation

3Reliability

If secret key is retained on server for decryption, then command security is improved, but loss of information increases if key is discarded after execution

Engineering Contradiction:
Improvecommand authorizationVSAvoidsecret key availability
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system discards the secret key after it has served its purpose of decrypting and authorizing a command. This controlled discarding ensures that once a command is properly executed, the ability to execute that same command again is revoked, preventing replay attacks and ensuring that each command can only be executed once with proper authorization.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11558190B2Using keys for selectively preventing execution of commands on a device
Publication Date: 2023.01.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11558190B2 patent drawing
  • US11558190B2 patent drawing
  • US11558190B2 patent drawing

AI summary

A computer-implemented method according to one embodiment includes receiving, at a first system, a command to start encryption. In response to receiving the command to start encryption, a pair of keys are created on the first system. The pair of keys includes a public key and a secret key. The method further includes outputting the public key to a second system and saving the secret key on the first system. A command encrypted using the public key is received by the first system. The encrypted command is decrypted on the first system using the secret key and the decrypted command is executed. A computer program product according to another embodiment includes a computer readable storage medium having program instructions embodied therewith. The program instructions are readable and/or executable by a computer to cause the computer to perform the foregoing method.