Kryptografische Protokolle / Verschlüsselungsverfahren

Um wirkungsvoll verschlüsseln zu können reicht es nicht aus, einen wirkungsvollen Verschlüsselungsalgorithmus zu haben, sondern man muss auch die verschiedenen Probleme bei der Übertragung von Daten und der Kommunikation lösen. Zu diesem Zweck fasst man verschiedene kryptografische Verfahren zusammen. Daraus entstehen dann standardisierte kryptografische Protokolle, auch Verschlüsselungsprotokolle genannt.

Bestandteile eines kryptografischen Protokolls oder einer Cipher-Suite

Die einzelnen Bestandteile der Kryptografie sind nicht in einem einzigen Verfahren und Protokoll umgesetzt, sondern verschiedene Algorithmen und Verfahren sind miteinander verwoben. Die einzelnen Verfahren sind teilweise austauschbar. Mehrere davon bilden eine Cipher-Suite oder ein Verschlüsselungsverfahren, was in seiner Gesamtheit einem Verschlüsselungsprotokoll oder einem kryptografischen Protokoll entspricht.

Die heute verwendeten kryptografischen Protokolle, die in der Kommunikations- und Netzwerktechnik eingesetzt werden, sind in der Regel eine Kombination aus Verfahren zur Schlüsselerzeugung, Schlüsselaustausch und Datenverschlüsselung. Häufig enthalten sie auch eine Integritätskontrolle und Authentifizierung. Die genau Zusammensetzung eines kryptografischen Protokolls hängt von den Anforderungen und dem Anwendungsfall ab.

Bei der Betrachtungsweise von Verschlüsselungsprotokollen konzentriert man sich in der Regel auf den Schlüsselaustausch und die Verschlüsselung. Eine wirksame Verschlüsselung ist aber nur dann gut und gilt als sicher, wenn auch die Art und Weise der Schlüsselerzeugung nicht vorhergesagt werden kann und die Integrität und Authentizität der Daten und Kommunikationspartner geprüft wird. Die Verschlüsselung von Daten und der Kommunikation ist sinnlos, wenn nicht sichergestellt ist, dass der für den Schlüsselaustausch vorgesehene Kommunikationspartner der tatsächliche Empfänger des Schlüssels und der Daten ist.

Schlüsselerzeugung

Es gibt grundsätzlich drei Faktoren, die bei der Schlüsselerzeugung wichtig sind. Zum einen woraus der Schlüssel entsteht (Schlüsselmaterial), wie der Schlüssel entsteht (Verfahren) und wo er erzeugt wird (Hardware/System). Wobei das "Wo" auch darauf einen Einfluss hat, wie und woraus der Schlüssel entsteht.
Typischerweise werden digitale Schlüssel mit kryptografischen Hash-Funktionen erzeugt.

Schlüsselaustausch

Wenn man eine Kommunikation oder Datenübertragung verschlüsseln will, dann müssen sich die Kommunikationspartner überlegen, wie sie den oder die Schlüssel austauschen. Und das natürlich so, dass ein potentieller Angreifer den Schlüssel nicht abfangen kann.
Es ist eines der ungelösten Probleme der Kryptografie, den Schlüssel zu verteilen bzw. auszutauschen.

Verschlüsselungsverfahren

Der Begriff "Verschlüsselungsverfahren" wird immer dann verwendet, wenn es um Algorithmen, Mechanismen und Verfahren geht, die mit Verschlüsselung zu tun haben. Da es bei der modernen Kryptografie und den meisten kryptografischen Verfahren hauptsächlich um Verschlüsselung geht, trifft der Begriff "Verschlüsselungsverfahren" in der Regel immer zu.
Es gibt kein allgemeingültiges Verschlüsselungsverfahren. Man unterscheidet in der Kryptografie grob zwischen symmetrischen und asymmetrischen Verfahren

Integritätsprüfung

Die Integritätsprüfung stellt fest, ob Daten verändert wurden. In Verschlüsselungsverfahren ist die Integritätsprüfung prinzipbedingt enthalten. Kommen bei der Entschlüsselung mit dem richtigen Schlüssel keine sinnvollen Daten heraus, dann war die Übertragung fehlerhaft oder sie wurde manipuliert.

Authentifizierung

Authentifizierung ist ein Vorgang bei dem festgestellt wird, wer eine Person oder eine Maschine ist. Im echten Leben weisen wir uns durch Unterschriften, Pässe und Karten aus. Im Internet ist die Authentifizierung durch die räumliche Trennung erschwert. Hier greift man auf Signaturen, Zertifikate und andere Authentifizierungsmechanismen zurück.

Beispiele für eine Cipher-Suite

Die Bestandteile eines kryptografischen Protokolls bzw. einer Cipher-Suite sind Schlüsselaustauschverfahren, Signaturverfahren, Verschlüsselungsverfahren und die kryptografische Hash-Funktion.

Die folgenden Zeilen zeigen die Ausgabe eines Servers, welche der üblichen Cipher-Suites für SSL/TLS-Verbindungen zur Verfügung stehen.

 ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-RC4-SHA
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-RC4-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-SEED-SHA
DHE-RSA-CAMELLIA128-SHA
ECDH-RSA-RC4-SHA
ECDH-ECDSA-RC4-SHA
RC4-SHA

Nach unten werden die Cipher-Suites immer unsicherer. Für SSL/TLS-Verbindungen wird in der Regel die Kombination aus ECDHE, ECDSA oder RSA mit AES und GCM, sowie SHA256 oder SHA384 empfohlen.
Die Cipher-Suites mit RC4 und/oder SHA gelten als hochgradig unsicher.

Übersicht: Kryptografische Protokolle

Übersicht: Kryptografie