(12) United States Patent (10) Patent N0.2 US 8,566,608 B2 Pemmaraju (45) Date of Patent: Oct. 22, 2013



Similar documents
60 REDIRECTING THE PRINT PATH MANAGER 1

(12) United States Patent

Keylogging Identity The Defense System TM. Whitepaper. Legal Club of America 7771 W. Oakland Park Blvd. #217 Sunrise, Florida

NJ (US) (51) Int. Cl. H04L 9/00 ( ) Correspondence Address: (52) US. Cl /278; 713/ 150 ALFRED C. ROTH (57) ABSTRACT

(12> Ulllted States Patent (10) Patent N0.: US 6,591,288 B1 Edwards et al. (45) Date of Patent: Jul. 8, 2003

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Ollis et al. HOME PROCESSOR /\ J\ NETWORK

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2009/ A1 Sanvido (43) Pub. Date: Jun.

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 Boyer et al. (43) Pub. Date: Aug.

(12) United States Patent Armenio et a].

/ \33 40 \ / \\ \ \ M / f 1. (19) United States (12) Patent Application Publication Lawser et al. NETWORK \ 36. SERVlCE 'NTERNET SERVICE

US Al (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2012/ A1 Lundstrom (43) Pub. Date: NOV.

(IP Connection) Miami (54) (76) (21) (22) (51) (52) Application

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2012/ A1 Chung (43) Pub. Date: Aug.

US B1 (12) United States Patent. (10) Patent N0.: US 6,282,278 B1 D0ganata et al. (45) Date 0f Patent: Aug. 28, 2001

(71) Applicant: SPEAKWRITE, LLC,Austin, TX (US)

(12) United States Patent (10) Patent N0.: US 8,695,377 B2 Bachelier et a]. (45) Date of Patent: Apr. 15, 2014

Back up information data by blocks, and generate backup data of each block

Lookup CNAM / other database for calllng

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2005/ A1 Owhadi et al. (43) Pub. Date: Feb.

Filetto et al. [45] Date of Patent: Feb. 15, 2000

(12) United States Patent (10) Patent N0.: US 8,282,471 B1 Korner (45) Date of Patent: Oct. 9, 2012

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2014/ A1 FAN et al. (43) Pub. Date: Feb.

