14
Technische Universität Chemnitz Fakultät für Informatik Robert Meißner Technische Universität Chemnitz Straße der Nationen Chemnitz Sommersemester Chemnitz, . Mai Proseminar »Electronic Banking« Data Encryption Standard (DES)

Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Technische Universität ChemnitzFakultät für InformatikRobert Meißner

Technische Universität ChemnitzStraße der Nationen Chemnitz

Sommersemester Chemnitz, . Mai

Proseminar »Electronic Banking«Data Encryption Standard (DES)

Page 2: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Data Encryption Standard (DES)

Einführung • Funktionsweise • Risiken • Alternativen

Autor

Robert Meißner [[email protected]]Fakultät für InformatikTechnische Universität Chemnitz

Motivation & Zielstellung

Die heutige Informationsgesellschaft hat die Formen des menschlichen Handelns in vie-len Bereichen des täglichen Lebens verändert. Die Möglichkeit, Informationen über das Internet auszutauschen, drängt konventionelle Kommunikationsformen immer mehr in den Hintergrund. Gerade in den Bereichen eBusiness und ePayment, welche aufgrund der zunehmenden Globalisierung unabdingbar sind, spielen dabei die Sicherheit und die Au-thentität der übertragenen Daten eine wichtige Rolle.

Meine Seminararbeit stellt den Data Encryption Standard (DES) in seiner Funktions-weise vor, diskutiert kritisch dessen Sicherheit und gibt einen Ausblick auf neue Verschlüs-selungstechnologien, welche im Begriff sind, den Data Encryption Standard und seine verschiedenen Versionen abzulösen.

Chemnitz, . Mai

Technische Universität ChemnitzFakultät für InformatikProfessur Theoretische Informatik und Informationssicherheit

Page 3: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Chemnitz, . Mai

Robert MeißnerVetterstraße / Chemnitz

Telefon: ( )

P:

Lange Gasse Sonneberg

Telefon: ( )

Informationen zum Proseminar »Electronic Banking«

Das Seminar analysiert die verschiedenen Verfahren des ›Electronic Banking‹ sowie Sicherheitsprotokolle und Chiffrieralgorithmen, welche dem ›Electronic Banking‹ zu Grunde liegen. Als Themen werden u. a. Public-Key-Kryptographie Protokolle, die ver-schiedenen Authentifikations- und Authorisierungsverfahren wie PIN/TAN (Persönliche Identifikationsnummer/Transaktionsnummer), HBCI (Home Banking Computer Interface) oder auch das von Intuit, Checkfree und Microsoft entwickelte Protokoll OFX (Open Finance Exchange) behandelt.

S

Dr. Ulrich Tamm [[email protected]]Fakultät für InformatikProfessur Theoretische Informatik und InformationssicherheitTechnische Universität Chemnitz

1. Geschichtliche Entwicklung

Das bekannteste und am weitesten verbreitete symmetrische Verschlüsselungsverfahren Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung. Die auch unter dem Namen Data Encryption Algorithm (DEA) bekannte Blockchiffre wurde in den frühen siebziger Jahren von der Firma International Business Machines (IBM), der amerikanischen Geheimdienstorganisation National Security Agency (NSA) und dem National Bureau of Standards (NBS), heute National Institute of Standards and Technology (NIST), entwickelt und als offizieller Verschlüsselungsstandard anerkannt. Schließlich wurde der DES in Form eines Federal Information Processing Standard (FIPS) genormt und in der FIPS Publication veröffentlicht.

Angetrieben wurde die Normierung des DES vor allem durch das US-Wirtschaftsmi-nisterium, welches Wissenschaftler aufforderte, Vorschläge für ein Verschlüsselungsverfahren einzureichen. Nach mehreren Anläufen des Ministeriums wurde der von IBM entwickelte Algorithmus für eine spätere Standardisierung in Betracht gezogen. Der von IBM einge-reichte Vorschlag beruhte im Grunde auf einer Weiterentwicklung der Lucifer-Chiffre, einer symmetrischen Blockchiffre, welche in den späten siebziger Jahren hauptsächlich in Bank-automaten ihren Einsatz fand.

Nach mehrfachen Modifikationen wurde im März 1975 eine überarbeitete Version der Chiffre vorgelegt, im September 1975 als Verschlüsselungsstandard vorgeschlagen und schließlich im November 1976 als neuer Kryptographiestandard verabschiedet. Von der In-dustrie wurde der Standard daraufhin in Soft- und Hardware implementiert, was zu einer schnellen Verbreitung und Akzeptanz des DES führte. Im Jahre 1981 wurde der Verschlüs-selungsstandard vom American National Standards Institute (ANSI) unter der Bezeichnung Data Encryption Algorithm (DEA) genormt. Weitere Normierungen durch Organisationen wie die International Organization for Standardization (ISO) oder das Deutsche Institut für Normung (DIN) wurden aufgrund von Unstimmigkeiten bei der Standardisierung nicht vorgenommen.

Kurz nach der Verabschiedung des DES wurde jedoch Kritik an die Sicherheit des neuen Standards laut. Diese stützte sich vor allem auf die Verwendung eines nur Bit großen Schlüssels durch die NSA und die fortschreitende Entwicklung von Micropro-zessoren, mit denen in absehbarer Zeit die Möglichkeit bestand, den Schlüssel durch die Anwendung von Brute-Force-Angriffen herauszufinden. Ein weiterer Kritikpunkt war die Geheimhaltung der Entwicklungsunterlagen und Analyseergebnisse durch IBM auf Bitten der NSA. Deshalb sind bis heute trotz einer Vielzahl von Veröffentlichungen über den DES nur wenige eindeutige Informationen über dessen Designkriterien verfügbar.

