Kryptografie

Aus Foxwiki

topic kurze Beschreibung

Beschreibung

Datei:Kryptografie (symmetrisches Kryptosystem) Schema.svg
Durch Kryptografie wird aus einem Klartext mithilfe eines Schlüssels ein Geheimtext erzeugt

Kryptografie (auch: Chiffrierung oder Kryptierung)[1] ist die von einem Schlüssel abhängige Umwandlung von „Klartext“ genannten Daten in einen „Geheimtext“ (auch „Chiffrat“ oder „Schlüsseltext“ genannt), so dass der Klartext aus dem Geheimtext nur unter Verwendung eines geheimen Schlüssels wiedergewonnen werden kann.

Kryptografie dient zur Geheimhaltung von Nachrichten, beispielsweise um Daten gegen unbefugten Zugriff abzusichern oder um Nachrichten vertraulich zu übermitteln.

Einleitung

  • Kryptografie ist eine elementare Technologie zum Aufbau sicherer Netzwerke
  • wesentliche Technologien werden kurz vorgestellt
  • Diffie Hellmann Schlüsselaustausch
  • Hash-Funktionen besprochen
  • Kryptografie ist ein Teilbereich der Kryptografie
  • die zusätzlich auch die Kryptoanalyse behandelt
  • Diese beiden Disziplinen der theoretischen Mathematik
  • versuchen die Vertraulichkeit eines Texts zu garantieren oder zu brechen

Grundlagen

Verschlüsseln

Durch Verschlüsseln wird ursprünglich der „offene Wortlaut“ eines Textes, genannt „Klartext“, in eine unverständliche Zeichenfolge umgewandelt, die als „Geheimtext“ bezeichnet wird.

  • Die Fachbegriffe Klartext und Geheimtext sind historisch gewachsen und heutzutage deutlich weiter zu interpretieren.
  • Außer Textnachrichten lassen sich auch alle anderen Arten von Information verschlüsseln, beispielsweise Sprachnachrichten, Bilder, Videos oder der Quellcode von Computerprogrammen.
  • Die kryptographischen Prinzipien bleiben dabei die gleichen.
Kryptographisches Codebuch aus dem amerikanischen Bürgerkrieg

Eine besondere und relativ einfache Art der Kryptografie ist die Codierung (auch: Kodierung).

  • Hierbei werden in der Regel nicht einzelne Klartextzeichen oder kurze Zeichenkombinationen verschlüsselt, sondern ganze Worte, Satzteile oder ganze Sätze.
  • Beispielsweise können wichtige Befehle wie „Angriff im Morgengrauen!“ oder „Rückzug von den Hügeln!“ bestimmten Codewörtern oder unverständlichen Zeichenkombinationen aus Buchstaben, Ziffern oder anderen Geheimzeichen zugeordnet werden.
  • Dies geschieht zumeist als tabellarische Liste, beispielsweise in Form von Codebüchern.
  • Zur Steigerung der kryptographischen Sicherheit von Codes werden die damit erhaltenen Geheimtexte oft einem zweiten Kryptografiesschritt unterworfen.
  • Dies wird als Überschlüsselung (auch: Überverschlüsselung) bezeichnet.
  • Außer geheimen Codes gibt es auch offene Codes, wie den Morsecode und ASCII, die nicht kryptographischen Zwecken dienen und keine Kryptografie darstellen.

Schlüssel

Der entscheidende Parameter bei der Kryptografie ist der „Schlüssel“.

  • Die gute Wahl eines Schlüssels und seine Geheimhaltung sind wichtige Voraussetzungen zur Wahrung des Geheimnisses.
  • Im Fall der Codierung stellt das Codebuch den Schlüssel dar.
  • Im Fall der meisten klassischen und auch einiger moderner Methoden zur Kryptografie ist es ein Passwort (auch: Kennwort, Schlüsselwort, Codewort oder Kodewort, Losung, Losungswort oder Parole von italienisch la parola „das Wort“; ).
  • Bei vielen modernen Verfahren, beispielsweise bei der E-Mail-Kryptografie, wird dem Benutzer inzwischen die Wahl eines Schlüssels abgenommen.
  • Dieser wird automatisch generiert, ohne dass der Nutzer es bemerkt.
  • Hierdurch wird auch der „menschliche Faktor“ eliminiert, nämlich die nicht selten zu sorglose Wahl eines unsicheren, weil zu kurzen und leicht zu erratenden, Passworts.

Entschlüsseln

Der zur Kryptografie umgekehrte Schritt ist die Entschlüsselung.

  • Dabei gewinnt der befugte Empfänger den Klartext aus dem Geheimtext zurück.
  • Zum Entschlüsseln wird ein geheimer Schlüssel benötigt.
  • Bei symmetrischen Kryptografiesverfahren ist dies der gleiche wie für das Verschlüsseln, bei asymmetrischen Verfahren hingegen nicht.
  • Geht der Schlüssel verloren, dann lässt sich der Geheimtext nicht mehr entschlüsseln.
  • Gerät der Schlüssel in fremde Hände, dann können auch Dritte den Geheimtext lesen, das Geheimnis ist also nicht länger gewahrt.
  • Ein zusammenfassender Begriff für Verschlüsseln und/oder Entschlüsseln ist das Schlüsseln.

Entziffern

Sprachlich zu trennen von der Entschlüsselung ist der Begriff der „Entzifferung“.

  • Als Entzifferung wird die Kunst bezeichnet, dem Geheimtext seine geheime Nachricht zu entringen, ohne im Besitz des Schlüssels zu sein.
  • Dies ist die Tätigkeit eines Kryptoanalytikers, häufig auch als „Codeknacker“ () bezeichnet.
  • Im Idealfall gelingt keine Entzifferung, weil das Kryptografiesverfahren ausreichend „stark“ ist.
  • Es wird dann als „unbrechbar“ oder zumindest als „kryptographisch stark“ bezeichnet.
  • Im Gegensatz zu einer „starken Kryptografie“ lässt sich eine „schwache Kryptografie“ ohne vorherige Kenntnis des Schlüssels mit vertretbarem Aufwand mithilfe kryptanalytischer Methoden brechen.
  • Durch Fortschritte in der Kryptologie kann sich eine vermeintlich starke Kryptografie im Laufe der Zeit als schwach erweisen.
  • So galt beispielsweise die „Vigenère-Kryptografie“ über Jahrhunderte hinweg als „Le Chiffre indéchiffrable“ („Die unentzifferbare Kryptografie“).
  • Inzwischen weiß man, dass sie das nicht ist.

Das Arbeitsgebiet, das sich mit der Entzifferung von Geheimtexten befasst, ist die Kryptanalyse (älterer Ausdruck: Kryptoanalyse).

  • Sie ist neben der Kryptographie das zweite Teilgebiet der Kryptologie.
  • Die Kryptanalyse dient nicht nur zur unbefugten Entzifferung von Geheimnachrichten, sondern sie befasst sich auch mit „(Un-)Brechbarkeit“ von Kryptografieen, also der Prüfung der Sicherheit von Kryptografiesverfahren gegen unbefugte Entzifferung.

Die meisten Kryptografiesverfahren sind nur pragmatisch sicher, was bedeutet, dass bei ihrer Kryptanalyse keine praktikable Möglichkeit zur Entzifferung gefunden wurde.

  • Dabei ist das Vertrauen in die Sicherheit umso mehr gerechtfertigt, je länger ein Verfahren bereits öffentlich bekannt ist und je verbreiteter es in der Anwendung ist, denn umso mehr kann man davon ausgehen, dass viele fähige Kryptologen es unabhängig voneinander untersucht haben und dass eine eventuell vorhandene Schwäche gefunden und veröffentlicht worden wäre (siehe auch Kerckhoffs’ Prinzip).

Es gibt Verfahren, deren Sicherheit unter Annahme der Gültigkeit bestimmter mathematischer Vermutungen beweisbar ist.

  • So kann zum Beispiel für das RSA-Kryptosystem gezeigt werden: Der private Schlüssel eines Benutzers kann aus dessen öffentlichem Schlüssel genau dann effizient berechnet werden, wenn man eine große Zahl (in der Größenordnung von einigen hundert Dezimalstellen) effizient in ihre Primfaktoren zerlegen kann.
  • Das einzige Kryptografiesverfahren, dessen Sicherheit wirklich bewiesen und nicht nur auf Vermutungen zurückgeführt wurde, ist das One-Time-Pad.

Beispiel

Caesar-Kryptografie mit Schlüssel „C“
Caesar-Kryptografie

