2011-CBase.slides.html (9593B)
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3 4 <html xmlns="http://www.w3.org/1999/xhtml"> 5 <head> 6 <meta name="presdate" content="20111228" /> 7 <title>Scalable & Paranoid: Secure Share</title> 8 <!-- metadata --> 9 <meta name="generator" content="S5" /> 10 <meta name="version" content="S5 1.1" /> 11 <meta name="author" content="Carlo v. Loesch" /> 12 <meta name="company" content="symlynX.com" /> 13 <!-- configuration parameters --> 14 <meta name="defaultView" content="slideshow" /> 15 <meta name="controlVis" content="hidden" /> 16 <!-- style sheet links --> 17 <link rel="stylesheet" href="http://www.psyc.eu/papers/ui/psyced/slides.css" type="text/css" media="projection" id="slideProj" /> 18 <link rel="stylesheet" href="http://www.psyc.eu/papers/ui/psyced/outline.css" type="text/css" media="screen" id="outlineStyle" /> 19 <link rel="stylesheet" href="http://www.psyc.eu/papers/ui/psyced/print.css" type="text/css" media="print" id="slidePrint" /> 20 <link rel="stylesheet" href="http://www.psyc.eu/papers/ui/psyced/opera.css" type="text/css" media="projection" id="operaFix" /> 21 <!-- S5 JS --> 22 <script src="http://www.psyc.eu/papers/ui/psyced/slides.js" type="text/javascript"></script> 23 </head> 24 <body> 25 26 <div class="layout"> 27 <div id="controls"><!-- DO NOT EDIT --></div> 28 <div id="currentSlide"><!-- DO NOT EDIT --></div> 29 <div id="header"></div> 30 <div id="footer"> 31 Scalable & Paranoid: Secure Share 32 </div> 33 34 </div> 35 36 37 <div class="presentation"> 38 39 <div class="slide"> 40 <h2>Scalable & Paranoid: Secure Share</h2> 41 <ul> 42 <li>Carlo v. Loesch (symlynX)</li> 43 <li>Gabor Toth (PSYC)</li> 44 <li>Mathias Baumann (PSYC)</li> 45 </ul> 46 </div> 47 48 <div class="slide"> 49 <h1>A Perfectionist's Social Network</h1> 50 <h2>Overview of the Talk</h2> 51 <ul> 52 <li>Attack Vectors against Servers & VMs</li> 53 <li>How Much Privacy Is Enough?</li> 54 <li>Social Onion Routing</li> 55 <li>More Desired Features</li> 56 <li>Architecture, Protocols</li> 57 <li>How to Beat Faceboogle</li> 58 <li>The 'Secure Share' App</li> 59 </ul> 60 </div> 61 62 <div class="slide"> 63 <h2>Why am I talking here?</h2> 64 <ul class="incremental"> 65 <li>20 years of messaging & chat protocol design</li> 66 <li>/me etc.</li> 67 <li>PSYC: federated & multicasting</li> 68 <li>then Jabber came</li> 69 <li>PSYC good for business, open source delayed</li> 70 <li>back then servers were reliable</li> 71 </ul> 72 </div> 73 74 <div class="slide"> 75 <h1>Don't Trust Servers</h1> 76 <h2>Hardware Servers are vulnerable</h2> 77 <ul class="incremental"> 78 <li>client/server architecture: data resides on servers</li> 79 <li>federation: data visible on even more servers</li> 80 <li>memory access via bus sniffing</li> 81 <li>no shutdown necessary</li> 82 <li>automated memory image analysis proven</li> 83 <li>eat-inside or take-away</li> 84 </ul> 85 </div> 86 87 <div class="slide"> 88 <h1>Don't Trust Virtual Machines</h1> 89 <h2>Commodity Servers are VMs</h2> 90 <ul class="incremental"> 91 <li>vulnerable cryptography</li> 92 <li>memory can be monitored</li> 93 <li>controlling system accessible by observers</li> 94 <li>automated monitoring of federated social networks</li> 95 <li>anti-terror legislation possible</li> 96 <li>even if <em>your</em> server is at home</li> 97 </ul> 98 </div> 99 100 <div class="slide"> 101 <h1>Privacy vs. Paranoia</h1> 102 <h2>How Much Privacy Is Enough? 1/2</h2> 103 <ul class="incremental"> 104 <li>just to the intended recipients (e2e encryption)</li> 105 <li>packet size padding (unobservability)</li> 106 <li>flexible number of anonymization hops</li> 107 <li>optional intentional delay</li> 108 </ul> 109 </div> 110 111 <div class="slide"> 112 <h1>Privacy vs. Paranoia</h1> 113 <h2>How Much Privacy Is Enough? 2/2</h2> 114 <ul class="incremental"> 115 <li>forward secrecy</li> 116 <li>deniability (a log is no proof of nothing)</li> 117 <li>private subscription lists (not on a server)</li> 118 <li>robust and resilient against attacks</li> 119 </ul> 120 </div> 121 122 <div class="slide"> 123 <h1>It's A Question Of Trust</h1> 124 <h2>Social Onion Routing</h2> 125 <ul class="incremental"> 126 <li>trust relationship between nodes</li> 127 <li>multihop provides anonymization</li> 128 <li>motivation to provide "servers" as fast routers</li> 129 <li>"P2P" a lot faster over servers</li> 130 <li>servers agnostically maintain messages (and data)</li> 131 <!-- li>irony: role switch between servers and routers</li --> 132 </ul> 133 </div> 134 135 <div class="slide"> 136 <h1>Portability & Acceptance</h1> 137 <h2>Lightweight Daemon</h2> 138 <ul class="incremental"> 139 <li>personal devices and home routers</li> 140 <li>lightweight for embedded and mobile</li> 141 <li>lightweight for background daemon use</li> 142 <li>compiled language</li> 143 <li>more likely to get included in OS distros</li> 144 </ul> 145 </div> 146 147 <div class="slide"> 148 <h1>Architecture</h1> 149 <h2>Technology</h2> 150 <ul class="incremental"> 151 <li>"Enhanced" P2P with servers as agnostic routers</li> 152 <li>GNUnet as a framework, lots of privacy</li> 153 <li>TUM, learned from I2P, Freenet...</li> 154 <li>social graph discovery instead of DHT</li> 155 <li>no file sharing, no big traffic</li> 156 <li>PSYC on top</li> 157 <!-- <li>Multicast distribution for scalability (later)</li> --> 158 </ul> 159 </div> 160 161 <div class="slide"> 162 <h1>PSYC vs XML and JSON</h1> 163 164 <ul class="incremental"> 165 <li>extensible: semantically rich</li> 166 <li>binary/encrypted data capable</li> 167 <li>efficient as a binary format</li> 168 </ul> 169 <p/> 170 171 <table class="smaller" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> 172 <caption></caption> 173 <colgroup><col class="left" /></colgroup> 174 <colgroup><col class="right" /><col class="right" /><col class="center" /></colgroup><colgroup><col class="right" /><col class="right" /></colgroup><colgroup><col class="right" /><col class="right" /><col class="right" /></colgroup> 175 <thead> 176 <tr><th scope="col" class="left"></th><th scope="col" class="right">libpsyc<br/>regular</th><th scope="col" class="center">libpsyc<br/>compact</th><th scope="col" class="right">json-c</th><th scope="col" class="right">json-glib</th><th scope="col" class="right">libxml sax</th><th scope="col" class="right">libxml</th><th scope="col" class="right">rapidxml</th></tr> 177 178 </thead> 179 <tbody> 180 <tr><td class="left">presence</td><td class="right">236</td><td class="center">122</td><td class="right">2463</td><td class="right">10016</td><td class="right">4997</td><td class="right">7557</td><td class="right">1719</td></tr> 181 <tr><td class="left">chat msg</td><td class="right">295</td><td class="center">258</td><td class="right">2147</td><td class="right">9526</td><td class="right">5911</td><td class="right">8999</td><td class="right">1850</td></tr> 182 183 <tr><td class="left">activity</td><td class="right">353</td><td class="center">279</td><td class="right">4666</td><td class="right">16327</td><td class="right">13357</td><td class="right">28858</td><td class="right">4356</td></tr> 184 </tbody> 185 </table> 186 187 </div> 188 189 <div class="slide"> 190 <h1>One Too Many</h1> 191 <h2>Multicasting for Scalability</h2> 192 <ul class="incremental"> 193 <li>social interactions are one-to-many or many-to-many</li> 194 <li>round robin distribution is slow (SMTP)</li> 195 <li>IP Multicast doesn't do the job (router table overflow)</li> 196 <li>HTTP is one-to-one, query/response</li> 197 <li>XMPP has a trust issue (says the XSF)</li> 198 <li>IRC and NNTP do/did multicast, but had other problems</li> 199 </ul> 200 </div> 201 202 <div class="slide"> 203 <h1>Flexibility</h1> 204 <h2>Framework Architecture</h2> 205 <ul class="incremental"> 206 <li>a truly private communications backend</li> 207 <li>social applications to be built on top</li> 208 <li>emulations of the 'open standards' possible</li> 209 <li>OStatus, WebID, RDF, even the Twitter API</li> 210 <li>optional modules for XMPP, IRC available</li> 211 <li>Activity Streams</li> 212 </ul> 213 </div> 214 215 <div class="slide"> 216 <h1>Dissemination</h1> 217 <h2>Hard to beat Faceboogle</h2> 218 <ul class="incremental"> 219 <li>since we need to go onto every computer anyway..</li> 220 <li>offer something Faceboogle can't provide?</li> 221 <li>exchanging files between friends sucks</li> 222 <li>USB sticks, e-mail, file hosters, skype, MSN, DropBox (brrr!)</li> 223 <li>WTF is 'Secure Share' ?</li> 224 </ul> 225 </div> 226 227 <div class="slide"> 228 <h1>Desktop Integration</h1> 229 <h2>'Secure Share' Function</h2> 230 <ul class="incremental"> 231 <li>right mouse button click (context menu)</li> 232 <li>share a file to a channel of subscribers</li> 233 <li>appears in their file system soon</li> 234 <li>realtime or delayed notification</li> 235 <li>no permission dialogs</li> 236 <li>shipped by default in your free OS?</li> 237 </ul> 238 </div> 239 240 <!-- 241 242 --> 243 244 <div class="slide"> 245 <h1>If you like what we do</h1> 246 <h2>We need support</h2> 247 <ul> 248 <li>Manpower</li> 249 <li>Alliances</li> 250 <li>Finances</li> 251 <li>Publicity</li> 252 </ul> 253 <br/> 254 Check by: secushare.org<br/> 255 Thank you.<br/> 256 </div> 257 258 <div class="slide"> 259 <h1>Cross That Bridge As We Get There?</h1> 260 <h2>Let's just get started with something!</h2> 261 <ul class="incremental"> 262 <li>The Mediocre is the Enemy of the Good</li> 263 <li>Historic Examples:</li> 264 <li>HTTP.. HTTP/NG?, SPDY!?</li> 265 <li>SMTP.. What? Faceboogle!?</li> 266 <li>XML.. What? JSON!?</li> 267 <!-- li>SQL..</li --> 268 </ul> 269 </div> 270 271 <div class="slide"> 272 <h1>End-to-end Encryption in the Browser?</h1> 273 <h2>isn't possible by design of the web.</h2> 274 See the 'end2end' page on the website for details. 275 </div> 276 277 <div class="slide"> 278 <h1>One Too Many (XMPP)</h1> 279 <h2>Multicasting with XMPP?</h2> 280 <ul class="incremental"> 281 <li>70% of S2S XMPP messages is presence updates (5 years ago)</li> 282 <li>XMPP has limited support for one-to-many communications</li> 283 <li>XMPP can be improved, but: trust problem with multicast</li> 284 </ul> 285 </div> 286 287 <div class="slide"> 288 <h1>One Too Many (HTTP)</h1> 289 <h2>Multicasting with HTTP?</h2> 290 <ul class="incremental"> 291 <li>fundamentally feasible</li> 292 <li>unnatural: HTTP is not bidirectional</li> 293 <li>requires trust in a federated architecture</li> 294 </ul> 295 </div> 296 297 </html>