Secure Keyboard Input Apparatus Blocking Port-Polling Attacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing keyboard-input security systems are vulnerable to hacking, particularly port-polling attacks and unauthorized access to debug registers, which compromise the security of keyboard input data during processing.
Innovation Solution
A keyboard-input information-security apparatus and method that employs an interrupt-descriptor table to store secure interrupt-service routine addresses, a secure input-device driver to encode and monitor keyboard interrupts, and a security-exception handler to defend against unauthorized access by setting specific bits in debug registers, thereby blocking malicious attempts to access or change settings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a secure input-device driver is used to encode keyboard input data, then keyboard input security is improved, but the system becomes vulnerable to port-polling attacks and debug register access
Solution Approach 1:
The patent applies preliminary anti-action by setting debug register bits (DR6 and DR7) before keyboard input processing to prevent port-polling attacks. The security exception handler is pre-configured to detect and block unauthorized port access attempts, creating a preventive security layer that acts before malicious programs can intercept keyboard data.
Solution Approach 2:
The patent implements preliminary action by establishing security exception handlers and configuring debug registers in advance before keyboard input processing begins. The interrupt descriptor table is pre-modified to include security exception handling routines that will automatically activate when port-polling or debug register access attempts occur.
2Reliability
If debug registers are made accessible for security configuration, then security functionality is improved, but unauthorized access and modification becomes possible
Solution Approach 1:
The patent applies local quality by selectively enabling debug register access only for specific security-critical operations while blocking general access. The security exception handler monitors and controls debug register (DR6, DR7) access on a per-operation basis, allowing authorized security configuration while preventing unauthorized modification.
Solution Approach 2:
The patent introduces the security exception handler as an intermediary between unauthorized programs and debug registers. This intermediary layer intercepts all attempts to access or modify debug registers, verifies authorization, and either permits or blocks the operation, thereby protecting the security configuration from unauthorized changes.
3Reliability
If interrupt-service routines are registered in the interrupt-descriptor table for security handling, then keyboard security is improved, but the system becomes susceptible to interrupt vector manipulation attacks
Solution Approach 1:
The patent implements preliminary action by pre-registering security exception handlers in the interrupt descriptor table at specific vector locations before normal keyboard processing begins. These security handlers are positioned to intercept interrupt vectors before malicious programs can manipulate them, ensuring that security checks occur first in the interrupt handling chain.
Data Source
AI summary
A keyboard-input information-security apparatus and method are provided. The apparatus includes an interrupt-descriptor table for storing a list of addresses of functions for handling interrupts, and storing an address of a secure input interrupt-service routine at a specific location in an address area for an operating-system input interrupt-service routine supported by an operating system; a secure input-device driver for changing keyboard-interrupt-vector information to invoke the address of the secure input interrupt-service routine when a keyboard interrupt is generated by a keyboard, and receiving and encoding data input via the keyboard based on the address of the secure input interrupt-service routine; and a secure input unit for delivering the encoded data from the secure input-device driver to an application program, thereby providing higher-level security than a conventional keyboard-security scheme, and particularly, effectively blocking a port-polling attack or an action trying to change a setting in a debug register.


