Certification Authority im Internet
3 SICHERHEITSASPEKTE IM INTERNET
Das Thema _Sicherheit in Datennetzenä erhitzt die Gemüter, und
die Emotionen gehen hoch. Da das Internet - natürlich ganz
speziell das World Wide Web - immer mehr in Richtung
Kommerizialisierung geht, und viele Unternehmen gerne Geschäfte
und die firmeneigene Kommunikation über das Netz abwickeln
möchten, ist der Bedarf an Lösungen groß - besonders auch, was
die Sicherheit von Geldtransaktionen betrifft.
Eines der meist angeführten Beispiele ist in diesem Zusammenhang
die Übermittlung der Kreditkartennummer, da die Nummer und die
übrigen Details, wenn keine besonderen Vorkehrungen getroffen
werden, in Klartext erfolgt. Diese Daten sind jedoch nicht für
jedermann so ohne weiters lesbar, aber doch für Spezialisten
zugänglich.
Fairerweise muß man aber auch zugeben, wenn die Kreditkarte, z.B.
in einem fernöstlichen Restaurant oder sonstwo benutzt wird, sich
kaum jemand darüber Gedanken macht, ob der Kassier wirklich nur
den Rechnungsbetrag abbucht, oder im schlimmsten Fall gleich die
Kreditkarte kopiert bzw. Daten von dieser notiert.
Trotzdem ändert das nichts an der Tatsache, daß diese Daten zu
schützen sind.
Deshalb sind auch die Kreditkartenunternehmen keineswegs untätig.
So haben VISA und Microsoft Ende September 1995 die Spezifikation
ihrer _Secure Transaction Technologyä (STT) veröffentlicht.
Einige Tage später stellten Mastercard, IBM, Netscape, GTE und
CyberCash ihren Vorschlag _Secure Electronic Payment Protocol
Specificationä (SEPP) vor. Jedoch beschlossen Visa und
Mastercard am 27.Oktober 1995, einen gemeinsamen Standard Namens
_Secure Electronic Transactionä (SET) zu entwickeln. Am
29.Februar 1996 gab American Express (drittgrößte
Kreditkartenorganisation) bekannt, SET zu unterstützen.
Beides ohne die sonst übliche Geheimniskrämerei, sondern als
offene Spezifikationen, die jeder einsehen kann.
3.1 SICHERHEITSKONZEPTE
3.1.1 Netzebene
3.1.2 Anwendungsebene
3.2 ANGRIFFSPUNKTE IN DATENNETZEN
3.2.1 Sicherheitsanforderungen allgemein
3.2.2 Maßnahmen zur Erhöhung der Sicherheit
3.3 GRUNDLAGEN KRYPTOGRAPHISCHER VERFAHREN
3.3.1 Symmetrisches Verfahren (Private-Key Verfahren)
3.3.2 Asymmetrisches Verfahren
3.3.2.1 Einwegfunktion
3.3.2.2 Public -Key -Verfahren (Trapdoor - Funktion)
3.3.3 Unterschied symmetrischer - asymmetrischer Verfahren
3.3.4 Hybride Verfahren
3.3.5 Digitale Unterschrift (Signatur)
3.3.5.1 Hashfunktion (Message Digest)
3.4 METHODEN DER KRYPTOGRAPHIE
3.4.1 Symmetrische Verfahren
3.4.1.1 DES(Data Encryption Standard)
3.4.1.1.1 Schwachstellen
3.4.1.2 IDEA(International Data Encryption Algorithm)
3.4.1.3 RC2 und RC4
3.4.2 Asymmetrische Verfahren
3.4.2.1 RSA
3.4.2.1.1 Funktionsweise
3.4.2.1.2 Angriffsmöglichkeiten
3.4.2.1.3 Vergleich RSA und IDEA :
3.5 SCHLÜSSELMANAGEMENT VON ÖFFENTLICHEN SCHLÜSSELN
3.1 Sicherheitskonzepte
Grundsätzlich kann man zwischen Sicherheitskonzepten auf zwei
Ebenen unterscheiden:
- die des Netzes
- die der Anwendungsebene
3.1.1 Netzebene
Fragestellungen sind hier, wie man bestimmte Dienste wie WWW,
Telnet oder FTP nur für bestimmte Clients (Rechner) zulassen
und andere Maschinen ausschließen kann, d.h. hier geht es vor
allem darum, daß der Fluß der Datenpakete im Netz kontrolliert
wird.
Dies ist möglich, da jedes Paket eine Sende- und Zieladresse
beinhaltet.
Die Stichworte in diesem Bereich heißen Firewall, Paketfilter,
Router-Konfiguration und so weiter.
Wer aber als Online-Anbieter im Internet auftreten will, muß
natürlich für jeden potentiellen Kunden den Zugang zum Server
erlauben und nicht nur für eine spezielle Gruppe.
3.1.2 Anwendungsebene
Hier wird der Zugang eines Clients zu bestimmten Diensten
vorausgesetzt.
Sicherheitsfragen sind hier nicht mehr bestimmte
Netzeigenschaften, sondern betreffen die Ebene von Benutzern,
Clients, Servern und Objekten:
- Wie kann ich verbindliche Transaktionen über das Netz
abwickeln?
- Wie kann ich mich vergewissern, daß mein
Kommunikationspartner tatsächlich derjenige ist, für den
er sich ausgibt?
- Wie kann ich Dokumente nur für ganz bestimmte Clients
freigeben, etwa solche, die dafür bezahlt haben?
- Wie kann ich diese Dokumente übertragen, ohne daß sie auf
dem Weg zum Kunden in einer der vielen Internet-
Zwischenstationen einem Unbefugten in die Hände fallen?
3.2 Angriffspunkte in Datennetzen:
- Unerlaubtes Lesen :
Neben dem Abhören der Leitungen auf konventionellem Wege
können Systemverwalter oder bösartige Hacker auf die
zwischengespeicherten Nachrichten (Mitteilungen) direkt
zugreifen.
- Unerlaubtes Modifizieren (wie z.B. Verändern oder
Duplizieren) :
In konventionellen Systemen gibt es keinerlei
Sicherungsmaßnahmen, die dies verhindern oder erkennen.
- Vortäuschen einer falschen Identität :
Protokolle zum Austausch elektronischer Nachrichten
ermöglichen oft, Mitteilungen zu erzeugen, die glauben
machen sollen, sie wären von einem anderen Autor. Zum
Beispiel wird im Artikel Schlüsseldienst der Fall
dargestellt, wie die E-Mail Adresse des US-Präsidenten
verwendet wurde, ohne daß der Empfänger dieser Mails eine
Möglichkeit hatte, die Täuschung zu entdecken.
3.2.1 Sicherheitsanforderungen allgemein
Wie aus der nachstehenden Aufzählung ersichtlich ist, umfaßt die
Informationssicherheit im wesentlichen fünf Sicherheitsaufgaben,
die auch aus der OSI-Sicherheitsarchitektur erkennbar sind:
- Authentifikation (authentication),
d.h. Sicherstellung der Authentität, also der Echtheit
und Unversehrtheit (Integrität) der Information
(Nachrichten)
- Vertraulichkeit (confidentiality),
bzw. Geheimhaltung der Information, so daß Unbefugte
(Personen, Instanzen, Prozesse) weder Kenntnis noch
Nutzen daraus ziehen können.
- Zugriffskontrolle (access control),
d.h. Vorsorge treffen, sodaß nur Berechtigte, also
autorisierte Benutzer, auf Informationen zugreifen und
sie nutzen bzw. verarbeiten können.
- Verfügbarkeit (availability),
d.h. Versorge treffen, damit auf die Information zur
rechten Zeit und am rechten Ort zugegriffen werden kann.
- Beurkundung (notarization),
Möglichkeiten zur Anerkennung der Übermittlung (non-
repudiation with proof of delivery) bzw. zur Anerkennung
des Ursprungs (non-repudiation with proof of origin) der
Information schaffen.
Erläuterungen zu den einzelnen Begriffen :
Authentifikation
Wie kann man feststellen, ob die gesendeten Nachrichten wirklich
von der Person (Anwendung) stammen, die vorgegeben wird, oder ob
nur eine Fälschung vorliegt.
Integrität / Unversehrtheit:
Die übermittelte Nachricht, z.B. ein Kaufvertrag, muß
Informationen beinhalten, die die Unversehrtheit belegen können.
Dabei kann es sich um eine Art Prüfsumme handeln, deren Wert
abhängig vom Inhalt der Nachricht ist. Dabei muß jedoch die
Eindeutigkeit dieser Prüfsumme gewährleistet sein, d.h. zwei
verschiedene Nachrichten dürfen keinesfalls die gleiche Prüfsumme
ergeben.
Diese Eigenschaft ist sogar ein Mehr an Sicherheit, als es z.B.
herkömmliche, auf Papier erstellte, Verträge bieten.
Vertraulichkeit:
Sowohl die Nachrichten selbst, als auch die bloße Existenz der
Nachrichten, darf für Außenstehende nicht erkennbar sein.
Beurkundung (Verbindlichkeit):
Die fünfte Sicherheitsaufgabe hat eher juristische Bedeutung und
erfüllt etwa die Funktion, die das Einschreiben eines Briefes
bewirkt.
Hierunter würde ich auch den Begriff Verbindlichkeit einordnen,
denn nicht nur beim elektronischen Handel, aber dort besonders,
ist Verbindlichkeit von Bedeutung. Im Streitfall muß der
Verkäufer dem Käufer nachweisen können, daß dieser tatsächlich
einen verbindlichen Auftrag über das Netz getätigt hat. Ebenfalls
hätte der Käufer gerne vom Verkäufer ein Angebot oder eine
Lieferzusage in verbindlicher Form, um im Streitfall Ausstände
einklagen zu können.
3.2.2 Maßnahmen zur Erhöhung der Sicherheit
Dabei muß bei elektronischer Kommunikation die Möglichkeit
bestehen :
- Personen dezentral zu authentisieren,
wobei aber nur Daten offengelegt werden sollen, die
notwendig sind, um über berechtigte Anfragen Auskunft zu
geben und um die überflüssige Beteiligung zentraler
Stellen zu vermeiden. Würde allzuviel Information in
zentralen Stellen verwaltet, so würde im Fall eines
Einbruchs das ganze System gefährdet sein. Zusätzlich
hätten die Systemverwalter, die natürlich Zugriff auf die
sensitiven Daten haben, ein zu großes Machtpotential
inne.
- Echtheit von Informationen sicherzustellen, sowie Mittel
bereitzuhalten, um diese verifizieren zu können.
- Vertraulichkeit und Privatsphäre in einer
Mehrbenutzerumgebung zu gewährleisten .
In allen Fällen ist der Einsatz von kryptographischen Algorithmen
(Verschlüsselungs-systemen) nötig.
3.3 Grundlagen kryptographischer Verfahren
Der Vorgang der Verschlüsselung von Daten kann wie folgt
dargestellt werden :
Abbildung 7 - Prinzip Verschlüsselung
Kryptographische Verfahren bestehen aus einem Ver- und einem
Entschlüsselungs-algorithmus E für encryption (Verschlüsselung)
bzw. D für decryption (Entschlüsselung), der jeweils durch den
Schlüssel SE bzw. SD für jede Kommunikationsbeziehung
parametrisiert ist (siehe
Abbildung 7 - ).
Durch Verschlüsselung wird die Nachricht (Klartext) des Absenders
A mittels des Schlüssels SE in einen Ciphertext transformiert.
Der dazu inverse Vorgang wird als Entschlüsselung bezeichnet.
Jedes Verschlüsselungssystem folgt somit den nachstehenden Regeln
:
SE (Klartext) -> Ciphertext
SD (Ciphertext) -> Klartext
bzw.
SD (SE (Klartext)) -> Klartext
SE (SD (Ciphertext)) -> Ciphertext
Ziel der Verschlüsselung allgemein ist es also, die vorhandenen
Daten mathematisch so zu transformieren, daß ein Angreifer keine
Möglichkeit hat, aus dem Ciphertext den Klartext zu erhalten. Die
Entschlüsselung soll nur mittels des Schlüssels gelingen.
Je nachdem, welche Beziehung zwischen Ver- und Entschlüsselung
von Nachrichten (Daten) bestehet, wird zwischen symmetrischen und
asymmetrischen Verschlüsselungsverfahren unterschieden.
3.3.1 Symmetrisches Verfahren (Private-Key Verfahren)
Von einem symmetrischen Verfahren spricht man dann, wenn bei der
Ver- bzw. Entschlüsselung der gleiche Schlüssel verwendet wird,
d.h. SE = SD = SPrivat (siehe Abbildung 8 - ).
Vertreter dieses Verfahrens sind z.B. DES (Data Encryption
Standard) und IDEA (International Data Encryption Algorithm)
Abbildung 8 - symmetrische Verschlüsselung
3.3.2 Asymmetrisches Verfahren
Ein Verschlüsselungsverfahren ist dann asymmetrisch, wenn für die
Verschlüsselung ein anderer Schlüssel (SE ) verwendet wird, als
für die Entschlüsselung (SD ). Somit besitzt jeder Teilnehmer ein
Schlüsselpaar. Beide Schlüssel sind aber einander eindeutig
zugeordnet, wobei es auch praktisch unmöglich ist, SD aus SE oder
aus dem Ciphertext zu berechnen.
Dadurch ist es nicht mehr notwendig, daß die beiden Partner einen
gemeinsamen Schlüssel kennen, im Gegensatz zum symmetrischen
Verfahren.
Zwei verschiedene Arten:
3.3.2.1 Einwegfunktion :
Die Rückführung des Chiphertextes in den ursprünglichen Klartext
ist praktisch unmöglich (zu großer Rechenaufwand), d.h. es
existiert kein Schlüssel SD zum Dechiffrieren. Die wichtigste
Anwendung solcher Funktionen ist die Paßwortverschlüsselung, z.B.
bei der Login-Prozedur wird die Einwegfunktion auf das Paßwort
(entspricht SE ) angewandt, und das Ergebnis mit dem
Vergleichsauthentikator, welcher in einer Paßwortdatei
gespeichert ist, verglichen.
3.3.2.2 Public -Key -Verfahren (Trapdoor - Funktion)
Hier gibt es im Gegensatz zu der Einwegfunktion auch einen
Schlüssel zum Entschlüsseln SD .
Somit sind die Voraussetzungen für ein Public-Key-Verfahren
gegeben, d.h. Nachrichten, die mit dem Schlüssel SE - dieser wird
öffentlich bekannt gemacht - chiffriert wurden, können nur mehr
mit dem Schlüssel SD (geheimer Schlüssel) dechiffriert werden,
sofern die beiden Kommunikationspartnern denselben Algorithmus
zum Ver- und Entschlüsseln verwenden.
Der Schlüssel zum Verschlüsseln ( SE ) wird auch als Public Key
Spublic bezeichnet und der Schlüssel zum Entschlüsseln ( SD )
als Private Key Sprivate.
Vertreter dieses Verfahrens schlechthin ist RSA
Beispiel aus der Praxis :
Wenn Alice (Absender) eine Nachricht an Bob (Empfänger) senden
möchte (Kryptographen verwenden gerne die Namen Alice und Bob für
die Kommunikations-partner), chiffriert sie diese mit Bobs
öffentlichem Schlüssel SBob public . Zum Dechiffrieren ist Bobs
privater Schlüssel SBob private erforderlich. Da nur Bob im
Besitz dieses Schlüssels ist (und ihn hoffentlich immer gut
verwahrt), kann nur er die Nachricht dechiffrieren und lesen,
siehe Abbildung 9 - .
Abbildung 9 - Public-Key Verfahren
Durch die Verschlüsselung der Nachricht mit dem öffentlichen
Schlüssel Spublic des Empfängers kann zwar die Vertraulichkeit
der Daten sichergestellt werden. Man kann jedoch nicht mit
Sicherheit feststellen, wer der Absender der Daten ist und ob der
Inhalt (Integrität) der Nachricht unverfälscht übermittelt wurde.
Um aber die Anerkennung der übertragenen Daten zu sichern, kann
der Mechanismus der elektronischen (digitalen) Unterschrift
verwendet werden.
3.3.3 Unterschied symmetrischer - asymmetrischer Verfahren
Symmetrische Verfahren :
Vorteile :
Diese Verschlüsselungsverfahren arbeiten gegenüber einem
asymmetrischen System wesentlich schneller. Die Geschwindigkeit ist in erster Linie von der
Schlüssellänge abhängig. DES und RSA etwa unterscheiden
sich um einen Faktor von mindestens 100, bei einer DES-
Implementierung in Hardware kann dieser Faktor leicht auf
1000 bis 10000 ansteigen.
Nachteile :
Das Schlüsselmanagment ist schwierig, da sowohl der
Absender (A), als auch der Empfänger (E) den gleichen
Schlüssel verwenden, d.h. der Schlüssel muß auf einem
sicheren Kanal (Medium) dem Gegenüber mitgeteilt werden.
Daher ist eine Authentisierung nur unter Verwendung einer
zentralen Stelle möglich.
Asymmetrische Verfahren :
Vorteile :
Einfacheres Schlüsselmanagement gegenüber symmetrischen
Verfahren, da der geheime Schlüssel den Inhaber nie
verläßt. Jedoch hat der öffentliche Schlüssel einen
besonderen Stellenwert .
Man kommt in der Regel mit wesentlich weniger Schlüssel
aus als beim symmetrischen Verfahren, da dort jeweils
zwei Kommunikationspartner einen Schlüssel benötigen,
jedoch beim asymmetrischen Verfahren jeder Teilnehmer mit
einem Schlüsselpaar auskommt. Bei n Teilnehmern ergibt
sich also folgende Schlüsselanzahl:
symmetrisches Verfahren: (n2-n)/2 Schlüssel
asymmetrisches Verfahren: 2n Schlüssel
Nachteile :
Aufgrund langer Schlüssel arbeiten diese Verfahren
relativ langsam.
3.3.4 Hybride Verfahren
Hybride Verfahren sind eine Kombination aus symmetrischen und
asymmetrischen Verfahren. Dadurch kann man die Vorteile beider
Verfahren vereinen. Während die symmetrischen Verfahren in der
Regel schneller sind, gestaltet sich das Schlüsselmanagement bei
asymmetrischen Verfahren einfacher.
Ein typischer Anwendungsbereich ist der Schlüsselaustausch : Ein
für eine Verbindung (Sitzung) gültiger symmetrischer Schlüssel
wird mit Hilfe eines asymmetrischen Verfahrens (z.B. RSA) über
einen unsicheren Kanal (Internet) ausgetauscht.
Abbildung 10 zeigt ein Schlüsselaustauschprotokoll
Beschreibung :
Alice (Teilnehmer A) und Bob (Teilnehmer B) tauschen zunächst
einmal ihre öffentlichen Schlüssel aus bzw. besorgen diese von
einem öffentlichen Verzeichnis. Anschließend erzeugt jeder
Teilnehmer eine Zufallszahl (RND(a) bzw. RND(b)), verschlüsselt
diese mit dem öffentlichen Schlüssel des anderen Partners (SAlice
public bzw. SBob public) und versendet sie an den
Kommunikationspartner. Nun kann jeder Teilnehmer mit seinem
geheimen Schlüssel (SAlice private bzw. SBob private) die
Zufallszahl des anderen dechiffrieren. Da beide Partner jetzt im
Besitz beider Zufallszahlen sind, wird durch Anwendung einer
logischen Funktion (im Beispiel eine Antivalenz (xor)) daraus ein
einziger Session Key erzeugt, womit nun ein verschlüsselter
Datenaustausch mit einem symmetrischen Verfahren möglich ist.
Bei den Kommunikationspartnern kann es sich auch um Anwendungen
handeln, die das eben vorgestellte Verfahren in ähnlicher Weise
verwenden, um eine sichere Übertragung auf einem unsicheren Kanal
aufzubauen und durchzuführen.
Als Beispiel sei hier etwa das Secure Socket Layer (SSL)
Protokol oder das Private Communication Technology (PCT)
Protocol angeführt.
Abbildung 10 - Schlüsselaustauschprotokoll
Spricht man von einer digitalen Unterschrift, so sind keineswegs
_digitalisierteä, z.B. eingescannte Unterschriften, gemeint. Denn
diese ließen sich ohne großen Aufwand kopieren und an beliebige
Dokumente anhängen.
Vielmehr erzeugt ein digitales Signatursystem aus einem geheimen
Signierschlüssel und den Daten einer digitalen Nachricht eine
Zahlenfolge (die Signatur), die eine Prüfung auf Authentizität
und Integrität , also Herkunft und Unverfälschtheit der
Nachrichten, erlauben.
Der Verfasser einer Nachricht (N) errechnet mit seinem privaten
(geheimen) Signierschlüssel G und einem Signieralgorithmus SA
(öffentlich bekannt) eine Signatur Sig.
Signatur Sig := SA(N, G)
3.3.5.1 Hashfunktion (Message Digest)
Dabei wird aber häufig nicht die Nachricht N selbst signiert,
sondern wird zuvor mit Hilfe einer kryptographischen Hashfunktion
H ein _Fingerabdruckä N (auch Message Digest genannt) der
Nachricht erzeugt.
Dieser Message Digest (MD), auch Message Integrity Check (MIC),
wird nun anstelle der Nachricht N zum Erzeugen der Signatur
verwendet:
Message Digest MD := H(N)
Signatur SigMD := SA(MD, G)
Der Empfänger des Paares (MD, SigMD) kann nun mit dem
öffentlichen Prüfschlüssel Ppublic des Urhebers und dem
Prüfalgorithmus P die Signatur und damit die Authentizität und
Integrität der Message Digest MD überprüfen, siehe Abbildung 11.
Beispiel :
Alice (Absender) erzeugt von der zu sendenden Nachricht N eine
Message Digest MD und erstellt daraus mit Hilfe ihres geheimen
Schlüssels G und dem Signieralgorithmus SA eine Signatur. Dieser
Vorgang wird von geeigneten Programmen* in einem Schritt
durchgeführt. Nachricht und Signatur werden an Bob (Empfänger)
übermittelt. Er kann nun ebenfalls mit einem geeigneten Programm
aus der Signatur mit dem öffentlichen Schlüssel Ppublic das
übermittelte MD dechiffrieren, ein MD von der Nachricht N
erzeugen. Stimmen nun beide MD's überein, so kann Bob annehmen,
daß die Nachricht von Alice stammt und nicht verfälscht wurde.
Abbildung 11 - digitale Unterschrift
Allerdings ist es auch möglich mit Hilfe des Public-Key-
Verfahrens, eine digitale Unterschrift zu realisieren.
Abbildung 12 - elektronische Unterschrift mit Public-Key
Verfahren
Erklärung :
Alice (Absender) chiffriert ihre Nachricht mit ihrem geheimen
Schlüssel. Die erzeugte chiffrierte Nachricht (entspricht einer
Unterschrift über den ganzen Text) ist ebenso lang wie die
ursprüngliche Nachricht. Die chiffrierte Nachricht wird an Bob
(Empfänger) übermittelt. Mit dem öffentlichen Schlüssel kann er
nun diese Nachricht entschlüsseln. Damit ist sichergestellt, daß
Alice diese Nachricht verfaßt hat, da nur mit ihrem öffentlichen
Schlüssel die Nachricht dechiffriert werden kann (Authentizität)
bzw. auch nur dann, wenn die Nachricht unverfälscht ist
(Integrität).
In der Praxis wird aber um die Unterschrift zu verkürzen, zuerst
von der Nachricht mittels Hashfunktion ein Message Digest MD
erzeugt, oft wird die Nachricht zuvor noch komprimiert. Dieser MD
wird mit dem geheimen Schlüssel von Alice chiffriert, es entsteht
eine Unterschrift. Ursprüngliche Nachricht und Unterschrift
werden an Bob übermittelt. Dieser erzeugt nun ebenfalls einen MD
von der übermittelten (unchiffrierten) Nachricht, wobei dieselbe
Hashfunktion, die Alice verwendet hat, angewandt werden muß. Die
Unterschrift wird mit dem öffentlichen Schlüssel von Alice
dechiffriert, wodurch man den von Alice erzeugten MD erhält. Sind
nun beide MD's identisch, so sind Authentizität und Integrität
sichergestellt. Vergleiche Abbildung 11, wobei als Signier- und
Prüfalgorithmus das RSA-Verfahren zum Einsatz kommt.
Soll nun neben dem Beweis des Datenursprungs zusätzlich
Vertraulichkeit erreicht werden, so kann dies mittels einer
Kombination aus elektronischer Unterschrift und einer
vertraulichen Übermittlung, erreicht werden. Die Nachricht wird
zunächst digital unterschrieben, entweder die ganze Nachricht
oder nur ein MD dieser Nachricht. Diese wird mittels öffentlichen
Schlüssels des Empfängers dechiffriert und danach an den
Empfänger gesendet. Damit ist die Vertraulichkeit der Übertragung
gewährleistet, da nur der rechtmäßige Empfänger mit seinem
geheimen Schlüssel die Nachricht dechiffrieren kann und die
Unterschrift, wie oben beschrieben, überprüfen kann.
Mit geeigneten Programmen werden die oben beschriebenen Vorgänge
automatisch ausgeführt, um die Anwendung für den Benutzer zu
vereinfachen.
Typisches Programm : z.B. PGP
3.4 Methoden der Kryptographie
In diesem Kapitel wird die technische Funktionsweise von
Verschlüsselungsalgorithmen beschrieben.
3.4.1 Symmetrische Verfahren
3.4.1.1 DES (Data Encryption Standard)
DES wurde ursprünglich von der Firma IBM entwickelt und 1977 von
der amerikanischen Regierung als offizieller Standard anerkannt
.
Dieses Verfahren wird derzeit bei vielen kommerziellen
Anwendungen eingesetzt, jedoch ist die Sicherheit, aufgrund der
rasanten Entwicklung von starken Entschlüsselungsverfahren, für
die Zukunft gefährdet. So verwendet die amerikanische Regierung
für die Verschlüsselung ihrer sensitiven Daten dieses Verfahren
nicht mehr, da durch die geringe Schlüssellänge von 56 Bit, einem
brute force Attack nicht mehr ausreichend standgehalten werden
kann .
So wurde auf der Konferenz Crypto '93 von Michael Wiener vom Bell
Northern Entwicklungszentrum ein Bericht vorgelegt, wie mit einer
speziellen Maschine eine mit DES chiffrierte Nachricht
entschlüsselt werden kann. Er entwickelte und testete einen
Chip , der 50 Millionen Schlüssel pro Sekunde finden kann.
Zusätzlich beschrieb er, daß dieser Chip (in größeren
Stückmengen) für $ 10,50 / Stück erzeugt werden kann. Damit
könnte eine Maschine aus 57000 solcher Chip's für ca. $ 1 Million
gebaut werden, die 7 Stunden - im Durchschnitt 3,5 Stunden -
benötigt, um den DES-Schlüssel zu finden. Mit $ 10 Millionen
Aufwand würde ein Ergebnis in 21 Minuten vorliegen und mit $ 100
Millionen in nur 2 Minuten. Wenn man bedenkt, daß Regierungen
über beträchtliche Budgets verfügen, könnten diese mit DES
verschlüsselten Nachrichten in nur wenige Sekunden geknackt
werden, d.h. mit einem 56 Bit DES-Verschlüsselungsverfahren kann
eine seriöse Garantie der Datensicherheit nicht erreicht werden.
Ein Möglichkeit, um die Schlüssellänge von DES zu erhöhen, wäre
eine dreifache DES-Verschlüsselung, d.h. die zu verschlüsselnde
Nachricht wird dreimal nacheinander mit dem DES Verfahren
verschlüsselt. Dadurch erhält man eine effektive Schlüssellänge
von 112 Bit, wodurch aber der Vorgang der Verschlüsselung dreimal
solang dauert.
Wesentlich sicherer ist der nachfolgend vorgestellte IDEA-
Algorithmus.
3.4.1.2 IDEA (International Data Encryption Algorithm)
Dieses Verfahren wurde an der ETH Zürich von James L. Massey und
Xuejia Lai entwickelt und 1990 publiziert. In früher
veröffentlichten Dokumenten wurde dieses Verfahren IPES (Improved
Proposed Encryption Standard) genannt.
3.4.1.3 RC2 und RC 8
RC2 und RC4 sind symmetrische Verschlüsselungsverfahren, wobei im
Gegensatz zu DES ein Schlüssel variabler Länge verwendet werden
kann. Entwickelt wurden diese Verfahren von Ron Rivest.
Vorteile gegenüber DES :
- durch Variation der Schlüssellänge, kann sowohl ein
sicheres (längerer Schlüssel als in DES), als auch ein
unsicheres (kürzerer Schlüssel als in DES) Ergebnis
erzielt werden
- arbeiten schneller
RC2 ca. zweimal schneller, als Softwareversion
RC4 ca. zehnmal schneller, als Softwareversion
Die Chiffrierung erfolgt bei RC2 blockweise, bei RC4
zeichenweise.
Durch ein Abkommen zwischen der Software Publishers Association
(SPA) und der U.S. Regierung erhielten RC2 und RC4 einen
besonderen Status, um einen schnellen Export dieser Algorithmen
zu ermöglichen. Und zwar wurde die Schlüssellänge auf 40 Bit
festgesetzt, mit Ausnahme von U.S. Firmen außerhalb der USA, die
Schlüssel mit 56 Bit verwenden dürfen. Eine zusätzliche 40 Bit
lange Zeichenfolge (salt - Salzkorn) kann verwendet werden, um
die Verschlüsselung sicherer zu machen, indem dieses salt mit dem
40 Bit langen Schlüssel zusammengefaßt wird und so einen neuen
Schlüssel bildet. Dieser Schlüssel wird zum Chiffrieren der
Nachricht verwendet, wobei aber das salt in unverschlüsselter
Form mitübertragen wird.
RC2 und RC4 sind gesetzlich geschützte Algorithmen der RSA Data
Security, Inc . Genaure Details der Algorithmen wurden bisher
noch nicht veröffentlicht.
3.4.2 Asymmetrische Verfahren
3.4.2.1 RSA
RSA, das wohl berühmteste asymmetrische
Verschlüsselungsverfahren, ist benannt worden nach Rivest, Shamir
und Adleman, seinen Entwicklern. Als sie es 1977
veröffentlichten, war es das einzige öffentlich bekannte
Verfahren, das die 1967 von Diffie und Hellman publizierte Idee
öffentlicher Schlüssel tatsächlich einsetzen konnte.
Das System basiert auf Rechnungen im Körper der ganzen Zahlen
modulo pq, wobei p und q zwei Primzahlen sind. In diesem System
zu rechnen, geht ebenso vor sich wie gewohnt, nur, daß vom
Ergebnis lediglich der Rest bei Division durch pq behalten wird.
Wenn wir als Beispiel pq = 15 setzen, dann sind folgende
Rechnungen korrekt:
2 + 5 = 7
2 * 5 = 10
4 * 5 = 5
4 * 4 = 1
1 / 4 = 4
Von besonderem Interesse sind hier die Exponentialfunktionen:
5 ^ 2 = 10
4 ^ 7 = 4
denn es ist kein effizientes Verfahren bekannt, diese Rechnung
umzukehren, d.h. es gibt keine Möglichkeit, in annehmbarer Zeit
Probleme wie x ^ 5 = 12 zu lösen. (Auf der Schwierigkeit des
diskreten Logarithmus, also der Lösung von 6 ^ x = 8 etc.,
beruhen andere Verfahren.) Weiterhin interessant ist eine
Beziehung, die schon Euler bekannt war:
a ^ {phi (x)} ~= 1 (mod x)
Wobei ~= das Zeichen dafür ist, daß wir das oben erwähnte Modulo-
Rechnen durchführen, und zwar mod x. phi (x) ist die Eulersche
Phi-Funktion. Für uns wichtig ist nur, daß phi (pq) = (p - 1)(q -
1) gilt, wiederum für die Primzahlen p und q. Eine kurze Rechnung
ergibt:
a ^ {phi (pq)} ~= 1 (mod pq)
a ^ {(k * phi (pq))} ~= 1 (mod pq)
a ^ {(k * phi (pq) + 1)} ~= a (mod pq)
Wenn wir nun zwei Zahlen d und e einführen, von denen wir
verlangen, daß de = k * phi (pq) + 1 gelten soll (k sei eine
beliebige ganze Zahl ungleich null), dann erhalten wir (ab sofort
alle Rechnungen modulo pq):
a ^ de = a
a ^ d = b
b ^ e = a
Wobei die Kenntnis von b und d nicht ausreicht, um a zu
berechnen. RSA funktioniert nun so, daß als öffentlicher
Schlüssel d und das Produkt pq veröffentlicht werden und die
Nachrichten a damit wie eben beschrieben verschlüsselt werden.
Die verschlüsselten Nachrichten (b) können dann bedenkenlos
versandt werden, da sie ohne e nicht entschlüsselt werden können.
3.4.2.1.2 Angriffsmöglichkeiten
Aus a und b e berechnen: ädiskreter Logarithmusä, gilt als
derzeit unlösbar.
Aus pq und d das geheime e berechnen: Hierzu muß nach derzeitigem
Wissensstand pq in seine Faktoren zerlegt werden, was ebenfalls
für nicht sinnvoll lösbar gehalten wird.
Eine an verschiedene Empfänger verschlüsselte Nachricht
entschlüsseln: Wenn dasselbe a an mehrere Empfänger verschlüsselt
wird, wobei dasselbe d verwendet wird (das ist nicht
unwahrscheinlich), ist es mit einem kleinen mathematischen
Kunstgriff möglich, die Nachricht zu entschlüsseln. Dies betrifft
PGP nicht, da hier beim Verschlüsseln an mehrere Empfänger der
IDEA-Schlüssel stets mit Zufallszahlen aufgefüllt wird, die für
jeden Empfänger verschieden sind (Hybridverfahren).
3.4.2.1.3 Vergleich RSA und IDEA :
Der Arbeitsaufwand, um den 128 Bit Schlüssel von IDEA zu brechen,
würde einem Aufwand entsprechen, um einen 3100 Bit langen RSA
Schlüssel zu knacken, wobei bei Anwendungen mit RSA-Verfahren
derzeit 1024 Bit lange Schlüssel schon als sehr sicher gelten.
Unter der Annahme, daß die verwendeten Algorithmen bzw. Programme
sicher sind, liegt der Schwachpunkt beim Schlüsselmanagement.
Insbesondere, wenn sich die beiden Kommunikationspartner nicht
persönlich kennen, stellt sich die Frage nach der Echtheit des
öffentlichen Schlüssels. Da der Empfänger einer Nachricht deren
Echtheit unter Verwendung des öffentlichen Schlüssels des
Absenders zu verifizieren versucht, muß er sich auf die
Authentizität dieses Schlüssels verlassen können.
Zu diesem Zweck können Zertifizierungsstellen (certification
authorities, CA's) eingerichtet werden, die nach dem Schema von
X.50965 vorgehen.
Diese Stellen bestätigen die Zugehörigkeit eines öffentlichen
Schlüssel zu einer bestimmten Person, indem sie ein Zertifikat,
bestehend aus einer eindeutigen Identifikation dieser Person und
deren öffentlichen Schlüssel, mit ihrem eigenen geheimen
Schlüssel signieren. Der öffentliche Schlüssel der
Zertifizierungsstelle muß beiden Kommunikationspartnern bekannt
sein.
Dies wäre zum Beispiel der Fall, wenn zwei Personen, Teilnehmer A
und Teilnehmer B, einer Organisation angehören, die eine
Zertifizierungsstelle eingerichtet hat (siehe Abbildung 13 - ).
Abbildung 13 - Zertifizierungsstelle
Wenn die beiden Benutzer jedoch verschiedenen Organisationen
angehören, welche sich eventuell in verschiedenen Ländern
befinden, so könnte es sein, daß ein Benutzer die
Zertifizierungsstelle des anderen nicht anerkennt oder ihr nicht
traut. Deshalb führt der Zertifizierungsmechanismus eine
Hierarchie von Zertifizierungsstellen ein:
Das Zertifikat von Teinehmer A wird von der lokalen
Zertifizierungsstelle CA1 ausgestellt. Diese kann eine
organisationseigene Zertifizierungsstelle oder eine öffentliche
Zertifizierungsstelle z.B. der Gemeinde sein. Diese
Zertifizierungsstelle besitzt wieder einen öffentlichen
Schlüssel, mit dem das Zertifikat von Teilnehmer A verifiziert
werden kann. Die Zugehörigkeit dieses Schlüssels zu CA1 wird mit
Hilfe eines Zertifikats, von der übergeordneten
Zertifizierungsstelle CA2, bescheinigt, z.B. speziellle Abteilung
eines Bundeslandes. Dieser Vorgang wiederholt sich, bis die
Wurzel des so entstandenen Baumes erreicht wurde, die sogenannte
Top Level CA (siehe Abbildung 14)
Abbildung 14Hierarchie von Zertifizierungsstellen
Inhalt
Naechstes Kapitel: 4 SICHERUNGSMÖGLICHKEITEN IM WWW