Bundesamt für Sicherheit in der Informationstechnik

M 3.23 Einführung in kryptographische Grundbegriffe

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: IT-Sicherheitsbeauftragter, Leiter IT

Der Einsatz von Kryptoprodukten kann für die Benutzer zusätzlichen Aufwand bedeuten oder - je nach Komplexität der eingesetzten Produkte - sogar vertiefte Kenntnisse erfordern. Daher sollten alle Mitarbeiter, die kryptographische Verfahren und Produkte einsetzen sollen, für den Nutzen und die Notwendigkeit der kryptographischen Verfahren sensibilisiert werden und eine Einführung in kryptographische Grundbegriffe erhalten. Dies gilt natürlich insbesondere für diejenigen, die ein Kryptokonzept erstellen, Kryptoprodukte auswählen, installieren oder betreuen sollen.

Der folgende Text soll ein elementares Verständnis der grundlegenden kryptographischen Mechanismen vermitteln. Nachfolgend wird an Beispielen erläutert, in welcher Situation welche kryptographische Technik eingesetzt werden kann.

Elemente der Kryptographie

Mathematische Methoden und Techniken, die zum Schutz von Information gegen unbefugte Kenntnisnahme und/oder absichtliche Manipulation dienen können, nennt man kryptographisch. Der Schutz der Information durch kryptographische Methoden ist - im Unterschied zu infrastrukturellen und technischen Sicherungsmaßnahmen - mathematisch-logischer Natur.

Bei kryptographischen Verfahren wird ein mathematischer Rechenvorgang - ein Algorithmus - in konkrete Technik umgesetzt. Ihre Wirksamkeit beruht darauf, dass ein potentieller Angreifer ein gewisses mathematisches Problem nicht zu lösen vermag - und zwar nicht wegen mangelnder Fähigkeiten, sondern wegen fehlenden Wissens um ganz bestimmte "Schlüssel"-Informationen.

Kryptographische Methoden beziehen sich stets auf folgende Situation: Ein Sender A (dieser wird, wie in der Kryptographie üblich, "Alice" genannt) schickt über einen unsicheren Kanal eine Nachricht an einen Empfänger B (er wird "Bob" genannt).

Sender und Empfänger dürfen dabei auch identisch sein, unter einem Kanal ist ein beliebiges Transportmedium zu verstehen. Bei der Verschlüsselung lokaler Daten sind Sender und Empfänger natürlich identisch, unter "Kanal" ist hier das Speichermedium zu verstehen.

Kryptographische Grundziele

Auf Grund theoretischer und praktischer Erwägungen unterscheidet man vier kryptographische Grundziele:

  • Vertraulichkeit/Geheimhaltung: Keine unbefugte dritte Partei E (sie sei "Eve" genannt) soll an den Inhalt der Nachricht bzw. Datei gelangen.
  • Integrität: Unbefugte Manipulationen an der Nachricht bzw. Datei (z. B. Einfügen, Weglassen, Ersetzung von Teilen) sollen entdeckt werden können.
  • Authentizität:
    • Identitätsnachweis (Authentisierung von Kommunikationspartnern): Eine Kommunikationspartei (z. B. Person, Organisation, IT-System) soll einer anderen ihre Identität zweifelsfrei beweisen können.
    • Herkunftsnachweis (Nachrichtenauthentisierung): A soll B beweisen können, dass eine Nachricht von ihr stammt und nicht verändert wurde.
  • Nichtabstreitbarkeit (Verbindlichkeit, non repudiation): Hier liegt der Schwerpunkt verglichen mit der Nachrichtenauthentisierung auf der Nachweisbarkeit gegenüber Dritten.
    • Nichtabstreitbarkeit der Herkunft: Es soll A unmöglich sein, das Absenden einer bestimmten Nachricht an B nachträglich zu bestreiten.
    • Nichtabstreitbarkeit des Erhalts: Es soll B unmöglich sein, den Erhalt einer von A gesendeten Nachricht nachträglich zu bestreiten.

Es ist klar, dass zwischen diesen Zielen Beziehungen bestehen, aber eine wesentliche Einsicht der modernen Kryptographie ist folgende: Die Gewährleistung von Vertraulichkeit bzw. von Authentizität sind unabhängige Grundziele eines kryptographischen Systems: Authentisierung beschränkt den Kreis der möglichen Sender einer Nachricht, Geheimhaltung den der möglichen Empfänger.

Die grundlegende kryptographische Methode zur Wahrung von Vertraulichkeit ist Verschlüsselung, die grundlegenden Methoden zur Gewährleistung von Integrität, Authentizität und Nichtabstreitbarkeit sind Hashfunktionen, Message Authentication Codes (MACs), digitale Signaturen und kryptographische Protokolle. Die einzelnen kryptographischen Konzepte werden im folgenden kurz vorgestellt.

I. Verschlüsselung