Dennoch etablierte sich der DES sehr schnell als Verschlüsselungsverfahren für An-wendungen mit hohem Sicherheitsstandard und wurde hauptsächlich für finanzielle Trans-aktionsprotokolle verwendet. Die zwei Hauptgründe für die schnelle industrielle Umset-zung der Blockchiffre waren der Mangel an Alternativen, aber auch die kostengünstige und effektive Implementierung in Hardwarebausteine.

Page 4: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

2. Einordnung des Data Encryption Standard

Der Data Encryption Standard ist ein symmetrisches Verschlüsselungsverfahren. Die von einer dritten Partei zu schützenden Daten werden vom Absender mit einem geheimen Schlüssel chiffriert. Nach der Übertragung der chiffrierten Daten über das Internet werden die empfangenen Daten vom Empfänger mit dem selben Schlüssel, mit dem die Nachricht verschlüsselt wurde, wieder entschlüsselt. Um eine Informationsübertragung zwischen Ab-sender und Empfänger zu realisieren, muss vorher der Schlüssel möglichst persönlich bzw. über eine entsprechend gesicherte Kommunikationsverbindung ausgetauscht werden. Ab-bildung 2-1 verdeutlicht das grundlegende Schema des symmetrischen Verschlüsselungs-verfahrens, zu dem außer dem DES u. a. auch der International Data Encryption Algorithm (IDEA) oder auch der neu entwickelte Advanced Encryption Standard (AES) zählen.

Dieses Private-Key-Verfahren hat allerdings auch einige Nachteile. Kommt der für die ver-schlüsselte Kommunikation verwendete Schlüssel in die Hände eines Dritten, kann diese alle verschlüsselten Nachrichten der Kommunikationspartner entschlüsseln bzw. eine neue Nachricht verschlüsseln. Dies hat zur Folge, dass die Vertraulichkeit der übermittelten Da-ten verloren geht. Wenn der Schlüssel auch zur eindeutigen Identifizierung des Absenders dient, besteht auch eine Gefahr für die Authentität der Daten. Der Empfänger der ver-schlüsselten Nachricht wird somit ggf. über deren Herkunft getäuscht.

Mit der Notwendigkeit, den geheimen Schlüssel auf einem sicheren Kommunika-tionsweg zu übertragen, stellt sich die Frage, warum überhaupt eine Verschlüsselung der Nachrichten notwendig ist. Trotz dieser Überlegung ist eine Chiffrierung der sensitiven Daten notwendig, da der Schlüssel im Vergleich zur eigentlichen Nachricht kleiner und unproblematischer zu übertragen ist. Auch der Zeitpunkt der Schlüsselübermittlung kann von den beiden Kommunikationspartnern frei gewählt werden bzw. er richtet sich nach Verfügbarkeit einer gesicherten Verbindung, welche eventuell nur einmalig oder nicht je-derzeit für eine verschlüsselte Informationsübertragung verwendet werden kann. Grund-sätzlich betrachtet, ist das Schlüsselmanagement in Bezug auf die Sicherheit des daraufhin folgenden Nachrichtenaustausches von wichtigster Bedeutung. Durch einen häufigen Wechsel des Schlüssels, unter der Voraussetzung dessen sicherer Übermittlung, kann die Sicherheit der verschlüsselten Informationsübertragung maßgeblich verbessert werden.

Weitere Risiken für die Sicherheit des Private-Key-Verfahren entstehen mit der Zu-nahme der Kommunikationspartner und somit der steigenden Notwendigkeit immer wieder weitere Schlüssel auf möglichst sicherem Wege zu übertragen. Bei n Nutzern einer symmetrischen Chiffre wird für deren verschlüsselten Nachrichtenaustausch eine Anzahl von n · (n - ) ⁄ Schlüssel benötigt. Der organisatorische Aufwand des Schlüsselaustausches hemmt dabei teilweise die verschlüsselte Kommunikation zwischen Absender und Emp-fänger. Dieses Problem lässt sich jedoch durch eine Limitierung der Benutzer begrenzen, was aber nicht in allen Bereichen der Einsatzmöglichkeit symmetrischer Verschlüsselungs-verfahren realsierbar ist.

Der Hauptvorteil bei symmetrischen Verschlüsselungstechnologien liegt im Vergleich zur asymmetrischen Verarbeitung in der relativ geringen Rechenzeit bei der Abarbeitung der zu verschlüsselnden bzw. zu entschlüsselnden Daten. Die Geschwindigkeit ist abhängig von der Schlüssellänge. Besonders schnell arbeitet dieses Verfahren in Large Scale Integration (LSI)-Hardwarebausteinen, für welche der Data Encryption Standard optimiert wurde. Sol-che LSI-Chips erreichen heute unter Verwendung des Data Encryption Standard einen Datendurchsatz von ungefähr einem Gigabit pro Sekunde (GBit/s).

Abb. 2-1

Prinzip des symmetrischen

Verschlüsselungsverfahrens

2.2

Nachteile symmetrischer

Verschlüsselungsverfahren

2.3

Vorteile symmetrischer

Verschlüsselungsverfahren

2.1

DES – ein symmetrisches

Verschlüsselungsverfahren

(Private-Key-Verfahren)

Schlüsselmanagement

Page 5: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

3. Beschreibung & Funktionsweise des Data Encryption Standard