Als Beispiel einer Kryptografie wird der unten in Kleinbuchstaben stehende Klartext mithilfe eines sehr alten und äußerst simplen Verfahrens, der Caesar-Kryptografie, in einen Geheimtext (hier wie in der Kryptografie üblich in Großbuchstaben) umgewandelt.

  • Als geheimer Schlüssel wird hier „C“ benutzt, also der dritte Buchstabe des lateinischen Alphabets.
  • Das bedeutet die Ersetzung jedes einzelnen Klartextbuchstabens durch den jeweiligen im Alphabet um drei Stellen verschobenen Buchstaben.
  • So wird aus einem „a“ des Klartextes der im Alphabet drei Stellen später stehende Buchstabe „D“ im Geheimtext, aus „b“ wird „E“ und so weiter.
  • Wenn man über das Ende des Alphabets hinauskommt, beginnt man wieder am Anfang; aus „z“ etwa wird somit „C“:
kommeumachtzehnuhrmitdenplaenenzurkapelle
NRPPHXPDFKWCHKQXKUPLWGHQSODHQHQCXUNDSHOOH
Der mit „NRPPH“ beginnende Geheimtext ist auf den ersten Blick unverständlich.
  • Das Verfahren eignet sich somit, um die im Klartext enthaltene Information vor Unbefugten zu verbergen.
  • Kennt ein möglicher Angreifer das zugrundeliegende Kryptografiesverfahren nicht, oder gelingt es ihm nicht, den benutzten Schlüssel zu finden, dann bleibt der Geheimtext für ihn ohne Sinn.
  • Natürlich ist die hier benutzte Methode, die schon die alten Römer kannten, sehr schwach.
  • Einem erfahrenen Codebrecher wird es nicht viel Mühe bereiten, den Geheimtext nach kurzer Zeit zu entziffern, auch ohne vorherige Kenntnis von Schlüssel oder Verfahren.

Im Laufe der Geschichte der Menschheit wurden daher immer stärkere Methoden zur Kryptografie entwickelt (siehe auch: Geschichte der Kryptographie).

Klassifizierung

Prinzipiell unterscheidet man unterschiedliche klassische und moderne symmetrische Kryptografiesverfahren und die erst seit wenigen Jahrzehnten bekannten asymmetrischen Kryptografiesverfahren.

  • Klassische Kryptografiesverfahren können nach dem verwendeten Alphabet klassifiziert werden.

Symmetrisch

Bei der symmetrischen Kryptografie dient der Schlüssel auch zur Entschlüsselung
Symmetrische Kryptografiesverfahren verwenden zur Ver- und Entschlüsselung den gleichen Schlüssel

Bei historischen Verfahren lassen sich zwei Kryptografiesklassen unterscheiden.

  • Bei der ersten werden, wie bei der im Beispiel benutzten Caesar-Kryptografie, die Buchstaben des Klartextes einzeln durch andere Buchstaben ersetzt.
  • Mit dem lateinischen Wort substituere (deutsch: „ersetzen“) werden sie als Substitutionsverfahren bezeichnet.
  • Im Gegensatz dazu bleibt bei der zweiten Kryptografiesklasse, genannt Transposition (von lateinisch: transponere; deutsch: „versetzen“), jeder Buchstabe wie er ist, aber nicht wo er ist.
  • Sein Platz im Text wird verändert, die einzelnen Buchstaben des Textes werden sozusagen durcheinandergewürfelt.
  • Eine besonders einfache Form einer Transpositions-Kryptografie ist die bei Kindern beliebte „Revertierung“ (von lateinisch: reverse; deutsch: „umkehren“) eines Textes.
  • So entsteht beispielsweise aus dem Klartext „GEHEIMNIS“ der Geheimtext „SINMIEHEG“.

Bei modernen symmetrischen Verfahren werden Stromverschlüsselung und auf einer Blockverschlüsselung basierende Verfahren unterschieden.

  • Bei der Stromverschlüsselung werden die Zeichen des Klartextes jeweils einzeln und nacheinander verschlüsselt.
  • Bei einer Blockverschlüsselung hingegen wird der Klartext vorab in Blöcke einer bestimmten Größe aufgeteilt.
  • Wie dann die Blöcke verschlüsselt werden, bestimmt der Betriebsmodus der Kryptografiesmethode.

Interessanterweise beruhen selbst moderne Blockchiffren, wie beispielsweise das über mehrere Jahrzehnte gegen Ende des 20. Jahrhunderts zum Standard erhobene Kryptografiesverfahren DES (Data Encryption Standard) auf den beiden klassischen Methoden Substitution und Transposition.

  • Sie verwenden diese beiden Grundprinzipien in Kombination und beziehen ihre Stärke ganz maßgeblich durch die mehrfache wiederholte Anwendung von solchen Kombinationen nicht selten in Dutzenden von „Runden“.
  • So wird, vergleichbar zum wiederholten Kneten von Teig, der Klartext immer stärker verschlüsselt.
  • Die Stärke der Kryptografie steigt zumeist mit der Anzahl der verwendeten Runden.

siehe Symmetrisches Kryptosystem

Asymmetrisch

Bei der asymmetrischen Kryptografie gibt es zwei unterschiedliche Schlüssel, den öffentlichen Schlüssel zur Kryptografie und den privaten Schlüssel zur Entschlüsselung

Über Jahrhunderte hinweg war man der Meinung, dass es keine Alternative zur symmetrischen Kryptografie und dem damit verknüpften Schlüsselverteilungsproblem gäbe.

  • Erst vor wenigen Jahrzehnten wurde die asymmetrische Kryptografie (Public-key cryptography) erfunden.
  • Kennzeichen der asymmetrischen Kryptografie ist, dass zur Kryptografie ein völlig anderer Schlüssel als zur Entschlüsselung benutzt wird.
  • Man unterscheidet hier zwischen dem „öffentlichen Schlüssel“, der zum Verschlüsseln benutzt wird, und dem „privaten Schlüssel“ zum Entschlüsseln des Geheimtextes.
  • Der private Schlüssel wird niemals weitergegeben oder gar veröffentlicht, der öffentliche Schlüssel hingegen wird dem Kommunikationspartner übergeben oder veröffentlicht.
  • Er kann dann von jedermann benutzt werden, um Nachrichten zu verschlüsseln.
  • Um diese jedoch entschlüsseln zu können, benötigt man den dazu passenden privaten Schlüssel.
  • Nur damit kann die verschlüsselte Nachricht wieder entschlüsselt werden.
  • Das heißt, noch nicht einmal der Verschlüssler selbst ist in der Lage, seine eigene Nachricht, die er mit dem öffentlichen Schlüssel der anderen Person verschlüsselt hat, wieder zu entschlüsseln.

Das Verfahren kann übrigens auch „umgekehrt“ verwendet werden, indem eine Person ihren privaten Schlüssel nutzt, um damit eine Information zu verschlüsseln.

  • Nun ist jedermann, der Zugriff auf den öffentlichen Schlüssel hat, in der Lage, damit die Nachricht zu entschlüsseln.
  • Hier geht es meist nicht um die Geheimhaltung einer Nachricht, sondern beispielsweise um die Authentifizierung einer Person beziehungsweise die digitale Signatur einer Nachricht.
  • Jedermann kann leicht überprüfen und erkennen, dass die verschlüsselte Information nur von dieser einen Person stammen kann, denn nur diese besitzt den nötigen privaten Schlüssel.
  • Zum Signieren allein genügt es, den Nachrichtentext unverschlüsselt als Klartext zu belassen, und beispielsweise nur eine Prüfsumme davon verschlüsselt anzuhängen.
  • Wenn der öffentliche Schlüssel des Autors beim Entschlüsseln eine korrekte Prüfsumme freilegt, ist sowohl der Autor als auch die Unverfälschtheit der Nachricht bestätigt.

Da asymmetrische Verfahren algorithmisch aufwändiger sind als symmetrische und daher in der Ausführung langsamer, werden in der Praxis zumeist Kombinationen aus beiden, sogenannte Hybrid-Verfahren genutzt.

  • Dabei wird beispielsweise zuerst ein zufällig generierter individueller Sitzungsschlüssel mithilfe eines asymmetrischen Verfahrens ausgetauscht, und dieser anschließend gemeinsam als Schlüssel für ein symmetrisches Kryptografiesverfahren benutzt, wodurch die eigentlich zu kommunizierende Information verschlüsselt wird.

Asymmetrisches Kryptosystem

Kryptografie:Glossar

Anwendungen

Nachrichtenübertragung

