presentations

Presentations
Log | Files | Refs

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 &amp; 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 &nbsp; Scalable &amp; Paranoid: Secure Share
     32 </div>
     33 
     34 </div>
     35 
     36 
     37 <div class="presentation">
     38 
     39 <div class="slide">
     40 <h2>Scalable &amp; 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 &amp; 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 &amp; chat protocol design</li>
     66 <li>/me etc.</li>
     67 <li>PSYC: federated &amp; 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 &amp; 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>