USB Driver Layer Packet Protection for Keyboard Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current USB keyboard security methods, particularly those using filtering and hooking techniques at the HID USB driver or USB hub driver layers, have reached their limits in effectively protecting user input data from malicious keyloggers and spyware, leading to inadequate safety for important information.

Innovation Solution

A method that involves monitoring and filtering input/output packets at the USB driver layer by registering a data protection routine, using identifier filter drivers, and creating clone driver objects to hook and protect packets, ensuring that input/output packets from specific devices like HID USB keyboards are safely processed and protected.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If filtering and hooking methods are applied at the HID USB driver or USB hub driver layers, then keyboard security is improved, but interference and collision between security products occur frequently

Engineering Contradiction:
Improvekeyboard securityVSAvoidinterference and collision between security products
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the USB driver stack into multiple layers (USB driver layer, hub driver layer, HID driver layer, class driver layer) and assigns different security functions to each layer. The USB driver layer handles packet monitoring and classification for all USB devices, while lower layers handle device-specific processing, reducing conflicts between security products.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a USB driver layer as an intermediary between the USB hub driver and higher-level drivers. This intermediate layer monitors and classifies packets before they reach the HID driver layer, preventing direct conflicts between security products operating at different layers while maintaining systematic security control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If filtering and hooking are applied at the HID USB driver layer, then keyboard data protection is achieved, but protection reaches the limits and important information cannot be further safely protected

Engineering Contradiction:
ImproveUSB keyboard data protectionVSAvoidprotection limit
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs packet monitoring and classification at the USB driver layer before packets are processed by the HID driver layer. By establishing security control early in the data flow path, the system prevents malicious interception at higher layers and enables additional protection mechanisms to operate effectively on already-classified packets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent adds a new dimension to USB security by operating at the USB driver layer rather than only at the HID driver layer. This dimensional shift in the driver stack allows simultaneous operation of multiple security products at different layers without conflict, expanding the overall protection capability beyond what single-layer solutions can achieve.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If packet monitoring is performed at the USB driver layer for all USB devices, then comprehensive data protection is achieved, but system complexity increases

Engineering Contradiction:
Improvecomprehensive data protectionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal packet monitoring mechanism at the USB driver layer that handles all USB devices through a common classification framework. The system uses device identifiers and packet type classification to route different device types (keyboards, mice, storage devices) to appropriate processing paths, achieving comprehensive protection without requiring device-specific monitoring code for each device type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8230127B2Method of protecting input/output packet of USB device and apparatus thereof
Publication Date: 2012.07.24 AHNLAB INC
  • US8230127B2 patent drawing
  • US8230127B2 patent drawing
  • US8230127B2 patent drawing

AI summary

Disclosed is a method of protecting an input/output packet of a USB device. The method includes: a) registering a filter driver to a USB host controller within a system, and loading the filter driver; b) generating a first filter driver object (filter device object; FiDO), monitoring input/output packets of all USB devices by attaching the first filter driver object (FiDO) to a device object (functional device object; FDO) for the USB host controller; c) determining if there is an identifier in the input/output packet; d) when it is determined that there is the identifier in the input/output packet, registering a data protection routine in the input/output packet; e) copying the input/output packet from the data protection routine to a predetermined region, and exchanging the input/output packet with a predetermined value.