Eine verschlüsselte Nachricht (z. B. eine E-Mail oder eine Webseite) muss in der Regel über mehrere Stationen übertragen werden.

  • Heute handelt es sich dabei meist um einzelne Computersysteme, das heißt, die verschlüsselte Nachricht wird über ein Rechnernetzwerk übertragen.
  • Man unterscheidet dabei zwei grundlegend unterschiedliche Übertragungsweisen.
  • Bei der Leitungsverschlüsselung wird die Nachricht nur jeweils für den Nachbarrechner verschlüsselt.
  • Dieser entschlüsselt die Nachricht, verschlüsselt sie wiederum (mit einem möglicherweise anderen Verfahren) und schickt sie an seinen Nachbarn – und so weiter bis zum Zielrechner.
  • Der Vorteil dieses Verfahrens besteht darin, dass sich jeweils nur Nachbarrechner auf ein Kryptografiesverfahren und verwendete Schlüssel einigen müssen.
  • Darüber hinaus kann diese Übertragungsweise auf einer sehr niedrigen Protokollebene (etwa bereits in der Übertragungs-Hardware) angesiedelt werden.
  • Der Nachteil besteht darin, dass jeder einzelne Rechner auf dem Übertragungsweg vertrauenswürdig und sicher sein muss.
  • Bei der Ende-zu-Ende-Kryptografie hingegen wird die Nachricht vom Absender verschlüsselt und in dieser Form unverändert über mehrere Rechner hinweg zum Empfänger übertragen.
  • Hier hat keiner der übertragenden Rechner Einsicht in den Klartext der Nachricht.
  • Der Nachteil besteht allerdings darin, dass sich der Absender mit jedem möglichen Empfänger auf ein Kryptografiesverfahren und zugehörige(n) Schlüssel einigen muss.

Daten auf Datenträgern

Sensible Daten auf einem Datenträger lassen sich im Wesentlichen auf zwei Wegen vor unbefugtem Zugriff schützen
  • man verschlüsselt mit Hilfe von Kryptografiessoftware die gesamte Festplatte oder eine einzelne Partition (Full Disk Encryption, kurz FDE) oder auch nur einen Daten-Container in Form einer einzelnen Datei auf dem Datenträger
  • bei der hardwareseitigen Kryptografie (Hardware encryption) übernimmt ein Mikrochip auf dem USB-Laufwerk eine automatische und transparente Kryptografie.
  • Die Authentifizierung wird beispielsweise dadurch erreicht, dass das Gerät über eine physische Tastatur verfügt, über die vor der Verwendung ein PIN-Code einzugeben ist.

siehe Festplattenverschlüsselung

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

  1. Kryptografiesverfahren
  2. Kryptografie:Glossar

Links

Projekt-Homepage

Weblinks

  1. Wiktionary|Kryptografie
  2. Wikinews|Kategorie:Kryptografie|Kategorie: Kryptografie
  3. Eine Einführung in die Anwendung der Kryptografie
  4. Kryptografiesverfahren und ihre Anwendungen
  5. Simon Singh: The Code Book (1999) (englisch).
  6. Einführung in das Thema Kryptografie
  7. Kryptografie: Häufige Schwachstellen
  8. Christian Spannagel: Kryptografie. Vorlesungsreihe, 2012.

Einzelnachweise

  1. Bundeswehr-Drohne fliegt mit deutscher „Kryptierung“ auf heise online vom 6. Oktober 2016, abgerufen am 30. April 2019.
  2. Vorlage:Literatur

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5

TMP

TMP

Kryptografie

Griech. krypto (geheim), graph (Schrift)
  • Kryptografie behandelt die Kryptografie (encryption) einer Informationen vom Klartext (plain text) in eine nicht verständliche Darstellung (Verschlüsselter Text)
  • Kryptografie muss so erfolgen, dass befugte die Information bei einer Entschlüsselung wieder lesen können (decryption)
  • Kryptografie wir oft zur Authentifizierung eingesetzt
  • Dabei werden die verschlüsselten Texte mit gespeicherten Texten verglichen
  • Dabei wird verglichen ob sie gleich sind oder Abweichungen enthalten

Motivation

Verbergen von NachrichtenWarum? - NSA

National Security Agency (NSA)

  • Behörde in den USA seit 1952
  • Budget wird nicht veröffentlicht
  • Hat bekannterweise die stärksten Computer der Welt
  • Beschäftigt die besten Mathematiker der Welt

Verbergen von Nachrichten – Echelon

  • Gemeinsames Projekt von NSA
  • mit Kanada, Großbritannien, Australien, Neuseeland
  • Abhörstationen um Satelitenkommunikation abzufangen
  • Auch HF Radio, Mikrowellenkommunikation, Unterseekabel
  • Analyse der aufgefangenen Signale
  • NSA bestätigt oder leugnet Existenz nicht
  • Erfasst/Dekodiert gerüchteweise E-Mail, Internet-Download und Sprache (Telefon)
  • Funktioniert gerüchteweise wie Suchmaschine mit Schlüsselworten
  • NSA braucht keine Gerichtsbeschlüsse um ausländische Kommunikation abzuhören oder zu verwerten
  • Verdacht, dass Echelon benutzt wird um Unternehmensinformation auszuspionieren

Verbergen von Nachrichten - Echelon

Echelon

  • Systematische Beobachtung internationaler elektronischer Kommunikation
  • HF Radio
  • Mikrowellenkommunikation
  • Unterseekabel
  • Satellitenkommunikation
  • Analyse der aufgefangenen Signale
  • Dekodierung nach Typ (Sprache, e-mail, Fax, Telex, etc.)‏
  • Suche nach Schlüsselwörtern (Watch List)‏
  • Sprechererkennung (Spracherkennung technisch noch schwierig)‏
  • Verkehrsanalyse
  • Verwendungszwecke
  • Militärisch, Strafverfolgung, Wirtschaftsspionage

USS Halibut, 1971 und 1972

Kryptografie

Entwicklung

Geheime Kommunikation von Caesar bis 1950

Monoalphabetische Substitution Caesar-Chiffre

Skytale

Der Skytale verwendet einen Transpositions-Algorithmus

Atbash und Rot-13

Bei Atbash wird der erste Buchstabe durch den letzten ausgetauscht

Julius Cäsar verwendete das Verfahren Rot-13

Kryptografie mit der Vigenere Tabelle

Geheime Kommunikation von 1950 bis heute

Kryptografie

Grundlagen

Kryptografie - Terminologie

Teilbereiche der Kryptografie

Kryptografie

  • Durchführung und Studium Ver- und Entschlüsselung
  • Daten werden mathematisch so kodiert, dass nur ausgewählte Personen die Daten dekodieren können
  • Dazu werden lesbare Daten (Klartext) durch einen mathematischen Algorithmus mit einem geheimen Schlüssel kodiert (Chifertext)
  • Ziel ist eine möglichst sichere Kryptografie

Kryptoanalyse

  • Hier ist das Ziel eine Kryptografie zu brechen und so
  • Sicherheitslücken zu entdecken

Das Problem

Nur Bob soll die Nachricht von Alice empfangen können…

Die Lösung

Klassische Kryptografie

  • Der Klartext (K) wird mittels eines Schlüssels verschlüsselt.
  • Mit Hilfe des selben Schlüssels kann der Geheimtext (G) wieder entschlüsselt werden.

Kryptografie - Terminologie (II)

Axiome der Kryptoanalyse

  • Angreifen kennen jedes Deail des Kryptografies - Algorithmus
  • Angreifen ist in Besitz des Ver-/Entschlüsselungs - Equipments
  • Hardware Maschine oder Sotware-Implementierung
  • Angreifer hat Zugriff auf ausreichend plaintext / ciphertext - Paare
  • mit dem gleichen (unbekannten Schlüssel) erstellt
  • Starke Kryptografie (Strong cipher)
  • Der beste Angriff sollte eine brute force - Schlüsselsuche sein

Kerckhoffs’ Prinzip

Kerckhoffs’ Maxime

  • 1883 von Auguste Kerckhoffs formulierter Grundsatz der modernen Kryptografie
  • Sicherheit eines Kryptografiesverfahrens beruht auf der Geheimhaltung des Schlüssels
  • nicht auf der Geheimhaltung des Kryptografiesalgorithmus
  • Ein Chiffriersystem, das diesen Anforderungen entsprach, existierte damals nicht
  • „Security by Obscurity“
  • Sicherheit durch Geheimhaltung des (Kryptografies-)Algorithmus
  • möglicherweise zusätzlich zur Geheimhaltung des Schlüssels
  • Sechs Grundsätze
  • Das System muss im Wesentlichen (…) unentzifferbar sein
  • Das System darf keine Geheimhaltung erfordern (…)
  • Es muss leicht übermittelbar sein und man muss sich die Schlüssel ohne schriftliche Aufzeichnung merken können (...)
  • Das System sollte mit telegraphischer Kommunikation kompatibel sein
  • Das System muss transportabel sein und die Bedienung darf nicht mehr als eine Person erfordern
  • Das System muss einfach anwendbar sein (…)

Kerckhoffs’sche Prinzip in der moderne Kryptografie

