CPU Exception Vector Table Code Authentication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital content providers face security concerns as hackers attempt to modify or introduce unauthorized software on trusted client devices, compromising encryption keys and security measures in digital content delivery systems.

Innovation Solution

A method and system that protect client devices by implementing a code authentication process, which generates and compares hash values of executable code to ensure authenticity, and initializes the CPU exception vector table to execute the code authentication process before handling exceptions, thereby preventing unauthorized code execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a trusted client is used to access digital content, then security is improved, but the client can still be modified by hackers to compromise security measures

Engineering Contradiction:
ImprovesecurityVSAvoidunauthorized code execution
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs code authentication in advance by initializing the CPU exception vector table with pointers to authentication routines before the system operates. This preliminary configuration ensures that authentication checks are automatically performed before any code execution, preventing unauthorized code from running while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The exception vector table acts as an intermediary mechanism between the CPU and executable code. By inserting authentication routines into this vector table, the system creates an intermediate verification layer that all code must pass through, ensuring that only authenticated code can execute while blocking unauthorized modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If code authentication is performed continuously, then security against unauthorized code is improved, but system complexity increases

Engineering Contradiction:
Improvecode authenticityVSAvoidauthentication mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system makes the authentication mechanism self-servicing by configuring the exception vector table to automatically redirect exception handling to authentication routines. Once initialized, the system autonomously performs authentication checks without requiring external intervention or complex control logic, reducing overall system complexity while maintaining continuous security verification.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUSRE47364E1Method and system for protecting against the execution of unauthorized software
Publication Date: 2019.04.23 NBCUNIVERSAL MEDIA LLC
  • USRE47364E1 patent drawing
  • USRE47364E1 patent drawing
  • USRE47364E1 patent drawing

AI summary

In accordance with an embodiment of the present invention, a client device is protected against the execution of unauthorized software. The client includes a code authentication process that verifies the integrity of executable code, by generating and comparing a first hash value of the executable code with a known hash value of the original code. Furthermore, during boot-up, the client initializes a CPU exception vector table with one or more vector table entries. One or more, or all, of the vector table entries direct the CPU to execute the code authentication process prior to executing an event handler when an exception event occurs. Consequently, the code authentication process is virtually guaranteed to execute, thereby protecting against the execution of unauthorized code.