Verschlüsselung (Chiffrieren) transformiert einen Klartext in Abhängigkeit von einer Zusatzinformation, die "Schlüssel" genannt wird, in einen zugehörigen Geheimtext (Chiffrat), der für diejenigen, die den Schlüssel nicht kennen, nicht entzifferbar sein soll. Die Umkehrtransformation - die Zurückgewinnung des Klartextes aus dem Geheimtext - wird Entschlüsselung genannt. In allen modernen Verschlüsselungsalgorithmen sind Klartexte, Geheimtexte und Schlüssel jeweils als Folgen von Bits gegeben.

Um praktisch einsetzbar zu sein, müssen Verschlüsselungsalgorithmen folgende Mindestanforderungen erfüllen:

  • Sie sollten entzifferungsresistent sein, d. h. ohne Kenntnis des Schlüssels darf das Chiffrat nicht entschlüsselt werden können, insbesondere muss hierfür die Menge der möglichen Schlüssel "ausreichend groß" sein, da sonst ein einfaches Ausprobieren aller Schlüssel möglich wäre,
  • sie müssen einfach einzusetzen sein, und
  • Ver-/Entschlüsselung müssen "schnell genug" sein.

Die Forderung nach Entzifferungsresistenz ist immer relativ zu den aktuellen technischen und mathematischen Möglichkeiten zu betrachten. Wichtig bei der Bewertung von Verschlüsselungsalgorithmen ist, dass es zum Nutzungszeitpunkt praktisch nicht möglich sein darf, das Chiffrat ohne Kenntnis des Schlüssels zu entschlüsseln, d. h. nicht mit der dann verfügbaren Technik innerhalb eines akzeptablen Zeitrahmens.

Wenn A und B eine vertrauliche Verbindung einrichten wollen, gehen sie wie folgt vor:

  1. sie vereinbaren ein Chiffrierverfahren,
  2. sie vereinbaren einen Schlüssel bzw. ein Schlüsselpaar,
  3. A verschlüsselt eine Nachricht und sendet diese an B,
  4. B entschlüsselt das von A gesendete Chiffrat.

Es gibt zwei große Klassen von Chiffrierverfahren:

Symmetrische Verschlüsselungsverfahren benutzen denselben Schlüssel sowohl für die Ver- als auch für die Entschlüsselung. Symmetrische Verfahren werden deshalb gelegentlich auch als "ein-Schlüssel"-Verfahren bezeichnet, da die Kenntnis eines Schlüssels ausreicht, um chiffrieren und dechiffrieren zu können.

Bekannte symmetrische Verschlüsselungsverfahren sind z. B. DES , Tripel-DES, IDEA oder RC5.

Bei symmetrischen Verfahren unterscheidet man weiter zwischen Stromchiffren und Blockchiffren.

Bei Stromchiffren wird unter Verwendung des Schlüssels eine möglichst zufällig aussehende Bitfolge (ein Bitstrom) generiert, die auf die Klarbitfolge (modulo 2) aufaddiert wird. Die Klarbitfolge wird also Bit für Bit (durch Addition von Schlüsselstrombits) verschlüsselt. Für die Sicherheit von Stromchiffren ist wesentlich, dass niemals zwei (verschiedene) Nachrichten mit demselben Schlüsselstrom verschlüsselt werden - dafür muss mit speziellen Maßnahmen (Synchronisierinformation in Form eines Spruchschlüssels) gesorgt werden. Beispiele für Stromchiffren sind RC4 und SEAL.

Bei Blockchiffren dagegen wird in einem Verschlüsselungstakt jeweils ein ganzer Block von Bits verschlüsselt, heutzutage sind dies in der Regel 64 Bits. Die meisten symmetrischen Verschlüsselungsverfahren sind Blockchiffren, dazu gehören auch DES, IDEA oder RC5. Für Blockchiffren sind eine Reihe von Betriebsarten (Modi) definiert (und standardisiert). Es sind dies

  • der ECB (Electronic Code Book)-Modus, bei dem jeder Block für sich - unabhängig von den anderen Blöcken - verschlüsselt wird,
  • der CBC (Cipher Block Chaining)-Modus und der CFB (Cipher Feed Back)-Modus, bei diesen Modi wird, nach Wahl eines zusätzlichen Initialisierungsvektors, eine Abhängigkeit der Chiffretextblöcke von allen vorhergehenden Chiffretextblöcken hergestellt, sowie
  • der OFB (Output Feedback Modus), dieser Modus kann so aufgefasst werden, dass die verwendete Blockchiffre zur Generierung eines "Blockstroms" verwendet wird, der auf die Klarblöcke bitweise (modulo 2) aufaddiert wird.

