diff options
author | Peter Ludikovsky <peter+torhs@ludikovsky.name> | 2018-11-04 08:40:38 +0100 |
---|---|---|
committer | Peter Ludikovsky <peter+torhs@ludikovsky.name> | 2018-11-04 08:40:38 +0100 |
commit | 2806e32745cc9f834495287749dc90ad9a703518 (patch) | |
tree | 8f97e4c9acffc5cdd51f9a283a598978c016454e | |
parent | 49464cf60c64dacbc70f645215eb1a4290cad915 (diff) |
Added more links
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | torhs.html | 175 | ||||
-rw-r--r-- | torhs.md | 12 |
3 files changed, 187 insertions, 1 deletions
@@ -1,2 +1 @@ -*.html *.pdf diff --git a/torhs.html b/torhs.html new file mode 100644 index 0000000..8a2fc60 --- /dev/null +++ b/torhs.html @@ -0,0 +1,175 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta name="generator" content="pandoc"> + <title></title> + <meta name="apple-mobile-web-app-capable" content="yes"> + <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui"> + <link rel="stylesheet" href="reveal.js//css/reveal.css"> + <style type="text/css">code{white-space: pre;}</style> + <link rel="stylesheet" href="reveal.js//css/theme/black.css" id="theme"> + <link rel="stylesheet" href="usrspace.css"/> + <!-- Printing and PDF exports --> + <script> + var link = document.createElement( 'link' ); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = window.location.search.match( /print-pdf/gi ) ? 'reveal.js//css/print/pdf.css' : 'reveal.js//css/print/paper.css'; + document.getElementsByTagName( 'head' )[0].appendChild( link ); + </script> + <!--[if lt IE 9]> + <script src="reveal.js//lib/js/html5shiv.js"></script> + <![endif]--> +</head> +<body> + <div class="reveal"> + <div class="slides"> + + +<section><section id="tor-hidden-services-for-fun-and-nat-traversal" class="titleslide slide level1"><h1>Tor Hidden Services for Fun and NAT Traversal</h1></section></section> +<section><section id="was-ist-tor" class="titleslide slide level1"><h1>Was ist Tor</h1></section><section id="was-ist-tor-1" class="slide level2"> +<h2>Was ist Tor</h2> +<ul> +<li>Tor (<em>nicht</em> TOR) steht für “The onion router”</li> +<li>Möglichkeit Kommunikationswege zu anonymisieren</li> +<li>Anonymisiert <strong>nicht</strong> den Inhalt</li> +</ul> +<aside class="notes"> +Wer sich über Tor bei Facebook anmeldet wird dort genau so getrackt wie sonst. Es sieht nur niemand unterwegs. +</aside> +</section><section id="warum-the-onion-router" class="slide level2"> +<h2>Warum The onion router</h2> +<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/-FtCTW2rVFM?controls=0&start=44" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> +</iframe> +</section><section id="tor-verbindung" class="slide level2"> +<h2>Tor Verbindung</h2> +<ol type="1"> +<li>Client holt sich die Info über <em>alle</em> Relays von einem Directory Server</li> +<li>Client verbindet sich zu erstem Hop</li> +<li>Client holt sich von diesem Infos zu zweitem Hop</li> +<li>Von diesem kommen dann die Infos zum dritten (Exit) Hop</li> +</ol> +</section><section id="tor-verbindung-1" class="slide level2"> +<h2>Tor Verbindung</h2> +<ol start="5" type="1"> +<li><p>Daten werden 3x verschlüsselt und an den 1. Hop gesendet</p> +<pre><code>ENC(Hop2+ENC(Hop3+ENC(Ziel+Daten)))</code></pre></li> +<li>Jeder Hop entschlüsselt einen Layer & sendet den Inhalt weiter</li> +<li>Exit-Node sendet an das eigentliche Ziel</li> +<li><p>Zurück wird bei jedem Hop ein Layer hinzugefügt</p></li> +</ol> +</section><section id="tldr" class="slide level2"> +<h2>TL;DR</h2> +<ul> +<li>Tor verschlüsselt die Daten in Schichten (wie eine Zwiebel)</li> +<li>Jeder Hop kann nur seine eigenen Daten lesen</li> +<li>Jeder Hop kennt nur seine direkten Nachbarn, nicht den gesamten Pfad</li> +<li>Exit-Node kennt das Ziel, und Klardaten (wenn nicht TLS)</li> +<li>Entry-Node kenn den Client</li> +<li>Wer Entry- und Exit-Node kennt kann den Nutzer relativ leicht deanonymisieren</li> +</ul> +</section></section> +<section><section id="hidden-services" class="titleslide slide level1"><h1>Hidden Services</h1></section><section id="was-ist-ein-hidden-service" class="slide level2"> +<h2>Was ist ein Hidden Service</h2> +<ul> +<li>Kurz: ein Dienst, der nur innerhalb des Tor-Netzwerkes erreichbar ist und damit ein „Darknet“ bildet</li> +<li>Vorbehaltlich: +<ul> +<li>Es gibt Web2Tor Proxies</li> +<li>„Darknet“ deswegen weil es innerhalb von Tor Suchmaschinen gibt</li> +<li>Inhaltsdaten werden noch immer nicht anonymisiert</li> +</ul></li> +</ul> +</section><section id="wie-funktioniert-ein-hs" class="slide level2"> +<h2>Wie funktioniert ein HS</h2> +<ol type="1"> +<li>Server erstellt einen Service-Descriptor aus Public Key und 3 Introduction Points (IPs)</li> +<li>Server sendet den Service-Descriptor in das Hidden Service Directory (HSDir)</li> +<li>Client wählt einen IP und einen Rendezvous Point (RP)</li> +<li>Client baut eine Verbindung zum RP auf</li> +</ol> +</section><section id="wie-funktioniert-ein-hs-1" class="slide level2"> +<h2>Wie funktioniert ein HS</h2> +<ol start="5" type="1"> +<li>Client sendet RP via IP an den Server</li> +<li>Server baut eine Verbindung zum RP auf</li> +<li>Client und Server können nun verschlüsselt kommunizieren</li> +</ol> +</section><section id="hs-vorteile" class="slide level2"> +<h2>HS Vorteile</h2> +<ul> +<li>Dienste nicht aus dem Internet erreichbar</li> +<li>Dienste auch ohne Port Forwarding erreichbar</li> +<li>Kommunikation ist verschleiert</li> +<li>Kommunikation ist verschlüsselt</li> +</ul> +</section><section id="hs-nachteile" class="slide level2"> +<h2>HS Nachteile</h2> +<ul> +<li>Dienste nicht ohne Tor erreichbar (nicht-trivial auf Smartphones, non-HTTP(s) unmöglich auf iOS)</li> +<li>Verbindung nur so gut wie der schlechteste Knoten</li> +<li>Keine ACLs, wer den Service-Namen kennt kommt hin</li> +<li>TLS fast nur Self-Signed oder teuer möglich</li> +<li>HS Namen unmöglich zu merken (mit HSv3 noch schlimmer)</li> +</ul> +</section></section> +<section><section id="demo-time" class="titleslide slide level1"><h1>Demo Time!</h1></section><section id="demo" class="slide level2"> +<h2>Demo</h2> +<ol type="1"> +<li>Web-Service aufsetzen</li> +<li>SSH-Service aufsetzen</li> +<li>beides via Hidden Services erreichbar machen</li> +<li>Web-Service via Tor Browser testen</li> +<li>SSH-Service via Linux und Android testen</li> +</ol> +</section></section> +<section><section id="links" class="titleslide slide level1"><h1>Links</h1></section><section id="allgemein" class="slide level2"> +<h2>Allgemein</h2> +<ul> +<li>Design documents: https://www.torproject.org/docs/documentation.html.en#DesignDoc</li> +<li>Statistiken zu <code>.onion</code> Services: https://metrics.torproject.org/hidserv-dir-onions-seen.html</li> +<li>Liste von Tor Hidden Services: https://en.wikipedia.org/wiki/List_of_Tor_hidden_services</li> +<li>Tor2web (Onion to Clearnet): https://www.tor2web.org/</li> +<li>Orbot: https://guardianproject.info/apps/orbot/</li> +</ul> +</section><section id="konfiguration" class="slide level2"> +<h2>Konfiguration</h2> +<ul> +<li>Tor: https://www.torproject.org/docs/documentation.html.en</li> +<li>Installation unter Debian/Ubuntu: https://www.torproject.org/docs/debian.html.en</li> +<li>Tor Hidden Services: https://www.torproject.org/docs/tor-onion-service.html.en</li> +<li>Bridges: https://www.torproject.org/docs/bridges.html.en</li> +</ul> +</section><section id="hidden-services-1" class="slide level2"> +<h2>Hidden Services</h2> +<ul> +<li>Facebook: https://facebookcorewwwi.onion</li> +<li>DuckDuckGo: https://3g2upl4pq6kufc4m.onion</li> +<li>OnionDir: http://dirnxxdraygbifgc.onion</li> +<li>TORCH: http://xmh57jrzrnw6insl.onion/</li> +</ul> +</section></section> + </div> + </div> + + <script src="reveal.js//lib/js/head.min.js"></script> + <script src="reveal.js//js/reveal.js"></script> + + <script> + + // Full list of configuration options available at: + // https://github.com/hakimel/reveal.js#configuration + Reveal.initialize({ + + // Optional reveal.js plugins + dependencies: [ + { src: 'reveal.js//lib/js/classList.js', condition: function() { return !document.body.classList; } }, + { src: 'reveal.js//plugin/zoom-js/zoom.js', async: true }, + { src: 'reveal.js//plugin/notes/notes.js', async: true } + ] + }); + </script> + </body> +</html> @@ -12,6 +12,10 @@ Wer sich über Tor bei Facebook anmeldet wird dort genau so getrackt wie sonst. Es sieht nur niemand unterwegs. </aside> +## Warum The onion router + +<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/-FtCTW2rVFM?controls=0&start=44" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> + ## Tor Verbindung 1. Client holt sich die Info über *alle* Relays von einem Directory Server @@ -93,6 +97,14 @@ Wer sich über Tor bei Facebook anmeldet wird dort genau so getrackt wie sonst. - Statistiken zu `.onion` Services: https://metrics.torproject.org/hidserv-dir-onions-seen.html - Liste von Tor Hidden Services: https://en.wikipedia.org/wiki/List\_of\_Tor\_hidden\_services - Tor2web (Onion to Clearnet): https://www.tor2web.org/ +- Orbot: https://guardianproject.info/apps/orbot/ + +## Konfiguration + +- Tor: https://www.torproject.org/docs/documentation.html.en +- Installation unter Debian/Ubuntu: https://www.torproject.org/docs/debian.html.en +- Tor Hidden Services: https://www.torproject.org/docs/tor-onion-service.html.en +- Bridges: https://www.torproject.org/docs/bridges.html.en ## Hidden Services |