Viele gute Gründe für das Kerckhoffs’sche Prinzip

  • Es ist schwieriger
  • einen Algorithmus geheim zu halten als einen Schlüssel
  • einen kompromittierten Algorithmus auszutauschen, als einen kompromittierten Schlüssel
  • Geheime Algorithmen
  • Einige „geheimen“ Kryptografiesverfahren haben sich als schwach und unzulänglich erwiesen
  • Bei „geheimen“ Kryptografiesverfahren muss mit Hintertüren gerechnet werden
  • können durch Reverse-Engineering aus Software- oder Hardware-Implementierungen rekonstruiert werden
  • Fehler in öffentlichen Algorithmen
  • können im Allgemeinen leichter entdeckt werden wenn sich möglichst viele Fachleute damit befassen

Konsequente Anwendung des Kerckhoffs’schen Prinzips

Viele Experten können sich eine Meinung bilden

  • Fülle von Expertenmeinungen
  • Verfahren kann gründlich auf potenzielle Schwächen und Sicherheitslücken untersucht werden
  • AES wurde in öffentlichem Ausschreibungsverfahren bestimmt
  • in dem viele Experten Vorschläge für einen neuen, möglichst sicheren Chiffrieralgorithmus einreichten und untersuchten
  • Schlechte Erfahrungen
  • Die Erfahrung in der Kryptografie zeigt, dass sich viele von ihren Entwicklern geheim gehaltene Verfahren nach oder mit ihrer Offenlegung als schwach erwiesen haben und gebrochen wurden.
  • Beispiele
  • sind die GSM-Algorithmen A5/1 und A5/2, kryptographische Algorithmen der Zutrittskontrollkarten Mifare Basic und Legic prime und das Kryptografiesverfahren Magenta.
  • Auf der anderen Seite ist ein geheimer kryptographischer Algorithmus nicht notwendigerweise unsicher, wie das Beispiel von RC4 zeigt.
  • Anwendung
  • Das Kerckhoffs’sche Prinzip findet bei den meisten heute verwendeten Kryptografiesalgorithmen wie DES, AES, RSA Anwendung.

Geheime Übermittlung

Voraussetzungen

  • Der Empfänger kennt den Schlüssel
  • aber sonst niemand
  • Ohne Kenntnis des Schlüssels
  • ist es unmöglich oder sehr schwierig den Klartext herauszufinden

Schwierigkeiten

  • Schlüssel muss vorher vereinbart werden
  • Schlüssel muss geheim bleiben „geheimer Kanal“
  • Das Kryptografiesverfahren muss sicher sein

Vorhängeschloss-Analogie

  • Der Klartext ist „eingeschlossen“, und nur Alice und Bob haben den richtigen Schlüssel für das Schloss.

Kryptographisches Grundprinzip

Umwandlung eines Klartextes

  • (p, plain text) in einem chiffrierten Text (c, ciphertext)
  • mit Hilfe einer reversiblen kryptographischen Funktion f:

symmetrische und asymmetrische Algorithmen

  • Kryptografie / Entschlüsselung
  • Schlüssel als zusätzliches Argument zu Funktion f

Verschlüsseln mit symmetrischen Verfahren

Kryptografie und Entschlüsselung mit selbem Schlüssel

  • z.B.: DES, IDEA
  • Effizient, aber Schlüsselaustauschproblem

Ver- und Entschlüsselung mit symmetrischer Kryptografie

Man-in-the-Middle

  • Der Man-in-the-Middle (Mellory)
  • schaltet sich zwischen eine Kommunikation
  • fängt die gesendeten Datenpakete ab
  • Diese kann er nun entschlüsseln, verändern, verschlüsseln und unbemerkt an den Empfänger weiterleiten
  • Alice und Bob glauben direkt miteinander zu kommunizieren
  • Dies ist jedoch nur möglich, wenn der Mellory die Möglichkeit hatte an der Verteilung der öffentlich Schlüssel einen Manipulation vorzunehmen
  • Wird der Schlüssel über ein zuverlässiges Medium übertragen
  • ist der Diffie-Hellman-Algorythmus gegen solche Angriffe geschützt

Asymmetrischer Kryptografiepublic key-Kryptografie

Asymmetrischer Kryptografiepublic key-Kryptografie

Public Key Kryptografie

Ver- und Entschlüsselung mit verschiedenen Schlüsseln

  • “Vergleichbar mit einem Briefkasten - jeder kann etwas hinein werfen, aber nur einer kann es herausnehmen.”
  • Schlüssel-Paare: Öffentlicher und privater Schlüssel
  • z.B.: RSA, ElGamal, Elliptische Kurven (ECC)
  • Problem
  • Meist ineffizienter als symmetrische Verfahren
  • deshalb häufig nur zum Austausch symmetrischer Schlüssel und für Unterschriften
  • Der private Schlüssel darf aus dem öffentlichen nicht errechenbar sein
  • Einwegfunktion mit Falltür
  • Nur unter Kenntnis einer zusätzlichen Information effizient umkehrbar
  • z.B. x = loga y mod n (RSA-Verfahren) unter Kenntnis der Primfaktoren

Transposition vs. Substitution

Transposition

  • jeweils 2 aufeinander folgende Buchstaben vertauschen
  • wodurch sich neue Wörter ergeben
  • wir auch als Scambling (Verwürfelung) bezeichnet
  • Beispiel
  • Netz = Enzt
  • Einsatzgebiet
  • drahtlose Übertragungstechniken

Substitution

  • Bei der Substitution werden die Buchstaben des Klartextes im Geheimtext durch andere ersetzt
  • Dabei wird jeder Buchstabe durch den ersetzt, der im Alphabet 3 Stellen weiter hinten steht.
  • Cäsar-Addition
  • Beispiel
  • Netz = Qhzc

Symmetrische Substitution

Sender und Empfänger müssen den gleichen Schlüssel besitzen

  • um miteinander Kommunizieren zu können
  • Secret-Key-Verfahren
  • Eignet sich gut, um große Datenmengen zu verschlüsseln
  • Nachteil
  • Um die Nachricht verwerten zu können, muss der Schlüssel mit übertragen werden
  • was einen Schwachpunkt darstellt

Symmetrische Substitutionsverfahren

Klassifizierungen

  • Zeichenchiffren
  • Blockchiffren
  • Stromchiffren
  • Zeichenchiffrierung
  • Ermittelt jedes Zeichen des Geheimtextes aus dem entsprechenden Zeichen des Klartextes mit Hilfe des Schlüssels
  • Cäsar-Addition
  • Stromchiffrierung
  • Der Klartext wird Byte-weise über eine XOR-Operation verschlüsselt
  • Sie Erzeugt eine sich zyklisch verändernde Byte-Folge, die mit dem Klartext verknüpft wird
  • Blockchiffrierung
  • Klartext wird in Bitgruppen geteilt
  • über mehrstufige Verfahren mit dem Schlüssel über gleichbleibende Operationen in Geheimtext umgewandelt
  • DES

Asymmetrische Substitution

  • Es werden 2 komplementäre Schlüssel benötigt
  • 1 Key zum chiffrieren der Nachricht
  • 2 Key zum dechiffrieren der Nachricht
  • Einer der Schlüssel kann gefahrlos öffentlich bekannt gegeben werden (Public-Key)
  • Wird mit einem Schlüssel chiffriert
  • kann nur mit dem anderen Schlüssel dechiffriert werden

Vorteile von Public-Key-Verfahren

  • Jeder Kommunikationspartner benötigt einen Schlüssel
  • seinen Private Key
  • Der zweite Schlüssel wird veröffentlicht
  • Nachteil
  • Hohe Komplexität der durchzuführenden Operationen
  • Die Multiplikation 2 Zahlen stellt eine einfache Operation dar
  • während der umgekehrte Vorgang, also die Faktorzerlegung eines Produkts, einen enormen Rechenaufwand bedeuten kann

Absicherung der asymmetrischen Substitution

  • Schwäche
  • keine eindeutige Zuordnung des öffentlichen Schlüssels zu seinem Besitzer
  • Ein „Man-in-the-Middle“ könnte sich dazwischen schalten und die Nachrichten unbemerkt entschlüsseln
  • Informationen des öffentlichen Schlüssels und seines Besitzers sollten aus vertrauenswürdiger Quelle stammen
  • Möglichkeiten im Rahmen der Public Key Infrastructure (PKI)
  • Schlüssel kann über ein sicher betrachtetes Medium übertragen werden
  • Beispiel
  • Persönliche Übergabe, Telefon, Brief, Fax
  • Identität des Schlüsselinhabers Zertifizieren lassen

Trust Center

Certification Authority [CA]

  • Zertifizierungsinstanz (Trust Center)
  • Zur Überprüfung der Schlüsselinhaber
  • Sender und Empfänger verwalten Listen von Zertifizierungsinstanzen
  • Überprüfung Zusammenhang öffentlicher Schlüssel und deren Absender
  • Zertifikat nach ITU-Standard X.509
  • ALTERNATIVE
  • Authentizität eines öffentlichen Schlüssels durch einen bekannten Kommunikationspartner bestätigen lassen
  • „Web of True“ von PGP

Kryptografie

Message Authentication Code

