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