COMMUNICATION PROTOCOL FOR DEVICE AUTHENTICATION

Abstract
A communication protocol between a master device, such as a mobile phone, and a peripheral device facilitates authentication of the peripheral device. When a peripheral device is detected, the master device initiates a wake-up command to the peripheral device, transmits an authentication request command followed by challenge data to the peripheral device, and awaits responses from the peripheral device. The accessory receives the challenge data, performs a hash function on the challenge data, and generates response data. An authentication response type byte is sent to the handset followed by the response data. The handset compares the response data to pre-stored data that is associated with the challenge data. A match indicates that the accessory is authentic. The challenge/response data, also referred to as a plaintext/cyphertext pair, is pre-generated external to the handset using the hash function, then pre-stored in the handset.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The described embodiments are to be considered in all respects as illustrative and not restrictive. It should also be understood that the invention is not limited to the particular embodiments illustrated and described herein, but is capable of many rearrangements, modifications, and substitutions without departing from the scope of the invention. As such, the details of the present invention, both as to its structure and operation, may be gleaned in part by study of the accompanying drawings described below, in which like reference numerals refer to like parts.



FIG. 1 illustrates an exemplary arrangement including a mobile phone and a mobile phone accessory according to one embodiment of the invention.



FIG. 2 illustrates an exemplary system for generating secure authentication image files according to one embodiment of the invention.



FIG. 3 illustrates a flow chart for generating secure authentication image files according to one embodiment of the invention.



FIG. 4 illustrates an exemplary system for generating a database of plaintext/cyphertext key pairs according to one embodiment of the invention.



FIG. 5 illustrates a flow chart for generating a database of plaintext/cyphertext key pairs according to one embodiment of the invention.



FIG. 6 illustrates a mobile device and a battery pack accessory in a master-slave configuration according to one embodiment of the invention.



FIG. 7
a illustrates an exemplary circuit for interfacing a handset and an accessory according to one embodiment of the invention.



FIG. 7
b is an exemplary truth table defining the configuration of the communication terminal of FIG. 7 according to one embodiment of the invention.



FIG. 8 is an exemplary message format according to one embodiment of the invention.



FIG. 9 is an exemplary table which defines message commands for timing calibration according to one embodiment of the invention.



FIG. 10 is an exemplary detailed temperature communication transaction according to one embodiment of the invention.



FIG. 11 is an exemplary table which defines message commands for exchanging temperature information according to one embodiment of the invention.



FIG. 12 is an exemplary table which defines message commands for exchanging ID/Version information according to one embodiment of the invention.



FIG. 13 is an exemplary table which defines message commands for exchanging chip identification information according to one embodiment of the invention.



FIG. 14 is an exemplary table which defines message commands for exchanging authentication information according to one embodiment of the invention.


Claims
  • 1. A method for a device to authenticate an accessory having at least one communication port connected to the device, the method comprising: driving the at least one communication port to a first voltage level to maintain the accessory in a sleep mode;transitioning the at least one communication port to a second voltage level to initiate a wake up condition in the accessory;transmitting a wake up command to the accessory via the at least one communication port;transmitting an information request command via the at least one communication port to the accessory;receiving an information request response via the at least one communication port from the accessory;authenticating the accessory when at least a portion of the received information request response matches a pre-stored expected information request response.
  • 2. The method of claim 1, wherein the information request command is an authentication command, and wherein the information request response is an authentication response-type byte from the accessory.
  • 3. The method of claim 2, further comprising: sending a plaintext challenge to the accessory.
  • 4. The method of claim 3, further comprising: receiving a cyphertext response from the accessory on the at least one communication port.
  • 5. The method of claim 4 further comprising: comparing the cyphertext response with a pre-stored cyphertext response associated with the plaintext challenge;permitting use of the accessory if the cyphertext response matches the pre-stored cyphertext response; andlimiting use of the accessory if the cyphertext response does not match the pre-stored cyphertext response.
  • 6. The method of claim 1, further comprising: monitoring the at least one communication port;detecting the accessory attached to the at least one communication port;driving the at least one communication port to the first voltage level to maintain the accessory in a sleep mode.
  • 7. The method of claim 3, further comprising: monitoring the single communication port for a voltage level transition at the accessory;detecting the voltage level transition at the accessory;entering a command listen mode at the accessory;detecting the wake up command at the accessory;receiving the authentication command from the device;receiving the plaintext challenge from the device;performing a hash function on the received plaintext challenge utilizing a secure authentication image file to generate a cyphertext response;sending an authentication response type byte to the handset; andsending the generated cyphertext response to the handset.
  • 8. The method of claim 1, wherein the information request command is a timing command, and wherein the information request response comprises a timing response and a timing byte.
  • 9. The method of claim 1, wherein the information request command is a temperature command, and wherein the information request response comprises a temperature response and temperature data.
  • 10. The method of claim 1, wherein the information request command is an identification command, and wherein the information request response comprises an identification response and identification data.
  • 11. The method of claim 1, wherein the transmitting and the receiving steps between the device and the accessory are half duplex communications.
  • 12. The method of claim 1, wherein the device is a wireless communication device, and the accessory is a battery.
  • 13. A system for authenticating an accessory, comprising: a device comprising: at least one communication port for connection to the accessory;a memory for storing at least one information request command and at least one expected information request response; anda processor coupled to the memory and the at least one communication port, the processor driving the at least one communication port to a first voltage level to maintain the accessory in a sleep mode, transitioning the at least one communication port to a second voltage level to initiate a wake up condition in the accessory, transmitting a wake up command to the accessory via the at least one communication port, transmitting the at least one information request command via the at least one communication port to the accessory, receiving an information request response via the at least one communication port from the accessory, and authenticating the accessory when at least a portion of the received information request response matches the at least one expected information request response; andthe accessory for attachment to the device through the at least one communication port, the accessory comprising: a secure authentication image file; anda accessory processor for detecting a voltage level transition, entering a command listen mode, detecting the wake up command, receiving the at least one information request command, generating an information request response, and transmitting the information request response to the device through the at least one communication port.
  • 14. The system of claim 13, wherein the at least one information request command comprises an authentication command and a plaintext challenge; wherein at least a portion of the information request response is a cyphertext response;wherein the accessory processor performs a hash function on the received plaintext challenge utilizing the secure authentication image file to generate the cyphertext response.
  • 15. The system of claim 13, wherein the information request command is a timing command, and wherein the information request response comprises a timing response and a timing byte.
  • 16. The system of claim 13, wherein the information request command is a temperature command, and wherein the information request response comprises a temperature response and temperature data.
  • 17. The system of claim 13, wherein the information request command is an identification command, and wherein the information request response comprises an identification response and identification data.
  • 18. The system of claim 13, wherein the transmitting and the receiving steps between the device and the accessory are half duplex communications.
  • 19. The system of claim 13, wherein the device is a wireless communication device and the accessory is a battery for supplying power to the wireless communication device.
Provisional Applications (1)
Number Date Country
60786164 Mar 2006 US