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:
  1. die des Netzes
  2. 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:

3.2 Angriffspunkte in Datennetzen:

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:
  1. Authentifikation (authentication), d.h. Sicherstellung der Authentität, also der Echtheit und Unversehrtheit (Integrität) der Information (Nachrichten)
  2. Vertraulichkeit (confidentiality), bzw. Geheimhaltung der Information, so daß Unbefugte (Personen, Instanzen, Prozesse) weder Kenntnis noch Nutzen daraus ziehen können.
  3. Zugriffskontrolle (access control), d.h. Vorsorge treffen, sodaß nur Berechtigte, also autorisierte Benutzer, auf Informationen zugreifen und sie nutzen bzw. verarbeiten können.
  4. Verfügbarkeit (availability), d.h. Versorge treffen, damit auf die Information zur rechten Zeit und am rechten Ort zugegriffen werden kann.
  5. 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 :
  1. 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.
  2. Echtheit von Informationen sicherzustellen, sowie Mittel bereitzuhalten, um diese verifizieren zu können.
  3. 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

3.3.5 Digitale Unterschrift (Signatur)

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 .

3.4.1.1.1 Schwachstellen

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 :
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.

3.4.2.1.1 Funktionsweise

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.

3.5 Schlüsselmanagement von öffentlichen Schlüsseln

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