Beim Einsatz symmetrischer Verfahren ist generell zu beachten, dass ein Schlüsselaustausch zwischen den Kommunikationspartnern vorausgegangen sein muss. Dieser muss über einen sicheren Kanal (z. B. Kurier, persönliche Übergabe) erfolgen und beide Parteien müssen anschließend den Schlüssel geheim halten. Es gibt verschiedene Verfahren für einen sicheren Schlüsselaustausch. In geschlossenen Systemen ist der Schlüsselaustausch im allgemeinen unproblematisch zu realisieren, da hier meist "sichere Kanäle" vorhanden sind. In offenen Systemen mit einer Vielzahl von Kommunikationspartnern gestaltet sich dies schwieriger. Generell besteht jedoch das Problem, dass bei einer Vielzahl möglicher Kommunikationspartner entsprechend viele Schlüssel vor der eigentlichen Kommunikation ausgetauscht werden müssen und dass dabei die potentiellen Kommunikationspartner vorab bekannt sein müssen.

Asymmetrische (Public Key) -Chiffrierverfahren dagegen benutzen zwei verschiedene (aber mathematisch verwandte) Schlüssel: einen "öffentlichen" Schlüssel (Public Key) für die Verschlüsselung, und einen "privaten" Schlüssel (Private Key) für die Entschlüsselung. Das Schlüsselpaar muss dabei folgende Eigenschaft aufweisen: für alle, die lediglich den "Public Key" kennen, muss es praktisch unmöglich sein, den zugehörigen "Private Key" zu bestimmen oder eine mit dem "Public Key" verschlüsselte Nachricht zu entschlüsseln.

Asymmetrische Verschlüsselung hat also eine "Einbahn"-Eigenschaft: eine Nachricht kann nicht wiederhergestellt werden, wenn der "Private Key" vergessen oder gelöscht wurde.

Die Bezeichnung "Public Key"-Verschlüsselung rührt daher, dass der "Public Key" öffentlich bekannt gemacht werden kann, ohne die Sicherheit des Verfahrens zu kompromittieren. Der "Private Key" hingegen muss geheimgehalten werden.

Will nun Alice eine Nachricht verschlüsselt an Bob senden, so holt sich Alice den öffentlichen Schlüssel Bobs aus einer frei zugänglichen Datei und verschlüsselt damit die Nachricht. Nach Erhalt der Nachricht benutzt Bob seinen geheimen Schlüssel, um die von Alice erhaltene Nachricht zu entschlüsseln. Wenn Alice und Bob ein asymmetrisches Verfahren zum Zweck der Vertraulichkeit verwenden, benötigen sie also keinen sicheren Kanal für den Schlüsselaustausch, aber Alice muss sicher sein, dass sie tatsächlich Bobs öffentlichen Schlüssel benutzt und keinen Schlüssel, der ihr als Bobs Schlüssel untergeschoben wurde. Würde Alice eine Nachricht mit einem untergeschobenen Schlüssel verschlüsseln, so könnte der Täter, dem ja der passende geheime Schlüssel bekannt ist, die Nachricht entschlüsseln. Der Sender benötigt in der Regel die Bestätigung einer vertrauenswürdigen dritten Partei, dass der öffentliche Schlüssel des Empfängers wirklich zu diesem gehört. Diese Bestätigung, das "Zertifikat", wird im allgemeinen auch durch ein kryptographisches Verfahren erzeugt und dem öffentlichen Schlüssel beigefügt.

Zwei bekannte asymmetrische Verschlüsselungsverfahren sind das RSA-Verfahren (benannt nach den Erfindern Rivest, Shamir, Adleman) und die Klasse der Elgamal-Verfahren. Zu letzteren gehören auch die auf Elliptischen Kurven basierenden Verschlüsselungsverfahren.

Symmetrische und asymmetrische Chiffrierverfahren haben z. T. sich ergänzende Vor- und Nachteile:

Vorteile (guter) symmetrischer Verfahren:

  • Sie sind schnell, d. h. sie haben einen hohen Datendurchsatz.
  • Die Sicherheit ist im wesentlichen durch die Schlüssellänge festgelegt, d. h. bei guten symmetrischen Verfahren sollte es keine Attacken geben, die wesentlich besser sind als das Durchprobieren aller Schlüssel (Brute-Force-Attacken).
  • Sie bieten hohe Sicherheit bei relativ kurzem Schlüssel.
  • Die Schlüsselerzeugung ist einfach, da gewöhnlich als Schlüssel jede Bitfolge einer festen Länge erlaubt ist und als Schlüssel eine Zufallszahl gewählt werden kann.

Nachteile symmetrischer Verfahren:

  • Jeder Teilnehmer muss sämtliche Schlüssel seiner Kommunikationspartner geheim halten.
  • Zur Schlüsselverteilung sind sie weniger gut geeignet als asymmetrische Verfahren, insbesondere bei einer großen Anzahl von Kommunikationspartnern.
  • Für Verbindlichkeitszwecke sind sie weniger praktikabel als asymmetrische Verfahren, da bei der Verwendung symmetrischer Schlüssel nicht ohne weiteres erkannt werden kann, welcher der beiden Kommunikationspartner die Nachricht verschlüsselt hat. Dies lässt sich nur durch eine zwischengeschaltete dritte Partei sicherstellen, die über entsprechende kryptographische Protokolle in den Nachrichtenfluss eingebunden wird.

