Encrypting Interrupt Vectors for Secure Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current interrupt handling systems in computer systems are vulnerable to hijacking, as the association between interrupt vectors and their handlers is not securely managed, allowing unauthorized access and potential manipulation of interrupt service routines.

Innovation Solution

The method involves encrypting interrupt vectors using a dynamically generated key that incorporates system boot time and vital product data, initializing a Local Interrupt Controller with the encryption key, and using a redirection table to securely route encrypted message-signaled interrupts, while also authenticating device drivers through unique authentication codes to prevent unauthorized access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interrupt vectors are stored in plaintext in the PCI configuration space, then the system operates with simple interrupt handling, but the system becomes vulnerable to hijacking of interrupt handlers

Engineering Contradiction:
Improveinterrupt handler securityVSAvoidinterrupt handling mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary encryption mechanism between the interrupt vector storage and the interrupt handling process. The interrupt vectors are encrypted using a key derived from Vital Product Data (VPD) and system boot time, creating a secure intermediate layer that prevents unauthorized access while maintaining the interrupt handling functionality. This intermediary layer resolves the contradiction by adding security without fundamentally changing the interrupt handling architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the interrupt vector from its original plaintext form into an encrypted form using cryptographic parameters (key derived from VPD and boot time). This parameter change encrypts the interrupt vector while preserving its functional properties, allowing the system to maintain simple interrupt handling operations while significantly improving security against hijacking attempts.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the system uses traditional interrupt vector storage without encryption, then the device complexity remains low, but unauthorized device drivers can manipulate interrupt handlers

Engineering Contradiction:
Improvedevice driver authenticationVSAvoidauthentication mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary authentication by deriving an encryption key from Vital Product Data (VPD) and system boot time before interrupt handling occurs. This pre-established cryptographic key is then used to encrypt interrupt vectors and authenticate device drivers, preventing unauthorized manipulation. The preliminary action of key derivation and encryption setup resolves the contradiction by establishing security controls before potential attacks can occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a cryptographic copy of the interrupt vector that is functionally equivalent but security-hardened. Instead of storing and using the original plaintext interrupt vector, the system uses an encrypted version that requires the derived key for decryption and proper handling. This copying approach allows the system to maintain the original simple interrupt handling path while adding a secure parallel path that prevents unauthorized access.

Inventive Principle:
Principle #26Copying

3Productivity

If interrupt vectors are accessible in plaintext, then the system operates with high efficiency and simplicity, but the association between interrupt vectors and handlers can be hijacked

Engineering Contradiction:
Improveinterrupt handling efficiencyVSAvoidinterrupt hijacking vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces an intermediary encryption layer that processes interrupt vectors without adding significant overhead to the interrupt handling path. The encrypted interrupt vectors are processed through decryption and lookup operations that maintain efficiency while blocking hijacking attempts. This intermediary mechanism resolves the contradiction by providing security protection while preserving the core efficiency of the interrupt handling system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8250273B2Secure handling and routing of message-signaled interrupts
Publication Date: 2012.08.21 LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
  • US8250273B2 patent drawing
  • US8250273B2 patent drawing
  • US8250273B2 patent drawing

AI summary

Encryption of interrupt vectors and authentication of device drivers prevents unauthorized modules from interfering with an interrupt handler. An operating system may encrypt an interrupt vector for a PCI device, initializing a Local Interrupt Controller of a CPU with the key to enable decryption of the interrupt vector, initializing a redirection table on an I/O Interrupt Controller of the CPU with the encrypted interrupt vector, and initializing the PCI device with an encrypted MSI vector for subsequent use in an interrupt request. The PCI device may raise an interrupt that can only be decrypted by the Local Interrupt Controller and used be used by the processor to handle the interrupt. The operating system may also authenticate a driver before executing a request to register, deregister or change an interrupt handler. An authentication code is sent from the OS to the device driver for use in any request. The request is executed only if the operating system determines that the authentication code in the request matches the authentication code stored by the operating system for that device driver.