U.S. patent application number 12/345010 was filed with the patent office on 2010-07-01 for personal identification number (pin) generation between two devices in a network.
This patent application is currently assigned to GENERAL INSTRUMENT CORPORATION. Invention is credited to Paul Moroney, Jiang Zhang.
Application Number | 20100169399 12/345010 |
Document ID | / |
Family ID | 42286193 |
Filed Date | 2010-07-01 |
United States Patent
Application |
20100169399 |
Kind Code |
A1 |
Moroney; Paul ; et
al. |
July 1, 2010 |
PERSONAL IDENTIFICATION NUMBER (PIN) GENERATION BETWEEN TWO DEVICES
IN A NETWORK
Abstract
A method of generating a Personal Identification Number (PIN)
between a first device and a second device in a network is
provided. The method includes securely receiving information of
input choices of the second device and random numbers assigned to
the input choices at the first device. At the first device, the PIN
is generated from the random numbers, and instructions are provided
directing an entry of the input choices on the second device. At
the second device, the input choices are entered. The second device
is operable to generate the PIN from the input choices and the
random numbers if the input choices are entered as instructed.
Inventors: |
Moroney; Paul; (Olivenhain,
CA) ; Zhang; Jiang; (La Jolla, CA) |
Correspondence
Address: |
Motorola, Inc.;Law Department
1303 East Algonquin Road, 3rd Floor
Schaumburg
IL
60196
US
|
Assignee: |
GENERAL INSTRUMENT
CORPORATION
Horsham
PA
|
Family ID: |
42286193 |
Appl. No.: |
12/345010 |
Filed: |
December 29, 2008 |
Current U.S.
Class: |
708/250 |
Current CPC
Class: |
H04N 21/43637 20130101;
H04N 21/42684 20130101; H04W 4/08 20130101; H04L 63/083 20130101;
H04L 63/065 20130101; H04N 21/43615 20130101 |
Class at
Publication: |
708/250 |
International
Class: |
G06F 7/58 20060101
G06F007/58 |
Claims
1. A method of generating, a Personal Identification Number (PIN)
between a first device and a second device in a network, the method
comprising: at the first device, securely receiving information for
one or more input choices of the second device; at the first
device, generating a PIN from the information for the one or more
input choices of the second device; at the first device, providing
instructions directing an entry of the one or more input choices on
the second device; and at the second device, entering one or more
input choices in response to the instructions provided by the first
device, wherein the second device is operable to generate the same
PIN from the entered one or more input choices if the entered one
or more input choices are entered as instructed.
2. The method of claim 1, wherein the information for the one or
more input choices further includes numbers assigned to the input
choices, and at the first device, generating the PIN further
comprises: generating the PIN from the one or more input choices
and the numbers assigned to the input choices.
3. The method of claim 2, wherein the second device is operable to
generate the PIN from the entered input choices and the numbers
assigned to the input choices.
4. The method of claim 3, wherein the numbers assigned to the input
choices are random numbers.
5. The method of claim 4, wherein the random numbers include a
random number generated for each input choice and generating the
PIN from the random numbers further comprises: determining a random
sequence of the one or more input choices, wherein the random
sequence includes a sequence of input choice, random number pairs;
and determining the PIN from the random sequence.
6. The method of claim 1, further comprising: at the first device,
verifying whether the input choices entered on the second device
are the same input choices in the instructions, wherein the PIN is
verified when the input choices are the same.
7. The method of claim 1, wherein the entry of the input choices is
performed manually on the second device.
8. The method of claim 1, wherein the input choices comprise a set
of manually-activated buttons on the second device.
9. The method of claim 1, wherein the input choices comprise a set
of buttons or a number of clicks of at least one button on the
second device.
10. The method of claim 1, wherein the network is a Wireless Home
Digital Interface (WHDI) network including end user home
devices.
11. The method of claim 1, further comprising: concatenating the
numbers to generate the PIN.
12. The method of claim 11, further comprising: transforming or
modifying the numbers before being concatenated.
13. The method of claim 1, further comprising: sending a request to
the second device from the first device before receiving the
information including the input choices of the second device.
14. The method of claim 1, wherein the first device and the second
device are a sink device and a source device respectively, or the
first device and the second device are a source device and a source
device respectively.
15. At least one computer readable storage medium storing at least
one computer program that when executed performs a method of
generating a Personal Identification Number (PIN) between a first
device and a second device in a network, the method comprising: at
the first device, securely receiving information for one or more
input choices of the second device; at the first device, generating
a PIN from the information for the one or more input choices of the
second device; at the first device, providing instructions
directing an entry of the one or more input choices on the second
device; and at the second device, entering one or more input
choices in response to the instructions provided by the first
device, wherein the second device is operable to generate the same
PIN from the entered one or more input choices if the entered one
or more input choices are entered as instructed.
16. The at least one computer readable medium of claim 15, wherein
the information for the one or more input choices further includes
numbers assigned to the input choices, and at the first device,
generating the PIN further comprises: generating the PIN from the
one or more input choices and the numbers assigned to the input
choices.
17. The at least one computer readable medium of claim 15, wherein
the wherein the second device is operable to generate the PIN from
the entered input choices and the numbers assigned to the input
choices.
18. A device configured to communicate with a second device in a
wireless network, the device comprising: an interface configured to
wirelessly receive a button list from the second device; a
processor configured to select a sequence of buttons from the
button list and generate a PIN from the selected sequence, wherein
the processor is further configured to present the selected
sequence of buttons on an input/output device for the device; and a
data storage storing the PIN.
19. The device of claim 18, wherein the button list includes a set
of button, value pairs, and the processor is configured to generate
the PIN from the selected sequence and corresponding values in the
button, value pairs for each of the buttons.
20. The device of claim 18, wherein the processor is configured to
use the PIN to generate a device registration key for the new
device to connect to the other device or join a domain of the other
device.
Description
RELATED APPLICATIONS
[0001] The present invention is related to U.S. patent application
Ser. No. ______ (Attorney Docket No. BCS05333), entitled "Method of
Targeted Discovery of Devices in a Network", by Jiang Zhang and
Petr Peterka; U.S. patent application Ser. No. ______ (Attorney
Docket No. BCS05335), entitled "Secure and Efficient Domain Key
Distribution for Device Registration", by Jiang Zhang and Sasha
Medvinsky; and U.S. patent application Ser. No. ______ (Attorney
Docket No. BCS05338), entitled "Method of Preventing Unauthorized
Device Registration in a Network", by Jiang Zhang and Petr Peterka,
all of which are incorporated by reference in their entireties.
BACKGROUND
[0002] The WIRELESS HOME DIGITAL INTERFACE (WHDI) is a wireless
standard proposed for a wireless multimedia device network, which
may be used at home, in the office or in other short-range wireless
network environments. WHDI allows for high bandwidth wireless
channels for sending content between devices, which may support
uncompressed High Definition (HD) content. For example, a DVD
player may be connected to multiple HDTVs wirelessly and send
uncompressed content to the HDTVs using WHDI. WHDI eliminates the
need for cabling, such as High Definition Multimedia Interface
(HDMI) cables, component cables, etc., used to transmit
uncompressed content between devices. Conventional wireless
technologies such as 802.11, BLUETOOTH, etc., do not have the
bandwidth or interface to transmit uncompressed multimedia content
between devices.
[0003] WHDI can be used in various environments. For example, a
user located in a single family home or in an apartment may connect
a DVD player, an MP3 player, a laptop PC, a gaming console, and
flat panel TVs all together, wirelessly, using WHDI. In another
environment, a user wirelessly connects a multimedia projector in a
conference room to a desktop PC in his office, and to a set of
notebook computers of numerous meeting participants using WHDI. In
these examples and other examples, security is a concern because of
the wireless communication between the WHDI devices. Due to the
nature of wireless networks, typically they are easy to identify by
unauthorized users. Also, an unauthorized user may attempt to
identify and connect to the particular devices connected in a home
WHDI network. The homeowner may desire to keep the identity of
their devices private, and their devices away from the unauthorized
users. For example, a homeowner may not want a neighbor to know
they have 5 HDTVs, or they may not want any non-family members to
know they have a server connected to their home network, because
the server may contain confidential information, such as personal
videos, etc. While WHDI provides the protocol and interfaces for
high-bandwidth wireless networks, WHDI may lack the security
procedures to maintain user privacy.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Features of the present invention will become apparent to
those skilled in the art from the following description with
reference to the figures, in which:
[0005] FIG. 1 illustrates a simplified block diagram of a Wireless
Home Digital Interface network, according to an embodiment of the
present invention;
[0006] FIG. 2 illustrates a flow diagram of a method for generating
and entering a PIN between a first device and a second device in a
wireless network, according to an embodiment of the present
invention; and
[0007] FIG. 3 shows a block diagram of a computer system that may
be used as a platform for devices shown in FIG. 1, according to an
embodiment of the present invention.
DETAILED DESCRIPTION
[0008] For simplicity and illustrative purposes, the present
invention is described by referring mainly to exemplary embodiments
thereof. In the following description, numerous specific details
are set forth to provide a thorough understanding of the present
invention. However, it will be apparent to one of ordinary skill in
the art that the present invention may be practiced without
limitation to these specific details. In other instances, well
known methods and structures have not been described in detail to
avoid unnecessarily obscuring the present invention.
[0009] Embodiments of the present invention provide a secure and
user-friendly method and system for generating Personal
Identification Numbers (PINs) among the different devices in a
wireless network, in particular, a WHDI network in which the WHDI
environment provides a set of security functions.
[0010] WHDI is a proposed standard for high bandwidth wireless
digital data connectivity between multiple points. WHDI wirelessly
transmits multimedia data, such as high definition video and the
associated audio data, from source devices to sink devices in the
WHDI network reliably. Devices in a WHDI network are referred to as
WHDI devices, and a WHDI network include WHDI devices communicating
wirelessly amongst each other using the WHDI standard. WHDI devices
are characterized as two types. One type is a source device and the
other type is a sink device. A WHDI device may be a source device,
a sink device, or both depending on its functionality. A source
device transmits data streams across a WHDI network to a sink
device, and a sink device receives data streams across the WHDI
network from the source device. Examples of source devices are
set-top box, notebook Personal Computer (PC), desktop PC, DVD
player, MP3 player, video camcorder, audio/video receiver, gaming
console, etc. Examples of sink device are TVs, PCs, projectors,
etc.
[0011] Many device networking technologies including WHDI face the
issue of how to securely allow a new device to become part of any
existing network. One way of doing this is using a Personal
Identification Number (PIN) during a device registration process.
The device registration is a process to let a new device join
another device or a network of devices in a domain. A domain is a
group of devices that are approved to share content with each
other. Device registration or domain registration includes the
process of approving or denying a device to join other devices, or
a domain. Device registration can provide a user with control over
which devices are allowed to connect to the other devices in the
user's domain. So if a family has a domain, then all the devices
owned by the family may be members of the domain, but a friend's
device may not be allowed to join the domain.
[0012] Prior to a new device being allowed to connect to an
existing device or join a domain, the new device must be authorized
or pre-approved to ensure that the new device is a device that a
user wants to connect to the existing device or be in the domain.
For example, a family member purchases a new TV, and the family
member wants the TV to become part of the family domain, so the TV
can play content received from other devices in the family domain,
such as a set-top box or a DVD player. However, if a neighbor
purchases a TV, the family member likely does not want the
neighbor's TV in the family's domain. Furthermore, through a
wireless network, the neighbor's TV may inadvertently attempt to
become part of the family domain. In order to limit this
possibility, a PIN generation method, according to an embodiment,
is described herein to determine whether a new device is authorized
to join a domain. The PIN may also be used to generate a device
registration key, which is used to securely distribute the domain
key that is used by the new device to join the domain.
[0013] FIG. 1 illustrates a simplified block diagram of a WHDI
network 100 configured to generate a PIN among different WHDI
devices, according to an embodiment of the present invention. FIG.
1 shows a set of sink devices including a sink device 110, a sink
device 120, and a sink device 130, and a set of source devices
including a source device 140, a source device 150, and a source
device 160. In one embodiment, the sink device 110 is a flat panel
HDTV in a living room, the sink device 120 is a TV in a kitchen,
such as a TV installed on a refrigerator, and the sink device 130
is a TV for a treadmill. Further, the source device 140 is a
notebook PC, the source device 150 is DVD player, and the source
device 160 is a gaming console. It will be apparent that the WHDI
network 100 may include additional sink devices and/or additional
source devices not shown and that some of the sink devices and the
source device described herein maybe removed or new WHDI devices
added.
[0014] The source devices 140, 150, and 160, respectively, may be
any source of content, such as a video content, audio content, or
other data content from the Internet. Each of the source devices
140, 150, and 160 may have independent and possibly different
content. In addition, each of the source devices 140, 150, and 160
may have a different connectivity with each of the sink devices
110, 120, and 130. Any one of the source devices 140, 150, and 160
may be connected to one or more of the sink devices 110, 120, and
130 simultaneously (e.g., for multicasting) or separately (e.g.,
unicasting).
[0015] When the source device 140 attempts to connect to the sink
device 110 wirelessly within the WHDI network 100 for the first
time, the sink device 110 needs to know whether the source device
140 is a secure device for the sink device 110. And at the same
time, the source device 140 also needs to know whether the sink
device 110 is a secure device for the source device 140. Secure
device means that the device is a WHDI standard compliant device
and the device is authorized to connect to the other device.
Whether a device is a WHDI standard compliant device can be
verified by an existence of a valid WHDI PKI (Public Key
Infrastructure) certificate, which was issued by the WHDI
certificate authority to the device. Even with a valid certificate,
however, a device must still be "authorized" to be a secure device.
For example, if the source device 140 is a media player belonging
to your neighbor, who wants to stream data of an adult content or
an unsolicited advertisement to your HDTV while you are watching a
DISNEY channel with kids, the source device 140 would not be
considered to be a secure device for the sink device 110.
[0016] One way of verifying whether the source device 140 is a
secure device for the sink device 110 is that the source device 140
provides its valid WHDI device certificate to the sink device 110
and the sink device 110 generates a PIN for the source device 140
using a method described in further detail below. For example, PIN
generation can be accomplished by entering any input choices, such
as pressing particular buttons on the source device 140, pressing
buttons in a particular sequence on the source device 140, etc.,
following one or more instructions from the sink device 110. This
way, a user who wants to connect a new source device to an existing
WHDI device has a simplified method of a PIN generation and entry
for the existing WHDI device, for example, by using the interface
on the WHDI device. It is more secure and user-friendly to let the
devices generate a PIN at runtime than using a specific PIN already
pre-assigned for a particular source device, because it reduces the
possibility of the PIN being stolen or the PIN being forgotten by
the user. With respect to the certificate validation, a WHDI device
is initially loaded with a certificate in the factory as well as
the device's identification. Thus, the WHDI device certificates of
both devices have to be validated first. After validating the other
device's certificate, any device can use that other device's public
key (included in the certificate) to encrypt and protect the data
transmitted between these two devices.
[0017] In FIG. 1, the sink device 110 generates a PIN for the
source device 140 based on the type of inputs at the source device
140, such as press-able buttons, or other user input options. The
source device 140 can also take part in the PIN generation process
by providing some random values to the sink device 110. These
random data can be encrypted using the sink device 110's public key
and the sink device 110 can decrypt it using its own private key.
Once the sink device 110 generates a PIN for the source device 140,
the PIN or information needed to generate the PIN is communicated
to the source device 140 through the user. After the sink device
generates the PIN, and indicates the user entries, and they are
entered at the source device, and the source device generated PIN
is the same as the PIN generated at the sink device, the devices
may register with each other and the new device may join the
existing domain in the WHDI network 100. The domain is used in WHDI
to define one or more WHDI devices that a particular WHDI device is
authorized to send and/or receive content. This entire PIN
generation process is a user friendly and secure method. This
method may be performed using a Graphical User Interface (GUI)
displayed on one or more of the WHDI devices. Also, an
administrative GUI may be provided to manage domains.
[0018] The WHDI network 100 also provides the ability to stream the
persistently-stored content from the initial source device to
another sink device, or from the initial source device to another
source device that has been authenticated as part of the WHDI
network. In one embodiment, this allows a media server as a source
device, e.g., a dual-tuner set-top box ("STB") with hard drive, to
deliver recorded content to any sink device such as TV, in the
house by streaming to a targeted sink device such as HDTV. Of
course, it is noted that while a home network is described,
extensions to a business, education, public entertainment or other
such local wireless network are analogous.
[0019] It will be apparent that the WHDI network 100 may include
additional elements not shown and that some of the elements
described herein may be removed, substituted and/or modified
without departing from the scope of the WHDI network system 100. It
should also be apparent that one or more of the elements described
in the embodiment of FIG. 1 may be optional.
[0020] An embodiment of a method in which the WHDI network 100 may
be employed for generating a PIN among different WHDI devices will
now be described with respect to the following flow diagram of the
method 200 depicted in FIG. 2. It should be apparent to those of
ordinary skill in the art that the method 200 represents a
generalized illustration and that other steps may be added or
existing steps may be removed, modified or rearranged without
departing from the scopes of the method 200. Also, the method 200
is described with respect to the WHDI network 100 by way of example
and not limitation, and the method 200 may be used in other
systems.
[0021] Some or all of the operations set forth in the method 200
may be contained as one or more computer programs stored in any
desired computer readable medium and executed by a processor on a
computer system. Exemplary computer readable media that may be used
to store software operable to implement the present invention
include but are not limited to conventional computer system Random
Access Memory (RAM), Read Only Memory (ROM), Electrically
Programmable Read Only Memory (EPROM), Electrically Erasable
Programmable Read Only Memory (EEPROM), hard disks, or other data
storage devices.
[0022] FIG. 2 illustrates a flow diagram of a method 200 for
generating a PIN between a first device and a second device in a
wireless network, according to an embodiment of the present
invention. In one embodiment, the wireless network is a WHDI
network including end user home or office devices. Therefore, in
one embodiment, the first device may be a sink device and the
second device may be a source device in FIG. 1, which is configured
to generate a PIN. The method 200 may be provided to other non-WHDI
networks, which are wireless or wired.
[0023] Also, FIG. 2 shows steps performed by a first device and a
second device to generate a PIN. In one embodiment, the first
device is a sink device and the second device is a source device,
such as the sink and source devices described with respect to FIG.
1 in a WHDI network.
[0024] At step 201, the first device sends a request to the second
device. The request is a message that invokes the PIN generation
method 200. Although the step 201 can be an option, the first
device's certificate is sent to the second device when the first
device sends a request to the second device and the second device
uses the public key in the certificate to encrypt the random values
for the button list in the following steps. So the encryption key
may be included in the request. If the second device is already
registered to the first device, the second device may reply to the
first device with a message authenticated by the previously shared
registration key so that the first device can recognize the second
device as an option, or the second device may allow the
registration process to continue and overwrite the old registration
data if the new registration succeeds. If the second device is not
registered to the first device, it means that the first device may
not have generated a PIN for the second device previously and the
second device does not have a registration key for connecting to
the first device and further to the WHDI network, which the first
device belongs to. When the second device is not registered to the
first device, it shall proceed to the next step. In one embodiment,
once the second device receives the request for the registration
and replies, the second device may enable its buttons for the
directed user entry mode for a predetermined period until the
button(s) is pressed, otherwise it times out. During the user entry
mode, the buttons shall be considered being used for that purpose
only. For each WHDI source device, it is possible that the
manufacturer may specify a list of buttons and button names that
can be used for user entry and subsequent PIN generation.
[0025] At step 211, the second device receives the request. The
received request, for example, places the second device in a user
entry mode, where buttons or other manual inputs on the second
device are used for PIN generation.
[0026] At step 212, the second device determines input choices, and
at step 213, the second device determines values for each input
choice. An input choice is information that can be input into the
second device. The input choice typically is information that can
be manually entered into the second device. In one example, the
input choices are associated with buttons on the second device.
Examples of input choices of the second device are a set of keypad
or button list for function keys, such as "PLAY", "STOP", "PAUSE",
and "ENTER" depends on the type of the second device. For example,
a DVD player as a second device may have buttons for "PLAY",
"STOP", and "PAUSE" that are input choices. In another example, a
notebook PC may use keys on its keyboard as input choices. Another
example of an input choice may be a number of clicks of a button.
Such as 3 clicks on PLAY and 2 clicks on PAUSE.
[0027] A value is determined for each input choice. Each value may
be a random number. Each value may be generated by the second
device, for example, using a random number generator, or pre-stored
in the second device, such as during the manufacture process.
[0028] In one example, the input choices and values are comprised
of a button list. The button list includes a button name and value
for each button of a set of buttons on the second device. One
example of a button list is {(PLAY, 10), (PAUSE,13), (STOP,
24)}.
[0029] At step 214, the second device transmits the input choices
and corresponding values to the first device. The transmission
should be secured, for example, by encrypting the information being
transmitted, so that any other party cannot see the information.
For example, when a button list is transmitted to the first device
over the WHDI network, if the first device has sent its WHDI device
certificate to the second device, the second device may use the
first device's public key, which it obtained from the certificate,
to encrypt the input choices information. The second device may
keep the input choices and corresponding values until the
registration process is over.
[0030] At step 202, the first device receives the input choices and
corresponding values from the second device. If the information is
encrypted, the first device must decrypt it first. For example, the
button list is received from the second device and the first device
must use its private key to decrypt the information first.
[0031] At step 203, the first device selects a sequence of the
input choices. The sequence may be selected randomly. For example,
if the button list is {(PLAY, 10), (PAUSE,13), (STOP, 24)}, the
first device selects a random sequence of the buttons, such as
{(STOP, 24), (PLAY, 10), (PAUSE,13)}. The number of input choices
in the sequence can also be determined by the first device
randomly. Also, an input choice can be repeated multiple times or
not used at all in the sequence.
[0032] At step 204, the first device generates a first concatenated
value from the values in the selected sequence. There are various
ways to concatenate such values. For example, the sequence is STOP,
PLAY, PAUSE. The corresponding values are 24, 10, and 13,
respectively. The first concatenated value could be 241013, or the
values can be concatenated in binary values, or the values can be
concatenated after a transformation, such as adding a number (e.g.
5) to each value, as long as both devices do the same
transformation. This step may be performed anytime after the
sequence is selected.
[0033] At step 205, the first device presents only the input
choices, and not the corresponding values, in the selected
sequence. In one embodiment, the presentation of the sequence may
include an audio or visual presentation. For example, if the first
device is a TV, the TV displays the sequence of STOP, PLAY, PAUSE.
Thus, the presentation can be to a user.
[0034] At step 215, the input choices are entered in the second
device. This may include manual entry. For example, the user views
the displayed sequence of STOP, PLAY, PAUSE, and pushes STOP, PLAY,
PAUSE buttons in that order on the second device.
[0035] At step 216, the second device identifies the corresponding
value for each input choice. For example, the button list is stored
in the second device and is retrieved to determine the
corresponding value for each input choice.
[0036] At step 217, the second device generates a second
concatenated value from the values in the sequence of the entered
input choices. For example, the sequence is STOP, PLAY, PAUSE. The
corresponding values are 24, 10, and 13, respectively. The second
concatenated value is 241013. Also there are many ways to
concatenate the values with or without transformation, as long as
both devices use the same approach.
[0037] The concatenated values formed at the first and second
devices are the PINs. In other words, each device calculates its
own PIN as represented by steps 206 and 218. If both devices
generate the same PIN, then one device would be allowed to become a
member of the domain or connect to the other device. There are many
methods to verify whether these two devices generate the same PIN.
The second device may send the PIN back to the first device
securely for the first device to verify directly, or the second
device may send some data derived from the PIN to the first device
for the first device to verify indirectly. In one embodiment, the
second device may derive a device registration key from the PIN
generated by its own, or from the PIN and some other secret data
shared between these two devices, and then use the derived key to
generate a Message Authentication Code (MAC) over an
acknowledgement message sent back to the first device. After
receiving the acknowledgement message with the MAC from the second
device, the first device will use the PIN generated by its own, or
use the PIN with some other secret data shared between the two
devices, to derive a device registration key, and then use the
derived key to verify the acknowledgement message's MAC. If the MAC
is verified, this means the second device has generated the right
PIN to derive the right key. Thus, the PINs generated by these two
devices are indirectly verified to be same. If the MAC verification
failed, this means the PIN generated by the second device may not
be same as the PIN the first device generated. If so, the PIN
verification failed and these two devices may not be able to
connect with each other to share content. The user may restart the
process again to make the PIN verification successful, such that
the first device and second device may effectively belong to the
same domain or connect to each other, and can communicate
further.
[0038] In another embodiment, after step 203, the first device
presents the sequence of input choices to the second device. The
presented input choices are entered in the second device. The
second device securely sends the entered input choices to the first
device, e.g. the entered choices may be encrypted using a key
shared by these two devices. If the entered input choices match the
input choices presented, then the PINs are verified and the two
devices may communicate further, e.g. a device registration key can
be exchanged and stored by the two devices for future
communication. In this embodiment, a PIN does not need to be
generated by concatenating information for the input choices.
Instead, the input choices selected at the first device and
presented to the second device are the PIN. Also, note that the
input choices selected at the first device in this embodiment or
the embodiments described above can be a subset of the input
choices received from step 214.
[0039] As described above, the button list includes input choice,
value pairs. In another embodiment, the button list does not
include values, and may only include the input choices, such as
only a set of buttons on the second device. Then the first device
can select and display a sequence of the input choices and use this
sequence in some fashion to generate a PIN. The second device,
after having the input choices entered by a user in the correct
sequence, can also use a matching approach to generate the PIN.
[0040] Note that the method 200 provides security because a user of
an unauthorized first device would not be able to access the second
device and enter the input choices to generate the same PIN on the
second device using the method 200.
[0041] In one embodiment, the components of the WHDI network 100 in
FIG. 1 can be grouped into subsystems. These WHDI subsystems
interact with other devices throughout the system, including source
devices and their accompanying sink devices, to share the content
resident within or sent to the WHDI network 100.
[0042] FIG. 3 shows the block diagram of a computer system 300 that
may be used as a platform for a first device, second device, source
device, or a sink device. The computer system 300 may also be used
to execute one or more computer programs performing the method,
steps and functions described herein.
[0043] The computer system 300 includes a processor 320, providing
an execution platform for executing software. Commands and data
from the processor 320 are communicated over a communication bus
330. The computer system 300 also includes a main memory 340, such
as a Random Access Memory (RAM), where software may reside during
runtime, and a secondary memory 350. The secondary memory 350 may
include, for example, a nonvolatile memory where a copy of software
is stored. In one example, the secondary memory 350 also includes
ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM
(electrically erasable, programmable ROM), and other data storage
devices, include hard disks.
[0044] The computer system 300 includes I/O devices 360. The I/O
devices 360 may include a display and/or user interfaces comprising
one or more I/O devices, such as a keyboard, a mouse, a stylus,
speaker, and the like. A communication interface 380 is provided
for communicating with other components. The communication
interface 380 may be a wired or a wireless interface. The
communication interface 380 may be a network interface.
[0045] Although described specifically throughout the entirety of
the instant disclosure, representative embodiments of the present
invention have utility over a wide range of applications, and the
above discussion is not intended and should not be construed to be
limiting, but is offered as an illustrative discussion of aspects
of the invention.
[0046] What has been described and illustrated herein are
embodiments of the invention along with some of their variations.
The terms, descriptions and figures used herein are set forth by
way of illustration only and are not meant as limitations. Those
skilled in the art will recognize that many variations are possible
within the spirit and scope of the invention, wherein the invention
is intended to be defined by the following claims--and their
equivalents--in which all terms are mean in their broadest
reasonable sense unless otherwise indicated.
* * * * *