2012-08-MOCA.slides.html (11528B)
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3 4 <!-- 5 6 TODO: political slide about Facebook owning and selling your 7 pictures and stuffs you upload!!? 8 9 TODO: add a slide about private usefulness as noted by codethief 10 (syncing, managing your stuff) 11 12 --> 13 14 <html xmlns="http://www.w3.org/1999/xhtml"> 15 <head> 16 <title>Re-Invent the Internet with Secure Share</title> 17 <meta name="presdate" content="20120201" /> 18 <!-- metadata --> 19 <meta name="generator" content="S5" /> 20 <meta name="version" content="S5 1.1" /> 21 <meta name="author" content="Carlo v. Loesch" /> 22 <meta name="company" content="symlynX.com" /> 23 <!-- configuration parameters --> 24 <meta name="defaultView" content="slideshow" /> 25 <meta name="controlVis" content="hidden" /> 26 <!-- style sheet links --> 27 <link rel="stylesheet" href="UI/slides.css" type="text/css" media="projection" id="slideProj" /> 28 <link rel="stylesheet" href="UI/outline.css" type="text/css" media="screen" id="outlineStyle" /> 29 <link rel="stylesheet" href="UI/print.css" type="text/css" media="print" id="slidePrint" /> 30 <link rel="stylesheet" href="UI/opera.css" type="text/css" media="projection" id="operaFix" /> 31 <!-- S5 JS --> 32 <script src="UI/slides.js" type="text/javascript"></script> 33 </head> 34 <body> 35 36 <div class="layout"> 37 <div id="controls"><!-- DO NOT EDIT --></div> 38 <div id="currentSlide"><!-- DO NOT EDIT --></div> 39 <div id="header"></div> 40 <div id="footer"> 41 secushare: A Framework for ReInventing the Internet 42 </div> 43 </div> 44 45 <div id="between"> </div> 46 47 <!-- div id="logo"> 48 <img src="img/oXoXo-077.png" /> 49 </div --> 50 51 <div class="presentation"> 52 53 <div class="slide"> 54 <img style="padding: 80px" src="img/secushare-0444.png" /> 55 </div> 56 57 <div class="slide"> 58 <img class="framed" src="img/phase0.jpeg" /> 59 </div> 60 <div class="slide"> 61 <img class="framed" src="img/phase1.jpeg" /> 62 </div> 63 <div class="slide"> 64 <img class="framed" src="img/phase2.jpeg" /> 65 </div> 66 <div class="slide"> 67 <img class="framed" src="img/phase3.jpeg" /> 68 </div> 69 70 <div class="slide"> 71 <h1>ReInventing the Internet?</h1> 72 <h2>Overview of the Talk</h2> 73 <ul> 74 <li>Attack Vectors against Servers & VMs</li> 75 <li>How Much Privacy Is Enough?</li> 76 <li>Social Onion Routing</li> 77 <li>More Desired Features</li> 78 <li>Architecture, Protocols</li> 79 <li>How to Beat Faceboogle</li> 80 <li>The 'Secure Share' App</li> 81 </ul> 82 </div> 83 84 <div class="slide"> 85 <h1>About carlo von lynX</h1> 86 <h2>Why am I talking here?</h2> 87 <ul class="incremental"> 88 <li>20 years of messaging & chat protocol design</li> 89 <li>/me etc.</li> 90 <li>PSYC: federated & multicasting</li> 91 <li>then Jabber came</li> 92 <li>PSYC good for business, open source delayed</li> 93 <li>back then, servers were reliable</li> 94 </ul> 95 </div> 96 97 <div class="slide"> 98 <h1>Don't Trust Servers</h1> 99 <h2>Hardware Servers are vulnerable</h2> 100 <ul class="incremental"> 101 <li>client/server architecture: data resides on servers</li> 102 <li>federation: data visible on even more servers</li> 103 <li>memory access via bus sniffing</li> 104 <li>no shutdown necessary</li> 105 <li>automated memory image analysis proven</li> 106 <li>eat-inside or take-away</li> 107 </ul> 108 </div> 109 110 <div class="slide"> 111 <h1>Don't Trust Virtual Machines</h1> 112 <h2>Commodity Servers are VMs</h2> 113 <ul class="incremental"> 114 <li>vulnerable cryptography</li> 115 <li>memory can be monitored</li> 116 <li>controlling system accessible by observers</li> 117 <li>automated monitoring of federated social networks</li> 118 <li>anti-terror legislation possible</li> 119 <li>even if <em>your</em> server is at home</li> 120 </ul> 121 </div> 122 123 <div class="slide"> 124 <h1>Privacy vs. Paranoia</h1> 125 <h2>How Much Privacy Is Enough? 1/2</h2> 126 <ul class="incremental"> 127 <li>just to the intended recipients (e2e encryption)</li> 128 <li>packet size padding (unobservability)</li> 129 <li>flexible number of anonymization hops</li> 130 <li>optional intentional delay</li> 131 </ul> 132 </div> 133 134 <div class="slide"> 135 <h1>Privacy vs. Paranoia</h1> 136 <h2>How Much Privacy Is Enough? 2/2</h2> 137 <ul class="incremental"> 138 <li>forward secrecy</li> 139 <li>deniability (a log is no proof of nothing)</li> 140 <li>private subscription lists (not on a server)</li> 141 <li>robust and resilient against attacks</li> 142 </ul> 143 </div> 144 145 <div class="slide"> 146 <h1>It's A Question Of Trust</h1> 147 <h2>Social Onion Routing</h2> 148 <ul class="incremental"> 149 <li>trust relationship between nodes</li> 150 <li>multihop provides anonymization</li> 151 <li>motivation to provide "servers" as fast routers</li> 152 <li>my server is me, so you can trust my server</li> 153 <li>"P2P" a lot faster over servers</li> 154 <li>servers agnostically maintain messages (and data)</li> 155 <!-- li>irony: role switch between servers and routers</li --> 156 </ul> 157 </div> 158 159 <div class="slide"> 160 <h1>Portability & Acceptance</h1> 161 <h2>Lightweight Daemon</h2> 162 <ul class="incremental"> 163 <li>personal devices and home routers</li> 164 <li>lightweight for embedded and mobile</li> 165 <li>lightweight for background daemon use</li> 166 <li>compiled language</li> 167 <li>more likely to get included in OS distros</li> 168 </ul> 169 </div> 170 171 <div class="slide"> 172 <h1>Architecture</h1> 173 <h2>Technology</h2> 174 <ul class="incremental"> 175 <li>"Enhanced" P2P with servers as agnostic routers</li> 176 <li>GNUnet as a framework: privacy, VPN, meshnet</li> 177 <li>TUM, learned from I2P, Freenet...</li> 178 <li>social graph discovery instead of DHT</li> 179 <li>no file sharing, no big traffic</li> 180 <li>PSYC on top</li> 181 <!-- <li>Multicast distribution for scalability (later)</li> --> 182 </ul> 183 </div> 184 185 <div class="slide"> 186 <h1>PSYC vs XML and JSON</h1> 187 188 <ul class="incremental"> 189 <li>extensible: semantically rich</li> 190 <li>binary/encrypted data capable</li> 191 <li>efficient as a binary format</li> 192 <li>table shows parsing speed in milliseconds:</li> 193 </ul> 194 <p/> 195 196 <table class="smaller" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> 197 <caption></caption> 198 <colgroup><col class="left" /></colgroup> 199 <colgroup><col class="right" /><col class="right" /></colgroup><colgroup><col class="right" /><col class="right" /></colgroup><colgroup><col class="right" /><col class="right" /><col class="right" /><col class="right" /></colgroup> 200 <thead> 201 <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> 202 </thead> 203 <tbody> 204 <tr><td class="left">presence</td><td class="right">236</td><td class="right">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> 205 <tr><td class="left">chat msg</td><td class="right">295</td><td class="right">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> 206 <tr><td class="left">activity</td><td class="right">353</td><td class="right">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> 207 </tbody> 208 </table> 209 210 </div> 211 212 <div class="slide"> 213 <h1>One Too Many</h1> 214 <h2>Multicasting for Scalability</h2> 215 <ul class="incremental"> 216 <li>social = one-to-many | many-to-many</li> 217 <li>round robin distribution = slow (SMTP)</li> 218 <li>HTTP is one-to-one, query/response</li> 219 <li>IP Multicast fails (router table overflow)</li> 220 <li>IRC and NNTP do/did multicast, but have other problems</li> 221 <li>XMPP has a trust issue (says the XSF)</li> 222 </ul> 223 </div> 224 225 <div class="slide"> 226 <h1>Flexibility</h1> 227 <h2>Framework Architecture</h2> 228 <ul class="incremental"> 229 <li>a truly private communications backend</li> 230 <li>social applications to be built on top</li> 231 <li>emulations of the 'open standards' possible</li> 232 <li>OStatus, WebID, RDF, even the Twitter API</li> 233 <li>optional modules for XMPP, IRC available</li> 234 <li>Activity Streams</li> 235 </ul> 236 </div> 237 238 <div class="slide"> 239 <h1>Dissemination</h1> 240 <h2>Hard to beat Faceboogle</h2> 241 <ul class="incremental"> 242 <li>since we need to go onto every computer anyway..</li> 243 <li>offer something Faceboogle can't provide?</li> 244 <li>exchanging files between friends sucks</li> 245 <li>USB sticks, e-mail, file hosters, skype, MSN, DropBox (brrr!)</li> 246 <li>WTF is 'Secure Share' ?</li> 247 </ul> 248 </div> 249 250 <div class="slide"> 251 <h1>Desktop Integration</h1> 252 <h2>'Secure Share' Function</h2> 253 <ul class="incremental"> 254 <li>right mouse button click (context menu)</li> 255 <li>share a file to a channel of subscribers</li> 256 <li>appears in their file system soon</li> 257 <li>realtime or delayed notification</li> 258 <li>no permission dialogs</li> 259 <li>shipped by default in your free OS?</li> 260 </ul> 261 </div> 262 263 <div class="slide"> 264 <h1>Secure Share Feature Set</h1> 265 <h2>Features of Prototype Edition</h2> 266 <ul> 267 <li>Messaging, Subscriptions, Status Update</li> 268 <li>File Exchange, VPN, Software Distribution</li> 269 </ul> 270 <h2>Later Features</h2> 271 <ul> 272 <li>Group Communications, Social Network Features</li> 273 <li>Media Support: Photo Albums, Videos, Music</li> 274 <li>Extension API for Custom Social Apps</li> 275 <li>Realtime Streaming</li> 276 </ul> 277 </div> 278 279 <div class="slide"> 280 <img class="framed" src="img/phase0.jpeg" /> 281 </div> 282 <div class="slide"> 283 <img class="framed" src="img/phase1.jpeg" /> 284 </div> 285 <div class="slide"> 286 <img class="framed" src="img/phase2.jpeg" /> 287 </div> 288 <div class="slide"> 289 <img class="framed" src="img/phase3.jpeg" /> 290 </div> 291 292 <!-- 293 294 --> 295 296 <div class="slide"> 297 <h1>Secure Share - the Team</h1> 298 <h2>Who's involved?</h2> 299 <ul> 300 <li>Gabor Toth (secushare.org)</li> 301 <li>Carlo von lynX (PSYC, secushare)</li> 302 <!-- li>Mathias Baumann (PSYC)</li --> 303 <li>Daniel Reusche (secushare, Unlike Us)</li> 304 <li>duy (secushare)</li> 305 <li>hellekin (lorea, FSF, GNU social)</li> 306 </ul> 307 <br/> 308 with support from Wau Holland Foundation (CCC), 309 TU München (GNUnet), Institute of Network Cultures 310 (Unlike Us) and Mr Stallman (FSF*) 311 </div> 312 313 <div class="slide"> 314 <h1>If you like what we do</h1> 315 <h2>We need support</h2> 316 <img align="right" src="img/oXoXo-380.png" /> 317 <ul> 318 <li>Manpower</li> 319 <li>Alliances</li> 320 <li>Finances</li> 321 <li>Publicity</li> 322 </ul> 323 <br/> 324 Check by: secushare.org<br/> 325 Thank you.<br/> 326 </div> 327 328 <div class="slide"> 329 <h1>A bad idea whose time has come?</h1> 330 <h2>End-to-end Encryption in the Browser!!1!11</h2> 331 <br/> 332 <ul class="incremental"> 333 <li>User interface comes from the server. 334 <li>Web browser does what the server says. 335 <li>Server corrupted? It can steal your data. 336 <li>Only static install helps. Still: 337 <li>Bad cryptography, bad script signing. 338 <li>So you might aswell go for the real thing... 339 </ul> 340 </div> 341 342 <div class="slide"> 343 <h1>One Too Many (XMPP)</h1> 344 <h2>Multicasting with XMPP?</h2> 345 <ul class="incremental"> 346 <li>70% of S2S XMPP messages is presence updates (5 years ago)</li> 347 <li>XMPP has limited support for one-to-many communications</li> 348 <li>XMPP can be improved, but: trust problem with multicast</li> 349 </ul> 350 </div> 351 352 <div class="slide"> 353 <h1>One Too Many (HTTP)</h1> 354 <h2>Multicasting with HTTP?</h2> 355 <ul class="incremental"> 356 <li>fundamentally feasible</li> 357 <li>unnatural: HTTP is not bidirectional</li> 358 <li>requires trust in a federated architecture</li> 359 </ul> 360 </div> 361 362 <div class="slide"> 363 <h1>Cross That Bridge As We Get There?</h1> 364 <h2>Let's just get started with something!</h2> 365 <ul class="incremental"> 366 <li>The Mediocre is the Enemy of the Good</li> 367 <li>Historic Examples:</li> 368 <li>HTTP.. HTTP/NG?, SPDY!?</li> 369 <li>SMTP.. What? Faceboogle!?</li> 370 <li>XML.. What? JSON!?</li> 371 <!-- li>SQL..</li --> 372 </ul> 373 </div> 374 375 </html>