Vorteile (guter) asymmetrischer Verfahren:

  • Jeder Teilnehmer einer vertraulichen Kommunikation muss nur seinen eigenen privaten Schlüssel geheim halten.
  • Sie lassen sich einfach für digitale Signaturen benutzen.
  • Sie bieten elegante Lösungen für die Schlüsselverteilung in Netzen, da die öffentlichen Schlüssel bzw. Schlüsselzertifikate frei zugänglich auf zentralen Servern gespeichert werden können, ohne die Sicherheit des Verfahrens zu beeinträchtigen.
  • Sie sind gut geeignet für Nicht-Abstreitbarkeitszwecke.

Nachteile asymmetrischer Verfahren:

  • Sie sind langsam, d. h. sie haben im allgemeinen einen geringen Datendurchsatz.
  • Sicherheit: für alle bekannten Public-Key-Verfahren gilt:
    • Es gibt wesentlich bessere Attacken als das Durchprobieren aller Schlüssel, deshalb werden (im Vergleich zu symmetrischen Verfahren) relativ lange Schlüssel benötigt, um ein gleich hohes Maß an Sicherheit zu erreichen.
    • Die Sicherheit beruht "nur" auf der vermuteten, aber von der Fachwelt anerkannten, algorithmischen Schwierigkeit eines mathematischen Problems (zum Beispiel die Zerlegung einer großen Zahl in die Primfaktoren).
  • Die Schlüsselerzeugung ist i. allg. komplex und aufwendig, da die Erzeugung "schwacher" Schlüsselpaare vermieden werden muss.

Hybride Verfahren versuchen, die Vorteile beider Arten von Verschlüsselung zu kombinieren: sie benutzen asymmetrische Verschlüsselung, um einen Sitzungsschlüssel ("Sessionkey") für ein symmetrisches Verfahren zu übermitteln, und verschlüsseln die Massendaten mit dem symmetrischen Verfahren. Der Sessionkey wird gewöhnlich nur für eine Sitzung (Übertragung) verwendet und dann vernichtet. Das asymmetrische Schlüsselpaar wird je nach Umständen für einen langen Zeitraum verwendet.

II. Integritätsschutz

Das Ziel des Integritätsschutzes ist es, dass ein Empfänger einer Nachricht feststellen kann, ob er diese Nachricht unverfälscht erhalten hat. Das Grundprinzip des Integritätsschutzes besteht darin, die Nachricht unverschlüsselt und unverändert zu übersenden, gleichzeitig aber bestimmte Kontrollinformationen mitzuschicken, die die Kontrolle auf Unverfälschtheit der eigentlichen Nachricht ermöglichen. Voraussetzung dazu ist allerdings, dass der Empfänger die Kontrolldaten unmanipuliert erhält. Für diese Kontrolldaten stellen sich damit folgende Bedingungen:

  • Der Umfang der Kontrollinformationen muss möglichst gering sein, um die zusätzlich zu übertragenden Informationen zu minimieren.
  • Praktisch jede Manipulation, auch nur eines einzelnen Bits der Nachricht muss anhand der Kontrollinformationen feststellbar sein.
  • Die Kontrollinformationen müssen unmanipulierbar übertragen bzw. Manipulationen müssen entdeckt werden können.

Zur Berechnung der Kontrollinformationen werden typischerweise zwei Verfahren verwendet: Hashfunktionen und Message Authentication Codes.

Eine (Einweg-)Hashfunktion ist eine Datentransformation mit folgenden Eigenschaften:

  • Kompressionseigenschaft: Beliebig lange Bitfolgen werden auf Bitfolgen fester, i. allg. kürzerer Länge abgebildet (typischerweise 128 - 160 Bit).
  • "Einweg"-Eigenschaft: Es muss "praktisch unmöglich" sein, zu einem vorgegebenen Hashwert eine Nachricht zu finden, deren Hashwert der vorgegebene Hashwert ist.
  • Kollisionswiderstand: Es muss "praktisch unmöglich" sein, zwei Nachrichten zu finden, die zum gleichen Hashwert führen.

Mit Hilfe einer beiden Kommunikationspartnern bekannten Hashfunktion können A und B die Integrität einer Nachricht überprüfen: Alice hasht ihre Nachricht, und übermittelt diese und den Hashwert so an Bob, dass die Unverfälschtheit des Hashwertes gewährleistet ist. Bob hasht die empfangene Nachricht ebenfalls und vergleicht sein Ergebnis mit dem von Alice gelieferten Hashwert. Stimmen beide Werte überein, so kann er davon ausgehen, dass kein Bit der Nachricht verändert wurde.

