1. Bereiche
des E-Commerce:
· Schriftverkehr über E-Mail
·
Online/Internet-Banking
·
Electronic
Cash
· Online-Shopping
1. Versand der Ware über den Postweg
2. Versand der Ware über den elektronischen Weg (Musik-Files, Online Books)
Definitionen:
a) Datensicherheit
· Sicherheit vor absichtlichen Störungen, der Erhalt der
1. Verfügbarkeit der Daten (Sabotage von Hardware)
2. Integrität der Daten(Schutz vor unbefugter Veränderung, Hackereinbrüche)
3. Vertraulichkeit der Daten (Schnüffeln in geheimen Daten)
·
Rechtliche Grundlagen: §9 BDSG
b) Schutz vor Datenmanipulation:
· kryptographische Maßnahmen : Prüfsummen, Verschlüsselungsverfahren
· digitale Signatur : Echtheitsnachweis des Dokumentes,
eindeutige Zuordnung zum Unterzeichner
·
Zugangskontrolle zu Datenleitungen
2. Sicherheitsmängel im Internet:
Internet war
hauptsächlich für wissenschaftliche Zwecke gedacht. Sicherheitsaspekte standen im Hintergrund.
Schwachstellen:
§ TCP/IP wird nicht verschlüsselt
§ Absender-Adresse kann gefälscht werden (Spoofing)
§ Informationsaustausch zwischen Routern kann manipuliert werden
§ Umwandlung von Textadressen in IP-Adressen
§ Fehler in TCP/IP Protokollen
Überblick:
3. Verschlüsselungsverfahren:
einige Begriffe:
Geheiminformation, wird in das Verschlüsselungsverfahren mit eingebaut
je nach Verfahren kann es : Passwort, Geheimnummer oder Bitfolge sein
a) einfache Verschlüsselung:
· Cesar-Chiffre (Buchstabe um n Stellen im Alphabet verschoben)
· One-Time-Pad (XOR mit einer Zufallsfolge als Schlüssel)
· Substitutions-Chiffren ( Abbildung eines Alphabets in ein anderes)
Bsp: Rotorchiffren (Hardwareimplementierung:Enigma)
· Permutations-Chiffren ( zyklische Vertauschung von Zeichen)
·
Polyalphabetische Chiffren :
Vigenere-Chiffre (spaltenweise AND Verknüpfung mit einem Wort)
Vernam-Chiffre (Spezialfall von Vigenere : Schlüssellänge := Klartextlänge)
One-Time-Pad
b) symmetrische Verschlüsselung:
·
Data
Encryption Standard(DES)
·
IDEA
·
Triple-DES,
RC2, CAST, Skipjack, MISTY
c) asymmetrische Verschlüsselung:
· Diffie-Hellmann
· RSA
· Verfahren basierend auf elliptischen Kurven
4. Allgemeine
Signaturverfahren:
eine recht große Zahl, ähnlich wie eine Unterschrift
Anforderungen : Fälschungssicherheit, Echtheit überprüfbar, eindeutige
Zuordnung zu einem Dokument
gängige
Signaturverfahren:
·
RSA (Rivest,
Shamir, Adleman)
1. Sender entschlüsselt den private RSA-Key
2. Empfänger verifiziert dies indem er
a) die teilerfremde Zahl e
b) die Differenz der beiden Primzahlen
RSA-verschlüsselt
· DLSS (Signatur auf Basis des diskreten Logarithmus) (z.B. ElGamal, DAS)
5. Verschlüsselung
im Internet (bezogen auf OSI-Schichten)
hier einige
relevante Schichten:
Schicht 2 (Sicherungsschicht):
Es findet hier keine sichere Tunnelanwendung statt, sondern nur eine Teilstreckenverschlüsselung zwischen den Netzknoten (Schicht 2 zu Schicht 2). Die Datenleitungen ( ISDN, LAN, WAN..) des Internets haben verschiedene Eigentümer, welche hier ihre Verschlüsselungsmaßnahmen anwenden können. Auf der Schicht 2 ist die IP-Adresse nicht mehr bekannt und wird mitverschlüsselt.
Kryptographie z.B. CHAP (Challenge
Handshake Protokoll):
Es stellt einen Authentifizierungsmechanismus für PPP dar. Es wird ein gemeinsamer Schlüssel zwischen den Kommunikationspartnern vereinbart. Es wird hierbei eine Zufallzahl (Challenge) übertragen, welche mit der Schlüsselhash-Funktion bearbeitet wird und anschließend zurückgesendet wird.
Schicht 3 (Vermittlungsschicht):
Hier wird ebenfalls ein sicherer Tunnel verwendet . Die Portnummer ist hier nicht mehr bekannt und deshalb besteht kein Bezug mehr zur Anwendung. Gefahr in dieser Schicht besteht im unbefugten Verfälschen des IP-Headers, und somit eine Umleitung von Paketen auf einen bestimmten Router (in welchen evtl. Pakete ausgespäht bzw. verfälscht werden können). Da auch Router eine IP-Schicht besitzen kann hier eine Teilstückverschlüsselung eingesetzt werden.
Kryptographie:
IPSec ermöglicht die Verschlüsselung der Nutzdaten (ESP) und Integritätsprüfung(AH) des IP-Paketes.
Schicht4 (Transportschicht):
Daten werden von der Vermittlungsschicht an die
Anwendungsschicht unverändert weitergereicht. Ziel in dieser Schicht ist es
einen sicheren Tunnel zwischen zwei Anwendungsprogrammen zu schaffen
(Web-Server / Web-Client). Von der Anwendungsebene wird dem TCP-Protokoll eine
Portnummer übergeben, mit welcher festgestellt werden kann zu welcher Anwendung
die Daten gehören. Diese Portnummer ist ebenfalls verschlüsselt. Dies erschwert
eine unbefugte Verkehrsflussanalyse.
Nachteil: Es kann nur eine bestimmte Portnummer für die Verschlüsselung ausgewählt werden, jedoch nicht selektiv eine bestimmte Nachricht.
Kryptographie:
SSL(Secure Socket Layer) fügt eine zusätzliche Schicht
zwischen TCP und der darüberliegenden Schicht ein. Es ist verhandlungsfähig(
Client und Server können sich auf ein best. Verschlüsselungsverfahren
einigen).SSL lässt nur Point-to-Point Verbindungen zu, keine
Teilstreckenverschlüsselung von Routern
Schicht 7 (Anwendungsschicht):
Web-Browser bzw. E-Mail Applikation übernehmen die Verschlüsselung der NachrichtenAnwendung von digitalen Signaturen und schlüsselabhängigen Hashfunktionen zur Authentisierung des Rechners bzw. des Anwenders.
Nachteil: Applikation muss Verfahren unterstützen
Absender und Empfängeradresse werden nicht verschlüsselt
www-Kryptographie:
Digest Access Authentication: Web-Server schickt eine Zufallszahl, der Client wendet darauf sein Passwort an und schickt diese Verschlüsselung zurück an den Web-Server. HTTPS verwendet die SSL-Verschlüsselung in der Schicht 4.Es wird angewendet, wenn zusätzlich zur Authentifizierung auch Vertraulichkeit gefordert ist. Webseiten beginnen hierbei mit https: //. Der Browser zeigt dies mit einem Icon an, welches ein geschlossenes Schloss darstellt.
e-mail-Kryptographie:
Nachrichten-Bestandteile à verschlüsselte/unverschlüsselte Nachricht, Signatur, symmetrischer Schlüssel die mit dem public-key vom Empfänger
verschlüsselt ist, digitales Zertifikat des Absenders
KryptoVerfahren à DES im CBS-Modus für symmetrische Verschlüsselung, RSA-Verfahren für Schlüsselaustausch, Hashfunktionen
MD2 und MD5, digitale Zertifikate
Nachteile à nur Textnachrichten möglich,
Datenkonvertierung : 7-bit ASCII Codierung, Probleme mit Sonderzeichen und Umlauten
eigene Syntax für die Aufteilung der Nachrichten, VERALTETES VERFAHREN
Nachrichten-Bestandteile à unterteilt Nachricht in Blöcken mit Header (Inhaltstyp,Attribute)
Vorteile à ASCII und Binärdateien werden unterstüzt
6. Verschlüsselungsverfahren
(relevante Verfahren im Internet)
6.1 Symmetrische
Verfahren
a) Data Encryption Standard (DES) :
I. Verschlüsselung :
1) Allgemeine
Eigenschaften :
· verschlüsselt einen Klartext-Bitblock der Länge 64 (z.B. 8 ASCII Zeichen á 8 bit)
in einen 64 -bit Chiffretext-Bitblock
· 64-bit Block enthält 8 bit Prüfsumme à effektive Schlüssellänge von 56 bit
· DES ist eine Kombination der Chiffreverfahren
One-Time-Pad (XOR Verknüpfung )
Permutation (Reihenfolge der Bitfolge)
Substitution (Ersetzung der Bitfolge)
angewendet auf binäre Zeichen.
· kann einfach in Hardware implementiert werden
2) Funktionsweise:
1. es wird sog. Anfangspermutation gebildet à 64-bit Block 1x permutieren
2. dieser Block wird in 2 gleich große 32-bit Blöcke aufgeteilt (L- und R-Block )
3. 16 Runden:
a) auf den L-Block wird eine Funktion F angewendet
b) der aus Schritt a) entstehende Block wird mit dem R-Block XOR verknüpft
c) Ergebnis der XOR-Verknüpfung aus (b) wird der neuen L-Block
d) alte L-Block wird zum neuen R-Block
4.
zuletzt wird eine sog. Endpermutation durchgeführt, welche in
die umgekehrte
Richtung geht wie die Anfangspermutation.
3) Die Funktion F:
Mit Hilfe der Funktion F geht in jedem Durchlauf von Schritt(3) ein anderer Teil des Schlüssels mit ein.
Ziel: Funktion F sollte möglichst zufällige Bitfolgen erzeugen.
Vorgehensweise:
1. der 32-BitBlock wird einmal permutiert.
2.
durch doppelte Verwendung einiger Bits des 32-Bit-Blockes wird
dieser auf einen
48-Bit-Block erweitert
3. erweiterter Block wird mit den 48-Bits des Schlüssels XOR verknüpft
4. entstandener neuer Block wird in 8 gleich große 6-Bit Blöcke (S-BOX) unterteilt
Bemerkung:
Jede S-Box realisiert eine verschiedenartige Ersetzung. Zu jeden der 64 möglichen Eingabewerte, gibt es einen festgelegten 4-Bit Ausgabewert. Dieser Wert wird in einer Tabelle gespeichert. Acht Ausgabewerte á 4 bit ergibt zusammen einen Ausgabewert von 32 bit, welches die Funktion F ausgibt.
4) Erzeugung
eines Schlüssels:
Vorgehensweise:
1. Es werden die 8 Prüfbits des 64-bit Schlüssels geprüft und abgetrennt. Dadurch bleibt ein Schlüssel mit 56 bits (eigentlicher Schlüssel) übrig.
2. Ziel ist es 16 Teilschlüssel à 48-bits aus dem 56-bit-Schlüssel zu erzeugen
a)die 56 Schlüsselbits werden permutiert und in zwei Hälften geteilt
(die beiden Hälften bilden die Eingabe für die nächste Permutation)
b) auf diese beiden Hälften wird eine bitweise Linksrotation ausgeführt. Diese wiederum bilden die Eingabe für die nächste Permutation. Es wird solange wiederholt bis man 16 Teilschlüssel hat.
II. Entschlüsselung :
Die
16 Teilschlüssel werden in umgekehrter Reihenfolge verwendet wie bei der
Verschlüsselung.
Sicherheit:
Es
ist relativ Sicher, solange die Schlüssellänge nicht zu klein gewählt wird.
(Enschlüsselungsaufwand
: 56 bit à 1 s | 64 bit à 4 m | 80 bit à 194 Tage |
128 bit à 1014 Jahre | 256 bit à 1052 Jahre )
Vergleich: Alter des
Universums wird auf 1010 Jahre geschätzt
b) International Data Encryption Algorithm (IDEA) :
Allgemeine Eigenschaften:
· Verwendung von einfachen Funktionen:
1. Addition von modulo 216
2. Multiplikation mit modulo 216+1
3. XOR-Verknüpfungen.
Funktionsweise:
1. der 64-Bit Klartextblock wird in 4 Blöcke á 16 bit unterteilt
2. 8 Durchläufe, mit folgenden Operationen:
a) vier Additionen mit 216
b) vier Multiplikationen mit 216+1
3. Im letzten Durchlauf folgen zwei weitere Modulo- /Multiplikations-Operationen
4. Die
16 Bit Blöcke werden nun zum verschlüsselten Text zusammengesetzt.
Sicherheit:
Bisher
wurde es nicht geknackt, verwendet 128 bit Schlüssellänge. Es ist sehr sicher
und doppelt so schnell wie DES. Allerdings müssen Lizenzgebühren bezahlt
werden.
6.2 Asymmetrische
Verfahren
a) Diffie-Hellman (Lösung
des Schlüsselaustauschproblems)
Allgemein:
Verwendung des diskreten Logarithmus zur Lösung des Schlüsselproblems.
Public-Key-Verfahren
Funktionsweise:
a) Primzahl p
b) natürliche Zahl g , x bzw. y
2. Der Sender berechnet die Zahl a= gx mod p und schickt diese an den Empfänger.
3. Der Empfänger berechnet die Zahl b=gy mod p und schickt diese and den Sender
4. Der Sender berechnet aus der erhaltenen Zahl
b die Zahl à k1 = bx
(mod p)
5. Der Empfänger berechnet aus der erhaltenen
Zahl a die Zahl à k2=ay
(mod p)
Bei großen Zahlen k ist die Lösung des diskreten Logarithmuses extrem aufwendig, was eine unbefugte Entschlüsseln der Nachricht annähernd unmöglich macht.
Warum Public-Key:
Das Ergebnis aus der Modulo-Rechnung a bzw. b stellt den Public-Key dar. Der Exponent x bzw. y stellt den Private-Key dar.
Sicherheit:
Es gilt je größer die Schlüsselbitlänge, desto sicherer das Verfahren, aber auch desto aufwendiger. Es sollte eine Länge von mind. 1024 bit gewählt werden ( Hausgebrauch 512 ).
b) RSA-Verfahren
Allgemein:
Vielfältiger als Diffi-Hellman Verfahren, da es auch zur Public-Key-Verschlüsselung verwendet werden kann. Prinzip des Modulo Wurzelziehens
Funktionsweise:
1. Der Sender wählt
a) 2 Primzahlen p und q und berechnet n :=p – q
b) natürliche Zahl e, welche teilerfremd zu tf(n) = (p-1)*(q-1) ist.
2. Die Zahlen e und n bilden somit den Public-Key
Sicherheit:
Durch die freie Wahl der Schlüssellänge hängt die Sicherheit auch hier von der Länge ab. Gängigste Größe 1024 bit zur Zeit.