Der Data Encryption Standard Algorithmus ist eine symmetrische Blockchiffre, welche zur Klasse der Feistel-Chiffren zählt. Dieses Verfahren arbeitet auf Bit-Ebene mit einem 64-Bit großen Schlüssel. Von diesen 64 Bit werden allerdings nur 56 Bit effektiv verwendet, da jedes achte Bit des Schlüssels als Paritätsbit dient und für die eigentliche Verschlüsselung ig-noriert wird. Die Anzahl der insgesamt möglichen Schlüssel beträgt somit ⁵⁶ (ca. · ¹⁶).

Das DES-Verfahren operiert mit einer Kombination aus Substitutionen und Permuta-tionen der Eingangsdaten. Es bearbeitet einen 64-Bit großen Klartext- (bzw. Chiffretext-) Block in Abhängigkeit von einem Schlüssel, d. h. die zu verschlüsselnde bzw. zu entschlüs-selnde Nachricht wird in 64-Bit große Blöcke unterteilt, welche vom Algorithmus nach-einander bearbeitet werden. Die folgende Abbildung 3.1-1 veranschaulicht im einfachen Sinne die Eingabe- und Ausgabedaten der Chiffrierung und Dechiffrierung.

Nach der Übergabe der Eingangsdaten an den DES-Algorithmus wird auf den 64-Bit großen Datenblock eine Permutation angewendet, welche diesen in zwei 32-Bit breite Teil-blöcke L und R zerlegt. Die beiden neuen Blöcke werden in 16 Verschlüsselungsrunden, welche jeweils von einem 48-Bit Teilschlüssel des externen 56-Bit Schlüssels abhängig sind, modifiziert. Diese Modifizierung wird als Funktion f bezeichnet. Sind die 16 Verschlüs-selungsrunden abgeschlossen, werden die daraus resultierenden 32-Bit Blöcke mit der zur Eingangspermutation (IP) inversen Ausgangspermutation (IP¯¹) zu einem 64-Bit großen Ausgabewert zusammengefügt. Abbildung 3.2-1 zeigt die grundlegende Struktur des DES unter der Annahme einer Verschlüsselung. Analog werden bei einer Entschlüsselung die 16 Teilschlüssel in umgekehrter Reihenfolge auf den 64-Bit Chiffretext angewendet.

Die als Initial Permutation (IP) bezeichnete Eingangspermutation des DES modifiziert die Bitpositionen (p₁, p₂, …, p₆₄) des 64-Bit Eingangsblocks in den Block (p₅₈, p₅₀, …, p₇), welcher anschließend in zwei Teilblöcke L (p₅₈, p₅₀, …, p₈) und R (p₅₇, p₄₉, …, p₇) mit je 32 Bits unterteilt wird.

Abb. 3.1-1

Einfache Darstellung von

Eingangs- und Ausgangsdaten

Abb. 3.2-1

Vereinfachte Struktur des

DES unter Annahme einer

Verschlüsselung

3.1

Eingangsdaten des DES

3.2

Einfache Struktur des DES

Initial Permutation (IP)

3.2.1

Eingangspermutation (IP)

Ausgangspermutation (IP¯¹)

Teilblöcke L & R

Feistel-Chiffre

Page 6: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Die Eingangspermutation und die Ausgangspermutation, welche jeweils zu Beginn bzw. bei der Beendigung des Algorithmus Einsatz finden, haben auf die Sicherheit keinerlei Einfluss. Im Grunde genommen sind sie für die Geschwindigkeit eher von Nachteil, da diese Permutationen, manchmal auch Transpositionen genannt, bei der Implementierung in Softwareprodukte enorm viel Rechenzeit beanspruchen und vor 15 Jahren noch recht schwierig umzusetzen waren. Heutzutage hat man jedoch Möglichkeiten entwickelt, welche ein noch akzeptables Verhältnis zwischen Entwicklungsaufwand und Rechenzeit gewährleisten. In Hardwarebausteinen lassen sich die Bitvertauschungen jedoch aufgrund der wiederholenden Struktur des Algorithmus relativ leicht umsetzen und zeigen dort auch akzeptable Verarbeitungszeiten. Abbildungen 3.2.1-1 bzw. 3.2.1-2 stellen diese Bitver-tauschungen in Tabellenform dar.

In ähnlicher Weise wie die Eingangs- und Ausgangspermutation arbeitet auch die Schlüs-selpermutation. Diese Schüsselpermutationsfunktion Permuted Choice (PC-1) bestimmt die für die Verschlüsselung relevanten 56 Bits und speichert diese in den zwei 28-Bit gro-ßen Blöcken C und D. Die Paritätbits (b₈, b₁₆, b₂₄, …, b₆₄) fallen bei der Aufteilung in die beiden Register weg und haben keinen Einfluss auf den Algorithmus bzw. die Sicherheit der Verschlüsselung.

Während des Verschlüsselungsvorgangs werden die Register C und D mit jedem der 16 Verschlüsselungsschritte in Abhängigkeit vom aktuellen Rundenindex jeweils um 1 oder 2 Bit zyklisch nach links verschoben. Abbildung 3.2.2-2 zeigt die Bitverschiebungen bei der Chiffrierung. Insgesamt werden 28 Schiebeoperationen durchgeführt, nach welchen beide Register wieder im Ausgangszustand sind und somit ohne ein erneutes Laden des Schlüssels weiterhin für neue Operationen Verwendung finden können. In jedem der 16 Verschlüsselungsschritte werden aus den insgesamt 56 Bits der Blöcke C und D 48 Schlüs-selbits mit Hilfe der Funktion Permuted Choice (PC-2) ausgewählt.

3.2.1.1

