User-Relative Names for Globally Connected Personal Devices

Personal devices such as mobile phones, digital music players, personal digital assistants, console gaming systems, and digital cameras are now ubiquitous in the lives of ordinary people. As these devices proliferate, peer-to-peer connectivity between them is increasingly important. For example, a user may copy photos from a camera to a PC for storage, to a web page for publishing, or to a photo iPod to take on the road, and perhaps from there to a friend’s iPod. One current transfer mechanism—plugging devices together via USB cable—is both straightforward and secure: the cable itself physically indicates which devices should participate in the transfer, and the isolated physical medium guarantees its security. As personal devices begin to support wireless networking and Internet connectivity, we would like to extend the simplicity and security of a USB cable to device connectivity on a global scale. Alice should be able to connect her WiFi-enabled iPod to her home PC via a “virtual cable,” so that she can browse photos or play music stored there from a WiFi-enabled coffee shop or friend’s house. Setting up this “virtual cable” should not require technical knowledge or special configuration on Alice’s part, and it should continue working even when the devices it connects are behind firewalls or NATs. If Alice meets Bob in a coffee shop, she should easily be able to share with him information or services located on any of her personal devices. Bob should be able to connect to Alice’s devices even after he leaves the coffee shop, until she chooses to sever their relationship. No one else should be able to impersonate Bob, however, in order to gain access to Alice’s shared resources. The User Information Architecture, or UIA, is a peerto-peer connectivity architecture that provides users a simple, intuitive, and secure way to share information and services between personal devices by assigning ad hoc names that act like “virtual cables. ” Users assign names by “introducing” devices to each other on a common network. Unlike the ephemeral names used in rendezvous schemes such as Apple Bonjour [1], however, UIA names persist and remain securely bound to the global cryptographic identities of their targets [11,12,16] as devices migrate. Once Alice introduces her iPod to her home PC, her iPod can continue accessing her PC by the same name from anywhere she finds Internet access. In a network of billions of users, globally unique names would inevitably have to look something like ipod.alicesm5186. myisp.com, substantially limiting their conciseness and readability. UIA names are instead user-relative: users control their own private namespaces much as they control their mobile phones’ address books today. Unlike a conventional address book, however, a UIA namespace is shared across all the devices a user owns: changes made on one device automatically propagate to the others. Users assign user-relative UIA names not only to their own devices but also to other users. Bob might know Alice as “Alice”, her company directory might list her as “Alice Smith, Marketing”, and her son might simply name her “Mom”. If Alice gives Bob access to some files on her PC, he accesses them via a name analogous to “Alice’s PC”. In this way, UIA adapts peer-to-peer social networking ideas previously explored for other purposes [3,10,15] to form a secure peer-to-peer naming infrastructure. The next section presents the goals of UIA’s naming system, and Section 3 describes its operation from a non-technical user’s viewpoint. Section 4 develops the technical details of UIA’s design, and Section 5 summarizes implementation status. Section 6 presents related work, and Section 7 concludes.