USB Filter Driver for Unique Device Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveDevice management flexibilityVSAvoidDevice identification precision
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
ImproveDevice management simplicityVSAvoidSecurity risk from unauthorized devices
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
ImproveDevice access control reliabilityVSAvoidDevice stack complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11068613B2Differentiating and managing identical USB devices
Publication Date: 2021.07.20 DELL PROD LP
  • US11068613B2 patent drawing
  • US11068613B2 patent drawing
  • US11068613B2 patent drawing

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.