software, and perform automatic dialing according to the /*~102

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1. Operating System. 106 q f 108.

(54) LOTTERY METHOD Publication Classi?cation

(12) United States Patent (16) Patent N6.= US 6,611,861 B1 Schairer et al. (45) Date of Patent: Aug. 26, 2003

The Value of Physical Memory for Incident Response

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 Fukuzato (43) Pub. Date: Jun.

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Du et al. (43) Pub. Date: Aug.

(12) United States Patent (10) Patent N0.: US 7,068,424 B1 Jennings et al. (45) Date of Patent: Jun. 27, 2006

(12) United States Patent Mine et al.

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Weng et al. (43) Pub. Date: Sep.

MacScan. MacScan User Guide. Detect, Isolate and Remove Spyware

(12) United States Patent Wen et a].

(12) United States Patent Edelen

(12) Ulllted States Patent (10) Patent N0.: US 8,532,017 B2 Ojala et a]. (45) Date of Patent: Sep. 10, 2013

Content Provider Artist?zgiputer Rgcord L1a4t6e

1. Overview of Nios II Embedded Development

(12) Patent Application Publication (10) Pub. No.: US 2003/ A1 Wu et al. (43) Pub. Date: Feb. 20, 2003

NETWORK BOUNDARY PRIVATE NETWORK PUBLIC _1 NETWORK

(54) SYSTEM AND METHOD FOR HEDGING W0 WO 00/30053 * 5/2000 AGAINST FOREIGN EXCHANGE RISK. Nusbam, David Trading the Wide World of foreign

(12) United States Patent Culver

US 7,742,946 B2 Jun. 22,2010

(12) United States Patent (16) Patent N6.= US 6,198,814 B1 Gill (45) Date of Patent: Mar. 6, 2001

1. Overview of Nios II Embedded Development

(12) United States Patent Halonen

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2003/ A1 Mobcd ct al. (43) Pub. Date: Sep.

Hay (43) Pub. Date: Oct. 17, 2002

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Forrester (43) Pub. Date: Oct.

remote backup central communications and storage facility

(30) Foreign Application Priority Data

subscription event billing event Dispatch selection to user

7714 Evaluation 7 logic

(54) Applicant: (71) (72) Assignee: (73) (21) (22) (60)

(54) (76) (21) (22) (60) plurality of price panels for displaying currency pair prices, Leong Fai Mah, BridgeWater, NJ (US) (57) ABSTRACT

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2009/ A1 CROSBY (43) Pub. Date: Feb.

(54) RETARGETING RELATED TECHNIQUES (52) US. Cl /1453 AND OFFERINGS. (75) Inventors: Ayrnan Farahat, San Francisco, (57) ABSTRACT

(12) United States Patent

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Yoder (43) Pub. Date: NOV.

How Spyware and Anti-Spyware Work

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2013/ A1 Pi0t (43) Pub. Date: May 30, 2013

wanagamem transformation and management

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Chen (57)

Web Hosting Community 100

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Nej ah (43) Pub. Date: Feb.

(12) United States Patent (10) Patent N0.: US 8,721,047 B2 Sakurai et a]. (45) Date of Patent: May 13, 2014

5,793,972 Aug. 11, 1998

(12) United States Patent (10) Patent N0.: US 6,192,121 B1 Atkinson et al. (45) Date of Patent: Feb. 20, 2001

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2013/ A1 SEO (43) Pub. Date: Mar.

(54) SYSTEM AND METHOD FOR PROXYING Publication Classi?cation FEDERATED AUTHENTICATION PROTOCOLS (51) Int. Cl.

Ulllted States Patent [19] [11] Patent Number: 5,943,406

(12) United States Patent Munshi et al.

(12) Unlted States Patent (10) Patent N0.2 US 7,428,664 B2 Sirbu (45) Date of Patent: Sep. 23, 2008

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2003/ A1. Porras (43) Pub. Date: May 15, 2003

Why focus on assessment now?

Ulllted States Patent [19] [11] Patent Number: 6,141,545

(Us) (73) Assignee: Avaya Technology Corp. Je?' McElroy, Columbia, SC (US); (21) Appl. No.: 10/413,024. (22) Filed: Apr. 14, 2003 (57) ABSTRACT

GATEWAY ' o o o

l / Normal End, client 1 granted access to " System 1

(12) United States Patent Kasamatsu et al.

Keystroke Encryption Technology Explained

\ \ \ connection connection connection interface interface interface

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Park et al. (43) Pub. Date: Apr.

;111: ~~~~~~~~~~~~~~~~~~~ [73] Assigneez Rockwell Semiconductor Systems 5,754,639 5/1998 Flockhart et al...

(12) (10) Patent N0.: US 7,069,466 B2 Trimmer et a]. (45) Date of Patent: Jun. 27, 2006

FIXED INCOME ATTRIBUTION

ZIMBABWE SCHOOL EXAMINATIONS COUNCIL. COMPUTER STUDIES 7014/01 PAPER 1 Multiple Choice SPECIMEN PAPER

* cited by examiner. f130 CPU. r1204 I /110 r140. Endpoint Host Brldge Memory. /120-2 I 150 f120-3 Endpoint SW'tCh Endpoint. F1204 r120-5 f120-n

205 Controller / 205

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Fan et al.

Patent Application Publication Sep. 30, 2004 Sheet 1 0f 2. Hierarchical Query. Contact Ow FIG. 1

17 Claims, 19 Drawing Sheets EG4 SD4 {8L4 ( I; DLI Q P A. \! v,zcll. RG1 7 / l. a U ' 14 A I 1) ~ $ _. _. _. T. _. _. _. /,.

i Sampling Results 1 Batch (12) United States Patent Ravid et a]. US 8,706,742 B1 Apr. 22, 2014 (60) /20 Consistency 60 Validation /

United States Patent [191 Brugliera et al.

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2002/ A1. Mannarsamy (43) Pub. Date: NOV.

(12) United States Patent (10) Patent No.: US 7,922,042 B2 Rossignol (45) Date of Patent: Apr. 12, 2011

Cunneciiun to credit cards dltabase. The system analyzes all credit cards aeecums.

Ml CRO- MICRO PLEASE

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2003/ A1. York (43) Pub. Date: Apr.

(12) (10) Patent N0.: US 6,289,315 B1 Calvi (45) Date of Patent: Sep. 11, 2001

Transcription:

US008566608B2 (12) United States Patent (10) Patent N0.2 US 8,566,608 B2 Pemmaraju (45) Date o Patent: Oct. 22, 2013 (54) METHODS AND APPARATUS FOR (56) Reerences Cited SECURING KEYSTROKES FROM BEING INTERCEPTED BETWEEN THE KEYBOARD U.S. PATENT DOCUMENTS AND A BROWSER (75) (73) Inventor: Ram Pemmaraju, Old Bridge, NJ (US) Assignee: Strikeorce Technologies, Inc., Edison, NJ (US) 5,748,888 A * 7,779,062 B2* 2002/0080967 A1* 2003/0120838 A1* 2003/0159053 A1* 2004/0080529 A1* 2004/0230805 A1* 5/1998 Angelo et a1...... 726/26 8/2010 Waterson..... 709/200 6/2002 Abdo et a1...... 380/270 6/2003 Howarth et a1.. 710/33 8/2003 Fauble et a1... 713/189 4/2004 Wojcik..... 345/738 11/2004 Peinado et a1... 713/181 (*) (21) (22) (65) (60) (51) (52) (58) Notice: Subject to any disclaimer, the term o this patent is extended or adjusted under 35 U.S.C. 154(b) by 1183 days. App1.No.: 11/656,236 Filed: Jan. 22, 2007 Prior Publication Data US 2007/0182714 A1 Aug. 9, 2007 Related US. Application Data Provisional application No. 60/765,141,?led on Feb. 2, 2006. Int. Cl. G06F 21/00 (2013.01) US. Cl. USPC..... 713/189; 713/190; 713/191; 713/192; 713/193;713/194 Field o Classi?cation Search USPC..... 713/185*189 See application?le or complete search history. 2004/0260536 A1* 12/2004 Hwang................. 704/9 2005/0071282 A1* 3/2005 Lu et a1....... 705/64 2005/0177649 A1* 8/2005 Chung Geon et a1...... 710/1 FOREIGN PATENT DOCUMENTS KR 10-2002-0043576 * 9/2004 * cited by examiner Primary Examiner * GhaZal Shehni (74) Attorney, Agent, or Firm * Blank Rome LLP (57) ABSTRACT The invention described herein provides a method and system or oiling a keylogger by creating a custom keyboard driver and passing the keystrokes directly to the browser in an encrypted ormat. The browser (Which is used to access the Internet) has a component that decrypts the keystroke beore it is sent to the Website. Thus the present invention enables the user to go to any Website and enter sensitive inormation (passwords, credit card numbers, etc.) Without the keystrokes being intercepted by Keyloggers. In general terms, the invention described herein provides a method and system or (1) modiying the keyboard driver, (2) encrypting the keystrokes between the keyboard driver and the browser, and (3) notiying the user i the invention has been compromised. 12 Claims, 4 Drawing Sheets 1 IDT / 09 ' Interace / l 1 10 Keyboard Keystroke Encrypter " 1 1 1 l 1 12 Browser / Component Interace

US. Patent 061. 22, 2013 Sheet 1 04 US 8,566,608 B2 101 Keyboard / L 102 Interrupt Controller 1 Interrupt Device Table " 103 Keyboard 104 System Message Queue 105 Browser 106 k Figure 1

US. Patent Oct. 22, 2013 Sheet 2 o4 US 8,566,608 B2 101 Keyboard // Interrupt Controller /1 O2 Interrupt Device Table 103 Proprietary A 107 104 Keyboard 1 Browser Component 108 System Message Queue I 105 106 : Browser // Figure 2

US. Patent Oct. 22, 2013 Sheet 3 0 4 US 8,566,608 B2 IDT /109 ' Interace / 4' 110 Keyboard Keystroke Encrypter i, Browser Component Interace 111 112 Figure 3

US. Patent 061. 22, 2013 Sheet 4 04 US 8,566,608 B2 113 Proprietary //, interace Keystroke Decrypter 114 Browser / Interace 1 15 Figure 4

1 METHODS AND APPARATUS FOR SECURING KEYSTROKES FROM BEING INTERCEPTED BETWEEN THE KEYBOARD AND A BROWSER CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the bene?t o Provisional Patent Application No. 60/765,141?led on Feb. 2, 2006. STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEELOPMENT Not Applicable. REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTING COMPACT DISK APPENDIX Not Applicable. BACKGROUND OF THE INENTION 1. Field o the Invention The present invention relates generally to computer secu rity and, more particularly, to a method and apparatus o encrypting keystrokes, entered on a computer keyboard, beore they are processed by a browser so that resident key loggers cannot capture them. 2. Description o the Related Art What is a Keylogger? A Keylogger is a sotware program that runs in the back ground, recording all the keystrokes. Once keystrokes are logged, they are hidden in the machine or later retrieval, or shipped raw to the attacker. The attacker then peruses them careully in the hopes o either?nding passwords, or possibly other useul inormation such as credit card numbers, social security numbers or any other inormation used to commit identity thet. A keyloggers can enter a user s computer in the ollowing Waysi(1) They can be embedded in images and music?les Which the user downloads When they click on pictures or mp3?les. (2) They can be downloaded inadvert ently When a user browses a malicious Web site. (3) They can be embedded in a virus, spyware or Trojan horse. (4) They can be bundled as a part o sotware that a user downloads or ree. HoW Keyloggers Work When a user presses a key on the keyboard, the keyboard device driver receives scan codes rom the keyboard, Which are sent to the keyboard layout Where they are translated into messages and posted to the appropriate WindoW in the appli cation. Assigned to each key on a keyboard is a unique value called a scan code, a device-dependent identi?er or the key on the keyboard. A keyboard generates two scan codes When the user types a keyione When the user presses the key and another When the user releases the key. The keyboard device driver interprets a scan code and translates it to a virtual -key code, a device-independent value de?ned by the system that identi?es the purpose o a key. Ater translating a scan code, the keyboard driver creates a message that includes the scan code, the virtual-key code, and other inormation about the keystroke, and then places the message in the system message queue. The system removes the message rom the system message queue and posts it to the message queue o the appropriate thread o the applica US 8,566,608 B2 10 20 25 30 35 40 45 50 55 60 65 2 tion. Eventually, the thread s message loop removes the mes sage and passes it to the appropriate WindoW procedure o the application or processing. A keylogger can intercept the keystroke at any point in the chain. It can intercept it in any o ollowing Waysi(1) the keyboard driver leveliby replacing the keyboard driver With a rogue driver, (2) by adding?lters between the keyboard driver and the system message queue. The?lter receives keystrokes rom the keyboard driver beore it is sent to the message queue. and (3) the system message queue leveliby hooking into the WindoWs message queue. A hook is a call back unction provided by the keylogger to the system. When a keystroke message arrives in the message queue, the call back unction associated With the keylogger is called and it is passed the keystroke inormation. The keylogger then stores the keystroke data in a?le Which is later sent to the hacker via an email, an IRC channel or some other means. Current State-o-the Art in Anti-keylogging Currently, there are two Ways to stopping keyloggersi(1) detecting them and (2) preventing them rom hooking the keystroke messages. Keyloggers can be detected by analyzing their signatures. Signatures comprise the characteristics o the keylogger such as?le size,?le name, a checksum, or registry entries. The drawback o this method is that the signatures need to be constantly updated and is not eective against unknown key loggers. Keyloggers can be prevented rom hooking the keystroke messages by placing a hook beore the keylogger s hook and preventing the keystroke messages rom going to the keylog ger. The drawback o this method is that there is no Way to guarantee that a hook can be placed beore the keylogger s hook. BRIEF SUMMARY OF THE INENTION The present invention oils a keylogger by a novel Wayi creating a custom keyboard driver and passing the keystrokes directly to the browser in an encrypted ormat. The browser (Which is used to access the Internet) has a component (a BroWser Helper Object) that decrypts the keystroke beore it is sent to the Website. Thus, the present invention enables the user to go to any Website and enter sensitive inormation (passwords, credit card numbers, etc.) Without the keystrokes being intercepted by Keyloggers. In general terms, the invention described herein provides a method and apparatus or modiying the keyboard driver, encrypting the keystrokes between the keyboard driver and a browser component, and putting the decrypted keystrokes into the browser. Also, the invention has a mechanism to detect i its operation is oiled and make the user aware that the protection mechanism has been compromised. OBJECT AND FEATURES OF THE INENTION In accordance With a?rst aspect o the invention, the inven tion eatures a methodology or taking control o the key board at the hardware level via a proprietary keyboard driver, encrypt the keystrokes and send them the browser, Where they are decrypted. In accordance With a second aspect o the invention, the invention eatures a methodology to detect i its operation is oiled and make the user aware that the protection mechanism has been compromised. BRIEF DESCRIPTION OF THE SEERAL IEWS OF THE DRAWING FIG. 1 depicts the methodology to process keystrokes that exists today.

3 FIG. 2 depicts the novel methodology to process key strokes that is proposed by this invention. FIG. 3 depicts the Proprietary. FIG. 4 depicts the BroWser Component. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Exemplary embodiments o the invention are described herein in terms o processes. E?cient prototypes o such processes have been implemented as computer system sot Ware on general-purpose PC hardware. In accordance With a?rst aspect o the invention, the inven tion eatures a methodology or taking control o the key board at the hardware level via a proprietary keyboard driver, encrypt the keystrokes and send them the browser, Where they are decrypted. FIG. 1 depicts the methodology to process keystrokes that exists today. When a key is pressed on the Keyboard 101, an interrupt is generated Which is sent to the Interrupt Controller 102. The Interrupt Controller 102 goes to a speci?c location in the Interrupt Device Table 103 Which contains the address o the Keyboard 104 Which Will process the inter rupt. The Keyboard 104 retrieves the keystroke scan code, converts the scan code to virtual-key code, creates a message that includes the scan code, the virtual-key code, and other inormation about the keystroke, and sends it to the System Message Queue 105. The message is retrieved by the BroWser 106 Which displays the keystroke. FIG. 2 depicts the novel methodology to process key strokes that is proposed by this invention. The components that implement the invention are the Proprietary Device Driver 107 and the BroWser Component 108. When the BroWser 106 has ocus, the BroWser Component 108 sends a message to the Proprietary 107 to modiy the Interrupt Device Table 103 to point to the Proprietary Device Driver 107 or handling keyboard interrupts. When a key is pressed on the Keyboard 101, an interrupt is generated Which is sent to the Interrupt Controller 102. The Interrupt Controller 102 goes to a speci?c location in the Interrupt Device Table 103 Which contains the address o the Proprietary 107 Which Will process the inter rupt. The Proprietary 107 retrieves the key stroke scan code, converts the scan code to virtual-key code, creates a message that includes the scan code, the virtual-key code, and other inormation about the keystroke, encrypts the message and sends it to the BroWser Component 108. The BroWser Component 108 decrypts the message and sends it to the BroWser 106 Which displays the keystroke. FIG. 3 depicts the Proprietary. It consists o (l) the IDT Interace 109 Which communicates With the sys tem to make changes to the Interrupt Device Table 103 (FIG. 1), (2) the Keyboard 110 Which retrieves the keystroke entered by the user, and (3) the Keystroke Encrypter 111 Which encrypts the keystroke scan code and the virtual-key code, and (4) the BroWser Component Inter ace 112 Which communicates With the BroWser Component 108 (FIG. 2). FIG. 4 depicts the BroWser Component. It consists o (l) the Proprietary Interace 113 Which commu nicates With the Proprietary 107 (FIG. 2), (2) the Keystroke Decrypter 114 Which decrypts the encrypted scan code and the virtual-key code, and (3) The BroWser Interace 115 Which sends the decrypted keystroke message to the BroWser 106 (FIG. 1). US 8,566,608 B2 20 25 30 35 40 45 50 55 60 65 4 In accordance With a second aspect o the invention, the invention eatures a methodology to detect i its operation is oiled and make the user aware that the protection mechanism has been compromised. Reerring to FIG. 2, When the BroWser 106 has ocus, the BroWser Component 108 sends a message to the Proprietary 107 to modiy the Interrupt Device Table 103 to point to the Proprietary 107 or handling keyboard interrupts. I the Proprietary 107 is unable to modiy the Interrupt Device Table 103, it realizes that the system has been compromised by a hacker and dis plays a message to the user that the system has been compro mised. I claim: 1. A method or securing keystrokes rom being inter cepted between a keyboard and a browser, the method com prising: modiying an Interrupt Device Table o a computer to point to a proprietary keyboard driver or 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 sys tem message queue associated With the computer such that the keystrokes are processed by the proprietary key board driver and are not processed by the non-propri etary 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 o claim 1 Wherein encrypting the key strokes includes using one o symmetric keys and asymmetric keys. 3. The method o claim 2 Wherein the symmetric keys include one o Data Encryption Standard (DES), triple Data Encryption Standard (3DES), Rivest Cipher 4 (RC4), BloW?sh, and Advanced Encryption Standard (AES) keys, and Wherein the asymmetric keys include Public Key Inrastruc ture (PKI) keys. 4. The method o claim 1 Wherein the browser component includes a BroWser Helper Object that appears as a toolbar. 5. The method o claim 1 urther comprising: determining Whether the contents o the Interrupt Device Table cannot be modi?ed and, in response to determin ing that the contents o the Interrupt Device Table cannot be modi?ed, and notiying the user. 6. The method o claim 1 Wherein notiying the user includes generating a popup message box. 7. The method o claim 1 urther comprising selectively enabling or disabling the encryption o the keystrokes. 8. The method o claim 7 Wherein selectively enabling or disabling the encryption o the keystrokes includes: determining Whether a browser WindoW has ocus; in response to determining that a WindoW has ocus, enabling the encryption o the keystrokes; and in response to determining that a WindoW does not have ocus, disabling the encryption o the keystrokes. 9. The method o claim 7 Wherein selectively enabling or disabling the encryption o the keystrokes includes one o loading the proprietary keyboard driver rom memory and unloading the proprietary keyboard driver rom memory.

5 10. The method o claim 7 wherein selectively enabling or disabling the encryption o the keystrokes is perormed using a button associated With the toolbar. 11. A system or securing keystrokes rom being inter cepted between a keyboard and a browser, the system com prising: a proprietary keyboard driver loaded in a memory o a computer and con?gured or: retrieving a keystroke scan code associated With a key stroke 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 o the com puter and con?gured or: instructing the proprietary keyboard driver to modiy an Interrupt Device Table o the computer to point to the proprietary keyboard driver or 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 pro US 8,566,608 B2 6 cessed by the non-proprietary keyboard driver or by the system message queue; and decrypting the encrypted message. 12. A system or securing keystrokes rom being inter 5 cepted between a keyboard and a browser, the system com prising: a proprietary keyboard driver loaded in a memory o a computer and con?gured or: retrieving the keystrokes; encrypting the keystrokes; and sending the encrypted keystrokes to a browser compo nent; and the browser component loaded in the memory o the com puter and con?gured or: instructing the proprietary keyboard driver to modiy an Interrupt Device Table o the computer to point to the proprietary keyboard driver or handling keyboard interrupts and to bypass a non-proprietary keyboard driver and a system message queue associated With 20 the computer such that the keystrokes are processed by the proprietary keyboard driver and are not pro cessed by the non-proprietary keyboard driver or by the system message queue; and decrypting the encrypted keystrokes. 25 * * * * *