Abstract:
Keyboard configurations are described. In embodiments, a keyboard includes a microcontroller to register key inputs, a memory to store time durations that correspond to the key inputs, and an algorithm that generates an input signature based on the time durations that correspond to the key inputs. The input signature can be used for user authentication and identity theft protection, and/or used to validate users for access to a computer system. The input signature may also include a watermark, a timestamp, or voice stamp for further security. An input system that includes a keyboard can provide multi-modal biometric protection by supplementing keystroke-scans with fingerprint, voice-scan, signature-scan and mouse-scan verification.

Description:
RELATED APPLICATIONS 
     This application is a divisional of and claims priority to U.S. patent application Ser. No. 11/776,440 entitled “User Input Authentication and Identity Protection” filed Jul. 11, 2007 to Zilberman, the disclosure of which is incorporated by reference herein in its entirety. U.S. patent application Ser. No. 11/776,440 is a continuation of and claims priority to U.S. patent application Ser. No. 11/232,601 entitled “User Input Authentication and Identity Protection” filed Sep. 22, 2005 to Zilberman, the disclosure of which is incorporated by reference herein in its entirety. U.S. patent application Ser. No. 11/232,601 claims priority to U.S. Provisional Application Ser. No. 60/612,193 entitled “Computer Keyboard with Built-in User Authentication and Method for Identity Theft Protection” filed Sep. 22, 2004 to Zilberman, the disclosure of which is incorporated by reference herein in its entirety. 
    
    
     BACKGROUND 
     The need for people to have passwords that are easy to remember goes contrary to what makes up a good password. People are not very rigorous when ensuring the randomness of passwords. Furthermore, people usually have several passwords to keep track of and therefore are less tempted to create random and difficult-to-remember passwords. The preferred defense is to make passwords nearly impossible to guess, but such strength requires that the password be selected in a totally random fashion. That&#39;s a tall order for humans, because humans are not very good at making up randomness. Furthermore, because people usually have several passwords to keep track of, locking user accounts with random, but difficult-to-remember, strings of characters such as “wX % 95qd!” is a recipe for a support headache. 
     Bending the wrists sideways or up and down while using the keyboard or mouse can cause musculoskeletal disorders such as carpal tunnel syndrome. Numerous studies have shown that the split keyboard design gives the operator a more neutral forearm position compared to a traditional keyboard. Carpal tunnel syndrome (CTS) is a condition that can cause pain, tingling, numbness, and weakness in the fingers and thumb. CTS from work causes is highest between the ages of 20 and 40. 
     In accessing a secure computer system most of us use a username and password. The combination of a username and a password does not constitute strong authentication. That has traditionally been a weak point in authentication systems. In the modern world of global computerization we need a shift from a simple ID and password authentication that is easily intercepted to using a two-factor authentication, which requires people to identify themselves using two unique factors, such as a password along with either a digital certificate, a smart card, or a biometric proof. 
     SUMMARY 
     The proposed method for password authentication uses keystroke-scan characteristics that are unique for each individual. Accordingly, the password authentication method is unobtrusive, reliable and could be used on any data input device that could measure typing intervals with accuracy better than one millisecond. 
     While typing or working at a computer keyboard and performing regularly 10,000 keystrokes per hour users must have a keyboard that will alleviate the stress by improved allocation of keys and decreased force during typing. Split keyboards are designed to straighten the wrist. This can be done in two ways: by increasing the distance between the right and left sides of the keyboard or by rotating each half of the keyboard so that each half is aligned with the forearm. The proposed design uses these two methods. It also uses negative slope and concave well keyboard, elements of which could be found in special expensive keyboards offered on the current market. 
     The combination of advanced ergonomic design and multimodal biometric security protection provides a user-friendly solution that is easy to implement and gives maximum access, communication and transaction security, accompanied by increased functionality and comfort of use. Naturally, the user authentication method described could be also implemented on computers with conventional keyboards as a software-only solution. Furthermore, the ergonomic design of the keyboard configurations may also be implemented without the advanced authentication methods. 
     A keyboard-embedded microchip or keyboard microcontroller with the capability of recording time events with the resolution from 30 milliseconds down to 30 microseconds is used for static and dynamic password and user authentication according to the proposed algorithm. The proposed statistical processing of measured keystroke-scan characteristics results in creating a digital signature that contains unique typing characteristics of a person who types the password during login procedure. The same algorithm creates a unique digital signature irrespective of the input text, which could be used for dynamic unobtrusive verification of the user who is currently working at the keyboard. 
     The example implementation described below incorporates elements of artificial intelligence in helping customers to select a random password that is hardened by an additional digital signature. The password created during first login procedure with an input from a customer becomes a password-for-life. The ultimate keyboard provides also multimodal biometric protection, supplementing keystroke-scan method with fingerprint, voice-scan, and signature-scan or mouse-scan verification. Signature-scan authentication is performed through modified touchpad or Tablet PC and does not require special hardware. Voice-scan verification and/or authentication is performed through two or more microphones embedded in the keyboard. External microphones could be also used for identity verification purpose. 
     The proposed voice-scan module allows a user to record the low- and high-frequency characteristics of voice input and to use them along with the time characteristics of a recorded input for hardening the user&#39;s password and/or for protection against identity theft. 
     In one embodiment, a user may be trained before a strong random password is created and tested. A short self-training program is included in the first login procedure. The algorithm-created password could be used as a single sign-on password for multiple applications. 
     The proposed keystroke-scan and signature-scan authentication may be used in physical keyboards and/or virtual (on screen) keyboards, in USB tokens and USB Flash drives, and/or projection keyboards. 
     The ultimate keyboard has a great potential in becoming the first choice for OEM manufacturers since it allows tailoring the keyboard during ordering according to customers needs and personal preferences. One of the key strengths of the ultimate keyboard is versatility. For example, instead of two Enter keys in the middle of a keyboard along the left and right side of the Touchpad, a customer may select Enter and Space functions for these two keys. Or instead of a RollerBall in the middle or at the top or at the bottom of the keyboard, users could select a Trackbar, a Trackball, a reversed optical mouse, or any other pointing device for manipulating the movements of the cursor. And to give another example, a Touchpad or a Trackball could be placed at the bottom of the keyboard; this solution might be preferable for laptop users who have developed the habit of using their thumbs for mouse navigation. 
     The attached drawings of ergonomic keyboards do not limit the number of modules that could be incorporated in a keyboard of customers&#39; choice. The included figures serve only as an example of choices users have in configuration of their keyboards that ensure comfort of use and security in the modern world of global computerization but do not limit the scope of applications of the proposed ultimate keyboard with built-in security protection. 
     Customization of keyboards during ordering will provide unparalleled functionality, comfort of use and unobtrusive and reliable security in financial and business transactions along with identity theft protection. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Novel features and advantages, in addition to those mentioned above, will become apparent to those skilled in the art from a reading of the following detailed description in conjunction with the accompanying drawings wherein similar reference characters refer to similar parts and in which: 
         FIG. 1  illustrates one example of an ultimate keyboard in accordance with one or more embodiments; 
         FIG. 2  illustrates another example of an ultimate keyboard in accordance with one or more embodiments; 
         FIG. 3  illustrates another example of an ultimate keyboard in accordance with one or more embodiments; 
         FIG. 4  illustrates another example of an ultimate keyboard in accordance with one or more embodiments; 
         FIG. 5  illustrates another example of an ultimate keyboard in accordance with one or more embodiments; 
         FIG. 6  illustrates another example of an ultimate keyboard in accordance with one or more embodiments; 
         FIG. 7  illustrates one example of a well section of the keyboard in accordance with one or more embodiments; 
         FIG. 8  illustrates one example of a rollerball section; 
         FIGS. 9A-9B  illustrate one example of an integral mouse grid for recording cursor movements; 
         FIG. 10  illustrates one example of a mouse grid section showing straight cursor movement; 
         FIGS. 11A-11C  illustrate an example integral typing matrix; and 
         FIG. 12  illustrates one example of a typeprint. 
     
    
    
     DETAILED DESCRIPTION 
     Use of a keyboard-embedded microchip or keyboard microcontroller with the capability of recording time events with the resolution, preferably, better than 30 milliseconds for static and dynamic password and user authentication according to the proposed algorithm is described below. A computer keyboard having built-in user authentication is described in U.S. Pat. No. 6,442,692 incorporated herein by reference. 
     A customer&#39;s unique password hardened by keystroke-scan dynamics could be used as a single sign-on for various applications and does not require changing the password at certain time intervals. It allows the inclusion of “water marks” (hidden numbers or symbols) into the password. 
     Watermarks consist of keystrokes hidden in the passwords, which are not displayed in the password text window, but the computer remembers and waits for them. Since there is never a record of the extra keystrokes, a password thief would not be able to identify them. For example, clicking on any key—such as Home, Insert or Shift—will create a Digital Watermark. When entering your password, the watermark symbols or keystrokes should be typed in exactly the same manner and position to allow authentication of the password. At the end of the password (js57gww14), press the backspace key twice and delete the symbols  14 . The final password is: js57gww. The last two digits (14) plus two backspaces constitute the Digital Watermarks. Digital Watermarks can be added to the password at any time and can appear at the beginning, the middle, or at the end. 
     Password created according to ePassguard algorithm allows dynamic real-time user verification without keeping track of the input text. It is attained using statistical processing of one and two-key combinations even in systems that typically do not have real time capabilities. The Integral Typeprint created irrespective of input text and transparent to the user can be used for dynamic unobtrusive verification of users and for file tagging or prioritized management of folders. 
     The digital signature created during login protects the customer&#39;s identity not by what they know (password) or by what they have (smart card) but by who they are: the keystroke-scan characteristics unique to each individual. 
     In an embodiment, the keyboard-embedded microchip or keyboard microcontroller measures the dwell time on any key and flight time between two consecutive keys with a time resolution from 30 milliseconds down to 30 microseconds. A protocol is used for transferring the measured data to a CPU for further statistical processing, using the latter as a multi-channel analyzer (MCA). The MCA records the typing information received from the microchip or microcontroller into the Integral Typing Matrix (ITM) that consists of approximately 2500 cells. The number of cells may be decreased or increased to incorporate additional symbols or languages. 
     The Individual Typeprint Digital Signature (ITDS) is created irrespective of input text in a transparent-to-user fashion while the user performs his/her usual typing work. 
     When used for dynamic unobtrusive verification of who is typing on the computer, the algorithm has a self-learning feature and becomes independent of deviation from normal typing behavior since only inputs with the smallest deviation from the average values are recorded in the Integral Typing matrix and they are permanently updated during the user typing or working at the keyboard. When the user creates a document or email it could automatically save the unique ITDS that could be attached to the document as a digital signature thus making the document legally binding for business or personal applications. 
     The email that incorporates the ITDS could be used as a safeguard against spam or phishing. The email server could be set up in such a way that only emails with attached or incorporated ITDS that matches ITDS in a database on the given computer or device would pass the filtering process. Another example incorporates matching the ITDS during an email filtering process to the ITDS kept on a third party secure server with encrypted communication. 
     In one embodiment, ITDS could be used to ensure ownership of digital media and authentication in specially designed systems, for example data witness systems, as a tool to collaborate, execute, and archive legally binding contracts and agreements on-line. 
     The ITDS is preferably stored both at the microchip embedded in the keyboard and/or in the CPU of the workstation or terminal for validation reference purposes. Thus, in the preferred embodiment, validation of the ITDS is performed at both ends: the user&#39;s end and at the processing system, e.g., network server. 
     Each cell in the ITM acts as a channel of the multichannel analyzer. Each channel incorporates two registers with five cells for storing typing information in a predetermined fashion. For example, if a user types the letter “s”—the dwell time t s  in reversed time units 1/t (RTU) is measured and stored in cell/channel  920  of the ITM of  FIG. 11 .  FIGS. 11A-11C  illustrate an example integral typing matrix of the present invention. The flight time between s and h is designated as f sh  and is stored in cell/channel  909 . 
     The cell&#39;s number is calculated according to the formula: F ik =50·(i−1)+k, where i is the number of the first key for which the dwell time was measured and k is the number of the second key the flight time to which was measured. 
     The i number is selected from the first vertical column of  FIG. 11 , and the k number is selected from the second horizontal row of the table. For the sake of an example, the cell numbers for dwell t i  and flight f ik  times for password shendli are shown in the Table 1. 
     The cell numbers in Typing Matrix for dwell times t i  and flight times f ik  for password shendli is shown below. 
     
       
         
               
               
               
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 s 
                   
                 h 
                   
                 e 
                   
                 n 
                   
                 d 
                   
                 l 
                   
                 i 
               
               
                   
               
             
             
               
                 920 
                 909 
                 359 
                 356 
                 206 
                 215 
                 665 
                 655 
                 155 
                 163 
                 563 
                 560 
                 410 
               
               
                 t s   
                 f sh   
                 t h   
                 f he   
                 t e   
                 f en   
                 t n   
                 f nd   
                 t d   
                 f dl   
                 t l   
                 f li   
                 t i   
               
               
                   
               
             
          
         
       
     
     Summation of dwell and flight times shown in the above table will give the total time T p  needed to type the password T p =Σ(t i +f ik ). 
     Microchip/microcontroller clock could be used to determine independently T p  by measuring the start time for the letter s and the finish time for the letter i. The difference ΔT′ p  between T p  and T′ p  is due to the existence of debounce time (dbT), which is a characteristic of keyboard design. dbT depends also on the force and velocity applied during typing. dbT for a given individual and his/her password is a pretty constant value that could be used as an additional attribute for password authentication. 
     More specifically, when a user types the first letter s the dwell time t is stored in the first cell of Register-1 of channel  920 . When a user types the letter “s” for the second time, the t s  is measured and stored in the second cell of Register-1 of channel  920  (third time—stored in the third cell, etc.). Once the first four cells of Register-1 are filled, the algorithm calculates the average RTU of the first four inputs t of the letter “s” and stores the value in the last cell of Register-1 (e.g., the fifth cell in this example). This last cell is labeled “average”. 
     In addition to calculating the average, the microcontroller preferably calculates the deviation from the average for each of the four previous RTU inputs and stores the results of the calculations in the respective cells of Register-2. 
     The average of the two stored values of Register-1 with the smallest deviations from average is stored in the last cell of Register-2. This average value is then added to the average value of the fifth cell in Register-1, and its median replaces the t s  of the fifth cell of Register-1. This value is used as the reference value in the established ITDS. 
     With the fifth input of the letter “s” in the above described loop of measuring, storing and processing is repeated in a similar fashion. Thus, for the example above, with each entry of dwell time t s  and flight time f ik , shown in the matrix, the processing loop is repeated and the average t s  and f ik , obtained in the course of processing the last batch of four inputs, is used for upgrading the average t s  and f ik  in the corresponding channel of the ITM. 
     The above described processing algorithm is equally applicable for obtaining the individual&#39;s Typeprint based on password input (e.g., the Password Typeprint) or for obtaining the ITDS based on input of any text, i.e. in the case of “transparent overseeing” or dynamical verification of user&#39;s activity in a security critical environment. 
     In the course of keystroke-scan measuring and processing t s  and f ik , as described in the above example, the values of two cells with highest deviation from an average are preferably ignored and have no effect on average value of the considered channel. The number of fields in a Password Typeprint is determined by the formula: 2n−1, where n is the number of symbols in a password (for password shendli n=7 and the number of fields is 13). However, the number of fields in the password Typeprint could be arbitrarily increased by inserting and then deleting the symbols into the password. Inserted and then deleted symbols act as hidden watermark symbols: they are not included in a transmitted password, but they are included in the Password Typeprint—the digital signature attached to the password for authentication purpose. 
     During the first login procedure or primary authentication (e.g., to establish the Password Typeprint) the user is asked to input his or her password a few times (for example five times). The measured t s  and f ik  values are then used to determine the reproducibility of the Password Typeprint of the current user. The algorithm incorporates a control filter that cuts-off keystroke dynamics with the t s  and f ik  values less than 500 and data with the deviation values more than a preset value (default value—30%). 
     In cases when the ITM is used for “transparent overseeing”, the reference or established ITDS, measured and stored in the database at the CPU, may contain some units or channels which were not produced during the current “transparent overseeing”. In such a case, the verification is conducted based on a comparison of those channel values which are present both in the established (reference) ITDS and the currently generated ITDS. 
     In an embodiment, the algorithm supports the most common standard communication protocols for client—server connection, and provides solutions for alternative protocols. 
     The first login procedure preferably includes three screens. 
     Screen One: Creating ePassguard password 
     Enter your first and last name. 
     Type your pin number. 
     Type your favorite phrase. 
     (Pressing the submenu button in this window opens a list of randomly generated short citations or favorite phrases. For example: never go the supermarket when you are hungry.) 
     Next window: recommended password. 
     The program creates a password according to recommendations by selecting symbols from the above four windows and then dispersing the selected symbols with the pin numbers. The suggested password contains not less than 6 characters and symbols and is not found in a dictionary. For example: for Arkady Zilberman (PIN number 5714) and above given favorite phrase, the suggested password is: az57 ngs14. The window with a suggested password has next to it two buttons: accept and edit. 
     Next window: 
     The window asks the user to type the new password at least ten times before using it. The window instructs the user to pay special attention to typing consistency when using the password. The user should not change fingers or typing style since passwords contain only about ten keys to determine uniqueness of the password. This preferably becomes a permanent password: the user does not need to change it. The user&#39;s identity and sensitive data are strongly protected. 
     The program measures the scatter of Typeprint characteristics and shows a green light (if the scatter is less than 30%) with the caption: you may start using your new ePassguard password now. If the scatter is more than 30%, the yellow light appears on the screen with the caption: Please, type your new ePassguard password with the same speed five more times. 
     Screen Two: 
     The next screen preferably has a window for a password and a caption: ePassguard password. The next caption: type the password once more. 
     Repeat it four times. The algorithm uses five inputs for calculation of the Typeprint that is shown to the right. 
     Screen Three: 
     The next window preferably asks the user to type the ePassguard password—Typeprint preferably appears next to it. See  FIG. 12  for an example of a Typeprint displayed in accordance with one or more embodiments. 
     The Typeprint is preferably constructed immediately using t s  and f ik  values of the password to be authenticated. The Typeprint determined only on this one entry is shown right to this window. The bottom of the window is filled with a green light if password Typeprint is similar and with a red light if it is dissimilar. 
     In one embodiment, a time stamp or delay period may be inserted into the password. In other words, the user may pause before inputting the next symbol of the password. For example, before hitting the next symbol the user may pronounce a phrase (preferably not aloud): “change your thoughts and you will change your destiny”—it becomes the time mark of the typeprint for the given password. To login with this password the user should remember to say the same phrase after the same typed symbol each time on login. Accordingly, the user can insert anywhere in a password a time stamp, for example, 37 seconds and 20 milliseconds, and it will become the part of the user Typeprint. 
     Accordingly, the user can insert anywhere in a password the voice stamp, which is recorded by a microphone and is turned into the time stamp and the data pattern. Accordingly, the user can insert anywhere in a password the graphic stamp, which is prerecorded and turned into the data pattern by using a data extraction algorithm. 
     In one embodiment, the password Typeprint includes watermarks and inserted time stamp but does not compare the typing characteristics. This type of application is needed, for example, if the user is ill and can&#39;t type himself but his secretary or associate or confidant may still login on his behalf and have access to the data. 
     In another embodiment, the password Typeprint includes watermarks and an inserted voice stamp which is recorded by microphone and turned into the data pattern by using the data extraction algorithm, but does not compare the typing characteristics. 
     In another embodiment, the password Typeprint includes watermarks and an inserted graphic stamp which is prerecorded or recorded by a built-in camera and turned into the data pattern by using the data extraction algorithm, but does not compare the typing characteristics. 
     In one embodiment, the ratio or pattern between dwell and flight times within the password is used as a typing characteristic or used to generate a user Typeprint. For example, the ratio between dwell times for password “s h e n d l i” for one user might be 0.9:1.01:0.87:1.0:0.9:0.95:0.88—which would be different from that of another user. In another example, the ratio between flight times for the user is also a stable and unique characteristic and could be used for user authentication along with the password Typeprint. 
     When working with a mouse a user reveals certain characteristics that are as unique as his/her Typeprint produced by keystroke-scan method described above. To enhance statistical processing and retrieval of unique information exhibited by each user using a mouse device, we convert the screen into a grid that contains a certain number of cells. In our example, we consider a grid containing 2500 cells (table illustrated in  FIG. 9 ). The number of cells in the grid could be decreased or increased depending on the used device or screen size. 
     The mouse movement is described by two coordinates: i and k, where i is the cell number in the grid in reference to the vertical axis and k is the cell number of the cell in the grid in reference to the horizontal axis. The black line in the table describes the cursor movement in the opposite direction from cell T 12-8  to T 5-8 . 
     In one embodiment, the system can be programmed to generate a reference mouse characteristic for a user based on cursor movement speed. For example, the user may be shown a computer screen with alphanumeric symbols displayed on the computer screen. The user may be asked to input a password by moving the cursor (via mouse) over the screen to click on the symbols in a desired sequence. The system, preferably using the embedded microcontroller, monitors the mouse movement speed and inputs, and records the password and generates and stores a reference mouse characteristic for the user. This characteristic includes the numbers of cells in the grid and the movement speed between two consecutive cursor stops. Subsequently on the next login, the user again enters the password via the mouse and a second mouse characteristic is generated. The second mouse characteristic is compared with the reference mouse characteristic and the user is only allowed access if the second mouse characteristic is sufficiently similar to the reference mouse characteristic. 
       FIGS. 1-6  illustrate various embodiments of the keyboard in accordance with one or more embodiments. As illustrated, the user may configure the keyboard according to personal preferences. 
     The proposed ultimate keyboard has the following advantages: 
     1. It consists of a family of keyboards that allows customers to select one of several prefabricated keyboards during order customization. The family of ultimate keyboards is designed taking into account both recommendations of ergonomic experts: left and right parts of the keyboard are rotated and form an angle at the top of 30 degrees or less; left and right parts of the keyboard are shifted apart at the distance of up to four inches. 
     2. The keyboard meets a multitude of specific requirements of personal computers, industrial and scientific applications (lab equipment, Sun Microsystems computers, UNIX etc.). 
     3. Parallel key-columns offer an important biomechanical advantage since they require mainly one-coordinate outreaching to the keys in comparison to two-coordinate outreaching in conventional keyboards. This substantially mitigates the stress in finger muscles by simplifying the finger targeting to the next key during typing. 
     4. The trapezoid space that is formed in the middle as a result of rotating and shifting apart the left and right parts of the keyboard is delegated to the most important and/or frequently used functions, which are the Enter and Space keys and the devices for cursor movement, such as Touchpad or RollerBall. See  FIG. 8 . The option of having a Touchpad and/or RollerBall devices in the middle of the keyboard ensures a more neutral forearm and shoulder position, compared to a traditional mouse design. 
     5. The advanced users have a choice of both mouse modules on one keyboard. Switching between the two modules mitigates mouse syndrome by breaking the cycle of repetitive motions. 
     6. The option of having additional 12 function keys expands keyboard functionality and provides new features: it can be used for creating macros, adapting keyboard to business and scientific applications, and using it for Favorites and more efficient Internet browsing.