USB Filter Driver for Unique Device Identification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current management solutions for USB devices do not provide a way to uniquely identify and manage specific USB devices, leading to the inability to selectively allow or block particular devices based on their unique identification during enumeration, resulting in all devices with the same hardware, USB class, or Windows identifiers being treated as identical.
Innovation Solution
A filter driver is loaded on the device stack of USB devices to retrieve and compare unique identifiers such as USB container IDs or serial numbers with policies, allowing or blocking access based on these identifiers, thereby enabling selective management of specific USB devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If USB devices are managed using hardware identifiers, USB class identifiers, or Windows identifiers, then devices can be managed at a general level, but identical devices with the same identifiers cannot be differentiated or selectively managed
Solution Approach 1:
The patent segments the device identification process by introducing a filter driver layer in the device stack that operates separately from standard USB enumeration. This filter driver captures and processes unique device identifiers (such as serial numbers or custom identifiers) independently, allowing each USB device to be individually identified and managed regardless of identical hardware or class identifiers. The segmentation enables granular control over device access policies.
2Ease of operation
If all USB devices with the same hardware identifiers are treated as identical, then management is simplified, but selective allow/block control for specific devices becomes impossible
Solution Approach 1:
The filter driver performs preliminary action by intercepting and processing unique device identifiers during the early stages of USB device enumeration, before the device is fully recognized or activated. This allows the system to pre-evaluate devices against security policies and determine whether to allow or block them before they can cause security issues. The preliminary identification and policy evaluation prevent unauthorized devices from being accessed while maintaining simple management for authorized devices.
3Reliability
If a filter driver is loaded during USB device enumeration to retrieve and compare unique identifiers with policies, then selective device management is enabled, but the device stack complexity increases
Solution Approach 1:
The filter driver serves as an intermediary component within the USB device stack, positioned between the USB bus driver and the device-specific drivers. It mediates the enumeration process by capturing unique device identifiers, comparing them against stored policies, and determining whether to allow or block device access. This intermediary approach maintains reliability through policy-based control while managing complexity by integrating the filter driver as a standardized layer that works with existing USB device stack components without requiring fundamental architectural changes.
Data Source
AI summary
Identical USB devices can be differentiated and managed. During enumeration, a filter driver can be loaded on the device stack of any USB device to enable it to selectively allow or block the particular USB device based on a unique identifier of the USB device. The filter driver can obtain this unique identifier of the particular USB device and compare it to an applicable policy to determine whether the particular USB device is allowed. If the policy indicates that a USB device having the unique identifier should be blocked, the filter driver can stop the enumeration process so that the USB device cannot be accessed.


