Abstract:
A control unit device in one disclosed embodiment includes a receiver and a memory that stores one or more operation keys and program instructions. The control unit further includes a processor coupled to the receiver and the memory. The program instructions are executable by the processor to cause the control unit device to, in response to a revocation command received by the receiver, perform a revocation process by selecting which of the one or more operation keys to retain in the memory based on, for each of the one or more operation keys, whether the control unit receives a message encrypted by the operation key during the revocation process.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of and claims priority to U.S. patent application Ser. No. 15/090,125 filed on Apr. 4, 2016, which is a continuation of and claims priority to U.S. patent application Ser. No. 13/969,133 filed on Aug. 16, 2013, now issued U.S. Pat. No. 9,306,743, which claims priority to U.S. Provisional Patent Application No. 61/695,155, titled “ONE-WAY KEYFOB—VEHICLE KEY VERIFICATION, RETENTION, AND REVOCATION” and filed on Aug. 30, 2012, the disclosures of which are all hereby incorporated by reference in their entireties. 
     
    
     TECHNICAL FIELD 
       [0002]    Embodiments of the invention are directed, in general, to security and, more specifically, to methods for key fob vehicle operation key verification, retention, and revocation. 
       BACKGROUND 
       [0003]    Key fobs may be paired with a control unit, such as vehicle control unit, to perform well-known actions such as opening/closing and locking/unlocking vehicle doors. The key fob may be capable of transmitting only, which limits the authentication processes available through a challenge message sent from the control unit to verify the commands sent by a key fob due to the inability for two-way communications. A control unit must be able to verify the validity of received commands and to reject unauthorized commands, including replays of earlier transmissions from a valid key fob. 
         [0004]    Occasionally, a key fob will be lost or its holder may no longer be authorized to access the control unit. In this situation, there must be a process that allows the control unit to identify which key fobs are still valid and which should be ignored. 
       SUMMARY 
       [0005]    Embodiments of the invention provide methods for key fob to control unit verification, retention, and revocation. After an initial pairing, a key fob and a vehicle control unit share a secret operation key (OpKey). For verification, the key fob sends an identifier, which may be the 8 lowest-order bits of a 128-bit counter, and some bits of the AES-128, OpKey-encrypted value of the counter to the control unit. 
         [0006]    After one or more key fobs are paired with a control unit, such as vehicle control unit, the key fobs each have their own OpKey secretly shared with the control unit. A key fob needs to verify possession of a shared OpKey to the control unit in order for the control unit to take a prescribed action, such as unlocking/locking or opening/closing vehicle doors. This invention solves this problem even though key fobs are capable of transmitting but not receiving. Additionally, the embodiments described herein prevent third parties from impersonating a legitimate key fob by replaying an earlier transmitted message. In addition, after a key fob is lost, its OpKey may be revoked while the OpKey of the remaining or new key fobs may be retained. 
         [0007]    For OpKey revocation and retention, a remaining or new key fob is prompted by a legitimate control unit user to send a verification message to the control unit. The control unit is then prompted to enter an OpKey retention and revocation mode. Subsequently, each of the remaining or new key fobs is prompted by the user to send a verification message to the control unit. The control unit is finally prompted to exit the OpKey retention and revocation mode, retaining only the OpKeys of the key fobs from which it received a valid verification message immediately before entering and during the OpKey retention and revocation mode, respectively. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    Having thus described the invention in general terms, reference will now be made to the accompanying drawings, wherein: 
           [0009]      FIG. 1  illustrates a normal operation of a key fob and a control unit. 
           [0010]      FIG. 2  illustrates a key fob retention and revocation process that can be used to deactivate a key fob in one embodiment. 
           [0011]      FIG. 3  is a flowchart illustrating normal operation of a key fob and control unit using OpKey verification according to one embodiment. 
           [0012]      FIG. 4  is a flowchart illustrating a process for retention and revocation of OpKeys. 
           [0013]      FIG. 5  is a block diagram of an example key fob according to one embodiment. 
           [0014]      FIG. 6  is a block diagram of an example control unit according to one embodiment. 
       
    
    
     DETAILED DESCRIPTION 
       [0015]    The invention now will be described more fully hereinafter with reference to the accompanying drawings. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. One skilled in the art may be able to use the various embodiments of the invention. 
         [0016]    Embodiments of the invention enable a key fob capable of transmitting, but not receiving, to verify its possession of a secret OpKey to a vehicle control unit, while preventing a third party from impersonating a legitimate key fob by replaying a message sent out earlier by the key fob to the control unit for verification. In addition, the invention also allows a legitimate vehicle user to revoke the OpKey of a lost or expired key fob but retain the OpKey of each remaining valid key fob. 
         [0017]      FIG. 1  illustrates a normal operation of a key fob  101  and a control unit  102 . After an initial pairing, key fob  101  and a control unit  102  share a secret OpKey. For example, key fob  101  and control unit  102  may be paired using the systems and methods disclosed in pending U.S. patent application Ser. No. 13/969,154, filed Aug. 16, 2013, title “One-Way Key Fob and Vehicle Pairing,” the disclosure of which is hereby incorporated by reference herein in its entirety. 
         [0018]    In addition to the OpKey that is shared between both key fob  101  and control unit  102 , both devices have a 128-bit counter  103 ,  104 . In other embodiments, counters of different sizes may be used. In normal operation, key fob  101  creates an AES-128, OpKey-encrypted value of counter  103 . Key fob  101  then transmits ( 105 ) the 8 lowest-order bits of 128-bit counter  103  and some predetermined bits of the AES-128, OpKey-encrypted value of counter  103  to control unit  102 . The key fob increments its counter value by one after each transmission, starting from an initial counter value, such as one. The transmission of message  105  itself may represent a command from key fob  101 , such as unlock/lock vehicle doors. Alternatively, a separate command data field may be included in message  105  to identify the desired command from key fob  101 . 
         [0019]    Upon receiving message  105 , control unit  102  uses the 8 counter bits received from key fob  101  to set the 8 lowest-order bits of 128-bit counter  104 , and increments the value of the remaining bits of counter  104  by one if the value of the received 8 bits is not larger than the value of the 8 lowest-order bits of counter  104 . Additionally, control unit  102  creates an AES-128, OpKey encrypted value of counter  104 . Control unit  102  then compares predetermined bits from its OpKey encrypted value of counter  104  to the bits representing an OpKey-encrypted value of counter  103 . Control unit  102  verifies the message  105  and hence the OpKey if these bits match. 
         [0020]    If the verification fails, control unit  102  restores counter  104  to the value before the change. 
         [0021]    If an unauthorized or fake key fob  106  attempts to send a message  107  to control unit  102  without being paired, control unit  102  will reject the message  107 . Fake key fob  106  does not have a valid OpKey for control unit  102 . Additionally, fake key fob  106  does not know the proper counter value for control unit  102  to use for a valid message. 
         [0022]      FIG. 2  illustrates a key fob retention and revocation process that can be used to deactivate a key fob in one embodiment. In this example, three key fobs  201 - 203  are paired with the same control unit  204 . Each paired key fob  201 - 203  has a unique, secret OpKey (OpKey  1 , OpKey 2 , OpKey 3 ) that is shared with control unit  204 . Additionally, each key fob  201 - 203  has its own counter  205 - 207 . Control unit  204  maintains a separate counter  208 - 210  for each key fob  201 - 203 . 
         [0023]    When a key fob  203  is lost or needs to be revoked, a user may perform the following steps. First, the user prompts control unit  204  to enter an OpKey revocation mode. The OpKey revocation mode may be triggered by a message from a remaining key fob  201 ,  202  or/and by some other input to control unit  204 . 
         [0024]    While the control unit  204  is in the OpKey revocation mode, the user prompts each remaining key fob  201 ,  202  to perform a normal operation with control unit  204 . For example, each key fob  201 ,  202  will send a message derived from its OpKey to control unit  204 , such as message  105  ( FIG. 1 ). After each remaining key fob  201 ,  202  has sent its message or performed an operation with control unit  204 , the user prompts the control unit to exit the OpKey retention mode. Because key fob  203  is lost or no longer authorized, it will not send a message during the revocation mode. 
         [0025]    The control unit  204  retains only the OpKeys that were received before exiting the revocation mode. In one embodiment, the control unit  204  retains the last OpKey received before entering revocation mode and all OpKeys received during revocation mode. In other embodiments, control unit  204  retains only the OpKeys received during the revocation mode. All other OpKeys (e.g., OpKey  3 ) are deleted by control unit  204 . This prevents the lost or unauthorized from operating with control unit  204  after the revocation procedure. 
         [0026]      FIG. 3  is a flowchart illustrating a process for normal operation of a key fob and control unit using OpKey verification. In step  301 , the key fob reads the 8 lowest-order bits of a 128-bit counter. In step  302 , the key fob generates an AES- 128 , OpKey-encrypted value of the key fob counter. The 8 lowest-order bits and some selected bits from the AES-128, OpKey-encrypted value of the key fob counter are sent to the control unit in step  303 . This information may be associated with a particular command or request by the key fob. 
         [0027]    In step  304 , the control unit updates a control unit counter based on the 8 lowest-order bits received from the key fob. According to one embodiment, the update is done by setting the 8 lowest-order bits of a control unit counter to the received 8 lowest-order bits of the key fob counter, and by incrementing the value of the remaining bits of the control unit counter by one if the value of the received bits of the key fob counter is not larger than the value of the corresponding bits of the control unit counter. In step  305 , the control unit generates an AES-128, OpKey-encrypted value of the updated control unit counter. The control unit compares selected bits of the AES-128, OpKey-encrypted value of the control unit counter to the selected bits of the AES-128, OpKey-encrypted value of the key fob counter that were received from the key fob. 
         [0028]    The control unit verifies the command or request from the key fob if the selected bits match, which indicates that both devices used the same OpKey and counter value. 
         [0029]      FIG. 4  is a flowchart illustrating a process for retention and revocation of OpKeys. In step  401 , immediately after a remaining (i.e., not lost) or new key fob completes a normal operation, the user prompts the control unit to enter an OpKey revocation mode. The user then prompts each remaining or approved key fob to perform a normal operation with the control unit. The normal operation may involve a transmission as illustrated in  FIGS. 1 and 3  or any operation that allows the key fob to send an OpKey encrypted value to the control unit. 
         [0030]    In step  403 , the user prompts the control unit to exit the OpKey revocation mode after all of the remaining or approved key fobs have completed a normal operation. For example, the user may activate an “end” button to exit the revocation mode, or the revocation mode may end after a set period of time. 
         [0031]    In step  404 , the control unit deletes all OpKeys except the OpKey associated with the last key fob that operated before entering the OpKey revocation mode and any OpKey associated with a key fob used before the revocation mode ended. Because a lost or unapproved key fob would be unlikely to operate during the brief revocation mode duration, the OpKeys for the lost or unapproved devices would be deleted from the control unit. As a result, the lost and unapproved devices are no longer paired with the control unit and could no longer be used to send commands to the control unit. In another embodiment, only the OpKeys associated with key fobs that operate during the revocation mode are retained, and all other OpKeys that do not perform an operation during the revocation mode period are deleted. 
         [0032]      FIGS. 5 and 6  are block diagrams of an example key fob  500  and control unit  600 , respectively. The key fob  400  and control unit  600  each comprise a processor  501 ,  601 , a memory  502 ,  602 , and a transceiver  603  or transmitter  503 . The processors  501 ,  601  of the devices may be used to perform normal operations such as maintaining and updating counters, generating OpKey encrypted values, and comparing such values to verify that only OpKeys from paired devices are used. The processors may be a standard CPU, a microcontroller, a low-power digital signal processor, etc. and may be capable of performing complex calculations in a short time. 
         [0033]    The memories  502 ,  602  of the devices may be used to store OpKeys, counter values, encrypted values, and other bits exchanged between the key fob and control unit. The memories may be a non-volatile storage device such as a flash memory or an EEPROM. 
         [0034]    The key fob transmitter  503  and control unit transceiver  603  may be wired (not shown), wireless, or capable of both. The transceiver and transmitter may be used by the devices to communicate counter values, OpKey-encrypted data, and other bits during normal operation and during a revocation mode. The key fob allows for remote entry and control of vehicles or other devices and may use wireless technology, such as Bluetooth, LF, or UHF, for those transmissions. The key fob transmitter  503  is capable of transmitting only and does not receive signals from the control unit  600 . 
         [0035]    Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions, and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.