Abstract:
A password generator for use with a detector and a verifier in an encapsulated system is provided, as is a system for generating and verifying passwords. The password generator comprises a support, a sensor for detecting a signal from the detector, a data transmitter for transmitting binary data as pulses, a processor that is initialized by the verifier and that controls the data to be sent, a controller for activating the processor and a connector to releasably connect the password generator with the verifier. The system employs a mouse as the detector.

Description:
CROSS REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application 60/897,028, filed Jan. 22, 2007, and incorporated herein by reference. 
     
    
     FIELD 
       [0002]    The field of the disclosed technology relates to multifactor authentication for computer security. More specifically, the technology is a password generating card that generates passwords that can be read by a conventional mouse-based card reader. 
       BACKGROUND 
       [0003]    Access codes or passwords are needed for many applications, ranging from bank transactions, to accessing computers, to making transactions over the web. Many of these codes are housed in “smart cards”. There is a serious concern that the codes are not secure. As a result, many approaches have been taken to increase transactions security. 
         [0004]    One approach to increasing access security is to generate a one-time password (OTP). In US Patent Application No. 20060242698, a number is provided through a visual and/or audio display on the card to output the OTP to the user. The end user inputs the OTP to access the system on-line, telephonically or otherwise. Existing algorithms are used to generate the numbers. This approach can be inconvenient for users as they have to read or listen to the number and key it in accurately. Anyone can read or listen and copy the number. 
         [0005]    In another approach, the user creates a two-factor password whenever the user logs on. The first factor is the user&#39;s personal identification number (PIN), which the user enters as the first part of the password. The user obtains the second factor from an electronic token, which displays a 6-digit number. The token is time-synchronized with the authentication server, and the number displayed on the token changes every minute. The user enters the 6-digit number displayed on the token as the second part of the password. This two-factor password improves the security, however, it suffers the same deficiencies as the single OTP. 
         [0006]    US Patent Application No. 20040031856 overcomes some of the deficiencies in the prior art by utilizing sound waves to transmit data between an electronic card and a computing device equipped with a sound card. This, when used as a multifactor authentication system permits data transmission, detection and decoding without a special reader and without human input. Security can be assured by storing identical sets of random numbers both on a memory unit in the card, and on the authentication server. However, this system can be subject to interference because it is an “open system.” Sound waves can easily be intercepted and sabotaged without needing any physical presence in the room. 
         [0007]    There remains a need for a simple, secure authentication system. It is an object of the present technology to overcome the deficiencies in the prior art. 
       SUMMARY 
       [0008]    A password generator for use with a detector and a verifier in an encapsulated system is provided. The password generator comprises:
       a support;   a sensor for detecting a signal from the detector;   a data transmitter for transmitting binary data as pulses;   a processor that is initialized by the verifier and that controls the data to be sent;   a controller for activating the processor; and   a connector to releasably connect the password generator with the verifier.       
 
         [0015]    In one aspect the sensor is a light sensor. 
         [0016]    In another aspect the data transmitter is selected from one of a light emitting diode, a plurality of light emitting diodes, an infrared emitter and an ultraviolet emitter. 
         [0017]    In another aspect the data transmitter is a plurality of light emitting diodes. 
         [0018]    In another aspect the data transmitter is a horizontal movement motor. 
         [0019]    In another aspect the password generator is battery operated and wherein the password generator further comprises connectors for electrically connecting the batteries. 
         [0020]    In another aspect the support is a card. 
         [0021]    In another aspect the support is a stick. 
         [0022]    In another aspect the support is a fob. 
         [0023]    In another aspect the support is a token. 
         [0024]    In another embodiment a system for generating and verifying a password is provided. The system comprises:
       a password generator for generating a password in binary format, and encoding, and transmitting the password as pulses;   a detector for detecting the pulses and sending a signal; and   a verifier for receiving the signal, decoding the signal into a password and determining the authenticity of the password.       
 
         [0028]    In one aspect the system is an encapsulated system. 
         [0029]    In another aspect of the system, the sensor is a light sensor. 
         [0030]    In another aspect of the system, the detector is a mouse. 
         [0031]    In another aspect of the system, the password detector comprises:
       a support;   a sensor for detecting a signal from the detector;   a data transmitter for transmitting data as suitably selected movement pulses;   a processor that is initialized by the verifier and that controls the data to be sent;   a controller for activating the processor; and   a connector to releasably connect the password generator with the verifier.       
 
         [0038]    In another aspect of the system, the password generator comprises:
       a support;   a sensor for detecting a signal from the detector;   a data transmitter for transmitting data as suitably selected light pulses;   a processor that is initialized by the verifier and that controls the data to be sent;   a controller for activating the processor; and   a connector to releasably connect the password generator with the verifier.       
 
         [0045]    In another aspect of the system, the data transmitter is selected from one of a light emitting diode, a plurality of light emitting diodes, an infrared emitter and an ultraviolet emitter. 
         [0046]    In another embodiment a method of generating and verifying a password is provided. The method comprises initializing a password generator, detecting a signal from a detector, producing a password in binary format, sending it to an encoder, transferring data as pulses, acquiring and decoding the data back into its binary format, and verifying the password. 
         [0047]    In another embodiment a method of generating and verifying a password is provided. The method comprises initializing a password generator, detecting a signal from a detector, producing a password in binary format, sending it to an encoder, transferring data as pulses, acquiring and decoding the data back into its binary format, and verifying the password, wherein the method is effected by employing the system defined above. 
         [0048]    In one aspect of the method the detecting comprises detecting a light signal. 
         [0049]    In another aspect of the method, the pulses are light pulses. 
         [0050]    In another aspect of the method, the pulses are horizontal motion pulses. 
         [0051]    In one aspect of the method, the detector is a mouse. 
     
    
     
       FIGURES 
         [0052]      FIG. 1 . Plan views of a password generator card in accordance with the disclosed technology. 
           [0053]      FIG. 2 . System components of a first embodiment of the card of  FIG. 1 . 
           [0054]      FIG. 3 . System components of an alternative embodiment of the card of  FIG. 1 . 
           [0055]      FIG. 4 . System components and the flow of control. 
           [0056]      FIG. 5 . Optical signal transmitted over time for the SFI and ALP algorithms transferring the same word. 
       
    
    
     DETAILED DESCRIPTION 
     Definitions 
     Data: 
       [0057]    In the context of the present technology, data are sent as pulses of electromagnetic radiation, including infrared radiation, visible light, and ultraviolet radiation or as pulses of horizontal movement including vibration and oscillation. 
       Data Transmitter: 
       [0058]    The data transmitter produces data pulses that can be detected by a data receiver. The data transmitter can be a card, a key fob, a token, a stick or any other support that has a power supply and an output device that is powered by the power supply. The data transmitter has a central processing unit and a controller. 
       Detector: 
       [0059]    The detector consists of a data receiver selected to receive the selected pulses and a signal transmitter to send a signal to a verifier. The detector can be a mouse or a card reader, or any detector capable of receiving the data and transmitting a signal. 
       Verifier: 
       [0060]    The verifier functions to decode the signal transmitted from the detector and permit access if the signal provided is correct. The verifier is typically housed in a computer and consists of a software module. 
       Encapsulated System: 
       [0061]    An encapsulated system is a system that is not open, and is essentially closed without having the constraint of physical contact between the components. By way of example, a system utilizing audible sound would not be an encapsulated system. 
       Overview: 
       [0062]    Optical and laser mouse devices are considered the latest and most common among the current available input devices in the market. The present technology utilizes the characteristics of these input devices and uses them to transmit data to the computer without altering its original functionality. The data sent can contain a secret password (optical password or key) and hence can be used to authenticate users in an access control process. 
         [0063]    A credit card size device (i.e. smart card) is used to transmit the unique key stored in it to the computer when needed; this key is encoded by the card to a sequence of optical actions, horizontal movements or any other action that can simulate a number of mouse movements. A client software module, which resides on the computer, decodes the movements back to the original key. This technology can be used freely over the internet and is considered a good candidate as a second verification method enhancing the security of online transactions, and online banking sessions in general. 
         [0064]    Two types of password systems can be implemented with this technology: a simple fixed password system and a variable password system where a new password will be generated every time the user uses the card. The card contains the logic needed to produce the passwords and the client module is able to verify it either locally or through a verification server. The current data transmission speed was found to be 1 bit/second. 
         [0065]    The pulses are optical representation of the binary data being sent. The software reader (the decoder) decodes based on whether there is a mouse movement or not, which translates to a binary 1 or 0. 
         [0066]    The system is referred to as an encapsulated system. Unless somebody 
         [0067]    Is eavesdropping on the wire linking the mouse to the computer, the transmission cannot be intercepted. 
       System Architecture: 
       [0068]    A password generator card, generally referred to as  10  is shown in  FIG. 1 . The credit card sized device has a central processing unit  12 , which includes an encoder and carries the logic needed to produce the secret information to be transferred (e.g., one-time password) and a controller  14 . The product is self-powered by coin batteries  16  that can power the product to produce a high number of passwords, for example, but not limited to at least 5000 passwords with MTBF≧3 years. As shown in  FIG. 2 , a number of light emitting diodes (LEDs)  18  are aligned on the card face  20  (as seen in  FIG. 1 ) and are mounted on a reflective surface  22 . The LEDs  18  are used to transfer the data to the computer through an optical or laser mouse. A light sensor  24  is centrally located on the card face  20 , preferably central to the LEDs  18 . Referring to  FIG. 1 , an external casing  26 , that is transparent, or at the least, light transmissible on the transmitting surface  28 , protects the card  10 . A dib connector  30  is used to transfer the secret password to the card and to charge batteries if rechargeable batteries are used. 
       ALTERNATIVE EMBODIMENT 
       [0069]    As shown in  FIG. 3 , an alternative embodiment utilizes a vibration motor  32  located on the card face  20  and covered with the external casing  26 . The motor  32  is surrounded with a gap area  34  allowing it to move horizontally inside the card  10 . Horizontal displacements generated by the vibration motor  32  will be detected by the mouse as movements representing the transmitted password. 
         [0070]      FIG. 4  shows the system components and the flow of control. The process is triggered when the user places a mouse on the card face  20  and starts moving it. When the light produced from the mouse hits the light sensor  24  the central processing unit  12  produces the password in binary format and sends it to the encoder which will transfer the data to a pulse generator (produced by the high luminosity LEDs  18  or the horizontal motion motor  118 ). A detector  34  detects the pulses and a software client acquires the data by recording the pulses as mouse movements and silence periods and decodes the data back to its binary format. If the password matches the expected one then the user will be granted access to resources. 
       Activation Signal: 
       [0071]    Optical mouse devices go into sleeping (power saving) mode when no movement is detected for a period of time. For some mouse device types this period can be as short as 5 seconds. During this period the light emitted from the mouse gets dimmed and the mouse becomes less responsive until it gets activated again by movement. Our experimental results show that a large amount of data transferred during this period gets lost. In contrast, when the mouse is in its active mode the data can be transferred with no loss. Based on this observation, we came to the conclusion that the mouse should be activated properly before starting transferring data; this can be achieved by sending a large number of optical pulses for a period of time. 
       Activation Signal for Alternative Embodiment: 
       [0072]    Mouse devices go into sleeping (power saving) mode when no movement is detected for a period of time. For some mouse device types this period can be as short as 5 seconds. During this period the mouse becomes less responsive until it gets activated again by movement. Our experimental results show that a large amount of data transferred during this period gets lost. In contrast, when the mouse is in its active mode the data can be transferred with no loss. Based on this observation, we came to the conclusion that the mouse should be activated properly before starting transferring data; this can be achieved by sending a large number of horizontal actions for a period of time. 
       Password Generation: 
       [0073]    The card stores either a fixed password or generates a one-time password. With a fixed password scheme, a hashed version of the password is also stored on the host. For a one-time password, the password is generated recursively using a one-way hash function. The same scheme is used on the host side to generate a matching password. 
         [0074]    To login, the user places his card under the mouse and moves the mouse slightly to initialize the process. Then the card transmits the password to the computer via the mouse. The password, either fixed or one-time, is transmitted in hashed form. Verification is done on the host by comparing the received password with the stored or generated one. 
         [0075]    In the present technology the hash function and the logic to generate the passwords are implemented in the card. The card is initialized by also generating and storing (in it) a random number (which can be reinitialized). 
       Asynchronous Leading Pulse Algorithm (ALP): 
       [0076]    In this protocol, an optical pulse or horizontal movement is used to indicate the start of a binary word; the word is encoded using a consecutive sequence of silence intervals. For example, for a 2 bits word the four possible alternatives (00, 01, 10, and 11) can be represented with 1, 2, 3, 4 consecutive silence periods, respectively. Another pulse or horizontal movement is needed to indicate the end of the binary word which can be the leading pulse for the next word or the message termination pulse. The software decoding module looks for silence periods following the activation signal, and then decodes those silence periods back to binary words based on each period&#39;s length. 
       Synchronous Fixed Time Interval Algorithm (SFI): 
       [0077]    In this protocol optical pulses or horizontal movement and silence periods are mapped directly to binary representations. An optical pulse with the shortest possible duration indicates a binary value 1 and a silence period with the same duration indicates the binary value 0. 
         [0078]    If the transferred binary word contains a large number of consecutive zeros the mouse device can enter into the power saving mode and will miss a number of the following bits as it requires an activation signal to get back to the normal mode. In order to avoid this situation, the binary word transferred by this protocol shouldn&#39;t contain any consecutive zeros with duration greater than the maximum allowed silence period. 
         [0079]    The effect of this restriction on the total number of possible words is not significant. If the possible number of words transferred using n bits is N=2 n  then the total number of words is 
         [0000]    
       
         
           
             
               
                 N 
                 SFI 
               
               = 
               
                 
                   2 
                   n 
                 
                 - 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       1 
                     
                     
                       n 
                       - 
                       x 
                       + 
                       1 
                     
                   
                    
                   
                       
                   
                    
                   i 
                 
               
             
             , 
           
         
       
     
         [0000]    where x is the maximum number of consecutive zeros which can be sent before the mouse device enters the power saving mode. 
       Example 1 
     Comparing the Two Algorithms 
       [0080]      FIG. 5  show the signal transmitted over time for the two algorithms when used to transmit the same binary word (011011 in this case). For this particular case we can notice that the SFI algorithm is faster in transmitting the signal while the ALP algorithm consumes less power. Table 1 shows the average time needed to transmit 1 bit and the average power consumed in this transfer for four possible variations of the ALP algorithm. In Table 2, we compare those factors for the 2 bit and 3 bit ALP algorithm, and the SFI algorithm when transferring a binary word of 18 bit length and more. From the table we can notice that the performance of the ALP2 and SFI algorithms in terms of power consumption is comparable, while ALP3 consumes less power for the price of the data transfer speed. On the other hand the SFI algorithm is superior to the ALP algorithm in terms of data transfer speed, which was found to be not improving for any of the ALP variations. 
         [0000]    
       
         
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 Comparing the speed and power consumption for four possible ALP 
               
               
                 configurations 
               
               
                   
               
             
             
               
                 
                   
                             
                     
                         
                         
                     
                   
                 
               
               
                   
               
             
          
         
       
     
         [0000]    
       
         
               
             
           
               
                 TABLE 2 
               
               
                   
               
               
                 Comparing the performance of SF1 and ALP algorithms for 18 to 36 bit 
               
               
                 binary words 
               
               
                   
               
             
             
               
                 
                   
                             
                     
                         
                         
                     
                   
                 
               
               
                   
               
             
          
         
       
     
         [0081]    The foregoing is a description of embodiments of the present technology. As would be known to one skilled in the art, variations that do not alter the scope of the technology are contemplated. For example, the card need not be a card. It could for example be a key fob, a token, a stick or any other support. The controller may be any suitably selected controller, for example, but not limited to a switch. Also, for example, the detector may have any receiver selected to be able to detect the data from the password generator, for example, in the case of infrared data, an infrared detector. Data may be any suitably selected light or any suitably selected, detectable movement. The vibration motor may be any horizontal movement or motion motor. Further advances in detectors, notably the computer mouse, may permit the use of new forms of data—the constraint being that the data can be decoded to provide a binary signal and that it allows for an encapsulated system. The verifier simply functions to initialize the card and decode a signal sent from the detector and therefore is a software module.