Funktion der Permutationen

Abb. 3.2.1-1

Bitreihenfolge nach der

Eingangspermutation im L-Block

Abb. 3.2.1-2

Bitreihenfolge nach der

Eingangspermutation im R-Block

3.2.2

Rundenschlüssel

Permuted Choice (PC-1)

Permuted Choice (PC-2)

Abb. 3.2.2-1

Permuted Choice (PC-1)

Schlüsselpermutation

Schiebeoperationen

Permuted Choice (PC-2)

Page 7: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Diese ausgewählten 48 Bits stellen den internen Rundenschlüssel dar, welcher mit dem durch die Expansionspermutation veränderten Block R durch ein XOR bitweise verknüpft wird. Die resultierenden Daten dienen als Eingabewert für die acht S-Boxen. Abbildung 3.3-2 schematisiert die genaue Struktur des Data Encryption Standard.

Die Funktion Permuted Choice (PC-2) trägt auch den Namen Kompressionspermutation, da diese die Reihenfolge der einzelnen Bits ändert, aber auch die Teilmenge von 56 Bits auf 48 Bits reduziert. Einige der Bits, welche an die Kompressionspermutation übergeben werden, fallen bei der Ermittlung des Rundenschlüssels weg und werden somit ignoriert.

Nachdem die Eingangspermutation den 64-Bit großen Input in die Blöcke L und R halbiert hat, wird der Block R mit Hilfe der Expansionspermutation auf 48 Bits verbreitert. Diese Expansion, bei welcher durch eine lineare Abbildung auch Bits wiederholt werden, stellt sicher, dass der Block R durch ein XOR logisch verknüpft werden kann.

Der 32-Bit Eingangsblock der Expansionspermutation wird in acht kleine Blöcke zu je 4 Bits unterteilt. Das erste und vierte Bit jedes 4-Bit Blocks stellen jeweils 2 Bits der Ausga-beblöcke dar, das zweite und dritte Bit jeweils ein Ausgabebit. Durch dieses Verfahren wird ein 4-Bit großer Eingabeblock zu einem 6-Bit großen Ausgabeblock expandiert, die Ex-pansion liefert aus jedem 32-Bit Eingabeblock einen unterschiedlichen Ausgabeblock, wel-cher 48 Bits breit ist, damit der Output der S-Boxen von vielen Input-Bits abhängig ist.

Abb. 3.2.2-2

Anzahl der Bitverschiebungen

bei der Chiffrierung

Abb. 3.3-2

Detaillierte Struktur des DES

Erst nach 16 Iterationen

(Durchläufen) steht der 64-Bit

Output-Block fest.

Kompressionspermutation

3.3

Detaillierte Struktur des DES

Abb. 3.3-1

Expansionspermutation (E)

Funktionsweise der Expansion

Page 8: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Nach der logischen Verknüpfung des expandierten Block R mit dem Rundenschlüssel durch das Exklusiv-Oder wird der Output dieser logischen Funktion in acht Blöcke zu je 6 Bit unterteilt. Sie dienen als Input für die acht S-Boxen, welche einen elementaren Bestandteil von Feistel-Chiffren darstellen.

Die S-Boxen realisieren eine nicht-lineare I auf O Abbildung, d. h. sie substituieren jeweils den übergebenen 6-Bit breiten Input-Block (i₁, i₂, …, i₆) durch einen 4-Bit breiten Out-put-Block (o₁, o₂, o₃, o₄). Das erste und letzte Bit des 6-Bit Input-Blocks entscheiden über die Zeilennummer, die mittleren 4 Bits über die Spaltennummer. Der somit adressierte Wert wird binär als 4-Bit Output zusammen mit den Outputs aller S-Boxen permutiert und durch ein XOR mit dem 32-Bit breiten Block L logisch verknüpft. Die Funktions-weise der S-Boxen wird in der Abbildung 3.3-4 mit Hilfe einer binären Darstellung sche-matisch gezeigt. Der 48-Bit Input wird mit Hilfe der S-Boxen zu einem 32-Bit Output transformiert.

S-Boxen (Substitionsboxen)

Abb. 3.3.-3

Die acht S-Boxen

(dezimale Darstellung)

Das erste und letzte Bit des

6-Bit Input-Blocks entscheiden

über die Zeilennummer, die

mittleren 4 Bits über die

Spaltennummer. Der somit

adressierte Wert wird binär

als 4-Bit Output durch das

anschließende XOR mit dem

32-Bit breiten Block L logisch

verknüpft.

Funktionsweise der S-Boxen

Page 9: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Jede S-Box besteht aus vier Substitutionstabellen mit jeweils 16 hexadezimalen Einträgen. Der Aufbau der S-Boxen ist entscheidend für die Sicherheit des DES, es wird dabei im Wesentlichen zwischen zufälligen S-Boxen und mathematischen S-Boxen unterschieden. Eine Veränderung in den Substitionsboxen würde bedeuten, dass der DES-Algorithmus deutlich an Sicherheit verliert, da diese hauptsächlich auf den S-Boxen beruht. Laut Bruce Schneider, Spezialist für Verschlüsselungstechnologien, sollten diese so groß wie möglich, zu-fällig und schlüsselabhängig sein, um eine möglichst große Sicherheit der Verschlüsselung zu ermöglichen.