Ein Message Authentication Code (MAC) ist eine kryptographische Checksumme zur Nachrichtensicherung, also eine Datentransformation, bei der zusätzlich ein geheimer Schlüssel in die Berechnung eingeht, mit folgenden Eigenschaften:

  • Kompressionseigenschaft: Beliebig lange Bitfolgen werden auf Bitfolgen fester, i. allg. kürzerer Länge abgebildet.
  • Fälschungssicherheit: Für jeden, der nicht im Besitz des Schlüssels ist, muss es "praktisch unmöglich" sein, den MAC-Wert einer neuen Nachricht zu berechnen, selbst wenn er in den Besitz einiger alter Nachrichten mit den zugehörigen MAC-Werten gelangt ist.

Besitzen Alice und Bob einen MAC und einen gemeinsamen, geheimen MAC-Schlüssel, so authentisiert Alice ihre Nachricht einfach dadurch, dass sie den MAC-Wert der Nachricht berechnet und zusammen mit der Nachricht an Bob schickt. Bob berechnet seinerseits den MAC-Wert der empfangenen Nachricht mit dem auch ihm bekannten MAC-Schlüssel. Stimmt dieser mit Alices Wert überein, so kann er davon ausgehen, dass die Nachricht authentisch ist (d. h. dass sie nicht verändert wurde und wirklich von Alice stammt). Alice hat also ihre Nachricht durch Verwendung des nur ihr und Bob bekannten Schlüssels gegenüber Bob authentisiert.

MACs werden häufig auf Basis symmetrischer Chiffrierverfahren konstruiert. Die bekannteste Variante ist hierbei die Verschlüsselung einer Nachricht mit DES oder einem anderem Block-Chiffrierverfahren im CBC- oder CFB-Mode. Dabei wird als MAC der letzte verschlüsselte Block an die Nachricht angehängt. Daneben gibt es aber auch MACs, die nicht auf Chiffrierverfahren beruhen. Der MAC-Wert einer Nachricht kann als fälschungssichere, schlüsselabhängige, kryptographische Checksumme dieser Nachricht angesehen werden. Die Anwendung von MACs zum Zweck der Authentisierung

erfordert, dass beide Parteien den geheimen Authentisierungsschlüssel zuverlässig schützen. Als Nebeneffekt des Integritätsschutzes kann mit oben skizzierten Verfahren gleichzeitig vom Empfänger der Nachricht nachgeprüft werden, dass die als unmanipuliert verifizierte Nachricht nur vom tatsächlich bekannten Sender verschickt werden konnte. Dieser Schluss lässt sich ziehen, da nur dieser Sender die notwendigen Schlüssel zur Verschlüsselung bzw. Ermittlung der Kontrollinformationen besitzt.

III. Authentizitätsnachweise

Bei der Authentisierung von Benutzern gegenüber Kommunikationspartnern/IT-Systemen bzw. Clients gegenüber Servern sollen

  • illegitime Zugriffe erkannt und abgewehrt werden,
  • legitime Zugriffe erlaubt werden und
  • sensible Daten auch bei Übertragungen über Netze geschützt bleiben.

Dazu sind Verfahren erforderlich, die allen Beteiligten die Feststellung der Identität ihrer Kommunikationspartner unmissverständlich erlauben. Dies schließt einen Zeitaspekt ein: Alice will Bob in "real time" davon überzeugen, dass tatsächlich sie mit ihm kommuniziert. Die Haupttechniken für solche Authentisierungen sind kryptographische Challenge-Response-Protokolle.

Hierbei sendet Bob Daten an Alice und fordert sie auf (Challenge), ihm den Besitz eines Geheimnisses (also einer Schlüsselinformation) nachzuweisen, und Alice demonstriert ihm diesen Besitz ohne das Geheimnis selbst preiszugeben, indem sie eine vom Geheimnis und seiner Challenge abhängige Antwort sendet (Response). Bob wiederum überprüft anhand der Antwort, dass zur Berechnung der Antwort wirklich das korrekte Geheimnis verwendet wurde.

Für eine "starke" Authentisierung dürfen sich die Challenges nicht wiederholen. Bei Challenge-Response-Verfahren können sowohl symmetrische als auch asymmetrische Techniken verwendet werden.

Beispiel: Alice und Bob verständigen sich vorab auf ein symmetrisches Verschlüsselungsverfahren und einen gemeinsamen kryptographischen Schlüssel. Zur Authentisierung sendet Bob eine Zufallszahl als Challenge an Alice. Alice wiederum verschlüsselt diese Zufallszahl mit dem gemeinsamen geheimen Schlüssel und sendet das Ergebnis zurück an Bob. Im nächsten Schritt entschlüsselt Bob die Nachricht und vergleicht, ob das Ergebnis seine anfangs gewählte Zufallszahl ist. Bei Gleichheit ist es tatsächlich Alice, da nur sie den geheimen Schlüssel kennt.