Einweg-Hash-Funktion

Message Authentication Code (MAC)

  • Dienen bei Datenbank-Anwendungen der einfachen Indizierung von Informationen.
  • Dabei werden beispielsweise Kundendaten durch Bildung einer Quersumme zu einem Wert zusammengefasst, denn man Hash-Wert nennt
  • Ebenfalls einsetzbar als Authentifizierung und Signatur
  • Es darf nicht möglich sein
  • die original Information zu rekonstruieren
  • durch eine ähnliche Information den selbern Hash-Wert zu bekommen
  • Es werden keine Schlüssel benutzt, da sie für jeden berechenbar sein sollen

Hash-Funktion

Message Authentication Code (MAC)

  • Ableitung von „to hash up“
  • zerhacken, zerkleinern, durcheinander bringen
  • generiert aus einer beliebig langen Zeichenkette eine zweite Zeichenfolge fixer länge.
  • Anforderungen
  • muss eindeutig sein
  • muss einfach zu brechnen sein
  • inverse Funktion muss schwierig zu berechne sein
  • muss kollisionsresistent sein
  • Hashes lassen sich nicht zur Kryptografie einsetzen
  • sie sind nicht reversibel

Hash-Algorithmus

  • Prüfsumme
  • Über einen Hash-Algorithmus lässt sich aus einem beliebig langen Datensatz eine Prüfsumme fester Länge berechnen
  • Kollisionsfreiheit
  • Dieser Hashwert soll möglichst einmalig sein
  • Damit ist sichergestellt, dass der Datensatz nicht so manipuliert werden kann, dass der Hashwert trotzdem noch derselbe ist
  • SHA-1 und MD5
  • Üblicherweise kommen SHA-1 (Secure Hash Algorithm) mit 160 Bit
  • MD5 (Message Digest Algorithm) mit 128 Bit zum Einsatz
  • ESP mit 96 Bit
  • Bei ESP wird der Hashwert von 128, respektive 160 Bit auf 96 Bit abgeschnitten
  • (Keyed-)Hash Message Authentication Codes
  • Zur Authentisierung von Daten
  • HMAC ist eine Sonderform des MAC, bei der zusammen mit einem geheimen Schlüssel ein Hash-Wert etwa über Datenpaket gebildet wird
  • Bei VPNs benutzt man in der Regel HMAC-MD5 oder HMAC-SHA-1

MD-5

Am weitesten verbreitete Message-Digest-Funktion

  • Mit MD-2 und MD-4 einer der Hash-Funktionen, die stetig verbessert werden
  • Nachrichten werden in 512 Bit Blöcken verarbeitet
  • indem es 16 x 32 Bit Blöcke zusammenfasst
  • Auch als MAC erhält man einen 128 Bit langen Block aus 32 Bit Blöcken
  • Die Verarbeitung findet in mehreren Stufen statt
  • Dabei dienen ein 512 langer Block und das MAC der vorangegangenen Stufe als Eingangsfolge

SHA-1

Schwäche von MD-5

  • relativ schnelle Kollisionen der Hash-Werte
  • SHA-1 generiert aus einer maximal 2^64 Bit langen Eingangsfolge eine 160 Bit lange Zeichenfolge
  • Dabei arbeite es mit 512 bit Blöcken
  • Der Algorithmus verwendet 5 Stufen mit jeweils 80 Schritten
  • Ergebnisfolge ist wesentlich länger als bei MD-5
  • wodurch Kollisionen unwahrscheinlicher sind
  • Durchschnittliche Kollisionen:
  • MD-5=2^60
  • SHA-1=2^80

Digital Signature Algorythm (DSA)

  • Chiffriert einen, durch eine Hash-Funktion generierten, MAC mittels eines privaten Schlüssels
  • Vorgehen eines mit SHA-1 generierten MAC
  • Auswahl einer Primzahl p zwischen 512 und 1024 Bit
  • Berechnung des Primfaktors q der Zahl (p-1). q ist 160 Bit lang
  • Berechnung einer Zahl g
  • mit g = h^(p-1/q) mod p, wobei h < p und g > 1
  • Auswahl einer weiteren Zahl x
  • als Privater Schlüssel des Senders Alice (x < q)
  • Zahl y = g^x mod p wird nun als öffentlicher Schlüssel verwendet

Substitution vs. Signatur

  • Algorithmen asymetrischer Kryptografieen unterscheiden sich
  • ob eine Nachricht verschlüsselt oder signiet werden soll

Substitution vs. Signatur

Substitution

  • Absender verschlüsselt die Nachricht mit dem öffentlichen Schlüssel des Empfängers
  • so, dass er sie mit seinem privaten Schlüssel wieder im Klartext lesen kann

Signatur

  • Absender erzeugt mit seinem privatem Schlüssel eine Signatur
  • Empfänger kann durch Verwendung des öffentlichen Schlüssel des Absenders die Nachricht verifiziert

Kryptografie

Tunneling

Ende-zu-Ende vs. Abschnittsweise Sicherheit

Ende-zu-Ende

  • 2 Endgeräte handeln einen sicheren Kanal, bauen ihn auf und halten ihn aufrecht
  • Alternativ können nur kritische Übertragungen verschlüsselt werden
  • Beispiel
  • Kommunikation zwischen 2 Mailservern, wenn der Client eine Nachricht verschlüsselt überträgt

Vor- und Nachteile

  • Ende-zu-Ende hat eine Geringe Angriffsfläche
  • benötigt jedoch viel Rechenleistung und eine gute Konfiguration
  • Abschnittssicherheit hat eine größere Angriffsfläche
  • beschränkt jedoch hohe Sicherheitsanvorderungen auf die Gateways

Tunneling

Mehrfaches einpacken eines Pakets auf einer Trasportebene

  • Einsatzgebiet heute meist bei Abschnittsweise Sicherheit
  • IP/IP-Tunneling
  • Für Transport über klassische IP-basierte Netze kann man IPv6 über IPv4 tunneln

Tunneling

Layer-2-Tunneling

  • Pakete der OSI-Schicht 2
  • meist PPP-frames
  • werden in IP-Pakete verpackt
  • So tunnelt man alle „Nicht-IP-Protokolle“

Tunneling

Layer-3-Tunnelung

  • Die Pakete der Vermittlungsschicht werden in IP-Frames verpackt
  • Bekanntes Verfahren dieser Art ist IPsec

Kryptografie

Wie baut man eine sicheren Block Cipher?

Probleme bei der Entwicklung von Kryptografiesverfahren

Vertraulichkeit

  • Schutz der Daten vor unberechtigter Einsichtnahme

Authentisierung

  • Sicherstellung der Herkunft
  • Verbindlichkeit

Anonymität

  • Schutz vor Bekanntwerden des Absenders und Empfängers

Integrität

  • Unveränderlichkeit von Daten und Verlässlichkeit von Programmen

Wie baut man eine sicheren Block Cipher?

Mary Stuart 1516 - 1558Bekanntes Opfer der Kryptoanalye

Shannon‘s Principle of ConfusionSubstitution Cipher

Shannon‘s Principle of DiffusionTransposition Cipher

Kryptografie

Angriffe auf Kryptografieen

Entschlüsselung

  • Die Entschlüsselung ist die Umkehrung der Kryptografie (symmetrische Verfahren)
  • Das heisst beim Beispiel-Caesar-Verfahren jetzt um 3 Buchstaben zurückverschieben:
  • ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • xyzabcdefghijklmnopqrstuvw
  • So wird aus „KDOOR“ wieder ein „hallo“.

Moderne Verfahren

  • Das heute im kommerziellen Gebrauch am häufigsten eingesetzte Verfahren heisst DES
  • DES steht für „Data Encryption Standard“
  • Es funktioniert im Prinzip wie ein mehrfach hintereinander angewandtes Substitutionsverfahren

Angriffe auf Kryptografieen

Chifertext-Only Angriff

  • Versucht eine Kryptografie nur bei Kenntnis des chiffrierten Textes zu lösen
  • Gößte Herausforderung für jeden Kryptoanalytiker

Known-plaintext-Angriff

  • Der Angreifer besitzt neben dem Chiffretext auch den Klartext (oder einen Teil davon) und hat nun die Aufgabe den Schlüssel oder den Kryptografiesalgorithmus zu finden.

Chosen-Plaintext Attack

  • Auch Teile des Klartextes können wertvolle Hilfe leisten
  • Attacker can choose the plaintext that gets encrypted thereby potentially getting more information about the key

Adaptive Chosen-Plaintext Attack

  • Attacker can choose a series of plaintexts, basing choice on the result of previous encryption
  • differential cryptanalysis!

Brute Force Angriff

  • Nacheinander werden alle möglichen Schlüssel durchprobiert
  • Kann bei jeder Kryptografiesmethode eingesetzt werden
  • Der Angreifer muss jedoch erkennen, wann der richtige Schlüssel gefunden wurde, daher werden diese Angriffe oft als Known-plaintext-Angriff durchgeführt

