Persistent Personal Names for Globally Connected Mobile Devices Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, Robert Morris.

Slides:



Advertisements
Similar presentations
Fall VoN 2000 SIP for IP Communications Jonathan Rosenberg Chief Scientist.
Advertisements

NetServ Dynamic in-network service deployment Henning Schulzrinne (Columbia University) Srinivasan Seetharaman (Georgia Tech) Volker Hilt (Bell Labs)
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
ICS 434 Advanced Database Systems
Computer networks Fundamentals of Information Technology Session 6.
 What Is Desktop Virtualization?  How Does Application Virtualization Help?  How does V3 Systems help?  Getting Started AGENDA.
Cobalt: Separating content distribution from authorization in distributed file systems Kaushik Veeraraghavan Andrew Myrick Jason Flinn University of Michigan.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Mobility Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Service Oriented Architectures in Heterogeneous Environments
Active Directory: Final Solution to Enterprise System Integration
Content  Overview of Computer Networks (Wireless and Wired)  IP Address, MAC Address and Workgroups  LAN Setup and Creating Workgroup  Concept on.
Name Services Jessie Crane CPSC 550. History ARPAnet – experimental computer network (late 1960s) hosts.txt – a file that contained all the information.
What we will cover… Home Networking: Network Address Translation (NAT) Mobile Routing.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
Senior Design Project 2004/2005 Web Enabled Calling Number Delivery Daniel St. Clair Barron Shurn Professor Soules 10/28/2004.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Data Networking Fundamentals Unit 7 7/2/ Modified by: Brierley.
COS 461: Computer Networks
Review for Exam 4 School of Business Eastern Illinois University © Abdou Illia, Spring 2006.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Bandwidth DoS Attacks and Defenses Robert Morris Frans Kaashoek, Hari Balakrishnan, Students MIT LCS.
© 2010 VMware Inc. All rights reserved VMware ESX and ESXi Module 3.
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
ITGS Networks Based on the textbook “Information Technology in a Global Society for the IB Diploma” by Stuart Gray.
Host Identity Protocol
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
IT 210 The Internet & World Wide Web introduction.
Introduction to Networking Concepts. Introducing TCP/IP Addressing Network address – common portion of the IP address shared by all hosts on a subnet/network.
Home Media Network Hard Drive Training for Update to 2.0 By Erik Collett Revised for Firmware Update.
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) URL (uniform.
SUSE Linux Enterprise Desktop Administration Chapter 12 Administer Printing.
Distributed Systems: Concepts and Design Chapter 1 Pages
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Module 11: Implementing ISA Server 2004 Enterprise Edition.
1 TCP/IP Internetting ä Subnet layer ä Links stations on same subnet ä Often IEEE LAN standards ä PPP for telephone connections ä TCP/IP specifies.
1 Administering Shared Folders Understanding Shared Folders Planning Shared Folders Sharing Folders Combining Shared Folder Permissions and NTFS Permissions.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
Resilient Overlay Networks Robert Morris Frans Kaashoek and Hari Balakrishnan MIT LCS
Networking in Linux. ♦ Introduction A computer network is defined as a number of systems that are connected to each other and exchange information across.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Mohammed F & Aya. Peer-to-peer network are usually common in homes and small businesses and are not necessarily expensive. On a peer-to-peer network each.
Network Layer4-1 Today Collect homework New homework: Ch4 #16,19,21-24,26,27,29,31 (half graded, as usual) Due Wednesday Oct 15 in class Final programming.
FriendFinder Location-aware social networking on mobile phones.
Alex Leifheit NETWORKS. NETWORK A number of interconnected computers, machines, or operations. Key Components Network components, Network Architecture,
Introduction to Active Directory
MIT Computer Science and Artificial Intelligence Laboratory UIA: Unmanaged Internet Architecture Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean.
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Ben - Gurion University Department Of Communication Systems Engineering DNS For Cell Phones Yoav Peer, Eugene Volchek Instructor: Dr. Chen Avin.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
HP Use Cases for the Ubiquitous Web Presented at The Ubiquitous Web Workshop Tokyo, Japan March 9, 2006 Melinda Grant Gerrie Shults Imaging and Printing.
UIA: A Global Connectivity Architecture for Personal Mobile Devices Bryan Ford Massachusetts Institute of Technology in collaboration with Jacob Strauss,
Naming for Mobile Systems
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Introduction to Computers
Chapter 3: Windows7 Part 4.
IIS.
* Essential Network Security Book Slides.
Network Models, Hardware, Protocols and number systems
Principles/Paradigms Of Pervasive Computing
Persistent Personal Names for Globally Connected Mobile Devices
AbbottLink™ - IP Address Overview
Presentation transcript:

Persistent Personal Names for Globally Connected Mobile Devices Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, Robert Morris Massachusetts Institute of Technology

Connectivity Scenario: Stage 1 Bob's Laptop Alice's PDA Local Area Network Bob & Alice meet, connect [Bonjour] – using local names (e.g., Alice-PDA)

Connectivity Scenario: Stage 2 Bob's Laptop Alice's PDA Internet Wish to re-connect remotely – need different, global names & more setup (e.g., pda.alice1234.herisp.com)

Connectivity Scenario: Stage 3 Bob's Laptop Alice's PDA Meet again off-Internet – global names stop working! Require different, local names (again) Disconnected Local Area Network

UIA: Unmanaged Internet Architecture Global Connectivity via Personal Names Like nicknames in cell phone address book Internet Camera Work-PC Home-PC Laptop

UIA: Unmanaged Internet Architecture Global Connectivity via Personal Names Persistent: usable for local or remote access Internet Camera Work-PC Home-PC Laptop

UIA: Unmanaged Internet Architecture Global Connectivity via Personal Names Persistent: usable for local or remote access Internet Camera Work-PC Home-PC Laptop

Challenges Intuitive setup As easy as plugging local devices together Secure self-managing operation Don't make users understand key management Namespace synchronization Changes on one device propagate to others Partitioned Operation Remains available under limited connectivity Namespace access control and revocation Handling lost or stolen devices

Contributions/Outline Usability Concepts: Local Introduction, Remote Access Merging Devices to form Personal Groups Linking Groups via Personal User Names Design Concepts: Secure device identities Optimistic state replication via change logs Overlay routing protocol leveraging social links

Usability Concept 1 Local Introduction, Remote Access

Local Introduction, Remote Access 1.Bob buys WiFi-enabled digital camera, introduces it to desktop PC at home

Local Introduction, Remote Access 1.Bob buys WiFi-enabled digital camera, introduces it to desktop PC at home 2.Bob takes camera on trip, stops at cyber-cafe, uploads pics to home PC for storage & sharing Internet

Local Introduction, Remote Access 1.Bob buys WiFi-enabled digital camera, introduces it to desktop PC at home 2.Bob takes camera on trip, stops at cyber-cafe, uploads pics to home PC for storage & sharing Internet Use Device Mobility to solve Name Bootstrap Problem

Design Requirements for Local Introduction, Remote Access Devices need: Stable identities Secure introduction procedure Way to route to current location

Endpoint Identifiers Each device has an endpoint identifier (EID) Formed from hash of device's public key [SFS] Self-configured, stable, location-independent [HIP] Camera Laptop Public Key: 56b19c28f35...Public Key: 8b934a68cd5f... Secure Hash EID: 123 Secure Hash EID: 456

Device Introduction Common case: meet in person on common LAN Browse network to find other device [Bonjour] Avoid man-in-the-middle attacks [Dohrmann/Ellison] (screen shots from working UIA prototype)

Implementing Device Introduction Devices exchange EIDs on introduction Use for finding + securely connecting in future Camera Laptop EID: 123EID: 456 Laptop EID 456 Camera EID 123

Routing to Devices UIA Naming UIA Routing Personal Name (laptop) Endpoint Identifier (EID) UIA Routing Application UIA Routing IP Address Domain 2 IP Address Domain 1 Application

Routing to Devices Overlay routing protocol [RON, i3,...] Devices track peers in social neighborhood Localized: works under partitioned operation Find mobile targets via limited flooding [Gnutella] (more details in paper...)

Usability Concept 2 Merging Devices into Personal Groups

Device Names and Personal Groups Each device has a user-controlled personal name User merges devices to form personal groups Internet Camera Work-PC Home-PC Laptop Bob's Personal Group Laptop Camera Home-PC Work-PC

Personal Device Names Short, convenient Like nicknames in cell phone address book Each device ships with manufacturer default name Laptop Player Camera Tablet

Personal Device Names Short, convenient Like nicknames in cell phone address book Each device ships with manufacturer default name Thinkpad Nokia770iPod Coolpix

Personal Device Names Short, convenient Like nicknames in cell phone address book Each device ships with manufacturer default name Binds human-readable string to device EID Thinkpad EID 456 Nokia770 EID 234 iPod EID 345 Coolpix EID 123

Personal Device Names Short, convenient Like nicknames in cell phone address book Each device ships with manufacturer default name Binds human-readable string to device EID User can change as desired Thinkpad EID 456 Nokia770 EID 234 iPod EID 345 Coolpix EID 123

Personal Device Names Short, convenient Like nicknames in cell phone address book Each device ships with manufacturer default name Binds human-readable string to device EID User can change as desired Blinkpad EID 456 Tabloid EID 234 MyPod EID 345 BobPix EID 123

Personal Group MyPod EID 345 Blinkpad EID 456 Personal Group BobPix EID 123 Tabloid EID 234 Personal Group BobPix EID 123 Tabloid EID 234 MyPod EID 345 Blinkpad EID 456 Merging Devices into Groups Uses Device Introduction Procedure Blinkpad EID 456 Tabloid EID 234 MyPod EID 345 BobPix EID 123

Design Requirements for Personal Groups Names Always Accessible from Any Device Support Partitioned Operation Consistency Management Revocation, Lost/Stolen Devices (see paper)

Implementing Names and Groups Device keeps a series of change records Start with default name Camera: EID 123 Laptop: EID 456 Coolpix EID 123 Thinkpad EID 456 Series 123 Series 456

Implementing Names and Groups Device keeps a series of change records Start with default name To rename: cancel old, write new name record Camera: EID 123 Laptop: EID 456 BobPix EID 123 Thinkpad EID 456 Series 123 Series 456 cancel

Implementing Names and Groups Device keeps a series of change records Start with default name To rename: cancel old, write new name record To merge: 1.Write merge records Camera: EID 123 Laptop: EID 456 Merge with Series 456 Merge with Series 123 Series 123 Series 456

Implementing Names and Groups Device keeps a series of change records Start with default name To rename: cancel old, write new name record To merge: 1.Write merge records 2.Gossip series contents Camera: EID 123 Laptop: EID 456 Series 123 Series 456 Series 456 copy Series 123 copy BobPix EID 123 Thinkpad EID 456 BobPix EID 123 Thinkpad EID 456

Handling Name Conflicts What if user merges two devices w/ same name? merge succeeds, but creates name conflict (can't use name) Resolve by renaming (on either device) Bob's Group Thinkpad Coolpix

Handling Name Conflicts What if user merges two devices w/ same name? merge succeeds, but creates name conflict (can't use name) Resolve by renaming (on either device) Bob's Group Thinkpad Otherpix Coolpix

Implementing Conflict Resolution When user merges two devices w/ same name: Camera: EID 123 Camera: EID 456 Series 123 Series 456 Coolpix EID 123 Coolpix EID 456

Implementing Conflict Resolution When user merges two devices w/ same name: Bindings of same name to different target EIDs conflict Camera: EID 123 Camera: EID 456 Series 123 Series 456 Coolpix EID 123 Coolpix EID 456 Series 456 copy Coolpix EID 456 Coolpix EID 123 Series 123 copy

Implementing Conflict Resolution When user merges two devices w/ same name: Bindings of same name to different target EIDs conflict On rename, write: Cancel for old name New name Camera: EID 123 Camera: EID 456 Series 123 Series 456 Otherpix EID 123 Coolpix EID 456 Series 456 copy Otherpix EID 123 Coolpix EID 456 Series 123 copy

Usability Concept 3 Linking Groups via Personal User Names

Assign short personal names to friends for easy communication and sharing Bob's Group Laptop Camera Home-PC Work-PC Alice Charlie Alice's Group iPod PowerBook Bob Charlie's Group PC Phone Bob

Introducing Users 1.Meet, find other user's device in LAN browser 2.Click Introduce as New Contact 3.Enter personal name for user

User-Relative Naming Browse tree to find desired device Enter user-relative domain name

Implementing User Names On introduction: 1.Exchange EIDs 2.Write User records: name series 3.Gossip series contents Groups remain separate, only linked via names Implicit notion of user no per-user keys Bob's Laptop: EID 456 Alice's Laptop: EID 789 Series 456 Series 789 Series 789 copy Series 456 copy Alice Series 789 Bob Series 456

Gossip Among Multiple Devices Devices gossip whenever possible with Other devices in personal group Devices in friends' groups Bob's Group Alice's Group Charlie's Group

Name Resolution Resolution starts in device's own group Resolve components right-to-left Use gossiped records – no communication Bob's Group Laptop Camera Home-PC Work-PC Alice Charlie Charlie's Group PC Phone Bob Alice's Group iPod PowerBook Bob Phone.Charlie.Bob

Other Design Elements See paper on: Device introduction security Groups shared between users (PhotoClub) Group ownership Revocation – lost/stolen devices Access control using personal names Routing efficiency

Implementation Status Runs on Linux, Mac OS X, Nokia 770 Tablet Operating System Kernel UIA-Aware Application UIA Client API Library UIA Name Daemon UIA Router TCP/IP Protocol Stack Network Drivers Legacy Application DNS Resolver Sockets API tun Wrapper DNS Proxy tun Driver RPC UIA Control/ Group Browser UIA Client API Library

Legacy Application Support Disguises UIA names as DNS names EIDs as IP addrs SSH, HTTP to NATted devices via UIA names Transparent connection migration, etc. Creates virtual LAN of personal devices LAN local discovery apps work remotely via UIA (e.g., Apple File Sharing using Bonjour)

Implementation Observations Proof-of-concept prototype Many rough edges... But demonstrates the architecture Logs not too big: ~40K in example Small name records, infrequent changes Router tables, overhead not too large Only track social neighbors, not whole world

Discussion: Global vs Local Names Global names: Perfect when global usability is the whole point Rare, expensive, cumbersome in personal context Persistent personal names: Short, convenient, unrestricted assignment Work anywhere, any time, on all user's devices amazon.com bob.com?

Future Work More flexible group management Better Access Control Allow Bob's devices to print Hide Alice from Carol Scalability issues How far, how long to gossip name state How widely router should monitor peers Wider deployment

Related Work Dynamic DNS, Mobile IP, IPSEC VPNs Decentralized security: SDSI/SPKI Host identities: SFS, HIP, JXTA, i3 Naming/routing: DDNS, TRIAD, i3, CoDoNS Optimistic replication: Ficus, Coda, Ivy Mobile data: Rumor, P-Grid, Roma, Footloose Social networking: Turtle, Sprout, F2F, Tribler

Summary UIA simplifies global device connectivity through persistent personal names Based on three key usability concepts: Local Introduction, Remote Access Merging Devices to form Personal Groups Linking Groups via Personal User Names

MyNet: a Platform for Secure P2P Personal and Social Networking Services D. N. Kalofonos, Z. Antoniou, F. D. Reynolds, M. Van- Kleek, J. Strauss, and P. Wisner Nokia and Massachusetts Institute of Technology

MyNet MyNet: platform for secure P2P personal and social networking services Built on top of UIA that provides Ubiquitous connectivity with network overlays Device group management enables non-expert users to easily organize and share their resources within their social neighborhood Problem: today managing pervasive access to personal devices, content, and services is too complex for non-expert users

Built on Top of UIA UIA communication platform Permanent location independent device identifiers bound to personal names Ubiquitous connectivity Distributed device group management Devices and users Device can be uniquely identified by its EID Devices with multiple-user accounts have a unique EID to identify each device/user pair Users (and groups) are identified as a set of EIDs

Built on Top of UIA Imprinting New device becomes a MyNet device though the process of Imprinting the owners identity, profile, and secret (e.g. PIN) Owner secret (key) protects against misuse of critical tasks Personal Device Clusters (PDC) = personal group Imprinted device can be merged with other devices Use UIA style introduction process Discovery via Near Field Communication (NFC) or Bonjour Social Contacts Adding friends can be done similarly (as in PDC)

Basic Design Concepts Services and Content Each device can run one or more user-services (a user perceived service) Each user-service may be one or more distributed elementary services Groups User can create a group of users or devices Access control privileges can be included Built-in user groups: world, my direct contacts, and my extended contacts

MyNet System Architecture

System Components MyNet-aware services: Use MyARPC, a remote procedure call (RPC) Persistent messaging: One-way message delivery (even with disruption) PDC-wide storage Share state across multiple devices (for resource sharing) RDR (Resource Discovery Record) defines user, device, content, service, passlet Secure P2P resource discovery RDRs are stored/replicated in the PDC-wide storage SRD-client sends a MyARPC request to remote SRD-servers User-level access control (via passlets) Passlet has info about who is giving permission, to whom, for what, and for how long Device passlets vs. Service passlets (PRC calls) Passlets are stored in sent and received passlet repositories (in the PDC-store) and are replicated across the PDC