Firmware Feature Enablement via Authenticated Variables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing and maintaining firmware for multiple end-user groups with varying feature sets is complex and costly, leading to increased development, testing, and maintenance efforts, as well as potential errors and piracy due to the need for multiple firmware binaries.

Innovation Solution

Implementing authenticated variables within the firmware to enable or disable features based on user authorization, allowing a single firmware binary to support multiple user groups by using authenticated variables stored in non-volatile random access memory, which are encrypted and accessible only by authorized users.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple firmware binaries are developed for different end-user groups, then feature customization for different user groups is achieved, but development complexity and maintenance costs increase

Engineering Contradiction:
Improvefeature customizationVSAvoidfirmware development complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments firmware features into enabled and disabled states using authenticated variables. Instead of creating separate firmware binaries for different user groups, the single firmware is segmented logically through feature enablement controlled by authenticated variables stored in NVRAM, allowing different feature sets for different users without duplicating the firmware codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the state of features through parameter modification - specifically, setting authenticated variables to enable or disable features. This allows a single firmware binary to adapt to different end-user groups by modifying the enabled/disabled state of features through authenticated variable storage, eliminating the need for multiple firmware versions.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If multiple firmware binaries are maintained for different end-user groups, then feature differentiation is achieved, but maintenance costs and defect rates increase

Engineering Contradiction:
Improvefeature differentiationVSAvoidfirmware reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments feature availability through authenticated variables rather than maintaining separate firmware binaries. This single firmware approach with feature segmentation reduces the total codebase that needs maintenance, thereby reducing maintenance costs and the likelihood of introducing defects in multiple versions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal firmware that can serve multiple end-user groups through feature enablement control. The single firmware binary performs multiple functions by conditionally enabling different features based on authenticated variables, eliminating the need for multiple specialized firmware versions and improving overall reliability.

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

3Reliability

If authenticated variables are stored in NVRAM, then feature access control is achieved, but storage requirements increase

Engineering Contradiction:
Improvefeature access controlVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the feature access control logic into separate authenticated variables stored in NVRAM. This separates the control mechanism from the main firmware code, allowing feature enablement/disability to be managed through small authenticated variable entries rather than storing entire firmware variants, thus minimizing storage requirements while maintaining security.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces authenticated variables as intermediary elements between the firmware and the user. These variables act as mediators that control feature access by storing authentication information in NVRAM, enabling secure feature control without requiring large storage capacities for firmware variants or complex encryption mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10430206B1Multi-user hidden feature enablement in firmware
Publication Date: 2019.10.01 AMERICAN MEGATRENDS
  • US10430206B1 patent drawing
  • US10430206B1 patent drawing
  • US10430206B1 patent drawing

AI summary

A firmware can include multiple features for multiple users enabled based on the presence of authenticated variables. When attempting to access functionality of a feature, the firmware will check for the presence of an authenticated variable corresponding to the feature. The authenticated variable for the feature may be installed by a user. The firmware may data to enable a feature that includes an authenticated variable for enabling the feature and an authenticated variable corresponding to an end-user of the firmware. If the firmware has access to the end-user authenticated variable, the feature authenticated variable is installed.