Dechiffrierung verschlüsselter NachrichtenBrute Force Angriff

  • Die Brute-force Methode ist bei sehr großen Schlüsseln wirkungslos
  • Dann muss sich der Gegner auf die Analyse des Chiffrats verlassen
  • Dabei muss der Angreifer eine gewisse Vorstellung haben, um was für eine Art Ausgangstext es sich handelt
  • zum Beispiel eine .exe-Datei, Word-Datei oder einen Text mit deutschem Inhalt
  • Oder der Gegner spekuliert auf bestimmte Muster des Klartextes
  • Word-Dateien fangen zum Beispiel immer mit dem selben Muster an
  • Kryptoanalyse basiert auf der Ausnutzung
  • von Spuren der Struktur oder
  • des Musters des Klartextes
  • Diese bestehen auch nach Kryptografie und sind im Chiffretext zu erkennen

Exhaustive Testing

Monoalphabetischen Substitution (Cäsar)

  • jedem Buchstaben eines Alphabets mit 27 Buchstaben (26 + ein Satzzeichen) wird ein beliebig anderen zuordnet
  • 27 Möglichkeiten für den ersten Buchstaben
  • 26 Möglichkeiten für den zweiten Buchstaben
  • 25 Möglichkeiten für den dritten Buchstaben
  • etc.
  • Das enspricht 27 * 26 * .... * 2 * 1 = 27!
  • rund 1,09*10e28 Zuordnungsmöglichkeiten

Statische Analyse

  • Angreifer nutzen die Schwachstellen der Kryptverfahren
  • Dabei analysieren sie statisch den verschlüsselten Datenverkehr
  • Im Fall der monoalphabetischen bedeutet das
  • Die Häufigkeit der verschlüsselten Buchstaben bleibt gleich und kann durch einfache Häufigkeitsanalyse Rückschlüsse auf den Originaltext ziehen
  • Jedoch muss deren Sprache kennen bzw. erraten
  • Der Buchstabe „e“ tritt in der deutschen Sprache am häufigsten auf
  • Auch Buchstabenpaare (Biagramme) treten mit unterschiedlicher Häufigkeit auf
  • Durch diese Kenntnisse können monoalphabetische Codes schnell entschlüsselt werden

Known oder Chosen Plaintext

  • Teilweise vorhersehbar
  • Kryptografieen und Kryptografien zu knacken fällt einem Angreifer leichter, wenn er Teile des Klartextes bereits kennt.
  • Die Header-Daten von IP Paketen lassen sich unschwer erraten/ermitteln und ermöglichen so Know-Plaintext-Attacken
  • Diese Methode funktioniert auch bei Paketen, bei denen Teile der Informationen im Header vorhersagbar sind
  • Der Angreifer hat auch die Möglichkeit, eigenen Text zu verschlüsseln.
  • Ist dieser abhörbar, so können Rückschlüsse über den Verschlüssellungsalgorythmus gezogen werden

MustererkennungDie Methode des wahrscheinlichen Wortes

Bei der „Methode des wahrscheinlichen Wortes“ wählt man ein Wort aus, dass mit hoher Wahrscheinlichkeit im Klartext vorkommt, und sucht das Chiffrat ab, ob und wo das Muster dieses Wortes in ihm enthalten ist. Bsp.: „neun“ (Muster: ABCA)

Most Cryptoanalytic Attacks base on theRedundancy of Natural Language Texts

Angriffsarten

  • Angreifer hat mehrere Möglichkeiten
  • Informationen einer verschlüsselten Nachricht zu erhalten
  • die vom Sender A („Alice“) an Empfänger B („Bob“) geschickt wird
  • Am leichtesten können Nachrichten an
  • Hubs
  • Switches und
  • Router abgehört werden

Kryptografie

Kryptologische Verfahren

Der Schlüsselaustausch

  • Sicherheitsrelevant für alle bisher kennen gelernten Verfahren ist der Schlüsselaustausch
  • muss zuvor über einen geheimen Kanal stattfinden
  • Nicht immer hat man aber die Möglichkeit sich z. B. persönlich zu treffen
  • Public-Key
  • Es gibt jedoch ein Möglichkeiten, auch über einen unsicheren Kanal den Schlüsselaustausch durchzuführen
  • Diese Verfahren tragen den Namen „Public-Key“
  • Schlüsselaustausch ist ein Problem …
  • Verschiedene Schlüssel für verschiedene Kommunikationspartner notwendig
  • Diffie-Hellman Schlüsselaustausch-Verfahren
  • Basiert auf Schwierigkeit, den „diskreten Logarithmus“ zu berechnen
  • Gegeben sein ein Primzahl-Modulus p und eine Zahl x
  • 1) Alice wählt eine zufällige, geheime Zahl a und berechnet y1=x^a mod p
  • 2) Bob wählt eine zufällige, geheime Zahl b und berechnet y2=x^b mod p
  • Beide senden sich ihr y1 bzw. y2 zu
  • Alice berechnet s = y2^a = x^(ba) mod p
  • Bob berechnet s‘ = y1^b = x^(ab) mod p = s

Diffie-Hellman-Key-Exchange

  • Über das Diffie-Hellman-Key-Exchange-Verfahren (DH) lassen sich kryptographische Schlüssel sicher über unsichere Kanäle aushandeln
  • Es ist selbst kein Kryptografiesverfahren und tauscht auch keine Schlüssel im eigentlichen Sinne aus
  • Das von Martin Hellman und Whitfield Diffie entwickelte Verfahren beruht auf den Eigenschaften diskreter Logarithmen:
  • zwar ist es einfach, eine Zahl zu potenzieren
  • Es ist aber nur mit sehr großem Aufwand möglich, den diskreten Logarithmus einer Zahl zu berechnen
  • Bei der Aushandlung einigen sich die VPN-Peers auf eine Primzahl p und eine Primitivwurzel g mod p
  • Beide Faktoren dürfen unverschlüsselt übertragen werden
  • Anschließend erzeugt jede Seite eine geheime Zufallszahl a/b und berechnet daraus den Wert Za= ga mod p beziehungsweise Zb = gb mod p
  • Za und Zb werden an den Partner übertragen
  • Daraus kann nun jede Seite den gemeinsamen symmetrischen Schlüssel K berechnen:
  • Zba mod p = Zab mod p = K

Diffie-Hellman-Key-Exchange

  • Sind die eingesetzten Zahlen hinreichend groß, ist es für einen Angreifer so gut wie unmöglich, den Key zu knacken
  • Große Zahlen erfordern allerdings mehr Rechenaufwand
  • Die Größe der Zahlen bestimmt die gewählte DH-Gruppe
  • Die kleinste DH Gruppe 1 hat 768 Bit und die größte definierte Gruppe 18 besitzt 8192 Bit
  • Empfohlen wird derzeit der Gebrauch der Gruppe 5 mit 1536 Bit

Diffie-Hellman

  • Vereinbarung eines gemeinsamen symmetrischen Schlüssels über einen unsicheren Kanal.
  • Basiert auf 2 Schlüsseln
  • Alice und Bob sind einer große Primzahl p und ein ganzahliger Wert g (Generator) frei zugänglich
  • Alice generiert eine große Zufallszahl a, berechnet eine Zahl A = g^a mod p
  • Bob generiert ebenfalls eine große Zufallszahl b, berechnet eine Zahl B = g^b mod p
  • und sendet B an Alice
  • Alice berechnet eine Zahl K[1] = B^a mod p.
  • Bob berechnet eine Zahl K[2] = A^b mod p.
  • K[1] und K[2] sidn gleich.
  • Es gilt K = K[2] = K[2] = g^a*b mod p
  • K wird als geheimer symmetrischer Schlüssel verwendet

Symmetrische Kryptografiesverfahren

Einfachster Einsatz

  • basiert auf der logischen Exklusiv-Oder-Funktion
  • 2 XOR Verknüpfung eines A Zeichens mit einem B hat wieder das ursprüngliche Zeichen A zum Ergebnis
  • Es entspricht also der Inversen Verknüpfung:
  • (A+B)+B=A+(B+B)Assoziativgesetz=A+0Eigenschaft von XOR=AEigenschaft von XOR
  • Der Sender verschlüsselt ein Zeichen A mit einem Schlüssel B per XOR und versendet das Ergebnis
  • Der Empfänger verknüpft das Ergebnis erneut mit Schlüssel B und erhält dann wieder das Zeichen A

Symmetric Algorithms: Block Ciphers

Some Popular Block Ciphers

Symmetric Algorithms: Stream Ciphers

RC4

