{"id":17101,"date":"2021-06-12T15:28:00","date_gmt":"2021-06-12T13:28:00","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=17101"},"modified":"2021-06-17T08:02:14","modified_gmt":"2021-06-17T06:02:14","slug":"onion-webseite-mit-elliptische-kurve-curve25519-absichern","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=17101","title":{"rendered":"Onion Webseite mit Elliptische Kurve Curve25519 absichern"},"content":{"rendered":"<p>Hier nun noch ein Level von Sicherheit mit dem Raspberry Pi. Wie <a href=\"http:\/\/blog.wenzlaff.de\/?p=16995\" rel=\"noopener\" target=\"_blank\">hier<\/a> beschrieben kann eine Website leicht f\u00fcr <strong>jedermann<\/strong> mit eigener onion Domain im Darknet bereitgestellt werden. Die Seiten k\u00f6nnen nun aber auch noch mit einen Curve25519-Key gesichert werden, so das nur Nutzer die den Key haben auf die Seiten zugreifen k\u00f6nnen. Wenn man dann z.B. die Adresse <\/p>\n<p>http:\/\/tokc2fifswouszmp4jy3ejizmchy4damvhmdug5crvkvfgmymbejkqqd.onion<\/p>\n<p>aufruft, erscheint im Browser, oben links ein Schlo\u00df. Wenn man darauf klickt erscheint der Dialog:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.37.59.png\" alt=\"\" width=\"1990\" height=\"624\" class=\"aligncenter size-full wp-image-17102\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.37.59.png 1990w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.37.59-300x94.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.37.59-1024x321.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.37.59-768x241.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.37.59-1536x482.png 1536w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>Hier wird dann der private Schl\u00fcssel, den man vom Bereitsteller erhalten hat eingegeben. F\u00fcr diese Seite ist es der Schl\u00fcssel:<\/p>\n<p>JDSQ2RRI2SLYCN4SG6ZBP4DHE4TEHZG26EJS5R6FYBPH6AU3FVEA<\/p>\n<p>Jeder der diesen <strong>privaten Schl\u00fcssel<\/strong> hat, kann nun auf die Seiten zugreifen. Wer das falsche Passwort eingibt, kann nicht auf die Seite zugreifen:<!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.42.51.png\" alt=\"\" width=\"2002\" height=\"674\" class=\"aligncenter size-full wp-image-17104\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.42.51.png 2002w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.42.51-300x101.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.42.51-1024x345.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.42.51-768x259.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.42.51-1536x517.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-14.42.51-2000x674.png 2000w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/> <\/p>\n<p>Onion-Dienste bieten noch einige weiter Vorteile gegen\u00fcber herk\u00f6mmlichen Dienstleistungen im \u00f6ffentlichen Internet, da die IP-Adresse und Lokation der Onion Dienstleistungen  versteckt sind, um die Zensur und Identit\u00e4t der Besitzer besser zu sch\u00fctzen. Auch ist der gesamte Verkehr zwischen Tor-Benutzer und den Onion-Diensten <strong>Ende zu Ende verschl\u00fcsselt<\/strong>, so dass du dir keine Sorgen um Verbindung \u00fcber HTTPS machen musst. Die Adresse eines Onion Dienstes wird automatisch generiert, sodass der Betreiber keinen Domain-Namen kaufen muss; die .onion Internetadresse hilft Tor zus\u00e4tzlich, sicherzustellen, dass der richtige Ort kontaktiert und die Verbindung nicht manipuliert wird.<\/p>\n<p>Wie werden nun die Curve25519 Keys erzeugt? Wir m\u00fcssen nur eine public und einen privaten Key erzeugen und eine zugriff.auth Datei erstellen. Dazu brauche wir openssl, base32, base64pem, tail, sed und grep.<\/p>\n<p>1. Privaten Key erzeugen <\/p>\n<pre class=\"lang:default decode:true \" >openssl genpkey -algorithm x25519 -out \/tmp\/k1.prv.pem<\/pre>\n<p>2. Privaten Key in Base32 Format umwandeln<\/p>\n<pre class=\"lang:default decode:true \" >cat \/tmp\/k1.prv.pem | grep -v \" PRIVATE KEY\" | base64pem -d | tail --bytes=32 | base32 | sed 's\/=\/\/g' &gt; \/tmp\/k1.prv.key<\/pre>\n<p>\/\/ Ergebnis: <strong>JDSQ2RRI2SLYCN4SG6ZBP4DHE4TEHZG26EJS5R6FYBPH6AU3FVEA<\/strong><\/p>\n<p>3. Public Key erzeugen in Base32<\/p>\n<pre class=\"lang:default decode:true \" >openssl pkey -in \/tmp\/k1.prv.pem -pubout | grep -v \" PUBLIC KEY\" | base64pem -d | tail --bytes=32 | base32 | sed 's\/=\/\/g' &gt; \/tmp\/k1.pub.key<\/pre>\n<p>4. Public Key ausgeben<\/p>\n<pre class=\"lang:default decode:true \" >cat \/tmp\/k1.pub.key<\/pre>\n<p>\/\/ Ergebnis: 4HGPZWJDKXQUN6Z2WTVO6IU2KZJEMX63RHBJYTAERZXFQW3RXEQQ<\/p>\n<p>5. Auth. File in <strong>\/var\/lib\/tor\/hidden_service\/authorized_clients\/<\/strong> erzeugen, es ist nur die Extension <strong>.auth<\/strong> wichtig<\/p>\n<p><strong>thomas.auth<\/strong><\/p>\n<p>mit dem Inhalt des public Key aus der k1.pub.key (descriptor:x25519:PUBLIC-KEY)<\/p>\n<p><strong>descriptor:x25519:4HGPZWJDKXQUN6Z2WTVO6IU2KZJEMX63RHBJYTAERZXFQW3RXEQQ<\/strong><\/p>\n<p>6. Service neustarten<\/p>\n<p><strong>sudo systemctl reload tor<\/strong><\/p>\n<p>7. Keys aus \/tmp an sichere Stelle aufheben und im \/tmp Verzeichnis l\u00f6schen<\/p>\n<p>8. Test, ob die Seite<br \/>\nhttp:\/\/tokc2fifswouszmp4jy3ejizmchy4damvhmdug5crvkvfgmymbejkqqd.onion\/ <\/p>\n<p>nun nur mit dem privaten Key (JDSQ2RRI2SLYCN4SG6ZBP4DHE4TEHZG26EJS5R6FYBPH6AU3FVEA) aufgerufen werden kann.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/Darknet_Password-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1919\" class=\"aligncenter size-full wp-image-17108\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/Darknet_Password-scaled.jpg 2560w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/Darknet_Password-300x225.jpg 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/Darknet_Password-1024x768.jpg 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/Darknet_Password-768x576.jpg 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/Darknet_Password-1536x1151.jpg 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/Darknet_Password-2048x1535.jpg 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p><strong>TIP<\/strong>: Man kann in dem Passwortdialog des Browsers auch die Checkbox &#8222;Remember this key&#8220; anklicken. Dann wird der Key dauerhaft im Browser verschl\u00fcsselt gespeichert und muss nicht bei jeden Besuch neu eingegeben werden. <\/p>\n<p>Wie kann man diese aber wieder l\u00f6schen?<\/p>\n<p>In den &#8222;Preferences&#8220; unter &#8222;Onion Services Authentication&#8220; unter dem Button &#8222;Saved Keys&#8220;:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.50.20.png\" alt=\"\" width=\"2782\" height=\"2136\" class=\"aligncenter size-full wp-image-17115\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.50.20.png 2782w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.50.20-300x230.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.50.20-1024x786.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.50.20-768x590.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.50.20-1536x1179.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.50.20-2048x1572.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>Hier wird die Seite mit dem verschl\u00fcsselten private Key angezeigt und kann einfach gel\u00f6scht werden:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.53.26.png\" alt=\"\" width=\"1450\" height=\"816\" class=\"aligncenter size-full wp-image-17116\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.53.26.png 1450w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.53.26-300x169.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.53.26-1024x576.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/06\/wenzlaff.de-2021-06-12-um-15.53.26-768x432.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hier nun noch ein Level von Sicherheit mit dem Raspberry Pi. Wie hier beschrieben kann eine Website leicht f\u00fcr jedermann mit eigener onion Domain im Darknet bereitgestellt werden. Die Seiten k\u00f6nnen nun aber auch noch mit einen Curve25519-Key gesichert werden, so das nur Nutzer die den Key haben auf die Seiten zugreifen k\u00f6nnen. Wenn man &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=17101\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eOnion Webseite mit Elliptische Kurve Curve25519 absichern\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,4606,1204,1023,1319],"tags":[4938,4940,4941,4936,4935,4939,1602,1295,4942,4910,4937],"class_list":["post-17101","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-crypto","category-internet-2","category-raspberry-pi","category-sicherheit-2","tag-auth","tag-base32","tag-base64pem","tag-browser-absichern","tag-curve25519","tag-openss","tag-openssl","tag-sed","tag-tail","tag-tor","tag-tor-curve25519"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/17101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17101"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/17101\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17101"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}