Code Signing Server Configuration for Device Restriction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing code signing systems lack the ability to restrict code signing based on employee status and specific device models, allowing unauthorized employees to sign code for multiple device models using a common signing key, which can lead to security concerns and compatibility issues.

Innovation Solution

Implementing a code signing server with different configurations for employees, allowing privileged users to sign code for all device models and unprivileged users to sign code only for specific subsets, using additional headers or modifications to ensure compatibility and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a common signing key is used for multiple device models, then code signing efficiency is improved, but security and authorization control deteriorate

Engineering Contradiction:
Improvecode signing efficiencyVSAvoidauthorization control
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the code signing process by introducing configuration-specific signing keys. Instead of using a single common signing key for all device models, the system divides signing capabilities into multiple configuration-specific keys (e.g., first configuration key for first set of device models, second configuration key for second set of device models). This segmentation maintains efficiency by allowing parallel signing operations while improving security through restricted access control where unprivileged employees can only sign code for specific device model configurations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If code signing is restricted to specific configurations, then security is improved, but system complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a code signing server as an intermediary between employees and the code signing process. The server manages the complexity of configuration-specific signing keys and authorization checks, while employees interact with a simplified interface. The server automatically determines which configuration key to use based on the code type and employee privileges, hiding the underlying complexity from users while maintaining strong security controls.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple signing keys are used for different device models, then authorization control is improved, but processing time increases

Engineering Contradiction:
Improveauthorization controlVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring the code signing server with multiple configuration-specific signing keys and establishing authorization rules in advance. When a code signing request is received, the server has already prepared the appropriate signing keys and can quickly determine which one to use based on the code type and employee privileges. This pre-preparation eliminates the need for real-time key selection and cryptographic operations for key management, significantly reducing processing time while maintaining strict authorization control.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9652599B2Restricted code signing
Publication Date: 2017.05.16 ARRIS ENTERPRISES LLC
  • US9652599B2 patent drawing
  • US9652599B2 patent drawing
  • US9652599B2 patent drawing

AI summary

A method and system is provided for signing data such as code images. In one embodiment, the method comprises receiving, from a requestor, a request to sign the data according to a requested configuration selected from a first configuration, in which the data is for use with any of the set of devices, and a second configuration in which the data is for use only with a subset of a set of devices; modifying the data according to the requested configuration; generating a data signature using the modified data; and transmitting the generated data signature to the requestor. Another embodiment is evidenced by a processor having a memory storing instructions for performing the foregoing operations.