RC = Rivest Cipher

  • Stromverschlüsselungsverfahren
  • Basiert auf XOR-Verknüpfung
  • Sehr schnell und einfach
  • Eignet sich gut in Software
  • Der Algorythmus macht aus dem eingegebenen Schlüssel S einen langen, pseudo-zufälligen internen Schlüssel P
  • Dieser wird zur Chiffrierung des Klartextes verwendet
  • RC4 Speichert 258 verschiedene Zusatzinformationen
  • 256 sind Permutationen von 0-255 und somit gleich verteilt

DES

Familie der Blockchiffren

  • Teilt eine Nachricht in 64 Bit große Datenblöcke
  • 3 bearbeitungsschritte werden benötigt, um den Klartext wieder herzustellen.
  • Am weitesten verbreiteter Algorythmus, auch wenn nicht mehr ganz Zeitgemäß
  • Nachfolger: 3DES
  • Wird in Finanzdienstleistungen eingesetzt und führt die Kryptografie 3 mal hintereinander aus

Data Encryption Standard (DES)Sicherheit von DES

  • DES
  • erlaubt mit 56 Bit Schlüssellänge
  • 72 Billiarden mögliche Schlüssel
  • ist heute nicht mehr ausreichend
  • per Brute-Force-Methode in 5 Tagen (?) geknackt

Permutation

  • DES besteht aus 3 Bearbeitungsschritten
  • Initiale Permutation
  • Ver-/Entschlüsselung in mehreren Runden
  • finale Permutation
  • DES wurde in den 70er Jahren zur Implementation in Hardware entwickelt
  • durch die damals noch kleinen CPU Register
  • Finale Permutation = Inverse der initialen Permutation
  • Nach der Durchführung der initialen und finalen Permutation, steht ein Bit wieder an ursprünglicher Stelle

Kryptografie

  • DES basiert auf einer 64 Bit Kryptografie
  • wovon jedoch nur 56 Bit kryptographisch relevant sind
  • Jedes 8 Bit = Parity-Bit
  • DES erzeugt 16 verschiedene 48 Bit lange Schlüssel
  • Es werden aus 56 relevanten Bit mit einer Permutation 2 28 Bit Muster generiert (C[i-1] und D[i-1]).
  • Die Teilschlüssel werden nun um 1 oder 2 Bit nach links rotiert.
  • Die erzeugten Schlüssel C[i] und D[i] werden zu C[i-1] und D[i-1].
  • 2 24Bit Folgen aus C[i] und D[i] werden zum Schlüssel K[n]

Kryptografie

  • DES teilt den Klartext in 64 Bit Blöcke und
  • splittet sie nochmal in 2 32 Bit lange Bestandteile (L[n] und R[n]).
  • R[n] wird über eine Mangler-Funktion ,mittels tabellenbasierter Umrechnung auf Grundlage der Eingangsvariable R[n] und des Schlüssels K[n], vermischt.

Genügen 128 Bit?

  • IDEA
  • International Data Encryption Algorithm
  • arbeitet mit 128 Bit Schlüssellänge, sonst ähnlich wie der DES
  • 3.43669 * 1038
  • knacken benötigt etwa 1012 Jahre
  • Daher gilt der IDEA heute als sicher

Asymmetrische Kryptografieverfahren

Setzen auf 2 unterschiedliche Schlüssel

  • Privater Schlüssel (privat key) [Dechiffriert-Algorythmisch]
  • Öffentlicher Schlüssel (public key) [Chiffriert-Algorythmisch]
  • Es lässt sich nicht vom public key auf den private key schließen
  • Der public key kann von Dritten zur Kryptografie von Informationen genutzt werden
  • die der Besitzer des private keys nur entschlüsseln kann

Bekanntester Vertreter

  • RSA-Algorythmus
  • Die Multiplikation 2er Zahlen stellt eine einfache Operation dar
  • während der umgekehrt Vorgang eine enorme Rechenleistung bedeutet

RSA

Basiert auf folgenden 4 Schritten

  • Wähle 2 große Primzahlen p und q, die geheim bleiben
  • Berechne das Produkt n = p*q
  • Für öffentlichen Schlüssel wähle e < n
  • die teilerfremd zur Eulerschen Funktion E(n) = (p-1)*(q-1) ist
  • Für privaten Schlüssel bestimme eine Zahl
  • d = e^-1 mod E(n)
  • Dann gilt
  • e*d = 1 mod E(n)
  • [d,n] ist der private Schlüssel

RSA

Algorithmus bei der Kryptografie

  • Alice verschlüsselt
  • ihren Klartext m gemäß c = m^e mod n und
  • sendet ihn an Bob.
  • In diesem Fall ist [e,n] der öffentliche Schlüssel von Bob
  • Bob entschlüsselt
  • den Geheimtext c mit seinem privaten Schlüssel [d,n] gemäß m = c^d mod n
  • und erhält auf Grund des Zusammenhangs von d und e den Klartext m

RSA

  • Der Empfänger führt bei der Entschlüsselung die gleiche Operation wie der Sender bei der Kryptografie durch
  • Algorythmus zur Erzeugung und Überprüfung von Signaturen
  • Alice sendet eine signierte Nachricht, indem sie s = m^d mod n erzeugt und überträgt
  • [d,n] = Privater Schlüssen von Alice
  • Bob entschlüsselt die Signatur gemäß m = s^e mod n und erhält auf Grund des Zusammenhangs von d und e den Klartext m
  • [e,n] = öffentlicher Schlüssel von Alice

Advanced Encryption Standard

  • Nachfolgestandard für DES
  • 3DES mit 128 Bit gilt noch als sicher
  • wegen der Dreifachverschlüsselung deutlich langsamer als AES
  • AES unterstützt 128, 192 und 256 Bit lange Schlüssel
  • Beispiel Hamachi
  • AES mit 256 Bit Schlüssellänge
  • im Modus Cipher-Block-Chaining

Advanced Encryption Standard (AES)http://www.nist.gov/aes

  • DES is nearly 25 years old!
  • Triple DES with a 168 bit key is the current Federal Information Processing Standard FIPS 46-3 (renewed in October 1999).
  • Single DES with 56 bit key is permitted for legacy systems only.
  • Evaluation of an Advanced Encryption Standard
  • The National Institute of Standards and Technology (NIST,U.S. Department of Commerce) started a public contest in 1997.
  • 5 final candidate algorithms. Decision by NIST in Spring 2001
  • Requirements for AES
  • AES shall be publicly defined.
  • AES shall be a symmetric block cipher.
  • AES shall be implementable in both hardware and software.
  • AES shall be designed so that the key length may be increased as needed.
  • AES block size n = 128 bits, key size k = 128, 192, 256 bits

AES Round 2 Finalists

  • MARS(IBM)
  • Modified Feistel Network - 32 Rounds
  • Based on Mixed Structure DES
  • RC6 (RSA)
  • Feistel Network - 20 Rounds
  • Based on Modified RC5
  • Rijndal(Joan Daemen / Vincent Rijmen)
  • Modified Substitution Permutation Network - 10 Rounds
  • Based on Square
  • Serpent (Ross Anderson / Eli Biham / Lars Knudsen)
  • Substitution Permutation Network - 32 Rounds
  • Based on Bitlice Operations
  • Twofish(Bruce Schneier)
  • Feistel Network - 16 Rounds
  • Based on Modified Blowfish

Cipher Block Chaining (CBC)

  • Um eine Frquenzanalyse zu verhindern wird eine Verkettung von Datenblöcken durchgeführt
  • Dabei wird der zu verschlüsselnde Datenblock exklusiv mit dem letzten verschlüsselten Datenblock verknüpft
  • Gleiche Datenblöcke werden so unterschiedlich modifiziert und unterschiedlich verschlüsselt
  • Problem: Erste Datenblock
  • Erzeugung eines Initialisierungs-Vekros (IV)
  • Der IV wird zur Entschlüsselung benötigt
  • daher wird er dem Empfänger übermittelt
  • Vertraulichkeit ist nicht erforderlich
  • IPsec – Protokolle übertragen den IV in jedem Datenpaket

Advanced Encryption Standard

CBC-Mode Entstehung von Mustern

  • Rückschlüsse auf den Klartext
  • Anders als der ECB-Mode (Electronic Code Book) verhindert der CBC-Mode (Cipher Block Chaining) bei Kryptografiesalgorithmen die Entstehung von Mustern im Chiffrat,
  • Dazu lässt CBC das Ergebnis der vorherigen Blockoperation in die aktuelle einfließen (Chaining)
  • Sowohl ECB als auch CBC sind für so genannte Bit-Flipping-Attacken anfällig
  • Angreifer versucht im Chiffrat einzelne Bit manipulieren
  • ohne Kenntnis des Schlüssels
  • ohne später beim Entschlüsseln durch den Empfänger einen Fehler zu provozieren
  • auch für verschlüsselte Pakete die Integrität gesichert werden, etwa mit HMAC
  • Da sich so der Inhalt manipulieren lässt
  • In CBC werden jeweils Blöcke von jeweils 16 Datenbytes verschlüsselt
  • Das CBC-Verfahren initialisiert mit einem zufällig gewählten 128 Bit langen Initialisierungsvektor
  • wird bei ESP-Paket den chiffrierten Nutzdaten vorangestellt
  • Da Daten blockweise verschlüsselt werden
  • muss der letzte Datenblock mit Füll-Bytes zur vollen Blocklänge aufgefüllt
  • die Anzahl dieser Stopf-Bytes wird im Längen-Byte festgehalten