Jede S-Box liefert einen 4-Bit großen Output. Aus allen acht S-Boxen ergibt sich somit ein Gesamtausgabewert von 32 Bits, welcher durch die Permutation P verändert wird. Die Permutation P realisiert eine wiederholungsfreie Abbildung von 32 Bits auf 32 Bits, so dass jedes Bit in der nächsten Runde einen anderen Nachbarn hat. Der nun veränderte 32-Bit Block wird durch ein XOR mit dem Block L bitweise verknüpft. Das Ergebnis dieser Operation bildet für den nächsten Durchlauf den neuen Block R, wobei der Inhalt des alten Blocks R an den neuen Block L übergeben wird.

Nach 16 Durchläufen (Iterationen) der Funktion f werden die beiden 32-Bit Blöcke L und R zu einem 64-Bit Block zusammengefügt, welcher durch die zur Eingangspermuta-tion inversen Ausgangspermutation modifiziert wird. Die Verschlüsselung bzw. die Entschlüs-selung eines 64-Bit großen Input-Blocks ist nun beendet.

Die Entschlüsselung durch den DES untscheidet sich nur geringfügig von der Verschlüs-selung. Bei einer Entschlüsselung eines Chiffretextes werden die 16 Rundenschlüssel in umgekehrter Reihenfolge benötigt. Des Weiteren werden die Register C und D durch die Funktion Permuted Choice (PC-2) im Gegensatz zur Verschlüsselung nicht nach links, sondern in Abhängigkeit vom Rundenindex zyklisch nach rechts verschoben.

Abb. 3.3-4

Funktionsweise der S-Boxen

am Beispiel der S-Box 1

(binäre Darstellung)

Aufbau & Bedeutung

der S-Boxen

Abb. 3.3-5

Bitreihenfolge nach der

Permutation P

Abb. 3.3-6

Bitreihenfolge nach der

Ausgangspermutation IP¯¹

Unterschiede zwischen

Verschlüsselung und

Entschlüsselung

Abb. 3.3-7

Anzahl der Bitverschiebungen

bei der Enschlüsselung

Page 10: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

4. Verschiedene Versionen des Data Encryption Standard

Um dem Entwicklungen der Zeit gerecht zu werden, wurde die ursprüngliche Funktions-weise des Data Encryption Standard zu Gunsten der Sicherheit verbessert und daraufhin neue Versionen in Soft- und Hardware implementiert. Um das Problem eines Brute-Force-Angriffs zu kompensieren und die Sicherheit zu erhöhen, wurde der Triple-DES eingeführt, welcher heute nur noch in älteren Kryptosystemen verwendet wird. Ein anderer Grund für die damalige Verwendung verschiedener Versionen des DES, wie z. B. des Triple-DES, war die Notwendigkeit, den Zeitraum bis zur Verfügbarkeit wesentlich sicherer Verfahren zu überbrücken.

Mit dem Triple-DES-Verfahren sind grundsätzlich zwei Verfahren gemeint. Vorge-stellt wurden diese unterschiedlichen Verfahrensweisen vom dem Kryptologen Tuchman. Der Grundgedanke besteht darin, den eingehenden Klartextblock mit unterschiedlichen Schlüsseln mehrmals zu ver- und zu entschlüsseln. Bei einer Chiffrierung werden die Ein-gangsdaten mit dem Schlüssel k₁ verschlüsselt, mit dem Schlüssel k₂ wieder entschlüsselt und letztlich wieder mit dem Schlüssel k₁ verschlüsselt; C = E

k₁(D

k₂(E

k₁(M))). In diesem

Modus besitzt der Triple-DES somit eine Schlüssellänge von 112 (2 · 56) Bits.Es gibt auch die Möglichkeit drei Schlüssel zu verwenden, bei welcher im letzten

Schritt nicht der Schlüssel k₁, sondern ein dritter 56-Bit breiter Schlüssel k₃ Verwendung findet; C = E

k₃(D

k₂(E

k₁(M))). Diese Version verwendet somit eine Schlüssellänge von 168

(3 · 56) Bits. Das Triple-DES-Verfahren wird auch als EDE (Encryption-Decryption-En-cryption)-Verfahren bezeichnet. Analog zu diesem Verfahren existiert auch noch das EEE (Encryption-Encryption-Encryption)-Verfahren, bei welchem eine von drei Schlüsselop-tionen Verwendung findet.

Als Optionen sind drei untschiedliche unabhängige Schlüssel (k₁, k₂, k₃) möglich, aber auch eine Verwendung von zwei unabhängigen Schlüsseln (k₁, k₂), wobei der Schlüssel k₁ identisch mit dem zuletzt verwendeten Schlüssel k₃ ist. Die dritte Option sieht die Verwen-dung von drei gleichen Schlüsseln (k₁ = k₂ = k₃) vor.

Eine Entschlüsselung in allen Triple-DES-Modi läuft analog zur Entschlüsselung unter Verwendung der einzelnen Schlüssel in inverser Reihenfolge. Die verschiedenen Triple-DES-Modi arbeiten vergleichsweise langsam, deshalb werden in Kryptosystemen heutzutage neue Verfahren implementiert.

Trotz der Verwendung einer Schlüssellänge von maximal 168 Bits ist die dadurch erzielte höhere Sicherheit im Vergleich zur Anwendung nur eines einzigen 128-Bit Schlüssels rela-tiv bescheiden. Zusammenfassend ist zu sagen, dass der Tiple-DES nur eine Notlösung dar-stellt und heute nicht mehr als sicher einzustufen ist. Zwar wurde die Sicherheit in Bezug auf eine exhausive Schlüsselsuche erhöht, diese bietet aber aufgrund der Verfügbarkeit von modernen und effektiven Methoden zur Schlüsselbestimmung keinen maximalen Schutz vor derartigen Angriffen, sondern gestaltet diese lediglich zeitlich aufwändiger.

