Extensible SST Device Driver for Secure Hardware Updates
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