Vergleich: AES und 3DES

IDEA

Familie der Blockchiffrierung

  • jedoch wendet er 128 Bit Schlüssel auf 64 Bit Datenpakete des Klartextes an
  • Basiert auf einer Mischung 3 mathematischen Funktionen
  • die jeweils auf 16 Bit Blöcke des Testes angewendet werden.
  • Neben XOR kommt die Addition modulo 2^16 und die Multiplikation modulo 2^16+1 zum Einsatz
  • Alle 3 Operationen werden zu einem recht komplizierten Netzwerk verknüpft, das 8 Runden durchlaufen wird
  • Trotz komplizierter Verfahren, schneller und sicherer als DES

Hybride Kryptografiesverfahren

Vorteile aus asymmetrischen und symmetrischen Kryptografie

  • Hohe Effizienz
  • gesteigerte Sicherheit
  • Flexibilität
  • Austausch der erforderlichen Schlüssel
  • erfolgt über ein asymmetrisches Verfahren
  • Kryptografie größerer Datenmengen
  • kommen symetrische Algorythmen zum Einsatz

Vergleich Klassisch - Modern

Sowohl die klassischen Verfahren wie Vigenère als auch die modernen Verfahren wie IDEA…

  • …benötigen einen Schlüssel der beiden Parteien im Vornherein bekannt ist
  • …sind symmetrisch (Entschlüsselung ist Umkehrung der Kryptografie)
  • …sind in gewissen Masse anfällig auf Kryptoanalyse (z.B. Brute-Force)

Fazit

Die Geschichte der Kryptografie ist ein Wettbewerb

  • zwischen Kryptografiesspezialisten und Kryptoanalysten
  • Momentan liegen die Verschlüssler mit dem IDEA vorne
  • da dieses Verfahren nur mit Brute-Force geknackt werden kann
  • dies wegen der großen Schlüssellänge auch auf modernsten Computern noch zu lange dauert

Kryptografie

Geschwindigkeit

Geschwindigkeit

Geschwindigkeit

Geschwindigkeit

Geschwindigkeit

Public Key Infrastrukturen

nach X.509

Public Key Infrastrukturen nach X.509

  • Grundlagen für Public-Key-Verfahren
  • Digitale Signaturen und Zertifikate
  • Funktion und Aufgabe einer Infrastruktur für Public-Keys
  • Aufbau einer PKI
  • Ablauf der Zertifizierung
  • Anwendungen für Zertifikate

Grundlagen für Public-Key-VerfahrenMehr Sicherheit durch PKI…

Kryptografie nach Caesar…

privat… oder öffentlich?

Performante Sicherheit!

Schutz vor Veränderungen!

Wer ist Alice?

Zertifikate an der Kette!

Public Key Infrastruktur

Funktionen einer PKI

Bob vertraut Alice!

Kryptografie per Zertifikat

Aufbau einer PKICA Hierarchie

Struktur einer PKI

Integration in die Zertifizierungshierarchie

Bestandteil des Gesamtkonzepts für einheitliche Authentifizierung und Identity Management

3-stufige Hierarchie

Ebene 1 ohne Netzwerkanschluss, verschlüsselte Datenhaltung

Zugriff auf Ebene 1 CA nur über tresorgelagerten Datenträger, Ebene 2 über Token

Zugriff geregelt durch Policy, Rechner in Sicherheitsbereich

Ebene 2 für die Integration weiterer Institutionen

X.509v3 Zertifikate

  • Bindet Identität an öffentlichen Schlüssel
  • X.500 DN, DNS Name, Email-Adresse, URI, IP-Adresse
  • Gibt verwendete Signaturalgorithmen an
  • Zusatzfelder erlauben es weitere Information zu bestätigen
  • Z.B. Zugriffsrechte

Zertifikate in Web-Browsern

Organisation und Technik

Aufwand: Identifizierung!

Ablauf der Zertifizierung (bei GWDG-CA und Sub-CAs)

Benutzer stellt Zertifizierungsantrag (CSR: Certificate Signing Request) per Web (GWDG-CA) - erhält Bestätigungs-E-Mail

Benutzer druckt Formular mit digitalem Fingerabdruck (Fingerprint) aus, unterschreibt, persönliche Identifizierung

Operating oder GWDG-CA prüft Unterschrift, Lichtbild-Ausweis

Fingerprint des Formulars wird mit eingegangenem Antrag verglichen

Zertifizierungsantrag (Berechtigung?) und Schlüssel wird geprüft

Zertifikat wird ausgestellt (Benutzer erhält Verweis auf Zertifikat per E-Mail)

Ablauf der Zertifizierung (zukünftig zusätzlich)

Benutzer erhält PKCS12-File (privater Schlüssel und Zertifikat) auf Datenträger zum regulären Benutzeraccount (persönliche Identifizierung!)

Schlüsselpaar wird durch GWDG erzeugt, nach Aushändigung vernichtet

Smart Card / Token Integration bzw. Erzeugung am Benutzer-Terminal

Auslagerung und Verwaltung

Zertifizierungsstelle (Sub-CA) mit externer RA:

  • Registrierungsstelle (z.B. extern im Institut) prüft Identität
  • Signiert CSR mit RA-Schlüssel, sendet ihn zur CA
  • CA stellt Zertifikat aus

Veröffentlichung

  • Sofern Veröffentlichung nicht verweigert, Speicherung in Datenbank und LDAP-Verzeichnis (OpenLDAP, Active Directory)
  • Windows-CA automatische Veröffentlichung in Active Directory (GAL für Mail-Kryptografie), Verteilung der CA-Zertifikate über Active Directory
  • Web-Zugriff auf Zertifikat-Datenbank

Sperrung von Zertifikaten

  • Benutzer meldet CA oder RA den Schlüsselverlust o.ä.
  • CRR (Certificate Revocation Request) wird bearbeitet
  • Sperrliste veröffentlicht, bzw. OCSP Datenbank aktualisiert

Anwendungen für Zertifikate

Anwendungen

E-Mail (Signatur,KMail, Mail.app, Entourage, Mozilla, Netscape, mutt, Kryptografie) Outlook, pine, PC-Pine, Thunderbird, (ListProc) …

Authentifizierung ServerApache, IIS, Notes, LDAP, RADIUS, …

Authentifizierung Client 802.1X (EAP), Web, LDAP, IPsec, …

Verschl. u. Sig. DatenDateiverschlüsselung EFS, PDF-Dokumente, Word bzw. MS Office-Dokumente, …

Sub-CAOpenCA, openssl, Windows-CA

SCEPCisco im Test

Smart Card / Token

Verwendung in ApplikationFirefox, Mozilla, Netscape, Windows, openssl

LoginWindows (Aladdin, Microsoft), PAM / Linux

Betriebssysteme

Unix / Linuxopenssl, Firefox, Mozilla, KDE, GNOME

Mac OSXSchlüsselbund, Safari, Firefox, Camino

Windows „Windows“, Firefox, Mozilla, Netscape

Sicherheitstechnologie

  • Sicherheit in VPN
  • Sicherheit in Unternehmensdatennetzen
  • Sicherheitsverfahren in VPN
  • Sicherheit in der Netzwerkschicht mit IP-Security
  • Sicherheit auf der Transportschicht mit Transport Layer Security (TLS) und Secure Socket Layer (SSL)
  • Die Grundlagen der Kryptografie
  • Geschichtliches
  • Datenvertraulichkeit
  • Verschleierung und Kryptografie
  • Die Kunst der Kryptoanalyse
  • Einführung in die Kryprografie
  • Kryptografiesverfahren
  • Symmetrische Kryptografiesverfahren
  • Der Data Encryption Standard (DES)
  • Ein Überblick über DES
  • Die DES-Schlüsseltransformation
  • Die DES-Funktion
  • Die DES-Entschlüsselung
  • Die Kryptoanalyse von DES
  • Triple-DES
  • Die Kryptoanalyse von Triple-DES
  • Cipher Block Chaining (CBC)
  • Die Funktionsweise von CBC
  • Advanced Encryption Standard (AES)

Kryptografie

  • Motivation
  • Entwicklung
  • Grundlagen
  • Message Authentication Code
  • Tunneling
  • Wie baut man eine sicheren Block Cipher?
  • Angriffe auf Kryptografieen
  • Kryptologische Verfahren
  • Geschwindigkeit
  • Public Key Infrastrukturen nach X.509