IP Library Granted Patent US 8,566,608
Granted Patent B2
US 8,566,608 · App. 11/656,236 · Granted Oct 22, 2013

Methods and apparatus for securing keystrokes from being intercepted between the keyboard and a browser

Inventor: Ram Pemmaraju (Old Bridge, NJ)
Assignee: Strikeforce Technologies, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,566,608
App. No.
11/656,236
Granted
Oct 22, 2013
Kind
B2
Abstract

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.

Claims (38)

1. A method for securing keystrokes from being intercepted between a keyboard and a browser, the method comprising:

modifying an Interrupt Device Table of a computer to point to a proprietary keyboard driver for handling keystrokes generated by the keyboard;

retrieving the keystrokes using the proprietary keyboard driver, wherein retrieving the keystrokes includes bypassing a non-proprietary keyboard driver and a system message queue associated with the computer such that the keystrokes are processed by the proprietary keyboard driver and are not processed by the non-proprietary keyboard driver or by the system message queue;

encrypting the keystrokes using the proprietary keyboard driver;

sending the encrypted keystrokes to a browser component; and

decrypting the encrypted keystrokes using the browser component.

2. The method of claim 1 wherein encrypting the keystrokes includes using one of symmetric keys and asymmetric keys.

3. The method of claim 2 wherein the symmetric keys include one of Data Encryption Standard (DES), triple Data Encryption Standard (3DES), Rivest Cipher 4 (RC4), Blowfish, and Advanced Encryption Standard (AES) keys, and wherein the asymmetric keys include Public Key Infrastructure (PKI) keys.

4. The method of claim 1 wherein the browser component includes a Browser Helper Object that appears as a toolbar.

5. The method of claim 1 further comprising:

determining whether the contents of the Interrupt Device Table cannot be modified and, in response to determining that the contents of the Interrupt Device Table cannot be modified, and

notifying the user.

6. The method of claim 1 wherein notifying the user includes generating a popup message box.

7. The method of claim 1 further comprising selectively enabling or disabling the encryption of the keystrokes.

8. The method of claim 7 wherein selectively enabling or disabling the encryption of the keystrokes includes:

determining whether a browser window has focus;

in response to determining that a window has focus, enabling the encryption of the keystrokes; and

in response to determining that a window does not have focus, disabling the encryption of the keystrokes.

9. The method of claim 7 wherein selectively enabling or disabling the encryption of the keystrokes includes one of loading the proprietary keyboard driver from memory and unloading the proprietary keyboard driver from memory.

10. The method of claim 7 wherein selectively enabling or disabling the encryption of the keystrokes is performed using a button associated with the toolbar.

11. A system for securing keystrokes from being intercepted between a keyboard and a browser, the system comprising:

a proprietary keyboard driver loaded in a memory of a computer and configured for:

retrieving a keystroke scan code associated with a keystroke generated by the keyboard;

converting the keystroke scan code into a virtual-key code;

creating a message that includes at least the keystroke scan code and the virtual-key code;

encrypting the message; and

sending the encrypted message to a browser component; and

the browser component loaded in the memory of the computer and configured for:

instructing the proprietary keyboard driver to modify an Interrupt Device Table of the computer to point to the proprietary keyboard driver for handling keyboard interrupts and to bypass a non-proprietary keyboard driver and a system message queue associated with the computer such that the keystrokes are processed by the proprietary keyboard driver and are not processed by the non-proprietary keyboard driver or by the system message queue; and

decrypting the encrypted message.

12. A system for securing keystrokes from being intercepted between a keyboard and a browser, the system comprising:

a proprietary keyboard driver loaded in a memory of a computer and configured for:

retrieving the keystrokes;

encrypting the keystrokes; and

sending the encrypted keystrokes to a browser component; and

the browser component loaded in the memory of the computer and configured for:

instructing the proprietary keyboard driver to modify an Interrupt Device Table of the computer to point to the proprietary keyboard driver for handling keyboard interrupts and to bypass a non-proprietary keyboard driver and a system message queue associated with the computer such that the keystrokes are processed by the proprietary keyboard driver and are not processed by the non-proprietary keyboard driver or by the system message queue; and

decrypting the encrypted keystrokes.

Assignments (2)
CHANGE OF NAME Recorded Dec 22, 2023
From: STRIKEFORCE TECHNOLOGIES, INC.
To: ZERIFY, INC.
Reel/Frame 066127/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2012
From: PEMMARAJU, RAMARAO
To: STRIKEFORCE TECHNOLOGIES, INC.
Reel/Frame 028822/0386 →
Continuity (2)
Provisional Application 60765141 · Feb 2, 2006
Related Publication 20070182714A1 · Aug 9, 2007