Eine weitere Version des DES ist der Data Encryption Standard XORed (DESX). Bei diesem Algorithmus wird der 64-Bit große Klartext vor der Eingangspermutation bitweise mit einem zusätzlichen 64-Bit breiten Schlüssel durch ein XOR verknüpft. Der durch den DES-Algorithmus ausgegebene Chiffretext wird nach der Ausgabe ebenfalls mit den 64 Bits eines zweiten zusätzlichen Schlüssels durch ein Exklusiv-Oder logisch verknüpft.

4.1

Triple-DES

EDE- und EEE-Verfahren

Abb. 4.1-1

Triple-DES bei der Verwendung

von 3 verschiedenen 56-Bit

breiten Schlüsseln

Sicherheit des Triple-DES

4.2

DESX

Triple-DES-Modi

Optionen des EEE-Verfahrens

Triple-DES Entschlüsselung

Page 11: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Der Hauptgedanke des DESX ist also eine Modifikation der Eingangs- bzw. Ausgangsdaten des ursprünglichen DES-Verfahrens durch zwei zusätzliche Schlüssel der Größe 64 Bit.

Die durch den DESX erreichte Sicherheit in Bezug auf differentielle und lineare An-griffe ist nicht wesentlich höher als die Sicherheit des urspünglichen DES-Verfahrens. Die bestehenden Mängel wurden auch durch den DESX nicht beseitigt.

Es gibt noch eine ganze Anzahl von weiteren DES-Versionen. Dazu zählen u. a. Versi-onen mit unabhängigen Rundenschlüsseln oder auch Versionen mit schlüsselabhängigen S-Boxen. Alle diese entwickelten Varianten des Data Encryption Standard erhöhten die Sicherheit nicht maßgeblich und stellen deshalb keine bedeutende Fortschritte dar.

5. Der Data Encryption Standard – Ein Feistel-Netzwerk

Der Data Encryption Standard gehört wie viele Blockalgorithmen zu der Klasse der Feistel-Chiffren. Die Entwicklung von Feistel-Netzwerken geht auf den IBM-Entwickler Horst Feistel zurück. Die Feistel-Struktur wurde in den siebziger Jahren erstmalig im Zu-sammenhang mit der Lucifer-Chiffre vorgestellt.

Unter einem Feistel-Netz versteht man ein Chiffrierverfahren, welches die Eingangs-blöcke in zwei interne Blöcke aufteilt und diese auf der Basis von mehreren Rundendurch-läufen modifiziert. Nach Ablauf der Iterationen werden die Blöcke zu einem Ausgangs-block zusammengesetzt. In jeder der einzelnen Runden wird ein interner Rundenschlüssel generiert, welcher aus dem geheimen Schlüssel berechnet wird, und somit von diesem abhängig ist. Feistel-Netzwerke modifizieren die Daten auf Bit-Ebene und arbeiten intern mit verschiedenen Permutationen und logischen XORs als Verknüpfungsfunktionen, wel-che sich sehr gut in Hardware umsetzen lassen. Die grundlegende Transformationsfunktion f bildet in jeder Runde einen modifizierten Halbblock auf einem alten Halbblock ab. Bei einer günstigen Wahl des Schlüssels und der Transformationsfunktion f ist bereits nach wenigen Runden jedes Bit des Klartextes von einem Schlüsselbit abhängig. Dieser Effekt wird als Lawineneffekt bezeichnet. Dieser stellt sicher, dass kein Bit des Klartextes oder des Schlüssels ohne massive Änderungen des Chiffretextes geändert werden kann. Eine größt-mögliche Abhängigkeit der Ausgangsdaten von den Eingangdaten wird somit ermöglicht. Die Funktion f kann von unterschiedlicher Komplexität sein, wichtig ist jedoch, dass nur deren Eingabewerte in jeder Runde rekonstruiert werden können. Desweiteren gibt es auch noch Extended Feistel-Networks, welche mit beliebig vielen Teilblöcken der Eingabe-daten arbeiten können.

Der Vorteil von Feistel-Netzen ist, dass die Ver- und Entschlüsselung nicht getrennt implementiert werden müssen, da die Verschlüsselung mit der Transformationsfunktion f durch die umgekehrte Reihenfolge der Teilschlüssel umkehrbar ist.

6. Implementierung des Data Encryption Standard

Ursprünglich sollte der Data Encryption Standard nur in Hardwarebausteinen implemen-tiert werden. Nur kurze Zeit nach der Verabschiedung des DES wurde dieser jedoch auch in Softwareprodukte implementiert. Im Jahre 1981 wurde eine Software-Implementierung durch einen American National Standards Institute (ANSI)-Standard offiziell zugelassen. Die Entwicklung von Sicherheitssoftware auf der Basis des DES gestaltete sich jedoch schwie-rig und uneffizient. Die Probleme waren vor allem auf die Bit-Permutationen, wie die Eingangs- und Ausgangspermutation zurückzuführen, welche bei der Programmierung besonders hinderlich und zudem für die Sicherheit des gesamten Verfahrens nicht förder-lich waren. Die entwickelte Software zeigt im Vergleich zur Hardware ein schlechtes Lauf-zeitverhalten, welches im Wesentlichen kaum spürbar verbessert werden konnte.

Bei der hardwarebasierenden Verarbeitung eines 64-Bit Datenblocks benötigt ein 80386 mit 25 MHz durchschnittlich eine Millisekunde. Derzeit verfügbare Hardware-Bau-steine brauchen weit weniger als 50 Nanosekunden.

