Twitter in Disaster Mode: Security Architecture Theus Hossmann Dominik Schatzmann Franck Legendre Paolo Carta ETH Zurich, Switzerland Christian Rohner Per Gunningberg Uppsala Universitet, Sweden
[email_address] Source: XKCD (http://xkcd.com/723/)
[email_address] Source: Twitter Blog (http://blog.twitter.com/2011/06/global-pulse.html)
Network Outage in Japan [email_address] Operator # inoperative BS NTT DoCoMo 6720 KDDI 3800 Softbank 3786
Your Smart Phone, the Emergency Kit Temporary GSM network Wireless mesh network Satellite communication Opportunistic Communication DTN2 Haggle PodNet [email_address] ✗ ✓ Goal: Enable disaster victims to tweet instantaneously Deployment, configuration, etc. Requires experts > 1-2 days No expert skills required Instantly ready
[email_address] Twimight Simple yet flexible Wide spread    (200M users) Wide spread  Developer friendly Disaster Mode (user enabled with a    simple settings check-box) ✓   Opportunistic Communication ✓ Security  Open source (Google    Code)
Opportunistic Spreading of Tweets Bluetooth communication Periodic Scanning (2min ± 20sec) Power saving heuristic Reduced scanning interval at battery levels < 50% No more scanning at levels below 30% Epidemic spreading (flooding) Small data volumes FIFO buffer Publish tweets once connectivity is restored [email_address]
What about security? Problem: From centralized to distributed operation Authenticity & Integrity Confidentiality Goal: Achieve Twitter-equivalent security in disaster operation Sign Tweets and Messages Encrypt privat messages Our solution: The “Twimight Disaster Server” PKI, adapted for temporarily disconnected networks [email_address] Key Idea: Prepare everything before it breaks! ! !
The Twimight Disaster Server [email_address]
Step 1: Server-side User Identification Client obtains  OAuth  tokens from Twitter Client sends tokens (over HTTPS) to TDS Server receives Twitter user ID using tokens [email_address] 1. Oauth 2. Send tokens 3. Get user ID
Step 2: Inter-client User Identification Client generates Key Pair (RSA, 2048Bit) Client sends Public Key to TDS Server sends certificate (signed with TDS key) to client Client signs Tweets using its Private Key Client attaches certificates to Tweets for verification [email_address] 1. Create keys 2. Send PK 3. Send certificate 4. Signed Tweets
Stolen/Lost device Revoke key on TDS TDS manages a revocation list (certificate’s serial number) TDS distributes incremental list to devices Scalability?? Key Idea: Shored-lived certificates (days-weeks) Transmit and store only non-outdated records [email_address]
Additional benefits: Direct Messages Private unicast messages (Direct Messages) Adapted to disaster opertation: Encrypt Direct Messages TDS maintains list of followers TDS sends followers’ keys Client encrypts message with Public Key  (and signs with Private Key) [email_address]
Summary [email_address]
Public release (Android Market) Bug fixes Awareness Scalability! Geo-location to the rescue.. Geographically limited flooding Smart tweet delivery Contact Graph based routing for Direct Messages Interest matching for tweets Geographically limited key revocation New Twitter features (photos, lists, etc.) What’s next? [email_address]
Thank You For Installing & Using Twimight   [email_address] http://code.google.com/p/twimight

Twitter in Disaster Mode: Security Architecture

  • 1.
    Twitter in DisasterMode: Security Architecture Theus Hossmann Dominik Schatzmann Franck Legendre Paolo Carta ETH Zurich, Switzerland Christian Rohner Per Gunningberg Uppsala Universitet, Sweden
  • 2.
    [email_address] Source: XKCD(http://xkcd.com/723/)
  • 3.
    [email_address] Source: TwitterBlog (http://blog.twitter.com/2011/06/global-pulse.html)
  • 4.
    Network Outage inJapan [email_address] Operator # inoperative BS NTT DoCoMo 6720 KDDI 3800 Softbank 3786
  • 5.
    Your Smart Phone,the Emergency Kit Temporary GSM network Wireless mesh network Satellite communication Opportunistic Communication DTN2 Haggle PodNet [email_address] ✗ ✓ Goal: Enable disaster victims to tweet instantaneously Deployment, configuration, etc. Requires experts > 1-2 days No expert skills required Instantly ready
  • 6.
    [email_address] Twimight Simpleyet flexible Wide spread (200M users) Wide spread Developer friendly Disaster Mode (user enabled with a simple settings check-box) ✓ Opportunistic Communication ✓ Security  Open source (Google Code)
  • 7.
    Opportunistic Spreading ofTweets Bluetooth communication Periodic Scanning (2min ± 20sec) Power saving heuristic Reduced scanning interval at battery levels < 50% No more scanning at levels below 30% Epidemic spreading (flooding) Small data volumes FIFO buffer Publish tweets once connectivity is restored [email_address]
  • 8.
    What about security?Problem: From centralized to distributed operation Authenticity & Integrity Confidentiality Goal: Achieve Twitter-equivalent security in disaster operation Sign Tweets and Messages Encrypt privat messages Our solution: The “Twimight Disaster Server” PKI, adapted for temporarily disconnected networks [email_address] Key Idea: Prepare everything before it breaks! ! !
  • 9.
    The Twimight DisasterServer [email_address]
  • 10.
    Step 1: Server-sideUser Identification Client obtains OAuth tokens from Twitter Client sends tokens (over HTTPS) to TDS Server receives Twitter user ID using tokens [email_address] 1. Oauth 2. Send tokens 3. Get user ID
  • 11.
    Step 2: Inter-clientUser Identification Client generates Key Pair (RSA, 2048Bit) Client sends Public Key to TDS Server sends certificate (signed with TDS key) to client Client signs Tweets using its Private Key Client attaches certificates to Tweets for verification [email_address] 1. Create keys 2. Send PK 3. Send certificate 4. Signed Tweets
  • 12.
    Stolen/Lost device Revokekey on TDS TDS manages a revocation list (certificate’s serial number) TDS distributes incremental list to devices Scalability?? Key Idea: Shored-lived certificates (days-weeks) Transmit and store only non-outdated records [email_address]
  • 13.
    Additional benefits: DirectMessages Private unicast messages (Direct Messages) Adapted to disaster opertation: Encrypt Direct Messages TDS maintains list of followers TDS sends followers’ keys Client encrypts message with Public Key (and signs with Private Key) [email_address]
  • 14.
  • 15.
    Public release (AndroidMarket) Bug fixes Awareness Scalability! Geo-location to the rescue.. Geographically limited flooding Smart tweet delivery Contact Graph based routing for Direct Messages Interest matching for tweets Geographically limited key revocation New Twitter features (photos, lists, etc.) What’s next? [email_address]
  • 16.
    Thank You ForInstalling & Using Twimight  [email_address] http://code.google.com/p/twimight

Editor's Notes

  • #7 Motivation for Twitter and for Android.