IV. Digitale Signatur

Das kryptographische Konstrukt einer digitalen Signatur dient dem Ziel, für digitale Dateien und Nachrichten ein Pendant zur handschriftlichen Unterschrift einsetzen zu können. Dazu werden einige der schon erläuterten kryptographischen Verfahren wie Hashfunktionen und asymmetrische Verfahren zusammengeführt. Die wesentliche Voraussetzung für digitale Signaturen ist, dass jeder Teilnehmer ein nur ihm bekanntes Geheimnis besitzt, mit dem er zu beliebigen Dateien eine digitale Signatur bilden kann. Anhand von öffentlichen Informationen muss es dann möglich sein, diese digitale Signatur zu überprüfen.

In diesem Sinne ist eine digitale Signatur ein spezieller Integritätsschutz mit zusätzlichen Besonderheiten. Eine digitale Signatur ist eine Kontrollinformation, die an eine Nachricht oder Datei angehängt wird, mit der folgende Eigenschaften verbunden sind:

  • Anhand einer digitalen Signatur kann eindeutig festgestellt werden, wer diese erzeugt hat, und
  • es ist authentisch überprüfbar, ob die Datei, an die die digitale Signatur angehängt wurde, identisch ist mit der Datei, die tatsächlich signiert wurde.

Kann also anhand der öffentlich zugänglichen Informationen die digitale Signatur verifiziert werden, so ist einerseits die Integrität der signierten Datei gegeben und andererseits die Nichtabstreitbarkeit, da nur die Person, der die digitale Signatur eindeutig zugeordnet werden kann, diese Signatur anhand ihrer geheimen Informationen gebildet haben kann. Zu beachten ist, dass unterschiedliche Dateien auch unterschiedliche digitale Signaturen zur Folge haben und das geringste Änderungen an den Dateien zu nicht verifizierbaren Signaturen führen.

Beispiel: Ein weit verbreitetes Verfahren für digitale Signaturen ist die umgekehrte Anwendung des RSA-Verfahrens. Dabei besitzt jeder Teilnehmer einen nur ihm bekannten geheimen Signierschlüssel. Öffentlich zugänglich sind Verifizierschlüssel-Zertifikate, in denen der passende öffentliche Schlüssel und die Angaben zum Besitzer des passenden geheimen Signierschlüssels unfälschbar miteinander verknüpft sind. Diese Zertifikate werden von vertrauenswürdigen Stellen herausgegeben, die zuvor die Personalien der Teilnehmer geprüft haben.

Um für eine beliebige Datei eine digitale Signatur zu berechnen und zu prüfen, wird nun wie folgt vorgegangen:

  1. Schritt: Alice berechnet den Hashwert der ausgewählten Datei.
  2. Schritt: Alice verschlüsselt diesen Hashwert mit dem nur ihr bekannten geheimen Signierschlüssel. Das Ergebnis ist die digitale Signatur von Alice zu dieser Datei.
  3. Schritt: Alice überträgt die digitale Signatur gemeinsam mit dem Verifizierschlüssel-Zertifikat und der Datei an Bob.
  4. Schritt: Bob verifiziert das Zertifikat (z. B. mit dem öffentlichen Schlüssel einer Zertifizierungsstelle).
  5. Schritt: Bob berechnet den Hashwert der erhaltenen Datei.
  6. Schritt: Anhand des im Verifizierschlüssel-Zertifikat enthaltenen öffentlichen Verifizierschlüssels entschlüsselt Bob die digitale Signatur.
  7. Schritt: Bob vergleicht den in Schritt 4 berechneten Hashwert und die entschlüsselte Signatur. Sind sie identisch, so ist die digitale Signatur verifiziert. Besteht keine Gleichheit, kann Bob keine weiteren Schlüsse ziehen.
  8. Schritt: Nach der Verifikation der digitalen Signatur kann Bob als Ergebnisse festhalten:
    • Falls sichergestellt ist, dass tatsächlich nur Alice den geheimen Schlüssel besitzt, kann Bob sicher sein, dass die digitale Signatur von Alice, die im Verifizierschlüssel-Zertifikat aufgeführt ist, erzeugt wurde.
    • Die erhaltene Datei ist identisch mit der Datei, für die Alice die digitale Signatur berechnet hat.

Betont sei, dass digitale Signaturen ausschließlich die Ziele Integrität und Nichtabstreitbarkeit sicherstellen, jedoch in keiner Weise die Vertraulichkeit. Eine digital signierte Nachricht wird im Klartext übertragen, ist sie vertraulich, muss sie zusätzlich verschlüsselt werden.

Enthält eine digital signierte Datei eine Willenserklärung des Signierers, kann dann anhand der Signatur diese Willenserklärung unabstreitbar dem Signierer, ggf. auch vor Gericht, zugerechnet werden.

