Version Control in Reprogrammable Security Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Reprogrammable security systems, such as set-top boxes, face challenges in preventing unauthorized access as unauthorized users can exploit vulnerabilities in older security code versions by downloading them over newer versions, which may be perceived as valid by the system.

Innovation Solution

A method and system for version control in reprogrammable security systems that utilize a reprogrammable security processor to detect and prevent the execution of invalid code versions by comparing embedded version identifiers, using a one-time programmable memory to track code versions and intervene with security measures when a prior version is detected.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If security code is made reprogrammable to allow updates, then security system can be updated with improved code versions, but unauthorized users can download and install prior versions to circumvent security obstacles

Engineering Contradiction:
Improvesecurity code update capabilityVSAvoidunauthorized access vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent embeds version identifiers in the security code and maintains a record of authorized versions in advance. Before allowing code execution, the system checks whether the code's version identifier matches an authorized version in the record. This preliminary verification prevents unauthorized prior versions from being installed, while still allowing legitimate updates to proceed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the security processor continuously monitors the version identifier of loaded security code against the authorized version record. When a mismatch is detected (indicating an unauthorized prior version), the system responds by rejecting execution or triggering security measures. This closed-loop feedback ensures that only authorized versions can execute.

Inventive Principle:
Principle #23Feedback

2Reliability

If version control mechanisms are implemented to detect prior code versions, then security breaches are prevented, but system complexity increases

Engineering Contradiction:
Improvesecurity breach preventionVSAvoidversion control system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the version verification logic into a separate, dedicated security processor that operates independently from the main system. This security processor contains the version identifier embedding, version record maintenance, and version matching logic. By isolating these functions, the complexity is contained within a specialized component rather than being distributed throughout the entire system.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary security processor that acts as a mediator between the security code and the main system. This intermediary component handles all version control operations - it receives the security code, extracts and verifies the version identifier against the authorized record, and only permits execution if verification succeeds. This intermediary layer simplifies the overall architecture by centralizing complexity in a single dedicated component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9811330B2Method and system for version control in a reprogrammable security system
Publication Date: 2017.11.07 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9811330B2 patent drawing
  • US9811330B2 patent drawing
  • US9811330B2 patent drawing

AI summary

Methods and systems for securing code in a reprogrammable security system are provided and may comprise detecting when a prior version of code is copied over a subsequent version of code. Operations within the system may be controlled based upon detection of the prior version of code. A unique version identifier may be associated with each successive version of code. The system may compare instances of unique version identifier from varied storage mechanisms on a device which may include flash memory, latch memory and one time programmable memory. The same instances of unique version identifier may be compared with a unique version identifier instance independently received from an external entity. When a comparison reveals a prior version of code copied over a subsequent version of code the system may conduct operations specified for a security breach.