Keystroke Encryption in Multi-Session Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-session-enabled computing environments, keystroke data is vulnerable to snooping by software-based keyloggers as it transits through native keystroke I/O message channels, lacking effective encryption mechanisms to protect sensitive information.
Innovation Solution
A keystroke encryption system is implemented, where a keystroke encryptor driver brokers keystroke data between the keyboard device driver and multiple sessions, maintaining a state database to track which applications require encryption. When a protected application gains focus, it sends a control message to enable encryption, and when it loses focus, encryption is disabled, ensuring that only sensitive keystroke data is encrypted.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If keystroke encryption is enabled for protected applications in multi-session environments, then security against keyloggers is improved, but system complexity and performance overhead increase
Solution Approach 1:
The patent segments the keystroke processing system into distinct sessions, with each session independently managing encryption for its protected applications. The keystroke encryptor divides the work by processing keystrokes session-by-session, maintaining separate encryption contexts for each session while using shared cryptographic resources. This segmentation allows selective encryption only where needed without encrypting all keystrokes system-wide, reducing overall complexity.
Solution Approach 2:
The patent applies local quality by enabling encryption only for specific protected applications within specific sessions, rather than applying encryption universally. Each session can have different encryption configurations based on the applications running in it. The system tracks which applications in which sessions require encryption and applies encryption only to those specific local contexts, optimizing security without unnecessary system-wide overhead.
2Reliability
If keystroke encryption is applied to all sessions, then security coverage is improved, but performance and resource management deteriorate
Solution Approach 1:
The patent applies partial action by encrypting only the subset of keystrokes that are actually needed - specifically, keystrokes destined for protected applications in sessions where encryption is enabled. The system determines on a per-keystroke basis whether encryption is required by checking the destination session and application, applying encryption only when necessary rather than universally. This partial approach maintains security coverage for protected data while avoiding the performance penalty of encrypting all keystrokes.
3Manufacturing precision
If the keystroke encryptor tracks application focus state, then encryption accuracy is improved, but processing time increases
Solution Approach 1:
The patent applies preliminary action by pre-establishing the focus state tracking mechanism before keystroke processing occurs. The system maintains continuous knowledge of which applications have focus in each session and pre-determines encryption requirements based on this pre-established state. When a keystroke arrives, the system can quickly reference the pre-tracked focus state to determine encryption needs without performing complex real-time analysis, reducing processing time while maintaining accuracy.
Data Source
AI summary
Encrypting keystroke data in a multi-session-enabled computing device includes receiving a first control message requesting enabling of keystroke encryption for a protected application executing in a first desktop session. The first control message includes application identification information of the protected application. Keystroke encryption is enabled for keystrokes targeting the first desktop session based on receipt of the first control message. Keystroke data sent to the protected application is encrypted while the protected application maintains keyboard focus in the first desktop session. Unencrypted keystroke data is transmitted to another application of a second desktop session while keystroke encryption is enabled for the protected application in the first desktop session.


