Not applicable.
The present invention relates to personal digital devices. More particularly, the present invention relates to secure communication between personal digital devices.
The use of personal digital devices such as cellular telephones, Blackberries, PDAs, digital cameras, portable music players, etc. is increasing as processing power increases and price decreases. Peer-to-peer (P2P) data and settings exchange between such devices is becoming more and more pervasive, especially as networking protocols and physical interconnection methods standardize.
In order to establish secure and trusted data exchange between personal digital devices belonging to the same user or family/group of friends, it is necessary to ensure the authenticity of each device. Otherwise, anyone with a personal digital device may be able to establish communication with a device of an unsuspecting user. One way to ensure authenticity is to require a user to log in to the device, e.g., by inputting a username and password. However, some devices such as basic digital cameras, may not have adequate user interface (UI) capabilities. For example, to accept usernames and passwords, a way of inputting alphanumeric characters is required, e.g., a keyboard, touch screen, virtual keyboard navigated with arrow and select buttons, etc. Implementing a full keyboard on a small device such as a digital camera would require increasing the size of the camera or reducing the size of the keyboard. The first option would make the camera unpleasant to carry around, and the second option would make the keyboard unusable for all but the most slender fingers. Implementing a touch screen would require a large enough screen or a pointing device. The first option would also increase the size of the device, and the second option would add components to the device that may get lost and that may simply be undesirable for the user. Implementing a virtual keyboard would make the process of entering alphanumeric characters ungainly, e.g., the user would have to navigate and select using arrows. While some personal digital devices such as PDAs and Blackberries already have sufficient UI capabilities to support the inputting of usernames and passwords, such devices cannot securely communicate with devices that do not have sufficient UI capabilities, because the devices without sufficient UI capabilities cannot be authenticated or authenticate other devices.
The present invention enables secure communication between personal digital devices in a trusted constellation by managing the constellation on a PC. In order to join the constellation, a device must be coupled with the PC by a user. The device receives a set of credentials from the PC and stores the credentials in an internal secured storage area. When the device encounters another device with which it desires to communicate in trusted fashion, the devices validate and authenticate before communicating. The validation involves examining credentials on the other device to determine whether the devices are members of the same constellation. If the devices are not members of the same constellation, they are prompted to couple with the PC to become members. By managing the constellation on the PC, a user is able to securely control the access privileges of each device in the constellation, add devices, and remove devices easily and reliably. A UI on each device is not required, allowing the present invention to be implemented where users have existing devices that do not have sufficient UI capabilities.
The present invention is described in detail below with reference to the attached drawing figures, wherein:
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to
Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable medial may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently begin operated on by processing unit 120. By way of example, and not limitation,
The computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drive and their associated computer storage media discussed above and illustrated in
The computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in
When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user network interface 170, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Constellation 220 is a theoretical grouping of devices that are related to user 218 somehow, e.g., by personal ownership, by ownership by a friend/relative, etc. When user 218 wishes to securely share information between personal digital devices 204, 206, and 208, user 218, via PC 202, establishes constellation 220 and adds devices to constellation 220 as described later herein. Each of the devices are somehow individually and securely coupled with PC 202 via wireless or wired coupling or via transportable storage media. As illustrated in
Personal digital devices 204, 206, and 208 may be any of a number of devices, and the present invention is not limited to any particular set of devices. For example, the devices may be cellular phones, digital cameras, PDAs, Blackberries, portable music players, automotive multimedia systems, etc. Also, embodiments of the present invention are not limited to any particular devices being coupled with PC 202 in any particular manner. For example, all of the devices in constellation 220 may be coupled with PC 202 via wireless coupling, or four devices may be coupled wirelessly, two devices may be coupled via wired coupling, and seven devices may be coupled via transportable storage media.
PC 202 comprises DB 210, which is a database that is used to store a plurality of sets of credentials. In an embodiment, a set of credentials is a string of bits that are used to establish proof of identification. In an embodiment, a set of credentials stored in DB 210 comprises information identifying a constellation (e.g., a constellation name or ID), information identifying the PC (e.g., a PC name or ID), information identifying a device (globally or locally) (e.g., a device name or ID, which is assigned by the device manufacturer in an embodiment), information about a user (e.g., a user name or ID), a public key/private key pair, and device privileges. In an embodiment, the information in the set of credentials will be defaults. In an embodiment, user information is entered via a UI on PC 202 (discussed herein below). In an embodiment, a set of credentials is a firmware update.
Each of the sets of credentials in the plurality of sets of credentials is destined for a different personal digital device in constellation 220. As illustrated in
Using PC 202, user 218 manages the credentials of the devices in constellation 220. User 218 interacts with PC 202 via a user interface (UI), which is not illustrated in
As will be discussed in greater detail later herein, when user 218 desires to add a device to constellation 220 (for example, after being prompted to confirm that the device is to be added), a set of credentials is transmitted from DB 210 to the respective internal secured storage area on the device. In an embodiment, a standardized data exchange protocol is used to transmit the credentials to the devices. In a further embodiment, MTP (media transfer protocol) is the standardized data exchange protocol. However, embodiments of the present invention are not limited to any particular protocol, as any of a number of different protocols may suffice. For example, HTTP may be used, where devices may not be physically close but may be communicating remotely, e.g., a digital camera accessing a home printer via the Web from a vacation location. If user 218 desires to add other devices to constellation 220, user 218 repeats the process for each device. In an embodiment, if constellation 220 has not yet been created by user 218, user 218 may create constellation 220 via the UI.
In managing constellation 220, user 218 controls any particular sharing privileges of individual devices, in an embodiment of the present invention. For example, user 218 may wish to limit a particular device to read-only access. User 218 may also cancel any or all sets of credentials, for example, if one or more devices are lost, stolen, damaged, etc. The remaining trusted devices in constellation 220 (if any) are coupled with PC 202 by user 218 to receive updated credentials, and are notified of the cancellation and thereafter will not authenticate with the canceled device (see authentication discussion herein below). Such cancellation/updating allows user 218 to quickly and easily prevent the lost or stolen device to be used by another unauthorized person to continue sharing data. By managing constellation 220 and its credentials on PC 202, a lost, stolen, damaged, etc. device does not have to be recovered to be removed from constellation 220, and all remaining devices can be quickly updated to continue communicating with one another but not the compromised device.
As illustrated in
Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
This invention is related to the application entitled “System and method for facilitating communication between a computing device and multiple categories of media devices,” which was filed on May 2, 2003, and which is designated as U.S. application Ser. No. 10/429,116.