WO2006091437A2 - Secure device authentication - Google Patents

Secure device authentication Download PDF

Info

Publication number
WO2006091437A2
WO2006091437A2 PCT/US2006/005207 US2006005207W WO2006091437A2 WO 2006091437 A2 WO2006091437 A2 WO 2006091437A2 US 2006005207 W US2006005207 W US 2006005207W WO 2006091437 A2 WO2006091437 A2 WO 2006091437A2
Authority
WO
WIPO (PCT)
Prior art keywords
digit
random secret
secret number
client device
server
Prior art date
Application number
PCT/US2006/005207
Other languages
French (fr)
Other versions
WO2006091437A3 (en
Inventor
Ryuichi Iwamura
Original Assignee
Sony Corporation
Sony Electronics Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation, Sony Electronics Inc. filed Critical Sony Corporation
Priority to EP06735053A priority Critical patent/EP1851898A4/en
Priority to KR1020137002284A priority patent/KR101343264B1/en
Priority to KR1020077021940A priority patent/KR101341238B1/en
Priority to CN2006800056759A priority patent/CN101248612B/en
Priority to JP2007557052A priority patent/JP2008537204A/en
Priority to CA2601970A priority patent/CA2601970C/en
Publication of WO2006091437A2 publication Critical patent/WO2006091437A2/en
Publication of WO2006091437A3 publication Critical patent/WO2006091437A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Definitions

  • Home network market is getting larger and larger. Many wireless, powerline, coax cable network products are available in the market.
  • One issue is encryption for content protection and security.
  • a powerline network is shared with neighbors. If a communication is not encrypted, the neighbor can see it. Encryption is indispensable for secure network communication.
  • a new client device For encryption, a new client device must be registered to the server.
  • a client has a unique ID and the user enters the ID number to the server when he/she begins to use the client device.
  • the unique ID is, for example, a 10-digit value. It is not user-friendly to have the user enter a long number. With a wrong number, the server cannot communicate with the client at all. Also, it takes huge amount of time to register many client devices.
  • One of the simplest solutions is a push button approach as described in U.S. Publication number 2004/0054897 to Dawson et al.
  • the user simultaneously or sequentially pushes the button on the server and the one on the client. Then, the server and the client exchange necessary information. Entry of a number is not required.
  • This is user-friendly, and provides a good measure of security. However, further security is even more desirable in certain circumstances.
  • One of the famous attacks is called Man-In-The-Middle (MITM) attack as described, for example in Cryptography Decrypted by H.X.Mel and Doris Baker, Addison- Wesley, ISBN: 0201616475.
  • MITM Man-In-The-Middle
  • the client sends the server its own public key to receive secret information.
  • the server encrypts the secret information with the client public key and sends it back to the client.
  • the client decrypts the encrypted data with its own private key. No other guy can decrypt the encrypted data only with the client public key. This seems safe, but is vulnerable to MITM.
  • the adversary is in the middle of the server and the client and gets the request from the client. The adversary replaces the client public key with his own public key and sends it to the server.
  • the server encrypts the secret information with the adversary public key and sends back to the adversary.
  • the adversary successfully decrypts the secret data with his own private key.
  • the adversary re-encrypts the secret data with the client public key and sends to the client.
  • the client decrypts the secret data without knowing the data has been stolen.
  • the public/private key encryption is rigid and hard to break. However, public key must be carefully delivered. The simple push button approach may be ineffective in certain embodiments against
  • FIGURE 1 is a block diagram of a network including a client and a server consistent with certain embodiments of the present invention.
  • FIGURE 2 is a flow chart depicting an exemplary authentication and key exchange process consistent with certain embodiments of the present invention.
  • FIGURE 3 is a flow chart depicting a portion of an exemplary embodiment of an authentication process consistent with certain embodiments of the present invention.
  • FIGURE 4 is a block diagram of an example client server system consistent with certain embodiments of the present invention.
  • FIGURE 5 is another flow chart depicting a portion of an exemplary embodiment of an authentication process consistent with certain embodiments of the present invention.
  • FIGURE 6 is another block diagram of an example client server system consistent with certain embodiments of the present invention. DETAILED DESCRIPTION
  • the terms “a” or “an”, as used herein, are defined as one or more than one.
  • the term “plurality”, as used herein, is defined as two or more than two.
  • the term “another”, as used herein, is defined as at least a second or more.
  • the terms “including” and/or “having”, as used herein, are defined as comprising (i.e., open language).
  • the term “coupled”, as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically.
  • program or “computer program” or similar terms, as used herein, is defined as a sequence of instructions designed for execution on a computer system.
  • a "program”, or “computer program” may include a subroutine, a function, a procedure, an object method, an object implementation, in an executable application, an applet, a servlet, a source code, an object code, a shared library / dynamic load library and/or other sequence of instructions designed for execution on a computer system.
  • hash is used in accordance with the conventional meaning for such a term in the encryption arts.
  • hash values are produced for accessing data or for security.
  • a hash value also called a message digest, is a number generated from a string of characters.
  • the hash is smaller in size than the string, and is generated by a formula (a one way algorithm) in such a way that it is extremely unlikely or impossible that some other text will produce the same hash value.
  • An ideal hash value is thus generated by applying a mathematical formula to the string to produce a value that is generally significantly shorter that the original text and is unique to the original document. The same value is achieved every time the algorithm is applied to the same string. Ideally, it should be computationally infeasible for the original string of text to be reconstituted from the hash result. Additionally, two different messages should not produce the same hash results.
  • random as used herein in reference to random number is intended to embrace random, semi-random and pseudorandom without limitation.
  • flashing display is used herein to mean any type of display device such as a lamp, a light emitting diode (LED) or liquid crystal display (LCD).
  • LED light emitting diode
  • LCD liquid crystal display
  • the term is further to be interpreted as any type of display that can represent a number by a flashing mechanism, wherein the number of flashes can be counted, regardless of whether the display produces the flashing by emitting light, reflecting light, blocking light, polarizing light or any other mechanism that can be used to produce an alternating on and off representation.
  • the server and the client consistent with certain embodiments of the present invention share a secret number (secret key) that no other entity knows.
  • secret key secret key
  • the secret number is shared using the following mechanism.
  • a server indicates a number to the user.
  • the user presses a client button in accordance with the number indicated by the server.
  • the server may display a secret number such as 3-2-5-8.
  • the user presses the client button three times and presses an enter button to indicate the end of the entry.
  • the user then enters the second digit by pressing the client button twice followed by the enter button.
  • the third digit - in this example a five - is entered by pressing the client button five times followed by the enter button.
  • the fourth digit - in this example an eight - is entered by pressing the client button eight times followed by the enter button.
  • the secret number is shared using the following mechanism.
  • a server again indicates a number to the user.
  • the user presses a client button in accordance with the number indicated by the server.
  • the server may sequentially display (or fully display) each digit of a number such as 3-2-5-8.
  • the client button When the first digit of the secret number is displayed (three) the user presses the client button three times.
  • the numbers are displayed by use of a simple flashing light, LED, etc. (while in other embodiments a single digit display can be used).
  • the light flashes three times and, in response, the user presses the client button three times (e.g., within a certain time window). Then the next digit is displayed - in this example a two - by flashing a light two times. The user responds by pressing the client button twice. Similarly, the third digit - in this example a five - is displayed by flashing the light five times and the user responds by pressing the client button five times. Finally, the fourth digit - in this example an eight - is displayed by flashing the light eight times and the user responds by pressing the client button eight times.
  • a three digit number, a five digit number, etc. could also be used, with more digits providing greater security at the expense of somewhat more tedious authentication.
  • the client public key can be encrypted using the ID (e.g., 3258). Since no raw data are ever transmitted over the network, the device is securely authenticated. Note that only a very rudimentary interface is required to implement this scenario, hence, the implementation cost can be minimized.
  • FIGURE 1 illustrates a server 1 and a client 2 coupled to a powerline communications (PLC) network 3.
  • PLC powerline communications
  • CPU 101 controls all the components in the server 1 through the internal bus 100 under control of software and/or firmware.
  • Memory 102 is any suitable electronic storage medium and stores the software/firmware program that runs on CPU 101.
  • User Interface 103 is, for example, a set of buttons or keyboard.
  • Display 106 is a LCD (Liquid Crystal Display) or a set of LEDs (Light Emitting Diodes) or any other suitable display technology as will be explained further later.
  • Client 2 is a network device that is to register with Server 1. In order to carry out such registration, an authentication process is utilized. Component 201 to 205 work in a manner which is similar to components 101 to 105 in Server 1. Component 206 is a set of LEDs. Client 2 may be realized with a minimal user interface in certain embodiments. For example, Client 2 may be devoid of an elaborate interface, and may only include a simple set of one or more push buttons. By way of example, Client 2 may be, for example, a rear surround sound speaker or a subwoofer used in a home theater application.
  • CPUs 101 and 201 may also serve as encryption/decryption engines (which either encrypts or decrypts data or both) in connection with certain embodiments.
  • encryption/decryption engines which either encrypts or decrypts data or both
  • dedicated hardware can be used to carry out encryption and decryption processes.
  • FIGURE 2 illustrates an exemplary device authentication process.
  • the user sets the server 1 and client 2 in a device registration mode.
  • elements 301 through 310 are elements or functions carried out in server 1 and elements 401 through 410 are elements or functions carried out in client 2.
  • Random number generator 301 (a hardware or software implemented function of the server 1, for example a program running on CPU 101) generates an ID number 302. (A unique ID is generated for each authentication.) The number is, for example, a 4-digit number (0000-9999). In one embodiment, this ID number is shown in Display 106 of the server once it is generated.
  • the client device and the user device should be temporarily physically located in close proximity so that the user 5 is able to see the ID number in Display 106, as well as manipulate the user interface 203 of the Client device 2.
  • the user 5 sees the ID number and enters this number into the Client 2 using the one or more buttons in User I/F 203.
  • the display 106 displays the ID number, while in other embodiments, the display may be a simple light or LED which flashes a number of times to represent each digit.
  • the display shows the ID number 3915 in the display 106 which the user is able to read.
  • the user then pushes an input button in User I/F 203 three times and pushes the return button once. Similarly, the remaining 3 digits are entered, with each digit's entry being followed by pressing an enter button.
  • the same ID is set to each of the server and the client (302 and 401).
  • ID 401 is hashed at 402 (for example, using the CPU 201 operating under program control, for example).
  • MD5 is used for hashing (Hashing is a known technique described in greater detail, for example, in Applied Cryptography by Bruce Schneier, Wiley, ISBN: 0471117099, which is hereby incorporated by reference).
  • the public key of the client 2 (404) is encrypted in the encryptor 403 (an encryption/decryption engine).
  • the encryption method is a symmetric encryption, for example, 128-bit AES encryption.
  • the hashed result is used as an encryption key.
  • the encrypted public key (PubKeyC 404) is sent to the server 1 over the powerline network 3 (or any other suitable network).
  • ID 302 is hashed at 303 (for example using programmed CPU 101) in the same way.
  • Decryptor 304 decrypts the encrypted key from the client 2 with the same hashed result.
  • the original PubKeyC 404 is obtained by Server 1. Encryption and decryption can be carried out using CPUs 101 and 201 or using dedicated hardware. Note that no original public key is sent over the network without encryption.
  • an adversary cannot get the public key 404 by monitoring network traffic. If the adversary replaces the encrypted client public key with his/her own public key, a decrypted result in the server 1 will not produce a valid result. Thus, no MITM attack is available. Also, the server 1 performs decryption 304 only once in the device authentication mode in order to prevent a brute force attack. It is not practical for the adversary to try all 10,000 ID combinations (for a four digit secret random number).
  • a brute force attack can be avoided by configuring the server 1 to allow each client to try only a certain times (for example 5 times), after which the client is locked out until other procedures are carried out to reset the client's ability to try again (e.g., resetting the ID and restarting the authentication process).
  • the ID is used only once for public key delivery.
  • PubKeyC 404 is shared by both devices
  • the secret key may be a common access key that is shared with all the devices in the logical network.
  • the secret key 306 is encrypted with PubKeyC 404 in the encryptor 305.
  • the encryptor performs public-private key encryption, for example, using the Diffie-Hellman method as described in Applied Cryptography by Bruce Schneier, Wiley, ISBN: 0471117099.
  • the encrypted result is transmitted to the client 2.
  • the client 2 decrypts it with the client private key 405 and obtains the secret key.
  • Public-private key encryption/decryption takes substantial calculation time compared with AES encryption. While AES is preferred in this embodiment, it should not be considered limiting.
  • Datal 407 is AES-encrypted (in this embodiment) with the secret key 307 and sent to the server 2.
  • the server 2 decrypts the encrypted Datal with the same secret key 306 and obtains Datal (308).
  • the server 1 sends Data2 310, it is AES-encrypted with the secret key 306.
  • the client 2 decrypts the encrypted Data2 with the secret key 306 and obtains Data2 410.
  • the public key and the secret key are, for example, 128-bit long, which is enough to prevent any brute force attack at present. Longer keys can of course be used as required to further inhibit brute force attacks.
  • the client 2 may according to certain embodiments send the server its device information, for example, device name, type, manufacturer, serial number, etc.
  • the server 1 can then show the device information on the display 106. The user can then see it and determine that the information is correct. If correct, the user pushes a button for verification. In the event an adversary tries to register his/her illegal or unauthorized device, the user can use this opportunity refuse it.
  • the server 1 may broadcast a notice on the new device to all the other client devices on the network. If they have a display, all the users can know what device is connected. This prevents a rogue device from being secretly connected to the network.
  • a method for authenticating a client device into a network involves at a server device, generating a multi-digit random secret number; displaying the random secret number on a server display coupled to the server device; positioning the client device in close enough physical proximity to the server device to permit observation of the displayed random secret number; at the client device, sequentially entering each digit of the random secret number by actuation of a switch coupled to the client device a number of times equivalent to each digit of the random secret number; and upon correct entry of the random secret number at the client device, completing an authentication and key exchange process using the random secret number in an encryption and decryption process carried out at the server device and the client device.
  • Another method for authenticating a client device into a network involves at a server device, generating a multi-digit random secret number; displaying the random secret number on a server display coupled to the server device; positioning the client device in close enough physical proximity to the server device to permit observation of the displayed random secret number; at the client device, sequentially entering each digit of the random secret number by actuation of a switch coupled to the client device a number of times equivalent to each digit of the random secret number; hashing the random secret number at the server device using a hashing algorithm to produce a secret key; hashing the random secret number at the client device using the hashing algorithm to produce the secret key; and using the secret key to encrypt and decrypt an encryption/decryption key that is exchanged between the client device and the server device.
  • the display can be a multi-digit display wherein the random secret number is displayed in its entirety by the display.
  • the random secret number can be displayed by the display a single digit at a time.
  • the display can be a flashing display that represents each digit of the random secret number by a number of flashes.
  • An enter switch can be actuated after entry of each digit in order to signify the end of entry of the digit.
  • FIGURE 3 taken in conjunction with FIGURE 4 starting at 502.
  • the server 1 and client 2 are placed in a registration mode (using a predetermined operational sequence) at 503.
  • the server 1 then generates a random ID number at 504.
  • a counter (M) is initialized to 1 at 505 and the server 1 displays the random ID number on display 106 at 512 (e.g., 3915 as shown).
  • the user begins entry of the ID number using the data button 602 by pressing the data button the number of times specified by the first digit of the ID number.
  • the enter button 603 is pressed once.
  • Control passes to 508 where if the last digit has not yet been entered, the counter is incremented and control returns to 507 where the next digit is entered in the same manner.
  • the remainder of the authentication and key exchange process as previously described is carried out at 510 (i.e., the process that starts at 401).
  • Server 1 can utilize a simple LED or other light in place of the display. The user pushes the client button while the LED is on. When “9” should be input following "3", W
  • the LED shortly blinks three times and then the LED blinks nine times after a long break. Blinking speed is so slow that the user can follow it.
  • FIGURE 5 taken in conjunction with FIGURE 6, again starting at 502.
  • the server 1 and client 2 are placed in a registration mode (using a predetermined operational sequence) at 503.
  • the server 1 then generates a random ID number at 504.
  • a counter (M) is initialized to 1 at 505 and the server 1 displays the first (M th ) digit of the random ID number as a sequence of flashes of LED or other light 606 at 506 (e.g., the "3" of ID number 3915 is represented first as three flashes).
  • the user begins entry of the FD number using the data button 602 by pressing the data button the number of times specified by the first digit of the ID number.
  • the enter button 603 is pressed once.
  • Control passes back to 506 where if the last digit has not yet been entered, the counter is incremented and the next digit is represented by a number of flashes of LED 606.
  • Control then returns to 507 where the next digit is entered in the same manner.
  • the remainder of the authentication and key exchange process as previously described is carried out at 510 (i.e., the process that starts at 401).
  • the user can be required to actuate the data button 602 simultaneously with the LED 606 being lighted, or all of the LED 606 flashes that represent a single digit can be done, followed by a time period for actuation of the data button.
  • the enter button 603 can be eliminated altogether by various mechanisms. For example, pressing and holding the data button 602 for greater than a specified period of time (e.g., hold for three seconds) can be used as an equivalent of the enter button.
  • the server 1 can provide a time window for each digit to be entered. The expiration of the time window can be used as a point of determination that the digit has been entered or not.
  • an LED lighting period on may be utilized rather than flashes. For “0”, the LED turns on 1 second and the user pushes the button for 1 sec. For “3”, the LED is on for 4 seconds. The client 2 resets the internal counter and starts counting when the button is pressed. If it is pressed equal to or more than 3 seconds and less than 4 seconds, it determines "3" is entered.
  • a network client device has a network interface for communication over a communication network.
  • a switch is provided; wherein a random secret number can be entered at the client device by sequentially entering each digit of the random secret number by actuation of the switch a number of times equivalent to each digit of the random secret number.
  • a hashing device can be used to hash the random secret number at the client device using a hashing algorithm to produce a secret key.
  • An encryption/decryption engine uses the secret key in a decryption process for the exchange of an encryption/decryption key with a server device.
  • a network server device consistent with certain embodiments has a network interface for communication over a communication network.
  • a random number generator that a multi- digit random secret number.
  • a display displays the random secret number.
  • a hashing mechanism is used for hashing the random secret number using a hashing algorithm to produce a secret key.
  • An encryption/decryption engine uses the secret key to encrypt an encryption/decryption key that is exchanged between a client device and the server device.
  • the display is a multi-digit display and wherein the random secret number is displayed in its entirety by the display.
  • the random secret number is displayed by the server display a single digit at a time, hi other embodiments, the server display is a flashing display that represents each digit of the random secret number by a number of flashes.
  • Certain embodiments consistent with the present invention enjoy several advantages: Secure device authentication. No raw data is transmitted over the network without encryption. It prevents a MITM attack. Easy to use. The user only needs to input 4-digit number by pushing the buttons. No long number is required to enter. No special, expensive hardware or interface is necessary. No expensive user interface (keyboard, a large display, etc.) required. Only small software change required. No big impact to the cost. While these and other advantages may be achieved using embodiments consistent with the present invention, failure to meet any of these advantages does not imply that an embodiment falls outside the realm of other embodiments consistent with the present invention.
  • client device can operate in the manner described above as a that of s server
  • server device can operate in the manner described above as a client.
  • client and server are not to be construed strictly in connection with limiting the claims. The terms should merely be considered labels for each device in connection with its respective operation in the current authentication processes.

Abstract

A method for authenticating a client device into a network consistent with certain embodiments involves at a server device, generating a multi-digit random secret number; displaying the random secret number on a server display coupled to the server device; positioning the client device in close enough physical proximity to the server device to permit observation of the displayed random secret number; at the client device, sequentially entering each digit of the random secret number by actuation of a switch coupled to the client device a number of times equivalent to each digit of the random secret number; and upon correct entry of the random secret number at the client device, completing an authentication and key exchange process using the random secret number in an encryption and decryption process carried out at the server device and the client device. This abstract is not to be considered limiting, since other embodiments may deviate from the features described in this abstract.

Description

SECURE DEVICE AUTHENTICATION
CROSS REFERENCE TO RELATED DOCUMENTS This application is related to and claims priority benefit of U.S. Provisional
Application Number 60/655,225 filed Feb. 22, 2005, which is hereby incorporated by reference.
COPYRIGHT NOTICE A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND
Home network market is getting larger and larger. Many wireless, powerline, coax cable network products are available in the market. One issue is encryption for content protection and security. For example, a powerline network is shared with neighbors. If a communication is not encrypted, the neighbor can see it. Encryption is indispensable for secure network communication.
For encryption, a new client device must be registered to the server. In a common case, a client has a unique ID and the user enters the ID number to the server when he/she begins to use the client device. The unique ID is, for example, a 10-digit value. It is not user-friendly to have the user enter a long number. With a wrong number, the server cannot communicate with the client at all. Also, it takes huge amount of time to register many client devices.
To resolve this problem, several methods have been devised. One of the simplest solutions is a push button approach as described in U.S. Publication number 2004/0054897 to Dawson et al. In this technique, the user simultaneously or sequentially pushes the button on the server and the one on the client. Then, the server and the client exchange necessary information. Entry of a number is not required. This is user-friendly, and provides a good measure of security. However, further security is even more desirable in certain circumstances. One of the famous attacks is called Man-In-The-Middle (MITM) attack as described, for example in Cryptography Decrypted by H.X.Mel and Doris Baker, Addison- Wesley, ISBN: 0201616475. The client sends the server its own public key to receive secret information. The server encrypts the secret information with the client public key and sends it back to the client. The client decrypts the encrypted data with its own private key. No other guy can decrypt the encrypted data only with the client public key. This seems safe, but is vulnerable to MITM. The adversary is in the middle of the server and the client and gets the request from the client. The adversary replaces the client public key with his own public key and sends it to the server. The server encrypts the secret information with the adversary public key and sends back to the adversary. The adversary successfully decrypts the secret data with his own private key. Also, the adversary re-encrypts the secret data with the client public key and sends to the client. The client decrypts the secret data without knowing the data has been stolen. The public/private key encryption is rigid and hard to break. However, public key must be carefully delivered. The simple push button approach may be ineffective in certain embodiments against MITM and similar attacks.
BRIEF DESCRIPTION OF THE DRAWINGS
Certain illustrative embodiments illustrating organization and method of operation, together with objects and advantages may be best understood by reference detailed description that follows taken in conjunction with the accompanying drawings in which:
FIGURE 1 is a block diagram of a network including a client and a server consistent with certain embodiments of the present invention.
FIGURE 2 is a flow chart depicting an exemplary authentication and key exchange process consistent with certain embodiments of the present invention. FIGURE 3 is a flow chart depicting a portion of an exemplary embodiment of an authentication process consistent with certain embodiments of the present invention.
FIGURE 4 is a block diagram of an example client server system consistent with certain embodiments of the present invention.
FIGURE 5 is another flow chart depicting a portion of an exemplary embodiment of an authentication process consistent with certain embodiments of the present invention.
FIGURE 6 is another block diagram of an example client server system consistent with certain embodiments of the present invention. DETAILED DESCRIPTION
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure of such embodiments is to be considered as an example of the principles and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings.
The terms "a" or "an", as used herein, are defined as one or more than one. The term "plurality", as used herein, is defined as two or more than two. The term "another", as used herein, is defined as at least a second or more. The terms "including" and/or "having", as used herein, are defined as comprising (i.e., open language). The term "coupled", as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. The term "program" or "computer program" or similar terms, as used herein, is defined as a sequence of instructions designed for execution on a computer system. A "program", or "computer program", may include a subroutine, a function, a procedure, an object method, an object implementation, in an executable application, an applet, a servlet, a source code, an object code, a shared library / dynamic load library and/or other sequence of instructions designed for execution on a computer system.
Reference throughout this document to "one embodiment", "certain embodiments", "an embodiment" or similar terms means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of such phrases or in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments without limitation.
The term "or" as used herein is to be interpreted as an inclusive or meaning any one or any combination. Therefore, "A, B or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B and C". An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.
The term "hash" is used in accordance with the conventional meaning for such a term in the encryption arts. Generally, hash values are produced for accessing data or for security. A hash value (or simply hash), also called a message digest, is a number generated from a string of characters. Generally, the hash is smaller in size than the string, and is generated by a formula (a one way algorithm) in such a way that it is extremely unlikely or impossible that some other text will produce the same hash value. An ideal hash value is thus generated by applying a mathematical formula to the string to produce a value that is generally significantly shorter that the original text and is unique to the original document. The same value is achieved every time the algorithm is applied to the same string. Ideally, it should be computationally infeasible for the original string of text to be reconstituted from the hash result. Additionally, two different messages should not produce the same hash results.
The term "random" as used herein in reference to random number is intended to embrace random, semi-random and pseudorandom without limitation.
The term "flashing display" is used herein to mean any type of display device such as a lamp, a light emitting diode (LED) or liquid crystal display (LCD). The term is further to be interpreted as any type of display that can represent a number by a flashing mechanism, wherein the number of flashes can be counted, regardless of whether the display produces the flashing by emitting light, reflecting light, blocking light, polarizing light or any other mechanism that can be used to produce an alternating on and off representation.
In order to prevent a MITM attack, the server and the client consistent with certain embodiments of the present invention share a secret number (secret key) that no other entity knows. This provides a more secure device authentication method than existing push button approach. A number of presses or/and press timing is used to share the secret key. Using this mechanism, it is hard for an adversary to compromise the network.
In accordance with certain embodiments consistent with the present invention, the secret number is shared using the following mechanism. A server indicates a number to the user. The user presses a client button in accordance with the number indicated by the server. For example, the server may display a secret number such as 3-2-5-8. The user presses the client button three times and presses an enter button to indicate the end of the entry. The user then enters the second digit by pressing the client button twice followed by the enter button. Similarly, the third digit - in this example a five - is entered by pressing the client button five times followed by the enter button. Finally, the fourth digit - in this example an eight - is entered by pressing the client button eight times followed by the enter button. Of course, a three digit number, a five digit number, etc. could also be used, with more digits providing greater security at the expense of somewhat more tedious authentication. In accordance with certain other embodiments consistent with the present invention the secret number is shared using the following mechanism. A server again indicates a number to the user. The user presses a client button in accordance with the number indicated by the server. For example, the server may sequentially display (or fully display) each digit of a number such as 3-2-5-8. When the first digit of the secret number is displayed (three) the user presses the client button three times. In one embodiment, the numbers are displayed by use of a simple flashing light, LED, etc. (while in other embodiments a single digit display can be used). Thus, the light flashes three times and, in response, the user presses the client button three times (e.g., within a certain time window). Then the next digit is displayed - in this example a two - by flashing a light two times. The user responds by pressing the client button twice. Similarly, the third digit - in this example a five - is displayed by flashing the light five times and the user responds by pressing the client button five times. Finally, the fourth digit - in this example an eight - is displayed by flashing the light eight times and the user responds by pressing the client button eight times. Of course, a three digit number, a five digit number, etc. could also be used, with more digits providing greater security at the expense of somewhat more tedious authentication.
Once the above process has been completed, the client public key can be encrypted using the ID (e.g., 3258). Since no raw data are ever transmitted over the network, the device is securely authenticated. Note that only a very rudimentary interface is required to implement this scenario, hence, the implementation cost can be minimized.
Turning now to the drawings, FIGURE 1 illustrates a server 1 and a client 2 coupled to a powerline communications (PLC) network 3. To simplify the figure, the components that are not related to this invention are not shown. (Ex. audio/video encoder, decoder, etc.) CPU 101 controls all the components in the server 1 through the internal bus 100 under control of software and/or firmware. Memory 102 is any suitable electronic storage medium and stores the software/firmware program that runs on CPU 101. User Interface 103 is, for example, a set of buttons or keyboard. Display 106 is a LCD (Liquid Crystal Display) or a set of LEDs (Light Emitting Diodes) or any other suitable display technology as will be explained further later. Input data from the user is sent to CPU 101 from User Interface 103. Data to display is sent from CPU 101 to Display 106. Network communication is performed through PLC Interface 104. Power Plug 105 is plugged to the powerline network 3. In accordance with embodiments consistent with the present invention, Client 2 is a network device that is to register with Server 1. In order to carry out such registration, an authentication process is utilized. Component 201 to 205 work in a manner which is similar to components 101 to 105 in Server 1. Component 206 is a set of LEDs. Client 2 may be realized with a minimal user interface in certain embodiments. For example, Client 2 may be devoid of an elaborate interface, and may only include a simple set of one or more push buttons. By way of example, Client 2 may be, for example, a rear surround sound speaker or a subwoofer used in a home theater application.
In addition to control of the operation of the client and server devices 1 and 2 respectively, CPUs 101 and 201, operating under appropriate program control, may also serve as encryption/decryption engines (which either encrypts or decrypts data or both) in connection with certain embodiments. In other embodiments, dedicated hardware can be used to carry out encryption and decryption processes.
FIGURE 2 illustrates an exemplary device authentication process. The user sets the server 1 and client 2 in a device registration mode. In this figure, elements 301 through 310 are elements or functions carried out in server 1 and elements 401 through 410 are elements or functions carried out in client 2. Random number generator 301 (a hardware or software implemented function of the server 1, for example a program running on CPU 101) generates an ID number 302. (A unique ID is generated for each authentication.) The number is, for example, a 4-digit number (0000-9999). In one embodiment, this ID number is shown in Display 106 of the server once it is generated.
When carrying out the authentication process, the client device and the user device should be temporarily physically located in close proximity so that the user 5 is able to see the ID number in Display 106, as well as manipulate the user interface 203 of the Client device 2. Thus, the user 5 sees the ID number and enters this number into the Client 2 using the one or more buttons in User I/F 203. hi one example embodiment, the display 106 displays the ID number, while in other embodiments, the display may be a simple light or LED which flashes a number of times to represent each digit.
For purposes of this example, assume the ID is "3915". In one embodiment, the display shows the ID number 3915 in the display 106 which the user is able to read. The user then pushes an input button in User I/F 203 three times and pushes the return button once. Similarly, the remaining 3 digits are entered, with each digit's entry being followed by pressing an enter button. Once each of the digits is entered into the client device via user interface 203, the same ID is set to each of the server and the client (302 and 401).
ID 401 is hashed at 402 (for example, using the CPU 201 operating under program control, for example). For example, MD5 is used for hashing (Hashing is a known technique described in greater detail, for example, in Applied Cryptography by Bruce Schneier, Wiley, ISBN: 0471117099, which is hereby incorporated by reference). The public key of the client 2 (404) is encrypted in the encryptor 403 (an encryption/decryption engine). The encryption method is a symmetric encryption, for example, 128-bit AES encryption. The hashed result is used as an encryption key. The encrypted public key (PubKeyC 404) is sent to the server 1 over the powerline network 3 (or any other suitable network). ID 302 is hashed at 303 (for example using programmed CPU 101) in the same way. Decryptor 304 decrypts the encrypted key from the client 2 with the same hashed result. The original PubKeyC 404 is obtained by Server 1. Encryption and decryption can be carried out using CPUs 101 and 201 or using dedicated hardware. Note that no original public key is sent over the network without encryption.
Therefore, an adversary cannot get the public key 404 by monitoring network traffic. If the adversary replaces the encrypted client public key with his/her own public key, a decrypted result in the server 1 will not produce a valid result. Thus, no MITM attack is available. Also, the server 1 performs decryption 304 only once in the device authentication mode in order to prevent a brute force attack. It is not practical for the adversary to try all 10,000 ID combinations (for a four digit secret random number). In accordance with certain embodiments consistent with the present invention, a brute force attack can be avoided by configuring the server 1 to allow each client to try only a certain times (for example 5 times), after which the client is locked out until other procedures are carried out to reset the client's ability to try again (e.g., resetting the ID and restarting the authentication process). The ID is used only once for public key delivery.
After PubKeyC 404 is shared by both devices, the server 1 sends another secret key 306 to the client 2. The secret key may be a common access key that is shared with all the devices in the logical network. The secret key 306 is encrypted with PubKeyC 404 in the encryptor 305. The encryptor performs public-private key encryption, for example, using the Diffie-Hellman method as described in Applied Cryptography by Bruce Schneier, Wiley, ISBN: 0471117099. The encrypted result is transmitted to the client 2. The client 2 decrypts it with the client private key 405 and obtains the secret key. Public-private key encryption/decryption takes substantial calculation time compared with AES encryption. While AES is preferred in this embodiment, it should not be considered limiting. However, it is performed only once for each device authentication. Once the secret key 306 is shared by both devices, subsequent communications can be encrypted using the secret key 306. Datal 407 is AES-encrypted (in this embodiment) with the secret key 307 and sent to the server 2. The server 2 decrypts the encrypted Datal with the same secret key 306 and obtains Datal (308). Similarly, when the server 1 sends Data2 310, it is AES-encrypted with the secret key 306. The client 2 decrypts the encrypted Data2 with the secret key 306 and obtains Data2 410. Note that the public key and the secret key are, for example, 128-bit long, which is enough to prevent any brute force attack at present. Longer keys can of course be used as required to further inhibit brute force attacks.
In certain embodiments, after the secret key is shared, the client 2 may according to certain embodiments send the server its device information, for example, device name, type, manufacturer, serial number, etc. The server 1 can then show the device information on the display 106. The user can then see it and determine that the information is correct. If correct, the user pushes a button for verification. In the event an adversary tries to register his/her illegal or unauthorized device, the user can use this opportunity refuse it.
The server 1 may broadcast a notice on the new device to all the other client devices on the network. If they have a display, all the users can know what device is connected. This prevents a rogue device from being secretly connected to the network.
Thus, a method for authenticating a client device into a network consistent with certain embodiments involves at a server device, generating a multi-digit random secret number; displaying the random secret number on a server display coupled to the server device; positioning the client device in close enough physical proximity to the server device to permit observation of the displayed random secret number; at the client device, sequentially entering each digit of the random secret number by actuation of a switch coupled to the client device a number of times equivalent to each digit of the random secret number; and upon correct entry of the random secret number at the client device, completing an authentication and key exchange process using the random secret number in an encryption and decryption process carried out at the server device and the client device.
Another method for authenticating a client device into a network consistent with certain embodiments involves at a server device, generating a multi-digit random secret number; displaying the random secret number on a server display coupled to the server device; positioning the client device in close enough physical proximity to the server device to permit observation of the displayed random secret number; at the client device, sequentially entering each digit of the random secret number by actuation of a switch coupled to the client device a number of times equivalent to each digit of the random secret number; hashing the random secret number at the server device using a hashing algorithm to produce a secret key; hashing the random secret number at the client device using the hashing algorithm to produce the secret key; and using the secret key to encrypt and decrypt an encryption/decryption key that is exchanged between the client device and the server device. The display can be a multi-digit display wherein the random secret number is displayed in its entirety by the display. The random secret number can be displayed by the display a single digit at a time. The display can be a flashing display that represents each digit of the random secret number by a number of flashes. An enter switch can be actuated after entry of each digit in order to signify the end of entry of the digit. The first portion of the above process is depicted in greater detail in FIGURE 3 taken in conjunction with FIGURE 4 starting at 502. As previously described, the server 1 and client 2 are placed in a registration mode (using a predetermined operational sequence) at 503. The server 1 then generates a random ID number at 504. In general, this number can be N digits long, with N=4 being a suggested number of digits. A counter (M) is initialized to 1 at 505 and the server 1 displays the random ID number on display 106 at 512 (e.g., 3915 as shown). At 507, the user begins entry of the ID number using the data button 602 by pressing the data button the number of times specified by the first digit of the ID number. When the first digit is entered, the enter button 603 is pressed once. Control then passes to 508 where if the last digit has not yet been entered, the counter is incremented and control returns to 507 where the next digit is entered in the same manner. Once all digits have been entered at 508, the remainder of the authentication and key exchange process as previously described is carried out at 510 (i.e., the process that starts at 401).
Numerous variations will become evident to those skilled in the art upon consideration of the present teachings. For example, the following variation can be used to enter an ID to the client 2 in an environment wherein server 1 has no display capability. In this embodiment, Server 1 can utilize a simple LED or other light in place of the display. The user pushes the client button while the LED is on. When "9" should be input following "3", W
the LED shortly blinks three times and then the LED blinks nine times after a long break. Blinking speed is so slow that the user can follow it.
One embodiment of this process is depicted in greater detail in FIGURE 5 taken in conjunction with FIGURE 6, again starting at 502. As previously described, the server 1 and client 2 are placed in a registration mode (using a predetermined operational sequence) at 503. The server 1 then generates a random ID number at 504. In general, this number can be N digits long, with N=4 being a suggested number of digits. A counter (M) is initialized to 1 at 505 and the server 1 displays the first (Mth) digit of the random ID number as a sequence of flashes of LED or other light 606 at 506 (e.g., the "3" of ID number 3915 is represented first as three flashes). At 507, the user begins entry of the FD number using the data button 602 by pressing the data button the number of times specified by the first digit of the ID number. When the first digit is entered, the enter button 603 is pressed once. Control then passes back to 506 where if the last digit has not yet been entered, the counter is incremented and the next digit is represented by a number of flashes of LED 606. Control then returns to 507 where the next digit is entered in the same manner. Once all digits have been entered at 508, the remainder of the authentication and key exchange process as previously described is carried out at 510 (i.e., the process that starts at 401).
In variations of the above, the user can be required to actuate the data button 602 simultaneously with the LED 606 being lighted, or all of the LED 606 flashes that represent a single digit can be done, followed by a time period for actuation of the data button.
In another variant, the enter button 603 can be eliminated altogether by various mechanisms. For example, pressing and holding the data button 602 for greater than a specified period of time (e.g., hold for three seconds) can be used as an equivalent of the enter button. In other embodiments, the server 1 can provide a time window for each digit to be entered. The expiration of the time window can be used as a point of determination that the digit has been entered or not.
In still another embodiment, an LED lighting period on may be utilized rather than flashes. For "0", the LED turns on 1 second and the user pushes the button for 1 sec. For "3", the LED is on for 4 seconds. The client 2 resets the internal counter and starts counting when the button is pressed. If it is pressed equal to or more than 3 seconds and less than 4 seconds, it determines "3" is entered.
Thus, a network client device consistent with certain embodiments has a network interface for communication over a communication network. A switch is provided; wherein a random secret number can be entered at the client device by sequentially entering each digit of the random secret number by actuation of the switch a number of times equivalent to each digit of the random secret number. A hashing device can be used to hash the random secret number at the client device using a hashing algorithm to produce a secret key. An encryption/decryption engine uses the secret key in a decryption process for the exchange of an encryption/decryption key with a server device.
A network server device consistent with certain embodiments has a network interface for communication over a communication network. A random number generator that a multi- digit random secret number. A display displays the random secret number. A hashing mechanism is used for hashing the random secret number using a hashing algorithm to produce a secret key. An encryption/decryption engine uses the secret key to encrypt an encryption/decryption key that is exchanged between a client device and the server device.
In certain embodiments, the display is a multi-digit display and wherein the random secret number is displayed in its entirety by the display. In other embodiments, the random secret number is displayed by the server display a single digit at a time, hi other embodiments, the server display is a flashing display that represents each digit of the random secret number by a number of flashes.
Although not shown explicitly in the drawings, it will be understood that the authentication and key exchange process will end with a failure to authenticate in the event the ID number is entered incorrectly. Those skilled in the art will appreciate that various steps can be taken at this point to terminate the authentication and/or restart any subsequent authentication process.
Certain embodiments consistent with the present invention enjoy several advantages: Secure device authentication. No raw data is transmitted over the network without encryption. It prevents a MITM attack. Easy to use. The user only needs to input 4-digit number by pushing the buttons. No long number is required to enter. No special, expensive hardware or interface is necessary. No expensive user interface (keyboard, a large display, etc.) required. Only small software change required. No big impact to the cost. While these and other advantages may be achieved using embodiments consistent with the present invention, failure to meet any of these advantages does not imply that an embodiment falls outside the realm of other embodiments consistent with the present invention.
While the present discussion has used the terms "server" and "client" in exemplary embodiments, those skilled in the art should understand that for purposes of the present authentication processes, a client device can operate in the manner described above as a that of s server, and a server device can operate in the manner described above as a client. Hence, the terms "client" and "server" are not to be construed strictly in connection with limiting the claims. The terms should merely be considered labels for each device in connection with its respective operation in the current authentication processes.
Those skilled in the art will recognize, upon consideration of the above teachings, that certain of the above exemplary embodiments are based upon use of a programmed processor. However, the invention is not limited to such exemplary embodiments, since other embodiments could be implemented using hardware component equivalents such as special purpose hardware and/or dedicated processors. Similarly, general purpose computers, microprocessor based computers, micro-controllers, optical computers, analog computers, dedicated processors, application specific circuits and/or dedicated hard wired logic may be used to construct alternative equivalent embodiments.
Those skilled in the art will appreciate, upon consideration of the above teachings, that the program operations and processes and associated data used to implement certain of the embodiments described above can be implemented using disc storage as well as other forms of storage such as for example Read Only Memory (ROM) devices, Random Access Memory (RAM) devices, network memory devices, optical storage elements, magnetic storage elements, magneto-optical storage elements, flash memory, core memory and/or other equivalent volatile and non-volatile storage technologies without departing from certain embodiments of the present invention. Such alternative storage devices should be considered equivalents.
Certain embodiments described herein, are or may be implemented using a programmed processor executing programming instructions that are broadly described above in flow chart form that can be stored on any suitable electronic or computer readable storage medium and / or can be transmitted over any suitable electronic communication medium. However, those skilled in the art will appreciate, upon consideration of the present teaching, that the processes described above can be implemented in any number of variations and in many suitable programming languages without departing from embodiments of the present invention. For example, the order of certain operations carried out can often be varied, additional operations can be added or operations can be deleted without departing from certain embodiments of the invention. Error trapping can be added and/or enhanced and variations can be made in user interface and information presentation without departing from certain embodiments of the present invention. Such variations are contemplated and considered equivalent.
While certain illustrative embodiments have been described, it is evident that many alternatives, modifications, permutations and variations will become apparent to those skilled in the art in light of the foregoing description.
What is claimed is:

Claims

WCLAIMS
1. A method for authenticating a client device into a network, comprising: at a server device, generating a multi-digit random secret number; displaying the random secret number on a server display coupled to the server device; positioning the client device in close enough physical proximity to the server device to permit observation of the displayed random secret number; at the client device, sequentially entering each digit of the random secret number by actuation of a switch coupled to the client device a number of times equivalent to each digit of the random secret number; and upon correct entry of the random secret number at the client device, completing an authentication and key exchange process using the random secret number in an encryption and decryption process carried out at the server device and the client device.
2. The method according to claim 1, further comprising: hashing the random secret number at the server device using a hashing algorithm to produce a secret key; hashing the random secret number at the client device using the hashing algorithm to produce the secret key; and using the secret key to encrypt and decrypt an encryption/decryption key that is exchanged between the client device and the server device.
3. The method according to claim 1, wherein the display comprises a multi-digit display and wherein the random secret number is displayed in its entirety by the server display.
4. The method according to claim 1, wherein the random secret number is displayed by the server display a single digit at a time.
5. The method according to claim 1, wherein the server display comprises a flashing display that represents each digit of the random secret number by a number of flashes.
6. The method according to claim 1, further comprising, at the client device, actuating an enter switch after entry of each digit in order to signify the end of entry of the digit.
7. The method according to claim 1, wherein the network comprises a power line communication (PLC) network.
8. A method for authenticating a client device into a network, comprising: at a server device, generating a multi-digit random secret number; displaying the random secret number on a server display coupled to the server device; positioning the client device in close enough physical proximity to the server device to permit observation of the displayed random secret number; at the client device, sequentially entering each digit of the random secret number by actuation of a switch coupled to the client device a number of times equivalent to each digit of the random secret number; hashing the random secret number at the server device using a hashing algorithm to produce a secret key; hashing the random secret number at the client device using the hashing algorithm to produce the secret key; and using the secret key to encrypt and decrypt an encryption/decryption key that is exchanged between the client device and the server device.
9. The method according to claim 8, wherein the display comprises a multi-digit display and wherein the random secret number is displayed in its entirety by the display.
10. The method according to claim 8, wherein the random secret number is displayed by the display a single digit at a time.
11. The method according to claim 10, wherein the server display comprises a flashing display that represents each digit of the random secret number by a number of flashes.
12. The method according to claim 8, further comprising, at the client device, actuating an enter switch after entry of each digit in order to signify the end of entry of the digit.
13. The method according to claim 8, wherein the network comprises a power line communication (PLC) network.
14. A method for authenticating a client device into a power line communication (PLC) network, comprising: at a server device, generating a multi-digit random secret number; displaying the random secret number on a server display coupled to the server device; positioning the client device in close enough physical proximity to the server device to permit observation of the displayed random secret number; at the client device, sequentially entering each digit of the random secret number by actuation of a switch coupled to the client device a number of times equivalent to each digit of the random secret number; at the client device, actuating an enter switch after entry of each digit in order to signify the end of entry of the digit; hashing the random secret number at the server device using a hashing algorithm to produce a secret key; hashing the random secret number at the client device using the hashing algorithm to produce the secret key; and using the secret key to encrypt and decrypt an encryption/decryption key that is exchanged between the client device and the server device.
15. The method according to claim 14, wherein the display comprises a multi-digit display and wherein the random secret number is displayed in its entirety by the display.
16. The method according to claim 14, wherein the random secret number is displayed by the display a single digit at a time.
17. The method according to claim 16, wherein the display comprises a flashing display that represents each digit of the random secret number by a number of flashes.
18. A network client device, comprising: a network interface for communication over a communication network; a switch; wherein a random secret number can be entered at the client device by sequentially entering each digit of the random secret number by actuation of the switch a number of times equivalent to each digit of the random secret number; means for hashing the random secret number at the client device using the hashing algorithm to produce a secret key; and an encryption/decryption engine that uses the secret key in a decryption process for the exchange of an encryption/decryption key with a server device.
19. The network client device according to claim 18, further comprising, an enter switch, wherein the enter switch can be actuated after entry of each digit in order to signify the end of entry of the digit.
20. The network client device according to claim 18, wherein the network interface comprises a power line communication (PLC) network interface.
21. The network client device according to claim 18, wherein the encryption/decryption engine comprises a programmed processor.
22. A network server device, comprising: a network interface for communication over a communication network; a random number generator that generates a multi-digit random secret number; a display that displays the random secret number; means for hashing the random secret number using a hashing algorithm to produce a secret key; and an encryption/decryption engine that uses the secret key to encrypt an encryption/decryption key that is exchanged between a client device and the server device.
23. The network server device according to claim 22, wherein the display comprises a multi-digit display and wherein the random secret number is displayed in its entirety by the display.
24. The network server device according to claim 22, wherein the random secret number is displayed by the server display a single digit at a time. W
25. The network server device according to claim 24, wherein the server display comprises a flashing display that represents each digit of the random secret number by a number of flashes.
26. The network server device according to claim 22, wherein the network interface comprises a power line communication (PLC) network interface.
27. The network server device according to claim 22, wherein the encryption/decryption engine comprises a programmed processor.
28. A communication network, comprising: a server device having: a server network interface for communication over a communication medium; a random number generator that generates a multi-digit random secret number; a display that displays the random secret number; server hashing means for hashing the random secret number using a hashing algorithm to produce a secret key; and a server encryption/decryption engine that uses the secret key to exchange an encryption/decryption key between the server device and a client device; the client device having: a client network interface for communication over the communication network; a switch; wherein a random secret number can be entered at the client device by sequentially entering each digit of the random secret number by actuation of the switch a number of times equivalent to each digit of the random secret number; client hashing means for hashing the random secret number at the client device using the hashing algorithm to produce a secret key; and a client encryption/decryption engine that uses the secret key to exchange of the encryption/decryption key with the server device.
29. The communication network according to claim 28, wherein the client device further comprises an enter switch, wherein the enter switch can be actuated after entry of each digit in order to signify the end of entry of the digit.
30. The communication network according to claim 28, wherein the client and server network interfaces comprise power line communication (PLC) network interfaces.
31. The communication network according to claim 28, wherein at least one of the client and server encryption/decryption engines comprise a programmed processor.
32. The communication network according to claim 28, wherein the display comprises a multi-digit display and wherein the random secret number is displayed in its entirety by the display.
33. The communication network according to claim 28, wherein the random secret number is displayed by the display a single digit at a time.
34. The communication network according to claim 28, wherein the display comprises a flashing display that represents each digit of the random secret number by a number of flashes.
PCT/US2006/005207 2005-02-22 2006-02-15 Secure device authentication WO2006091437A2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP06735053A EP1851898A4 (en) 2005-02-22 2006-02-15 Secure device authentication
KR1020137002284A KR101343264B1 (en) 2005-02-22 2006-02-15 Secure device authentication
KR1020077021940A KR101341238B1 (en) 2005-02-22 2006-02-15 Secure device authentication
CN2006800056759A CN101248612B (en) 2005-02-22 2006-02-15 Secure device authentication
JP2007557052A JP2008537204A (en) 2005-02-22 2006-02-15 Secure device certification
CA2601970A CA2601970C (en) 2005-02-22 2006-02-15 Secure device authentication

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US65522505P 2005-02-22 2005-02-22
US60/655,225 2005-02-22
US11/332,899 US7739513B2 (en) 2005-02-22 2006-01-17 Secure device authentication
US11/332,899 2006-01-17

Publications (2)

Publication Number Publication Date
WO2006091437A2 true WO2006091437A2 (en) 2006-08-31
WO2006091437A3 WO2006091437A3 (en) 2008-03-20

Family

ID=36914221

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/005207 WO2006091437A2 (en) 2005-02-22 2006-02-15 Secure device authentication

Country Status (7)

Country Link
US (2) US7739513B2 (en)
EP (1) EP1851898A4 (en)
JP (1) JP2008537204A (en)
KR (2) KR101343264B1 (en)
CN (1) CN101248612B (en)
CA (1) CA2601970C (en)
WO (1) WO2006091437A2 (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316416B2 (en) * 2005-04-04 2012-11-20 Research In Motion Limited Securely using a display to exchange information
JP4946121B2 (en) * 2006-03-24 2012-06-06 パナソニック株式会社 Authentication relay device, authentication relay system, and authentication relay method
US8670566B2 (en) * 2006-05-12 2014-03-11 Blackberry Limited System and method for exchanging encryption keys between a mobile device and a peripheral output device
US8005223B2 (en) 2006-05-12 2011-08-23 Research In Motion Limited System and method for exchanging encryption keys between a mobile device and a peripheral device
KR100776338B1 (en) 2006-10-31 2007-11-15 한국전력공사 Apparatus for authenticating data of power line communication
KR100863644B1 (en) 2006-10-31 2008-10-15 한국전력공사 Authenticating System Between Devices And Creating System Of Secret Key And Method Thereof
US7933413B2 (en) * 2007-02-02 2011-04-26 Microsoft Corporation Key exchange verification
JP4938488B2 (en) * 2007-02-13 2012-05-23 パナソニック株式会社 Power line communication device, power line communication system, connection state confirmation method, and connection processing method
KR100970318B1 (en) 2007-09-28 2010-07-15 한국전력공사 Secrete key setting method of integrated?meter reading service based on power line?communication
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
CN101944995B (en) * 2009-07-01 2012-10-03 深圳长城科美技术有限公司 Communication method of power management system
US8521852B2 (en) * 2009-12-28 2013-08-27 The Directv Group, Inc. Method and system for registering a client device in a multi-room digital video recording system
US8954958B2 (en) 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
KR20110090602A (en) * 2010-02-04 2011-08-10 삼성전자주식회사 Method and apparatus for authenticating public key without authentication server
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US9218359B2 (en) 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
JP2012252580A (en) * 2011-06-03 2012-12-20 Sony Corp Power control device, power management device and power management system
WO2013009301A1 (en) * 2011-07-12 2013-01-17 Assa Abloy Ab Event driven second factor credential authentication
EP2552055B1 (en) * 2011-07-26 2017-03-22 Itron Metering Solutions UK Ltd Registration of an electronic device with HAN capabilities with a home area network
DE102011108775A1 (en) * 2011-07-29 2013-01-31 Continental Automotive Gmbh Method and system for control data transmission between a vehicle data recorder and a tester
JP5987552B2 (en) * 2012-08-21 2016-09-07 株式会社リコー Wireless communication apparatus, program and method
KR101987406B1 (en) * 2017-05-25 2019-06-12 윈텍정보(주) Method of registering information
CN108629192B (en) * 2018-04-17 2020-04-10 杭州鸿泉物联网技术股份有限公司 Authorization data processing method and device
US10404454B1 (en) 2018-04-25 2019-09-03 Blockchain Asics Llc Cryptographic ASIC for derivative key hierarchy

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963646A (en) 1997-03-10 1999-10-05 The Pacid Group Secure deterministic encryption key generator system and method
US6415205B1 (en) 1997-02-04 2002-07-02 Mytech Corporation Occupancy sensor and method of operating same
US20040054897A1 (en) 2002-08-20 2004-03-18 Sony Corporation System and method for authenticating wireless component
US20040064699A1 (en) 2002-09-16 2004-04-01 Hooker John Kenneth Authentication apparatus and method for universal appliance communication controller
US20040083368A1 (en) 2002-10-24 2004-04-29 Christian Gehrmann Secure communications

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02121057A (en) * 1988-10-31 1990-05-08 Matsushita Refrig Co Ltd Personal identification system
JPH02171030A (en) * 1988-12-23 1990-07-02 Matsushita Refrig Co Ltd Individual identification system
JP3129490B2 (en) * 1991-11-11 2001-01-29 美和ロック株式会社 Registration code search device for electric locks
US6307936B1 (en) * 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
US6998962B2 (en) * 2000-04-14 2006-02-14 Current Technologies, Llc Power line communication apparatus and method of using the same
AU2001282852A1 (en) * 2000-04-28 2001-11-20 The Regents Of The University Of California Method and apparatus for free-space quantum key distribution in daylight
US7457413B2 (en) * 2000-06-07 2008-11-25 Anoto Ab Method and device for encrypting a message
US6640217B1 (en) * 2000-09-19 2003-10-28 Bocada, Inc, Method for extracting and storing records of data backup activity from a plurality of backup devices
US6703923B2 (en) * 2001-04-18 2004-03-09 Thomson Licensing S.A. Apparatus for providing security on a powerline-modem network
US7162634B2 (en) * 2001-04-18 2007-01-09 Thomson Licensing Method for providing security on a powerline-modem network
KR100641824B1 (en) * 2001-04-25 2006-11-06 주식회사 하렉스인포텍 A payment information input method and mobile commerce system using symmetric cipher system
US7184551B2 (en) 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
US7702910B2 (en) * 2002-10-24 2010-04-20 Telefonaktiebolaget L M Ericsson (Publ) Message authentication
JP2004152094A (en) * 2002-10-31 2004-05-27 Yamaha Corp Mobile type storage device
US7142814B2 (en) * 2002-12-11 2006-11-28 Shary Nassimi Automatic Bluetooth inquiry mode headset
US7039247B2 (en) * 2003-01-31 2006-05-02 Sony Corporation Graphic codec for network transmission
US20040177167A1 (en) * 2003-03-04 2004-09-09 Ryuichi Iwamura Network audio systems
US7574604B2 (en) * 2003-03-04 2009-08-11 Sony Corporation Network device registration
US6947409B2 (en) * 2003-03-17 2005-09-20 Sony Corporation Bandwidth management of virtual networks on a shared network
GB2400461B (en) * 2003-04-07 2006-05-31 Hewlett Packard Development Co Control of access to of commands to computing apparatus
US7423992B2 (en) * 2003-04-16 2008-09-09 Sony Corporation Time slot and carrier frequency allocation in a network
JP2006526314A (en) * 2003-04-28 2006-11-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Security in communication networks
JP4658042B2 (en) * 2003-06-18 2011-03-23 パナソニック株式会社 Method and apparatus for receiving digital multi-carrier signals using wavelet transform
US7206320B2 (en) * 2003-06-18 2007-04-17 Sony Corporation Method and apparatus for non-centralized network bandwidth management
US7299503B2 (en) * 2003-06-26 2007-11-20 International Business Machines Corporation Apparatus and method for location specific authentication using powerline networking
US20050015805A1 (en) * 2003-07-17 2005-01-20 Sony Corporation Power line home network
US7450638B2 (en) * 2003-07-21 2008-11-11 Sony Corporation Power-line communication based surveillance system
US7092693B2 (en) * 2003-08-29 2006-08-15 Sony Corporation Ultra-wide band wireless / power-line communication system for delivering audio/video content
US7965673B2 (en) * 2003-09-09 2011-06-21 Sony Corporation System and method for multi-link communication in home network
US7171506B2 (en) * 2003-11-17 2007-01-30 Sony Corporation Plural interfaces in home network with first component having a first host bus width and second component having second bus width
JP4580635B2 (en) * 2003-12-10 2010-11-17 ソニー株式会社 In-vehicle communication system and communication method, in-vehicle communication terminal and communication method, program recording medium, and program
US8230486B2 (en) * 2003-12-30 2012-07-24 Entrust, Inc. Method and apparatus for providing mutual authentication between a sending unit and a recipient
US20050177624A1 (en) * 2004-02-11 2005-08-11 Alio, Inc. Distributed System and Methodology for Delivery of Media Content to Clients having Peer-to-peer Connectivity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415205B1 (en) 1997-02-04 2002-07-02 Mytech Corporation Occupancy sensor and method of operating same
US5963646A (en) 1997-03-10 1999-10-05 The Pacid Group Secure deterministic encryption key generator system and method
US20040054897A1 (en) 2002-08-20 2004-03-18 Sony Corporation System and method for authenticating wireless component
US20040064699A1 (en) 2002-09-16 2004-04-01 Hooker John Kenneth Authentication apparatus and method for universal appliance communication controller
US20040083368A1 (en) 2002-10-24 2004-04-29 Christian Gehrmann Secure communications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H.X.MEL; DORIS BAKER; ADDISON-WESLEY, CRYPTOGRAPHY DECRYPTED

Also Published As

Publication number Publication date
KR101341238B1 (en) 2013-12-12
US20060190730A1 (en) 2006-08-24
WO2006091437A3 (en) 2008-03-20
US7739513B2 (en) 2010-06-15
US20060190731A1 (en) 2006-08-24
US7689825B2 (en) 2010-03-30
KR20130020729A (en) 2013-02-27
JP2008537204A (en) 2008-09-11
CN101248612A (en) 2008-08-20
CN101248612B (en) 2012-01-04
CA2601970C (en) 2013-08-20
KR20070107160A (en) 2007-11-06
EP1851898A4 (en) 2012-08-01
KR101343264B1 (en) 2013-12-18
CA2601970A1 (en) 2006-08-31
EP1851898A2 (en) 2007-11-07

Similar Documents

Publication Publication Date Title
US7739513B2 (en) Secure device authentication
WO2020237868A1 (en) Data transmission method, electronic device, server and storage medium
AU776552B2 (en) Security access and authentication token with private key transport functionality
US6950523B1 (en) Secure storage of private keys
JP5058600B2 (en) System and method for providing contactless authentication
CN102017578A (en) Network helper for authentication between a token and verifiers
JP2002140304A (en) Radio communication system, transmitter, receiver, and contents data transfer method
CN109543434B (en) Block chain information encryption method, decryption method, storage method and device
WO2000019300A1 (en) Automatic recovery of forgotten passwords
CN111159684B (en) Safety protection system and method based on browser
WO2005088892A1 (en) A method of virtual challenge response authentication
EP1932275B1 (en) Security device and building block functions
CN114499871B (en) Signature encryption method, device and system and computer readable storage medium
KR100975449B1 (en) Multiple matching control method
CA2913571A1 (en) Multi-platform user authentication device with double and multilaterally blind on-the-fly key generation
US20220414205A1 (en) Passcode authentication based data storage device
JP2004159100A (en) Cipher communication program, server system for cipher communication system, cipher communication method, and cipher communication system
US20050076217A1 (en) Integrating a device into a secure network
JP2022547829A (en) Computer-implemented method and system for securely authenticating unconnected objects and their locations
JP4655459B2 (en) Password verification system, password verification method, password verification program, card payment system using password verification system, and door management system using password verification system
CN114584321A (en) Data information encryption deployment method based on PUF device
KR100959380B1 (en) Flash contents supplying method
WO2012036683A2 (en) Universal authentication method

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680005675.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2601970

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2006735053

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007557052

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 1020077021940

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1020137002284

Country of ref document: KR