So. 04. Dezember 2016 um 8:03

In eigener Sache: Umstellung auf HTTPS (TLS)

von Yves Jeanrenaud 4 Kommentare
Lesedauer: 4 Minuten

Eine gute Nachricht in der Vorweihnachtszeit für euch alle, ob ihr schon Glück hattet bei den täglichen Verlosungen unseres Adventskalenders gezogen zu werden, oder nicht: Wir haben nunmehr die Verbindung zwischen eurem Browser und unserem Server permanent verschlüsselt. Das heisst, ihr erreicht uns von nun an nicht mehr via HTTP, sondern werdet immer auf HTTPS umgestellt.

 

Manche werden es vielleicht schon bemerkt haben, beispielsweise, weil sie HTTPS-Everywhere oder ähnliche Browser-Erweiterungen benutzen: Wir haben seit einer Weile ein Server-Zertifikat, das durch die CA von Comodo verifiziert wurde, installiert. Daher kann man sich zu unseren Seiten mittels HTTPS-Protokoll, also HTTP mit Verschlüsselung verbinden. Dabei ermöglichen wir unter Anderem den Zugriff mittels TLS 1.2 (ECDHE mit AES bis 256 GCM, SHA384 RSA-Cypher). TLS, kurz für Transport Layer Security, ist die Weiterentwicklung der SSL (Secure Socket Layer)-Technologie, wobei diese Begriffe mittlerweile Synonym verwendet werden. Gemeint ist immer eine verschlüsselte und authentifizierte Verbindung zwischen zwei Rechnern.

 

Wichtig ist, dass unser Server-Zertifikat nur mit Clients arbeiten kann, welche die TLS-Erweiterung SNI (Server Name Indication) unterstützten. Das heisst, wer den Internet Explorer auf Windows XP oder Betriebssystem-Version 2.3.7 beispielsweise nutzt, kann nicht mehr auf PocketPC.ch zugreifen.

 

Dass bei PocketPC.ch nun TLS aktiviert ist, seht ihr an dem Icon in euren Browsern vor der URL:


HTTPS Icon vor URL

Solltet ihr nunmehr Probleme beim Login haben, löscht zuerst mal die Cookies und versucht es dann abermals. Sollte es dennoch zu Problem kommen, bitte kontaktiert uns.

 

Für alle, die die technische Seite interessieren mag, ganz verkürzt und sicherlich unterkomplex geschildert im Folgenden die Grundlagen:

Unser Server hat ein Zertifikat.

 

Ganz vereinfacht Im Internet (und auch sonst), müssen Browser, um Inhalte darstellen zu können, diese nahezu immer speziell dafür konfigurierte Rechnern, so genannten Servern kontaktieren, die dann die Daten, also Bilder, Texte, Videos etc. eurem Rechner, den Client, zusenden. Dabei fragen sie beispielsweise einen so genannten Domain Name System (DNS)-Server, welcher Rechner denn hinter dem Namen pocketpc.ch steht, und bekommen eine IP-Adresse, bei uns also z. B. 217.150.252.33. DNS ist unter anderem deswegen wichtig, weil sich niemand solche Zahlenkombinationen merken möchte (oder kann) und Domänennamen wie PocketPC.ch doch auch hübscher sind. Aber Das DN-System ist nicht unfehlbar. Ob der Verweis auf die IP-Adresse 217.150.252.33 manipuliert ist, also gar nicht die richtige PocketPC.ch-Seite ausgeliefert wird, sondern eine gehackte, lässt sich nicht so einfach sagen. Gut, wie wahrscheinlich oder wichtig ist das, werdet ihr euch fragen. Ihr seht ja, ob die Seite korrekt aussieht, oder nicht. Aber das findige Menschen mit ordentlich krimineller Energie so auch beispielsweise die Seite eures Online-Bankings täuschend echt manipulieren können, ohne unbedingt Schadsoftware auf euren Rechnern installieren zu müssen, ist eine reelle und nicht zu unterschätzende Gefahr. Es ist also durchaus wichtig, die Identität des Servers zu kennen und dieser vertrauen zu können.

 

