Software Program Authentication via Cryptographic Parameters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems are vulnerable to illegal invocation of software programs, which can lead to security breaches, data loss, and system control by attackers, with existing solutions being difficult to implement, inflexible, and expensive.

Innovation Solution

A method that generates and uses digital signatures and system codes to authenticate software programs, preventing unauthorized invocations by computing a cryptographically secure parameter based on the program's digital signature and system code, and encrypting it for secure communication between programs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a reference monitor approach is used to supervise intercommunications and control access, then security against illegal invocation is improved, but implementation difficulty and system complexity increase significantly

Engineering Contradiction:
ImprovesecurityVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the security verification function from the complex reference monitor approach and implements it through a simplified mechanism using digital signatures and system codes. Instead of requiring a full reference monitor to supervise all intercommunications, the system only verifies the authenticity of program invocations through cryptographic parameters, significantly reducing implementation complexity while maintaining security.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses digital signatures as cryptographic copies of program identity information. Rather than requiring complex real-time verification of all program interactions, the system pre-computes and stores digital signature hashes of authorized programs, allowing fast verification through simple comparison of these cryptographic copies during program invocation.

Inventive Principle:
Principle #26Copying

2Reliability

If hardware solutions are used to protect memory buffers against overflow attacks, then security is improved, but cost and inflexibility increase

Engineering Contradiction:
ImprovesecurityVSAvoidcost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent replaces hardware-based memory protection mechanisms with a software-based cryptographic verification system. Instead of using expensive hardware circuits to detect buffer overflow conditions, the system uses digital signatures and system codes to verify program authenticity and prevent illegal invocations, eliminating the need for costly hardware solutions while maintaining security.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If existing security solutions are implemented, then protection against illegal invocation is improved, but adaptability to different system platforms decreases

Engineering Contradiction:
ImprovesecurityVSAvoidplatform adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal security mechanism that works across different system platforms through the use of standard cryptographic algorithms and a centralized verification approach. The system code and digital signature verification mechanism can be implemented on various operating systems and hardware platforms without requiring platform-specific customization, thereby maintaining high adaptability while providing consistent security protection.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7779269B2Technique for preventing illegal invocation of software programs
Publication Date: 2010.08.17 CIENA CORP
  • US7779269B2 patent drawing
  • US7779269B2 patent drawing
  • US7779269B2 patent drawing

AI summary

A technique for preventing illegal invocation of software programs is disclosed. In one particular exemplary embodiment, the technique may be realized as a method for preventing illegal invocation of software programs in a computer system having a first program that invokes a second program. The method may comprise generating a first digital signature for the first program. The method may also comprise making one or more permitted digital signatures available to the second program. The method may further comprise generating a first parameter for the first program, wherein the first parameter is cryptographically computed based on the first digital signature, a memory address for storing the first parameter, and a first system code that is unique to the computer system. The method may additionally comprise making the first parameter available to the second program.