Extensible SST Device Driver for Secure Hardware Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional hardware drivers for Self-Service Terminals (SSTs) like ATMs are complex to update, requiring OS enhancements or separate deployments, which can introduce security vulnerabilities and prolong the installation process due to restricted administrative access and potential OS updates.

Innovation Solution

An extensible SST device driver is implemented, where an application within the OS communicates directly with hardware devices through a communication port, using low-level commands unrecognized by the OS, allowing direct control and updating without OS modifications, enhancing security and reducing maintenance complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hardware drivers are packaged as separate binary components installed as separate packages after the OS, then the OS does not need to be updated when a driver needs to be changed, but this introduces security vulnerabilities and attacks due to requiring special OS permissions for deployment

Engineering Contradiction:
Improvedriver update flexibilityVSAvoidsystem security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent extracts the device driver functionality from the traditional separate binary package model and integrates it directly into the application binary. The application now contains embedded driver code that is loaded and executed within the application's address space, eliminating the need for separate driver packages and their associated security risks while maintaining driver update flexibility.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the device driver code with the application code into a single binary component. The driver functionality is combined with the application logic, allowing both to be deployed together as one package without requiring separate installation processes or special OS permissions.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If the OS is enhanced with a driver packaged into the OS, then driver updates can be performed, but this forces an OS update when a driver needs to be changed, adding complexity and time

Engineering Contradiction:
Improvedriver functionalityVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the system into application layer and OS layer, with the driver functionality placed in the application layer. This segmentation allows driver updates to occur independently of the OS, as the application can be updated without triggering an OS update process, thus reducing update time and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic driver loading mechanism where the application loads driver code from embedded resources at runtime. This dynamic approach allows the driver functionality to be updated by simply updating the application binary, without requiring static OS integration or complex update procedures.

Inventive Principle:
Principle #15Dynamics

3Reliability

If remote network access is forbidden to servicing engineers for security reasons, then system security is maintained, but hardware device updates cannot be performed efficiently

Engineering Contradiction:
Improvesystem securityVSAvoiddevice update efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables self-service capability for hardware device updates by allowing the application to directly load and execute driver code from embedded resources without requiring remote access or engineer intervention. The system can perform updates autonomously by loading new driver functionality from the updated application binary.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9483420B2Self-service terminal (SST) device driver
Publication Date: 2016.11.01 NCR ATLEOS CORP
  • US9483420B2 patent drawing
  • US9483420B2 patent drawing
  • US9483420B2 patent drawing

AI summary

Methods for extensible device drivers and an extensible device driver Self-Service Terminal (SST) are provided. A SST includes an operating system (OS) having a communication port and an application having low-level commands that are specific to a hardware device, which is coupled to the SST; the low-level commands directly capable of being executed by the device. The communication port is operable to relay information and commands (including the low-level commands) between the device and the application. The application directly controls the device, with the low-level commands, and the low-level commands unrecognized by the OS.