Um verstehen zu können, wie MySQL SSL verwendet, ist es notwendig, einige grundlegende Konzepte zu SSL und X509 zu kennen. Leser, die mit diesen Konzepten vertraut sind, können diesen Teil des Handbuchs überspringen.
Standardmäßig verwendet MySQL unverschlüsselte Verbindungen
zwischen Client und Server. Das bedeutet, dass jemand, der
Zugriff auf das Netzwerk hat, den gesamten Datenverkehr
überwachen und die Daten bei Versand oder Empfang
überprüfen könnte. Schlimmer noch: Selbst eine Modifikation
der Daten während der Übertragung zwischen Client und Server
ist möglich. Um die Sicherheit ein wenig zu erhöhen, können
Sie den Client/Server-Datenverkehr durch Angabe der Option
--compress
beim Aufruf des Clientprogramms
komprimieren. Ein entschlossener Angreifer würde sich hiervon
jedoch nicht abhalten lassen.
Wenn Sie Daten in sicherer Form über ein Netzwerk übertragen müssen, ist eine unverschlüsselte Verbindung nicht akzeptabel. Die Verschlüsselung stellt eine Möglichkeit dar, beliebige Daten unlesbar zu machen. Tatsächlich erfordert die moderne Praxis viele zusätzliche Sicherheitselemente von Verschlüsselungsalgorithmen. Sie sollten viele bekannte Angriffstypen abwehren können, z. B. eine Änderung der Reihenfolge verschlüsselter Daten oder die zweimalige Wiedergabe von Daten.
SSL ist ein Protokoll, welches mithilfe verschiedener Verschlüsselungsalgorithmen sicherstellen soll, dass Daten, die über ein öffentliches Netzwerk übertragen wurden, vertrauenswürdig sind. SSL verfügt über Methoden zur Erkennung von Änderungen, Verlusten oder Wiedergabe von Daten. Ferner enthalten sind Algorithmen, die eine Identitätsprüfung unter Verwendung des X509-Standards ermöglichen.
X509 erlaubt eine Identifizierung über das Internet. Der bevorzugte Anwendungsfall hierfür ist der E-Commerce. Einfach gesagt wird ein Unternehmen benötigt, welches als „Zertifizierungsstelle“ (Certificate Authority, CA) elektronische Zertifikate an Antragssteller vergibt. Zertifikate basieren auf asymmetrischen Verschlüsselungsalgorithmen mit zwei Schlüsseln: einem öffentlichen und einem Geheimschlüssel. Der Halter eines Zertifikats kann einem Gegenüber das Zertifikat als Identitätsnachweis vorlegen. Das Zertifikat besteht aus dem öffentlichen Schlüssel seines Besitzers. Daten, die mit diesem öffentlichen Schlüssel verschlüsselt wurden, können nur mit dem entsprechenden Geheimschlüssel wieder entschlüsselt werden. Dieser Geheimschlüssel befindet sich im Besitz des Zertifikatshalters.
Wenn Sie weitere Informationen zu SSL, X509 oder zum Thema Verschlüsselung suchen, geben Sie die entsprechenden Begriffe in die Internetsuchmaschine Ihrer Wahl ein.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.