TLS und sein Vorgänger SSL sind kryptografische Protokolle zur Gewährleistung der Kommunikationssicherheit (Vertraulichkeit und Integrität in einigen Fällen und Nichtabstreitbarkeit in anderen Fällen) über ein Netz.

Bei Ein-Wege-TLS oder regulärem TLS wird das X.509-Serverzertifikat von einer Zertifizierungsstelle erstellt, der der Client vertrauen kann, wenn er eine Verbindung herstellen will. Die Public Key Infrastructure (PKI) ist für das Vertrauensmanagement und die Verteilung der Zertifikate zuständig. Zertifizierungsstellen (CAs) spielen eine sehr wichtige Rolle in der PKI. Ein X.509-Zertifikat ist nichts anderes als eine Information über den Server und den öffentlichen Schlüssel des Servers, der von einer Zertifizierungsstelle digital signiert ist.

Ein Server kann so konfiguriert werden, dass er Verbindungen von jedem Client zulässt (wie bei einseitigem TLS), oder er kann so konfiguriert werden, dass er jeden Client, der versucht, eine Verbindung zu ihm herzustellen, auffordert, sich zu authentifizieren. Damit sich ein Client authentifizieren kann, benötigt er ein Client-Zertifikat. Bei der zweiseitigen TLS-Authentifizierung, auch bekannt als TLS mit Client-Zertifikat-Authentifizierung, ist neben dem Server-Zertifikat auch das Client-Zertifikat beteiligt, um den Authentifizierungsprozess zu härten. Genau wie ein Serverzertifikat enthält ein Client-Zertifikat grundlegende Informationen über die Identität des Clients, seinen öffentlichen Schlüssel und die digitale Signatur einer Zertifizierungsstelle auf diesem Zertifikat, die die Echtheit dieser Informationen bestätigt. Das Client-Zertifikat sollte von einer Zertifizierungsstelle signiert sein, der der Server vertraut, und es liegt auf der Hand, dass beide X.509-Zertifikate vor der Verbindung vorhanden sein sollten!

Eine Möglichkeit, TLS sicher genug zu machen, ist die Verwendung mit Authentifizierung, etwas, mit dem man konfrontiert wird, wenn man sich bei Gmail anmelden möchte. Wenn Sie das Webinterface von Google Mail nutzen, verwenden Sie zusätzlich zu Ihrem Kennwort Einweg-TLS über eine https-Fähigkeit des Browsers. Wenn Sie Ihr Kennwort nicht verwenden, können nur Sie überprüfen, ob Sie mit einem legitimen Server verbunden sind, aber der Gmail-Server kann Ihre Identität nicht überprüfen, so dass wir nicht sagen können, dass die Verbindung sicher ist. Wenn Google Mail eine Zwei-Wege-TLS-Verbindung anbietet, können Sie sich problemlos mit dem Server verbinden, ohne Ihr Passwort eingeben zu müssen, und die Verbindung gilt als sicher.

Die Verwendung einer Zwei-Wege-TLS-Verbindung ist vor allem dann sinnvoll, wenn ein Server nur TLS-Verbindungen von einer begrenzten Gruppe zugelassener Clients akzeptieren soll. Ein Beispiel wäre ein Szenario, in dem eine Organisation TLS-Verbindungen zu einem Server nur von legitimen Partnern oder Kunden der Organisation zulassen möchte. Definitiv ist IP-Whitelisting für die Clients keine gute Sicherheitspraxis, da die IP gefälscht werden kann.

Um den Prozess des 2-Wege-TLS-Handshakes zu vereinfachen, können wir sagen

  1. Ein Client sendet eine Anfrage, um auf geschützte Informationen auf dem Server zuzugreifen.

2. Der Server legt dem Client sein X.509 Zertifikat vor.

3. Der Client überprüft das Zertifikat des Servers, indem er die digitale Signatur des öffentlichen Schlüssels des Servers mit dem öffentlichen Schlüssel der Zertifizierungsstelle validiert.

4. Wenn der letzte Schritt erfolgreich ist, sendet der Client sein Zertifikat an den Server.

5. Der Server verifiziert das Zertifikat des Clients mit dem gleichen Ansatz wie in Schritt 3.

6. Bei Erfolg gibt der Server dem Client Zugriff auf die geschützten Informationen.

Wenn Sie einen Apache-Webserver für die Handhabung von Zwei-Wege-TLS konfigurieren müssen, lesen Sie dieses Dokument: http://www.robinhowlett.com/blog/2016/01/05/everything-you-ever-wanted-to-know-about-ssl-but-were-afraid-to-ask/

Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.