Weiter erfolgt die Kommunikation via HTTP in Klartext, will heissen, alle, die Zugriff auf eure Datenübertragung haben, ob die eigene Firma, die NSA oder die Nachbarin im Hotspot des Strassenkaffees, können ganz einfach und ohne viel Hacker-Skills alles, wirklich alles, mitlesen, was ihr lest und schreibt. Passwörter, Logins, TAN, E-Mailadressen und -Inhalte, Seiteninhalte, URL, – alles!

 

Dass das nicht gut ist, wissen spätestens seit Edward Snowden nun fast alle. Hier kommt nunmehr HTTPS in’s Spiel: Bei TLS läuft die Kommunikation vertrauensvoll ab. Hier werden nun Serverzertifikate eingesetzt (auch Clientzertfikate zur Clientauthentifizierung gibt es, werden jedoch selten genutzt). Diese Zertifikate verwenden asynchrone Verschlüsselungstechnik, wie ihr sie von vielen Anwendungen, z. B. Threema, PGP oder vielen VPN schon kennt. Dabei gibt es zwei passende asynchrone Schlüssel, einen privaten und einen öffentlichen. Der private Schlüssel wird benutzt um ein Zertifikat zu signieren, also eine Art Prüfsumme darunter zu stempeln, die man mit Hilfe des öffentlichen Schlüssels überprüfen kann. Diese Zertifikate enthalten Informationen über den Namen des Servers (oder der Server), für die sie Gültigkeit haben, den Zeitraum, über den sie gültig sind, den Einsatzzweck des Zertifikats und in der Regel Signaturen von Zertifikatsbesitzer_innen und Autorisierungsstellen.

 

Damit kann nun der Client beim Aufbau der Verbindung zum Server via HTTPS das Zertifikat überprüfen und sehen, ob der Name mit dem im Zertifikat übereinstimmt, der Server also der ist, für den er sich ausgibt und die Inhalte verschlüsseln kann, wie im Zertifikat angegeben. Diese verläuft auch wieder über die asynchrone Verschlüsselung: Die Nachricht an den Server wird mit dessen öffentlichen Schlüssel verschlüsselt und kann so nur entschlüsselt werden, wenn der dem privaten Serverschlüssel bekannt ist. Dabei wird auch ein öffentlicher Schlüssel vom Client mitgeliefert. Der Server antwortet nun also zurück ebenfalls verschlüsselt und zwar so, das der private Client-Schlüssel zum Entschlüsseln notwendig ist. Es kann also niemand mehr die Kommunikation mitlesen, egal, wie sie übertragen wird, ohne mindestens einen der privaten Schlüssel zu kennen.Das Server-Zertifikat ist also so etwas wie die ID oder der Perso des Servers, plus die Zusage, dass man mit diesem Server in einer eigenen Geheimsprache reden kann.

 

Wenn die Verschlüsselung also gut genug ist, ist die Kommunikation auch privat. Gut meint hier, beispielsweise keine Cipher für die Verschlüsselung zuzulassen, die oft verwendet werden, wie sie im Rahmen der Logjam-Attacke offengelegt wurden, auch bekannt unter Weak Diffie-Hellman, die sich anscheinend auch die NSA zunutze machte, um nahezu alle Kommunikation abfangen zu können.

 

Nunmehr können aber diese Zertifikate auch selbst gemacht, heisst also selbst-signiert sein. Das heisst, wie eine selbst gemachte Identitätskarte oder Personalausweis, kann da alles mögliche drauf stehen und niemand muss – und wird – euch das glauben (wobei das fälschen von Ausweisdokumenten fast allerorts eine Straftat dar stellt, also Finger weg!). Dann kommuniziert ihr zwar mit dem Server, ohne das jemand drittes dies mitlesen kann, aber ihr seid nicht sicher, wer der Server ist.

 