Die verwendeten Verifizierschlüssel-Zertifikate wiederum sind selbst von der vertrauenswürdigen Stelle digital signierte Dateien, die analog überprüft werden können und die Auskunft geben über den Verifizierschlüssel und die Person, die den dazu passenden geheimen Signierschlüssel besitzt.

Man beachte die Unterschiede zwischen MACs und digitalen Signaturen:

  • Die digitale Signatur kann durch jeden, der das Verifizierschlüssel-Zertifikat besitzt, verifiziert werden, MACs dagegen nur durch die Parteien, die den geheimen Authentisierungsschlüssel kennen.
  • Alices digitale Signatur einer Nachricht kann nur von Alice erstellt werden, der MAC-Wert einer Nachricht dagegen von beiden Parteien, Alice und Bob (und allen anderen, die den geheimen Authentisierungsschlüssel kennen). Es ist deshalb unmöglich, MACs für den Zweck der Verbindlichkeit einzusetzen.

Mit Artikel 3 des Informations- und Kommunikationsdienste-Gesetzes (Bundesgesetzblatt 1879, Teil 1, 1997) ist für die Bundesrepublik Deutschland ein Gesetz zur digitalen Signatur in Kraft getreten. Dieses regelt, welche Sicherheitsanforderungen die technischen Komponenten, die für digitale Signaturen eingesetzt werden, erfüllen müssen und welche Aufgaben Zertifizierungsstellen, die Verifizierschlüssel-Zertifikate ausstellen, haben. Darüber hinaus wird geregelt, wie die erforderliche Sicherheit der Komponenten und Zertifizierungsstellen geprüft wird. Im Ergebnis wird digitalen Signaturen nach dem Signaturgesetz auch vor Gericht eine hohe Sicherheit zugebilligt.

Schlüsselmanagement

Bei jedem Einsatz von Verschlüsselung entsteht die Aufgabe, die Schlüssel angemessen zu verwalten. Es stellt sich die Frage, wie man

  • Erzeugung/Initialisierung,
  • Vereinbarung/Etablierung,
  • Verteilung/Transport,
  • Wechsel/Update,
  • Speicherung,
  • Beglaubigung/Zertifizierung,
  • Rückruf,
  • Wiedergewinnung im Fall von Vernichtung/Verlust,
  • Vernichtung/Löschen,
  • Archivierung und
  • Escrow (treuhänderische Hinterlegung)

während des gesamten Lebenszyklus der Schlüssel durchführt. Das Schlüsselmanagement kann und wird sich gewöhnlich auch kryptographischer Techniken bedienen. Es muss für die Gesamtheit der Kryptomodule eines kryptographisch basierten Sicherungssystems durchgeführt werden. Geheime Schlüssel müssen vor unbefugter Aufdeckung, Modifizierung und Ersetzung geschützt werden. Öffentliche Schlüssel müssen vor unbefugter Modifizierung und Ersetzung geschützt werden. Angemessenes Schlüsselmanagement ist die Voraussetzung dafür, dass Information durch kryptographische Methoden überhaupt geschützt werden kann. Schlüsselmanagement benötigt eigens dieser Aufgabe gewidmete Ressourcen!

Zertifizierungsstellen

Trust Center bzw. Zertifizierungsstellen werden immer dann benötigt, wenn man für eine nicht mehr überschaubare Anzahl von Teilnehmern asymmetrische Kryptoverfahren für die digitale Signatur oder für Verschlüsselung einsetzen will. Solche Verfahren benötigen bei der Signaturbildung bzw. der Verschlüsselung einen anderen Schlüssel als bei der Signaturprüfung bzw. der Entschlüsselung. Dazu wird benutzerbezogen ein Schlüsselpaar korrespondierender Schlüssel erzeugt. Ein Schlüssel, der so genannte öffentliche Schlüssel, wird öffentlich bekanntgegeben. Der andere Schlüssel, der so genannte private Schlüssel, ist absolut geheim zu halten. Mit dem privaten Schlüssel - und nur mit diesem - kann eine digitale Signatur erzeugt bzw. ein Text entschlüsselt und mit dem zugehörigen öffentlichen Schlüssel - und nur mit diesem - verifiziert bzw. verschlüsselt werden. Will man nun die Echtheit der öffentlichen Schlüssel und die sichere Zuordnung der Schlüssel zu Personen sicherstellen, bedarf es der bereits erwähnten Trust Center / Zertifizierungsstellen, die die Zuordnung einer Person zu einem öffentlichen Schlüssel durch ein Zertifikat bestätigen.

