Secure Initial Program Load via Signature Verification and Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing secure boot mechanisms in computing environments face challenges in ensuring the integrity and authenticity of binary code components during the initial program load, particularly in verifying signatures and maintaining flexibility in packaging, which is crucial for compliance with evolving security standards like Common Criteria certification.

Innovation Solution

A method for securely performing an initial program load (IPL) in a computing environment involves verifying signatures of binary code components, allowing them to be unordered, and using an information report block to facilitate secure IPL by checking pointers and setting indicators, ensuring that only verified signed components are loaded, thereby enhancing security and flexibility in component packaging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional secure boot mechanisms are used to verify signatures of binary code components, then security is improved, but device complexity increases due to rigid packaging requirements and specific ordering constraints

Engineering Contradiction:
ImprovesecurityVSAvoidpackaging complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The binary code components are segmented into individual loadable units, each with its own signature verification. The system divides the boot process into discrete verification steps where each component can be independently validated, allowing flexible packaging without requiring a specific ordered structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The packaging structure is made dynamic by removing rigid ordering constraints. Components can be loaded in any order as long as signature verification succeeds, allowing the system to adapt to different packaging configurations without increasing complexity.

Inventive Principle:
Principle #15Dynamics

2Reliability

If rigid packaging with specific ordering constraints is imposed on binary code components, then signature verification reliability is improved, but ease of manufacture deteriorates due to difficulty in adding new components

Engineering Contradiction:
Improvesignature verificationVSAvoidcomponent addition
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

Each binary code component is treated as an independent segment with its own signature. This segmentation allows new components to be added to the packaging without requiring reordering or restructuring of existing components, simplifying the manufacturing process while maintaining verification reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The verification mechanism is designed to be universal, accepting any binary code component that presents a valid signature regardless of its position or order in the packaging. This universality enables easy addition of new components without modifying the verification process.

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

3Ease of manufacture

If unordered binary code components are allowed in the packaging, then ease of manufacture is improved by enabling flexible component addition, but device complexity increases due to additional verification mechanisms needed

Engineering Contradiction:
Improvepackaging flexibilityVSAvoidverification mechanism
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

Signature verification is performed as a preliminary action before loading each binary code component. This preliminary verification ensures that unordered components can be safely loaded without requiring complex runtime checks, as the authenticity is confirmed in advance during the packaging phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Each binary code component carries its own signature information, making it self-identifying and self-verifying. This self-service approach eliminates the need for external verification mechanisms to track or manage component ordering, reducing overall system complexity while enabling packaging flexibility.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3959634B1Secure initial program load
Publication Date: 2024.03.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP3959634B1 patent drawingFigure 1A
  • EP3959634B1 patent drawingFigure 1B
  • EP3959634B1 patent drawingFigure 2A~2C

AI summary

An initial program load of a system component of a computing environment is performed. A determination is made as to whether one or more signatures of one or more signed binary code components relating to the system component are verified. Based on determining that the one or more signatures are verified, additional verification is performed. The additional verification includes obtaining a select binary code component of one or more binary code components relating to the system component and determining whether the select binary code component is a particular signed binary code component. Based on determining that the select binary code component is the particular signed binary code component, a check is performed. The initial program load is continued based on a successful check.