DATENSICHERHEIT im E-COMMERCE

 

 

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:   

 

PEM

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

 

MIME

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.

·        Schlüssellänge beträgt 128 Bit

 

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:

1.   Kommunikationspartner einigen sich auf

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)

  1. ES GILT NUN:  k=k1=k2 !!!

 

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

  1. Der Sender berechnet d = e-1*(mod tf(n) ). Die Zahl d stellt den Private-Key dar.
  2. Der Empfänger kennt den Public-Key e und n des Senders und verschlüsselt damit seine Nachricht msg_e, welche er als Zahl betrachtet. Zur Verschlüsselung verwendet er coded_e:= msg_ee*(mod n). coded_e stellt den verschlüsselten Text dar.
  3. Der Sender entschlüsselt den Text mit clear_sd*(mod n) und erhält den Klartext msg_e.

 

 

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.