Dafür gibt es nunmehr diese Signaturen in den Zertifikaten, die nicht vom Server stammen, sondern die Identität von Dritten angeben, die bestätigen, dass die Server-Identität stimmt. So in etwa wie das Feld “ausstellende Behörde” auf eurem persönlichen Ausweisdokument oder Pass: Es sagt aus, dass die angegebene Behörde bestätigt, dass dieser Ausweis echt ist. Wie könnt ihr nun dieser Behörde trauen, dass die nicht einfach alles auf jede Plastikkarte schreiben? Nun, das ist in einem Rechtsstaat ein anderes Thema, aber im Internet läuft es über Certificate Authorities (CA), sprich Zertifikatsautoritäten. Diese Autoritäten sind, ähnlich, nur nicht monopolisiert wie die Behörden für die Ausweisdokumente, allgemein anerkannt, gewisse Richtlinien und Standards bei der Signierung zu erfüllen. Wenn also eine anerkannte CA ein Zertifikat unterschreibt, kann davon ausgegangen werden, dass dem Zertifikat vertraut werden kann. Darum führen alle Browser eine Liste mit anerkannten Zertifikatsautoritäten in ihren Einstellungen, quasi eine Liste der Behörden, die Ausweisdokumente ausstellen dürfen. Und ja, auch das System ist nicht hundertprozentig sicher, aber es ist nahe dran. Es wurden teilweise schon CA- oder Zwischen-Zertifikate kompromittiert und darauf hin zurückgezogen, sprich mittels Update auf eine Sperrliste gesetzt, so dass die darauf vertrauenden Clients den entsprechend signierten Server-Zerfitikaten nicht mehr trauen. Kein System ist hundertprozentig sicher. Aber mit HTTPS sind wir derzeit so nahe an sicher, wie es geht.

 

Wir haben nun also ein solches Zertifikat und die entsprechenden Einstellungen aktiviert, womit die Kommunikation mit PocketPC.ch verschlüsselt ist. Nicht nur auf der Webseite, auch via App oder Tapatalk. Warum? Einerseits, weil sichere Kommunikation wichtig ist, nicht nur uns, auch allgemein im Internet wird es immer wichtiger. Nicht zuletzt deswegen ist HTTPS auch ein Güte-Kriterium geworden bei Suchmaschinen, aber auch so sind wir der Auffassung, dass, wo immer möglich, HTTPS eingesetzt werden sollte.

 

Wir hoffen, ihr schätzt den Aufwand, den wir dafür betrieben haben und das Risiko, in der Suchmaschinengunst, zumindest vorübergehend zu fallen. Zudem haben wir die Sicherheit auch an anderen Stellen erhöht, beispielsweise was unsere Login-Cookies an geht.

 

Wir sind zuversichtlich, dass die Umstellung nach all unseren Tests abgeschlossen ist und problemlos für alle funktioniert hat. Solltet ihr nunmehr aber dennoch Probleme, beispielsweise beim Login haben, löscht zuerst mal die Cookies und versucht es dann erneut. Sollte es dennoch zu Problem kommen oder ihr andere Dinge bemerken, bitte kontaktiert uns – Vielen Dank!

Das könnte Sie auch interessieren

4 Antworten zu “In eigener Sache: Umstellung auf HTTPS (TLS)”

  1. roterfelsen sagt:

    Eine tolle Neuerung, bei den heutigen Hacker-Angriffen ein Schritt in die richtige Richtung!!

  2. Dave2299 sagt:

    Die Seite lädt nun auch viel flotter und ohne Hakler! TOP!

  3. HandySchlumpf sagt:

    Login und auch Komentare sind jetzt bei mobiler Webseite fast unmöglich. Ich muss immer auf Desktop Darstellung umschlaten.
    Benutzte ein Nexus 5 1.Generation also alles Stock.

  4. Yves Jeanrenaud sagt:

    HandySchlumpf: bitte kontaktieren, nicht kommentieren 😉 Aber danke für die Rückmeldung. Das hilft uns weiter, die letzten kleinen Problemchen zu beheben.

    Und eine weitere gute Nachricht: Wir haben die Zertifikatsauslieferung geändert, was bewirkt, das nunmehr auch Windows XP und Android 2.3.7 wieder funktionieren.

Schreibe einen Kommentar

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert
Teilen