Der US-Markt begann in den folgenden Jahren stark zu expandieren. Einige der DES-Chips unterliegen Exportverboten und sind nur auf dem US-amerikanischen Bin-nenmarkt verfügbar.

Sicherheit des DESX

Weitere DES-Versionen

Lawineneffekt

Eigenschaften

Funktionsweise

Vorteile von Feistel-Netzen

Hard- und

Softwareimplementierungen

Geschwindigkeit

Page 12: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Die Firmen Advanced Micro Devices (AMD) und AT&T entwickelten programmierbare DES-Bausteine, welche zusätzlich mit individuell programmierten Algorithmen arbeiten können. Diese Bausteine unterstützen die verschiedenen DES-Betriebsarten, besitzen mehrere interne Register für Schlüssel- und Initialisierungswerte, wie auch Random Access Memory (RAM) und Read Only Memory (ROM). Zudem lassen sich diese für bestimmte Anwendungen, wie z. B. in Bankautomaten, explizit konfigurieren und zeigen nahezu optimale Verarbeitungszeiten.

Die deutsche Firma CE Infosys bietet Verschlüsselungsprozessoren an, welche die ein-zelnen Iterationen teilweise parallel bearbeiten können, wodurch ein erheblich höherer Datendurchsatz erreicht wird. Die interne Architektur der S-Boxen kann von außen pro-grammiert werden, wodurch verschiedene DES-Varianten programmiert werden können.

Einen sehr leistungsstarken Complementary Metal-Oxide-Silicon (CMOS)-Chip, welcher einige Zeit außerhalb der USA nicht verfügbar war, wurde von der Firma VLSI Technologies angeboten.

Der im Jahre 1992 schnellste verfügbare DES-Baustein wurde von der Firma DEC produziert. Das mit 250 MHz getaktete Gate-Array in Galliumarsenid-Technologie (GaAs) ermöglichte eine Verschlüsselungsleistung von einem Gigabit pro Sekunde (GBit/s).

7. Sicherheit & Eigenschaften des Data Encryption Standard

Bereits kurz nach der Veröffentlichung des DES wurden begründete Fragen über dessen Sicherheit laut. Die Kritik war vor allem gegen die National Security Agency (NSA) ge-richtet, da diese auf die Verwendung eines nur 56-Bit breiten Schlüssels bestand. Das Team der Firma IBM zu dem u. a. die Kryptologen Feistel, Coppersmith, Tuchman und Meyer zähl-ten, wollte eine Schlüssellänge von 112 Bits verwenden. Das Gerücht über eine eingebaute Hintertür, durch welche der Klartext ohne Kenntnis des Schlüssels herausgefunden werden kann, bestätigte sich nicht.

Der Aufbau der S-Boxen war ein weiterer Kritikpunkt. Sie sind die einzigen nicht-li-nearen Operationen des DES-Verfahrens. Eine Linearität aller S-Boxen hätte eine Linea-rität der gesamten DES zu Folge und würde keine Sicherheit bieten. Es stellte sich jedoch heraus, dass die verwendeten Strukturen und Techniken gut sind. Dennoch ist es denkbar, dass bei einer bestimmten Wahl der S-Boxen eine Symmetrie des DES verschleiert werden kann. Die Erkenntnisse durch das Reverse Engineering geben keine vollständigen Hinweise, wie eine erfolgbringende Analyse des Data Encryption Standards praktisch durchführbar wäre. Viele Experten gehen jedoch von einer Nicht-Zufälligkeit der gewählten S-Boxen Belegung aus.

Bis Anfang der neunziger Jahre gab es keine erfolgversprechende Methode den DES zu knacken. Nach der Einführung der differentiellen Kryptoanalyse durch Adi Shamir und Eli Biham wurden jedoch neue Erkenntnisse gewonnen. Der DES zeigte sich sehr wi-derstandsfähig gegenüber dieser Kryptoanalyse. Mit der Zeit stellte sich heraus, dass dem IBM-Entwickler Donald Coppersmith die differentielle Kryptoanalyse bereits vor Jahren bekannt was, so dass der DES explizit gegen diese Analyse gesichert wurde. Das Verfahren wurde jedoch von den Entwicklern geheim gehalten, um den Vorsprung der USA auf dem Gebiet der Kryptographie zu sichern. Die differentielle Kryptoanalyse ist in der Praxis sehr schwer anzuwenden, benötigt sehr viele Ressourcen und ist uneffizienter als ein Brute-Force-Angriff.

Durch eine ungünstige Wahl des Schlüssels kann die Sicherheit des gesamten Verfah-rens erheblich reduziert werden. Der DES besitzt insgesamt 64 schwache und halbschwache Schlüssel, welche jedoch bei vielen Softwareprodukten bei der Schlüsselgenerierung ausge-schlossen werden können. Ein Schlüssel, welcher nur aus Nullen oder Einsen besteht, stellt einen schwachen Schlüssel dar, ein Schlüssel bei dem die erste 32-Bit Hälfte aus Nullen und die zweite 32-Bit Hälfte aus Einsen besteht, stellt einen der vielen halbschwachen Schlüssel dar. Diese schwachen bzw. halbschwachen Schlüssel beeinträchtigen die Transfor-mationsfunktion f des Algorithmus, machen diese wirkungslos und zeigen somit einen ex-trem negativen Einfluss auf die kryptographische Stärke des DES-Verfahrens. Die internen Rundenschlüssel sind bei der Verwendung von schwachen Schlüsseln in mehreren Runden gleich. Abbildung 7-1 zeigt die vier schwachen Schlüssel in hexadezimaler Darstellung.