Innerhalb solcher Zertifizierungsstellen werden typischerweise folgende Aufgaben wahrgenommen:

  • Schlüsselgenerierung: Es sind für die Zertifizierungsstelle und ggf. für Teilnehmer Schlüsselpaare zu generieren.
  • Schlüsselzertifizierung: Die Teilnehmerdaten, der korrespondierende öffentliche Schlüssel und weitere Daten werden zu einem Zertifikat zusammengefasst und von der Zertifizierungsstelle digital signiert.
  • Personalisierung: Das Zertifikat und ggf. öffentlicher und privater Schlüssel werden auf eine Signaturkomponente (i. a. eine Chipkarte) übertragen.
  • Identifizierung und Registrierung: Die Teilnehmer werden gegen Vorlage eines Ausweispapieres identifiziert und registriert.
  • Verzeichnisdienst: Zertifikate werden in einem öffentlichen Verzeichnis abrufbar gehalten. Darüber hinaus muss der Verzeichnisdienst Auskunft darüber geben, ob ein Zertifikat gesperrt ist oder nicht.
  • Zeitstempeldienst: Für bestimmte Daten kann es notwendig sein, diese mit einem vertrauenswürdigen Zeitpunkt zu verknüpfen. Dazu wird der Zeitpunkt an die Daten angehängt und das Ergebnis vom Zeitstempeldienst digital signiert.

Trust Center können außerdem zusätzlich Schlüsselaufbewahrung als Dienstleistung anbieten, wenn die kryptographischen Schlüssel für Verschlüsselung eingesetzt werden sollen. Um bei Schlüsselverlust noch auf die verschlüsselten Daten zugreifen zu können, kann dann der Schlüsselbesitzer (und nur dieser) eine Schlüsseldublette erhalten, die im Trust Center geschützt aufbewahrt wird.

Schlüsselverteilungszentralen

Die Sicherheit symmetrischer Verschlüsselungsverfahren hängt davon ab, ob der gemeinsam benutzte geheime Schlüssel nur den zum Zugriff auf die geschützten Informationen berechtigten Benutzern bekannt ist. Im Falle des Schutzes gespeicherter Daten, auf die nur deren Eigentümer Zugriff haben soll, ist dies relativ einfach zu gewährleisten, da dieser Eigentümer lediglich den Schlüssel so schützen muss, dass Unbefugte nicht darauf zugreifen können.

Anders sieht es jedoch aus, wenn Nachrichten, die von einem Sender über ein unsicheres Übertragungsmedium an einen Empfänger zu übermitteln sind, mit einem symmetrischen Verschlüsselungsverfahren geschützt werden sollen. In diesem Fall muss der geheime Schlüssel sowohl beim Sender als auch beim Empfänger vorliegen, d. h. es muss eine Möglichkeit geschützten Informationsaustauschs zwischen den beiden Partnern verfügbar sein. In der Praxis wird dies oft durch die verschlüsselte Verteilung von Kommunikationsschlüsseln durch so genannte Schlüsselverteilungszentralen (Key Distribution Centers, KDCs) realisiert, wobei ganze Hierarchien voneinander sicherheitstechnisch abhängiger Schlüssel aufgebaut werden. Die hier zum Einsatz kommenden Verfahren sind teilweise sehr komplex und hängen hinsichtlich ihrer Sicherheit von einer Vielzahl von Komponenten ab, insbesondere von der physischen, organisatorischen, personellen und technischen Sicherheit der KDCs und der zur Kommunikation mit den KDCs vereinbarten Schlüssel.

Eine Kompromittierung eines geheimen Schlüssels, d. h. sein Bekanntwerden gegenüber einem unberechtigten Dritten, führt zum Verlust der Vertraulichkeit aller Daten, deren Verschlüsselung mit diesem Schlüssel erfolgte bzw. davon abhängt. Dies ist insbesondere dann kritisch, wenn einer der zentralen Schlüssel einer Schlüsselverteilungshierarchie kompromittiert wurde.

Einsatz kryptographischer Verfahren

Bei sachgemäßem Einsatz sind kryptographische Verfahren hervorragend geeignet, folgende Bedrohungen abzuwehren:

  • Kenntnisnahme von Informationen durch Unbefugte,
  • bewusste Manipulation von Daten durch Unbefugte und
  • Manipulationen an der Urheberschaft von Informationen.

Der alleinige Einsatz von Kryptographie reicht allerdings nicht aus, um alle Bedrohungen abzuwehren.

  • Der Einsatz kryptographischer Methoden trägt nichts dazu bei, um die Verfügbarkeit von Daten zu gewährleisten (bei unsachgemäßem Gebrauch von Verschlüsselung droht sogar Datenverlust!).
  • Kryptographische Methoden können gegen Denial-of-Service-Attacken (siehe auch G 5.28 Verhinderung von Diensten ) nichts ausrichten. Sie können aber zur frühzeitigen Erkennung solcher Attacken beitragen.
  • Sie helfen auch nicht gegen zufällige Verfälschungen von Informationen (etwa durch "Rauschen"). Sie können Verfälschungen aber nachträglich erkennbar machen.

Stand: 13. EL Stand 2013