uia a global connectivity architecture for personal
play

UIA: A Global Connectivity Architecture for Personal Mobile Devices - PowerPoint PPT Presentation

UIA: A Global Connectivity Architecture for Personal Mobile Devices Bryan Ford Massachusetts Institute of Technology in collaboration with Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, Robert Morris h t t p : / / p d o s.


  1. UIA: A Global Connectivity Architecture for Personal Mobile Devices Bryan Ford Massachusetts Institute of Technology in collaboration with Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, Robert Morris h t t p : / / p d o s. c s a i l . m i t . e d u / u i a

  2. Personal devices everywhere • Internally they are like real computers • They will be part of the Internet • They will store data that people want to share

  3. Global connectivity enables information sharing Bluetooth ● Alice and Bob meet Alice Bob • Alice & Bob later share stuf remotely Alice Bob

  4. Other examples ● Upload picture from camera to mom’s iPhone ● Stream video from ambulance to doctor’s PDA ● Car-to-car local trafc information

  5. The Internet's Evolution Internet designed for ...but now supports: – wired networks – wireless nets – fxed computers – mobile devices – expert operators – unskilled users

  6. The Problem old design assumptions + Internet evolution = connectivity challenges for personal devices

  7. The Project Unmanaged Internet Architecture (UIA) Goal: Make personal device connectivity “ just work ” by rethinking basic networking concepts

  8. Architecture Overview UIA Enhancements Traditional Layers Transport: [SIGCOMM '07] Transport: TCP structured streams serialized streams Naming: [OSDI '06] Naming: DNS personal groups/names global names Routing: [OSDI '06] Routing: IP un managed overlay managed infrastructure

  9. Naming Scenario Bob & Alice: 1. Meet at conference 2. Re-connect remotely over Internet 3. Meet again of-Internet

  10. Naming Scenario (1) Local Area Network Alice's PDA Bob's Laptop Bob & Alice meet, connect [Bonjour] – l o c a l n a m e s (e.g., “Alice-P using D A”)

  11. Naming Scenario (2) Internet Alice's PDA Bob's Laptop Wish to re-connect remotely – d i f f e r e n t , g l o b a l n a m e s & more setup need (e.g., “pda.alice1234.herisp.com”)

  12. Naming Scenario (3) Partitioned Ad Hoc Network Alice's PDA Bob's Laptop Meet again off-Internet – global names stop working! diffe re nt, local nam e s (again) Require

  13. Key Naming Challenges Personal device names should be: 1.Convenient – short, personally meaningful 2.Consistent – usable on any device I own/manage 3.Available – works even under disconnect/partition #3 precludes central name service!

  14. Key Naming Contribution Personal Group: distributed federation of personal devices Internet Camera Laptop Bob's Personal Group Home PC Work PC

  15. What is a Personal Group? Combination of: ● A distributed namespace of devices, users, ... ● An ad hoc virtual private network (VPN) ● A user identity for social networking ...with fully decentralized, user-friendly management & operation

  16. Outline ✔ Introduction ● Personal Group Naming Model – from user's perspective ⟹ convenient ● Implementing Personal Groups – decentralized ⟹ consistent, available ● Evaluation ● Other thesis components ● Related work, conclusion

  17. Personal Names Each personal group includes a distributed personal namespace Internet “Camera” “Laptop” Bob's Personal Group “Laptop” “Camera” “Home-PC” “Home-PC” “Work-PC” “Work-PC”

  18. Personal Names ...are short , local to personal group  “ lapt op ”, not “ laptop.bob345.his-isp.com” Internet “Camera” “Laptop” Bob's Personal Group “Laptop” “Camera” “Home-PC” “Home-PC” “Work-PC” “Work-PC”

  19. Why Local? Global names: – Perfect when global usability is the point – Expensive, cumbersome in personal context amazon.com bob.com? Personal names: – Not globally unique, thus short, convenient – ...but still usable for global connectivity!

  20. Personal Names ... persistently represent the same target regardless of location Internet Bob's Personal Group “Laptop” (personal “Camera” device names) “Home-PC” “Work-PC”

  21. How to Build Personal Groups? Convenience goal precludes: – assigning or entering IP addresses, MAC addresses, ... – generating or distributing crypto keys, certifcates Name Bootstrap Problem: – How to securely indicate device to be named, without referring to low-level identifers?

  22. Building Groups via Introduction Common case: local , on home/ofce LAN Also supported: remote , via global names Internet “bobs-pc.workplace.com”

  23. Building Groups via Introduction use Device Mobility to build a Global Naming Federation from Local Pairwise Introductions Internet “bobs-pc.workplace.com”

  24. UIA Introduction Procedure 2-step process: 1.Identify other device locally [Bonjour] 2.Avoid MITM attacks [Dohrmann/Ellison] (screen shots from working UIA prototype)

  25. UIA Introduction Security Refnes prior introduction protocols – Online protocol: resist attacks with fewer bits – Multiple-choice: ensures user participation But many other schemes possible! [MyNet]

  26. Remote Access Names usable from any device in group for local or remote access “Camera” Internet “Laptop” “Home-PC” “Work-PC”

  27. Remote Access Names usable from any device in group for local or remote access “Camera” Internet “Laptop” “Home-PC” “Work-PC”

  28. Security All communication privacy-protected as in virtual private network (VPN) (crypto) “Camera” Internet “Laptop” (crypto) “Home-PC” “Work-PC”

  29. Social Networking Personal group provides user identity Internet Bob's Personal Group Alice's Personal Group

  30. Social Networking Personal group provides user identity “Hi Bob, I'm Alice!” “Hi Alice, I'm Bob!” Internet Bob's Personal Group Alice's Personal Group “Alice” (personal user names) “Bob”

  31. Social Networking Personal user names also persist Internet Bob's Personal Group Alice's Personal Group “Alice” (personal user names) “Bob”

  32. Social Networking all devices in group represent same user “Alice, look at this photo!” “OK, it's from Bob” Internet Bob's Personal Group Alice's Personal Group “Alice” (personal user names) “Bob”

  33. Using Personal Groups/Names Browse groups, Enter user-relative control access domain names

  34. Implementing Personal Groups ...while maintaining consistency and availability in a fully decentralized design

  35. Key T echnical Challenges ● Device Location Independence ● Network Partition T olerance ● State Synchronization, Consistency ● Distributed Ownership, Revocation

  36. Challenge: Location Independence How to identify personal devices as they move, change IP addresses?

  37. Solution: Endpoint Identifers Each device has endpoint identifer (EID) – Hash of device's public key [SFS] – Self-confgured, stable, location- independent [HIP] Laptop Camera Public Key: 56b19c28f35... Public Key: 8b934a68cd5f... Secure Secure Hash Hash EID: 123 EID: 456

  38. Challenge: Partition T olerance Names must keep working of-Internet Bob's Personal Group Alice's Personal Group “Alice” “Bob” Internet

  39. Solution: State Replication ● Each device keeps Camera change log Camera's log ● Grouped devices Laptop's log replicate “ B o b P i x ” “ T h i n k p a d ” each others' state ● Log entries are Laptop self-certifying , Laptop's log Camera's log fork-consistent “ B o b P i x ” “ T h i n k p a d ”

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

  41. Implementing Names and Groups Device keeps a series Camera: EID 123 of change records Series 123 ● Start with default name cancel ● T o rename: cancel old, “BobPi x” → EID 123 write new name record Laptop: EID 456 Series 456 “Thinkpad” → EID 456

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

  43. Implementing Names and Groups Device keeps a series Camera: EID 123 of change records Series 123 ● Start with default name Series 456 copy ● T o rename: cancel old, “ B o b P i x ” → EID 123 write new name record “ T h i n k p a d ” → EID 456 ● T o merge: Laptop: EID 456 – Write merge records Series 456 Series 123 copy – Gossip series contents “ B o b P i x ” → EID 123 “ T h i n k p a d ” → EID 456

  44. Serverless Name Resolution ● Use replicated state – no communication ● Resolution starts in device's own group ● Resolve components right-to-left Phone.Charlie.Bob Bob's Group ➌ ➋ ➊ Laptop” Charlie's Alice's Group “Camera” Group “Home-PC” “Work-PC” “iPod” “PC” “PowerBook” ➊ ➋ “Phone” “Alice” ➌ “Charlie” “Bob” “Bob”

  45. Challenge: Consistency All devices in group must automatically learn name & membership changes Internet Bob's Personal Group Alice's Personal Group “Alice” “Bob”

Recommend


More recommend