1. Field of the Invention
This invention relates to remote control devices such as those commonly used to control televisions and slave computing devices. More particularly, the present invention relates to remote control devices having one-way communication with a set top computing device and providing user authentication.
2. Description of Related Art
Hand-held infrared and radio frequency remote control devices are commonly used to remotely control appliances such as television receivers, compact disc players, and other electronic devices. Such remote control devices can also be used to control set-top-boxes which are, in part, menu-driven computer devices and which use the television as a computer monitor. Computers, by-and-large, require user authentication before executing user commands. A limitation of prior art infrared remote control devices is that there is no convenient way to specify who the current user is, and based on the user's identity, to control or limit the operation of the appliance. In U.S. Patent Application 2004/148,632 (Park et al.) describe a remote control device for use with a set-top-box that enhances user mobility, convenience and functionality but does not provide for use by only authorized users and secure communication of the remote control device to the set-top-box.
A further limitation of prior art infrared remote control devices, including those which are biometric characteristic-enabled, is that they do not have the electronic means of distinguishing signals as coming from one such device or from another similar remote control device. In U.S. Patent Application 2003172,283 (O'Hara) describes a biometric characteristic-enabled remote control device that identifies the user of the device but does not provide for secure communication between the device and the slave controlled by the device. Therefore traditional remote control devices, including those which are biometric characteristic-enabled, are not appropriate as input devices for a computing device. This is particularly relevant since infrared readers and transmitters are readily available and inexpensive as of the date of this application so that mounting a man-in-the-middle attack on infrared transmissions is no longer a possibility for just a few, very highly skilled people.
With current remote control devices, even those which are biometric characteristic-enabled, it is possible to use a similar device and impersonate someone else supposedly using a different device. For example, a small key fob called “TV-B-Gone” is available for people who want to turn off the television in a public place such as a bar or restaurant.
U.S. Pat. No. 6,401,205 (Rallis, et al) describes an infrared type security system for a computer.
U.S. Pat. No. 6,871,230 (Fukunaga, et al) describes a system and method of personal identification.
U.S. Pat. No. 6,910,132 (Bhattacharya) describes a secure system and method for accessing files in computers using fingerprints.
RFC 3174 “US Secure Hash Algorithm 1 (SHA1)” (Eastlake et al.), found http://tools.ietf.org/html/rfc3174, Sep. 25, 2006, specifies a Secure Hash Algorithm, SHA-1, for computing a condensed representation of a message or a data file. When a message of any length <264 bits is input, the SHA-1 produces a 160-bit output called a message digest. The message digest can then, for example, be input to a signature algorithm which generates or verifies the signature for the message.
RFC 1321 “The MD5 Message-Digest Algorithm” Rivest, April 1992, found http://tools.ietf.org/html/rfc1321, Sep. 25, 2006, describes message-digest algorithm that takes as input a message of arbitrary length and produces as output a 128-bit “fingerprint” or “message digest” of the input. It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given pre-specified target message digest.
An object of this invention is to provide authenticated remote control of a slave computing device.
Another object of this invention is to provide an encrypted command message over a one-way communication channel to control a slave computing device.
Another object of this invention is to provide verification that a user is authorized to use the remote control with a user authentication device such as a fingerprint reader, a face recognition device, a voice recognition device, or any other biometric device.
To accomplish at least one of these objects, a one-way communication system communicates from a one-way communication apparatus such as remote control device to a slave computing system. The one-way communication device transfers authenticated command messages from the remote location for invoking services provided by the slave computing device.
The one-way communication system has a one-way communication apparatus such as a remote control device and receiving device in communication with the slave computing device. The one-way communication apparatus has a shared secret data retention device to retain a shared identifying cipher associated uniquely with the one-way communication apparatus. The shared identifying cipher is known only by and retained by both the one-way communication apparatus and the slave computing device. A dynamic key generation device generates a dynamic non-reusable key which combined with the shared identifying cipher for encrypting the command instruction code. A user authentication device is connected to receive a current user identification data for generating a user verification code that the user is authorized to use the one-way communication device to communicate with the slave computing device.
The one-way communication device has an encryption device connected to receive the command instruction code that indicates a service to be invoked on the slave computing system. The encryption device is connected to the shared secret retention device to extract the shared identifying cipher and the dynamic key generation device to receive the dynamic non-reusable key. The shared secret cipher is formed of a serial number assigned to the one-way communication apparatus and a personal identification number identifying an authorized user of the slave computing system.
The user authentication device transfers the user verification code to the encryption device and if the user verification code indicates that the user is a known user of the one-way communication apparatus, the encryption device encrypts the command instruction code, the shared identifying cipher, and the dynamic non-reusable key together to form an authenticated command message using a message digest algorithm or a secure hash algorithm. The command instruction code is coupled with the authenticated command message and transmitted to the slave computing system to invoke the services provided by the slave computing device.
The receiving device is in communication with the slave computing device and the one-way communication apparatus for receiving a transmission message that includes the authenticated command message. The receiving device decrypts the authenticated command message to develop a command invocation code that is transferred to the slave computing device to invoke the services provided by the slave computing device.
The one-way communication apparatus further includes a first memory device retaining an original user identification data captured during a registration of the user on the one-way communication apparatus. The user authentication device receives the current user identification data and extracts the original user identification data from the first memory device for comparing the current user identification data and the original user identification data for verifying the user identification and generating the verification code.
The one-way communication apparatus further includes a key pad and a command interpretation device. The key pad has an arrangement of key switches such that when any of the key switches are activated, the key pad generates a key code. The command interpretation device receives the key code from the key pad and generates the command instruction code for invoking services provided by the slave computing device.
The dynamic non-reusable key is formed a monotonically increasing key code and a dynamically generated key. The dynamic key generation device includes a monotonically increasing number generator and a dynamic key calculating device. The monotonically increasing number generator creates the monotonically increasing key code. The dynamic key calculating device is connected to the user authentication device to receive a unique error as a function of the current user identification data. From the unique error, the dynamic key calculating device generates the dynamically generated key.
Alternately, the dynamic non-reusable key is a timestamp code indicating an initiation time for a session of a plurality of authenticated command messages. The one-way communication apparatus further includes a timer device that generates the timestamp code and is in communication with the encryption device to transfer the timestamp code to the encryption device as the dynamic non-reusable key.
The one-way communication apparatus further includes a protocol construction device and a transmitter. The protocol construction device is in communication with the encryption device to receive the authenticated command message and appends a synchronization signal and error code to the authenticated command message to generate the transmission message. The transmitter transmits the transmission message to the slave computing system to invoke the services provided by the slave computing device.
The one-way communication apparatus registers a user as an authorized user of the one-way communication apparatus by first placing the serial number permanently in the shared secret data retention device by a manufacturer. A register command is transferred to the encryption device. The slave computing system communicates a user identification number. The user then communicates the user identification number to the encryption device through the key pad. The encryption device then encrypts the user identification number with the serial number to generate an encrypted user code which is then transmitted to the slave computing system. The slave computing system then requests the personal identification number from the user. The user then communicates the personal identification number through the key pad to the encryption device and the shared secret data retention device. The encryption device then encrypts the personal identification number with the serial number to generate an encrypted shared identifying cipher that is then transferred to the to the slave computing system for verification. If the encrypted shared identifying cipher is verified, the user communicates an original user identification data that is compared with the current user identification data to generate user verification code. An approval code is then encrypted with the shared identifying cipher to generate an encrypted approval code and transferred to the slave computing system. The user is then registered as authorized to use the one-way communication apparatus to invoke the services provided by the slave computing device.
The user invokes the services provided by the slave computing device by first providing a user identification number and generating the current user identification data. The currently generated user identification data is compared with the original user identification data to verify that the user is authorized to use the one-way communication apparatus. The dynamic non-reusable key is encrypted with the shared identifying cipher to generate a dynamic non-reusable key code and communicated to the slave computing system. The user keys a key on the keypad which is interpreted as the command instruction code. The command instruction code is encrypted with shared identifying cipher and the dynamic non-reusable key to generate the authenticated command message, which is then communicated to the slave computing device. The receiving device then decrypts the authenticated command message extract the command instruction code for transfer to the slave computing device. The slave computing device then invokes the services provided and authorized by the slave computing device. The invoked services of the slave computing are for example voice and video telephone services, voice and video conferencing services, email services, and computing functional services of the slave computing device.
The receiving device includes a reception device for acquiring and conditioning the transmission message. A protocol extraction device is in communication with the reception device to receive the transmission message and extract the authenticated command message. A decryption device is in communication with the protocol extraction device to receive the authenticated command message to extract the command instruction code, shared identifying cipher, and the dynamic non-reusable key. A user authentication device in communication with the decryption device to receive the command instruction code, shared identifying cipher, and the dynamic non-reusable key and compare shared identifying cipher, and the dynamic non-reusable key with a retained copy of the shared identifying cipher, and the dynamic non-reusable key to verify that the command instruction code is from an authorized user and to generate a verified user code. The receiving device further has a signal interpretation device. The signal interpretation device is in communication with the user authentication device to receive the verified user code and the command instruction code. If the verified user code indicates that the user is authorized, the signal interpretation device forwards the command instruction code to the slave computing device to invoke the invoking services provided by the slave computing device. The signal interpretation device in communication with the protocol extraction device to receive an un-encrypted command instruction code. The un-encrypted command instruction code is in turn forwarded to the slave computing system for execution, if the verified user code indicates that the user is authorized.
The slave computing device provides the user authentication device a user permission code. The user permission code determines if an authorized user is permitted to invoke the invoking services provided by the slave computing device and sets the verified user code whether the authorized user has permission for invoking the services from the slave computing device.
a is a block diagram of a remote control device that provides secure, one-way communication with a slave device.
b is a block diagram of a slave computing device able to authenticate the one-way communications from a remote controlling device.
a and 4b is a flow chart describing the process of accepting an initial biometric characteristic scan on a biometric characteristic-enabled remote control device.
a and 7b describe the one-way transmission formats for messages between a remote control device and a slave computing device.
A mechanism by which the people using a remote control device could be biometrically identified and the identification be used to securely communicate to a controlled computing device would be an improvement over existing remote control devices, even those which are biometric characteristic-enabled. This mechanism would enable the controlled computing device to authenticate each signal from a remote control device as coming from a user of the remote control device who is an authorized user of the controlled computing device.
A remote control device, possessing of a unique embedded serial number and in communication with a computer uses biometric characteristics of the remote control device's user to identify the user. The remote control device is equipped with a memory and the serial number uniquely identifying the remote control device is stored in the memory. The same serial number is stored in the memory of the computer at installation time. A remote control device is equipped with a biometric scanner or reader that is coupled to a signal processor within the remote control device and which scans or reads a user's biometric characteristic, the signal processor within the remote control device compares the scanned or measured biometric characteristic of the user against stored characteristics of authorized users of the remote control device to determine who the user is. This determination is temporary and must periodically be renewed. A remote control device is equipped with a microcontroller that is coupled to the memory of the remote control device and the signal processor.
When the microcontroller software determines that a sensed biometric characteristic matches an authorized user of the remote control device, the remote control's microcontroller and software within the remote control thereafter will send encrypted signals to the computer in response to individual key strokes on the remote control device. The signals incorporate an encryption of five arguments—a random key, the identity of the user, the identity of the remote control device and a monotonically increasing connection number—all four forming a shared secret cipher—and the identity of the keystroke. The signals permit the computer to determine that the signals come from an authorized user of the computer using a specific remote control device and that the authorized user is currently manipulating the authorized remote control device.
Various methods can be used to circumvent the security requirements as described above. The first of these methods is impersonation where someone with a similar remote control device containing the biometric characteristics of at least one person who is not an authorized user of the computing device attempts to receive services from the computing device authorized for some other person. The fact that all the encrypted signals from any remote control device use the remote control device serial number as part of the shared secret ensures that impersonation is not possible. The computer will decrypt any received signal using the appropriate serial number and determine that the signal came from an unknown remote control device.
A second kind of impersonation is where one authorized user of the remote control device tries to impersonate another authorized user of the same remote control device. Encrypting all signals while using the user PIN as part of the shared secret prevents this attack since different authorized users will be in possession of different PINs.
It is the nature of a remote control device that the distinct unencrypted signals that it transmits are very few in number, limited by the number of keys on the remote control device. Without a dynamically changing share secret, it would be possible to mount a different man-in-the-middle attack by first capturing all possible signals, encrypted or otherwise, from an authorized remote control device and then building an infrared transmitter that could impersonate an authorized user by retransmitting the captured signals. Thus the shared secret includes a key that changes each time a biometric characteristic scan is performed.
Another threat to security is also possible from a man-in-the-middle attack. In this attack a second infrared receiver receives and stores the same encrypted signals intended for the computing device. Then, at a later time, these same signals are played back and transmitted by a different infrared transmitter in an attempt to make the computer accept these signals as coming from an authorized user of an authorized remote control device. Even with a dynamically changing key this attack is possible since it is the remote control device that generates the key and the key is then transmitted to the computer. The computer needs some way of knowing that a previously used key is not being reused. Using a monotonically increasing sequence of numbers as part of the shared secret for the encrypted signals transmitted from a remote control device following a single biometric characteristic scan of an authorized user, ensures that capturing such a sequence and playing them back in the future in a man-in-the-middle attack will fail since the computer will expect an number larger than the one used in the captured sequence for any future communication between the remote control device and the computer.
Signals sent by the remote control device and received by the computer are used by the computer to authenticate the sending remote control device and the user of the sending remote control device. The signals are also used by the computer to identify the encrypted keystroke and determine what service of the computer is being requested. Provided the user of the remote control device is an authorized user of the computer and the service requested is one the user of the computing device is authorized to receive, the computer will provide the requested service. In one embodiment of the invention, a fingerprint scanner coupled to a microcontroller within the remote control device provides a biometric characteristic identification of the user of the remote control device and henceforth, using an encryption process, securely identifies all communication from the remote control device to the computer as coming from the remote control device and from the identified user. Services indicated by signals received by the computer are provided only to authenticated and authorized users of the computer. The encryption process employs a message digest process of the MD-5 algorithm as described in RFC 1321. Alternately, the encryption process could employ a shared hash algorithmic process such as described in RFC 3174.
The remote control device 100 includes a plurality of control buttons 105, a numeric keypad 110, a biometric scanner 120 and a directional pad 125. As hereinafter, the remote control device 100 uses specific control buttons 105, the numeric pad buttons 110, and the biometric scanner 120 to identify a user as an authorized user of the set top slave computing device 135. The identification is confirmed by displaying an appropriate “welcome” message on the display unit 160. Keys on the directional pad 125 are used as a rudimentary mouse in controlling the functionality of the slave computing device 135 and through the computer, using software installed on the computer, the previously mentioned devices to which it is connected.
The user of the remote control device 100 must be a previously-authorized user of the slave computing device 135. To ensure this correspondence, users of the slave computing device 135 register with the slave computing device 135 through an interface such as a web interface and set a password. Each time a user password is set or changed on the slave computing device 135, the user is provided with a Personal Identification Number (PIN) that must be used in conjunction with a first scan of the remote control device 100 user's biometric characteristic (as described in
Without the security measures of this invention, other devices 140 can be used to either imitate (impersonation attack) or capture and replay (man-in-the-middle attack) signals that normally pass from the remote control device 100 to the slave computing device 135.
A preferred implementation of the encryption of a remote control device 100 keystroke can be a hash function of four arguments—a random non-reusable key, the remote control device's 100 serial number and remote control device 100 user PIN which together comprise the shared secret and the keystroke itself—or a well-known algorithm such as SHA-1 or MD5 applied to these arguments.
a and 2b illustrate block diagram of the one-way communications system 200 of this invention. The one-way communication system 200 includes a biometric characteristic-enabled one-way communicating remote control device 205 and a receiver 280 connected to the slave computing device 135 of
During the initial registration process, the user presses a registration key on the remote device keypad 206. The key code interpretation/simulation device 225 accepts this keystroke and sends it unencrypted to the protocol construction device 235. The protocol construction device 235 builds a transmission message and transmits it to the receiver 250. The receiver 250 transfers the message to the protocol extraction device that de-multiplexes the message and transfers the keystroke code directly to the signal interpretation device 275. The signal interpretation device 275 then determines that a registration is in process and informs the slave computing device 135 of
The user is then prompted using the keypad 206, to enter the number associated with the user's name on the numbered list. This number is transferred to the key code interpretation/simulation device 225 and forwarded to the encryption device 230. The encryption device 230 retrieves the remote serial number 228 from the memory device 220 and encrypts the keystroke using the serial number as the shared secret. The encrypted keystroke is transferred to the protocol construction device 235 which builds the User ID Code transmission message 710 of
In the next step in the authentication process the slave computing device 135 displays a message that instructs the user to enter the user's PIN using the remote control device 205 keypad 206. The user enters the user's PIN and this is captured by the key code interpretation/simulation device 225. The code interpretation device 225 interprets the key code as the PIN and delivers the PIN to the encryption device which encodes it using the serial number 228 which it retrieves from the memory device 220. The encryption device 230 transfers the encrypted PIN to the protocol construction device 235 and the latter builds the User PIN Code transmission message 720 of
Once this scan is performed successfully, the resulting measurement data is stored by the user authentication device 210 in the memory device 220. The user authentication device 210 then informs the key code interpretation/simulation device 225 to generate a simulated registration confirmation code and deliver it to the encryption device 230. The encryption device 230, encodes the registration confirmation code using the serial number and PIN as a shared secret cipher and delivers the encrypted signal to the protocol construction device 235. The protocol construction device 235 constructs the transmission message 730 of
In the Scan process, whereby a user of the remote control device 205 performs an authenticating biometric scan prior to using the remote control device 205 to control the slave computing device 135, the user presses a Scan key on the remote device keypad 206. The key code interpretation/simulation device 225 accepts this keystroke, interprets it, and sends it unencrypted to the protocol construction device 235. The protocol construction device 235 builds a transmission message and transmits it to the receiver 250. The receiver 250 transfers the message to the protocol extraction device that de-multiplexes the message and transfers the keystroke code directly to the signal interpretation device 275. The signal interpretation device 275 then determines that a scan is in process. The signal interpretation device 275 does nothing for a period of time (for example, three seconds). Meanwhile, if the user of the remote control device 205 knows the user number used during initial registration it can be keyed in using the keypad 206 at any time. If after the period time (for example, the three seconds) no further signals have been received by the signal interpretation device 275 it sends a message to the computer that the numbered user list should be displayed, prompting the user of the remote to key in the user number beside the name on this list.
In either case, the user keys in the user number. The number is captured by the key code interpretation/simulation device 225 and saved in the memory device 220. The user then performs a biometric scan using scanner 208 and the result of the scan is transferred to the user authentication device 210. The user authentication device 210 retrieves the original scan data associated with the previously keyed in user number from the memory device 220 and compares it to the currently scanned biometric data.
If the two scans do not match within certain tolerance limits, the user authentication device 210 then informs the key code interpretation/simulation device 225 to generate a simulated failed scan code and deliver it to the protocol construction device. The protocol construction device 235 builds a transmission message and the transmission device 240 transmits it 245 to the receiver 250. The receiver 250 transfers the message to the protocol extraction device that de-multiplexes the message and transfers the keystroke code directly to the signal interpretation device 275. The signal interpretation device 275 then determines that a scan process has failed and informs the slave computing device 135 to display a message on the display unit 160 saying that the user should start the scan process again.
Once a scan process results in a successful match of initial and current biometric characteristics, the user authentication device 210 then transfers the difference (delta) between the initial biometric scan and the current scan to the dynamic key generation device 215 which uses this value as a unique error code to generate a new, random key. This key is stored in the memory device 220. This key is also transferred to the encryption device where it is combined with a monotonically increasing sequence number generated by the monotonic number generator 232. Together these are encrypted using the serial number as the shared secret cipher. The encrypted data is transferred to the protocol construction device 235 where the dynamic key code transmission message 740 of
Finally, the key code interpretation/simulation device 225 delivers the PIN to the encryption device which encodes it using the serial number 228 and the newly created dynamic key, both retrieved from the memory device 220. The encryption device 230 transfers the encrypted PIN to the protocol construction device 235 and the latter builds the User PIN Code transmission message 750 of
The user verification device 265 is now possessed of all three components of the shared secret cipher used to encrypt further keystroke messages sent between the remote control device 205 and the slave computing device 135—the remote serial number, the user PIN and a unique, not-previously-used dynamic random key. Any further keystrokes entered by the user using keypad 206 are received by the key code interpretation/simulation device 225 and from there transferred (unencrypted) to the protocol construction device 235 and to the encryption device 230 where the keystroke is encrypted using the shared secret ciphers serial number, PIN and random key code retrieved from memory device 220. The encryption device 230 delivers the encrypted signal to the protocol construction device 235. The protocol construction device 235 constructs the transmission message 760 of
The microcontroller 340 reads program instructions from stored memory 330, thereby giving the remote control device 100 its functionality, which includes the ability to read keystrokes from the keypad 350. All keystrokes entered at the keypad 350 are communicated to the microcontroller 340 and from there communicated to the transmitter 310, either unencrypted or encrypted as appropriate and described later in this document, for transmission to the slave computing device 135.
The program instructions retained by the non-volatile memory 330 include program code for the execution a process for registration of a user and the operational process of
If the PIN matches (Box 445) that of the PIN associated with the remote control device 100 user, the slave computing device 135 prompts (Box 455) the remote control device 100 user to scan the user's biometric characteristic using scanner 120. If the PIN does not match the slave computing device 135 prompts the remote control device 100 user to start the process over again (Box 450). Provided a match is found, the remote control device 100 user scans the user's biometric characteristic 460. The biometric characteristic is then associated with the user number (Box 420). The remote control device 100 then transmits (Box 470) an encrypted OK keystroke using both the remote control device 100 serial number and user PIN as the shared secret cipher. The computing device 150 decrypts the signal and records (Box 475) that the OK signal received came only from the remote control device 100 and was encrypted with the current device 100 user PIN. Use of the remote control device 100 serial number and user PIN as the shared secret cipher for this transmission ensure that the user being authorized is well-known to the slave computing device 135 and is using a well-known remote control device 100.
The process of scanning and verification (Box 505 of
a and 7b describe the signals transmitted from the remote control device 100 to the slave computing device 135. During the process of initial biometric scan of a user biometric characteristic the user number is transmitted encrypted using the remote control device 100 serial number as the shared secret cipher 710. The user PIN is also transmitted encrypted using the remote control device 100 serial number as the shared secret cipher 720. Upon a successful initial biometric scan and registration process using the remote control device 100, the registration confirmation code is transmitted encrypted using the remote control device 100 serial number and user PIN as the shared secret cipher 730.
During the process of user authentication, the dynamic key code is transmitted using the remote control device 100 serial number as the shared secret cipher 740. The user PIN is transmitted 750 encrypted using the dynamic key and remote control device 100 serial number as shared secret ciphers. Finally, once a user has been authenticated, additional keystrokes are transmitted 770 in both unencrypted and encrypted form. The encryption is performed using the remote control device 100 serial number, the user PIN and the dynamic key code as shared secret ciphers.
While this invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the invention.
This application claims priority under 35 U.S.C. §119 to U.S. Provisional Patent Application Ser. No. 60/908,507, filed on Mar. 28, 2007, which is herein incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60908507 | Mar 2007 | US |