Verschiedene

Hardware-Bausteine der Firmen

AMD, CE Infosys und DEC mit

unterschiedlichen Optionen und

Leistungsdaten

Schlüssellänge

Kritik an den S-Boxen

Differentielle Kryptoanalyse

Schwache Schlüssel

Page 13: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Zusammenfassend ist zu sagen, dass der Data Encryption Standard über mehr als 20 Jahre das am meisten verwendete Verschlüsselungsverfahren war. Es wurde kontinuierlich verän-dert, um wachsenden Sicherheitsansprüchen gerecht zu werden. Im Jahre 1992 wurde ein Computer vorgestellt, welcher es ermöglichte, den geheimen Schlüssel innerhalb weniger Wochen herauszufinden. Selbst Entwicklungen dieser Art setzte sich der DES erfolgreich zur Wehr und wurde weiterhin für sicherheitsrelevante Transaktionsprotokolle verwendet.

Dennoch wurden Diskussion über die Sicherheit von EC-Karten laut, in welchen die Gefahr des Bekanntwerdens eines EC-DES-Schlüssels mit einer Katastrophe gleichge-setzt wurde. Das EC-PIN-Verfahren wurde trotz fortschreitender Entwicklungen in der Kryptologie von Experten des Bundesamtes für Sicherheit in der Informationstechnik (BSI) als weiterhin sicher eingestuft.

Mit der Zeit folgten mehrere Wettbewerbe, bei welchen mit Hilfe von Brute-Force-Angriffen der DES geknackt wurde. Der Wettbewerb der Firma RSA Laboratories zeig-te, wie ein geheimer 56-Bit Schlüssel innerhalb von drei Tagen herausgefunden werden konnte. Heutzutage ist es möglich, den Schlüssel des DES mit moderner Rechentechnik und begrenzten finanziellen Mitteln innerhalb von Minuten, höchstens Stunden, zu be-stimmen.

8. Der neue Advanced Encryption Standard

Gerade im Finanzbereich ist es dringend nötig, einen sicheren Standard zu etablieren, was sich aber nicht immer einfach und in einem angemessenen Zeitraum realisieren lässt. Am 26. November 2001 wurde der Advanced Encryption Standard (AES) offiziell in Form eines Federal Information Processing Standards (FIPS) verabschiedet. Der Data Encryption Standard wurde somit durch dieses sichere Verfahren ersetzt und wird in Zukunft den DES vom Markt abzulösen. Grundlage des AES ist der von belgischen Wissenschaftlern entwi-ckelte Rijndael-Algorithmus, der die Eingangsdaten mehrmals bearbeitet und Schlüssellän-gen von 128 bis 256 Bit erlaubt. Unter diesen Voraussetzungen sind Brute-Force-Angriffe zur Zeit nicht vorstellbar.

Der Rijndael-Algorithmus wurde als einer von 15 eingereichten Vorschlägen ausge-wählt. Er wurde extrem auf Sicherheit optimiert und bietet einen sehr wirksamen Schutz gegen alle bekannten Angriffen. Der neue AES ist für eine Implementierung in Soft- und Hardware geeignet und zeigt eine sehr gute Geschwindigkeit bei der Verarbeitung der Da-ten. Zudem arbeitet der neue Standard sehr ressourcenschonend. Jede Operation des AES ist vom externen Schlüssel abhängig. Der Schlüssel, aber auch die Anzahl der Rundenzah-len sind variabel. Die verwendeten Operationen haben eine starke Diffusionswirkung, die Rundenschlüssel werden nicht-linear abgebildet, des Weiteren existieren keine schwachen Schlüssel.

»Dem neuen Advanced Encryption Standard ist der alte Data Encryption Standard in keiner Weise gewachsen, weder in der Sicherheit der Verschlüsselung noch in der Verarbeitungsgeschwindigkeit!«

Abb. 7-1

Schwache Schlüssel des DES

Sicherheit der EC-Karten

Rijndael-Algorithmus

Page 14: Proseminar »Electronic Banking« Data Encryption Standard (DES)€¦ · Data Encryption Standard (DES) ist für die Verschlüsselung von sensitiven Daten von zen-traler Bedeutung

Quellenverzeichnis

[1] Walter Fumy, Hans Peter Rieß: Kryptographie – Entwurf, Einsatz und Analyse symmetrischer Kryptoverfahren Rudolf Oldenburg Verlag, München Wien, 1994; ISBN 3-486-22213-9.

[2] Bundesministerium für Wirtschaft und Technologie (BMWI): Sicherheit im Internet http://www.sicherheit-im-internet.de

[3] RSA Security Inc.: Crypto FAQ http://www.rsasecurity.com/rsalabs/faq/3-2.html

[4] U.S. Department of Commerce/National Institute of Standards and Technology: Data Encryption Standard (DES) Federal Information Processing Standards (FIPS) Publication 46-3, Washington D.C., 25. Oktober 1999. http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf

[5] Marcus Janke, Peter Laackmann: Endgültiger Abschied vom Data Encryption Standard (DES) Card-Forum 9, Seite 26–27, 1998.

[6] Wolfgang Pichler: Certification Authority im Internet Diplomarbeit, Technische Universität Wien http://ebweb.tuwien.ac.at/apsm/diplarbt2/index.htm

[7] Wolfgang Kopp: Rechtsfragen der Kryptographie und der digitalen Signatur Seminararbeit, Juristische Fakultät der Ludwig-Maximilians-Universität München, 13. Januar 1998. http://www.wolfgang-kopp.de/krypto.html