Custom Keyboard Driver Encryption for Keylogger Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Resident keyloggers can intercept and capture keystrokes entered on a computer, posing a significant risk for identity theft, as existing methods for detection and prevention are either ineffective against unknown keyloggers or unreliable in ensuring hooks are placed before keystroke messages are intercepted.

Innovation Solution

A custom keyboard driver encrypts keystrokes at the hardware level and sends them directly to a browser component for decryption, ensuring that sensitive information is protected from keyloggers, with a mechanism to detect and alert the user if the protection is compromised.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If keystrokes are sent in plain text from keyboard driver to browser, then ease of operation is improved, but security against keyloggers deteriorates

Engineering Contradiction:
Improveease of keystroke processingVSAvoidkeylogger interception
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent introduces an encryption intermediary layer between the keyboard driver and browser. The keyboard driver encrypts keystrokes before sending them to the browser, and the browser decrypts them for processing. This intermediary encryption mechanism prevents keyloggers from intercepting readable keystroke data while maintaining normal keyboard functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter of keystroke data from plain text to encrypted form during transmission. By transforming the data state from readable to encrypted, the system maintains ease of operation for legitimate users while preventing keylogger interception of sensitive information.

Inventive Principle:
Principle #35Parameter changes

2Object-affected harmful factors

If encryption is implemented for keystrokes, then security against keyloggers is improved, but device complexity increases

Engineering Contradiction:
Improvekeylogger protectionVSAvoidkeyboard driver complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent segments the encryption functionality into separate components: encryption in the keyboard driver, transmission of encrypted data, and decryption in the browser. This segmentation allows each component to remain relatively simple while achieving overall security, rather than requiring complex encryption throughout the entire system.

Inventive Principle:
Principle #1Segmentation

3Reliability

If hooks are placed to prevent keylogger interception, then reliability of protection is improved, but difficulty of implementation increases

Engineering Contradiction:
Improveprotection reliabilityVSAvoidhook implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary encryption of keystrokes at the keyboard driver level before they can be intercepted by keyloggers. This preliminary protective action eliminates the need for complex runtime hooks and interception mechanisms, achieving reliable protection through prevention rather than detection.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8973107B2Method and apparatus for securing keystrokes from being intercepted between the keyboard and a browser
Publication Date: 2015.03.03 ZERIFY INC
  • US8973107B2 patent drawing
  • US8973107B2 patent drawing
  • US8973107B2 patent drawing

AI summary

The invention described herein provides a method and system for foiling a keylogger by creating a custom keyboard driver and passing the keystrokes directly to the browser in an encrypted format. The browser (which is used to access the Internet) has a component that decrypts the keystroke before it is sent to the website. Thus the present invention enables the user to go to any website and enter sensitive information (passwords, credit card numbers, etc.) without the keystrokes being intercepted by Keyloggers.In general terms, the invention described herein provides a method and system for (1) modifying the keyboard driver, (2) encrypting the keystrokes between the keyboard driver and the browser, and (3) notifying the user if the invention has been compromised.