Seminarband Protokolle und Methoden zum Datenschutz im Internet 16.-18.2.1998    Inhaltsverzeichnis Tabellen- und Abbildungsverzeichnis ix Datenschutz und Datensicherheit: Grundlagen und Motivation 1 Simone Weichert 1 1 Einleitung und Motivation 1 1.1 Was ist Datenschutz? 1 1.2 Was ist Datensicherheit? 3 2 Kurze Einführung in die rechtlichen Rahmenbedingungen der neuen Informations- und Kommunikationsdienste 4 3 Datenschutz und Datensicherheit im Internet 5 3.1 Welche Daten werden erhoben? 5 3.2 Sicherheitsrisiken im Internet 8 3.3 Sicherheitsvorkehrungen 9 4 Vorstellung des Orange Book 10 5 Zusammenfassung 12 6 Literatur- und Quellenverzeichnis 13 6.1 Printmedien 13 6.2 Elektronische Dokumente 13 Grundlagen des Internets und des TCP/IP Stacks 15 Oliver Schröder 15 1 Einleitung 15 1.1 Eine kurze Geschichte des Internets 15 1.2 Einführung des Protokolls TCP/IP 16 1.3 Die Weiterentwicklung des Internet und die Entwicklung in Europa 17 1.4 Organisation im Internet 17 2 Protokollarchitektur 18 2.1 Modell zur Datenkommunikation 19 2.2 Protokollarchitektur von TCP/IP 20 3 Übertragen von Daten 28 3.1 Aufbau und Format der IP-Adressen 28 3.2 Subnet (Teilnetze) 30 3.3 Routing im Internet 30 3.4 Multiplexing 31 4 Name Service 32 5 Abgrenzung zu anderen wichtigen Protokollen 33 5.1 TCP/IP im Vergleich zu SPX/IPX 33 5.2 TCP/IP im Vergleich zu NetBEUI 34 6 Literatur- und Quellenverzeichnis 35 Kryptographie: Grundlagen und Algorithmen 37 Oliver Brühl 37 1 Grundlagen 37 1.1 Einleitung 37 1.2 Substitution und Transposition 37 1.3 Kryptoanalyse 38 2 Symmetrische Verschlüsselung 39 2.1 Grundlagen 39 2.2 Blockchiffren 39 2.3 Streamchiffren 45 3 Asymmetrische Verschlüsselung 46 3.1 Grundlagen 46 3.2 RSA 46 3.3 Andere Public-Key-Verfahren 48 4 Message-Digests 48 4.1 Grundlagen 48 4.2 MD5 48 4.3 SHA 49 5 Literatur- und Quellenverzeichnis 49 Quantenkryptographie 53 Lars Werbeck 53 1 Motivation 53 2 Einführung 53 2.1 Quanteninformation 54 2.2 Quantencomputer 56 3 Quantenkryptographie 58 3.1 Generierung geheimer Schlüssel 58 4 Zusammenfassung 63 5 Literatur- und Quellenverzeichnis 64 5.1 Printmedien 64 5.2 Elektronische Dokumente 64 Sicherheit auf der physikalischen Schicht 67 Michael Pohé 67 1 Allgemeines 67 2 Datensicherheit auf der physikalischen Schicht 67 2.1 RAID Systeme 69 2.2 Die Spiegelung 75 2.3 Redundante Systeme 76 2.4 Netzwerkfragmentierung 77 3 Datenschutz auf der physikalischen Schicht 79 3.1 Verschlüsselung auf der Hardwareebene 80 3.2 Zugangangskontrollen 80 3.3 Abhörsicherheit 81 4 Fazit 85 5 Literatur- und Quellenverzeichnis 86 5.1 Printmedien 86 5.2 Elektronische Dokumente 86 Sicherheit auf der Netzwerkschicht 87 Olaf Strozyk 87 1 Einleitung 87 2 Internet Protocol Version 6 88 2.1 Motivation 88 2.2 Unterschiede zwischen IPv6 und IPv4 88 3 Sicherheitsmechanismen 88 3.1 Typische Einsatzszenarien 88 3.2 Security Associations (Sicherheitskombinationen) 88 3.3 Authentication Header 88 3.4 Encapsulating Security Payload 88 3.5 Einfluß auf den Datendurchsatz 88 3.6 Schlüsselverwaltung 88 4 Angriffsmöglichkeiten 88 4.1 Angriffe auf das System selbst 88 4.2 Angriffe auf die Standardalgorithmen 88 5 Literatur- und Quellenverzeichnis 88 5.1 Printmedien 88 5.2 Elektronische Dokumente 88 Sicherheit auf der Transport- und Sitzungsschicht 88 Tim Bahnes 88 1 Einleitung 88 2 SSL - Secure Socket Layer 88 2.1 Sitzungs- und Verbindungszustände 88 2.2 Record Layer 88 2.3 Verbindungsaufbau 88 2.4 Software mit SSL Unterstützung 88 2.5 Schwachstellen 88 3 TLS - Transport Layer Security 88 4 SSH - Secure Shell 88 4.1 SSH Transport Layer Protokoll 88 5 Ausblick 88 6 Literatur- und Quellenverzeichnis 88 6.1 Printmedien 88 6.2 Elektronische Dokumente 88 Sicherheit auf der Anwendungsschicht: WWW 88 Wolfgang Martens 88 1 Einleitung 88 2 Secure Hypertext Transfer Protokoll (S-HTTP) 88 2.1 Geschichte 88 2.2 Ablauf 88 2.3 Kryptographische Formate 88 2.4 Nachrichtenformat 88 2.5 Neue HTTP-Header 88 2.6 Fehlerfälle 88 2.7 Servererweiterungen 88 2.8 HTML Erweiterungen 88 2.9 Beispiel 88 2.10 Vergleich mit Secure Socket Layer (SSL) 88 2.11 Zusammenfassung S-HTTP 88 3 Sicherheitslücken 88 3.1 Begriffserklärung Spoofing 88 3.2 Arten 88 4 Attacken durch Anwendungen 88 4.1 Serverseite 88 4.2 Clientseite 88 4.3 Zusammenfassung Attacken 88 5 Fazit 88 6 Literatur- und Quellenverzeichnis 88 6.1 Elektronische Dokumente allgemein 88 6.2 Elektronische Dokumente zum Thema S-HTTP (ohne explizite Nennung) 88 6.3 Elektronische Dokumente zum Thema Spoofing 88 6.4 Elektronische Dokumente zum Thema Sicherheit 88 Sicherheit auf der Anwendungsschicht: e-mail 88 Torsten Bohnenkamp 88 1 Einordnung des Vortrags / Begriffsklärung 88 1.1 e-mail 88 1.2 Problematik der Informationstechnologie 88 1.3 PGP 88 1.4 S/MIME 88 1.5 Diskussion PGP versus S/MIME 88 1.6 ICQ 88 2 Literatur- und Quellenverzeichnis 88 2.1 Printmedien 88 2.2 Elektronische Dokumente 88 Firewalls 88 Manuel Brinkmann 88 1 Einleitung 88 2 Was sind Firewalls? 88 3 Architekturen von Firewalls 88 3.1 Komponenten 88 3.2 Interner Aufbau und Arbeitsweise 88 4 Planung eines Firewalls 88 5 Was können Firewalls leisten und was nicht? 88 6 Literatur- und Quellenverzeichnis 88 6.1 Printmedien 88 6.2 Elektronische Dokumente 88 Electronic Commerce 88 Rouven Fröleke 88 1 Einführung 88 2 Grundlagen elektronischer Zahlungssysteme 88 2.1 Eigenschaften elektronischer Zahlungssysteme 88 2.2 Basiskonzepte für Zahlungssysteme in Internet 88 3 Beispiele für Zahlungssysteme im Internet 88 3.1 Kontosysteme 88 3.2 Kreditkartensysteme 88 3.3 Bargeldsysteme 88 4 Zusammenfassung 88 5 Literatur- und Quellenverzeichnis 88 5.1 Printmedien 88 5.2 Elektronische Dokumente 88 Sicherheitskonzepte für Firmen 88 Jörg Schramek 88 1 Einleitung 88 2 Begriffserklärung 88 3 Sicherheitsaspekte 88 3.1 Schadensumfang 88 3.2 Schwachstellen in der Unternehmenssicherheit 88 4 Erstellung eines Sicherheitskonzeptes 88 5 Gegenmaßnahmen 88 5.1 Bauliche Maßnahmen 88 5.2 Organisatorische Maßnahmen 88 5.3 Technische Maßnahmen 88 5.4 Weitere Maßnahmen 88 6 Zusammenfassung 88 7 Literatur- und Quellenverzeichnis 88 7.1 Printmedien 88 7.2 Elektronische Dokumente 88 Tabellen- und Abbildungsverzeichnis Datenschutz und Datensicherheit: Grundlagen und Motivation 1 Abb. 1: KES/UTIMACO-Sicherheitsstudie 2 Abb. 2: KES/UTIMACO-Sicherheitsstudie 3 Abb. 3: Zusammenhänge der personenbezogenen Daten 6 Abb. 4: Angriffspunkte im Netz 7 Abb. 5: Einteilung des Orange Book in Klassen 10 Abb. 6: Überblick über das Orange Book 11 Grundlagen des Internets und des TCP/IP Stacks 15 Abb. 1: Protokoll TCP/IP 20 Abb. 2: IP-Datagramm 22 Abb. 3: Routing mit Hilfe von Gateways 23 Abb. 4: Aufbau eines UDP Datagramms 25 Abb. 5: Aufbau des TCP-Segments 26 Abb. 6: Netzklassen 29 Kryptographie: Grundlagen und Algorithmen 37 Abb. 1: Beispiel zur Spaltentransposition 38 Abb. 2: Symmetrische Verschlüsselung 39 Abb. 3: Die Verschlüsselung mit DES 40 Abb. 4: Eine Runde in DES 41 Abb. 5: Beispiel zum Block Replay 42 Abb. 6: Verschlüsselung von CBC 43 Abb. 7: Entschlüsselung von CBC 43 Abb. 8: Verschlüsselung von CFB 44 Abb. 9: Entschlüsselung von CFB 45 Abb. 10: Asymmetrische Verschlüsselung 46 Abb. 11: Die Hauptschleife von MD5 48 Abb. 12: Eine MD5 Operation 49 Quantenkryptographie 53 Abb. 1: Zwei um 45 Grad versetzte Polarisatoren lassen 50 Prozent der Photonen passieren 55 Abb. 2: Zwei senkrecht zueinander gestellte Polarisatoren lassen kein Photon passieren 56 Abb. 3: Funktionsprinzip eines Quantencomputers 57 Abb. 4: Traditionelle Bezeichnung der Interaktionsteilnehmer in der Kryptographie 58 Abb. 5: Benötigte Kanäle in der Quantenkryptographie 59 Abb. 6: Physikalische und logische Interpretation 59 Abb. 7: Kodierung der Photonenzustände in zwei Basen 60 Tab. 1: Beispielhafte Schlüsselgenerierung im 4-states-2-observables-System 61 Tab. 2: Beispielhafte Schlüsselgenerierung im 2-states-System 62 Sicherheit auf der physikalischen Schicht 67 Abb. 1: Typische Anordnung eines plattformunabhängigen RAID-Festplattenverbundes 70 Abb. 2: Schreib-/Lesereihenfolge auf die Festplatten im Verbund beim RAID-Level 0 71 Abb. 3: Schreib-/Lesereihenfolge beim RAID-Level 10 72 Abb. 4: Schreib-/ Lesereihenfolge mit ECC-Bildung bei RAID-Level 2 unter Einsatz mehrer ECC- Festplatten 73 Abb. 5: Schreibvorgang bei RAID-Level 3 mit gesonderter Paritätsfestplatte 73 Abb. 6: Schreib- /Lesereihenfolge der Datensegmente bei RAID-4 74 Abb. 7: Schreib-/Lesereihenfolge bei RAID-Typ 5 74 Tab. 1: Die RAID-Typen in der Übersicht 75 Abb. 8 : Netzwerkfragmentierung mit Abkapselung von Benutzer 1 und der Spiegelung A 78 Sicherheit auf der Netzwerkschicht 87 Abb. 1: Der IPv4 Basiskopf 89 Abb. 2: Unicast-Adressen bei IPv6 91 Abb. 3: IPv4-Adressen im IPv6-Format 92 Abb. 4: Der IPv6 Basiskopf 93 Abb. 5: Multicast-Adressen bei IPv6 93 Abb. 6: Beispielszenario 96 Abb. 7: Der AH im IPv6-Datagramm 98 Abb. 8: Der AH im IPv4-Datagramm 98 Abb. 9: Authentication Header 99 Abb. 10: Funktionsweise von AH 100 Abb. 11: Der ESP-Kopf im IP-Datagramm 102 Abb. 12: Encapsulating Security Payload Header 102 Abb. 13: Funktionsweise von ESP 104 Sicherheit auf der Transport- und Sitzungsschicht 111 Abb. 1: Das SSL Protokoll im Schichtenmodell des TCP/IP Protokolls 112 Abb. 2: Unverschlüsselte Records 112 Abb. 3: Komprimierte Records 113 Abb. 4: Verschlüsselte Records 113 Abb. 5: Die Strukturen der Fragmente bei strom- bzw. blockorientierten Verschlüsselungsverfahren 114 Abb. 6: Das SSL Handshake Protokoll 115 Abb. 7: Die Struktur der client hello Nachricht 116 Abb. 8: SSL Handshake Protokoll bei Verwendung bereits benutzter Sitzungsparameter 117 Sicherheit auf der Anwendungsschicht: WWW 125 Abb. 1: S-HTTP 125 Abb. 2: Unterschied zwischen SSL und S-HTTP 132 Abb. 3: Grafik einer Hacked Page, welche auf 15 Servern am selben Tag erschien. 134 Abb. 4: Verändertes Logo von „Lost World“. 135 Sicherheit auf der Anwendungsschicht: e-mail 139 Abb.1: Technik der asymmetrischen Verschlüsselung 144 Firewalls 155 Abb. 1: Schematische Funktionsweise eines Firewalls. 157 Abb. 2: Paketfilter-Architektur. 165 Abb. 3: Dual homed host Architektur. 166 Abb. 4: Screened host-Architektur. 168 Abb. 5: Screened subnet-Architektur. 169 Electronic Commerce 88 Abb. 1: Digitale Signaturen 88 Abb. 2: Bestellung (purchase request) 88 Abb. 3: Autorisierung (authorisation request) 88 Abb. 4: Abrechnung (payment capture) 88 Abb. 5: ECash-Pilot der Deutschen Bank 88 Datenschutz und Datensicherheit: Grundlagen und Motivation Simone Weichert Einleitung und Motivation Durch die fortschreitende Technisierung ist es möglich geworden, große Datenmengen auf relativ kleinem Raum unterzubringen und mit Hilfe von Programmen gezielte Auswertungen zu machen. Dadurch werden immer mehr persönliche wie auch anonyme Daten gespeichert und es stellt sich die Frage wie diese Daten vor Mißbrauch zu schützen sind. In einer KES-UTIMACO-Sicherheitsstudie wurde die Meinung der DV-Anwender zur Sicherheitsfrage untersucht [Hun96]. 183 Unternehmen wurden zum Stand der Sicherheits- und Informationstechnik befragt. Diese Unternehmen hatten in dieser Zeit einen relativ guten Sicherheitsstand. Es ergaben sich folgende Ergebnisse: Hauptmangel waren Irrtum und Nachlässigkeit von Mitarbeitern, sowie software-bedingte- und hardware-bedingte technische Defekte. Dabei kommt dem Irrtum und der Nachlässigkeit von Mitarbeitern und software-bedingten Defekten in Zukunft eine noch größere Rolle zu, wohingegen die hardware-bedingten Defekte abnehmen werden. Zur Befragung, ob der eigene Sicherheitsstandard in ihrer Firma nach ihrer Meinung ausreichend sei, antwortete nur knapp ein Drittel mit „ja“. D.h. das Problem der Informationssicherheit ist zwar bekannt und ist auch in vielen Unternehmen nicht unbedeutend, es hat aber keinen vorrangigen Stellenwert. Als Grund, warum der Sicherheitsstandard in den Firmen nicht verbessert wurde, wurde in der Hauptsache „Mangel an Bewußtsein“, „fehlende kompetente Mitarbeiter“ und „Geldmangel“ angegeben. Es ergab sich, daß viele Sicherheitsmaßnahmen und Schutzmöglichkeiten den Unternehmen angeboten werden bzw. schon verfügbar sind, sie jedoch vielfach einfach nicht genutzt würden. Was ist Datenschutz? Datenschutz bezieht sich in erster Linie nicht auf den Schutz der Daten, sondern soll vielmehr die Personen schützen, deren Daten gespeichert oder im Umlauf sind. Beispielsweise sollte es einem Arbeitgeber nicht möglich sein, an die Krankenakte der Person zu gelangen, die sich um eine neue Arbeitsstelle in seinem Unternehmen bewirbt. Im Sinne des Bundesdatenschutzgesetzes versteht man unter Datenschutz „den Schutz personenbezogener Daten vor Mißbrauch“. Der beste Datenschutz besteht jedoch darin, Daten erst gar nicht zu erheben. Je mehr Daten vorhanden sind um so schwieriger ist es diese Daten zu schützen. Nennen Sie bitte die drei Gefahrenbereiche, die aus Ihrer Sicht für Ihr Haus die höchste Bedeutung haben. Tragen Sie bitte in drei Kästchen Ihre Prioritätswerte ein.  Abb. 1: KES/UTIMACO-Sicherheitsstudie, [Hunn96]. Die drei wichtigsten Stichwörter, die im Zusammenhang mit dem Datenschutz immer wieder genannt werden sind: Vertraulichkeit Verfügbarkeit Integrität. Sind Informationen nur authorisierten Benutzern zugänglich und wird ein unbefugter Zugang zum System verhindert, so besitzen die Informationen eine hohe Vertraulichkeit. Gespeicherte, wie auch übertragene Daten, können Vertraulichkeit erfordern. Werden Informationen dennoch „abgehört“, so ist der Verlust der Vertraulichkeit nicht immer nachzuweisen oder wird teilweise gar nicht bemerkt, da die Originaldaten beim „Abhören“ unverfälscht bleiben. Integrität beschreibt die Unverfälschtheit und Korrektheit von Informationen. Bei der Verarbeitung, der Übertragung, wie auch bei der einfachen Speicherung muß sichergestellt sein, daß Informationen weder absichtlich, noch unbeabsichtigt verändert oder verfälscht werden. Zur Änderung von Informationen ist nur der authorisierte Benutzer oder spezielle authorisierte Personen (z. B. der Systemadministrator) berechtigt. Wie schätzen Sie die zukünftige Entwicklung der Risiken in den genannten Gefahrenbereichen für Ihr Haus ein? (Bitte Ankreuzen)  Abb. 2: KES/UTIMACO-Sicherheitsstudie, [Hunn96]. Unter der Verfügbarkeit versteht man den ungehinderten Zugang der Benutzer zu seinen Daten. Das System sollte jederzeit in der Lage sein Funktionen auszuführen und Informationen bereitzustellen. Das System soll also dauerhafte Bereitschaft und Funktionalität gewährleisten. Was ist Datensicherheit? Datensicherheit beinhaltet alle Maßnahmen um Daten vor unzulässigen Zugriffen zu schützen. Zusätzlich soll gewährleistet werden, daß die Daten auch bei Fehlfunktion oder Zerstörung der Rechenanlage gesichert sind. Vor folgenden Bedrohungsformen sind die Daten zu schützen: Höhere Gewalt, aktive Angriffe, passive Angriffe, unbeabsichtigte Benutzerfehler, Hardware- und Softwarefehler. Unter Höherer Gewalt versteht man unbeeinflußbare Dinge wie beispielsweise Feuer, Wasser oder Blitzeinschlag. Dagegen kann man sich nur bedingt schützen, z. B. durch feuerfeste Türen der Computerräume, automatische Sprinkleranlagen gegen Feuer oder Spannungsschutzeinrichtungen bei Blitzeinschlag. Versucht ein Angreifer sich gezielt unberechtigten Zugang zu Informationen zu verschaffen, so versteht man darunter einen Angriff auf ein System. Es wird zwischen aktiven und passiven Angriffen unterschieden. Ein aktiver Angriff bezieht sich auf gespeicherte und / oder übertragene Daten, ein passiver Angriff nur auf übertragene Daten. Aktive Angriffe dienen dem unberechtigten Informationsgewinn wobei auch Daten verändert werden. Passive Angriffe dienen dem unberechtigten Informationsgewinn, verändern die Daten jedoch nicht. Beispielsweise wäre das Abhören von übertragenen Informationen mit dem Ziel an vertrauliche Daten zu gelangen oder das Abhören von Teilnehmeridentitäten ein passiver Angriff. Weiterhin spielen unbeabsichtigte Benutzerfehler und Hardware- und Softwarefehler eine Rolle bei der Verletzung der Datensicherheit. Kurze Einführung in die rechtlichen Rahmenbedingungen der neuen Informations- und Kommunikationsdienste Das Anbieten von Informationen auf dem Internet fällt in den Regelungsbereich der nationalen Datenschutzgesetze und -regelungen. So ist es z. B. einem deutschen Anbieter eines World-Wide-Web-Servers verboten, ohne Wissen des Benutzers die vollständigen Angaben über die abgerufenen Seiten und heruntergeladenen Dateien zu speichern. Zusätzlich ist es in manchen Ländern Pflicht sich als Informationsanbieter bei der nationalen Datenschutzbehörde anzumelden. In einer kurzen Übersicht werden im Folgenden die rechtlichen Rahmenbedingungen der neuen Informations- und Kommunikationsdienste eingehen. Spezieller wird der Vortrag „Rechtliche Regelung des Datenschutzes in Deutschland“ auf dieses Thema eingehen. Das „Informations- und Kommunikationsdienste-Gesetz“ soll hierfür einen bundesgesetzlichen Rahmen schaffen. Das Gesetz soll zum einen grundlegende rechtliche Bedingungen für Angebot und Nutzung der Informations- und Kommunnikationsdienste insbesondere das Internet festlegen, zum anderen bestehende Bundesgesetze an die technische und wirtschaftliche Entwicklung in diesem Bereich anpassen. Das Gesetz befaßt sich in der Hauptsache mit folgenden Punkten: Bestimmung der Verantwortlichkeit, d.h. regelungsbedürftig sind Fragen der Verhaltenspflichten und damit der Verantwortlichkeit der Beteiligten Grundsatz der Zugangsfreiheit Grundsatz der Nichterhebung personenbezogener Daten, d.h. Prinzip der Datenvermeidung Unzulässige Angebote, Jugendschutz Digitale Signaturverfahren Die neuen Informationsdienste erfordern darüber hinaus Anpassungen und Ergänzungen bestehender Bundesgesetze, wie der folgenden: Urheberrechtsgesetz (Schutz von Datenbanken und geistigen Eigentums) Strafgesetzbuch Bundesdatenschutzgesetz Dies ist nur ein Auszug der rechtlichen Veränderungen die im speziellen das Internet mit sich bringt. Datenschutz und Datensicherheit im Internet Im Vorfeld eine kurze Bemerkung: „Datenschutz im Internet gibt es eigentlich nicht, da eine umfassende Kontrolle des Netzes nicht möglich wäre“ [URL-1]. Normalerweise sind bei der Verarbeitung personenbezogener Daten einzelne Behörden oder Unternehmen, die mit den Daten ihrer Kunden umgehen, dafür auch verantwortlich. Im Internet gibt es aber keine Einrichtung, der eine solche Gesamtverantwortung zugewiesen wäre. Daher muß jeder Benutzer ein gewisses Vertrauen in die Sicherheit des gesamten Netzes setzen, das bedeutet in jeden einzelnen Knoten des Netzes, egal in welchem Land er angesiedelt ist und wie er verwaltet wird. Da dies jedoch sehr fraglich ist, sollte sich jeder Nutzer so gut es geht und je nachdem wie seine Daten es verlangen schützen. Der Wunsch ans „Netz“ angeschlossen zu werden, wächst seit einiger Zeit unter privaten wie auch öffentlichen Nutzern. Hierbei sollen nicht nur Daten zum Informationsgewinn dienen, sondern teilweise auch Daten zur Nutzung bereitgestellt werden. Damit stellt der Anschluß ein erhebliches Risiko beim Datenschutz und der Datensicherheit dar. Das Internet wurde ursprünglich nicht unter Sicherheitsaspekten entwickelt, insbesondere gibt es Schwächen in den Protokollen zur Datenübertragung (siehe Vortrag „Grundlagen des Internets und des TCP/IP Stacks“) und soll jedem weltweiten Zugang ermöglichen (z. Zt. mehr als 40 Millionen Inernet-Teilnehmer). Wenn keine besonderen Schutzmaßnahmen getroffen sind, kann sich ein Angreifer oft mit geringen Aufwand Zugang zu fremden Betriebsmitteln verschaffen und dabei unberechtigt Daten lesen, manipulieren oder zerstören. Welche Daten werden erhoben? Jeder Benutzer eines Internet-Dienstes hinterläßt eine „Datenspur“. Durch diese Spur läßt sich ein umfassendes Kommunikationsprofil und damit auch evtl. ein Benutzerprofil erstellen. Man unterscheidet drei Kategorien von personenbezogenen Daten: Stammdaten: Sie werden von Internet-Anbieter erhoben und enthalten Name, Adresse sowie Login-Kennung und evtl. Bankverbindung des Benutzers. Teilweise werden auch Informationen über den Status (Student, Arbeitsloser ect.) erhoben. Diese Daten sollten lediglich dem Internet-Provider zur Verfügung stehen.  Abb. 3: Zusammenhänge der personenbezogenen Daten, [URL-1]. Verbindungsdaten: Sie geben an wer mit wem und wieviel Daten austauscht. Diese Daten, wie auch die folgenden „Inhaltsdaten“ sind abhängig von der Nutzung des Internets. Geht der Benutzer beispielsweise in ein Forum, so werden seine Daten dort zeitweise gespeichert. Sieht man von den Daten ab die beim Sender oder Empfänger des anderen vorliegen, so können auch ohne viel Aufwand auf jedem Rechner entlang des Übertragungsweges oder direkt auf der Leitung Daten mitgehört werden. Inhaltsdaten: Sie beschreiben den eigentlichen Inhalt einer Nachricht, wie z.B. e-mail oder Artikel in einem Diskussionsforum. Nimmt man die oben beschriebenen Daten nun zusammen, so kann ein Nutzungs- bzw. Persönlichkeitsprofil erstellt werden. Die Abbildung zeigt schematisch an welchen Stellen im Netz die Erstellung von Nutzerprofilen und Persönlichkeitsprofilen möglich wäre. Beim Client ist das Benutzerverhalten direkt auf dem Rechner zu beobachten. So war es z. B. beim Browser Netscape 2.0, mit den Scriptsprachen Livescript und Javascript, dem Anbieter von Internetseiten möglich, Informationen über die Konfiguration des Rechners und das Rezeptionsverhalten seines Nutzers zu erhalten. Der Provider hat Informationen über die Identität des Nutzers. Er könnte Aufzeichnungen über das Abrufverhalten des Nutzers machen, und auch Inhaltsdaten einsehen. Gegen das Abhören von Inhaltsdaten kann sich der Nutzer weitgehend durch Verschlüsselung schützen, die Verbindungsdaten fallen aber auf jeden Fall an, da der Provider sie für die Verbindungserstellung und teilweise zur Abrechnung benötigt,  Abb. 4: Angriffspunkte im Netz, [URL-1]. Beim Server können Daten über die abgerufenen Seiten gesammelt werden. Normalerweise geschieht dies nur aus statistischen Zwecken. Mit Hilfe einiger Kniffe ist es jedoch auch möglich die Verbindung zum Benutzer herzustellen. Beispiele hierfür sind: Cookies Identd-Protokoll Verräterische Browserkenndaten. Jedesmal, wenn man eine Webseite aufruft, wird vom Browser eine Anfrage an die entsprechende Seite geschickt und die Seite wird übertragen. Danach ist die Übertragung zunächst abgeschlossen und der Kontakt wird unterbrochen. Wird nun eine Folgeseite aufgerufen, so wird der Webserver mit einer neuen Anfrage kontaktiert und es wird die nächste Seite übertragen. Ein Cookie ist eine kleine Datei mit Textinformationen, die von einem Webserver an den Webbrowser übertragen wird. In ihr kann man beispielsweise kurze Informationen von einem Kontakt zum nächsten Kontakt zwischen Browser und Server speichern, so daß nicht alle Informationen wieder erneut ausgetauscht werden müssen. Beispielsweise finden Cookies auch Anwendung in sogenannten virtuellen Einkaufskörben. Nun können Cookies nicht nur die Verbindung erleichtern, sondern sie können auch mißbraucht werden. So kann ein Server Cookies dafür verwenden, um einen Benutzer beim Betreten einer Startseite eindeutig zu markieren und seine Zugriffe auf die Folgeseiten aufzeichnen. Das Identd-Protokoll diente ursprünglich dazu den Server vor Mißbrauch durch Nutzer zu schützen. Es ermöglicht dem Server die Identität des Nutzers abzufragen. Dies kann natürlich auch gegen den Nutzer angewendet werden. Allerdings ist es dem Provider bei diesem Protokoll möglich, zu entscheiden wieviel er von den Informationen über den Nutzer enthüllen will. Die schlechteste Methode der Benutzeridentifikation ist die Identifikation mit Hilfe von Browserkenndaten wie dem verwendeten Browserprogramm und seiner Seriennummer. Sicherheitsrisiken im Internet Es gibt eine Vielzahl von Sicherheitsrisiken im Internet. Der folgende Abschnitt ist ein Auszug daraus: Da das Internet die schnelle Übertragung von großen Informationsmengen auf viele andere an das Netzwerk angeschlossene Computersysteme ermöglicht, können personenbezogene Daten in andere Länder übertragen werden. Nicht jedes Land verfügt jedoch über das gleiche oder zumindest über ein angemessenes Datenschutzniveau. Man kann also ein Land wählen, daß keine oder nur eine geringe Datenschutzgesetzgebung hat und von dort Informationen anbieten auf die dann jeder weltweit zugreifen kann. Im Internet gibt es Tausende von speziellen news-groups in denen Artikel verbreitet werden. Beinhalten die Artikel Informationen über Dritte, so gibt es für den Betroffenen kaum eine Möglichkeit dies zu unterbinden. Wie den wenigsten bekannt ist, werden Nutzerkennung, wie auch das Paßwort bei gängigen Diensten über das lokale Netz wie z.B. das Ethernet im Klartext übertragen. Mit Abhörprogrammen (Packet Sniffer) können so leicht Knotenpunkte mitgehört werden und man bekommt Nutzerkennungen mit Paßwort geliefert. Ein weiteres Problem ist das sogenannte IP-Spoofing. Da bei vielen Internet-Diensten die Authentisierung der Rechner nur über die IP-Nummer des Nutzers erfolgt, kann ein Angreifer IP-Pakete mit gefälschten Absenderadressen verschicken. Bemerkt das System die gefälschte Adresse nicht, so kann man sich so Zugriff auf Daten verschaffen, für die man unter normalen Umständen keine Zugriffsrechte hätte. Dies ist auch möglich in dem man die Originalpakete abfängt und durch eigene ersetzt oder man leitet die Originalpakete einfach um. (siehe auch „Sicherheit auf Transport- und Sitzungsschicht“ und „Angriffsstrategien“). Natürlich können auch private Nachrichten wie e-mails mitgelesen werden, solange sie nicht verschlüsselt werden. Auch diese lassen sich verändern oder abfangen. „Adreßsammler“ nutzen dies auch um unaufgefordert Werbung zu verschicken. Auch der Telnet-Dienst und FTP wird häufig als Ausgangsbasis für Angriffe genutzt. So stellen schlecht gewartete FTP-Server ein Risiko dar. Fehler in der Konfiguration können dazu führen, daß es z. B. möglich wird die Datei mit sämtlichen verschlüsselten Paßwörtern herunterzuladen. Diese kann der Angreifer dann in aller Ruhe entschlüsseln und danach weitere Angriffe starten. Hat der Benutzer eines FTP-Servers die Möglichkeit auch Dateien in Verzeichnisse abzulegen, so kann ein Server schnell zum Umschlagplatz für Raubkopien werden. Beim Surfen im WWW können zahlreiche Daten über den Anwender und sein Verhalten gespeichert werden. Durch den Aufruf der verschiedenen Seiten kann ein Persönlichkeitsprofil des Nutzers erstellt werden. Finger ist ein Werkzeug zur Suche nach Informationen über Personen und Rechner. Damit können personenbezogene Daten gefunden werden und Nutzerkennungen in Erfahrung gebracht werden, so daß ein gezielter Angriff möglich wird. Bekannt geworden ist es durch den Internet-Wurm (siehe Vortrag „Angriffsstrategien“). Es wird hierbei ausgenutzt, daß beim Aufruf von Finger übergebene Parametern in einen Puffer fester Länge geschrieben wurde, die Daten die nicht mehr in den Arbeitsspeicher paßten überschrieben den Stack im Arbeitsspeicher, wo sie als Programmcode behandelt und ausgeführt wurden. Wählt man nun geschickt eine zu übergebene Zeichenreihe, so kann man beliebigen Code zur Ausführung bringen. Man sollte sich also nur ans Netz anschließen, wenn vorher eine eingehende Analyse und Bewertung der damit verbundenen Risiken stattgefunden hat und die Gefahren durch technische und organisatorische Maßnahmen vermindert bzw. ausgeschaltet worden sind. Wie die Bewertung ausfällt ist natürlich auch immer von der Beschaffenheit der gefährdeten Daten abhängig. Sicherheitsvorkehrungen Folgende Sicherheitsvorkehrungen sind zu empfehlen: Es sollte zunächst geprüft werden, ob ein Anschluß überhaupt nötig ist. Falls ja, so sollte abgewogen werden, ob bei Vorhandensein eines eigenen Netzes das gesamte Netz an das Internet angeschlossen werden soll oder ob es nur bedingt anschließbare Teile geben soll. Je nach Beschaffenheit der zu schützenden Daten, sollte der Anschluß nur nach Vorhandensein eines schlüssigen Sicherheitskonzeptes erfolgen. Der Schutz von personenbezogenen Daten, die auf vernetzten Systemen verarbeitet werden, ist durch geeignete Firewall-Systeme sicherzustellen, die eine differenzierte Kommunikationssteuerung unterstützen. Firewall wird eine Schwelle zwischen zwei Netzen genannt. Der Sinn des Firewalls ist es nur die Aktivitäten zwischen den Netzen zu ermöglichen die auch zulässig sind. Besonders gestaffelte Firewalls sind für Netze die aus einer Vielzahl von Teilnetzen mit unterschiedlicher Datensensibilität bestehen gut geeignet. (Mehr zu diesem Thema im Vortrag „Firewalls“). Auch beim Einsatz von Firewalls bleibt ein Restrisiko, so sollten sensible Daten nur verschlüsselt übertragen werden. Außerdem sind natürlich Paßwörter und Authentifikationsdaten notwendig (siehe auch insbesondere Vorträge über „Kryptographie“, „Quantenkryptographie“) Ein weiterer Punkt zur Sicherheit beizutragen ist es, Personal einzusetzen die sich um die Sicherheit des Netzes bemühen. Diese Personen müssen genauso spezialisiert sein wie die zu erwartenden Angreifer. Vorstellung des Orange Book Das Orange Book wurde vom Department of Defense, USA herausgegeben. Es ist ein Kriterienkatalog für die Beurteilung von Betriebssystemen und wendet sich: An Benutzer von Computersystemen, um ihnen die Risiken der Verwaltung von sensiblen Daten mit dem System darzustellen An die Hersteller von Computersystemen, um ihnen einen Leitfaden bei der Herstellung zu geben. Es soll ihnen zeigen, was bei der Verarbeitung von sensiblen Daten zu beachten ist An diejenigen, die grundlegende Richtlinien für die notwendigen spezielle Sicherheitsvorkehrungen suchen.  Abb. 5: Einteilung des Orange Book in Klassen. Das Buch teilt die verschiedenen Schutzkriterien in Sicherheitsgruppen D, C, B und A auf. Innerhalb dieser Gruppen werden noch einmal verschiedene Klassen (C1,C2,B1,B2,B3 und A1) unterschieden. Die Gruppen werden im folgenden nach ihren Sicherheitsanforderungen aufgelistet, wobei mit den geringsten Anforderungen begonnen wird und die Gruppen, was die Sicherheitsanforderungen angeht, aufsteigend sortiert sind. Sie unterscheiden sich wie folgt: Gruppe D: Diese Gruppe besteht nur aus einer Klasse und bietet minimalen Schutz. In diese Klasse werden diejenigen Systeme eingeordnet die auf Grund ihrer Sicherheitsanforderungen keiner anderen Gruppe gerecht werden konnten. KlasseDC1C2B1B2B3A1Benutzerbestimmbare Zugriffskontrolle - + + = = + =Sicherheits-Wiederverwendung von Objekten - - + = = = =grundsätzeKennzeichen - - - + + = =Integrität der Kennzeichen - - - + = = =Ausgabe gekennzeichneter Info. - - - + = = =Sensitivitätskennzeichen der Subjekte -  - - - + = =Gerätekennzeichen - - - - + = =Vorgeschriebene Zugriffskontrolle - - - + + = =Nachweis-Identifizierung und Authentifizierung - + + + = = =führungVertrauenswürdiger Zugriffspfad - - - - + + =Revision - - + + + + =Systemarchitektur - + + + + + =FunktionsgarantieSystemintegrität - + = = = = =Analyse der verdeckten Kanäle - - - + + + +GarantieManagement der vertrauenswürdigen - - - + + + =BetriebstelleVerstrauenswürdige Wiederherstellung - - - - - + =Sicherheitsprüfung - + + + + + +Lebensdauer-Entwurfsspezifikation und –verifikation - - - + + + +garantieKonfigurationsmanagement - - - - + = +Vertrauenswürdige Verteilung - - - - - - +Benutzerhandbuch über Sicherheitsvorrichtungen - + = = = = =Dokumen-Handbuch über die vertrauenswürdige Betriebsstelle  - + + + + + =tationPrüfdokumentation - + = + + = +Entwurfsdokumentation - + = + + + + - Keine Anforderungen an diese Klasse + neue oder gegenüber der nächstniedrigeren Klasse erweiterte Anforderungen = keine Zusatzanforderungen (gleiche Anforderungen wie in der nächstniedrigeren Klasse)Abb. 6: Überblick über das Orange Book, [Heid96]. Gruppe C: Diese Gruppe besteht aus mehreren Schutzklassen. Es gibt die sog. Trusting Computer Base (TCB). Sie ist die Gesamtheit der Mechanismen in einem Computersystem die notwendig sind um die Sicherheit in einem System zu gewährleisten. In der Gruppe C wird die Verantwortlichkeit von Subjekten und deren Aktionen die sie auslösen, kontrolliert. Hier werden Benutzer voneinander getrennt und jeder bekommt eine individuelle Zugangsberechtigung. Es besteht also die Möglichkeit den Benutzern lesenden, schreibenden oder gar keinen Zugriff auf Objekte zuzuteilen. Es ist außerdem möglich gewisse Ressourcen isoliert zu halten. Gruppe B: Auch diese Gruppe besteht aus mehreren Klassen. Zur TCB gibt es eine sogenannte Security Policy. Sie beinhaltet die Gesetze, Regeln und Praktiken die befolgt werden müssen um die Sicherheit sensibler Daten zu gewährleisten. Die TCB soll das ausführen und gewährleisten, was in der Security Policy beschrieben und verlangt wird. Außerdem muß ein Beweis erbracht werden, daß das System auch tatsächlich die verlangten Sicherheitsansprüche erfüllt. Jedes Objekt erhält ein Kennzeichen in dem seine Schutzbedürftigkeit angegeben wird, also ob es sensible Daten enthält oder allgemein zugängliche. Diese Gruppe ist schon relativ sicher gegen Eindringlinge. Gruppe A: Sie stellt die höchsten Ansprüche an die Sicherheit. Diese Gruppe ist durch formale Sicherheitsüberprüfungsmethoden gekennzeichnet, so daß sichergestellt wird, daß das System effektiv sensible Daten schützen kann. Ausführliche Dokumentation der Sicherheitsvorkehrungen und Demonstration, daß TCB die Anforderungen auch tatsächlich in Design, Entwicklung und Implementation ausführt, sind notwendig. In der folgenden Tabelle erfolgt eine Vorstellung der Entwicklungskriterien des Orange Book, die notwendig sind um Daten zu schützen. Dabei wird eine Einteilung in die verschieden Klassen vorgenommen. Zusammenfassung Abschließend sei zu bemerken, daß man vor dem Anschluß an das Internet eingehend prüfen sollte, ob der Anschluß tatsächlich von Nutzen ist. Ist ein Anschluß eines internen Netzes notwendig oder könnte auch ein isolierter Rechner zum Internetzugriff genügen? Wenn diese Fragen geklärt sind, muß man sich weiterhin überlegen welche Daten gefährdet sind und wie groß ihr Schutzanspruch ist. Nach diesen Kriterien müssen sich die erforderlichen Schutzmaßnahmen orientieren. Man sollte sich auf keinen Fall auf die „Ehrlichkeit“ der anderen Internetbenutzer verlassen, sondern sich ausreichend selbst schützen, d.h. auch veralterte Schutzmechanismen verbessern oder austauschen. Bei der Benutzung des Internetzuganges durch mehrere Anwender sollte man sich nicht nur vor Angriffen aus dem Internet schützen, sondern auch internen Mißbrauch nicht außer Acht lassen. Literatur- und Quellenverzeichnis Printmedien [Hunn96]G. Hunnius, „So schätzen DV-Anwender ihre Sicherheit ein“. KES Zeitschrift für Kommunikations- und EDV-Sicherheit. SecuMedia Verlag, Ingelheim, Nr.3, 1996.[Heid96]B. Heidecke, Diplomarbeit: „Analyse und Bewertung von Sicherheitskonzepten in Client/Server-Systemen am Beispiel von Novell NetWare“, Dortmund, 1996.Elektronische Dokumente [URL-1]First Surf, Computer & Net - Die Datenschnüffler, „So einfach geht das“, (gesichtet 16.10.97): http://www.firstsurf.com/koeln1.html[URL-2]Berlin-Memorandum, „Datenschutz und Privatsphäre im Internet“, (gesichtet 16.10.97): http://www.datenschutz-berlin.de/diskus/13_19.html[URL-3]„Site Security Policy Handbook Working Group“, 7.1991 (gesichtet 18.10.97): http://sunsite.cnlab-switch.ch/ftp/doc/standart/rfc/12xx/1244[URL-4]Department of Defense, „Trusted Computer System Evaluation Criteria“ (orange book), 1996 (gesichtet 16.10.97): http://iaks-www.ira.uka.de/ ta/Security/Diverses/DoD_Security_OrangeBook.txt.gz[URL-5]Bundesministerium für Bildung, Wissenschaft, Forschung und Technologie, „Rechtliche Rahmenbedingungen für neue Informations- und Kommunikationsdienste“, 2.5.1996, (gesichtet 16.10.97): http://www.iid.de/rahmen/eckwerte_bmbf.html[URL-6]Der Hamburgische Datenschutzbeauftragte, „Orientierungshilfe zu Datenschutzfragen des Anschlusses von Netzen der öffentlichen Verwaltung an das Internet“, BDSG-Broschüre, 1.12.95, (gesichtet 16.10.97): http://www.rewi.hu-berlin.de/ Datenschutz/DSB/HmbDSB/Material/intern.html Grundlagen des Internets und des TCP/IP Stacks Oliver Schröder Einleitung Dieser Beitrag beschäftigt sich innerhalb eines Kompaktseminars zum Thema Protokolle und Methoden zum Datenschutz im Internet mit den Grundlagen des Internets. Das Internet wird in diesem Zusammenhang kurz vorgestellt und es wird danach eine Betrachtung des TCP/IP Stacks vorgestellt, um dann eine Abgrenzung zu anderen Protokollen vorzunehmen. Eine kurze Geschichte des Internets Ende der späten 60er Jahre begann in den USA die staatliche Unterstützung von Experimenten zur Vernetzung von Computern unter Aufsicht des Verteidigungsministeriums. Das Interesse an einer solchen Vernetzung resultierte aus dem Bedürfnis des Militärs, über ein Kommunikationsmittel zu verfügen, das auch unter ungünstigen Bedingungen mit hoher Zuverlässigkeit den Austausch von Daten ermöglichen würde. Dies sollte auch gewährleistet bleiben, wenn ein Teil des Systems ausfallen würde. Die ARPA (Advanced Research Projects Agency), seit 1972 Defence ARPA (DARPA), forcierte mit erheblichen finanziellen Mitteln die Entwicklung in diesem Bereich der Computertechnologie. Neben der militärischen Anwendung eröffnete die Vernetzung von Computern im wissenschaftlichen und immer mehr auch im kommerziellen Bereich völlig neue Anwendungsmöglichkeiten. Gerade im Bereich der Wissenschaft sind für viele Probleme Rechner mit hoher Rechenleistung und ganz spezieller Software nötig. Diese Ausstattungen sind sehr teuer und können daher nicht für jede Einrichtung beschafft werden. Die Idee besteht also nun darin, daß mit Hilfe einer Rechnervernetzung möglichst vielen Wissenschaftler ein Zugang zu diesen Rechnern zu ermöglichen. Der Vorteil eines Rechnernetzes besteht allgemein darin, daß alle im Netz vorhanden Ressourcen durch jeden Netzteilnehmer unabhängig von seinem Standort genutzt werden können. Es besteht die Möglichkeit der gemeinsamen Nutzung von unterschiedlicher Hardware, Programmen, Daten und Peripheriegeräten (resource sharing). So gingen die ersten Bestrebungen dahin, daß man wenige an geographischen unterschiedlichen Punkten verteilte, verschiedenartige Rechner miteinander zu verbinden versuchte. Dies geschah über angemietete Leitungen. Diese Leitungen verfügten über eine Übertragungsrate von 50 Kbit/s. Die ersten Herausforderungen waren: ein Subnetz aus Telefonleitungen und Vernittlungsknoten aufzubauen, dessen Zuverlässigkeit, Kapazität und Kosten das Resource Sharing erlaubte die erforderlichen Protokolle zu verstehen, zu gestalten und für die unterschiedlichen Rechnertypen zu implementieren, um die neuen Subnetze zur Kommunikation nutzbar zu machen Ende 1969 war eine erste Implementierung von telnet, d. h. Durchführen von Sitzungen auf entfernten Rechnern und von ftp, d.h. Transfer von Dateien zwischen entfernten Rechnern, vorhanden. Damit war das Arpanet geboren. Aufgrund vieler Verbesserungen entwickelte sich das Arpanet von einem Laborexperiment zu einem funktionsfähigem System, in dem verschiedenartige Computersysteme untereinander verbunden waren. Allerdings waren diesen Hostrechnern  , da sie auf unterschiedlichen Systemen basierten, kleinere Rechner vorgeschaltet. Diese Rechner bezeichnet man als IMP´s (Interface Message Processor). Die eigentliche Vernetzung erfolgte durch diese IMP´s. Die IMP´s waren für den eigentlichen Transport der Daten zwischen den Hosts verantwortlich [SBGK94; S. 2 ff.]. Einführung des Protokolls TCP/IP Jetzt mußte die Entwicklung eines Kommunikationsprotokolls voran getrieben werden, daß es ermöglichte die unterschiedlichen Hardwarearchitekturen der Hersteller in Einklang zu bringen. Der wichtigste Schritt in diese Richtung war die Entwicklung des TCP/IP Protokolls (Transmission Control Protocol/Internet Protocol), das von den verantwortlichen Forschern des NCC (Network Control Center) und des NIC (Network Information Center) in den Jahren 1973/1974 implementiert wurde. Es sollte das bis dahin verwendete NCP (Network Control Protocol) als Transportprotokoll ablösen. Mit TCP/IP wurde es möglich eigenständige Netzwerke so miteinander zu verbinden, daß jeder Hostrechner einen Netzwerkes mit allen anderen Rechnern des Netzes kommunizieren konnte. So waren die IMP´s nicht mehr notwendig, weil eine Möglichkeit der direkten Kommunikation geschaffen worden war. Es wurde großer Wert darauf gelegt, daß bei der Implementierung dieses Protokolls eine Unabhängigkeit vom Übertragungsmedium gewährleistet war. So ist das Galsfaserkabel dem Kupferkabel bei der Übertragungsgeschwindigkeit um ein vielfaches überlegen. TCP/IP wurde unter folgenden Prämissen entwickelt: Unabhängigkeit vom Übertragungsmedium Interoperabilität zwischen unterschiedlichen heterogenen Systemen Ende-zu-Ende –Kommunikation über unterschiedliche Netzwerke Robustheit gegenüber Verbindungstörungen In dieser Zeit waren als Anwendungen lediglich ftp und telnet. Erst als sich um 1971 zwei Programmierer nicht nur Daten sondern auch Nachrichten senden wollten, entwickelten sie Electronic Mail, die auch heute noch am weitesten verbreitete Anwendung. Im Juli 1975 wurde die Verwaltung des Arpanet an die DCA (Defense Communications Agency) des US-Verteidigungsministeriums übergeben. Zu Beginn der 80er Jahre wurde der militärische Teil ins Milnet ausgegliedert, die zivilen Teile, Forschung, Entwicklung und Lehre blieben im Arpanet. Im Jahre 1978 wurde von der US-Regierung beschlossen in öffentlichen und vom Staat geförderten Projekten bei der Dateiübertragung zwischen Computern nur noch TCP/IP einzusetzen. 1983 schließlich wurde im Arpanet nur noch TCP/IP als Übertragungsprotokoll verwendet. Seit dieser Zeit etwas besteht auch der allgemeine Begriff Internet für das auf TCP/IP basierende Arpanet und dessen Netze. Die Weiterentwicklung des Internet und die Entwicklung in Europa Der Siegeszug von TCP/IP als Protokoll im Internet wurde auch dadurch gefördert, daß sich die US-Regierung entschloß bei offenen Systemen in staatlichen Organisationen und vom Staat geförderten Projekten TCP/IP als Protokoll zu verwenden. Als offene Betriebssystemumgebung wurde UNIX gefordert. Speziell entschied man sich hier für Berkeley UNIX (BSD, Berkeley Software Distribution) weil sowohl TCP/IP als auch die darauf basierenden Anwendungen ftp, telnet und E-Mail Teil des BSD-Betriebssystems waren. Damit war der Grundstein für die Verbreitung von TCP/IP gelegt. Auch in Europa wurde die Notwendigkeit erkannt den Wissenschaftlern an Universitäten eine schnelle und kostengünstige Kommunikationsinfrastruktur zur Verfügung zu stellen. Die europaweite Koordination wurde 1986 RARE (Réseaux Associés pour la Recherche Europeénne) übertragen, die dafür extra gegründet wurde. Das erste Projekt COSINE (Cooperation for an Interconnection Networking in Europe) diente der Bereitstellung einer auf ISO/OSI-Normen (ISO: International Standards Organisation, siehe 2.1) basierenden Infrastruktur für den akademischen Bereich innerhalb Europas. In Europa sollten im Gegensatz zu den USA vorwiegend Applikationen, die auf den ISO/OSI-Normen basieren, zum Einsatz kommen. Das wichtigste Ergebnis aus COSINE-Projekt war das erste paneuropäische Netzwerk auf der X.25-Basis IXI (International X.25 Interconnect), das seit Februar 1993 als EuropaNET in einem Multiprotokoll-Backbone fortgeführt wird. Natürlich konnte man sich gegenüber den Entwicklungen in den USA nicht verweigern, schließlich mußte man bedenken, daß eine Verbindung der Netzwerke sehr sinnvoll sein würde. RIPE (Réseux IP Européens) übernahm die Koordinierung des Internetverkehrs in Europa [SBGK94]. Organisation im Internet Im Gegensatz zu einem lokalen oder auch globalen Firmennetzwerk gibt es im Internet keine zentralen Administratoren. Aber auch für das Internet ist es wichtig, daß sich Gruppen um den laufenden Betrieb und die Entwicklungen kümmern. So steht durch das rasante Wachstum des Internets in den letzten Jahren unter anderem das Problem an, daß die Adressen für die einzelnen Rechner inzwischen knapp werden. Solche Betriebsgruppen sind zum Beispiel, die in 1992 als Non-Profit-Organisation gegründete Internet Society (ISOC). Ihre Ziele: „Die technische Entwicklung des Internet als Infrastruktur für die Forschung und Lehre zu forcieren und akademische, wissenschaftliche und technische Gesellschaften in die Weiterentwicklung des Internet einzubinden, Den Wissenschaftlern, aber auch der Öffentlichkeit, die Technik, den Umgang und die Anwendungen des Internet nahezubringen, Wissenschaftliche und lehrebezogene Anwendungen der Internettechnologie zum Nutzen von Lehranstalten aller Stufen, der Industrie und der gesamten Öffentlichkeit zur Verfügung zu stellen, Ein Forum zu sein für die Entwicklung neuer Internet-Anwedungen und die Zusammenarbeit von Organisationen, die sich mit der Entwicklung, dem Betrieb und der Gestaltung neuer Anwendungen beschäftigen, untereinander zu fördern.“( [SBGK94]). Für die weitere technische Entwicklung ist das Internet Architecture Board verantwortlich. Sie soll laut ISOC die weitere Entwicklung der Architektur eines Multiprotokoll-Internet beaufsichtigen. Eine weitere wichtige Organisation ist das NIC (Network Information Center), denn in einem Netzwerk ist es wichtig, daß jeder Rechner über einen eindeutigen Namen verfügt, um ihn im Netz eindeutig zu identifizieren. Innerhalb eines TCP/IP-Netzwerkes wurde hierzu eine 32-Bit Adresse eingeführt (bestehend aus vier 8 Bit Worten, die durch Punkte von einander getrennt werden, z. B. 193.140.4.14). Diese Adressen werden in jedem Land von einer speziellen Organisation vergeben, in Deutschland übernimmt diese Aufgabe das DE-NIC (Deutsches Network Information Center). Da Namen einfacher zu handhaben sind als Zahlen, hat man den Domain Name Service (DNS) eingerichtet. Hier wird zu jeder IP-Adresse im Internet der logische eindeutige Namen vergeben [SBGK94]. Protokollarchitektur TCP/IP ist zur Zeit eines der wichtigsten Softwarepakete in den UNIX-Systemen, aber auch in den anderen Betriebsystemen wie zum Beispiel MS Windows 95, MS Windows NT 4.0 und IBM OS/2 Warp werden die TCP/IP-Implementierungen immer leistungsfähiger. Gerade erst hat IBM eine neue Implementierung des TCP/IP-Stacks für IBM OS/2 Warp freigegeben. Die Vorteile von TCP/IP, die dazu führten, daß es zum Standard innerhalb des Internets wurden, sind: „Offene Protokollspezifikationen, die frei zugänglich und unabhängig von der Hardware und dem Betriebssystem sind. Aufgrund seiner weitreichenden Unterstützung eignet sich TCP/IP in idealer Weise dazu, unterschiedliche Hardware und Software miteinander zu verbinden – auch wenn kein direkter Anschluß an das Internet geplant ist. Unabhängigkeit von einer bestimmten Netzwerkhardware. So ist es möglich, mittels TCP/IP viele unterschiedliche Netze miteinander zu verbinden. TCP/IP kann über ein Ethernet, einen Token-Ring, eine Wählleitung, ein X.25-Netz und beinahe jedes andere physikalische Übertragungsmedium betrieben werden. Ein einheitliches Adressierungsschema, das es jedem Rechner in einem TCP/IP-Netz ermöglicht jeden beliebigen anderen Rechner in diesem Netz eindeutig zu identifizieren. Dies gilt sogar für das weltweite Internet. Standardisierte Protokolle der höheren Schichten, die dem Benutzer einheitliche und weithin verfügbare Dienste zur Verfügung stellen“ ([Hunt95;S. 3]). Modell zur Datenkommunikation Zur Erklärung der Realisierungen von Netzwerkprotokollen dient das ISO-OSI-Modell (International Standards Organisation, Open System Interconnection). Diese Realisierungen werden in sieben Schichten (Layer) beschrieben, wobei jede Schicht eine spezielle Funktionalität hat und auf die darunterliegende Schicht zugreift oder Informationen an die darüberliegende Schicht weiter reicht. Einen direkten Zugriff auf nicht benachbarte Schichten über eine andere Schicht hinweg ist nicht erlaubt. Da diese übereinander liegenden Schichten wie Stapel von Ziegelsteinen wirken, spricht man auch von einem Protokoll-Stack. Diese Schichten sind im einzelnen: Anwendungsschicht: (Application Layer) Der Anwender hat die Möglichkeit direkt auf Anwendugsprozesse zu zugreifen. Dies können Prozesse sein, mit denen der Benutzer direkt agiert oder auch Prozesse von denen er direkt nichts merkt. Beispiel: FTAM (File Transfer Access and Managment): Ein OSI-Protokoll für den Dateizugriff. Oder FTP (File Transfer Protocol): Ein Internet Protokoll zur Dateiübertragung. Darstellungsschicht: (Presentation Layer) Kooperierende Anwendungen müssen zum Zweck des Datenaustauschs sich auf eine gemeinsame Darstellung der Daten einigen. In diese Schicht fallen auch die Aufgaben, wie Datenkompression und Alphabetumwandlungen. Kommunikationssteuerungsschicht: (Session Layer) In dieser wird die Verbindung zwischen den kooperierenden Anwendungen realisiert. Transportschicht: (Transport Layer) Sie stellt sicher, daß der Empfänger die Daten genauso bekommt, wie der Absender sie abgeschickt hat. Sie garantiert die netzwerkunabhängige, gesicherte Übertragung von Daten zwischen zwei Prozessen. Dazu gehören der Aufbau und Unterhalt der Verbindung, Multiplexing, Fehlerbehandlung und das Ordnen der Daten. Vermittlungsschicht: (Network Layer) Dieser Schicht kommt die Aufgabe zu, die Verbindung zu anderen Rechnersystemen aufzubauen. Dies umfaßt die Bereitstellung geeigneter Adressierung, die Vermittlung, den Verbindungsaufbau und –abbau, Rücksetzung, Unterbrechung, Fehlererkennung und den transparenten Datentransport zwischen den Netzwerkendpunkten. Unter dem Aspekt Transparenz fallen Anpassungen der Eigenarten verschiedener Sicherungsschichten und auch Anpassungen an die sich ändernden Netzwerktopologien. Sicherungsschicht: (Data Link Layer) Die Aufgabe der Sicherungsschicht ist die zuverlässige Übertragung von Daten über das zugrundeliegende physikalische Netzwerk. Notwendige Funktionen sind: Segmentieren, Kontrollieren und die Behandlung von Fehlern. Bitübertragungsschicht: (physical Layer) Diese Schicht definiert die Charakteristika der Hardware, die zur Übertragung der Daten benötigt wird. Signalpegel und die Anzahl von Kontakten in Steckern sind in dieser Schicht spezifiziert. Als Beispiel stellt hier die Norm IEEE 802.3 für lokale Netzwerke dar. Protokollarchitektur von TCP/IP Die Spezifikation des TCP/IP Protokolls ist älter als das ISO-OSI-Modell, dies wurde erst 1983 eingeführt, daher unterscheidet sich das Internet Modell an einigen Stellen. Es gibt im Aufbau allerdings au ch einige Gemeinsamkeiten, so wird die TCP/IP-Netzwerkschicht im ISO-OSI-Modell zu einer Bitübertragungs- und Sicherungsschicht. Zwischen Transport und Anwendungsschicht sind noch die beiden Schichten Kommunikation und Darstellung enthalten. Diese sind bei TCP/IP-Software oft schon in den Protokollen der Anwendungsschicht integriert [HoBr95]. So entsteht ein Modell mit nur noch 4 Schichten: 4Anwendungsschicht Enthält Anwendungen und Prozesse, die auf das Netzwerk zugreifen.3Transportschicht Stellt End-zu-End-Datendienste zur Verfügung.2Internet – Schicht Definiert den Aufbau von Datagrammen und routet Daten.1Netzzugangsschicht Enthält Routinen für den Zugriff auf physikalische Netze. Abb. 1: Protokoll TCP/IP. Analog zum ISO-OSI-Modell werden die Daten im Stack nach unten weitergereicht, wenn Daten verschickt werden. Jede Schicht fügt ihre eigenen Kontrollinformationen hinzu, um eine korrekte Datenübertragung zu gewährleisten. Diese Informationen werden als Header (Kopf) bezeichnet, weil sie den eigentlichen Daten vorangestellt werden. Jede Schicht betrachten die von oben erhaltenen Daten als die zu übertragenden Daten und fügt den eigenen Header hinzu. Dieses Hinzufügen bezeichnet man als Kapselung. Beim Empfang von Daten wird diese Kapselung rückgängig gemacht [Hunt95]. Netzzugangsschicht des TCP/IP-Stacks Die unterste Schicht in dieser Protokollhierarchie ist die Netzzugangsschicht (Network Access Layer). Sie deckt die Funktionalitäten Vermittlung, Sicherung und Bitübertragung aus dem ISO-OSI-Modell ab. Diese Schicht definiert, wie ein IP-Datagramm über das Netzwerk transportiert wird. Anders als die höheren Schichten, muß die Netzzugangsschicht den Aufbau des zugrundeliegenden Netzes kennen. Dazu gehört die Struktur seiner Pakete, seine Adressierung usw. So ist es auch nötig mit der Einführung von neuer Hardware neue Netzzugangsprotokolle zu entwickeln, um diese in TCP/IP-Netzwerken zu nutzen. Zu den Funktionen dieser Schicht gehört es ebenfalls, daß die eindeutige IP-Adresse in eine Adresse umgewandelt wird, die das physikalische Netzwerk versteht. Zum Beispiel gibt es das Adress Resolution Protokol (ARP), das IP-Adressen auf Ethernet-Adressen abbildet oder ein Protokoll, das beschreibt, wie IP-Datagramme für den Transport über Ethernet-Netze gekapselt werden . Internet-Schicht des TCP/IP-Stacks Das wichtigste Protokoll dieser Schicht ist das Internet Protokoll (IP; RFC 791). Es bildet die Grundlage für TCP/IP-Netzwerke, in dem es den Transport von Datagrammen definiert. Alle Protokolle oberhalb und unterhalb dieser Schicht benutzen IP für den Transport von Daten. Alle TCP/IP-Daten durchlaufen das IP, unabhängig von ihrem Ziel. Dies gilt gleichfalls für ausgehende als auch für eingehende Daten. Die Funktionen des IP sind die wichtigsten Funktionen, die das Internet erst ermöglichen: Definition des Datagramms, der kleinsten Einheit für die Übertragung im Internet Definition der Adressierung im Internet Datentransport zwischen der Netzzugangsschicht und den Protokollen der Transportschicht Routing von Datagrammen zu fremden Rechnern Fragmentierung und Defragmentierung von Datagrammen IP ist ein verbindungsloses Protokoll, das bedeutet, daß vor der Datenübertragung keine Kontrollinformationen zwischen zwei Rechnern ausgetauscht werden müssen, um eine Übertragung zu ermöglichen. Dagegen ist ein verbindungsorientiertes Protokoll ein Protokoll, daß vor der Übertragung von Daten mit dem entfernten Rechner zuerst Informationen austauscht. Der Sender fragt beim Empfänger an, ob er bereit ist, Daten zu empfangen. Wenn der Empfänger mitteilt, daß er bereit ist, beginnt die Datenübertragung. Man spricht davon, daß eine Verbindung aufgebaut worden ist. Sollte innerhalb eines TCP/IP-Netzwerkes ein verbindungsorientierter Dienst benötigt werden, so muß dies durch die Protokolle anderer Schichten geleistet werden. Die Erkennung und Korrektur von Fehlern wird ebenfalls Protokollen anderer Schichten überlassen. IP sendet die Daten korrekt, es überprüft allerdings nicht, ob die Daten genauso empfangen wurden, wie sie gesendet wurden. Das Internet Protokoll wird daher auch als unzuverlässiges Protokoll bezeichnet [Hunt95]. Datagramm Die TCP/IP-Protokolle wurden entworfen, um im Arpanet Daten zu transportieren. Hierbei handelte es sich um ein Paketvermittlungsnetz. Dieses Paket, das die Daten enthält, wird durch weitere Informationen ergänzt. Die wichtigsten Aufgaben von IP sind es die Adressinformationen für die einzelnen Pakete zu ergänzen, so daß sie möglichst schnell den richtigen Empfänger erreichen. Ähnlich wie bei einem Brief, bei dem der Umschlag die Adressinformation enthält, wird den Paketen eine Adresse mitgegeben. Diese Adressinformation wird genutzt um die Pakete von einem physikalischen Netzwerk in das andere zu senden. Ein Datagramm ist das vom Internet-Protokoll definierte Paketformat.  0 4 81 21 62 02 42 3 8 11VersionIHLType of ServiceGesamtlänge2IdentifikationFlagsFragmentation Offset3Ursprungsadresse4Zieladresse5PrüfsummeDringlichkeitszeiger6OptionenPaddingHier beginnt der Datenbereich Abb. 2: IP-Datagramm Die ersten fünf oder sechs 32-Bit-Wörter enthalten Kontrollinformationen und werden als Header bezeichnet. Die Größe des Header ist nicht fest vorgegeben. Normalerweise ist er fünf Worte groß, das sechste Header-Wort ist optional. Die Größe des Headers läßt sich über das Feld Internet Header Length (IHL) variieren. Im Header sind alle Informationen enthalten um ein Paket zustellen zu können. Die Datagramme werden nun mittels des Internet-Protokoll transportiert, indem das fünfte Wort des Headers gelesen wird. Hier steht die Destination Address (Zieladresse) als Standard-IP-Adresse mit einer Länge von 32 Bits (für Aufbau und Format der IP-Adressen siehe 3.1). Liegt die IP-Adresse im lokalen Netzwerk, dann wird das Paket direkt zugestellt. Sonst wird das Paket an ein Gateway übergeben. Gateways sind Rechner, die Pakete zwischen verschiedenartigen physikalischen Netzwerken umsetzen. Die Wahl eines geeigneten Gateways nennt man Routing. IP bewerkstelligt dieses Routing für jedes einzelne Datenpaket. Routing von Datagrammen Innerhalb des Internets werden die Gateways in der Regel als IP-Router bezeichnet, dies hängt damit zusammen, daß sie das IP-Protokoll benutzen, um Pakete durch die Netzwerke zu routen. Host A1Host E1AnwendungAnwendungTransportGateway G1Gateway G2TransportInternetInternetInternetInternetNetzzugangNetzzugangNetzzugangNetzzugang Abb. 3: Routing mit Hilfe von Gateways. Diese Abbildung zeigt wie Pakete mit Hilfe von Gateways zwischen den Netzwerken transportiert werden. Dabei werden in den Hosts Pakete durch alle vier Protokollebenen gereicht, während in den Gateways das Routing in der Internet-Schicht durch das Internet-Protokoll abgewickelt wird. Ein anderer Aspekt bei diesem Routing ist, daß auch unterschiedliche physikalische Netzwerke (z. B. Token-Ring oder Ethernet) verbunden werden. Fragmentierung von Datagrammen Sollen Pakete durch verschiedene physikalische Netzwerke geroutet werden, so kann es notwendig werden, daß das IP in einem Gateway das Paket in kleinere Einheiten aufteilen (fragmentieren) muß. Dies hängt damit zusammen, daß Netzwerke unterschiedliche Paketgrößen verwenden: X.25, eine Schnittstelle in der Vermittlungsschicht für den Zugang zu öffentlichen Paketvermittlungen, wie Datex-P arbeitet beispielsweise mit 128 Bytes, Ethernet dagegen mit 1526 Bytes [HoBr95]. Im Format des Datagramms sind im zweiten Wort die Information für die Defrafragmentierung und Wiederherstellung gespeichert. Das Feld Identification zeigt an, zu welchem Datagramm ein Fragment gehört und das Feld Fragmentation Offset gibt die Position eines Fragmentes im Datagramm an. Das Feld Flags enthält ein More-Fragments-Bit, an dem IP ablesen kann, ob alle Fragmente eines Datagramms empfangen wurden [Hunt95]. Alle Datagramme haben das gleiche Format, es ist unabhängig davon, ob es fragmentiert ist oder nicht. Übergabe von Datagrammen an die Transportschicht Empfängt das Internet-Protokoll ein Datagramm, das für den eigenen Rechner bestimmt ist, so muß es dieses Datagramm an das entsprechende Protokoll in der Transportschicht weiterleiten. Mit Hilfe der Protokollnummer im dritten Wort des Headers wird dies gewährleistet. Alle Protokolle der Transportschicht werden anhand einer eindeutigen Protokollnummer identifiziert [ChZw96]. Internet Control Message Protocol (ICMP) Das zweite wichtige Protokoll in der Internet-Schicht ist das in RFC 792 definierte Internet Control Message Protocol. Mit Hilfe der Datagramm-Dienste des Internet-Protokolls versendet es seine Meldungen. Diese Meldungen dienen der Kontrolle und Information und erfüllen im einzelnen folgende Funktionen: Flußkontrolle: Kann ein Gateway oder ein Zielrechner eingehende Datagramme nicht schnell genug bearbeiten, schickt er an den Absender die ICMP-Source-Quench-Meldung (Überlauf). Damit wird der Absender aufgefordert das Senden von Datagrammen vorübergehend einzustellen. Erkennen unerreichbarer Ziele: Falls ein Ziel nicht erreichbar ist, wird an den Absender des Datagramms die Meldung Destination-Unreachable (Ziel nicht erreichbar) gesendet. Handelt es sich dabei um einen unerreichbaren Rechner oder ein Netzwerk, wird diese Meldung von einem Gateway generiert. Sollte es sich um einen nicht erreichbaren Port, dann sendet der Zielrechner diese Meldung (Ports werden in Kapitel 3 genauer behandelt). Änderungen im Routing: Gateways können durch eine Route-Redirect-Meldung einem Rechner mitteilen, daß er seine Datagramme über ein anderes Gateway senden soll, weil dieses Gateway eine günstigere Position hat. Dies kann nur erfolgen, wenn die beiden Gateways im gleichem physikalischem Netzwerk sind. Statusabfrage bei fremden Rechnern: Um festzustellen, ob ein anderer Rechner über IP erreichbar ist, kann eine ICMP-Echo-Meldung an diesen Rechner abgesandt werden. Empfängt ein Rechner dieses Meldung, dann sendet er gleiche Paket zurück. [Hunt95],[ ChZw96]. Transportschicht des TCP/IP-Stacks Betrachten wir nun die über der Internet-Schicht liegende Transportschicht. Sie wird auch als Rechner-zu-Rechner-Transportschicht bezeichnet. In dieser Schicht stellen das Transmission Control Protocol (TCP) und das User Datagram Protocol (UDP) die beiden wichtigsten Protokolle dar. TCP stellt einen zuverlässigen Datenübertragungsdienst mit Fehlererkennung und –korrektur von einem Ende der Verbindung bis zum anderen bereit. Dagegen bietet UDP eine verbindungslose Übertragung mit geringem Verwaltungsaufwand. Beide Protokolle stellen eine Schnittstelle zwischen der Anwendungsschicht und der Internet-Schicht zur Verfügung. Der Anwendungsprogrammierer hat die Entscheidung zu treffen, welcher Dienst für ihn der geeignete ist. User Datagram Protocol (UDP) UDP bietet einen einfachen verbindungslosen Datagrammdienst, der gegenüber IP lediglich zusätzlich Portnummnern und eine Prüfsumme bietet. Dies geschieht durch Nutzung des ersten Wortes im Header, im ersten 16-Bit Wort ist der Ursprungsort codiert, im zweiten der Zielport. Das zweite 32 Bit Wort des Headers enthält die Länge und die Prüfsumme. Sinnvoll ist UDP vor allem dann, wenn nur eine geringe Datenmenge zu übertragen ist und das erneute Senden der Daten mit weniger Aufwand verbunden ist, als der Aufwand für das Herstellen einer Verbindung und das Sicherstellen einer korrekten Übertragung. Gleichsam kann es sein, daß andere Anwendungen oberhalb dieser Schicht ebenfalls effiziente Methoden für eine sichere Datenübertragung zur Verfügung stellen und somit käme es zu einer ineffizienten Datenübertragung [Hunt95]. 016 31UrsprungsportZielportLängePrüfsummeHier beginnt der Datenbereich Abb. 4: Aufbau eines UDP Datagramms Das Transmission Control Protocol (TCP) Anwendungen, die auf eine zuverlässige Datenübertragung angewiesen sind, nutzen das Transmission Control Protocol (TCP). Es stellt sicher, daß die Daten korrekt und in der richtigen Reihenfolge über das Netz transportiert werden. Bei TCP handelt es sich um ein zuverlässiges, verbindungsorientiertes Byte-Stream-Protocol. Betrachten wir nun die drei Begriffe: zuverlässig, verbindungsorientiert und Byte-Stream (Datenstrom). Die Zuverlässigkeit wird durch einen Mechanismus erreicht, der als Positive Acknowledgement with Re-Transmission (PAR; positive Bestätigung mit Neu-Übertragung) bezeichnet wird. Das heißt, daß ein Rechner die Daten solange noch einmal sendet, bis er vom Empfänger mitgeteilt bekommt, daß er die Daten richtig empfangen hat. Die Dateneinheit, die TCP-Module bei der Kommunikation untereinander verwenden, heißen Segment. In diesem Segment ist eine Prüfsumme enthalten, diese wird auf der Seite des Empfängers ausgewertet um zu testen, ob die Daten richtig eingetroffen sind.Iist dies der Fall sendet der Empfänger an den Absender eine positive Bestätigung zurück. Trifft ein beschädigtes Datensegment ein, dann wird es ignoriert. Der Absender reagiert darauf indem er nach einer gewissen Wartezeit alle Segmente noch einmal senden wird, für die er keine positive Bestätigung erhalten hat. Man spricht davon, daß TCP verbindungsorientiert arbeitet, weil es eine logische Verbindung zwischen Sender und Empfänger herstellt. Dazu werden zu Beginn einer Verbindung erst einige Kontrollinformationen (handshake) zwischen Sender und Empfänger ausgetauscht und startet damit den Dialog zwischen den Kommunikationspartnern. Ein Kontrollsegment wird durch Setzen des entsprechenden Bits im Flags-Feld des Segment-Headers geschaffen. Bei dem von TCP benutzen Handshake handelt es sich um einen 3-Wege-Handshake. Diese Bezeichnung kommt daher, da zum Verbindungsaufbau 3 Segmente ausgetauscht werden. Diese 3 Segmente haben die folgende Bedeutung: Rechner A will mit Rechner B eine Verbindung aufbauen, dazu sendet Rechner A ein Segment in dem das Bit Synchronize sequence numbers (SYN; Seqenznummern synchronisieren) gesetzt ist. Empfängt Rechner B dieses Segment, so weiß er das Rechner A eine Verbindung aufbauen will und mit welcher Sequenznummer Rechner A sein erstes Segment, das es übertragen will, versenden wird. Die Seqenznummern sorgen dafür, daß die Daten in der richtigen Reihenfolge bleiben. Rechner B sendet nun ein Segment, in die Bits Acknowledgment (ACK) und Synchronize sequence numbers (SYN) gesetzt sind. So quittiert Rechner B den Erhalt des Segments von Rechner A und teilt gleichzeitig die Sequenznummer mit die Rechner B für sein ersten Versenden eines Segmentes nutzen wird. Rechner A quittiert daraufhin dieses Segment und beginnt mit der eigentlichen Übertragung der Daten. Nach dem Übertragen dieser Kontrollsegmente hat Rechner A die Gewißheit, daß das TCP von Rechner B bereit ist, Daten zu empfangen. Nach der Übertragung aller Daten leitet Rechner A einen Verbindungsabbau ein, wieder durch einen 3-Wege-Handshake. Dazu sendet Rechner A ein Segment mit gesetztem Bit No more data from Sender (FIN; keine weiteren Daten vom Absender).  0 4 81 21 62 02 42 3 8 11UrsprungsportZielport2Seqence Number3Acknowledgment Number4OffsetReserviertFlagsFenster5PrüfsummeDringlichkeitszeiger6OptionenPaddingHier beginnt der Datenbereich Abb. 5: Aufbau des TCP-Segments Die übertragenen Daten werden von TCP als ununterbrochener Datenstrom betrachtet und nicht als Reihe unabhängiger Pakete. Mit Hilfe von Sequence Number und Acknowledgment werden die Daten in der richtigen Reihenfolge gehalten. Bereits in der Phase des Verbindungsaufbaus mit Segment 1 hat Rechner A mitgeteilt, mit welcher Sequenznummer er die Datenübertragung starten will, diese Sequenznummer wird als Intitial Sequence Number (ISN; Anfangssequenznummer, diese Sequenznummer ist vom Protokoll nicht vorgegeben, es wird aber in der Regel mit 0 begonnen). Im weiteren Verlauf der Datenübertragung werden die Datenbytes fortlaufend durchnumeriert, so hat das erste Datenbyte die Nummer 1 und wird mit Sequenznummer 1 im Header des Datensegmentes versandt. Die Sequenznummer kennzeichnet somit die Position des Datenbytes im Datenstrom. Mit Hilfe des Acknokledgment-Segment (ACK) werden zwei Funktionen realisiert. Zum einen die positive Bestätigung (positive acknowledgment) und die Flußkontrolle (flow control). Die Bestätigung teilt dem Absender mit, wieviele Daten bereits empfangen wurden, und wieviele mehr noch empfangen werden können. Die Bestätigungsnummer (acknowledgment number) ist die Sequenznummer des letzten Bytes, das am anderen Ende empfangen wurde. Es ist vom Protokoll nicht vorgesehen, daß jedes Paket einzeln zu bestätigen ist. Die Bestätigungsnummer zeigt lediglich an, daß bis zu dieser Nummer die Bytes richtig empfangen wurden. Dem Empfänger ist es möglich über das Feld Window (Fenster) den Datenfluß zu steuern. Dieses Feld enthält den Wert, wieviele weitere Bytes der Empfänger noch empfangen kann. Setzt der Empfänger diesen Wert auf 0, so wird der Sender solange keine weiteren Daten mehr senden, bis er einen anderen Wert im Feld Windows empfängt. Solange dieser Wert im Feld Windows für den Sender kleiner ist, als die für ihn noch nicht bestätigten Daten, wird er Daten senden. Kommt es dazu, daß der Empfänger nun die maximale Anzahl an Bytes empfangen hat, aber keine Bestätigung sendet, so wird der Sender nach einer angemessenen Wartezeit, mit der Neuübertragung nach dem letzten bestätigten Byte beginnen. So wird sichergestellt, daß die Daten ihr Ziel sicher erreichen. Die Transportschicht ist auch dafür verantwortlich, daß ein korrekter Datenaustausch mit der Anwendungsschicht erfolgt. Die Anwendungen werden durch eine 16 Bits lange Nummer namens Port Number identifiziert. Der Source Port und Destination Port (Ursprungs- und Zielport) sind im ersten Wort des Segment-Headers kodiert [Hunt95]. Anwendungsschicht des TCP/IP-Stacks Die Anwedungsschicht (application layer) befindet sich auf der obersten Ebene der TCP/IP-Protokollarchitektur. Hier sind alle Prozesse angesiedelt, die zur Datenübertragung die Protokolle der Transportschicht nutzen. In der Anwendungsschicht gebt es bereits zahlreiche Protokolle, und es kommen laufend neue hinzu. Viele dieser Protokolle stellen dem Benutzer direkt Dienste zur Verfügung. Die bekanntesten sind sicherlich: Telnet, das Network Terminal Protocol, es ermöglicht dem Benutzer das Anmelden auf fernen Rechnern im Netz, FTP, das File Transfer Protocol ermöglicht die interaktive Dateiübertragung, SMTP, das Simple Mail Transfer Protocol ist für die Zustellung elektronischer Post verantwortlich. Dies sind sicherlich die bekanntesten TCP/IP-Anwendungen mit denen ein Benutzer konfrontiert wird. Es gibt aber noch andere wichtige Anwendungen: Domain Name Service (DNS) auch Name Service genannt, hat die Aufgabe numerische IP-Adressen logischen Namen zu zuordnen, Routing Information Protocol (RIP) wird von Geräten im Netz genutzt um Routing-Information auszutauschen, Network File System (NFS) ist ein gemeinsames Dateien-System zur Nutzung der Dateien unabhängig von der verwendeten Hardwareplattform. Unterscheiden lassen sich hier zwei Gruppen von Diensten, einmal Dienste, die der Benutzer direkt benutzt, wie zum Beispiel die ersten drei Dienste telnet, ftp und SMTP. Dagegen arbeiten die drei anderen Dienste als Prozesse weitgehendst unbemerkt vom Anwender [ChZw96]. Übertragen von Daten Bis jetzt haben wir nur den grundlegenden Aufbau der TCP/IP-Protokollhierachie betrachtet. Nun werden wir betrachten, wie die Daten zwischen den einzelnen Protokollschichten und den einzelnen Rechnern transportiert werden. Um Daten zwischen zwei Rechnern im Internet zu übertragen, muß sichergestellt sein, daß die Daten über das Netzwerk zum richtigen Empfänger gelangen, und daß sie dort den richtigen Anwendungsprozeß erreichen. Um dies zu gewährleisten verfügt TCP/IP über drei Mechanismen: Adressierung: Durch eindeutige IP-Adressen ist es möglich, jeden Rechner im Internet eindeutig zu identifizieren und somit die Daten korrekt zu zustellen. Routing: Durch Gateways werden Datagramme an das richtige physikalische Netzwerk weitergeleitet. Multiplexing: Protokoll- und Port-Nummern stellen sicher, daß die Daten im Zielrechner an den richtigen Anwendungsprozeß übergeben werden. Aufbau und Format der IP-Adressen Das Internet-Protokoll überträgt Daten zwischen Rechnern in Form von Datagrammen. Jedes Datagramm wird an die Adresse im Internet weitergeleitet, die im Feld Zieladresse (das fünfte Wort) des Datagramm Headers angegeben ist. Die IP-Adresse ist eine 32 Bits lange Adresse. Sie enthält genug Informationen, um einen Rechner im Internet eindeutig zu identifizieren. Diese Adressen bestehen aus zwei Teilen: einer Netzadresse und der Adresse des Rechners innerhalb des Netzes. Das Format dieser beiden Teile ist allerdings nicht in allen IP-Adressen dasselbe. Die drei wichtigsten Adressklassen sind die Klassen A, B und C. Wenn IP-Software die Adresse liest, kann es an Hand der ersten Bits feststellen, zu welcher Klasse eine Adresse gehört. IP-Adressen werden im allgemeinen als vier durch Punkte getrennte Dezimalzahlen geschrieben. Folgende Regeln gelten zum Aufbau der IP-Adressen: Das erste Bit einer IP-Adresse ist 0, so handelt es sich um ein Adresse der Klasse A. Das erste Bit einer Adresse der Klasse A kodiert die Klassenzugehörigkeit. In den weiteren 7 Bits wird das Netzwerk identifiziert. Und die restlichen 24 Bits kodieren den Rechner innerhalb des Netzwerkes. Es gibt weniger als 128 Netze der Klasse A, aber jedes von ihnen kann Millionen von Rechner enthalten. (Erstes Byte kleiner als 128 ist das erste Byte die Nummer des Netzwerkes, die anderen drei Bytes sind die Rechnernummer.) 0Klasse A261040198 Netzwerk-Bits24 Host-Bits1 0Klasse B1286612116 Netzwerk-Bits16 Host-Bits1 1 0Klasse C19217816124 Netzwerk-Bits8 Host-Bits Abb. 6: Netzklassen Wenn die ersten beiden Bits einer IP-Adresse 1 0 sind, handelt es sich um eine Adresse in einem Netzwerk der Klasse B. Die ersten beiden Bits einer Klasse-B-Adresse bestimmen die Adressklasse, die nächste 14 Bits identifizieren das Netz, und die letzten 16 Bits den Rechner. Es gibt Tausende von Netzen der Klasse B und jedes von ihnen kann Tausende von Rechnern enthalten.(Erstes Byte zwischen 128 und 191, die ersten beiden Bytes bezeichnen das Netzwerk die letzten beiden Bytes den Rechner.) Wenn die ersten drei Bits einer Adresse 1 1 0 sind, handelt es sich um eine Adresse in einem Netzwerk der Klasse C. Die ersten drei Bits dieser Adresse dienen der Bestimmung der Klasse. Die nächsten 21 Bits bestimmen das Netzwerk und die letzten 8 Bit bestimmen den Rechner. Es gibt Millionen von Netzen der Klasse C, aber jedes dieser Netze kann nur 254 Rechner enthalten. (Wert zwischen 192 und 223, die ersten drei Bytes bilden die Netzwerknummer, das letzte Byte ist die Rechnernummer.) Sind die ersten drei Bits einer Adresse 1 1 1 , handelt es ich um eine speziell reservierte Adresse. Diese Adressen werden manchmal als Adressen der Klasse D bezeichnet. Sie spezifizieren aber eigentlich kein Netzwerk. Die in diesem Bereich vergebenen Adressen sind sogenannte Multicast-Adressen, mit denen lassen sich Gruppen von Computern adressieren, die ein gemeinsames Protokoll benutzen, aber nicht im gleichen physikalischen Netzwerk sind (Werte größer als 223). Es gibt noch zwei andere reservierte Adressen, das ist in der Klasse A die Adresse 0 sie bezeichnet die Default-Route (Standard- oder voreingestellte Route) und das Netzwerk 127 ist die Loopback-Adresse (etwa: auf sich selbst verweisende Adresse). Die Default-Route dient zur Vereinfachung des Routings. Die Loopback-Adresse vereinfacht Netzwerkanwendungen, weil der lokale Rechner genauso adressiert werden kann, wie ein fremder Rechner. Es gibt weitere Rechnernummern, die einen besonderen Zweck erfüllen. Diese Adressen haben als erstes Byte die 0 oder die 255. Eine IP-Adresse in der alle Rechnerbits auf 0 stehen, identifizieren das Netzwerk selber. Eine IP Adresse 28.0.0.0 bezeichnet demnach das Netzwerk 28. Solche Adressen werden in Routing-Tabellen verwendet. Stehen in einer IP-Adresse alle Bits auf 1 bezeichnet man diese Adresse als Broadcast-Adresse (Rundfunk-Adresse). Diese Adresse wird benutzt um ein Datagramm an jeden Rechner im Netzwerk zu senden. Subnet (Teilnetze) Es besteht die Möglichkeit die vorgegebene Struktur des Netzes zu ändern. So ist es möglich aus einem großen Netzwerk mehrere kleinere logische Netzwerke zu machen. Dadurch bekommt man Netzwerke, die leichter zu administrieren sind. Oder auch einfach nur logisch besser zu einander passen. Aus technischen Gründen kann es auch sinnvoll sein, Teilnetze zu installieren. So können IP-Router physikalisch verschiedene Netzwerke miteinander verbinden. Dazu muß aber jedes Netzwerk eine eindeutige Netzwerknummer haben. Durch das Subnetting teilt man eine einzige physikalische Netzadresse in viele eindeutige Subnet-Adressen auf. So bekommt jedes physikalische Netz seine eigene Adresse. Bei Subnetting wird die Grenze zwischen Netzadresse und Rechneradresse verschoben [Hunt95]. Ein Subnet wird definiert, in dem man die IP-Adresse mit einer sogenannten Subnetmaske verknüpft. Diese Subnetmaske ist auch wieder, wie die IP-Adresse ein 32-Bit-Wort. Ist ein Bit der Subnetmaske gesetzt, so wird das entsprechende Bit als Netzadresse interpretiert. Ist das Bit nicht gesetzt, wird es als Rechneradresse gewertet. Das Subnet ist immer nur lokal bekannt, für den Rest der Welt, ist nur die IP-Adresse bekannt. Ein Beispiel: Betrachten wir ein Netzwerk der Klasse B mit der Subnetmaske 255.255.0.0. Die Adresse wird nun durch die Subnetmaske 255.255.255.0 erweitert. Die Adresse ist dann so zu verstehen, daß die ersten beiden Bytes das Netzwerk bezeichnen, das dritte Byte das Subnet und das vierte Byte die Rechneradresse. Routing im Internet Zu Beginn des Internets gab es eine Hierarchie von Gateways. Dies resultiert daraus, daß zu Beginn des Internets das ARPANET als Backbone für das Netz genutzt wurde. Dieses System nannte man Core (Kern) und die Gateways dazwischen wurden als core gateways bezeichnet. In dieser hierarchischen Struktur werden die Routing-Informationen über alle Netzwerke an die core gateways weitergegeben. Das ganze geschieht über das Gateway to Gateway Protocol (GGP). Außerhalb dieses Internet Kerns gibt es Gruppen von eigenständigen Netzen, die man als autonomous systems bezeichnet. Hier gibt es ebenfalls ein Protokoll mit dessen Hilfe die Routing Informationen ausgetauscht werden, das Exterior Gateway Protocol (EGP). Das Defense Data Network (DDN) im Internet benutzt weiterhin das Kernmodell, um Routing-Informationen zu verteilen. Das hierarchische Modell hat den Nachteil, daß jede einzelne Route vom Kern bearbeitet werden muß. Die führt zu einem erheblichen Aufwand. So daß zur Zeit an einem neuen Modell für das Routing gearbeitet wird. Dieses Modell faßt mehrere autonome Systeme zu gleichberechtigten routing domains zusammen. Zwischen diesen Domains werden Routing Informationen mit Hilfe des Border Gateway Protocol (BGP) oder EGP ausgetauscht. Im Gegensatz zu GGP verlassen sich die Routing-Domains nicht auf ein zentrales System zur Berechnung der besten Route, sondern jede Routing-Domain übernimmt diese Aufgabe selber. Dadurch ist das System einfach zu erweitern, wenn neue Netzwerke oder Rechner hinzukommen. Nicht nur Gateways routen Daten durch die Netzwerke. Jeder Rechner muß ebenfalls Routingentscheidungen treffen. Sollte der Zielrechner im lokalen Netzwerk liegen, werden die Daten zu diesem gesandt. Sonst werden die Daten an ein lokales Gateway geleitet. Das Routing orientiert sich an den Netzwerken, daher trifft IP seine Routing-Entscheidungen anhand des Netzwerkteils der Adresse. Aus der Adressklasse ergibt sich, welcher Teil der Adresse gelesen wird, um das Zielnetzwerk zu bestimmen. Nachdem das Zielnetzwerk bestimmt wurde, sucht IP dieses Netz in der Routing-Tabelle. Mit Hilfe der Angaben der Routing-Tabelle werden die Daten dann weitergeleitet. Diese Routing-Tabellen können vom Systemadministrator oder auch von Routing-Protokollen erstellt worden sein. IP trifft seine Entscheidungen für das Routing durch Lesen dieser Tabellen. Multiplexing Wenn die Daten durch das Netz gesandt worden sind, muß auch sicher gestellt werden, daß sie die richtige Anwendung oder den richtigen Prozeß im Zielrechner erreichen. Natürlich müssen auch die Daten zwischen den einzelnen Protokollschichten richtig weiter gereicht werden. Dieser Mechanismus muß Daten aus vielen Anwendungen zu wenigen Transportprotokollen zusammenfassen. Das Verdichte von Daten aus mehreren Quellen zu einem Datenstrom nennt man multiplexen. Beim Empfänger müssen die aus dem Netzwerk eintreffenden Daten durch IP demultiplext werden. Um dies zu bewerkstelligen kennzeichnet IP die Transportprotokolle mit Protokollnummern. Damit die Anwendungen eindeutig zu identifizieren sind, kennzeichnen die Transportprotokolle die Anwendungen über Port-Nummern. Für häufig benötigte Protokolle und Anwendungen (well-known services) gibt es bestimmte Protokoll- und Port-Nummern. Im dritten Wort des Datagramm-Headers ist codiert an welches Protokoll der Transportschicht die Daten zu übergeben sind. Mit Hilfe der 16 Bits langen Portnummer identifiziert die Transportschicht den Anwendungsprozeß für den die Daten bestimmt sind. Diese Portnummern stehen im ersten Wort eines jeden TCP- und UDP-Paketes. Genauer gesagt, stehen hier die source port number (Ausgangs-Portnummer)  und auch die destination port number (Ziel-Portnummer). So kann aus Protokollnummer und Portnummer der Prozeß eindeutig bestimmt werden, der die Daten zu erhalten hat. Es gibt für bestimmte Anwendungen reservierte Ports (well-known-ports). Dies vereinfacht den Aufbau einer Verbindung, weil sowohl Empfänger als auch Absender vorab wissen, daß die Daten für einen bestimmten Prozeß an einen bestimmten Port geleitet werden müssen, so ist beispielsweise für TELNET der Port 23 reserviert. Es gibt aber nicht nur statisch vergebene Port-Nummern, sondern auch dynamische Portnummern (dynamically allocated ports). Somit ist es möglich zwei Anwendern zum Beispiel den Zugriff per TELNET auf einen Rechner zu ermöglichen. Name Service Im letzten Kapitel haben wir gesehen, wie Routen und Adressen im Netzwerk von TCP/IP verwaltet und gehandhabt werden. Jedes Netzwerk-Interface in einem TCP/IP-Netz wird durch eine eindeutige, 32 Bits lange IP-Adresse identifiziert. So kann nun jedem Interface mit einer IP-Adresse ein Hostname (Rechnername) zu geordnet werden. Diese Rechnernamen sind einfacher zu merken und erleichtern somit dem menschlichen Benutzer die Arbeit. Um einen Rechner anzusprechen, kann sowohl die IP-Adresse als auch der Rechnername verwendet werden. Beim Aufbau einer Verbindung wird der Name in die eindeutige IP-Adresse gewandelt. Diese Namenswandelung ist nicht nur eine lokale Angelegenheit, sondern sie muß für das gesamte Internet eindeutig sein. So gibt es im Internet zwei gebräuchliche Methoden um Namen in IP-Adressen zu konvertieren. Bei der älteren der beiden Methoden wird der Name in einer Tabelle namens host table (Rechnertabelle) gesucht, zu dem Namen ist in der Tabelle die 32 Bit lange IP-Adresse vermerktDie Rechnertabelle ist eine einfache Textdatei, in der IP-Adressen Namen zugeordnet werden. Natürlich müssen die Rechnernamen im Internet eindeutig sein, daher müssen diese Namen zentral verwaltet werden. Diese Aufgabe übernimmt das Network Information Center (NIC) . Da das Internet gerade in der letzten Zeit sehr rasant gewachsen ist, ist diese Rechnertabelle so groß geworden, daß mit ihr nicht mehr effizient gearbeitet werden kann. Der jetzige Standard ist der Domain Name Service (DNS). . Er benutzt eine verteilte Datenbank um Namen zu Adressen zu zuordnen und behebt somit die beiden großen Schwachpunkte der Rechnertabelle. Der DNS beruht auf einem weltweit verteilten Datenbanksystem. So läßt er sich leicht erweitern. Der DNS stellt sicher, daß Informationen über neue Rechner bei Bedarf an den Rest des Internets verteilt werden. Das Weiterleiten von Informationen bei Bedarf erfolgt nicht automatisch, sondern nur dann, wenn es nötig ist. Erhält ein DNS-Server eine Anfrage, die er nicht bearbeiten kann, sendet er diese Anfrage an einen autoriativen Server weiter. Dieser Server hat die Aufgabe für die fragliche Domain genauere Informationen zu haben. Die Antwort, die der DNS-Server erhält, merkt er sich und kann so bei einer gleichen Anfrage diese direkt beantworten. Auf diese Art und Weise erhält der DNS-Server seine neuen und aktualisierten Informationen. Der DNS ist ein verteiltes, hierarchisches System zur Konvertierung von Rechnernamen in IP-Adressen. Die Informationen sind über Tausende von Name-Servern verteilt. Diese Name-Server sind ähnlich wie das UNIX-Dateisystem organisiert. An der Spitze steht die Root-Domain mit einer kleinen Gruppe von Name-Servern, diese werden als Root-Server bezeichnet. Direkt unterhalb der Root-Domain befinden sich die top level domains. Diese unterscheiden sich in zwei Typen, zum einen in die geographischen und zum anderen in die organisatorischen. Die geographischen Domains werden durch einen zweistelligen Code, zum Beispiel de für Deutschland, gekennzeichnet. Organisatorische Top-Level-Domains sind zum Beispiel com für kommerzielle Organisationen. Wie erhält man nun aber eine Domain? Diese werden durch Network Information Center (NIC) vergeben. Dazu stellt man entweder bei einem NIC oder bei einem Internet-Provider einen Antrag. In diesem Antrag sind mindestens der Name und die Adresse von zwei Servern anzugeben werden. Diese übernehmen dann für die neue Domain den Name Service. Hat man die Domain erhalten, kann man beliebig viele Subdomains einrichten. Die Administratoren sind für die Verwaltung des Namensraum verantwortlich. Die Domain-Namen spiegeln die Domain-Hierarchi wider. Domain-Namen schreibt man von der untersten Ebene (dem Rechnernamen) zur obersten Ebene (der Top-Level-Domain). Die einzelnen Teile des Namens werden durch Punkte voneinander getrennt. Abgrenzung zu anderen wichtigen Protokollen TCP/IP ist nicht das einzige Protokoll, das es ermöglicht Daten zwischen Computern zu übertragen. Es gibt noch andere so zum Beispiel von den Firmen Novell SPX/IPX oder von IBM NetBEUI. Dies soll nicht bedeuten, daß es keine anderen Protokolle gibt. TCP/IP im Vergleich zu SPX/IPX Es ist äußerst schwierig, Netzwerkprotokolle miteinander zu vergleichen. TCP/IP Experten würdigen SPX/IPX meistens nicht richtig, da sie es für ein proprietäteres Protokoll halten. Allerdings wird SPX/IPX auf über 60 Prozent aller Desktop-Rechner eingesetzt. IPX ist gegenüber TCP/IP besser auf LAN (Local Area Network) Umgebung abgestimmt, dem gegenüber hat TCP/IP Vorteile im Bereich von WAN (Wide Area Network) Umgebungen. In den folgenden Protokollschichten können TCP/IP- und SPX/IPX Protokolle auf Gemeinsamkeiten und Unterschiede untersucht werden. Bitübertragungs und Sicherungsschicht Netzwerkschicht Transportschicht Anwendungsschicht Auf der Bitübertragungs und Sicherungsschicht sind TCP/IP und SPX/IPX identisch. Beide Protokolle arbeiten nun mit den meisten üblichen Netzwerktopologien, wie zum Beispiel Ethernet, Token-Ring zusammen. Innerhalb der Netzwerkschicht enthält TCP/IP zusätzlich zum Basis IP-Protokoll, Dienste zur Auflösung der Adressen. SPX/IPX hat dies nicht, weil es seine Adressen aus den physikalischen Adressen des Netzes ableitet. Auf der Netzwerkschicht besitzen IPX und IP die gleichen Eigenschaften. Beide sind verbindungslose Datagrammdienste, die auf die Protokolle der Bitübertragungsschicht, wie Ethernet, aufsetzen. Beide Protokolle haben ähnliche Routingprotokolle. Sie unterscheiden sich aber in den Adreßplänen. Auf der Transportschicht haben SPX und TCP ähnliche Eigenschaften. Beide bieten auf der Basis von IPX oder IP einen verbindungsorientierten und zuverlässigen Übertragungsdienst an. IPX ist wie UDP ein verbingungsloses Protokoll. Auf der Anwendungsschicht gibt es in einer Netware Umgebung keine Entsprechung zwischen beiden Protokollen. Lediglich die Nachrichtenprotokolle, wie das Simple Mail Transfer Protocol (SMTP) und das Message Handling System (MHS) ähneln einander [SFLa95]. TCP/IP im Vergleich zu NetBEUI Als eines der ersten Protokolle stand NetBEUI zur Verwendung in Personal-Computer-Netzwerken zur Verfügung. IBM stellte NetBEUI als Protokoll vor, das in Verbindung mit Software-Programmen für die NetBIOS-Oberfläche (Network Basic Input/Output System) verwendet werden konnte. NetBIOS definiert neben einer Software-Schnittstelle auch noch eine Namenskonvention für Computer im Netzwerk. NetBEUI wurde als kleines effizientes Protokoll entworfen, das eine einfache und effiziente Vernetzung von Computern in einem Local Area Netzwerk ermöglichen sollte. Es ist nicht vorgesehen, daß durch dieses Protokoll Daten in andere Subnetze gesendet werden können, sprich in NetBEUI sind keine Routingfunktionalitäten vorgesehen. Mittlerweile wird NetBEUI ausschließlich in kleineren Netzwerken eingesetzt, die aus verschiedenen Computern mit unterschiedlichen Betriebssystemen arbeiten. So unterstützen zum Beispiel alle netzwerkfähigen Betriebssysteme von Microsoft, IBM PCLAN und LAN Server von IBM dieses Protokoll. In der Anwendungsschicht greift ein Programm über die NetBIOS-Software-Schnittstelle auf das NetBEUI-Protokoll zu. Das NetBEUI-Protokoll stellt ähnlich wie das TCP/IP-Protokoll sowohl eine unzuverlässigen verbindungslose als auch eine zuverlässige verbindungsorientierte Datenübertragung zur Verfügung. NetBEUI übernimmt weiterhin die Aufgaben der Verbindungseinrichtung, Wartung und Beendigung, Rahmenabfolge und –bestätigung, Rahmenflußkontrolle und die verbindungslose Datenübertragung. Daten werden in sogenannten Rahmen und Angabe der SSAP (Source Service Access Point) und DSAP (Destination Service Access Point) versendet. In frühen Implementierungen von NetBEUI wurde eine 1-Byte Zahl verwendet um NetBIOS Sitzungen zu identifizieren, daher waren die Sitzungen auf 254 beschränkt. Das entspricht den Protokoll-, Portnummern und Sockets bei TCP/IP [Mic196]. In einfachen kleinen Netzwerken zum Beispiel in einem Büro mit weniger als 20 Rechnern ist NetBEUI ein geeignetes Netzwerkprotokoll. Aber spätestens wenn alle Netzwerkteilnehmer einen Zugang zum Internet wünschen, wird man nur schwer auf TCP/IP verzichten können. Ein ähnliches Problem stellt sich auch bei der Nutzung von Novells IPX/SPX-Protokollstandards. Novell wird in der nächsten Version seines Novell Netware Betriebssystems ebenfalls TCP/IP als Protokoll verwenden. Literatur- und Quellenverzeichnis [SBGK94]M. Scheller; K. P. Boden; A. Geenen; J. Kampermann. Internet: Werkzeuge und Dienste. Springer Verlag, Berlin (Deutschland), 1994.[Hunt95]C. Hunt. TCP/IP Netzwerk Administration. O’Reilly/International Thomson Verlag, Bonn (Deutschland), 1995[ChZw96]D. Chapmann; E. Zwicky. „Einrichten von Internet Firewalls“. O’Reilly/International Thomson Verlag, Bonn (Deutschland), 1996[HoBr95]F. Hosenfeld; K. Brauer. „Kommunikation ohne Grenzen“. C´t Magazin für Computertechnik. Heise Verlag, Hannover, Nr. 12, 1995[GaSp95]S. Garfinkel, G. Spafford. „PRACTICAL UNIX SECURITY“. O’Reilly & Associates, Inc., Sebastopol (USA), 1995.[SFLa95]P. Singh; R: Faiweather; D. Laderman. “Mit Netware ins Internet”.Markt & Technik Buch und Software Verlage, Haar bei München (Deutschland),1995[Micr96]„Grundlagen des Netzwerkbetriebs“. Microsoft Press, Unterschleißheim (Deutschland), 1996[Mic196]„Die technische Referenz Microsoft Windows NT Server Version 4.0 Netzwerk“. Microsoft Press, Unterschleißheim (Deutschland), 1996 Kryptographie: Grundlagen und Algorithmen Oliver Brühl Grundlagen Einleitung In diesem Beitrag werden kryptographische Algorithmen vorgestellt. Dazu gehören Verschlüsselungsverfahren, die grob in symmetrische und asymmetrische Verfahren eingeteilt werden können. Ebenfalls besprochen werden Message-Digest-Algorithmen, einwegige Hash-Funktionen, die einen eindeutigen Fingerabdruck eines Dokumentes liefern. Mit diesen Verfahren können komplexe Protokolle entwickelt werden, die die Bedürfnisse nach sicherer Kommunikation erfüllen können. Neben der offensichtlichen Funktion, die Vertraulichkeit von Daten zu bewahren, können kryptographische Algorithmen und darauf aufbauende Protokolle auch sicherstellen, daß Authentizität, Integrität und Verbindlichkeit der Daten gewährleistet ist. Bei der Authentizitätsprüfung möchte man sicherstellen, daß der Gegenüber derjenige ist, für den er sich ausgibt. Sollen zum Beispiel auf einem Server bestimmte Dateien nur einzelnen Gruppen zugänglich sein, so wird der Server den Benutzer auffordern, sich zu authentifizieren, etwa mit einer Benutzerkennung und einem Paßwort. Auch in umgekehrter Richtung sollte Authentifikation möglich sein. Der Benutzer soll sicher sein können, daß die Daten vom richtigen Server stammen. Die Forderung nach Integrität bedeutet, daß Veränderungen der Daten während der Übertragung festgestellt werden können. Verbindlichkeit ist z. B. im elektronischen Handel wichtig. Der Kommunikationspartner soll nicht behaupten können, daß die Kommunikation nicht stattgefunden hat. So muß ein Verkäufer einem Käufer nachweisen können, daß er eine bestimmte Bestellung getätigt hat. Andererseits hat auch der Käufer ein Interesse daran, daß Lieferzusagen und Angebote verbindlich sind. Substitution und Transposition In der Kryptographie werden die Methoden, um Klartext zu verschleiern, in zwei Kategorien eingeteilt: Substitution und Transposition. Bei der Substitution wird jedes Zeichen des Klartextes durch ein anderes ersetzt. Die älteste bekannte Chiffre ist die Cäsar-Chiffre, die, wie man schon vermuten kann, Julius Cäsar zugeschrieben wird. Hier wird jeder Buchstabe des durch denjenigen ersetzt, der sich an der drittnächsten Stelle (modulo 26) im Alphabet befindet. So wird z.B. a zu d, b zu e und y zu b. Allgemeiner kann man die Buchstaben um n modulo 26 in eine Richtung verschieben. Hier wäre n dann der Schlüssel. Bei der Transposition werden nicht die die Symbole des Alphabets durch andere ersetzt, sondern deren Reihenfolge im Klartext wird vertauscht. Ein einfacher Algorithmus ist die Spaltentransposition. Hier wird der Klartext auf ein Papier mit einer fixen Anzahl von Spalten geschrieben. Der Chiffretext besteht nun aus den vertikalen Spalten, die hintereinander aufgeschrieben werden. Aus dem Klartext DERURLAUBMUSSVERSCHOBENWERDEN wird mit der Spaltenanzahl 6 DASHEEUVORRBEBDUMREERUSNNLSCW, wie das folgende Bild verdeutlicht: DERURLAUBMUSSVERSCHOBENWERDEN Abb. 1: Beispiel zur Spaltentransposition. Die heutigen, auf Computern verwendeten kryptographischen Algorithmen basieren immer noch auf dieses beiden Grundprinzipien. Nur hatte das Alphabet damals 26 Elemente, während die Algorithmen heute auf Bitebene arbeiten. Substitutionen werden dabei durch sogenannte S-Boxen, Transpositionen durch P-Boxen realisiert. In S-Boxen werden dabei n Eingabebits durch m Ausgabebits ersetzt, während in einer P-Box die Reihenfolge der Bits vertauscht wird. Kryptoanalyse Wenn man einen verschlüsselten Text hat und versucht, aus ihm den Klartext oder den verwendeten Schlüssel zu gewinnen, nennt man das Kryptoanalyse. Im Allgemeinen wird davon ausgegangen, daß der Verschlüsselungsalgorithmus frei zugänglich ist. Hierbei gibt es drei Szenarien: Im ersten Fall hat man nur Chiffretext. Im zweiten Fall sind sowohl der Klartext als auch der Chiffretext vorhanden. Dies nennt sich dann bekannter Klartext. Der dritte Fall heißt gewählter Klartext. Hier hat der Kryptoanalytiker die Möglichkeit, Klartexte seiner Wahl verschlüsseln zu lassen. Ein sicheres Kryptosystem sollte auch der Attacke durch gewählten Klartext standhalten. Symmetrische Verschlüsselung Grundlagen Bei der symmetrische Verschlüsselung wird vom Sender und vom Empfänger der gleiche geheime Schlüssel für die Ver- und Entschlüsselung benutzt (siehe Abb. 2). Dieser muß daher vorher über einen sicheren Kanal ausgetauscht werden.  Abb. 2: Symmetrische Verschlüsselung (aus [Iann97]). Man unterscheidet zwischen Block- und Streamchiffren. Erstere verschlüsseln jeweils einen Klartextblock (typischerweise 64 Bit) in einen Chiffreblock gleicher Länge, während Streamchiffren einen kontinuierlichen Bit- oder Bytestrom verschlüsseln. Blockchiffren Grundlagen Ein Großteil der verwendeten Blockchiffren sind iterierte Blockchiffren. Bei diesen wird eine Funktion mehrere Runden hintereinander auf den zu verschlüsselnden Block angewandt. Diese Funktion wird durch einen Teilschlüssel parametrisiert, der, für jede Runde auf eine andere Weise, aus dem geheimen Schlüssel abgeleitet wird. Die Anzahl der Runden ist ein Kompromiß zwischen der Sicherheit des Algorithmus und seiner Schnelligkeit, da im allgemeinen die Kryptoanalyse bei steigender Rundenanzahl schwieriger wird. Feistel-Chiffren [Feis73] sind spezielle iterierte Blockchiffren. Bei diesen Algorithmen wird der Eingabeblock in zwei Hälften aufgeteilt. Auf eine Hälfte wird die Rundenfunktion angewandt und diese dann per exklusiv-oder mit der anderen Hälfte verknüpft. Danach werden die beiden Hälften vertauscht. Einfach ist bei diesen Chiffren die Entschlüsselung, da der Algorithmus genauso durchlaufen werden kann, nur werden die Teilschlüssel in umgekehrter Reihenfolge angewandt. Der bekannteste Feistel-Chiffren ist DES. DES Die bekannteste Blockchiffrier ist DES (Data Encryption Standard). Sie ist eine Weiterentwicklung von Lucifer, einem Algorithmus, der Anfang der siebziger Jahre von IBM entwickelt wurde [1482]. Die Entwicklung von DES wurde durch einen Aufruf des National Bureau of Standards (NBS), welches heute National Institute of Standards and Technology (NIST) heißt, initiiert. Hier wurde dazu aufgerufen, Algorithmen für einen Kryptographiestandard vorzuschlagen. IBM entwickelte DES, und dieser wurde mit Hilfe der National Security Agency (NSA) auf seine Sicherheit hin untersucht. DES wurde 1977 als offizielle Norm übernommen [NIST93a]. DES ist ein monoalphabetischer Ersetzungscode, das heißt jeder 64-Bit-Eingabeblock wird (abhängig vom Schlüssel) genau einem 64-Bit-Chiffreblock zugeordnet. Verschlüsselung mit DES Der Algorithmus besteht grob aus 18 Schritten (siehe Abb. 3). Der erste Schritt ist eine schlüsselunabhängige Permutation. Dann wird der 64-Bit-Block in zwei 32-Bit-Hälften aufgespalten. Diese durchlaufen sechzehnmal die gleiche Funktion. In diesen sechzehn Runden findet die eigentliche Verschlüsselung statt. Zum Schluß wird die Initialpermutation rückgängig gemacht.  Abb. 3: Die Verschlüsselung mit DES (aus: [Schn96]). Eine Runde hat als Eingabe jeweils zwei 32-Bit-Zahlen und produziert wiederum zwei 32-Bit-Zahlen. Dabei sind die linken Ausgabebits einfach eine Kopie der rechten Eingabehälfte. Die andere Hälfte ist eine Kombination aus den 64 Eingabebits und dem Schlüssel. Diese Funktion besteht aus vier Stufen (siehe Abb. 4). In der ersten Stufe wird der rechte 32-Bit-Block zu einem 48-Bit-Block expandiert. Dieser wird in der zweiten Stufe per exklusiv-oder mit einem 48-Bit-Teilschlüssel verknüpft.  Abb. 4: Eine Runde in DES (aus: [Schn96]). Letzterer wird aus dem 56-Bit-Schlüssel gewonnen und ändert sich jede Runde. Danach folgt eine S-Box-Substitution, die aus dem 48-Bit Ergebnis der letzten Stufe wieder eine 32-Bit-Zahl macht. Diese Zahl durchläuft noch eine P-Box, dessen Ergebnis per exklusiv-oder mit der linken 32-Bit-Zahl verknüpft wird und als rechter 32-Bit-Block die Runde verläßt. Entschlüsselung mit DES DES wurde als symmetrischer Algorithmus entworfen. Das heißt, daß die gleiche Funktion sowohl zur Ver- als auch zur Entschlüsselung benutzt werden kann. Nur die Teilschlüssel müssen in der umgekehrten Reihenfolge benutzt werden. DES knacken Die Schlüssellänge von 56-Bit ist nach heutigen Erkenntnissen zu kurz und kann, wenn auch mit hohem Aufwand, durch Absuchen des gesamten Suchraums geknackt werden. Die Kosten für eine Maschine, die eine mit DES chiffrierte Nachricht (Brute-Force-Suche) innerhalb von durchschnittlich 3,5 Stunden entschlüsselt, wurden 1993 von Michael Wiener mit 1 Million US-Dollar angegeben [Wien94], eine auch von größeren Firmen aufzubringende Summe. Andere BlockChiffren IDEA (International Data Encryption Algorithm) wurde von den Schweizern Lai und Massey entwickelt und 1990 veröffentlicht [LaMa90]. Die Schlüssellänge ist mit 128 Bit deutlich höher als die von DES und wird aus heutiger Sicht als ausreichend betrachtet. Anders als DES, dessen Operationen in Software nur sehr schlecht implementiert werden können, bedient sich IDEA einfacher Operationen wie exklusiv-oder, Addition modulo 216 und Multiplikation modulo 216+1 auf 16-Bit-Teilblöcken, so daß dieser Algorithmus sogar auf 16-Bit Prozessoren läuft. So ist IDEA etwa doppelt so schnell wie DES. Bekannt wurde IDEA durch seinen Einsatz im dem E-Mail-Verschlüsselungspaket Pretty Good Privacy (PGP). Andere Blockchiffren sind z. B. RC5 [Riv95] und SAFER [Mas93] Block Chaining Blockchiffren arbeiten mit einzelnen Blöcken fester Größe. Um diese Blöcke aneinanderzuketten gibt es mehrere Verfahren, sogenannte kryptographische Modi. Electronic Codebook Mode (ECB) Die einfachste Modus ist der Electronic Codebook Mode. Eine Datei wird in 64 Bit lange Blöcke aufgeteilt, jeder Klartexblock wird unabhängig von den anderen Blöcken chiffriert und an den vorherigen Block angehängt. Wenn nötig wird der letzte Block auf 64 Bit aufgefüllt. Der Name dieses Modus kommt daher, daß es theoretisch möglich ist, ein Codebuch mit allen Klartext-Chiffretext-Paaren zu erstellen, da ein Block bei gleichem Schlüssel immer den gleichen Chiffretext ergibt. Der Vorteil diese Verfahrens ist, daß auf Dateien an beliebigen Stellen zugegriffen werden kann. Dies ist bei den später vorgestellten Modi nicht möglich, da die chiffrierten Blöcke voneinander abhängen. Dieser Modus kann aber, auch wenn weder Schlüssel noch Algorithmus, sondern nur die Blockgröße bekannt ist, per Block Replay mißbraucht werden. Dazu ein Beispiel aus [Tane97, S. 609]: In Abbildung 5 sieht man den Klartext einer in 16 DES-Blöcken verschlüsselten Datei, die Jahresboni verschiedener Mitarbeiter enthält. NamePositionBonusAdams,LeslieClerk$10Black,RobinBoss$500,000ColliNs,KimManager$100,000Davvis,BobbieJanitor$5 Abb. 5: Beispiel zum Block Replay. Leslie weiß, daß er dieses Jahr keinen hohen Bonus erwarten darf. Er hat aber Zugriff auf die verschlüsselte Datei und kennt auch ihren Aufbau, er weiß also, welche Informationen in welchem Block gespeichert sind. Auch ohne Schlüssel kann er diese Situation ausnutzen, indem er den Block 11, den mit dem Bonus von Kim, in den Block 3 kopiert. Wenn niemand genau in die Abrechnungen schaut, kann er sich auf ein schönes Weihnachtsfest freuen. Cipher Block Chaining Mode (CBC) Eine Möglichkeit, den oben beschriebenen Angriff zu verhindern, ist das cipher block chaining (CBC). Beim CBC wird ein Block vor der Verschlüsselung per exklusiv-oder mit dem vorherigen Chiffreblock verkettet. Der erste Block wird dabei mit einem zufällig initialisierten Initialisierungsblock, der mit übertragen wird, verkettet (siehe Abb. 6). Als Ergebnis dieses Verfahrens wird der gleiche Klartextblock nicht auf den gleichen Chiffreblock abgebildet.  Abb. 6: Verschlüsselung von CBC (aus: [Schn96]).  Abb. 7: Entschlüsselung von CBC (aus: [Schn96]). Um aus den chiffrierten Blöcken wieder Klartext zu gewinnen, werden sie dechiffiert und dann per exklusiv-oder mit dem vorherigen chiffrierten Block verknüpft. Dabei benutzt man bei dem ersten Block wiederum den Initialisierungsblock. Cipher-Feedback Mode (CFB)  Abb. 8: Verschlüsselung von CFB (aus: [Schn96]). Es gibt auch die Möglichkeit, einen Blockchiffre als self-synchronizing stream cipher (s. u.) zu verwenden. Damit umgeht man ein Problem beim cipher block chaining: Mit der Dechiffrierung kann erst begonnen werden, wenn ein ganzer 64-Bit-Block angekommen ist. In interaktiven Umgebungen, wie zum Beispiel bei Terminals, kann dieses Verhalten unerwünscht sein. Hier kann man mit dem cipher-feedback mode Abhilfe schaffen. Hier wird der Chiffreblock in einem 64-Bit-Schieberegister gehalten. Beim 8-Bit-CFB wird ein ankommendes Byte mit dem linken Byte des Chiffretexts verknüpft und das Ergebnis wird sowohl in das Schieberegister geschoben als auch über die Übertragungsleitung gesendet. Die linken 8 Bit aus dem Schieberegister werden jeweils weggeworfen. Allgemeiner ist der n-Bit-CFB Mode. Hier ist n eine Bitanzahl zwischen eins und der Blockgröße. Die Entschlüsselung erfolgt analog. Dabei wird sowohl bei der Ver- als auch der Entschlüsselung der Blockchiffre im Verschlüsselungsmodus betrieben. Output-Feedback Mode (OFB) Der output-feedback mode ist vom Aufbau her ähnlich dem cipher-feedback mode, nur wird hier das Byte (beziehungsweise die n Bits beim n-Bit OFB), welches rechts in das Schieberegister eingefügt wird, vor dem exklusiv-oder entnommen. So wird der Blockchiffre als synchronous stream cipher (s. u.) benutzt. Streamchiffren  Abb. 9: Entschlüsselung von CFB (aus: [Schn96]). Grundlagen Im Gegensatz zu Blockchiffren, die jeweils einen ganzen Klartextblock chiffrieren, verschlüsseln Streamchiffren einen Klartextstrom aus einzelnen Bits oder Bytes per exklusiv-oder mit einem key-stream. Key-Stream-Generatoren sind im Prinzip Pseudozufallszahlengeneratoren, deren Bitfolge durch den Schlüssel bestimmt wird. Beim Empfänger wird der key-stream mit Hilfe des Schlüssels reproduziert, und durch ein simples exklusiv-oder wird der Klartext wiedergewonnen. Bei einem self-synchronizing stream cipher, zu denen die meisten Streamchiffren gehören, hängt der interne Zustand von den letzten n Bits des bearbeiteten Chiffrestroms ab. Wenn also beim Entschlüsseln diese n Bits empfangen wurden, hat sich der Generator des Empfängers synchronisiert und der Rest der Nachricht kann entschlüsselt werden. Bei einem Bitfehler in verschlüsselten Strom werden, da dieses Bit ja auch den internen Zustand verändert, n Bits im entschlüsselten Klartext verstümmelt. Danach wird der Strom wieder richtig entschlüsselt. Wenn der key-stream unabhängig von den verschlüsselten Daten ist, hat man einen synchronous stream cipher. Algorithmen Algorithmen sind hier zum Beispiel RC4 von Ron Rivest [Rive92a] und SEAL (Software-optimized Encryption Algorithm) von Rogaway und Coppersmith [RC93]. Asymmetrische Verschlüsselung Grundlagen Algorithmen für die asymmetrische Verschlüsselung (auch public key encryption genannt) unterscheiden sich von symmetrischen Verfahren dadurch, daß es nicht nur einen Schlüssel zur Ver- und Entschlüsselung gibt, sondern ein Schlüsselpaar, wobei ein Schlüssel zur Verschlüsselung, der andere zur Entschlüsselung benutzt wird. Macht man den ersten Schlüssel öffentlich bekannt (den public key), können Kommunikationspartner ihre Nachrichten mit diesem Schlüssel chiffrieren, und nur der Inhaber des anderen Schlüssels (des private key) kann diese Nachricht wieder dechiffrieren.  Abb. 10: Asymmetrische Verschlüsselung (aus: [Iann97]). Sinnvoll ist ebenfalls die Möglichkeit, eigene Nachrichten mit seinem private key zu verschlüsseln. Ein Empfänger dieser Nachricht kann diese nur mit dem zugehörigen public key entschlüsseln. Auf diese Weise werden digitale Signaturen ermöglicht. Ein Algorithmus zur asymmetrischen Verschlüsselung muß also die Anforderung erfüllen, daß ein mit dem public key verschlüsselter Klartext mit dem private key wieder entschlüsselt werden kann. es extrem schwierig ist, den private key aus dem public key abzuleiten. ein dem private key verschlüsselter Klartext mit dem public key wieder entschlüsselt werden kann. Die letzte Voraussetzung ist nötig, wenn der Algorithmus zur Erzeugung von digitalen Signaturen benötigt wird. Diese Art von Kryptosystem schlugen erstmalig zwei Wissenschaftler der Stanford-Universität, Diffie und Hellman, 1976 vor [DiHe76]. RSA Der bekannteste Algorithmus ist RSA. RSA wurde von Rivest, Shamir und Adleman 1977 entwickelt [RSA78] und wird in vielen offiziellen Standards wie SSL [FKK96] und PEM [Kali93] [Kent93] [Linn93] und Programmen wie PGP benutzt. Laut [Schn96] ist RSA sowohl der am einfachsten zu verstehende als auch zu implementierende Algorithmus mit öffentlichen Schlüsseln. Um die Schlüssel zu generieren geht man wie folgt vor: Es werden zwei große zufällige Primzahlen p und q generiert, die ungefähr gleich groß sein sollten. Berechne n = pq und z = (p-1)(q-1). Generiere eine Zahl e so, daß e und z teilerfremd sind. Berechne d, so daß ed = 1 (modulo z) gilt. Dies kann mit Hilfe des erweiterten Euklidischen Algorithmus gemacht werden (siehe [Schn96, S 246ff]). Der public key besteht nun aus dem Paar e und n, der private key aus d und n. Die Zahlen p und q werden nicht mehr gebraucht, sie dürfen aber nicht öffentlich zugänglich gemacht werden. Um einen Klartext m zu verschlüsseln, wird er in einzelne Blöcke mi aufgespalten. Bei Zahlen müssen diese Blöcke kleiner als n sein, bei Binärdaten nimmt man als Blockgröße die größte Potenz von 2 kleiner als n. Jeder Block wird jetzt mit der Formel ci = mie mod n verschlüsselt. Entschlüsselt werden die Blöcke mit der Formel mi = cid mod n. Um das etwas klarer zu machen hier ein Beispiel aus [Schn96, S 467f]. Die gewählten Zahlen sind natürlich viel zu klein als das sie Sicherheit bieten wurden: Nehme p = 47 und q = 71. Berechne n = pq = 3337. Berechne z = (p-1)(q-1) = 46 * 70 = 3220. Wähle e, hier 79. Berechne d = 79-1 mod 3220 = 1019. Die zu verschlüsselnde Nachricht sei m = 6882326879666683. Diese wird nun in Dreierblöcke gespalten. Jeder von ihnen ist kleiner als n = 3337. Die entstehenden Blöcke sind nun m1 = 688, m2 = 232, m3 = 687, m4 = 966, m5 = 668 und m6 = 003. Der erste Block wird verschlüsselt: c1 = 68879 mod 3337 = 1570. Die komplett verschlüsselte Nachricht lautet c = 1570 2756 2091 2276 2423 158. Um zum Beispiel m1 zu dechiffrieren berechnet man 15701019 mod 3337 = 688. Die Sicherheit dieses Verfahrens hängt mit der Schwierigkeit zusammen, große Zahlen ((500 Stellen) zu faktorisieren. Könnte man die öffentliche Zahl n faktorisieren, hätte man p und q. Mit dem erweiterten Euklidischen Algorithmus und e könnte man nun den geheimen Schlüssel d berechnen. RSA ist, wie alle asymmetrischen Verfahren, um Größenordnungen langsamer als die symmetrischen Verschlüsseungsverfahren. So sind Softwareimplementierungen von DES ungefähr hundertmal schneller als RSA. Public-key-Verfahren werden deshalb meist im Kombination mit symmetrischen Verfahren benutzt: Eine Nachricht wird mit einem symmetrischen Verfahren verschlüsselt. Der Schlüssel dafür kann zufällig gewählt werden. Dieser Schlüssel, der um einiges kleiner ist als die Nachricht, wird dann mit dem asymmetrischen Verfahren verschlüsselt und dann an die Nachricht gehängt.  Abb. 11: Die Hauptschleife von MD5 (aus: [Schn96]). Andere Public-Key-Verfahren Der erste Public-Key-Algorithmus stammt von Ralph. Merkle und Martin Hellman [MeHe78]. Er basiert auf dem NP-vollständigen Rucksackproblem. Der Algorithmus von El Gamal [ElGa85] beruht auf der Schwierigkeit, diskrete Logarithmen zu berechnen. Message-Digests Grundlagen Um digitale Signaturen zu erzeugen, werden Message-Digest benötigt. Diese sind eine Art Fingerabdruck eines Dokuments und sind im allgemeinen mit 128 bis 160 Bit deutlich kürzer als das Dokument. Message-Digest-Algorithmen sind Hash-Funktionen mit den Eigenschaften, daß sie leicht aus dem Dokument zu berechnen sind, aus dem Message-Digest nicht auf das Ursprungsdokument geschlossen werden kann und nur mit extrem hohem Aufwand zwei Nachrichten erzeugen werden können, die den gleichen Message-Digest haben. Zu den am häufigsten benutzten Algorithmen gehören MD5 und SHA-1. MD5 MD5 wurde 1991 von Ron Rivest entwickelt und ist der fünfte Algorithmus einer ganzen Reihe von ihm entwickelter Funktionen. Die Definition und eine Beispielimplementation findet sich in [Rive92b]. MD5 erzeugt einen 128 Bit langen Hash-Code.  Abb. 12: Eine MD5 Operation (aus: [Schn96]). Die Ausgangsnachricht wird auf eine Länge von 448 Bit (modulo 512) aufgefüllt und dann die Länge der Originalnachricht als 64-Bit-Zahl angehängt. So ergibt sich als Gesamtlänge ein Vielfaches von 512 Bit. Der 128-Bit-Puffer, der nachher den message-digest enthält, wird mit einem festen Wert initialisiert. Die Nachricht wird nun in 512 Bit lange Blöcke aufgeteilt und in mehreren Durchgängen mit dem 128 Bit Puffer durchmischt, bis alle Blöcke aufgebraucht sind. Für jeden 512-Bit-Eingabeblock werden dabei 4 Runden durchlaufen (siehe Abb. 11). Jede Runde wendet eine unterschiedliche Operation (siehe Abb. 12) an. Diese Operation wird jeweils 16 mal durchgeführt. In jeder dieser Operationen wird der bisherige message-digest mit einem 32-Bit-Teilstück des derzeit bearbeiteten 512-Bit-Blocks verknüpft. SHA SHA-1 (Secure Hash Algorithm 1) [NIST94] ist die korrigierte Version des von der National Security Agency (NSA) entwickelten SHA [NIST93b]. Es wurde vom National Institute of Standards and Technology (NIST) zum Standard erhoben. Der Hash-Code ist mit 160 Bit um 32 Bit länger als der von MD5, und damit laut [Tane97] um den Faktor 232 sicherer als MD5. Literatur- und Quellenverzeichnis [Bal93]D. Balenson. RFC 1423: Privacy Enhancement for Internet Electronic Mail Part III. Network Working Group, 1993.[DiHe76]W. Diffie and M.E. Hellman. „New directions in cryptography“. IEEE Transactions on Information Theory, IT-22: 644–654, 1976.[ElGa85]T. ElGamal. „A public-key cryptosystem and a signature scheme based on discrete logarithms“. IEEE Transactions on Information Theory, IT-31: 469 472, 1985[Fei73]H. Feistel. „Cryptography and Computer Privacy“ Scientific American, Mai 1973.[FKK96]A. O. Freier; P. Karlton; P. C. Kocher. Internet Draft: The SSL Protocol Version 3.0. Internet Engineering Task Force, 1996 .[Iann97]M. Iannamico. PGP User’s Manual. Pretty Good Privacy, Inc, 1997.[Kali93]B. Kaliski. RFC 1424: Privacy Enhancement for Internet Electronic Mail Part IV. Network Working Group, 1993.[Kent93]S. Kent. RFC 1422: Privacy Enhancement for Internet Electronic Mail Part II. Network Working Group, 1993.[LaMa90]X. Lai; J. Massey. „A Proposal for a New Block Encryption Standard“. Advances in Cryptology – Eurocrypt ´90 Proceedings. Springer-Verlag, New York, 1990.[Linn93] J. Linn. RFC 1421: Privacy Enhancement for Internet Electronic Mail Part I. Network Working Group, 1993.[Mass93]J.L. Massey. „SAFER K-64: A byte-oriented block ciphering algorithm“. In Proceedings of 1st Workshop on Fast Software Encryption. S. 1-17, Springer-Verlag, 1993.[MeHe78]R. C. Merkle; M. Hellman. „Hiding Information and Signatures in Trapdoor Knapsacks“. IEEE Transactions on Information Theory, v. 24, n. 5 September 1978.[NIST93a]National Institute of Standards and Technology (NIST). FIPS Publication 46-2: Data Encryption Standard. 1993.[NIST93b]National Institute of Standards and Technology (NIST). FIPS Publication 180: Secure Hash Standard (SHS). Mai 1993.[NIST94]National Institute of Standards and Technology (NIST). Announcement of Weakness in the Secure Hash Standard. Mai 1994.[RC93]P. Rogaway and D. Coppersmith. „A software-optimized encryption algorithm“. Proceedings of 1st Workshop on Fast Software Encryption. Springer-Verlag, 1993.[Rive92a]R. L. Rivest. The RC4 Encryption Algorithm. RSA Data Security, Inc, 1992.[Rive92b]R. L. Rivest. RFC 1321: The MD5 Message-Digest Algorithm. Internet Activities Board. 1992.[Rive95]R. L. Rivest. „The RC5 encryption algorithm“. CryptoBytes, 1(1): 9-11, 1995.[RSA78]R. L. Rivest; A. Shamir; L.M. Adleman. „A method for obtaining digital signatures and public-key cryptosystems“. Communications of the ACM, 21(2), Februar 1978.[Schn96]B. Schneier. Applied Cryptography. Wiley, New York, 1996.[Tane97]A. S. Tanenbaum. Computernetzwerke. Prentice Hall Verlag, München, 1997.[Wien94]M. J. Wiener. Efficient DES Key Search. TR-244, School of Computer Science, Carleton University, 1994. Quantenkryptographie Lars Werbeck Motivation Praxisrelevante Kryptographiesysteme basieren heutzutage auf der Komplexität mathematischer Probleme. RSA wird zur Verschlüsselung eingesetzt, da es zur Zeit nicht effizient möglich ist, aus dem öffentlichen Schlüssel die privaten Schlüssel zu berechnen, die zur Entschlüsselung notwendig sind. In den letzten Jahren erfolgte auf Basis der Quantenmechanik die Entwicklung neuer Ideen zur Informationsverarbeitung, die zunehmend auch praktische Relevanz bekommen. Quantencomputer sind im Gegensatz zu heutigen klassischen Rechnern theoretisch in der Lage, harte mathematische Probleme, wie die Faktorisierung einer natürlichen Zahl, effizient zu lösen. Sie beruhen auf Prinzipien der Quantenmechanik (siehe Kapitel 2.2). Kleinere Erfolge in jüngster Zeit (kohärente Zustände im Millisekundenbereich) lassen vermuten, daß die praktische Realisierung nur eine Frage der Zeit ist. Dennoch sind einige Wissenschaftler nicht davon überzeugt, daß Quantencomputer jemals Realität sein werden. Die Idee, Quanten als Informationsträger zu benutzen, wird unter dem Begriff Quanteninformation zusammengefaßt. Quantenkryptographie benutzt Quanteninformation und quantenmechanische Effekte zur Generierung geheimer Schlüssel zwischen Kommunikationsteilnehmern. Die Quantenkryptographie beruht nicht auf mathematischen, sondern auf physikalischen Prinzipien. Einführung Die Quantenphysik beschäftigt sich mit den kleinsten bekannten Objekten: Quanten. Während in der klassischen Physik relativ große Systeme Gegenstand der Untersuchungen sind und waren, über die Gesetzmäßigkeiten durch Experimente herausgefunden wurden, stellte sich Anfang dieses Jahrhunderts heraus, daß diese Gesetzmäßigkeiten sich nicht auf beliebig kleine Systeme übertragen ließen. Die Regeln, nach denen die Mikrowelt funktioniert, waren zunächst nur von theoretischem Interesse. Doch schon bald waren praktische Anwendungen, die auf Grundlagen der Quantentheorie beruhen, realisiert. Beispiele hierfür sind Lasertechnik, Kernkraftnutzung (Energiegewinnung, Atombombe) oder Halbleitertechnik. In der heutigen Zeit werden auch verstärkt Experimente möglich, die nicht auf einer großen Menge Quanten operieren, sondern bis in den Bereich isolierter Atome reichen. Daher sind zunehmend auch praktische Anwendungen möglich, die auf Ergebnissen der Quantentheorie kleiner Quantenmengen basieren, die ursprünglich jenseits jeglicher praktischer Relevanz hergeleitet wurden. Erst durch diese Experimente (EPR-Nachweis) sind selbst skeptische Physiker gezwungen, die teilweise paradoxen Folgerungen aus der Quantentheorie zu akzeptieren. Quanteninformation Die Miniaturisierung im Halbleiterbereich mit immer größeren Taktfrequenzen und damit verbundenen kürzeren möglichen Wegstrecken stößt schon in naher Zukunft (zwangsläufig) in Bereiche, in denen fundamentale Auswirkungen durch das Verhalten von Quanten unumgänglich berücksichtigt werden müssen. Quanten sind physikalische Objekte. Sie können unterscheidbare Zustände annehmen. Es ist daher möglich, mit diesen Zuständen Informationen in Relation zu setzen, ähnlich den Spannungspotentialen klassischer Physik in klassischen Computern und deren Interpretation als Informationen. Qubits Qubits werden die kleinsten Informationseinheiten auf Quantenbasis genannt. Das Wort ergibt sich aus den Begriffen ‘Quant’ und ‘Bit’. Qubits können in zwei diskreten Zuständen sein, die genau wie in der klassischen Informationstheorie die Werte ‘0’ und ‘1’ oder ‘A’ und ‘B’ oder ‘hoch’ und ‘tief’ repräsentieren können. Jedoch sind sie auch in der Lage, eine Superposition oder Überlagerung von Zuständen anzunehmen. In diesem Fall liefert eine Messung (bezüglich dieser zwei Basen) einen der beiden diskreten Zustände mit jeweils 50-prozentiger Wahrscheinlichkeit. Jedoch befindet sich das Qubit während der Superposition in beiden Zuständen gleichzeitig. Diesen Effekt kann man sich zu Nutzen machen, er macht die vergleichbare Mächtigkeit von Quantensystemen aus. Lichtpolarisation Am Beispiel der Polarisation des Lichtes und der Interpretation dieser Polarisationszustände als Qubits sollen die Möglichkeiten der Quanteninformation analysiert werden. Dabei kann man Licht als Teilchenstrom aus Photonen bestehend interpretieren. Im folgenden sollen linear polarisierte Photonen als Qubits eingesetzt werden. Eine Möglichkeit besteht darin, vertikal und horizontal polarisierte Photonen mit den Zuständen 0 und 1 in Relation zu setzen. Durch Polarisatoren ist es möglich, einen Polarisationszustand herzustellen. Als Polarisatoren werden Schirme aus dünnen Drähten (Mikrowelle), Kristalle oder Polaroid-Filter, die aus einer gestreckten Plastikfolie bestehen, die im wesentlichen aus langen parallelen Ketten von Molekülen aufgebaut ist, eingesetzt [Orea79]. Von Interesse ist hier jedoch nicht die physikalische Realisierung, sondern die Eigenschaften linear polarisierter Photonen. Vertikal polarisiertes Licht kann ungestört durch einen Vertikalfilter gelangen, wird jedoch von einem Horizontalfilter blockiert. Daher kann durch zwei senkrecht zueinander hintereinander gestellte Polarisatoren kein Licht dringen. Wird jedoch ein um 45 Grad versetzter Filter zwischenpositioniert, treten 25 Prozent der ursprünglichen Photonen durch die drei Filter. Werden horizontal polarisierte Photonen durch einen Diagonalfilter bewegt, treten 50 Prozent der Photonen aus. Hier wird ein Problem deutlich: Wie verhält sich ein einzelnes Photon beim Durchtritt durch den Filter. Es stellt sich heraus, daß hierüber nur Wahrscheinlichkeitsaussagen getroffen werden können. Eine Messung, die ein Polarisator darstellt, zwingt das Photon unvorhersehbar in einen Zustand. Entweder es wird diagonal polarisiert passieren, oder blockiert, mit jeweils 50-prozentiger Wahrscheinlichtkeit [GrGr87]. Vertikalfilter und Horizontalfilter bilden eine Basis im Polarisationsraum, da sie einander ausschließen. Orthogonale Quantenzustände Vertikale und horizontale Polarisation sind Photoneneigenschaften, die orthogonale Quantenzustände repräsentieren. Ein weiteres Beispiel bilden die Diagonalpolarisationen 45 Grad und 135 Grad.  Abb. 1: Zwei um 45 Grad versetzte Polarisatoren lassen 50 Prozent der Photonen passieren Wann immer Quantenzustände durch eine Messung exakt bestimmt werden können, durch die jeweils andere Messung jedoch keine Aussage möglich ist, liegen orthogonale Quantenzustände vor. Im Bereich der Polarisationsfilter bedeutet dies, daß die jeweiligen Basen sich in einem Winkel von 90 Grad unterscheiden. Diese Eigenschaften werden in der Quantenkryptographie ausgenutzt. Notation Um Quantenzustände präzise zu beschreiben, ist eine Notation gebräuchlich, die dem Namen ihres Entwicklers entsprechend Dirac-Notation genannt wird. Dabei werden Quantenzustände durch abstrakte Vektoren wie beispielsweise |V> (vertikale Photonenpolarisation) oder |H> (horizontale Photonenpolarisation) im Hilbert-Raum dargestellt. Ein Hilbert-Raum ist einem komplexen Vektorraum ähnlich. Die oben genannten Vektoren werden ‘kets’ genannt (der rechte Anteil des Wortes ‘bracket’). Die formalen Eigenschaften des Hilbert-Raumes sind für die Quantenkryptographie nicht so relevant wie für den Bereich Quantencomputer. Es sei hier nur darauf aufmerksam gemacht, daß eine der wichtigsten Eigenschaften der Vektoren ihre Länge ist, insbesondere die Länge des Skalarproduktes zweier Vektoren. In der Dirac-Notation werden die komplex konjugierten Vektoren = = 1, = = 0.  Abb. 2: Zwei senkrecht zueinander gestellte Polarisatoren lassen kein Photon passieren Die Länge eines Quantenzustand-Vektors entspricht der Wahrscheinlichkeit eines experimentellen Ergebnisses oder einer Messung, wobei mathematisch die Idee der Projektion verwirklicht ist [URL-2]. Quantencomputer In den frühen 80er Jahren begann Richard Feynman (u.a.) die konventionelle Informationstheorie auf quantenphysikalische Prozesse zu übertragen. Binärzahlen sollten dabei durch mehrere orthogonale Quantenzustände (|0> und |1>) dargestellt werden (siehe Kapitel 2.1.1). Diese Qubits können dabei in beliebiger Superposition sein. Logische Gatter sollten mehrere Qubits als Eingänge haben, wie klassische Gatter auch, jedoch sollte das Ergebnis ebenfalls in von den Eingangsqubits abhängiger Superposition stehen. Dadurch sind nicht nur Operationen auf diskreten Zuständen möglich, sondern auf einer zur Anzahl der Eingänge exponentiellen Anzahl vielen Eingaben simultan. Ein Register der Länge N mit N Qubits der geforderten Form ist in der Lage, gleichzeitig 2N Eingaben darzustellen. Auf all diesen Eingaben kann nun durch ein Gatter eine Funktion angewendet werden, die die Funktionswerte aller 2N Eingaben in einem Schritt berechnet. Dabei treten folgende Probleme auf, die Schuld an der bisher fehlenden praktischen Realisierung sind: Superpositionen lassen sich zur Zeit nur 1 Millisekunde stabil halten Wechselwirkungen zwischen den Qubits zerstören die Superposition  Abb. 3: Funktionsprinzip eines Quantencomputers Gatter mit vielen Eingängen sind zur Zeit noch zu instabil Ein Problem der Messung aller Ausgänge ergibt sich dadurch, daß eine Messung die Superpositionen kollabieren läßt. Daher können nur allgemeine Aussagen über die Ausgangsmenge ermittelt werden, wie beispielsweise Perioden, die einfach ausgedrückt durch Interferenzen der Superpositionen meßbar gemacht werden können. Diese Eigenschaften nutzt Shor’s Algorithmus zur Primfaktorzerlegung zweier Zahlen aus, dessen Grundgedanken im folgenden Kapitel erläutert werden. Shor’s Algorithmus Shor’s Algorithmus basiert auf der Tatsache, daß die Primfaktorzerlegung auf die Berechnung einer Periode einer Funktion reduziert werden kann [Schr90]. Diese Periode kann mit einem Quantencomputer berechnet werden. Sei die zu faktorisierende Zahl N. Gesucht ist die Periodizität ( f(x)=f(x+r)=...=f(x+n*r) ) der Funktion fN(x) = ax mod N, wobei 1 wird um drei Optionen erweitert: DN gibt in der HTML-Seite die Signatur (Distinguished Name) des Empfängers bekannt, NONCE beinhaltet den String der bei Anfrage zurückgesendet wird (s.o.), CRYTOPTS enthält die Liste der Zertifikate, die der Empfänger benötigt um z.B. eine Signatur zu verifizieren. Beispiel Request mit RSA-Schlüsselaustausch und Inband-Schlüssel: Mit einem S-HTTP-fähigen Webbrowser wird ein HTTP-Request auf eine Seite geschickt, der eine Link auf eine S-HTTP-Seite enthält. Der Browser erhält zusätzlich zu der Seite folgende Antwort : 200 OK HTTP/1.0 Status Line Server-Name: Navaho-0.1.2.3alpha Server Name Certificate-Info: PKCS7,MIAGCSqGSIb3DQEHAqCAMIACAQExADCABgkqh Schlüssel kiG9w0BBwEAAKCAM IIBrTCCAUkCAgC2MA0GCSqGSIb3DQEBAgUAME0xCzAJBgNVBAYTAlVTMSAwH gYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEcMBoGA1UECxMTUGVyc 29uYSBDZXJ0aWZpY2F0ZTAeFw05NDA0MDkwMDUwMzdaFw05NDA4MDIxODM4N TdaMGcxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0e SwgSW5jLjEcMBoGA1UECxMTUGVyc29uYSBDZXJ0aWZpY2F0ZTEYMBYGA1UEA xMPU2V0ZWMgQXN0cm9ub215MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMy8Q cW7RMrB4sTdQ8Nmb2DFmJmkWn+el+NdeamIDElX/qw9mIQu4xNj1FfepfJNx zPvA0OtMKhy6+bkrlyMEU8CAwEAATANBgkqhkiG9w0BAQIFAANPAAYn7jDgi rhiIL4wnP8nGzUisGSpsFsF4/7z2P2wqne6Qk8Cg/Dstu3RyaN78vAMGP8d8 2H5+Ndfhi2mRp4YHiGHz0HlK6VbPfnyvS2wdjCCAccwggFRAgUCQAAAFDANB gkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXUlNBIERhd GEgU2VjdXJpdHksIEluYy4xLjAsBgNVBAsTJUxvdyBBc3N1cmFuY2UgQ2Vyd GlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTQwMTA3MDAwMDAwWhcNOTYwMTA3M jM1OTU5WjBNMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXUlNBIERhdGEgU2Vjd XJpdHksIEluYy4xHDAaBgNVBAsTE1BlcnNvbmEgQ2VydGlmaWNhdGUwaTANB gkqhkiG9w0BAQEFAANYADBVAk4GqghQDa9Xi/2zAdYEqJVIcYhlLN1FpI9tX Q1m6zZ39PYXK8Uhoj0Es7kWRv8hC04vqkOKwndWbzVtvoHQOmP8nOkkuBi+A QvgFoRcgOUCAwEAATANBgkqhkiG9w0BAQIFAANhAD/5Uo7xDdp49oZm9GoNc PhZcW1e+nojLvHXWAU/CBkwfcR+FSf4hQ5eFu1AjYv6Wqf430Xe9Et5+jgnM Tiq4LnwgTdA8xQX4elJz9QzQobkE3XVOjVAtCFcmiin80RB8AAAMYAAAAAAA AAAAA== Encryption-Identity: DN-1485, null, CN=Setec Astronomy, OU=Persona Zertifizie= Certificate,O=“RSA Data Security, Inc.“, C=US; rungsstelle SHTTP-Privacy-Enhancements: recv-required=encrypt URL Don‘t read this. Um diese URL zu referenzieren, wird folgender HTTP-Request verwendet: GET /secret HTTP/1.0 Request Line Security-Scheme: S-HTTP/1.2 HTTP Header User-Agent: Web-O-Vision 1.2beta Accept: *.* Key-Assign: Inband,1,reply,des-ecb;7878787878787878 Mit der Key-Assign-Headerzeile wird ein gemeinsamer Schlüssel vereinbart, der es dem Server erlaubt, die Antwort an den Client zu verschlüsseln, obwohl der Client selbst keinen öffentlichen Schlüssel besitzt. Nach der S-HTTP-Verarbeitung sieht der eingekapselte Request so aus: Secure * Secure-HTTP/1.2 Request Line Content-Transfer-Encoding: base64 Übertragung Content-Type: application/http Unversch.Format Content-Privacy-Domain: PKCS-7 SchlüsselTyp -----BEGIN PRIVACY-ENHANCED MESSAGE----- Nachricht MIAGCSqGSIb3DQEHA6CAMIACAQAxgDCBqQIBADBTME0xCzAJBgNVBAYTAlVTMSAw HgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEcMBoGA1UECxMTUGVyc29u YSBDZXJ0aWZpY2F0ZQICALYwDQYJKoZIhvcNAQEBBQAEQCU/R+YCJSUsV6XLilHG cNVzwqKcWzmT/rZ+duOv8Ggb7oO/d8H3xUVGQ2LsX4kYGq2szwj8Q6eWhsmhf4oz lvMAADCABgkqhkiG9w0BBwEwEQYFKw4DAgcECFif7BadXlw3oIAEgZBNcMexKe16 +mNxx8YQPukBCL0bWqS86lvws/AgRkKPELmysBi5lco8MBCsWK/fCyrnxIRHs1oK BXBVlsAhKkkusk1kCf/GbXSAphdSgG+d6LxrNZwHbBFOX6A2hYS63Iczd5bOVDDW Op2gcgUtMJq6k2LFrs4L7HHqRPPlqNJ6j5mFP4xkzOCNIQynpD1rV6EECMIk/T7k 1JLSAAAAAAAAAAAAAA== -----END PRIVACY-ENHANCED MESSAGE----- Zwischen den beiden Begrenzern steht eine PKCS-7-Nachricht, die mit RSA unter Benutzung des vorher im Certificate-Info übertragenen öffentlichen Schlüssels der Setec Astronomy verschlüsselt wurde. Auf Serverseite wird die Anfrage entschlüsselt und das Dokument bereitgestellt. Der HTTP-Response sieht so aus: HTTP/1.0 200 OK Security-Scheme: S-HTTP/1.2 Content-Type: text/html Congratulations, you‘ve won. Click here to claim your prize Eingeschlossen in eine S-HTTP-Nachricht wird dies zu: Secure * Secure-HTTP/1.2 Content-Transfer-Encoding: base64 Content-Type: application/http Prearranged-Key-Info: des-ecb,697fa820df8a6e53,inband:1 Content-Privacy-Domain: PKCS-7 -----BEGIN PRIVACY-ENHANCED MESSAGE----- MIAGCSqGSIb3DQEHBqCAMIACAQAwgAYJKoZIhvcNAQcBMBEGBSsOAwIHBAifqtdy ..... AAAAAAAAAAA= -----END PRIVACY-ENHANCED MESSAGE----- Die Daten zwischen den Begrenzern sind eine PKCS-7-Nachricht, die mit einem zufällig gewählten Sitzungsschlüssel (DEK) verschlüsselt wurden, der seinerseits mit dem vorher ausgetauschten Schlüssel 1 der Methode inband (inband:1) verschlüsselt ist. [URL-1] Vergleich mit Secure Socket Layer (SSL) SSL benutzt die gleichen krytographischen Techniken um die Nachrichten zu verschlüsseln. Jedoch verschlüsselt SSL nicht die Nachricht selbst, sondern deren Übertragungskanal. SSL arbeitet auf der Transportschicht.  Abb. 2: Unterschied zwischen SSL und S-HTTP SSL ist für einen allgemeinen Einsatz gedacht, findet jedoch zur Zeit nur Anwendung im WWW, während S-HTTP als Erweiterung des HTTP gedacht ist und daher nur für das WWW angewendet werden kann. Zusammenfassung S-HTTP S-HTTP ist eine Erweiterung des HTTP, die die Sicherheit bei der Übertragung im WWW gewährleisten soll. S-HTTP ist im Gegensatz zu SSL und anderen Verfahren auf der Anwendungsschicht angesiedelt. Jedoch wird S-HTTP nicht von Netscape und Microsoft unterstützt und findet daher kaum Verbreitung. Lediglich Mosaic hat von den großen Anbietern einen S-HTTP-fähigen Browser auf den Markt gebracht (S-MOSAIC). Sicherheitslücken Begriffserklärung Spoofing „In network lingo, spoofing means pretending to be something you are not“[URL-3] (In der Netzwerksprache heiß Spoofing, daß man etwas vorgibt, das man nicht ist.) Arten Es werden drei Arten von Spoofing unterschieden: Mail Spoofing: Hier wird vorgegeben, daß man der Empfänger der Mail von A ist, obwohl man selbst B ist. (z.B. könnten Mail an Helmuth.Kohl@cdu.bundestag.de tatsächlich an Gerd.Schröder@spd.hannover.de gehen) IP Spoofing: Hier gibt ein Rechner vor, eine andere Maschine zu sein als sie ist. (s. Vortrag Angriffsstrategien) Web Spoofing: Hier gibt ein Server vor, ein anderer zu sein, als er ist. (z.B. könnte java.Sun.com umgelenkt werden nach Microsoft.com....) Das zuvor vorgestellte S-HTTP hat hier keine Schutzmöglichkeiten, da das Ziel nicht die transferierten Daten selbst sind, sondern der Angriff gegen die Struktur des WWW geht. Attacken durch Anwendungen Programme schaffen Sicherheitsprobleme, wenn sie über das Netz aufgerufen werden können. (z.B. über Telnet), da sie zumeist eigentlich nur für den lokalen Rechner konzipiert wurden. Serverseite Die Administratoren eines Systems haben mit einer unüberschaubaren Vielzahl dieser Sicherheitslücken der verwendeten Software zu kämpfen. Fast jede Woche kommt die Nachricht über eine Sicherheitslücke. Der Server der CERT (http://www.cert.dfn.de) versendet in Durchschnitt 15 - 20 Mails im Monat. Einbuch in ein System Der Einbruchsversuch hat mit Normalfall das Ziel des Erlangens von Rechten auf den Servern. Entweder werden Paßwörter entwendet oder ROOT-Rechte erschlichen. Solches ist mit einfachen Mitteln zu erreichen. Zumeist wird über Telnet ein lokales Programm ausgeführt und dessen Schwächen mißbraucht(z.B. lpr, dbx). Andere Wege gehen über einen angehängten Decoder an eine E-Mail. Hier lassen sich von Netscape und Internet Explorer die Mail - Paßworte ausspionieren. Es gibt im Internet zahlreiche Anleitungen und fertige Programme, die einen Einbruch ermöglichen. Entdecken des Einbruchs Das Entdecken ist schwierig, da nicht alle Möglichkeiten eines Einbruchs überwacht werden können. Eine gewisse Sicherheit läßt sich nur dadurch herstellen, daß die wichtigen Dateien regelmäßig geprüft werden, so daß ungewollte Änderungen entdeckt werden können. Das Hauptproblem besteht jedoch nicht in den Einbrüchen aus dem Internet heraus, sondern durch eigene Mitarbeiter. Schutz vor Einbrüchen Die einzige Chance besteht darin es einem Eindringling so schwer wie möglich zu machen. Es müssen alle Advisatories (Nachrichten über Schutzfehler in Programmen - CERT) umgesetzt werden. Von außen gibt es technische Mittel wie Firewalls, oder das Verbot, Daten von innen direkt in das Internet zu versenden, indem alles über sogenannte Proxies läuft, die damit zu verhindern, daß lokale Programme Daten unkontrolliert in das WWW versendet. Beispiele von Hacked Pages  Abb. 3: Grafik einer Hacked Page , welche auf 15 Servern am selben Tag erschien.  Abb. 4: Verändertes Logo von „Lost World“. Fehler durch Ähnlichkeiten der URL Da es eine Vielzahl von Top-Level-Domains (.de, .com, .org, .net....) gibt, kann es auch kommen, daß unter der gleichen Domain zwei völlig verschiedene Server zu finden sind. Zum Beispiel hat die NASA als staatliche Organisation die Domain nasa.ORG. Wie es jedoch für Ziele in den USA üblich ist wurde häufig nasa.com angewählt und damit ein existierender, aber nicht gewünschter Server erreicht. Fehler in Software am Beispiel MS Internet Information Server Bei diesem Programm, das die Anfragen auf Ausliefern von Seiten verwalten soll, gibt es zwei Sicherheitslücken: Über das Integrierte FTP-Programm läßt sich der ROOT-Datei-Baum für Zugriffe öffnen. Bei Active Server Pages (ASP) ermöglicht ein einziger zusätzlicher Punkt in der URL den vollen Schreib-/Lesezugriff auf diese Seite. Da ASP oft für Authentifizierung genutzt wird sind Paßwörter ausspähbar. Clientseite Auch auf Clientseite ist es möglich Schäden durch Lücken in Programmen zu erzeugen. Hier werden die Lücken genutzt um Daten abzuschöpfen oder zu löschen. Einige Beispiele hierfür sind: MS Internet Explorer Da der Explorer stark in die Windows-Betriebssysteme integriert ist sind hier weitreichende Schwachpunkte bekannt geworden die häufig auf Active-X beruhen, da hier Sicherheitsaspekte nur sehr unzureichend berücksichtigt wurden. Ein großes Problem ist die Fähigkeit die unified name convention (UNC) - Namen aufzulösen. Bei UNC werden Name und Paßwort an den Server übertragen. Eine Seite im UNC Form ermöglicht das Abgreifen dieser Daten. Bei dem Internet Explorer 4 wird eine 265 Zeichen lange URL als Befehl interpretiert. Da bei Windows die Systemprogramme im Normalfall immer an derselben Stelle liegen, lassen sich alle Programme beliebig starten, ohne daß der Benutzer davon Kenntnis erlangt. Netscape Navigator Hier liegen die Schwachpunkte in erster Linie bei den PlugIn’s, die Löcher in das doch einigermaßen gute Sicherheitskonzept des Browsers und der Java Virtual Machine reißen. [URL -4] Zusammenfassung Attacken Im Prinzip ist jeder Rechner, der am Internet hängt, potentiell gefährdet Opfer einer Attacke zu werden. Es ist nur begrenzt möglich, sich vor Schäden durch Einbrüche zu schützen, weil der Angreifer meist ein Schritt voraus ist. Eine gewisse Sicherheit kann nur durch hohen Aufwand der Benutzer gewährleistet werden, daß er sich regelmäßig informiert und Lücken aktiv schließt. Fazit Das Internet ist noch weit entfernt davon ein sicheres Kommunikationsmittel zu sein. Es gibt erste Ansätze dieses Problem in den Griff zu bekommen Ein wichtiger Schritt dahin ist es, daß sich die Benutzer bewußt sind, daß das was sie abschicken auch von Unbefugten gelesen werden kann. Des weiteren ist kein hundert prozentiger Verlaß darauf, daß das was er bekommt unschädlich ist. Es gibt Wege, die Sicherheit erhöhen, aber auch sie sind nicht absolut sicher vor Mißbrauch und Lücken. Es werden neue Standards für eine sichere Übertragung benötigt (z.B. Internet Protokoll Version 6 - IPv6). Es zwingend notwendig, daß die Betriebssysteme in Hinblick auf die Sicherheit neu überarbeitet werden, um Schwächen von Anwendungen auszugleichen und nur den autorisierten Nutzern Zugriff zu gewähren. Literatur- und Quellenverzeichnis Elektronische Dokumente allgemein [URL-1]Universität Heilbronn, Diplomarbeit Tobias Häcker Stand 31.03.1997 (gesichtet 17.01.1997): http://people.swl.fh-heilbronn.de/~tobi/Diplomarbeit/[URL-2]University of Illinois, Stand nicht feststellbar (gesichtet 17.01.1998): http://www.ncsa.uiuc.edu/InformationServers/WebSecurity/iw3_tut/NETSCAP2.HTM[URL-3]SystemExperts Corporation Stand 06.01.1998 (gesichtet 17.01.1997) http://www.sys-exp.com/docwebsp.htm[URL-4]Netzwerk Sicherheits Competence Center, Stand nicht feststellbar (gesichtet 17.01.1998) http://www.cert.dfn.de/ Elektronische Dokumente zum Thema S-HTTP (ohne explizite Nennung) [URL-a]Department of Computer and Systems Sciences, Stand nicht feststellbar (gesichtet 07.01.1998) http://www.dsv.su.se/~lennarts/shttp.html[URL-b]Mersch Online, Stand 04.01.1998, (gesichtet 17.01.1997) http://www.mersch.com/research/xchange/shttp.htm[URL-c]Duke University, Druham, North Carolina, Stand 15.01.1998 (gesichtet 17.01.1998) http://www.duke.edu/~wgrobin/ethics/netshop/s-http.htm[URL-d]Universität Hannover, Stand 13.07.1995 (gesichtet 17.01.1997) http://www.rvs.uni-hannover.de/arbeiten/studien/sa-lschuette-html/node106.htmlElektronische Dokumente zum Thema Spoofing [URL-e]Ohio State University, Stand nicht feststellbar (gesichtet 17.01.1998) http://www.cis.ohio-state.edu/~drapcho/694qpres-final/sld022.htm[URL-f]Cisco Connection Online, Stand 1996 (gesichtet 17.01.1997) http://www.cisco.com/warp/cpropub/59/PPPConfig/BRI_to_IPX_Router.html[URL-g]CIAC, Stand nicht feststellbar (gesichtet 17.01.1998) http://ciac.llnl.gov/ciac/bulletins/f-08.shtmlElektronische Dokumente zum Thema Sicherheit [URL-h]W3Org, Stand 03.09.1997 (gesichtet 17.01.1997): http://www.w3.org/Security/[URL-i]Concord, Stand nicht feststellbar (gesichtet 17.01.1997): http://concord.cscdc.be/conference/presentation/3_1200_1_1/index.htm Sicherheit auf der Anwendungsschicht: e-mail Torsten Bohnenkamp Einordnung des Vortrags / Begriffsklärung Dieser Vortrag befaßt sich mit dem Thema Sicherheit bei der Kommunikation im Internet. Dabei werden anhand von PGP und S/MIME die wichtigsten Programme/Verfahren der verschlüsselten Versendung von e-mails vorgestellt. Zunächst soll aber die Motivation für den Aufwand der Anwendung derartiger Software dargestellt werden. Abschließend wird das Online-Echtzeit-Übertragungsverfahren ICQ (Online-Konferenzen / Chatrooms) vorgestellt. e-mail Was ist eine e-mail ? Häufig wird eine e-mail als elektronische Postkarte verstanden. Diese Betrachtungsweise trägt der tatsächlichen Verwendung aber nicht Rechnung. Betrachtet man den Inhalt, so stellt man fest, daß oftmals sensible Informationen übertragen werden, die nicht ohne weiteres für jeden zugänglich sein sollten (z.B. Firmeninterna, Kreditkartennummern, private Kommentare usw.). Informationen also, die man bestenfalls per Brief, besser noch per Einschreiben, versenden würde. Zudem können ungeschützt übertragene e-mails systematisch und effektiv erfaßt und verändert werden. Schließlich handelt es sich um elektronische Dokumente und nicht um handschriftliche Originale. Der Kreis der Nutzer von e-mail Systemen hat sich in der jüngeren Vergangenheit schnell erweitert. Von der Universität über den privaten Anwender bis zur zunehmenden Nutzung in der Industrie und in Dienstleistungsunternehmen ist die e-mail ein schneller, komfortabler und vermeindlich sicherer Weg Informationen zu übertragen. Neue Anwendungsmöglichkeiten, wie z.B. ‚online banking‘ und ‚electronic commerce‘, führen dazu , daß zunehmend sensible Daten übertragen werden. Daher ist es wichtig den Benutzerkreis über mögliche Manipulation und Mißbrauch zu informieren, sodaß Maßnahmen getroffen werden können, damit sensible Informationen auf sicherem Weg vom Absender zum Adressaten geschickt werden können. Der Weg einer e-mail Ein Mail-System kann in die folgenden drei Stufen unterteilt werden [ChZw95]: der Mail-Server erhält e-mails von externen hosts bzw. schickt sie an externe hosts das Mail-Programm des Providers oder der Domain speichert die e-mails auf lokalen hosts das Anwenderprogramm erlaubt das Lesen bzw. Schreiben von e-mails Die e-mail wird zunächst mit dem Mail-Clienten des Browsers oder der Provider-Software erstellt. Diese Nachricht wird vom Mail-Server des Providers an den Mail-Server des Adressaten geschickt und dort solange in einer Mailbox gespeichert bis der Adressat online geht und die e-mail empfängt. Auf diesem Weg, der über unterschiedliche Netze und Server führt, ist die Nachricht nicht geschützt. Die verwendeten Übertragungsprotokolle wie z.B. SMTP (Simple Mail Transfer Protocol) gewährleisten Datensicherheit, d.h. sie ermöglichen einen verlustfreien Datentransport innerhalb der unterschiedlichen Netzwerke. Aspekte die den Datenschutz betreffen, spielen bei der Datenübertragung eine nur untergeordnete Rolle [Dama97]. Formen der Manipulation Die Ansatzpunkte für Manipulationen können sehr unterschiedlich sein. Vorstellbar sind Versuche die e-mail Übertragungen abzuhören, indem man sich Zugang zu den Mail-Servern verschafft. Dies kann mit den Zugriffsrechten eines Mail-Administrators oder durch Umgehung von Sicherheits-vorrichtungen, wie z.B. Firewalls, gelingen. Damit hat man Zugang zum kompletten e-mail Verkehr der über den betreffenden Server weitergeleitet wird. Mithilfe einer Adressenmanipulation ist es möglich sich zwischen Sender und Empfänger zu schalten, sodaß man Zugriff auf die e-mails einer bestimmten Person erhält. Eine andere Möglichkeit stellen die sogenannten ‚data driven attacks‘ dar. Dabei werden e-mails benutzt um Zugang zur Benutzerkonsole zu erhalten, oder interne Netzwerke mittels Viren zu stören. Grundsätzlich kann man die folgenden Formen der Manipulation unterscheiden: Nachricht mitlesen und speichern: Die Information wird systematisch erfaßt Nachricht verfälschen: Der Inhalt wird verändert oder die e-mail erreicht einen anderen Adressaten oder der Adressat wird durch eine falsche Absenderadresse getäuscht. Nachricht selektiv löschen / abfangen: Nur ausgewählte Nachrichten werden übertragen. Es findet eine sender- oder empfängerseitige Filterung statt. Nachricht als nicht autorisierte Zugangsmöglichkeit nutzen: Benutzung der e-mail als ‚trojanisches Pferd‘ um Kontrolle über die Konsole zu erhalten, oder ein Virus (Stichwort Makroviren) wird aktiviert, der ein eventuell vorhandenes internes Netzwerk stört. Motive für den Mißbrauch An Motiven für die mißbräuchliche Verwendung illegal erworbener Information hat es schon in der Vergangenheit nicht gemangelt. Das Postgeheimnis, sowie die aktuelle Diskussion über den sogenannten großen Lauschangriff zeigen die Sensibilität dieses Themas auf. Die zunehmende Verwendung von Mail-Systemen für den Informationsaustausch, online-shopping und online-banking, bieten neue Angriffsflächen. Durch die elektronische Informationsübertragung ist es möglich, effektiv und nahezu spurlos zu manipulieren. Die folgende Auflistung ordnet die Motive für den Mißbrauch in verschiedene Kategorien: kriminelle Gründe: Motivation durch die zunehmende Bedeutung des ‚electronic commerce‘ und die Abwicklung privater Bankgeschäfte. Dabei sind die unrechtmäßige Nutzung von Kreditkartennummern und manipulierte Überweisungen nur eine Möglichkeit. Denkbar ist auch, die georderte Ware an eine andere Adresse schicken zu lassen oder über ein ‚trojanisches Pferd‘ den Benutzer (bzw. das Anwenderprogramm), zu eigentlich nicht beabsichtigten Überweisungen zu veranlassen. Mißbrauch der Privatsphäre: Das Mitlesen, die Verfälschung und das Abfangen kann persönliche Gründe haben. Das Speichern von privaten Informationen und die statistische Auswertung kann aber auch kommerziellen Zwecken dienen (man glaubt kaum was man bei einer Auskunftei über sich erfahren kann). Industriespionage: Naheliegend ist das professionelle ‚Abhören‘ zum Zweck des Informationsvorteils, um z.B. die Höhe des Angebots des Konkurrenten, Ideen und Inhalte von Werbekampagnen, geplante strategische Unternehmensentscheidungen usw. zu erfahren. Kontrolle und Überwachung: Die USA ist das beste Beispiel für die Absicht der totalen Überwachung und Kontrolle beim elektronischen Informationsaustausch. Der ‚Clipper‘ Chip soll es der NSA, einer Kontrollbehörde, ermöglichen, die über Telekommunikationsgeräte (Telefon, Fax usw.) ausgetauschten Informationen abzuhören. Auch in anderen Ländern mit politisch brisanter Lage ist das Mißbrauchspotential direkt erkennbar. Zugang zu internen Netzwerken: Zugriff auf interne Netzwerke und damit nicht nur auf Informationen, die per e-mail übertragen werden, sondern auf alle gespeicherten Daten. Dadurch besteht zudem die Möglichkeit, Daten zu verfälschen und zu löschen, bzw. das Netzwerk durch einen Virus lahmzulegen. Problematik der Informationstechnologie Die schnelle Entwicklung im Bereich Multimedia und die Nutzung des Internets für Kommunikation und Informationsaustausch führt vielfach zu einer Realisierung des technisch Möglichen, ohne die Risiken in Bezug auf den Datenschutz und das Mißbrauchspotential zu berücksichtigen. Dieselbe Informationstechnologie, die es ermöglicht sich weltweit, schnell und kostengünstig zu informieren und zu kommunizieren kann umgekehrt auch dazu eingesetzt werden, um die übertragenen Informationen zu filtern, zu seinem eigenen Vorteil einzusetzen. Die Folgen davon sind mögliche Manipulation und Mißbrauch von persönlichen oder wirtschaftlich sensiblen Daten. Problematik der Mail-Administratoren Mail-Administratoren stehen vor einer schweren Aufgabe, wenn es um die sichere Übertragung von e-mails geht. Die Ursache dafür ist die Konzeption der Datenübertragung im Internet. Damit es überhaupt möglich war, Daten kreuz und quer durch unterschiedliche Netze zu schicken, wurden Aspekte wie Datensicherheit (Abhör- und Diebstahlsicherheit) hintenangestellt. Im Vordergrund stand der effektive Datentransport und der individuelle Zugang für alle Teilnehmer. Die Struktur dieses weltumspannenden Netzes mit der dementsprechenden Systemvielfalt macht es schwer einen Standard zu definieren und durchzusetzen, der eine sichere Übertragung der Daten gewährleistet [Dama97]. „[...] So ist zum Beispiel das zentrale Mail-Protokoll SMTP (Simple Mail Transfer Protocol), über das nach wie vor fast alle e-mails im Netz verschickt werden, so offen wie das sprichwörtliche Scheunentor. Eine Mail unter falschem Namen und mit falschem Absender (Mailspoofing) oder eine kostspielige Massenmail über einen fremden Mailserver und damit über ein fremdes Konto laufen zu lassen (Spamming) ist fast so leicht wie der Mausklick auf einen Hyperlink. [...]“ [Dama97] Mit den ‚secure sockets layern‘ von Netscape gibt es zwar Möglichkeiten, um beispielweise das online-shopping hinreichend sicherer zu gestalten. Aber dieses geänderte Protokoll, erkennbar an der Adresse HTTPS an stelle von HTTP, wird längst nicht von allen Anbietern in Internet benutzt [Dama97]. Aufgrund dieser Strukturproblematik bleibt dem Mail-Administrator nur die Anwendung von Firewalls, die eine systematische Kontrolle der eingehenden Mails erlauben, um das interne Netzwerk zu schützen. Jeder Mail-Administrator bzw. jeder der dessen Zugangsberechtigung hat (ob zurecht oder nicht), hat Einsicht in den e-mail Verkehr und damit alle oben beschriebenen Möglichkeiten des Mißbrauchs. Aufgrund der globalen Struktur des Internets ist es kaum denkbar eine Institution zu etablieren, die wie ehemals die ‚gelbe Post‘, eine Art Postgeheimnis garantieren kann. Problematik mit Mail-Servern Mail-Server stellen den Kontakt mit der externen Welt her. Sie empfangen Daten von anderen Servern und Befehle, wie mit diesen Daten zu verfahren ist. Damit sind sie der erste Angriffspunkt auf dem Weg zum Adressaten einer e-mail. Ansatzpunkte für Attacken stellen die empfangenen Befehle dar. Durch den Zugang zu einem Mail-Server erhält man die Kontrolle über alle Funktionen und Zugriffsrechte dieses Servers. „The server directly accepts commands (related to delivering mail) from external hosts, for this reason, if the server isn’t secure, it may end up immediatley giving an attacker all the access it has itself. [...] Because it talks to the external world, the server is vulnerable to attacks in commands it receives from the outside world; these are called ‚command channel attacks‘ “ [ChZw95]. Um den Server vor solchen Attacken zu schützen, werden Firewalls eingesetzt, die die Zugriffsrechte und erlaubte Kommandos kontrollieren. Zudem sollen in Übertragungsprotokolle integrierte Sicherheitsfunktionen vor Manipulationen schützen. Desweiteren werden neue Protokolle (IPv6) entwickelt, die nicht nur die Datensicherheit, sondern auch Datenschutz durch Verschlüsselung garantieren sollen. Ob und inwiefern die Server derart geschützt sind, die auf dem Weg einer ankommenden e-mail gelegen haben, läßt sich für den Adressaten respektive den Absender der mail nicht nachvollziehen. Damit ist nicht sichergestellt, daß die Daten nicht doch manipuliert bzw. eingesehen werden können. Mithilfe von Verschlüsselungsverfahren, wie PGP oder S/MIME kann aber erreicht werden, das die Daten nur für den Adressaten verwertbar sind. PGP Was ist PGP ? PGP - ‚Pretty Good Privacy‘ - ist ein Softwareprodukt zur verschlüsselten Übertragung von e-mails. Wie der Name schon sagt, soll die Privatsphäre (privacy) bei der Übertragung von e-mails gewahrt bleiben. Dabei ist nicht nur eine geschickte Codierung der Information selbst nötig, sondern auch eine Authentifikation des Absenders, um sicherzugehen, daß die Nachricht auch von demjenigen stammt, der vorgibt sie abgesendet zu haben. Die beiden Begriffe ‚Privacy‘ und ‚Authentifikation‘ bilden daher den Kern des Konzepts von PGP. Historischer Abriß / Entwicklung Das Programm ist 1978 von Phil Zimmermann entwickelt worden und hat sich zum bekanntesten Verschlüsselungsprogramm für e-mails entwickelt. Das hat folgende Gründe: Einerseits ist die Software als Freeware erhältlich und damit kostenfrei für jedermann zugänglich, andererseits hat sich aufgrund jahrelanger bizarrer Rechtsstreitigkeiten um die Verwendung von patentrechtlich geschützten Algorithmen (RSA) und den Export aus den USA (Export starker Kryptographie ist verboten: Stichwort RC2/40) eine regelrechte ‚Fangemeinde‘ gebildet [URL-1]. Arbeitsweise von PGP Das Prinzip der asymmetrischen Verschlüsselung  PGP arbeitet nach dem Prinzip der asymmetrischen Verschlüsselung. In diesem 1976 von Diffie und Hellmann entwickelten Public-Key Verfahren besitzt jeder Anwender zwei unterschiedliche, aber zusammengehörige Schlüssel: einen öffentlichen (public key) und einen privaten Schlüssel (private key). Diese Schlüssel sind so beschaffen, daß eine Nachricht, die mit einem öffentlichen Schlüssel kodiert wurde, nur mit dem zugehörigen privaten Schlüssel dekodiert werden kann [GrWe97]. Die Nachrichten werden dabei mit dem öffentlichen Schlüssel des Empfängers kodiert. Die Entschlüsselung funktioniert nur mit dem privaten Schlüssel des Empfängers. Der öffentliche Schlüssel wird notwendigerweise an die e-mail Partner versandt. Da bei dem Prinzip der asymmetrischen Verschlüsselung nur der private Schlüssel die Dekodierung ermöglicht, kann für den Austausch der öffentlichen Schlüssel ein potentiell unsicherer Übertragungsweg benutzt werden. Die Authentizität wird durch eine Unterschrift mit dem privaten Schlüssel sichergestellt. Abb.1: Technik der asymmetrischen Verschlüsselung [GrWe97]. RSA Algorithmus Für die Erzeugung des Schlüsselpaars wendet PGP den 1977 von Rivest, Shamir und Adleman entwickelten RSA Algorithmus an. Er beruht auf der Multiplikation von Primzahlen und der Tatsache, daß die Zerlegung in Primfaktoren bei entsprechender Wahl der Schlüsselgröße praktisch unmöglich ist. Damit soll gewährleistet sein, daß der private Schlüssel nicht aus dem öffentlichen Schlüssel berechnet werden kann. PGP bietet bei der Schlüsselgenerierung die Wahl zwischen 384 und 2048 Bit. Default-Werte sind 512 Bit für ‚einfach komerziell‘ 768 Bit für ‚hochgradig komerziell‘ und 1024 Bit für ‚militärische Sicherheit‘. Die Bearbeitungszeit für die Verschlüsselung mit dem RSA Algorithmus ist für das Verschlüsseln ganzer Nachrichten unkomfortabel lang. Daher wird RSA nur für die Schlüsselgenerierung und die Kodierung der Schlüssel verwendet, die die Nachricht und die Unterschrift kodieren. IDEA Verfahren Das IDEA Verfahren ist ein symmetrisches Blockverschlüsselungsverfahren. Blöcke von je 64 Bit Länge werden dabei mit einem 128 Bit Schlüssel kodiert. PGP setzt dieses Verfahren für die Verschlüsselung der Nachricht ein. Der IDEA Schlüssel wird dabei nur ein einziges mal verwendet. Vor der Versendung der Nachricht wird er mit dem privaten Schlüssel kodiert und dann zusammen mit der Nachricht übertragen. Message Digest 5 Das Message Digest 5 Verfahren erzeugt eine Prüfsumme der zu übertragenden Nachricht. Die so erzeugte 128 Bit Zahl wird wiederum mit dem privaten Schlüssel des Absenders kodiert. Damit wird die Authentizität und die Unversertheit der Nachricht sichergestellt. Angriffsmöglichkeiten Prinzipiell kann es kein absolut sicheres System geben. Selbst wenn die technischen Anforderungen an ein sicheres System erfüllt werden, bleibt der Faktor Mensch und die Tatsache der Implementierung in einer potentiell unsicheren Umgebung bestehen. Kryptoanalytische Attacke Eine kryptoanalytische Attacke kann sich auf IDEA oder das RSA Schlüsselpaar beziehen. In beiden Fällen sind jedoch keine erfolgreichen Attacken bekannt. Selbst durch eine massive sogenannte ‚brute force‘ Attacke ist nicht zu erwarten, daß diese Schlüssel geknackt werden könnten. Auf der anderen Seite kann eine bahnbrechende Entwicklung im Bereich der systematischen Attacke (z.B. Algorithmus zur Primfaktorzerlegung) in Zukunft zum Erfolg führen. Es gilt: in der praktischen Kryptographie gibt es keine Garantie für absolute Sicherheit [URL-1]. Fälschung öffentlicher Schlüssel Die Achillesferse bei Systemen, die mit öffentlichen Schlüsseln arbeiten ist in der Schlüsselverwaltung und Gültigkeitsüberprüfung der öffentlichen Schlüssel begründet. Vor der Akzeptierung eines öffentlichen Schlüssels ist unbedingt die Authenzität zu prüfen. Auch die Verwaltung des öffentlichen Schlüsselbundes stellt ein Sicherheitsrisiko dar. Im Gegensatz zum privaten Schlüssel ist diese Datei in der Regel nicht durch ein Mantra geschützt. Virus bzw. ‚trojanisches Pferd‘ Eine andere Angriffsmöglichkeit könnte ein speziell entwickelter Virus oder Wurm sein, der PGP oder das Betriebssystem infiziert. Dieser hypothetische Virus könnte so entworfen sein, daß er das Mantra, den geheimen Schlüssel oder den entschlüsselten Klartext "mithört" und unbemerkt in eine Datei schreibt oder über ein Netzwerk zum Besitzer des Virus schickt. Er könnte auch das Verhalten von PGP so ändern, daß Unterschriften nicht richtig geprüft werden. Ein ähnlicher Angriff könnte eine geschickte Imitation von PGP sein, die sich im Wesentlichen wie PGP verhält, aber nicht so arbeitet, wie anzunehmen wäre. Beispielsweise könnte diese Imitation absichtlich dahingehend verstümmelt sein, daß Unterschriften nicht mehr korrekt geprüft werden, so daß gefälschte Schlüssel nicht mehr erkannt werden können. Eine solche Version von PGP - ähnlich einem ‚trojanischen Pferd‘ - ist von einem Angreifer verhältnismäßig einfach erstellt, weil der Quellcode von PGP weit verbreitet ist [URL-1]. Zugriff auf die Benutzerkonsole Ein weiteres potentielles Sicherheitsproblem entsteht durch die Art und Weise, wie bei den meisten Betriebssystemen Dateien gelöscht werden. Wenn man eine Klartext-Datei verschlüsselt und danach löscht, löscht das Betriebssystem die Daten nicht physikalisch. Es markiert nur diejenigen Datenblöcke der Festplatte oder Diskette als "gelöscht", die den Inhalt der "gelöschten" Datei enthalten, so daß sie für die Speicherung anderer Daten freigegeben werden. Das ist das gleiche, als würde man vertrauliche Papiere einfach zum Altpapier legen. Die Blöcke auf der Festplatte enthalten nach wie vor die originalen vertraulichen Daten, die ohne großen Aufwand wiederhergestellt werden können [URL-1]. Kompromittierende Strahlung Eine andere Angriffsmöglichkeit für einen gut ausgerüsteten Gegner ist die Auswertung der elektromagnetischen Strahlung, die ein Computer aussendet. Mithilfe der entsprechenden technischen Ausrüstung ist es möglich, bis zu Entfernungen von 100m, diese Strahlung auszuwerten und damit jeden Tastendruck und jeden Bildschirminhalt aufzuzeichnen. Das würde alle Passworte, Nachrichten usw. offenlegen. Abwehren läßt sich dieser Angriff durch eine geeignete Abschirmung des Computers, des Zubehörs (Drucker usw.) und gegebenenfalls der Netzwerk-Verkabelung. Eine solche Abschirmung ist unter dem Begriff "sturmsicher" bekannt. S/MIME S/MIME ist die Abkürzung für Secure Multimedia Internet Mail Extensions. Dieses Protokoll geht auf MIME zurück, ein Übertragungsprotokoll, daß die enthaltenen Formate der zu übertragenden Datei beschreibt. MIME definiert dabei einen Standard für Mail-Programme. Dieser ermöglicht es, Dateien, die RTF-Texte (Rich Text Format: formatierter Text mit z.B. unterschiedlichen Fonts), Grafiken sowie Audio-Daten und andere Multimedia Informationen enthalten, direkt mit dem geeigneten Programm (soweit vorhanden), darzustellen [ChZw95]. S/MIME ist eine Weiterentwicklung dieses Standards, der nun auch Funktionen für die Ver- und Entschlüsselung von Dateien enthält. Entwicklung Grundgedanke bei der Entwicklung des MIME Standards war die Erweiterbarkeit um zusätzliche Funktionalität. Daher war es naheliegend diesen Standard, der auch für den Datentransfer der WWW-Server untereinander benutzt wird, um die Funktionalität der sicheren Übertragung von e-mails zu erweitern. Hauptziele bei der Implementierung waren Sicherheit und Interoperabilität unter Berücksichtigung einer globalen Anwendbarkeit. Das bedeutet: Sicherheit und Anwendbarkeit für viele Anwender: S/MIME basiert auf den Public Cryptography Standards (PKCS) insbesondere dem PKCS #7 Standard, in dem Verfahren der digitalen Signatur und des digitalen Umschlags festgelegt sind [URL-3]. Die Einhaltung dieser Standards und das Verfahren von ‚Beglaubigungsinstitutionen‘ für digitale Unterschriften erschließt einen großen Anwenderkreis. Interoperabilität: Dieses Prinzip setzt auf die Integration der S/MIME Funktionalität in führende Applikationen (Netscape Communicator, MS Internet Explorer usw.). Ziel ist es, ein Label, vergleichbar mit ‚IBM-Kompatibel‘, zu etablieren, sodaß jede Software, die dieses Label aufweist, mit den verschlüsselten Dateien der anderen Software-Produkte umgehen kann [URL-3]. Globale Anwendbarkeit: Um eine unproblematische, weltweite Anwendbarkeit zu garantieren, ist es wichtig, die US-Exportbeschränkungen für Kryptographie einzuhalten. Innerhalb der USA kann starke Kryptographie angewendet werden. Für den Übersee-Kontakt werden kleinere Schlüsselgrößen eingesetzt (RC2/40) [URL-4]. Arbeitsweise Zunächst wird nach dem Prinzip der asymmetrischen Verschlüsselung ein privater und ein öffentlicher Schlüssel nach dem RSA Algorithmus generiert. Dann wird die Nachricht mit einer digitalen Signatur versehen. Dazu durchläuft das Dokument einen Hashing-Algorithmus (Message Digest), sodaß ein Fingerabdruck des Dokuments erzeugt wird. Mit dem privaten Schlüssel wird es nun unterschrieben. Jetzt ist sowohl der Inhalt vor Veränderung geschützt, als auch die Authentifikation des Absenders gegeben. Dann wird das Dokument mit DES oder RC2 (symmetrische Verfahren) kodiert und der symmetrische Schlüssel mit dem öffentlichen Schlüssel des Empfängers verschlüsselt [URL-4]. Das DES Verfahren (Data Encryption Standard) ist in den 70er Jahren von IBM entwickelt worden und kodiert die Nachricht blockweise (64 Bit Blockgröße) mit 56 Bit. RC2 arbeitet mit einstellbarer Schlüsselgröße. Um beispielsweise die US-Exportvorschriften einzuhalten, wird eine Schlüsselgröße von 40 Bit verwendet (RC2/40). Der ganze Vorgang läuft zugunsten der einfachen Anwendbarkeit automatisch ab, d.h. er ist durch die Integration in den Mail-Clienten vorgegeben. Ebenso verhält es sich auf der Empfängerseite [URL-4]. Angriffsmöglichkeiten Prinzipiell kann es kein absolut sicheres System geben. Selbst wenn die technischen Anforderungen an ein sicheres System erfüllt werden, bleibt der Faktor Mensch und die Tatsache der Implementierung in einer potentiell unsicheren Umgebung bestehen . Kryptoanalytische Attacke Eine kryptoanalytische Attacke kann sich auf den symmetrischen Schlüssel oder das RSA Schlüsselpaar beziehen. Für die RSA Schlüssel gilt: es sind keine erfolgreichen Attacken bekannt. Die verwendeten symmetrischen Verfahren, DES mit 56 Bit und RC2 mit 40 Bit (für internationalen Informationsaustausch), sind ein Schwachpunkt. Der mit DES erzeugte Schlüssel ergibt 256 = 7.2 x 1016 Möglichkeiten und kann mithilfe schneller Rechner bereits in einigen Stunden ‚geknackt‘ werden. Besonders markant wird dieses Defizit bei RC2/40 deutlich. Bei dieser Schlüssellänge existieren 240=1.1 x 1012 verschiedene Kombinationen. Dazu folgendes Beispiel: ‚Screensaver als Schlüsselknacker‘ [CT97_3] aus c’t 12/97 „Krypto-Autor und Sicherheitsberater Bruce Schneier bietet auf seinem WWW-Server einen Windows-95 Screensaver zum Download an, der im Hintergrund 40 Bit lange RC2-Schlüssel knackt.... Hintergrund ist die Selbstbeschränkung von S/MIME –Anwendungen auf RC2/40“. Damit wird der Schwachpunkt von S/MIME deutlich. Für die Zukunft ist allerdings eine Änderung in den US-Exportvorschriften für starke Kryptographie zu erwarten. Damit können dann längere Schlüssel benutzt werden, z.B ‚triple DES‘. Fälschung öffentlicher Schlüssel Die Achillesferse bei Systemen, die mit öffentlichen Schlüsseln arbeiten ist in der Schlüsselverwaltung und Gültigkeitsüberprüfung der öffentlichen Schlüssel begründet. Bei S/MIME geschieht die Schlüsselüberprufung mithilfe von Zertifizierungsstellen. Ansatzpunkt für einen Angriff ist damit nicht mehr der einzelne Anwender, sondern eben diese Institutionen. Gelingt es Zugang zu erlangen, so sind alle von dieser Stelle beglaubigten Schlüssel potentiell unsicher. Andererseits ist diese Art der Schlüsselverwaltung notwendig um große Benutzergruppen zu erschließen. Zugriff auf die Benutzerkonsole Eine weitere Möglichkeit erschließt sich über physikalischen oder elektronischen Zugang zur Benutzerkonsole. Der Zugang wird innerhalb interner Netzwerke zumeist durch eine einfache Passwortabfrage kontrolliert. Wird dieses Passwort dem Angreifer bekannt, so hat er Zugriff auf die Datei die Schlüsseldateien. Zudem ist auch hier die Möglichkeit der Wiederherstellung von nicht physikalisch gelöschten Dateien gegeben. Kompromittierende Strahlung Eine andere Angriffsmöglichkeit für einen gut ausgerüsteten Gegner ist die Auswertung der elektromagnetischen Strahlung, die ein Computer aussendet. Mithilfe der entsprechenden technischen Ausrüstung ist es möglich, bis zu Entfernungen von 100m, diese Strahlung auszuwerten und damit jeden Tastendruck und jeden Bildschirminhalt aufzuzeichnen. Das würde alle Passworte, Nachrichten usw. offenlegen. Abwehren läßt sich dieser Angriff durch eine geeignete Abschirmung des Computers, des Zubehörs (Drucker usw.) und gegebenenfalls der Netzwerk-Verkabelung. Eine solche Abschirmung ist unter dem Begriff "sturmsicher" bekannt . Diskussion PGP versus S/MIME Vergleicht man PGP und S/MIME so stellt man fest, daß die verwendeten Verschlüsselungsverfahren auf demselben Konzept beruhen (Verschlüsselung der Information mit symmetrischen Verfahren – asymmetrisches Verfahren für die öffentlichen und privaten Schlüssel). Aufgrund der Einhaltung exportpolitischer US-Vorschriften steht S/MIME auf den ersten Blick schlechter da. Für den professionellen Einsatz und eine große Verbreitung im Hinblick auf eine Standartisierung durch die IETF (Internet Engeneering Task Force) ist es jedoch kaum denkbar Software einzusetzen, gegen die patentrechtliche Bedenken bestehen. Zudem hat die Vergangenheit gezeigt, daß sich die Software am Markt durchsetzt, die interoperabel mit den führenden Softwareprodukten ist (Stichwort ‚Bill Microsoft Gates‘) . Da PGP diese beiden Aspekte nicht erfüllt, bietet es sich für Anwender an, für die Sicherheit, Individualität und Unabhängigkeit im Vordergrund stehen. Für S/MIME gilt: Nicht nur die Reduzierung der Schlüsselkomplexität, um den US Exportvorschriften zu genügen, sind an das heute technisch Erforderliche anzupassen, auch der Punkt der Interoperabilität ist bei konkurrierenden Software-Produkten längst nicht automatisch sichergestellt. Zur Marktsituation: Nachdem es zunächst so aussah als würde S/MIME die besten Karten für die Normung durch die IETF haben, gab es dann noch Schwierigkeiten mit Lizenzen in Bezug auf den RSA Algorithmus [URL-2]. Daraufhin zeigte PGP mit dem neuen Open-PGP Kompromißbereitschaft. Mittlerweile bietet PGP inc. komplette Programmpakete an (z.B. PGP Business Security Suite) [URL-7] [URL-8], die aber auch Funktionen enthalten, die dem ursprünglichen Grundkonzept widersprechen. ‚Corporate Message Recovery‘ fordert für alle verschlüsselten e-mails von und an Mitarbeiter zusätzlich die Kodierung mit dem Firmenschlüssel. Dadurch wird eine quantitative Kontrolle durch die Firmenleitung möglich. Dies ist ein Bruch im Konzept von PGP. Die Ausdehnung der Anwendung dieser Funktionalität auf Provider oder staatliche Institutionen wäre bedenklich, technisch aber nur ein kleiner Schritt [CT97_1]. Andererseits werden Probleme bei der Authentifizierung der öffentlichen Schlüssel durch sogenannte Cross-Zertifizierung von PGP Zertifizierungsstellen gelöst. Damit werden größere Anwendergruppen erschlossen. Die so erhaltenen öffentlichen Schlüssel sind damit beglaubigt [CT97_2]. Durch die Integration des S/MIME Standards in neue Browser-Generationen (IE4 und Netscape Communicator) wird S/MIME für praktisch jedermann zugänglich. Allein die Tatsache, daß diese Funktionalität praktisch per Mausklick verfügbar ist und man sich keine Gedanken um Kompatibilität und Version x.y machen muß, läßt erwarten, daß sich in Zukunft die meisten Anwender für S/MIME entscheiden werden. ICQ ICQ ist ein Internet Tool. Es dient dazu im online Betrieb eine Echtzeit Verbindung herzustellen - sozusagen einen Kanal offenzuhalten. Auf diesem Kanal können Gespräche stattfinden (Online chat), Nachrichten ausgetauscht werden, Dateien versand werden oder man hat ein ‚offenes Ohr‘ für die Internet Umwelt („[...] hang out with your fellow netters while still surfing the Net“) [URL-10]. Im Vergleich zur e-mail bietet ICQ den Vorteil der direkten Erreichbarkeit und des interaktiven Austauschs von Informationen. Durch den multi-user Modus sind auch online Konferenzen möglich. Der Austausch von Nachrichten und Informationen ermöglicht die gemeinsame Arbeit an einem Projekt [URL-10]. Desweiteren haben sich themenbezogene Gesprächsforen und Anwendergruppen gebildet [URL-12]. Zusätzlich dazu wird die konventionelle Versendung von e-mails und Dateien angeboten. Um diese Möglichkeiten zu eröffnen ist ein WWW-weites Servernetz installiert worden, an das man sich automatisch zu Beginn einer online-Sitzung anmeldet [URL-9]. Die Zahl der Anwender liegt bei 7.4 Millionen (Stand Ende Januar 98). Etwa 2 Millionen nutzen dieses Tool täglich [URL-12]. Bei der Installation der Software wird eine UIN - Universal Internet Number - vergeben, unter der man bei einem ICQ-Server als registrierter Anwender geführt wird. Zusätzlich füllt man einen Personalbogen mit Name, Adresse aber auch persönlichen Daten aus [URL-11]. Korrektheit und Vollständigkeit der Angaben ist nicht erforderlich. Die Daten dienen den anderen ICQ-Nutzern zur Auswahl des Chat-Partners. Man kann diesen Personalbogen als erweiterten Telefonbucheintrag verstehen. Dementsprechend sollte man berücksichtigen wozu man ICQ benutzt und wie man sich darstellen möchte. Grundsätzlich sind diese Angaben nicht geschützt. Der ICQ Client ist kompatibel mit Netscape Communicator und MS Internet Explorer sowie den meisten e-mail Applikationen [URL-9]. Arbeitsweise Beim Start des Betriebssystems wird das Programm im ‚detect‘ Modus geladen. Sobald eine Internet-Verbindung hergestellt wird, erkennt ICQ diese Verbindung und geht in den online Status über. Dadurch ist man im ICQ Servernetz angemeldet und erreichbar für alle anderen Anwender [URL-11]. Um selbst aktiv werden zu können, erstellt man sich eine persönliche Adressenliste. Die gewünschten Anwender wählt man über eine Suchmaschine anhand ihrer UIN oder den Daten aus dem Personalbogen aus. Das Serversystem ermittelt automatisch ob die betreffenden Anwender off- oder on-line sind und in welchem Status. Mögliche Stati sind: ONLINE für ereichbar, AWAY bei kurzer Abwesenheit (durch Bildschirmschoner aktiviert), DO NOT DISTURB in Erwartung wichtiger Mitteilungen und PRIVACY läßt es erscheinen als wäre der Anwender offline [URL-11]. Nun ist es möglich, Anfragen für Gesprächsbereitschaft (chat requests), Nachrichten usw. zu senden. Dabei ist es nicht zwingend nötig, daß der gewünschte Gesprächspartner online ist. Wie bei der normalen e-mail erhält der betreffende Anwender die Nachricht sobald er online geht. Zusätzlich ist es noch möglich über die Funktionalität IGNORE Anfragen und Nachrichten von bestimmten Anwendern zu unterbinden. Die ungewollte Aufnahme in ‚fremde‘ Anwenderlisten kann mittels AUTHORIZATION verhindert werden [URL-11]. Problematik im Hinblick auf Datenschutz und Datensicherheit Die Übertragung von e-mails und das Versenden von Dateien geschieht über die Standard Internet-Protokolle und ist entkoppelt vom ICQ Servernetz. Damit entspricht die Datensicherheit dem Status des Internets. Konzepte die den Datenschutz verbessern, z.B. durch Verschlüsselung, werden nicht angeboten. Problematischer ist der Informationsaustausch innerhalb des ICQ Servernetzes zu beurteilen. Durch das schnelle Wachstum der Anwenderzahlen kommt es zwangsläufig zu Überlastungen des Servernetzes. In solchen Fällen wird die Vermaschung des Netzes reduziert, d.h. konkret: die Verbindung zwischen Servern wird unterbrochen. Damit werden bestehende Verbindungen gekappt. Für den Anwender bedeutet das: bestehende Verbindungen werden aus unbekannten Gründen unterbrochen (keine Meldung über Serverüberlastung) und nicht jeder chat-Partner kann erreicht werden. Die Datensicherheit ist daher nicht gewährleistet. Was den Datenschutz angeht, so ist zu berücksichtigen das das Konzept dieses Kommunikationssystems eine gewisse Offenheit erfordert. Es ist gewünscht das jeder Anwender Zugang zu den Gesprächsforen hat und es ist notwendig (im Sinne des Konzepts) sich die Gesprächspartner anhand ihrer persönlichen Daten aus dem oben angesprochenen Personalbogen auszuwählen. Bedenklich ist allerdings, daß dem Anwender eine Anonymität zugesichert wird (im Personalbogen werden in der Regel Spitznamen angegeben), die nicht geschützt ist. Selbst der Vorgang der online-Registrierung und die Vergabe der UIN Nummer geschieht unverschlüsselt. Dadurch besteht kein Schutz vor Manipulation. Dadurch, daß Funktionen wie AUTHORIZATION und IGNORE speziell zu aktivieren sind, kann es ungewollt passieren, daß sich Mithörer einschleichen oder man mit Personen ‚chattet‘, die nicht die sind, die sie vorgeben zu sein. Dadurch sind die Aspekte PRIVACY und AUTHENTIFIKATION nicht erfüllt. System Administratoren sind im Bereich des Server-Netzes für Einhaltung des normalen Betriebs zuständig. Bei Bedarf können Zugangsverbote ausgesprochen werden. Wie groß das Mißbrauchspotential in dem Bereich der Server-Verwaltung ist, kann schlecht eingeschätzt werden. Insgesamt kann man sagen, daß ICQ eine komfortable Echtzeitkommunikation ermöglicht und darüber hinaus Funktionalitäten für das Versenden von Nachrichten sowie die Bildung von multi-user Konferenzen bietet. Geht es aber um die Übertragung von sensiblen Informationen, sollte man geschützte Übertragungswege bzw.Verfahren wie PGP oder S/MIME nutzen. Literatur- und Quellenverzeichnis Printmedien [ChZw95]D. B. Chapman; E. D. Zwicky. Building Internet Firewalls. O’Reilly, Sebastopol (CA, USA), 1995.[Dama97]G. Damaschke. Hard- und Softwarekauf im Internet. PC Professionell. Ziff-Davis Verlag GmbH, Nr.8, 1997.[GrWe97]F. Grieser; H. Weiss. Der Schlüssel zur Sicherheit. PC Professionell. Ziff-Davis Verlag GmbH, Nr. 6, 1997.[CT97_1]C‘T. PGP unter Verdacht. Computer und Technik, Nr. 12, 1997.[CT97_2]C‘T. IN- und c’t-CA crosszertifiziert. Computer und Technik, Nr. 12, 1997.[CT97_3]C‘T. Screensaver als Schlüsselknacker. Computer und Technik, Nr. 12, 1997.Elektronische Dokumente [URL-1]Verein zur Föderung des bewegten und unbewegten Datenverkehrs, Stand 01.09.1996 (gesichtet 20.11.1997): http://iaks-www.ira.uka.de/ta/Security/security.html [URL-2]IETF shows door to RSA secure e-mail proposal, by Ellen Messmer, Network World 8/25/97, Stand 25.08.1997 (gesichtet 16.12.1997): http://iaks-www.ira.uka.de/ta/Security/security.html [URL-3]S/MIME frequently asked questions, Stand 16.12.1997 (gesichtet 16.12.1997): http://www.rsa.com/rsa/s-mime/faq.html[URL-4]S/MIME Anatomy of a secure e-mail standard, Stand 16.12.1997 (gesichtet 16.12.1997): http://www.rsa.com/rsa/s-mime/s-mime_anatomy.html[URL-5]Look out S/MIME and Open PGP, there is a new kid on the block,Charlotte Dunlap, Stand 15.09.1997 (gesichtet 16.12.1997): http://www.techweb.com/se/directlink.cgi?CRN19970915S0083[URL-6]IETF to develop Open-PGP, John Fontana , Stand 27.09.1997 (gesichtet 16.12.1997): http://www.techweb.com/se/directlink.cgi?WIR1997092702[URL-7]PGP reverses direct strategy, Charlotte Dunlap , Stand 27.11.1997 (gesichtet 16.12.1997): http://www.techweb.com/se/directlink.cgi?CRN19971124S0032[URL-8]Network Associates merges with PGP, Charlotte Dunlap , Stand 08.12.1997 (gesichtet 16.12.1997): http://www.techweb.com/se/directlink.cgi?CRN19971208S0036[URL-9]Mirabilis – Products Features (gesichtet 27.11.1997): http://www.mirabilis.com[URL-10]Mirabilis – What is ICQ (gesichtet 27.11.1997): http://www.mirabilis.com[URL-11]Mirabilis – How to use ICQ (gesichtet 27.11.1997): http://www.mirabilis.com[URL-12]ICQ – Home (gesichtet 28.01.1998): http://www.icq.com Firewalls Manuel Brinkmann Einleitung Das Internet stellt für viele Institutionen und Firmen ein wichtiges Medium zum Informationsaustausch dar. Hier werden Produkte beworben, Forschungsergebnisse ausgetauscht und dargestellt, freie Software angeboten, usw. Durch das Internet sind die Benutzer nicht mehr auf ihren Rechner bzw. die Rechner im lokalen Netzwerk beschränkt, sondern können das Informationsangebot und die Rechenleistung jedes an das Internet angeschlossenen Computers nutzen. Letzteres wird durch Zugangsbeschränkungen eingeschränkt, das bedeutet, daß nur berechtigte Benutzer Zugriff auf einen Rechner erhalten, nachdem sie sich z.B. durch ein Paßwort authentifiziert haben. Aber auch für reine Informationsdienste wie das WWW sind Zugangsbeschränkungen entwickelt worden. Hierdurch soll verhindert werden, daß persönliche oder andere schützenswerte Informationen frei zugänglich sind. Die Komplexität der heute benötigten leistungsfähigen Rechnersysteme und die Größe von Rechnernetzen erschweren es jedoch, einen wirklich „wasserdichten“ Zugriffsschutz auf vertrauliche Daten zu gewährleisten. Unauthorisierter Zugriff kann durch Softwarefehler oder sonstige „Hintertürchen“ in ein System geschehen. In beiden Fällen ist es häufig schwierig, einen solchen Zugriff festzustellen und dann schnell zu beheben. Grundsätzlich gibt es zwei Möglichkeiten der Vorbeugung: die Absicherung jedes Rechners vor bekannten Sicherheitslücken (Host security) oder das Verhindern von unberechtigten Aktionen über das Netzwerk (Network security). Die Absicherung jedes Rechners kann, nach dem Bekanntwerden von Sicherheitslücken des Systems, durch das Einspielen von sogenannten Patches geschehen. Diese Patches werden häufig vom Hersteller der Betriebssystem- oder sonstiger Software zur Verfügung gestellt. Dieses Sicherungskonzept ist jedoch mit einem hohen Arbeitsaufwand verbunden. Der Systemadministrator muß auf dem laufenden sein, welche aktuellen Patches es gibt, und entscheiden, ob sie für sein(e) System(e) benötigt werden. Dann muß er diese gegebenenfalls besorgen und auf jedem Rechner installieren. Dieser Vorgang läßt sich nur schwer automatisieren, da zwischen einzelnen Patches häufig Abhängigkeiten bestehen und die Rechner eines bestimmten Systems aufgrund geringer Unterschiede in der Installation unterschiedliche Patches benötigen können. Diese Schwierigkeiten treten um so mehr bei heterogener Rechnerausstattung auf. Deshalb ist es für große Einrichtungen einfacher, unberechtigte Zugriffe von außen bereits durch das Netzwerk blockieren zu lassen, damit sie auf den nicht vollständig abgesicherten Rechnern keinen Schaden anrichten können. Diese Blockade wird durch Firewalls ermöglicht. Was sind Firewalls? Ein Firewall ist ein System, das nicht erwünschte Zugriffe über das Internet auf lokale Rechner bzw. von lokalen Rechnern ins Internet verhindert, ungefährliche Internet-Dienste jedoch (in beiden Richtungen) zuläßt. Was „nicht erwünschte Zugriffe“ und „ungefährliche Internet-Dienste“ sind, hängt vom Sicherheitskonzept der jeweiligen Institution ab. Dieses Sicherheitskonzept sollte einen Kompromiß zwischen den benötigten und den als sicher eingestuften Diensten darstellen, und ist deshalb von Institution zu Institution unterschiedlich. Für eine Firma ist es z.B. wichtig, daß sich Außendienstmitarbeiter per Telnet über das Internet anmelden können, während eine andere Firma das damit verbundene Risiko scheut und nur einen HTTP-Server nach außen anbieten möchte. Ebenso kann es Teil eines Sicherheitskonzeptes sein, lokalen Benutzern lediglich den E-Mail-Dienst zur Verfügung zu stellen, während ein anderes Konzept auch ftp erlaubt. Ein eigenes Sicherheitskonzept muß von jeder Institution individuell nach ihren Bedürfnissen erstellt werden. Firewalls sind Teil von Sicherheitskonzepten. Sie überwachen die Einhaltung der Regeln des Konzeptes, verhindern Verstöße und melden die Versuche an den Administrator. Der Firewall stellt die einzige Verbindung zwischen Internet und dem lokalen Netzwerk dar. Solange die Aktionen den Sicherheitsregeln entsprechen, leitet der Firewall sie weiter, andernfalls werden sie blockiert. Die schematische Funktionsweise und die Anbindung eines lokalen Netzes via Firewall an das Internet zeigt Abb. . Die in der Abbildung durchgestrichenen Verbindungen sind nicht zulässig. Es dürfen keine weiteren, nicht geschützten Verbindungen zum Internet existieren (im unteren Teil der Abbildung), da hierdurch der Firewall leicht umgangen werden kann und damit nutzlos wird. Solche Verbindungen sind für Systemadministratoren teilweise schwer zu entdecken, dies können z.B. temporäre Modemverbindungen, die das Internet-Protokoll benutzen, von lokalen Benutzern sein. Das ist ein Beispiel dafür, daß zur Umsetzung eines Sicherheitskonzeptes auch ein Benutzertraining gehört. Da sämtliche Datenübertragungen durch den Firewall laufen, kann hier entschieden werden, ob es sich um einen legalen Zugriff handelt, der durchgelassen wird, oder ob ein Angriff bzw. eine ungewünschte Aktion durchgeführt wird, die der Firewall blockieren soll (im mittleren Teil von Abb. ). Eine Sicherheitsverletzung kann dadurch an einer zentralen Stelle festgestellt werden, was die Überwachung der Sicherheit einer Institution vereinfacht. Der Administrator kann sich auf diese eine Stelle konzentrieren, statt mehrere potentielle Angriffsquellen absichern zu müssen. Um die Überwachung zu erleichtern, sollten Firewalls ausführliche Zugriffsprotokolle erstellen, die häufig auch automatisch überprüft werden können. In diesem Fall muß der Verantwortliche nur vereinzelte Routinekontrollen machen, bei ernstzunehmenden Verstößen gegen die Sicherheit schlägt das System selbständig Alarm. Hat ein Angriff stattgefunden, können anhand der Protokollierungsdaten die Aktionen des Angreifers nachvollzogen werden und angerichtete Schäden und Sicherheitslücken des Systems entdeckt werden.  Abb. 1: Schematische Funktionsweise eines Firewalls. Ein Firewall kann das gesamte Netz einer Institution schützen, was sich schon bei einer relativ kleinen Rechnerzahl als Vorteil gegenüber der Absicherung jedes einzelnen Computers erweist. Diese Absicherung wird nicht überflüssig, kann aber in kleinerem Umfang vorgenommen werden, da der Großteil der schädigenden Aktionen aus dem Internet bereits am Firewall abgefangen wird. Den Rechnern droht daher nur Gefahr vor lokalen Benutzern oder einzelnen Angreifern, die einen Weg durch den Firewall gefunden haben. Besitzt eine Institution mehrere Sub-Netze, die unterschiedliche Sicherheitslevel haben, kann ein Firewall dazu benutzt werden, Übergänge zwischen diesen Netzen zu beschränken. In einer Universität könnte z.B. ein Firewall das Verwaltungsnetzwerk, in dem Angestellten- und Studierendendaten aufbewahrt werden, vor Zugriffen anderer universitätsinterner Rechner schützen. Diese internen Firewalls besitzen die gleichen Eigenschaften wie Internet-Firewalls. Die unterschiedlichen Sicherheitslevel zwischen eigenen Subnetzen können aber differenzierter betrachtet werden als Verbindungen zum kompletten Internet. Daher genügt es häufig, weniger restriktive Formen der im nächsten Abschnitt beschriebenen Architekturen zu benutzen. Eine Diskussion der unterschiedlichen Kriterien für interne Firewalls findet man in [ChZw95; S. 82 ff.]. Architekturen von Firewalls Es gibt eine Reihe von Architekturen, um die gewünschten Charakteristika der Firewalls zu realisieren. Sie unterscheiden sich in der Sicherheit gegenüber Angriffen von außen, im Arbeitsaufwand des Administrators und den Kosten. Zunächst sollen häufig verwendete Komponenten vorgestellt werden, die in den einzelnen Architekturen zum Einsatz kommen. Danach werden der Aufbau und die Vor- bzw. Nachteile einiger Firewallarchitekturen beschrieben. Komponenten Es gibt einige wichtige Kriterien zur konkreten Auswahl der Komponenten, die später den Firewall bilden sollen. Diese Kriterien gelten sowohl für die verwendete Hardware als auch für die Software wie Betriebssystem u.ä. Da die Einrichtung eines Firewalls teilweise viele Modifikationen der eingesetzten Komponenten erfordert, sollte bereits genügend Erfahrung im Umgang mit diesen Geräten bzw. mit der verwendeten Software vorhanden sein. Beim Einsatz eines Unix-basierten Firewalls kann ein Administrator, der bisher ein PC-Netz verwaltet hat, die spezifischen Probleme und Risiken des Betriebssystems z.B. nur schwer erkennen. Hierdurch können Sicherheitslücken bereits bei der Einrichtung der Komponenten entstehen. Außerdem ist ein schnelles Eingreifen im Falle einer Fehlfunktion oder eines erfolgreichen Einbruchs in das System nur möglich, wenn der Administrator mit der Funktionsweise der Geräte und Software vertraut ist. Wichtig ist auch die Bedienerfreundlichkeit. Die Absicherung eines Firewalls sollte nicht durch komplizierte Handhabung erschwert werden. Hierdurch können Fehler oder Schwächen in der Konfiguration der Komponenten leichter erkannt und behoben werden. Der Administrator sollte sich auf die Umsetzung des Sicherheitskonzepts konzentrieren können, die Komponenten sollen dies unterstützen und nicht durch überflüssige Komplexität behindern. Auch für die Benutzersicht ist zu bewerten, ob die Komponenten die Verwendung der freigegebenen Dienste unnötig erschweren. Eine genaue Analyse kann helfen, die Kosten gering zu halten. Häufig bestimmt die Geschwindigkeit der Internetübertragung die benötigte Leistungsfähigkeit der Komponenten. Da diese im Vergleich zur Geschwindigkeit der Hardware gering ist, kann meistens auf preiswertere Geräte im mittleren Leistungsbereich zurückgegriffen werden. Paketfilter Im Internet werden die Informationen in Form von Paketen übertragen. Bei diesen Paketen handelt es sich um logische Einheiten, ein Paket ist die Grundstruktur der Informationsübertragung via Internet. Passen nicht alle Daten in ein einzelnes Paket, werden sie auf mehrere Pakete aufgeteilt. Jedes Paket besteht aus mehreren Schichten, die unterschiedliche Ebenen des Internet-Protokolls darstellen. Jede dieser Schichten besitzt einen Kopf und einen Datenteil. Im Kopf werden die für diese Schicht wichtigen Informationen gespeichert, der Datenteil enthält auf der untersten Ebene die zu übertragenden Daten, in den höheren Ebenen kapselt er den Kopf- und den Datenteil der jeweils darunterliegenden Schicht. Details zu der hier stark verkürzten Übersicht zur Datenübertragung im Internet und dem TCP/IP-Schichtenmodell finden sich im Vortrag „Grundlagen des Internets und des TCP/IP Stacks“. Paketfilter untersuchen sämtliche Pakete, die sie erreichen. Grundlage der Untersuchung sind vom Administrator festgelegte Regeln, durch die der Filter entscheiden kann, ob ein Paket weitergeleitet oder vernichtet wird. Für Firewalls sind dafür die Kopfteile der IP- und der darunterliegenden TCP- bzw. UDP-Schicht interessant. Die IP-Schicht enthält u.a. die IP-Quell- und Zieladresse des Pakets und welches Protokoll im Datenteil verwendet wurde (TCP, UDP oder ICMP). Der Kopfteil der TCP- bzw. UDP-Schicht enthält die Portnummer, von der das Paket abgesendet wurde und die Nummer, an die es weitergeleitet werden soll. Bereits aufgrund der Quelladresse des Pakets können Paketfilter Entscheidungen treffen. Es können z.B. nur Pakete von einigen im Regelsatz freigegebenen Rechnern den Filter passieren, alle anderen werden vernichtet. Diese einfache Form der Kontrolle besitzt jedoch wenig Flexibilität, denn es ist nicht möglich, bestimmte Dienste für einzelne Rechner zu blockieren. Außerdem werden Angriffe durch gefälschte Quelladressen und Man in the middle Attacken (s. Vortrag „Angriffsstrategien“) möglich. Betrachtet der Paketfilter auch die darunterliegenden Schichten, kann er speziellere Bewertungen vornehmen. Die TCP-Schicht enthält die Quell- und Zielportnummer des Pakets, und eine Reihe von TCP-Flags, von denen nur das Acknowledge-Flag (ACK) für den Filter von Bedeutung ist. Anhand der Portnummern kann der Dienst ermittelt werden, der das Paket zur Übertragung nutzt. Beispielsweise ist ein TCP-Paket mit einer Quell-Portnummer größer 1023 und der Zielnummer 23 Teil einer Telnet-Verbindung, mit Zielnummer 80 Teil einer HTTP-Verbindung. Die Portnummern vieler Internet-Dienste sind festgelegt, und werden von sämtlichen Betriebssystemen eingehalten. Lediglich Ports über 1023 sind frei verfügbar: sie werden (in zufälliger Reichenfolge) von Clients benutzt, um ihre Server auf den reservierten, nur vom Systemadministrator belegbaren Ports anzusprechen. In dem freien Bereich können aber auch Server auf Verbindungen warten, die von normalen Benutzern gestartet wurden (z.B. private HTTP-Server, …). Da es sich bei TCP um ein verbindungsorientiertes Protokoll handelt, das den beiden kommunizierenden Rechnern die korrekte Versendung einzelner Pakete garantiert, ist als Kontrollmöglichkeit das ACK-Flag im TCP-Kopf vorhanden. Dieses Flag besitzt im ersten Paket der Verbindung den Wert 0, beide Rechner setzen in ihrer Antwort auf ein erhaltenes Paket das ACK-Flag auf 1. Nachdem die Verbindung zwischen zwei Rechnern aufgebaut wurde und das erste Paket mit ACK=0 übertragen wurde, enthalten also alle weiteren Pakete den Wert 1 in diesem Flag. Die Filter müssen nur bei Paketen mit ACK=0 entscheiden, ob es weitergeleitet oder vernichtet werden soll: Passieren einzelne Pakete einer Verbindung den Filter, das Paket mit dem ACK-Wert 0 erreicht den Zielrechner aber nicht, vernichtet er von sich aus nach einer gewissen Zeitspanne die Pakete und verhindert damit die Ausführung der unerwünschten Aktion. Dieses Verfahren hat außerdem den Vorteil, daß nicht sämtliche Pakete protokolliert werden müssen. Es erscheinen jeweils nur die Daten beim Administrator, die die Kommunikation eingeleitet haben, zusammen mit der Information, ob der Filter diese Verbindung unterbunden hat oder nicht. Das ACK-Flag ermöglicht auch die Unterscheidung, ob ein interner Rechner oder ein Rechner im Internet die Kommunikation zwischen beiden begonnen hat. Bei einer Anfrage eines lokalen Rechners an einen Rechner im Internet besitzt ein herausgehendes Paket (s.u.) den ACK-Wert 0, bei einer umgekehrten Anfrage enthält ein eingehendes Paket diesen Wert. Hierdurch ist es möglich, Anfragen aus dem Internet zu verhindern, die Antworten (mit ACK=1) auf Anfragen lokaler Rechner aber durchzulassen. Das ACK-Flag kann nicht durch Hacker permanent auf 1 gesetzt werden, da bei externen Anfragen immer ein ACK=0 Paket vorhanden sein muß, und ist deshalb für Angriffe nutzlos. Bei UDP handelt es sich um ein verbindungsloses Protokoll, deshalb ist das ACK-Bit hier nicht vorhanden. Das macht es schwierig, in den Filterregeln Anfragen aus dem Internet und Antworten auf Anfragen aus dem lokalen Netz zu unterscheiden. Verschiedene kommerzielle Firewalls merken sich herausgehende UDP-Pakete und lassen nur Pakete herein, deren Quelladresse mit der Zieladresse des Anfragepakets und deren Zieladresse mit der Quelladresse des Anfragepakets übereinstimmen. Dieses selbständige Anpassen der Filterregeln wird als dynamisches Routing bezeichnet. Einige kommerzielle Firewalls analysieren neben den Köpfen der oberen Schichten mittlerweile auch die Daten der Applikationsschicht (z.B. Firewall-1 von CheckPoint). Paketfilter erlauben eine sichere Kontrolle des Datenverkehrs, und sind normalerweise für die Benutzer transparent. Wird ein Paketfilter an der einzigen Verbindung zwischen Internet und dem lokalen Netz eingesetzt, kann er sämtliche Rechner des lokalen Netzes sichern. Ihre Regelsätze sind jedoch häufig schwer zu konfigurieren, es gibt wenig Möglichkeiten, die Korrektheit des gesamten Regelsystems zu überprüfen. Bei der Erstellung der Regeln muß bedacht werden, daß es sich bei der Kommunikation zweier Rechner meistens um bidirektionalen Verkehr handelt: ins Internet gesendete Pakete erzeugen dabei auch zurückkommende Antwortpakete. Um die Pakete unterscheiden zu können, sind, neben den bereits oben beschriebenen protokollspezifischen Daten (ACK-Flag), auch Informationen darüber nötig, auf welchem Weg sie den Filter erreichen. Hierzu muß der Filter feststellen können, an welchem seiner Interfaces (das mit dem Internet oder das mit dem internen Netz verbundene) die Pakete ankommen. Auf diese Weise können eingehende und herausgehende Pakete unterschieden und Angriffe durch vorgetäuschte interne Quelladressen verhindert werden. Schon einfache Regelsysteme können schwer zu überblicken sein. Dies soll anhand eines Beispiels kurz verdeutlicht werden, das dem Buch [ChZw95, S. 182ff.] entnommen wurde und dort wesentlich detaillierter behandelt wird. Der Paketfilter soll so konfiguriert werden, daß E-Mails im internen Netz empfangen und versendet werden können. Das zugrundeliegende Protokoll für diesen Dienst ist SMTP. SMTP-Server benutzen den Port 25, die Clients verwenden einen freien Port über 1023. Für jede Kommunikationsrichtung (Empfang wie Versenden von E-Mails) werden jeweils ein- und ausgehende Pakete benötigt. Die Spalten der Tabelle geben die Kriterien zur Bewertung eines Pakets an, die Zeilen enthalten jeweils eine Regel und werden von oben nach unten bearbeitet, bis eine passende Regel gefunden wird. RegelRichtungQuelladresseZieladresseProtokollQuellportZielportAktionAeingehendexterninternTCP> 102325weiterleitenBausgehendinternexternTCP25> 1023weiterleitenCausgehendinternexternTCP> 102325weiterleitenDeingehendexterninternTCP25> 1023weiterleitenE------vernichten Regeln A und B sind für das Empfangen von E-Mails zuständig, C und D für das Versenden. Alle anderen Pakete werden durch Regel E vernichtet (- bedeutet, daß an dieser Stelle beliebige Werte stehen können). Dieser Regelsatz ist bereits relativ sicher, er läßt lediglich Kommunikation zwischen Port 25 und einem Port über 1023 zu. Hierdurch werden auch Pakete blockiert, die z.B. das X Window-System erreichen sollen, solche Pakete besitzen einen beliebigen Quellport über 1023 und den Zielport 6000, den der X-Server standardmäßig benutzt. Das X Window-System läßt aufgrund seines offenen Designs einige unerwünschte Operationen zu (z.B. das Simulieren von Eingaben eines Benutzers durch einen anderen). Pakete, die diese Eigenschaften besitzen und eventuell einen Angriff auf einen X-Server darstellen, sollen in jedem Fall blockiert werden. Dies wird durch den obigen Regelsatz auch getan. Dieser versagt jedoch, wenn die Pakete eines Hackers vom Port 25 stammen. Dies ist z.B. möglich, wenn der SMTP-Server auf dem Angriffsrechner gestoppt wurde und dieser Port dann für die Versendung der Pakete benutzt wird. Regel D läßt eingehende Pakete vom Port 25 an den Port 6000 zu, und Regel C erlaubt ausgehende Antwortpakete des Servers von Port 6000 an Port 25. Schon bei diesem übersichtlichen Regelsystem, das nur den E-Mail-Dienst berücksichtigt, ist also schon Vorsicht geboten. Vollständig abgesichert werden die Regeln durch Hinzunahme des ACK-Flags, was die folgende Tabelle liefert. RegelRchtg.QuelladresseZieladresseProtkollQuellportZielportACKAktionA’einexterninternTCP> 102325-weiterl.B’ausinternexternTCP25> 10231weiterl.C’ausinternexternTCP> 102325-weiterl.D’einexterninternTCP25> 10231weiterl.E’-------vern. Angriffe auf das X Window-System (oder andere Server, die Ports über 1023 benutzen) werden nun von Regel D’ verhindert. Da das erste Paket einer Anfrage immer das ACK-Flag auf 0 gesetzt hat, erfüllt es Regel D’ nicht mehr, und wird deshalb von Regel E (da keine andere paßt) vernichtet. Der E-Mail-Dienst kann ohne Einschränkungen angeboten werden. Dieses Beispiel zeigt auch, daß durch das Fehlen des ACK-Flags UDP-basierte Dienste nicht sicher gefiltert werden können. Realisiert werden Paketfilter durch normale Rechner mit spezieller Software oder durch Router, die das Filtern von Paketen unterstützen. Dual homed hosts und Proxy-Server Dual homed hosts sind Rechner mit zwei oder mehr Verbindungen zu unterschiedlichen Sub-Netzen. Im Unterschied zu Gateways darf auf diesen Rechnern keine automatische Weiterleitung von Paketen zwischen den Netzen stattfinden (IP-Forwarding). Hierdurch soll ein direkter Zugriff von lokalen Clientprogrammen auf Server außerhalb des zu schützenden Netzes verhindert werden. Auf Dual homed hosts laufen häufig Proxy-Server, die Zugriffe zwischen den verschiedenen Netzen abwickeln können. Client und Server kommunizieren hierbei nicht über eine gemeinsame Verbindung, sondern über den Proxy. Dieser leitet Anfragen im Auftrag der Clients an den entsprechenden Server weiter. Der Client hat bei einem vollständig transparenten Proxy den Eindruck, als würde er direkt mit dem adressierten Server kommunizieren. Der Server dagegen sieht nur Anfragen, die scheinbar alle vom Proxy-Rechner stammen, und behandelt diesen als seinen Client. Die an den Proxy gerichteten Antworten des Servers werden von ihm an den wahren Client weitergeleitet. Durch diesen Ansatz ist eine Kontrolle von Verbindungen auf Applikationsebene möglich. Das bedeutet, daß ein Dienst zwar angeboten wird, aber nur die Operationen über den Proxy-Server zur Verfügung stellt, die als sicher gelten. Die Deaktivierung des IP-Forwardings verhindert dabei, daß modifizierte Pakete durch den Dual homed host gelangen, die vom Proxy-Server abgefangen werden sollten. Ist ein Proxy mit dem Protokoll eines Dienstes vertraut, ermöglicht er eine leichter verständliche Protokollierung der Verbindungsdaten, als dies z.B. ein Paketfilter erledigen kann. Der Administrator muß bei der Kontrolle nicht mehr aus den Internet-Adressen und Portnummern der Pakete herausfinden, welche Aktion durchgeführt wurde, sondern bekommt diese Information bereits durch den Proxy geliefert, der die Operationen eines Dienstes erkennt. Der Einsatz eines Proxy-Servers erfordert Änderungen an der Client-Software oder spezielles Verhalten der Benutzer. Die Client-Software muß dahingehend angepaßt werden, daß sie keine direkte Verbindung zum adressierten Server aufbaut, sondern den Proxy kontaktiert und ihm die Adresse des gewünschten Servers mitteilt. Bei dieser Lösung ist für die Anwender die indirekte Verbindung relativ transparent, für interne (ohne Proxy) und externe Zugriffe (mit Proxy) müssen aber unterschiedliche Client-Programme eingesetzt werden, was bedienerunfreundlich ist. Zur Anpassung der Clients müssen Programmierkenntnisse und zusätzliche Software (Bibliotheken, Compiler, …) vorhanden sein. Die Alternative sind spezielle Benutzereingaben, hierdurch können geeignete Standardclients verwendet werden, die nicht weiter verändert werden müssen. Durch den zusätzlichen Aufwand zum Aufbau der Verbindung ist diese Lösung für Anwender unattraktiv, und der Adminstrator muß eine Beschreibung der geänderten Funktionalität der Dienste zur Verfügung stellen. Eine frei verfügbare Sammlung von Proxies, die auf diesem Ansatz basieren, ist das TIS-Firewall-Toolkit für Unix-Systeme. Der Telnet-Proxy dieses Pakets erfordert, daß Benutzer statt der Adresse des Zielrechners den Proxy-Server angeben. Der fordert statt der Anmeldungsaufforderung (wie bei einer regulären Telnet-Verbindung) die Eingabe des gewünschten Zielrechners. Erst dadurch wird für den Anwender der Dienst nutzbar. Ein anderes frei verfügbares Proxy-Paket ist SOCKS. Es stellt einen allgemeinen („generischen“) Proxy zur Verfügung, auf den mit veränderter Client-Software zugegriffen werden kann. Durch die hohe Verbreitung sind bereits viele Clients an dieses Paket angepaßt, häufig kann bei der Compilierung der im Quellcode vorliegenden Software die Nutzung von SOCKS ausgewählt werden. Bei kommerziellen Produkten läßt sich eine eventuell vorhandene Unterstützung oft zur Laufzeit aktivieren. Durch beide Maßnahmen werden einige Systemaufrufe für Netzfunktionen durch Funktionen der SOCKS-Bibliothek ersetzt, die für den SOCKS-Proxy angepaßt sind. Der Proxy muß auf Unix-Systemen laufen und kann von Clients sämtlicher Dienste benutzt werden. Die Bibliothek ist auch für andere Plattformen umgesetzt worden, Clients sind somit nicht an Unix-Rechner gebunden. Die Konfiguration von Proxy-Servern erfordert zusätzlichen Aufwand vom Administrator, vor allem, wenn mehrere Dienst-spezifische Proxies verwendet werden sollen. Nicht alle Dienste unterstützen das Proxy-Konzept, einige lassen sich leichter z.B. über Paketfilter absichern. Zur Entwicklung eines Proxy-Servers sind genaue Kenntnisse des Dienstes erforderlich, Vorgehensweisen anhand von Beispielen sind in [URL-10] oder [ChZw95; Kap. 8] beschrieben. Proxy-Server werden nicht nur auf Dual homed hosts eingesetzt, sondern auch auf sog. Bastion hosts. Bastion host Einige Firewalls sollen auch kontrollierten Zugriff auf das interne Netz ermöglichen. Hierfür werden Bastion hosts benötigt. Das sind speziell gesicherte Rechner, die feindliche Angriffe abwehren und überwachten Zugriff im Rahmen des Sicherheitskonzeptes gewähren sollen. Bastion hosts sind die einzigen Rechner, auf die vom Internet aus zugegriffen werden kann, sie schirmen das interne Netz vor direkten Zugriffen ab. Daher sollten sie besonders durch die weiter oben beschriebenen Maßnahmen zur Absicherung einzelner Rechner (Host security) geschützt werden. Sie sollten keinerlei Sicherheitslücken für Angriffe bieten, da hierdurch das gesamte innere Netz in Gefahr ist. Müssen sie mit Rechnern im internen Netz kommunizieren, sollten diese ebenfalls stärker abgesichert werden. Eine solche Kommunikation ist z.B. nötig, wenn der Bastion host als zentraler E-Mail-Server fungiert, der die eingegangenen Nachrichten an einen Rechner im internen Netz weiterleitet. Von dort werden sie dann an die einzelnen Rechner und Benutzer verteilt. Soll ein Dienst über das Internet abrufbar sein, wie z.B. ein öffentlicher WWW-Server, der Informationen über die Institution anbietet, wird dieser Dienst meistens über einen Bastion host zugänglich gemacht. Der Server läuft auf diesem abgesicherten Rechner, der häufig auch die benötigten Daten besitzt. Verbindungen in das interne Netz werden, wenn überhaupt nötig, nur vom Bastion host abgewickelt. Darüberhinaus können Proxy-Server auf diesem Rechner eingesetzt werden, um internen Benutzern einen Zugriff auf das Internet zu ermöglichen. Ein Anmelden von Benutzern auf dem Bastion host sollte nicht möglich sein, da hierdurch neue Angriffsmöglichkeiten entstehen (nicht fehlerfreie login-Software, Passwort-Attacken, …). Die Hardware eines Bastion hosts muß nicht besonders schnell sein. Proxy-Server benötigen in der Regel nicht viel Rechenzeit, und die Datenübertragung ist durch die Geschwindigkeit des Internet-Anschlusses bestimmt. Dadurch wird ein Bastion host für einen Einbruchsversuch uninteressant gemacht, da ein mittelmäßiger Rechner ein unattraktives Ziel ist. Sollte es dennoch zu Perfomance-Problemen kommen, können die Proxy-Server auch auf mehrere Bastion hosts aufgeteilt werden. Wichtiger als die Schnelligkeit ist die Zuverlässigkeit und Stabilität der Hardware. Bei der Einrichtung eines Bastion hosts sind viele Modifikationen nötig. Deshalb sollten hier Hardware und Betriebssystem so gewählt werden, daß Erfahrung im Umgang mit beiden vorhanden ist und die Möglichkeit besteht, Komponenten auf einem anderen Rechner zu konfigurieren und erst dann in den Bastion host zu integrieren. Außerdem ist bei der Wahl des Betriebssystems zu beachten, daß die benötigten Proxy-Server für diese Plattform zur Verfügung stehen. Auch häufig erscheinende Sicherheits-Patches des Herstellers sind von Vorteil. Interner Aufbau und Arbeitsweise Paketfilter (Screening router) Die Verbindung zwischen Internet und dem lokalen Netzwerk stellt bei diesem Ansatz lediglich ein Paketfilter her. Aufgrund der speziellen Aufgabenstellung (Untersuchung und Weiterleitung bzw. Vernichtung von Paketen) werden häufig Router als Paketfilter eingesetzt. Der eingesetzte Router muß die Eingabe von Regelsätzen erlauben, die durch das Sicherheitskonzept der Institution bestimmt sind. Der Aufbau ist in Abb. dargestellt.  Abb. 2: Paketfilter-Architektur. Ein Router, der als Paketfilter benutzt wird, heißt auch Screening router. Im Unterschied zu einem normalen Router entscheidet er nicht nur aufgrund der Zieladresse des IP-Pakets, ob und wie er das Paket weiterleiten soll, sondern überprüft jedes Paket zusätzlich durch den Regelsatz. Entspricht es nicht den Kriterien der programmierten Regeln, vernichtet ein Screening router das Paket, auch wenn er einen Weg zu dessen Ziel finden könnte. Diese Architektur hat jedoch eine Reihe von Nachteilen. Der Screening router ist die einzige Komponente, die das interne Netz nach außen abschirmt. Falls ein Angreifer Zugriff auf den Router bekommt oder eine Fehlfunktion vorliegt, kann auf das Netz zugegriffen werden. Ein nicht gut gesicherter Rechner wird dadurch leicht angreifbar, die Daten dieses Rechners und sämtliche über das interne Netz übertragenen Daten sind gefährdet. Eine teilweise Freischaltung eines Dienstes ist nicht möglich. Der Screening router kann durch die Portnummern des Paketes nur entscheiden, um welchen Dienst es sich handelt, nicht welche Operation ausgeführt oder welche Daten übertragen werden. In einer Filterregel kann nur angegeben werden, daß eine Verbindung zu Port 23 z.B. nicht erlaubt ist, und somit keine Telnet-Verbindungen von außen möglich sind. Schon relativ einfache Sicherheitskonzepte können komplizierte Regelsätze bewirken, deren Korrektheit nur schwer zu überprüfen ist. Das Protokollieren von besonderen Vorkommnissen ist bei Routern nur eingeschränkt möglich. Dies hat einerseits technische Gründe (zusätzliche Hardware erforderlich, eventuell keine Anschlüsse vorhanden), andererseits kann auch nur protokolliert werden, ob ein Paket vernichtet oder weitergeleitet wurde. Da Router auf einer niedrigen Protokollschicht arbeiten, sind solche Einträge schwer lesbar und damit ist nur mit Mühe ein ernster Angriff von einem Fehler zu unterscheiden. Vorteil ist der niedrige Kostenaufwand für Hardware. Dual homed host Systeme Der Firewall besteht bei diesem System nur aus einem Dual homed host, dessen Subnetze das Internet und das interne Netz sind (s. Abb. ).  Abb. 3: Dual homed host Architektur. Lokale Benutzer können auf das Internet über die oben beschriebenen Proxy-Server zugreifen. Für jeden Dienst muß ein eigener Server, der die als sicher angesehenen Funktionen zur Verfügung stellt, eingerichtet werden. Solche Proxies existieren aber nicht für jeden Dienst bzw. erlauben nur mit zusätzlichem Aufwand der Benutzer eine Verbindung. Eine Alternative für Dienste, die sich nur schwer über einen Proxy anbieten lassen, ist das Aufrufen von Clientprogrammen auf dem Dual homed host. Die Benutzer müssen sich hierfür auf diesem Rechner anmelden und können hier eine Verbindung zum Internet aufnehmen. Dies hat jedoch den Nachteil, daß von Benutzern auf diesem Rechner eventuell eigene, vom Administrator als nicht sicher eingeschätzte Server gestartet werden können. Außerdem ist diese Alternative ebenfalls mit zusätzlichem Aufwand und eventuellen Unannehmlichkeiten (z.B. geringe Performance des Rechners bei vielen gleichzeitigen Zugriffen) für die Benutzer verbunden. Vorteil der Dual homed host Architektur sind die geringen Kosten für die Hardware. Außerdem läßt sich die Funktionstüchtigkeit des Firewalls bei dieser Architektur leicht überprüfen: gelangen Pakete mit externen IP-Quelladressen ins interne Netz, existiert eine Sicherheitslücke. Denn dies sollte durch das Abschalten des IP-Forwardings und den Einsatz von Proxy-Servern (bzw. der Anmeldung auf dem Dual homed host) verhindert werden. Nachteil ist ein hoher Arbeitsaufwand für den Administrator. Dies umfaßt das Einrichten und Überwachen der Proxy-Server und des Dual homed hosts, Benutzerschulungen zur Verwendung der Proxies (allgemein erhältliche Beschreibungen zu den Diensten sind u. U. für Proxi U. für Proxies nicht verwendbar) oder das Einrichten von Accounts auf dem Dual homed host (mit Sicherheitsbelehrung für Benutzer). Abhängig von den spezifischen Eigenschaften eines Dienstes kann es eventuell keine elegante Lösung geben. Screened host Architektur Diese Architektur bietet eine LProxy-Server abgesichert werden können, während andere leichter über Paketfilter zu kontrollieren sind. Deshalb werden im Screened host-Ansatz Komponenten für beide Sicherungsarten verwendet: neben dem Screening router gibt es einen speziellen Rechner, einen Bastion host, auf dem Proxy-Server laufen können. Abb. zeigt ein Schema dieser Architektur. Der Bastion host ist an das interne Netzwerk angeschlossen. Der Screening router sorgt dafür, daß er der einzige Rechner ist, auf den vom Internet aus zugegriffen werden kann. Alle Pakete, die für die auf dem Bastion host angebotenen Dienste bestimmt sind, werden weitergeleitet, Pakete für andere interne Rechner oder nicht von außen zugängliche Dienste werden dagegen blockiert. Zugriffe aus dem lokalen Netz auf das Internet werden über Proxy-Server auf dem Bastion host erledigt, es besteht aber auch die Möglichkeit, bestimmte Dienste mit direktem Zugriff auf das Internet freizugeben. Hierfür müssen auf dem Screening router entsprechende Regeln vorhanden sein, die Pakete der zulässigen Dienste weiterleiten. Von den Proxy-Servern auf dem Bastion host erzeugte Pakete müssen ebenfalls durch entsprechende Regeln den Paketfilter passieren können. Die Screened host-Architektur besitzt den Vorteil der größeren Flexibilität gegenüber dem Dual homed host Ansatz. Neben Proxy-basierten Diensten können auch direkte Verbindungen ins Internet gestattet werden. Ein Router ist im allgemeinen aufgrund seiner Spezialisierung leichter zu schützen als ein Rechner, der eine Vielzahl von Angriffsmöglichkeiten bietet.  Abb. 4: Screened host-Architektur. Durch den direkten Anschluß des Bastion hosts an das interne Netzwerk besteht jedoch die große Gefahr, daß ein erfolgreicher Angreifer sofort auf das komplette Netz zugreifen kann. Es gibt keine weitere Verteidigungslinie. Auch ein geglückter Angriff auf den Router kann die Sicherheit des gesamten Netzes gefährden. Screened subnet Architektur Die Screened subnet-Architektur stellt die sicherste der hier vorgestellten Architekturen dar. Sie besitzt mehrere Komponenten, die ein Angreifer überwinden muß, um in das interne Netz zu gelangen. Diesen mehrstufigen Aufbau zeigt Abb. , im folgenden wird die einfachste Form dargestellt. Es gibt eine Reihe von Erweiterungen dieser Architektur, wie z.B. mehrere Zwischennetzwerke (Perimeter nets), mehrere Bastion hosts für unterschiedliche Server (ein ftp-Server und ein HTTP-Server, …), usw. Das Perimeter net ist ein Zwischennetzwerk zwischen dem Internet und dem lokalen Netz. Es ist durch den externen und den internen Router von beiden Netzwerken getrennt. An dieses Zwischennetzwerk wird der Bastion host angeschlossen. Ein Einbruch in diesen Rechner führt nicht automatisch zu einem Zugriff auf das interne Netz, wie es bei der Screened host-Architektur der Fall war. Ein Angreifer muß zusätzlich noch den internen Router überwinden, der einen zusätzlichen Verteidigungswall darstellt. Über das Zwischennetzwerk werden nur Daten vom und zum Bastion host übertragen, die nicht so vertraulich sind wie Daten im internen Netz. Wird in den Bastion host eingebrochen, kann der Einbrecher nur auf die wenig nützlichen Daten zugreifen.  Abb. 5: Screened subnet-Architektur. Der interne Router ist ein Screening router und läßt Verbindungen lokaler Rechner zum Bastion host und dem Internet zu. Direkter Zugriff auf das Internet muß ebenfalls vom externen Router weitergeleitet werden, hier müssen also die Filterregeln auf beiden Routern übereinstimmen. Nur für sichere Dienste sollte dieser Weg erlaubt sein. Lokale Zugriffe auf den Bastion host werden vom internen Router für Dienste zugelassen, die über Proxy-Server auf diesem Rechner angeboten werden. Der externe Router muß hierfür die Pakete ins Internet weiterleiten, die von den Proxies erzeugt wurden. Kommunikation zwischen dem Bastion host und Rechnern im internen Netzwerk sollte auf einige wenige Rechner beschränkt werden. Dadurch kann ein Einbruch in den Bastion host die Mehrzahl der internen Rechner nicht gefährden, da durch den internen Router nur Verbindungen zwischen dem Bastion host und wenigen ausgewählten Rechnern zugelassen wird. Diese sollten ähnlich starken Schutzmaßnahmen unterliegen wie der Bastion host. Der interne Router schützt das interne Netzwerk also vor dem Zwischennetz und dem Internet. Er enthält die Filterregeln, die durch das Sicherheitskonzept vorgegeben sind. Der externe Router wird hauptsächlich dazu genutzt, Angriffe durch gefälschte Pakete aus dem Internet zu verhindern. Solche gefälschten Pakete enthalten als Quelladresse die Adresse des Bastion hosts oder interner Rechner. Dadurch können z.B. Pakete durch den internen Router an Rechner im lokalen Netz weitergeleitet werden, da er durch die gefälschte Quelladresse annimmt, sie kämen vom Bastion host. Um zusätzliche Sicherheit durch Redundanz zu bieten, kann der externe Router ebenfalls einen Teil der Regeln des internen Routers enthalten. Wie bereits oben erwähnt, ist diese Architektur die sicherste der hier vorgestellten. Sie verursacht allerdings hohe Kosten durch die eingesetzte Hardware. Die Einrichtung ist schwierig, da ein Bastion host mit den Proxy-Servern und zwei Screening router verwaltet werden müssen. Weitere Architekturen Es gibt weitere Architekturen, die teilweise Abwandlungen der oben beschriebenen sind. Aus Kostengründen können z.B. der interne und externe Router zusammengefaßt werden, wenn der verwendete Router flexible Filterregeln zur Verfügung stellt. Beschreibungen zu weiteren Architekturen finden sich z.B. in [ChZw95; Kap. 4], [Luck97], [URL-1] oder [URL-2]. Einige Modifikationen sind nicht zu empfehlen, da sie zu Sicherheitsproblemen führen. Wenn der Bastion host z.B. auch die Funktion des internen Routers übernimmt (durch entsprechende Software), wird dadurch bei einem erfolgreichen Angriff auf diesen Rechner sofort der Verkehr des internen Netzes sichtbar. Die Architektur des Firewalls wird durch diese Modifikation nämlich signifikant geändert: aus einer Screened subnet- wird eine Screened host-Architektur. Mit separatem internen Router ist der Bastion host nur mit dem Zwischennetz verbunden, ein Zugriff auf die Daten im internen Netz ist nicht möglich. Wird der Router aber in den Bastion host verlagert, besitzt dieser einen physikalischen Anschluß an das interne Netzwerk und hat dadurch über das Interface Zugriff auf den internen Datenverkehr. Das Zwischennetzwerk wird nutzlos, denn es sollte als zusätzliche Sicherheitsschicht von Internet und internem Netz getrennt sein. Die Gefahren einiger weiterer Abwandlungen werden ebenfalls in Kapitel 4 von [ChZw95] behandelt. Planung eines Firewalls Grundlegend für die Auswahl eines Firewall-Produkts ist das darunterliegende Betriebssystem. Hier stehen im wesentlichen UNIX-basierte Systeme (Solaris, HP-UX, Linux, …) und Windows NT zur Auswahl. Wie bereits erwähnt, sollte der Administrator bereits Erfahrung mit dem einzusetzenden Betriebssystem besitzen. Denn die Einrichtung und Absicherung eines Firewalls ist nur möglich, wenn die spezifischen Vorgehensweisen zur Administration und die sicherheitsrelevanten Schwächen des Systems bekannt sind. [ChZw95] und [Mraz97] tendieren beide zu Unix: diese Systeme sind bereits lange Zeit im Einsatz, auch bei der Anbindung ans Internet. Viele Internet-Dienste sind unter Unix entwickelt worden, und deshalb gut in das Betriebssystem integriert. Außerdem existiert eine Vielzahl von Tools, die die genaue Überwachung des Systems bis in die Kernel-Ebene ermöglichen. Da die Quellen einiger alter Unix-Versionen (auf denen die heutigen häufig basieren) frei verfügbar sind, sind bereits viele Sicherheitslöcher entdeckt und behoben worden. Das gilt ebenfalls für viele freie Firewall-Implementierungen für Unix: sie sind durch die Verfügbarkeit des Quellcodes gut analysiert und seit langer Zeit im Einsatz. Besitzt ein Administrator (z.B. in einem rein PC-basierten Netzwerk) keinerlei Unix-Erfahrung, ist in diesem Fall sicher Windows NT die bessere Wahl. Nach der Entscheidung für ein spezielles Betriebssystem stehen die dafür verfügbaren Firewall-Produkte zur Auswahl. Es gibt sowohl frei verfügbare Software (wie die bereits erwähnten Pakete SOCKS und TIS-Firewall-Toolkit), aber auch kommerzielle Systeme. Die einzuplanenden Kosten umfassen: den Anschaffungspreis der Soft- und Hardware, die Kosten für die Evaluierung verschiedener Systeme, die Einrichtung des Firewall und die Kosten für die Pflege und Administrierung. Für die kostenlose Software spricht neben dem finanziellen Aspekt, daß sie häufig eingesetzt und analysiert wird, und dadurch ein hohes Maß an Sicherheit bietet. Die Nachteile sind die im Vergleich zu kommerziellen Systemen umständlichere Bedienung und eingeschränkte Funktionalität. Kommerzieller Systeme bieten Proxy-Server, die für die Benutzer völlig transparent sind. Diese Firewall-Systeme bieten außerdem erweiterte Fähigkeiten gegenüber der freien Software. Beispiele sind die Analyse des Applikationsdatenteils bei Paketfiltern oder ein Virencheck bei ftp-Übertragungen oder E-Mail-Attaches. Durch grafische Benutzeroberflächen ermöglichen sie eine übersichtlichere Konfiguration, was auch ein Vorteil für die Sicherheit des Systems bedeuten kann und die Kosten für die Administrierung senkt. Allerdings fällt eine Sicherheitsbewertung oft schwer, da der Quellcode nicht frei verfügbar ist und nur vom Hersteller erweitert werden kann. Vergleichstests (wie z.B. [LuSc97], [URL-8], [URL-9]) zeigen, daß einige kommerzielle Firewall-Produkte nicht fehlerfrei und trotz grafischer Oberflächen unübersichtlich zu konfigurieren sind. [URL-8] enthält außerdem einen Vergleich der Performance der getesteten System, hier zeigten sich erhebliche Unterschiede. Die eigene Evaluierung eines Firewalls wird dadurch erschwert, daß hierzu viel Sachkenntnis über die zugrundeliegenden Protokolle und Techniken nötig ist, und außerdem bei gründlichem Vorgehen lange dauern kann. Institutionen, die nicht über einen speziell ausgebildeten Administrator verfügen, können auf die Hilfe von Beratungsfirmen zurückgreifen, die die Planung, Einrichtung und Pflege des Firewalls übernehmen. Eine Übersicht findet sich z.B. bei [URL-3]. Laut [URL-4] sind für Firewall-Hardware Kosten von 6.000 DM bis 2.000.000 DM, abhängig von Ausbau und Komplexität des Systems, zu veranschlagen. Die Kosten für Installation werden hier mit ca. 2.000 DM bis 100.000 DM angegeben, es sind durchschnittlich 1-50 Manntage einzuplanen. Firewall-Software für mittlere Netzwerke (ca. 50 bis 200 Benutzer) kostet, häufig nach der Anzahl der Benutzer gestaffelt, zwischen 6.700 DM und 60.000 DM ([LuSc97], [URL-5]). Beratungsfirmen verlangen als Stundenlohn für die Einrichtung zwischen ca. 150 DM und 250 DM [URL-6], [URL-7]. Die Kosten für eine monatliche Wartung betragen in [URL-6] 1% des Softwarekaufpreises. Was können Firewalls leisten und was nicht? Firewalls sorgen dafür, daß vertrauliche Daten nicht allgemein zugänglich sind und bieten einen gewissen Schutz gegen versehentliche Freigabe dieser Daten. Durch Überprüfung aller eingehenden und aller nach außen gerichteten Verbindungen können Firewalls die meisten mutwilligen oder versehentlichen Versuche der Freigabe vertraulicher Daten verhindern. Firewalls erlauben die Überwachung der Sicherheit eines lokalen Rechnernetzes von einem einzigen Beobachtungspunkt. Administratoren können sich bei ihren Überprüfungen auf diesen Punkt konzentrieren, um besondere Vorkommnisse zu entdecken. Gäbe es mehrere Stellen, an denen eine Verbindung ins Internet bestünde, müßten die Protokolldaten dieser Übergänge miteinander verglichen werden, um einen Angriff entdecken zu können. Denn die Vorbereitung eines Angriffs und der Angriff selbst könnten über verschiedene Verbindungsstellen geschehen. Um den Angriff nachvollziehen zu können, müßten die Protokolldaten in chronologischer Reihenfolge zusammengefügt und schließlich ausgewertet werden. Daraus resultiert eine schlechtere Übersicht und ein erhöhter Arbeitsaufwand gegenüber einer einzigen Verbindung, die ein zentrales Protokoll ermöglicht. Dieses zentrale Protokoll kann aber nicht nur zum Entdecken von Angriffen benutzt werden. Da sämtliche Verbindungen zwischen dem Internet und dem internen Netz durch den Firewall geleitet werden, können die Protokolldaten auch zur Erstellung einer Nutzungsstatistik dienen. Diese erlaubt eine Kostenkontrolle, liefert aber auch Daten über die Verwendung einzelner Dienste. Auf diese Weise können selten oder nur von wenigen Anwendern benötigte Dienste anders abgesichert werden als solche, die häufig verwendet werden und deshalb komfortabler in der Bedienung sein müssen. Firewalls sind flexibel und richten sich nach dem individuellen Sicherheitskonzept, das abhängig von den Erfordernissen und den speziellen Einschätzungen verschiedener Gruppen der Institution ist. Die bekannten und verbreiteten Dienste lassen sich über ein Firewall absichern, die konkrete Realisierung wird durch die spezifischen Eigenschaften des Dienstes und die Erfordernisse der Institution (Sicherheit vs. Bedienkomfort) bestimmt. Ein Firewall ist aber auch kein Allheilmittel. In einer Reihe von Fällen kann er keinen oder nur eingeschränkten Schutz bieten. Nur wenn Daten durch den Firewall fließen, kann er sie analysieren und weiterleiten bzw. blockieren. Er kann nicht vor Angriffen über weitere Verbindungen des internen Netzes mit dem Internet schützen, die nicht abgesichert sind. Firewalls können nicht vor Angriffen interner Benutzer schützen. Durch ihre Zugangsberechtigung ist es für diese Benutzer möglich, Konfigurationsdateien zu lesen und dadurch schneller Sicherheitslücken zu entdecken oder Programme zu starten, die zur Lahmlegung bzw. zum Absturz des Rechners führen. Solche ungewollten Zustände werden häufig unbeabsichtigt durch Bedienfehler oder Unachtsamkeit hervorgerufen, auch hier kann ein Firewall nicht helfen. Hat ein Angreifer einen Weg in das interne Netz gefunden, können weitere Aktionen durch den Firewall ebenfalls nicht verhindert werden. Gegen Angriffe interner Benutzer und erfolgreicher Eindringlinge hilft nur die Absicherung der einzelnen Rechner. Die ständige Überwachung und Anpassung des Firewalls ist nötig, um neuartige Attacken verhindern zu können. Es ist nicht möglich, den Firewall von vornherein so zu konfigurieren, daß er sämtliche Einbruchsmöglichkeiten verhindert. Eine restriktive Freigabe von Diensten kann viele Angriffe verhindern, aber nicht alle Lücken schließen. Nur durch die ständige Kontrolle der Protokolldateien und die Analyse von Einbruchsversuchen können Firewalls Sicherheit bieten. Ein Firewall kann nur eingeschränkt vor Viren schützen. Da es viele verschiedene Möglichkeiten der Versendung von Programmcode gibt (über ftp, E-Mail-Attach, gepackt, …), ist ein automatisches Erkennen von Viren nur sehr eingeschränkt möglich. Einige kommerzielle Firewalls bieten Filter für bestimmte Übertragungsarten, wirkungsvoller ist aber ein Virenscanner, der auf dem Rechner des Benutzers läuft. Dieser kann nicht nur die Viren von Übertragungen aus dem Internet entdecken, sondern kann auch auf andere Weise (private Disketten, …) ins System gelangte Viren finden. Literatur- und Quellenverzeichnis Printmedien [ChZw95]D. B. Chapman; E. D. Zwicky. Building Internet Firewalls. O’Reilly, Sebastopol (CA, USA), 1995[Luck97]N. Luckhardt. „Schwer entflammbar“. c’t Magazin für Computertechnik. Verlag Heinz Heise, Hannover, April 1997[LuSc97]N. Luckhardt, J. Schmidt. „Trau, schau, wem!“. c’t Magazin für Computertechnik. Verlag Heinz Heise, Hannover, Juni 1997[Mraz97]V. Mraz. „Welches Schweinderl hätten’s denn gern?“. c’t Magazin für Computertechnik. Verlag Heinz Heise, Hannover, Juni 1997Elektronische Dokumente [URL-1]U. Ellermann, Stand 1994/95 (zuletzt gesichtet am 3.2.1998) http://www.cert.dfn.de/team/ue/fw/workshop/[URL-2]M. Ranum, Stand 1995 (zuletzt gesichtet am 3.2.1998) http://www.clark.net/pub/mjr/pubs/fwfaq/[URL-3]DFN-CERT, Stand 1997 (zuletzt gesichtet am 3.2.1998) http://www.fwl.dfn.de/fwl/fw/fw-prod.html[URL-4]S. Strobel, Stand Mai 1997 (zuletzt gesichtet am 3.2.1998) http://www.centaur.de/Internet/Sicherheit/fw/tsld069.htm[URL-5]DEC, Stand 1997 (zuletzt gesichtet am 27.1.1998) http://avsoft6.pa-x.dec.com/msg/firewall/products/techview/[URL-6]Siemens-Nixdorf, Stand Juli 1997 (zuletzt gesichtet am 3.2.1998) http://www.sbs.at/is/services/secpreis.htm[URL-7]oops GmbH, Stand 1995/96 (zuletzt gesichtet am 27.1.1998) http://www.freising-pop.de/tarife/tar_dien.html[URL-8]Data Communcations Magazine, Stand November 1995 (zuletzt gesichtet am 27.1.1998) http://www.data.com/Lab_Tests/Firewall.html[URL-9]Data Communications Magazine, Stand März 1997 (zuletzt gesichtet am 27.1.1998) http://www.data.com/lab_tests/firewalls97.html[URL-10]G. W. Treese, A. Wolman, Stand Mai 1993 (zuletzt gesichtet am 3.2.1998) http://www.alw.nih.gov/ Security/FIRST/papers/firewall/xthrufw.ps  Electronic Commerce Rouven Fröleke Einführung Zur Zeit bietet das Internet ein schier unerschöpfliches Angebot an Informationen, welche größtenteils kostenlos und ohne Gegenleistungen abrufbar sind. Bis zur selbstverständlichen und kommerziellen Nutzung des Internets als universelles Handelssystem für Waren und Dienstleistungen aller Art sind allerdings noch viele Hürden zu nehmen. Neben der noch mangelhaften Akzeptanz dieses Mediums in breiten Bevölkerungsschichten ist u.a. das Fehlen eines einheitlichen und universellen Zahlungssystems ein Grund für diese Situation. Viele Konzerne und Informationstechnologie-Unternehmen haben diese Problematik erkannt und versuchen nun, mit ihren neu entwickelten Zahlungssystemen diese äußerst lukrative Marktlücke zu füllen. Der elektronische Handel (Electronic Commerce) wird den Charakter des Internets stark verändern, womit jedoch nicht zwangsläufig negative Veränderungen gemeint sein müssen - die professionelle Kommerzialisierung kann durchaus positiven Einfluß auf den Inhalt der publizierten Angebote haben (z.B. durch gründlicher recherchierte Informationen). In diesem Seminarbeitrag sollen die Grundlagen von internetfähigen Zahlungssystemen erläutert und einige bereits realisierte Konzepte vorgestellt werden. Grundlagen elektronischer Zahlungssysteme Für eine Klassifizierung und Bewertung der aktuell entwickelten Zahlungssysteme, ist eine kurze Einführung in die Grundlagen des elektronischen Zahlungsverkehrs zwingend notwendig. Es soll ein Überblick über die wichtigsten Eigenschaften elektronischer Zahlungssysteme und die in ihnen verwendeten Basiskonzepte gegeben werden. Eigenschaften elektronischer Zahlungssysteme Elektronische Zahlungssysteme haben eine Vielzahl von Eigenschaften und Voraussetzungen zu erfüllen, um den Anforderungen des elektronischen Zahlungsverkehrs zu genügen. Als wichtigste Eigenschaften lassen sich sicherlich die Schutzvorrichtungen gegen Betrug, Vortäuschung nicht erfolgter Zahlungen oder Mißbrauch von Transaktionsdaten nennen, da insbesondere im Internet der Faktor Sicherheit eine äußerst wichtige Rolle für die Akzeptanz der Zahlungssysteme spielt. In diesem Zusammenhang sind auch die Kosten der Zahlungssysteme als wichtiger Faktor einzustufen, da sich z.B. nicht alle Zahlungssysteme für alle Transaktionen nutzen lassen (Mikro- und Makrozahlungen). Aufgrund der Komplexität des Themas und dem eher technischen Themenbereich des Seminars, wird auf rechtliche Aspekte in diesem Seminarbeitrag nicht eingegangen. In [SFE97] ist eine Auflistung von Quellen zu diesem Themenbereich enthalten. Sicherheit Die sichere Übertragung der kritischen Daten einer Finanztransaktion ist eine maßgebliche Voraussetzung für die Akzeptanz eines Zahlungssystems im Internet. Ein marktfähiges Zahlungssystem muß vor betrügerischen Aktionen wie Mitschneiden, Umleiten, Vortäuschen und Manipulieren von Transaktionsdaten sicheren Schutz bieten [FuWr97; Kapitel 2]. Ein möglicher Ansatz um den o.g. Mißbrauchsmöglichkeiten entgegenzuwirken ist der Aufbau einer isolierten Übertragungsinfrastruktur. Diese kostspielige und aufwendige Variante wird z.B. für die Kommunikation zwischen Banken und militärischen Einrichtungen benutzt. SWIFT (Society for Worldwide Interbank Financial Transactions) ist ein gutes Beispiel für ein solches isoliertes Netzwerk [Reif96]. Wenn jedoch private Finanztransaktionen und Erwerbsvorgänge über das Internet abgewickelt werden sollen, bleibt nur die Realisierung der Übertragungssicherheit durch kryptographische Verfahren und Methoden. Bei kryptographischen Verfahren zur sicheren Nachrichtenübertragung bzw. der Nachrichtenverschlüsselung lassen sich zwei Grundtypen feststellen [SFE97]: symmetrische Verfahren und asymmetrische Verfahren. Symmetrische Verfahren kodieren und decodieren ein Nachricht stets mit dem gleichen Schlüssel, was bedeutet, daß sowohl Empfänger als auch Sender diesen Schlüssel kennen müssen. Der Austausch dieses Schlüssels muß vor der eigentlichen Nachrichtenübertragung über einen sicheren Kanal erfolgen. Genau dieses Vorgehen stellt jedoch im unsicheren Internet ein schier unlösbares Problem dar, da ein sicherer Kanal nur über andere (sichere) Netze, Kuriere oder aber persönliche Treffen realisiert werden kann. Einer der größten Vorteile der symmetrischen Verschlüsselung ist die relativ geringe Rechenleistung, die zum Kodieren bzw. Decodieren von Nachrichten benötigt wird. Ein weit verbreitetes symmetrisches Verschlüsselungsverfahren stellt das amerikanische DES Verfahren dar ( = DEA-1-Verfahren ), welches auch in aktuellen Zahlungssystemen praktische Anwendung findet (s.u.). Das wohl bekannteste asymmetrische Verschlüsselungsverfahren ist das von Ron Rivest, Adi Shamir und Leonard Adleman entwickelte RSA-Verfahren. Das besondere bei diesen Verfahren ist die Verwendung unterschiedlicher Schlüssel zur Kodierung und Dekodierung der zu übertragenden Nachrichten. Zur Verschlüsselung wird der sogenannte öffentliche Schlüssel des Kommunikationspartners verwendet, der z.B. auf sogenannten Schlüsselservern via WWW publiziert wird. Die so verschlüsselte Nachricht kann nur mit dem (geheimen) privaten Schlüssel des Kommunikationspartners dekodiert werden. Die Rechenzeit dieser Verfahren ist allerdings deutlich höher als die der symmetrischen Verfahren, weshalb sie sich zur Kodierung umfangreicher Nachrichten nur bedingt eignen. Um diesen Nachteil auszugleichen, verwenden moderne Zahlungssysteme wie z.B. SET eine Kombination der o.g. Verfahren, die sogenannten hybriden Verfahren. Hybride Verfahren benutzen sowohl symmetrische, als auch asymmetrische Verschlüsselungsverfahren zur sicheren Nachrichtenübertragung. Das asymmetrische Verfahren wird hierbei nicht zur Kodierung der eigentlichen Nachricht benutzt, sondern lediglich um einen sicheren Kanal für die Übertragung des zur eigentlichen Kodierung verwendeten symmetrischen Schlüssels zu ermöglichen. Eine weitere wichtige Eigenschaft von sicheren Übertragungsverfahren ist die mögliche Authentifizierung der Kommunikationspartner. Hierbei ist allerdings eine wechselseitige Beziehung mit der später noch erläuterten Eigenschaft der Anonymität zu beachten. Durch Authentifizierungsverfahren ist es möglich, die Identität eines oder beider Kommunikationspartner eindeutig festzustellen. Dies ist z.B. notwendig, um Kaufverträge rechtsgültig zu unterzeichnen oder Liquiditätsnachweise bei übergeordneten Instanzen einholen zu können. Auch setzten einige Zahlungssysteme die Identifizierung vor der Verwendung elektronischer Geldbörsen (Wallets) voraus [FuWr97] [RiKo97]. Gängige Verfahren zu Authentifizierung sind u.a.: PIN-Nummern Paßwortsysteme Netzwerkprotokolle elektronische Unterschriften PIN-Nummern und Paßwortsysteme gelten als relativ unsicher, da durch geschickte Ausnutzung menschlicher Schwächen deren Sicherheitspotential drastisch gesenkt werden kann. Als weit verbreitetes Beispiel läßt sich die Verwendung personifizierter PIN’s bzw. Paßwörter nennen (Namen von Angehörigen als Paßwort, Telefonnummer als PIN etc.). Bei PIN-Systemen kommt zusätzlich eine relativ geringe Anzahl von möglichen Kombinationen zum Tragen, wodurch die Wahrscheinlichkeit von Zufallstreffern gegenüber anderen Systemen erhöht wird. Die o.g. asymmetrischen Verschlüsselungsverfahren bieten jedoch die Möglichkeit, die aus der „realen“ Welt bekannten Unterschriften in abgewandelter bzw. elektronischer Form in Internet-Zahlungssystemen zu verwenden. Das heutige Kreditkartensystem benutzt handgeschriebene Unterschriften als Authentifizierungsnachweis – warum also nicht ein bewährtes System in „modernisierter“ und verbesserter Form einsetzen. Der zu übertragenden Nachricht wird hierbei eine elektronische Unterschrift (Signatur) hinzugefügt, die einen eindeutigen Bezug zwischen Absender und Nachricht herstellt. Dazu ist es notwendig, daß der Absender die Nachricht mit seinem bereits privatem Schlüssel kodiert. Der Empfänger kann nun diese „Unterschrift“ mit dem öffentlichen Schlüssel des Absenders dekodieren und mit der eigentlichen Nachricht (mit seinem öffentlichen Schlüssel kodiert) vergleichen. Er weiß nun, daß die Nachricht tatsächlich von dem Besitzer des öffentlichen Senderschlüssels stammt. Zusätzlich wird so das Problem der Integrität der Nachricht gewährleistet, da eine nachträgliche Manipulation der übertragenden Daten beim Vergleich mit der Signatur auffallen würde. Um den Rechen- und Übertragungsaufwand zu minimieren wird allerdings nicht die gesamte Nachricht signiert, sondern lediglich eine daraus berechnete Prüfsumme („message digest“). Diese Prüfsumme wird mittels einer Hash-Funktion aus der Nachricht berechnet. Die Wahrscheinlichkeit zwei identische Prüfsummen aus unterschiedlichen Nachrichten zu erzeugen ist dabei möglichst niedrig zu halten. Als gängige Algorithmen sind z.B. MD5, MD4, SHA-1 und CS4 zu nennen.  Abb. 1: Digitale Signaturen Ein weiteres Problem bei der Authentifizierung ist die eindeutige Verbindung zwischen öffentlichem Schlüssel und Schlüsselinhaber. Ein Betrüger kann sich z.B. durch Spoofing in die Kommunikation einschalten und einen falschen (von ihm erzeugten) Schlüssel weitergeben. Sämtliche Kommunikation über den so entstandenen (zwar sicheren) Kanal wird nun unbemerkt mit dem Betrüger geführt. Um dieses zu verhindern, gibt es die Möglichkeit, Schlüsselpaare (öffentlich&privat) von einer anerkannten Zertifizierungsstelle beglaubigen zu lassen, um so der willkürlichen Schlüsselerzeugung entgegenzuwirken. Diese Zertifizierungsstellen (Trust-Center, CA = certification authority) überprüfen die Identität des Schlüsselinhabers vor Erteilung der Beglaubigung (digitale Signatur des Schlüssels) durch einen sicheren Kanal. In Zukunft kommen z.B. auch staatliche Institutionen für solche Aufgaben in Frage. Die Kommunikationspartner können die erhaltenen öffentlichen Schlüssel nun mit Hilfe der (bekannten) öffentlichen Schlüssel der Zertifizierungsstellen vor der Benutzung auf ihre Echtheit prüfen [SFE97]. Offline-Fähigkeit Eine weitere Eigenschaft von elektronischen Zahlungssysteme ist die potentielle Offline-Fähigkeit. In reinen Internet-Zahlungssystemen ist deren Relevanz allerdings eingeschränkt und hauptsächlich beim Problem der Skalierbarkeit zu beachten. Ein offline-fähiges Zahlungssystem kann Betrugsabsichten und Manipulationen ohne ständige Anbindung an eine kontrollierende Instanz entdecken und verhindern (ggf. verzögerte Entdeckung). Als Beispiel kann hier das später beschriebene, allerdings nicht praktisch umgesetzte „Universal Electronic Cash“ (UEC) dienen. Anonymität Bei Zahlungsvorgängen ist die oben erläuterte Authentifizierung nicht immer eine gewünschte Eigenschaft. Banken könnten die laufenden Zahlungsvorgänge automatisch sammeln und auswerten – der gläserne Kunde ist entstanden. Bei Kreditkartenzahlungen unvermeidlich, gibt es z.B. bei bargeldähnlichen Systemen durchaus Möglichkeiten die Zahlung anonym, aber trotzdem sicher abzuwickeln. Das aktuell in Pilotprojekten laufende und später erklärte System „ECash“ der Firma DigiCash benutzt ein Verfahren namens „blinding“, um die Anonymität der Zahlungspartner geheim zu halten. Unabstreitbarkeit Die Eigenschaft der Unabstreitbarkeit eines Zahlungssystems gibt sowohl Kunden, als auch Händlern die Möglichkeit, erfolgte Transaktionen nachweisen zu können. Dies kann bei betrügerischen Absichten eines Transaktionspartners notwendig werden. Transaktionskosten Zur kommerziellen Nutzung eines Zahlungssystems sind die Betriebskosten möglichst gering zu halten. Die Betriebskosten eines Zahlungssystems ergeben sich im allgemeinen aus den Anschaffungskosten, den Fixkosten und den (variablen) Transaktionskosten. Durch ihre Struktur bedingt eignen sich nicht alle Zahlungssysteme für alle Arten von Zahlungen. Grundsätzlich unterscheidet man in diesem Zusammenhang zwischen Mikrozahlungen und Makrozahlungen. Bei Mikrozahlungen (Transaktionen bis ca. 5-10 DM) ist darauf zu achten, daß die Transaktionskosten des Zahlungssystems nicht überproportional hoch angesetzt sind und so das Zahlungssystem unwirtschaftlich machen. Andererseits dürfen denjenigen Händlern, welche das elektronische Zahlungssystem nicht allzu intensiv nutzen, keine allzu großen Anschaffungs- und Fixkosten zugemutet werden, um so eine entsprechende Verbreitung des Systems zu fördern. Generell kann man sagen, daß sich Kreditkartensysteme nicht für Mikrozahlungen eignen, da deren Transaktionskosten durch den Aufwand für Buchung, Kommunikation und Verwaltung unwirtschaftlich hoch anzusetzen sind [SFE97; Kap. 4.3]. Zusätzlich zu den Mikro- und Makrozahlungen, ist häufig auch die Rede von sogenannten Pikozahlungen, mit denen Transaktionen von Transaktionswerten unterhalb eines Pfennigs realisiert werden sollen, welche z.B. bei der seitenorientierten Abrechnung von WWW-Seiten anfallen könnten. Im Zusammenhang mit den Transaktionskosten ist natürlich auch die zu erwartende notwendige Rechenleistung für Kodierung- und Dekodierungsvorgänge zu beachten, welche durch die Anwendung entsprechender Verfahren möglichst gering gehalten werden sollte (RSA, DES, Hashfunktionen). Skalierbarkeit Ein gut skalierbares Zahlungssystems stellt durch seinen Systemaufbau sicher, daß im Extremfall beliebige Teilnehmerzahlen möglich sind und keine technischen Flaschenhälse und Beschränkungen eben diese Skalierbarkeit einschränken. Nicht offline-fähige Zahlungssysteme (z.B. ECash) sind hierbei besonders zu beachten, da diese Systeme auf Kontrollfunktionen einer übergeordneten Instanz angewiesen sind, deren maximale Leistungsfähigkeit ggf. durch technische Aspekte (Netzanbindung, Rechnerleistung, hohe Benutzerzahl) eingeschränkt wird. Bedienbarkeit Analog zur „normalen“ Anwendersoftware müssen die Benutzeroberflächen von Zahlungssystemen adressatengerecht konzipiert werden. Der Zahlungsvorgang muß sowohl für den Händler, als auch für den Kunden transparent und verständlich gestaltet werden. In diesem Zusammenhang müssen alle relevanten Aktionen (Bestellung der Ware, Einleiten der Zahlung, Quittung bzw. Ablehnung) offensichtlich sein und niemals unbemerkt ausgelöst werden können. Generell ist in noch stärkeren Maße als bei anderen Softwareprodukten auf einfache Bedienbarkeit zu achten, da eine breite (nicht technisch orientierte) Benutzerschicht angesprochen werden soll und der Erfolg des Systems in großem Maße von der Akzeptanz dieser Benutzerschicht abhängt. Akzeptanz Bei der Akzeptanz ist zwischen der o.g. Akzeptanz durch Endbenutzer und der Akzeptanz des Zahlungssystems als Währungsersatz zwischen Kreditinstituten zu unterscheiden. In [FuWr97] wird Akzeptanzfähigkeit als die „Eigenschaft eines Zahlungssystems, überall angenommen zu werden“ ([FuWr97; S.23]) definiert. Gerade im Bereich der Internetzahlungen spielt dieser Faktor eine wesentliche Rolle, da nationale Grenzen und Währungssysteme „verwischen“ und möglicherweise in naher Zukunft eine eher untergeordnete Rolle spielen (Beispiel: heutige Kreditkartentransaktionen). Die gegenseitige Akzeptanz (elektronischer) Transaktionen kann z.B. durch sogenannte „Clearing-Center“ erfolgen, welche als anerkannte Vermittler zwischen beiden Banken operieren. Basiskonzepte für Zahlungssysteme in Internet Die meisten Autoren unterscheiden zwischen zwei grundsätzlichen Kategorien von Internet-Zahlungssystemen [Reif96] [RiKo97]: Systeme auf Kreditkartenbasis und elektronisches Bargeld oder „bargeldähnliche“ Systeme. Bei diesen Systemen wird versucht, ein elektronischen Abbild konventioneller und herkömmlicher Verfahren zu entwickeln (bei Bargeldsystemen mit eher mäßigem Erfolg). Kreditkartensysteme benutzen beispielsweise die bereits seit Jahren erprobte und bewährte Infrastruktur zu Kreditkartenabrechnung - lediglich die Übertragung der Transaktionsdaten wurde an das Internet angepaßt. Als weitere Kategorie kann man noch Systeme auf Basis von Kundenkonten hinzunehmen, welche zumindest zur Zeit noch eine relativ große Verbreitung finden (z.B. T-Online, First Virtual, AOL) [SFE97; Kap. 4]. Bei diesen Systeme führt z.B. ein Online-Dienst-Anbieter ein Benutzerkonto, dessen Beträge mit der normalen Online-Rechnung beglichen werden. Dieses Verfahren ist allerdings auf Transaktionen zwischen Teilnehmern des entsprechenden Systems beschränkt. Auf die auch noch verbreiteten Zahlungsverfahren „Rechnung“ und „Lastschrift“ soll in diesem Seminarbeitrag nicht eingegangen werden, da diese kein eigenständiges Zahlungssystem darstellen, sondern das Internet lediglich als reines Bestellmedium verwenden (vergleichbar mit Bestellungen via Fax und Telefon). Im folgenden sollen nun die unterschiedlichen Eigenschaften der verschiedenen Kategorien erläutert werden, um dann im weiteren Verlauf einen Überblick über aktuelle Systeme zu geben und einige dieser Systeme detaillierter zu diskutieren. Kontosysteme Zahlungssysteme auf der Basis von Kundenkonten befinden seit vielen Jahren sich in geschlossenen Systemen im praktischen Einsatz (z.B. T-Online) und finden seit einiger Zeit auch im offenen und „unsicherem“ Internet Anwendung (z.B. First Virtual). Der Betreiber eines solchen Systems führt demnach ein virtuelles Konto für jeden Netzteilnehmer, dessen Salden in regelmäßigen Abständen über konventionelle Zahlungssysteme (im Falle T-Online die Telefonrechnung) beglichen werden müssen. Sämtliche Teilnehmer eines solchen Systems können sowohl als Kunde, als auch als Händler auftreten (letzteres ggf. gegen zusätzliche Gebühren). Durch die effiziente Verwaltung der Konten durch nur einen Systembetreiber und der Sammlung von Transaktionen zur periodischer Abrechnung, eignen sich solche Zahlungssysteme sehr gut für die Zahlung von Kleinstbeträgen, wie sie im Internet z.B. bei seitenorientierten Abrechnungen auftreten können. Durch diese Konzeption fallen nur relativ geringe Kosten für Kommunikation, Prüfung und Buchung der elektronischen Transaktionen an. Als beteiligte Interessengruppen treten bei solchen Systeme Kunden, Händler, Banken und Systembetreiber auf, wobei dem Systembetreiber eine zentrale Funktion zukommt. Händler und Kunde müssen vor der Transaktion in einem festen Vertragsverhältnis zum Systembetreiber stehen, demnach ist das Zahlungssystem auf einen geschlossenen und abgegrenzten Benutzerkreis eingeschränkt. „Spontane“ Kaufvorgänge systemfremder Kunden sind nicht zu realisieren, da Identitäts- und Bonitätsprüfungen nicht kurzfristig durchzuführen sind. Kreditkartensysteme Die wohl ältesten Zahlungssysteme im Internet sind die Zahlungssysteme auf Kreditkartenbasis. Kamen die ersten Systeme noch gänzlich ohne Schutzmechanismen aus, so werden an heutige Systeme hohe Anforderungen bezüglich der Sicherheit gestellt – kein Kunde schickt sensible Transaktionsdaten wie z.B. seine Kreditkartennummer guten Gewissens über eine ungesicherte Internet-Verbindung. Um von vornherein Mißverständnissen vorzubeugen: Kreditkartensysteme im Internet sind keine Zahlungssysteme im engeren Sinne, da hierbei das Internet lediglich eine einleitende Funktion besitzt und diese bestehenden Systeme lediglich um einige zusätzliche Funktionen ergänzt. Im Gegensatz zu den hier nicht behandelten Rechnungen und Lastschriften, bilden diese Systeme allerdings einen wichtigen Stützpfeiler für den nationalen und internationalen Handel im Internet. Großen Anteil daran hat sicherlich die bewährte, währungsunabhängige und weltweit zur Verfügung stehende Infrastruktur der Kreditkartenkartenanbieter. Im wesentlichen erweitern diese Systeme die bestehende Infrastruktur nur um ein weiteres Medium zur Übertragung der Transaktionsinformationen, analog zur schriftlichen oder telefonischen Bestellung von Waren und Dienstleistungen – dem Internet. Als beteiligte Interessengruppen lassen sich hierbei Kunde, Händler, Banken und Kreditkarteninstitutionen ausmachen. Ein Systembetreiber wie bei den Kontosystemen ist nicht zwingend erforderlich (auch wenn aktuell realisierte Systeme ähnlich „vertrauenswürdige“ Institutionen voraussetzen – die z.B. von SET geforderten Zertifizierungsstellen und payment gateways sind gute Beispiele dafür). Ein Schwerpunkt bei der Entwicklung von Kreditkartensystemen im Internet ist sicherlich die Gewährleistung der sicheren Übertragung der sensiblen Transaktionsdaten, wie z.B. Kreditkarteninformationen, Transaktionswerte und Identifikationsdaten der Beteiligten. Kreditkartensysteme bieten systembedingt nicht die Möglichkeit der anonymen Bezahlung, was sie für bestimmte Anwendungen unattraktiv macht. Wie bereits erwähnt, eignen sie sich auch nicht für die im Internet anfallenden Mikrozahlungen, da die Kosten solcher Transaktionen schlichtweg zu hoch sind. Ein weiterer Nachteil ist die notwendige Vertragsbindung zwischen einem potentiellen Händler und dem Kreditkarteninstitut, was die Nutzung für Transaktionen zwischen Privatpersonen ausschließt. Kreditkartensysteme können also nicht als universelles Zahlungssystem betrachtet werden, doch trotz aller Nachteile werden sie durch ihren vielfältigen Anwendungsbereich und der vorhandenen Infrastruktur sicherlich einen großen Marktanteil im elektronischen Handel erreichen. Viele Konzepte zur Nutzung von Kreditkarten im Internet wurden bereits realisiert. Angefangen von der Entwicklung sicherer Übertragungsprotokolle wie z.B. SSL und SHTTP, über spezielle Finanztransaktionsprotokolle und Implementierungen wie SET, bis hin zum bereits erprobten und integriertem System CyberCash. Bargeldsysteme Auch bei den nun beschriebenen Bargeldsystemen treten als notwendige Institutionen nur Kunden, Händler und Banken auf, allerdings ergänzen viele Umsetzungen dieser Systeme diese – analog zu den Kreditkartensystemen – um weitere Institutionen. Bei der Entwicklung bargeldähnlicher Zahlungssysteme sind einige systembedingte Probleme zu lösen: Zum einen ist durch entsprechende Maßnahmen ein Kopieren der elektronischen Münzen bzw. deren Mehrfachverwendung zu verhindern, anderseits sollten die dabei angewendeten Verfahren möglichst geringen Einfluß auf die Skalierbarkeit und Offline-Fähigkeit haben. Ebenso wäre eine Teilbarkeit der elektronischen Münzen wünschenswert, um so auch eine weniger gezielte Verwendung der Münzen zu ermöglichen. In [FuWr97] wird eine Klassifizierung in Einweg-Token-Systeme und Mehrweg-Token-Systeme vorgenommen. Einweg-Token-Systeme sind bargeldähnliche Zahlungssysteme, deren charakteristische Eigenschaft die nur einmalige Nutzung eines Tokens bzw. einer elektronischen Münze ist. Bei Mehrweg-Token-Systemen kann ein Token beliebig häufig zwischen Benutzern des Systems weitergegeben werden, ohne daß eine übergeordnete Instanz dessen Gültigkeit und Echtheit ständig bestätigen muß. Diese, bislang echtem Bargeld vorbehaltene Eigenschaft, läßt sich bis heute allerdings technisch nicht vollständig realisieren. Ein erwähnenswerter Ansatz ist z.B. die Koppelung eines Tokens mit einem Transaktionsprotokoll. Jede Transaktion wird protokolliert und dem neuen Besitzer automatisch mit übergeben. Bei Mehrfachverwendung oder sonstigem Mißbrauch kann die Bank dieses Transaktionsprotokoll entschlüsseln und so den Betrüger identifizieren. Der Nachteil dieses Konzeptes ist offensichtlich: Bei jeder Transaktion nimmt die Größe des Tokens (bzw. des Transaktionsprotokolls) zu, so daß eine Übertragung des Tokens unverhältnismäßig hohe Kosten verursachen würde. Diese (und viele weitere) Probleme haben dazu geführt, daß keines der zur Zeit verfügbaren Systeme in der Lage ist, alle Eigenschaften „echten“ Bargelds nachzuahmen bzw. zu implementieren. Man kann all diese Systeme deshalb lediglich als „bargeldähnliche“ Systeme bezeichnen. Bargeldähnliche Systeme haben gegenüber Kreditkartensystemen den Vorteil, Mikrozahlungen und anonyme Zahlungen wirtschaftlich abwickeln zu können, wodurch sie für viele Anwendungsfälle im Internet prädestiniert sind. Kleinhändler und private Verkäufer werden auf jeden Fall von diesen Systemen profitieren, da ihnen nun das Internet als „neuer Markt“ zur Verfügung steht – feste Verträge mit z.B. Kreditkarteninstituten sind nicht notwendig. Beispiele für Zahlungssysteme im Internet Im nun folgenden Kapitel soll eine Übersicht über aktuelle Ansätze, Prototypen und bereits kommerziell genutzte elektronische Zahlungssysteme gegeben werden. Den o.g. Kategorien werden einige Beispiele zugeordnet, wobei jeweils einige ausgewählte Beispiele detaillierter vorgestellt werden. Kontosysteme Die klassischen Systeme auf Basis von Kundenkonten sind wohl die Online-Dienste der großen Online-Anbieter wie z.B. AOL, CompuServe und T-Online. Im Internet findet man bereits Umsetzungen dieser Konzepte in Form von geschlossenen Systemen (z.B. „DOWNTOWN-Anywhere“, [URL-1]). Diese, zwar im Internet präsentierten Dienste, stellen ihr volles Leistungsspektrum lediglich einem geschlossenen Benutzerkreis zur Verfügung. Eine eher ungewöhnlich Umsetzung von Kontosystemen findet man bei dem weit Verbreiteten Zahlungssystem First Virtual, welches gänzlich ohne Verschlüsselungsverfahren auskommt. Online-Dienste Die großen Online-Dienste bieten neben dem obligatorischen Internet-Zugang auch eigene, geschlossene Bereiche an, in denen Kunden und Händlern Gelegenheit gegeben wird, ohne großen Aufwand Geschäfte zu tätigen. Der Erwerb der dort angebotenen Waren und Dienstleistungen steht allerdings nur Mitgliedern des entsprechenden Online-Dienstanbieters zur Verfügung. Ein großer Vorteil dieser Systeme ist die Möglichkeit für Kleinhändler und Privatpersonen als Händler aufzutreten und so die Vorteile des elektronischen Handels zu nutzen. Die Sicherheit in diesen geschlossenen Systemen wird meist durch proprietäre Netzwerke gewährleistet (z.B. CEPT), wodurch potentielle Angriffe von betrügerischen und anonymen Internet-Benutzern unmöglich gemacht werden. Der eigentliche Abrechnungsvorgang wird durch das bereits vorhandene Abrechnungssystem bewerkstelligt, wodurch die Transaktionskosten solcher Systeme auf extrem niedrigem Niveau gehalten werden – es entsteht kein Mehraufwand für den Betreiber. Diese Abrechnungsmodalitäten verlangen allerdings eine vollständige Protokollierung aller Transaktionen durch den Betreiber. Anonyme Transaktionen sind also nicht möglich – einer Erstellung und Vermarktung von Kundenprofilen steht nichts mehr im Wege (gesetzliche Regelungen ausgenommen). Äußerst kritisch wird dieses Konzept bei einer zentralistischen Organisationsstruktur, wie sie z.B. von CompuServe betrieben wird. Ein solches System macht eine mögliche Auswertung des Datenbestandes in Verbindung mit z.B. Data-Mining-Systemen noch effizienter. Ein erheblicher Nachteil dieser Systeme ist die nur schwierig zu realisierende Ausdehnung auf das Internet, da hierbei viele Sicherheitsaspekte zu berücksichtigen und zu bewältigen sind. Es werden zur Zeit z.B. von T-Online Anstrengungen unternommen, zumindest Teile der proprieträren Bereiche im Internet zu präsentieren (CEPT-„Plug-In“). Geschlossene Systeme Eine direkte Umsetzung der o.g. Systeme im Internet findet man bei den sog. „geschlossenen Marktplätzen“ vor. Der hauptsächliche Unterschied besteht in den verwendeten Zugangsmechanismen zu diesen virtuellen Marktplätzen. Häufig kommen hier Paßwort oder PIN-Systeme zum Einsatz. In [SFE97] wird das Konzept des Systembetreibers „DOWNTOWN-Anywhere“ vorgestellt, welcher auf diesem Wege seinen Mitgliedern die Möglichkeit bietet, konventionelle Kreditkartensysteme und ein eigenes Abrechnungssystem für Mikrozahlungen zu nutzen. Das eigene Abrechnungssystem basiert auf einer PIN-basierten Bezahlung durch Kundenkonten mit monatlicher Abrechnung. Benutzern dieses geschlossenen Marktplatzes stehen alle dort angebotenen Waren und Dienstleitungen zur Verfügung. Durch die Präsentation im Internet, haben auch Nicht-Mitglieder Zugang zu dem System, allerdings stehen Ihnen u.a. die Abrechnungssysteme (und damit die Möglichkeit zum Erwerb von Waren oder Dienstleistungen) nicht zur Verfügung. First Virtual Ein eher ungewöhnliches Konzept verfolgt der Systembetreiber von „First Virtual“. Das System kommt gänzlich ohne Verschlüsselungsverfahren aus. Kunden registrieren sich per Telefon und hinterlegen auf diesem „sicheren“ Kanal ihre Identifikations- und Kreditkarteninformationen. Der eigentliche Kaufvorgang wird anschließend ausschließlich über Email abgewickelt. Der Systembetreiber ermöglicht gegen eine Gebühr jeder Person Händleraktivitäten zu führen. Ablauf einer typischen Transaktion: Der Kunde gibt via Internet seine Bestellung beim Händler auf. Der Kunde authentifiziert sich dabei durch seine persönliche PIN („VirtualPIN“). Der Händler reicht die erhaltenen Transaktionsinformationen an „First Virtual“ weiter. Der Systembetreiber kontaktiert den Kunden per Email, um sich die Transaktion betätigen zu lassen. Der Systembetreiber wartet auf die Reaktion des Kunden: Falls der Kunde nicht antwortet, so verweigert er die Transaktion. Zeigt der Kunde einen Betrug an, so löst er das Konto des Kunden auf und sperrt die zugehörige PIN. Anschließend bietet er dem Kunden die Option an, ein neues Konto zu eröffnen. Verweigert der Kunde die Transaktion, so wird dieses protokolliert – bei zu vielen Verweigerungen wird das Konto aufgelöst. Bestätigt der Kunde die Transaktion, so erfolgt die Buchung auf das Kundenkonto und die Benachrichtigung des Händlers, damit dieser seine Leistung erbringen kann. Der Saldo des Kundenkontos wird monatlich über die Kreditkarte des Kunden beglichen. Als zusätzliche Sicherheitsmaßnahmen dienen ein monatlicher Wechsel der PIN und eine „Geld-zurück-Garantie“ zu Lasten des Händlers. Ein maßgeblicher Schwachpunkt des Systems sind die Email-basierten Transaktionen, die potentiellen Betrügern das Abfangen und Täuschen von Daten relativ einfach machen. Ein Betrug in gewissen Dimensionen wird so bewußt einkalkuliert. Nachteilig sind auch die relativ hohen Transaktionskosten anzumerken, die durch den hohen Kommunikationsbedarf und zeitlichen Aufwand einer Transaktion ausgelöst werden. Die Systembetreiber von „First Virtual“ protokollieren sämtliche Transaktionen ihrer Kunden, um so ein Benutzerprofil anzufertigen und dieses kommerziell zu vermarkten. Kreditkartensysteme Die ersten Implementierungen zur sicheren Kreditkartenanwendung im Internet basierten auf der reinen Bereitstellung eines sicheren Kanals, welcher zur Übertragung der sensiblen Transaktionsdaten genutzt wurde bzw. wird. Die sicheren Übertragungsprotokolle SSL und SHTTP gehören z.B. in diese Kategorie. Integrierte Systeme, wie z.B. das verbreitete CyberCash-System, bieten jedoch deutlich mehr als sichere Übertragungskanäle – sie realisieren eine marktfähige und kommerziell einsatzfähige Oberfläche zur elektronischen Nutzung von Kreditkarten. Als Finanztransaktionsprotokoll könnte man das relativ neue SET (Secure Electronic Transaction) bezeichnen, welches aus einer Kooperation der an dessen Vorgängern SEPP und STT beteiligten Firmen und Institutionen entstanden ist (MasterCard, VisaCard, Microsoft, Netscape, IBM, CyberCash, VeriSign, American Express u.a.m.) Dieses System bietet eine sichere Übertragung von speziell auf den elektronischen Dienstleistungs- und Warenverkehr abgestimmten Dokumenten an. Es ist als offener Industriestandard konzipiert, aber kein vollständiges Zahlungssystem wie z.B. CyberCash. Es wird eine Integration in solche integrierten Systeme angestrebt. Es existieren noch weitere kreditkartenorientierte Systeme auf dem Markt, dessen Konzepte aus Gründen des Umfangs dieser Arbeit allerdings keine Beachtung finden konnten. Dem zuvor erwähnten SET werden zur Zeit aufgrund der mächtigen Kooperationspartner auch die größten Marktchancen eingeräumt. Sichere Übertragungsprotokolle Eine mögliche Anwendung sicherer Übertragungsprotokolle ist die Übertragung sensibler Transaktionsdaten in kommerziellen Internet-Anwendungen. Die wohl bekanntesten Implementierungen sind SSL und SHTTP. SSL arbeitet als Zwischenschicht zwischen Transport und Anwendungsschicht. Es setzt auf die vorhandene Socketschnittstelle auf und erweitert diese um sicherheitsspezifische Funktionen. Durch diese Architektur profitieren auch andere Anwendungen wie z.B. TELNET oder FTP von den bereitgestellten Sicherheitsfunktionen. Das eigentliche Verschlüsselung der Daten erfolgt durch ein hybrides Verschlüsselungsverfahren. Die Kodierung und Dekodierung der Nachricht erfolgt durch einen symmetrischen DES-Schlüssel, wobei die Übertragung des DES-Schlüssels durch das asymmetrische RSA-Verfahren bewerkstelligt wird (s.o.). Die authentische Übertragung und Authentifizierung wird durch Zertifizierung der verwendeten Schlüssel mit Hilfe übergeordneter Instanzen sichergestellt (CA, Trust-Center). Aufgrund von Exportbeschränkungen des RSA-Verfahrens ist die Schlüssellänge allerdings zur Zeit in Europa auf bis zu 40 Bit (Netscape) beschränkt, wodurch die Sicherheitsfunktionen als sehr schwach einzustufen sind. Es bleibt zu hoffen, daß (noch) sichere 128-Bit Schlüssel schnellstens zur breiten Anwendung kommen. Im Gegensatz zu SSL ist S-HTTP kein Zwischenprotokoll, sondern eine reine Erweiterung des HTTP-Protokolls. Es stellt Mechanismen und einheitliche Formate zur Verschlüsselung, Authentifizierung, Signierung und Integritätskontrolle zur Verfügung. Da S-HTTP keinen einheitlichen kryptographischen Standard vorschreibt, lassen sich keine generellen Aussagen über deren Wirksamkeit treffen. Das System schreibt vor, daß sich die beteiligten Systeme auf ein gemeinsames Verschlüsselungsverfahren einigen. Als Basisverfahren bereits implementiert sind z.B. RSA, PEM (Private Enhanced Mail) ,PGP u.a.m.. CyberCash Das CyberCash-System ist eines der wenigen Systeme, die bereits mit einer vollständig implementierten Anwendersoftware aufwarten können. Es stellt im Gegensatz zu den Übertragungsprotokollen und SET ein vollständiges Zahlungssystem dar. Die Systembetreiber des CyberCash-Systems entwickeln seit 1994 Zahlungssysteme für das Internet und sind ebenfalls an der Entwicklung des nachfolgend vorgestellten SET beteiligt. Zur Zeit läuft ein Pilotprojekt in Kooperation mit der Dresdener Bank und der Landesbank Sachsen, das helfen soll, die Marktchancen und Ausgereiftheit des Systems zu beurteilen. Basis des Systems sind spezielle Software-Produkte: die Kundensoftware, die eine elektronische Geldbörse implementiert - das sogenannte Wallet. Dieses enthält verschiedene (virtuelle) Zahlungsobjekte wie z.B. Kreditkarten, Schecks oder Bargeld die Händlersoftware, die eine elektronische Registrierkasse implementiert – das sogenannte Register oder „Secure Merchant Payment System“. Der als Gateway operierende CyberCash-Server stellt eine Verbindung zu den internationalen Finanz-Netzwerken her. Ablauf einer typischen Transaktion: Der Kunde gibt durch drücken der Pay-Taste auf der WWW-Seite des Händlers seine Bestellung auf. Die Händler-Software sendet alle Transaktionsdaten zur automatisch startenden Kunden-Software. Die Kunden-Software überträgt z.B. die bei der Installation des Wallets eingegebenen Kreditkarteninformationen mit Hilfe eines 768 Bit-RSA-Schlüssels an den Händler (demnächst 1024-Bit). Der Händler fügt seine Identitätsinformationen hinzu, sendet die Daten an den CyberCash-Server und wartet auf die Autorisierung der Transaktion. Der CyberCash-Server entschlüsselt die für den Händler nicht lesbaren Kreditkarteninformationen und autorisiert ggf. die Transaktion mit Hilfe des Kreditkartenunternehmens bzw. der zuständigen Bank. Zur Zeit werden die CyberCash-Server in Eigenregie betrieben, in absehbarer Zeit soll allerdings ein Lizenzbetrieb z.B. durch Banken realisiert werden. Nach erfolgreicher Autorisierung durch den CyberCash-Server sendet die Händler-Software eine Quittung zum Kunden und der Händler kann seine Leistung erbringen. Als Ergänzung zum CyberCash-System wird noch die entsprechende Mikropayment-Ergänzung CyberCoin betrieben, die hier jedoch nicht näher erläutert wird. CyberCoin gehört in die Kategorie der bargeldähnlichen Systeme, obwohl es eigentlich kein Bargeld-System, sondern eine Art Buchgeld-System implementiert, bei dem die beteiligten Banken ein Konto über die virtuellen Beträge des Wallets führen und Transaktionen lediglich Umbuchungen auslösen. SET Das im folgenden SET-Verfahren soll demnächst in das gerade beschriebene CyberCash-System integriert werden und als Basis für Kreditkartentransaktionen genutzt werden. SET umfaßt die sichere Abwicklung von Kaufvorgängen, Bestellungen, Quittungen, bis hin zur Spezifikation von Prozeduren zur Zertifikatserteilung und der Struktur der entsprechenden Zertifizierungsstellen. SET ist also eher eine Art Spezifikation oder Richtlinie als ein Zahlungssystem. Es beinhaltet eine Spezifikation der benötigten Dokumenttypen und beschreibt deren Verwendung. Ebenso existieren bereits erste Implementierungen des Verfahrens, welche z.B. den Dokumenten entsprechende Datentypen umfassen. Weitere Informationen zu aktuellen Implementierungen und deren API‘s findet man bei [URL-2] und [URL-3]. Im folgenden soll eine typische Transaktion erläutert werden, die die spezifizierten Vorgänge Bestellung (purchase request), Autorisierung (authorisation request) und Abrechnung (payment capture) verwendet. Innerhalb dieser Vorgänge werden u.a. die folgenden (spezifizierten) Dokumente verwendet: purchase request: initiate request initiate response purchase request purchase response authorisation request: merchant authorisation request payment gateway authorisation response payment capture: capture request capture response In der folgenden beispielhaften Beschreibung einer Transaktion werden die SET-Dokumenttypen in eckigen Klammer („[]“) dargestellt. Bestellung (purchase request): Der Kunde möchte eine Transaktion tätigen und sendet einen [initiate request] and den Händler. Der Händler generiert eine Antwort [payment initiate response] und unterschreibt diese bzw. dessen Nachrichten-Prüfsumme mit seinem privaten Signatur-Zertifikat. Händler und Kunde besitzen bei SET-Transaktionen jeweils zwei Schlüsselpaare – eins zum Signieren und eins zum Verschlüsseln. Der Händler sendet die Antwort [payment initiate response], sein öffentliches Signatur-Zertifikat und das öffentliche Verschlüsselungs-Zertifikat seiner Händler-Bank (payment gateway). Diese drei Objekte ergeben die [initiate response]. Der Kunde überprüft nun beide Zertifikate durch die Signatur einer Zertifizierungsstelle. Der Kunde verifiziert das Händler-Signatur-Zertifikat durch Vergleich mit der neu zu berechnenden Prüfsumme der dekodierten Nachricht und der, mit dem öffentlichen Signatur-Zertifikat des Händlers dekodierten, digitalen Unterschrift. Dadurch wird gewährleistet, daß der Verfasser der Nachricht auch der tatsächliche Inhaber des Zertifikats ist (ein Betrüger könnte sonst z.B. ein fremdes Zertifikat mitschicken).  Legende:  Abb. 2: Bestellung (purchase request) Der Kunde fertigt nun zwei 2 Dokumente an: die Bestellung [order information] und die Zahlungsanweisung [payment information]. Beide werden nun mit einer dualen Signatur signiert, wodurch die Dokumente gegenseitig zugeordnet werden. Zur späteren Verifikation enthält die Bestellung die Prüfsumme der Zahlungsanweisung. Die [pament information] wird anschließend mit einem zufällig generierten DES-Schlüssel kodiert. Der DES-Schlüssel und die sensiblen Kreditkarteninformationen werden mit dem öffentlichen Schlüssel des payment gateways - für den Händler unlesbar - verschlüsselt (RSA, 1024 Bit). Der Kunde sendet nun die Nachricht [purchase request], bestehend aus Bestellung, Zahlungsanweisung, DES-Schlüssel, Kreditkarteninfomationen seinem Signatur-Zertifikat. Dieses Signatur-Zertifikat kann optional durch eine Zertifizierungsstelle zertifiziert sein, welches jedoch nicht zwingend notwendig ist und lediglich der schnellen Markteinführung des Systems entgegenkommen soll. Die Entscheidung, ein nicht zertifiziertes Zertifikat anzunehmen, obliegt den entsprechenden Kreditkarteninstituten. Der Händler überprüft nun ggf. das Signatur-Zertifikat des Kunden und die duale Signatur der Bestellung (Vergleich von berechneter Prüfsumme der Bestellung und übertragener Prüfsumme der Zahlungsanweisung mit der dekodierten Unterschrift)  Abb. 3: Autorisierung (authorisation request) Autorisierung (authorisation request): Der Händler generiert eine Autorisierungs-Anfrage [merchant authorization request], bestehend aus der von ihm unterschriebenen und DES-verschlüsselten Anfrage [authorization request], dem dazu benutzten DES-Schlüssel (verschlüsselt mit dem öffentlichen Verschlüsselungszertifikat des payment gateways), der Zahlungsanweisung des Kunden inkl. dessen DES-Schlüssel, dem Signaturzertifikat des Kunden und seinen beiden eigenen Zertifikaten. Das payment gateway prüft nun analog zu 4. und 5. die Zertifikate. Es besitzt nun alle notwendigen Informationen, um die Autorisierung durchzuführen. Die Zahlungsanweisung wird entschlüsselt und mit den Daten den Händler verglichen. Die Liquidität des Kunden wird über das geschlossene Banken-Netzwerk (z.B. SWIFT) durchgeführt. Es wird nun eine Antwort ([payment gateway authorization response]) generiert, bestehend aus unterschriebener und DES-verschlüsselter Antwort ([auth. response]), DES-Schlüssel, dem öffentlichen Signatur-Zertifikat des payment gateway und einem sogenannten [capture token]. Dieses [capture token] enthält Informationen, die ggf. zur späteren Bearbeitung der Anfrage notwendig sind und ist analog zu z.B. 6. und 9. verschlüsselt werden (allerdings nur für das payment gateway selbst lesbar, da das eigene Verschlüsselungszertifikat verwendet wird). Der Händler führt nun analog zu 4. und 5. einige Prüfungen durch und speichert das [capture token] zur späteren Verwendung. Der Händler erbringt nun seine angebotene Leistung.  Abb. 4: Abrechnung (payment capture) Abrechnung (payment capture): Der Händler erzeugt eine Abrechnungs-Anfrage [merchant capture request], die aus dem [capture token] samt DES-Schlüssel, der Anfrage [capture request] samt DES-Schlüssel und den öffentlichen Händler-Zertifikaten besteht. Das payment gateway überprüft nun die Gültigkeit und Konsistenz der Anfrage und führt die Zahlungsanweisung über das Banken-Netzwerk aus. Der Händler enthält eine entsprechende Bestätigung oder Fehlermeldung. Der Händler schickt dem Kunden eine Quittung und beendet die Transaktion. Neben den gerade vorgestellten Vorgängen deckt die SET-Spezifikation noch viele weitere kommerzielle Vorgänge ab, die in dieser Ausarbeitung allerdings nicht vorgestellt werden. Bargeldsysteme Analog zu den Kreditkartensystemen, macht es die Vielzahl der sich zur Zeit in kommerzieller Nutzung oder in Feldversuchen befindlichen bargeldähnlichen Zahlungssysteme unmöglich, im Rahmen dieser Arbeit eine umfassend Bewertung und Analyse dieser Systeme zu geben. Als Beispiele für solche Systeme sind z.B. NetCash, CyberCoin, Millicent, ECash, GlobeID, UEC („universal electronic cash“) und Mondex zu nennen. Aufgrund der aktuellen Pilotprojekte und der teilweise herausragenden Eigenschaften werden jedoch nur das ECash-System und das theoretische UEC beschrieben. Erwähnenswert erscheint auch das Millicent-System, da dieses eines der wenigen bereits realisierten Systeme ist, die Pikozahlungen durchführen können [Lang98]. ECash Das zentralistisch organisierte Zahlungssystem ECash wurde entwickelt von der Firma DigiCash unter Leitung von Dr. David Chaum. Die ursprünglich Mauterhebungs- und Zahlungssysteme entwickelnde Firma ist auch an EU-Projekten wie CAFE oder dem Nachfolgeprojekt SEMPER beteiligt. Aufgrund der Fokussierung auf „intelligente“ Kreditkarten und SmartCards, gehören diese Projekte jedoch nicht unmittelbar in das hier diskutierte Themengebiet. Obwohl die Firma auch Technologien für offline-fähige Systeme auf Basis des später noch erläuterten secret-sharing-Verfahrens entwickelt, ist das ECash-System ein online-basiertes System. In einem Pilotprojekt der Deutschen Bank wird seit Oktober 97 ein Versuch mit 1500 Kunden durchgeführt, der die Marktreife des Systems ergründen soll. Als Beteiligte treten in diesem System neben Kunden, Händlern und Banken auch sogenannte Double-Spending-Server auf, die die Mehrfachverwendung von elektronischen Münzen durch das Führen entsprechender Listen verhindern sollen. Ablauf einer typischen Transaktion: Der Kunde hebt mit der Kundensoftware online Geld von seinem ECash-Bankkonto ab. Bei diesem Vorgang wird der entsprechende Betrag von dem konventionellen Konto abgebucht und in Form von elektronische Münzen zum Kunden gesendet. Um Anonymität bei Zahlungen zu gewährleisten, verwendet die Bank zur Erzeugung der Münzen das sogenannte „blinding“-Verfahren (s.u.). Die eigentliche Übertragung der elektronischen Münzen erfolgt auf konventionelle Weise mit Hilfe eines hybriden Verschlüsselungsverfahrens. Zur Authentifizierung des Kunden vergibt die Deutschen Bank bei der Anmeldung zu ihrem Pilotprojekt ein Kontopaßwort. Der Kunde hat nun den entsprechenden Betrag in elektronische Form auf seiner Festplatte gespeichert. Der Kunde löst den Kauf der Waren oder Dienstleistungen durch eine entsprechende Schaltfläche auf der WWW-Seite des Händlers aus – es erscheint eine entsprechende Zahlungsaufforderung. Nach der anschließenden Übertragung der Münzen an den Händler, wird diesem eine sofortige Validierung der Münzen auf deren Gültigkeit empfohlen, wozu er den Double-Spending-Server der Bank nutzt. Nach der erfolgten Bestätigung durch die Bank kann der seine Leistung erbringen. Weiterhin hat er die Möglichkeit, die erhaltenen Münzen umzutauschen, um so Mißbrauch vorzubeugen (die Seriennummer wird dadurch sofort ungültig). Der Händler überträgt in regelmäßigen Abständen den Wert der angesammelten elektronischen Münzen auf sein konventionelles Bankkonto.  Abb. 5: ECash-Pilot der Deutschen Bank Das bereits oben erwähnte blinding-Verfahren stellt die Anonymität der Zahlungen sicher und verhindert so die Erstellung von Kundenprofilem. Das von Dr. David Chaum entwickelte Verfahren wird durch einen modifizierten RSA-Algorithmus realisiert []. Die Bank generiert dazu einen privaten Schlüssel d, einen öffentlichen Schlüssel e und einen öffentlichen Modulus n. Der Kunde generiert selbst die von ihm gewünschten Münzen mit einer zufälligen Seriennummer [ Kunde generiert Nachricht m ] Der Kunde verfremdet diese Seriennummer durch einen von ihm ebenfalls zufällig ausgewählten blinding-Faktor. [ Kunde generiert blinding-Faktor k mit 1<=k<=n und verdeckt die Nachricht m durch m‘ = mke mod n ] Der Kunde reicht die Münzen bei seiner Bank zur Signierung ein. Die Bank signiert nun „blind“ die eingereichten Münzen, ohne die Seriennummer lesen zu können. Die Echtheit der Münzen wird also nicht durch die Seriennummer, sondern durch die Signatur der Bank gewährleistet. Die Seriennummer dient also lediglich als Schutzmechanismus gegen Mehrfachverwendungen. [ Die Bank signiert m‘ mit ihrem privaten Schlüssel d: s‘ = m‘d mod n ] Der Kunde entfernt anschließend die Verfremdung durch Kenntnis des blinding-Faktors, ohne dabei die Signatur der Bank zu zerstören. Der Kunde ist nun im Besitz anonymisierter, aber durch die Bank signierter elektronischer Münzen. [Der Kunde entfernt die Verfremdung mit dem blinding-Faktor: s = s‘ / k mod n] Die Prüfung der Bank-Signatur erfolgt analog zum normalen RSA-Signaturverfahren. [ Die Gleichung s = me mod n muß erfüllt sein ] Durch eine zusätzliche Protokollierung aller Transaktionen auf Bank- und Kundenseite, kann der Kunden jederzeit alle Transaktionen nachweisen und belegen. Dieses Verfahren schützt vor betrügerischen Absichten potentieller Händler ( Unabstreitbarkeit). Als größten Nachteil des Systems kann man sicherlich die notwendige Online-Verifizierung der Münzen betrachten. Weiterhin sind ECash-Münzen nicht teilbar, d.h. es muß (zumindest bei der von der Deutschen Bank eingesetzten Version 2.3) bei jeder Transaktion der exakte Betrag übermittelt werden. Das folgende System UEC zeigt einen Lösungsansatz für diese Probleme. UEC Tatsuaki Okamoto und Kazuo Ohta beschreiben in ihrem Artikel [OkOh91] das (praktisch nicht realisierte) Universal Electronic Cash-System – dem ihrer Meinung nach ersten idealen elektronischen Bezahlungssystem [URL-5]. Es ähnelt dem ECash-System, realisiert allerdings zusätzlich die Eigenschaften der Offline-Fähigkeit und der Teilbarkeit. Letzteres wird durch das Konzept eines hierarchischen Strukturbaumes realisiert, wodurch es möglich wird, elektronischen Münzen bzw. Geldscheine in beliebig viele Untereinheiten aufzuteilen. Zur Realisierung der Offline-Fähigkeit wird ein Verfahren namens secret sharing eingesetzt. Bei diesem Verfahren werden jeder elektronischen Münze Information über die Identität des Besitzers beigefügt. Diese Identitätsinformationen sind jedoch erst bei mehrfacher Verwendung (d.h. es werden mind. zwei Münzen der gleichen Seriennummer benötigt) auszuwerten. Ein potentieller Betrüger kann also von den beteiligten Banken identifiziert werden. Durch das zwingende notwendige Vorhandensein von zwei Münzen, kann die wichtige Eigenschaft der Anonymität auch nur im Betrugsfall aufgehoben werden. Es bleibt abzuwarten, ob diese Technologien in kommerziellen Systemen realisiert werden, da noch einige praktische und theoretische Probleme zu lösen sind. Zusammenfassung Welches der o.g. Zahlungssysteme die größten Marktanteile erreichen wird, läßt sich zum aktuellen Zeitpunkt aufgrund der mangelnden praktischen Erfahrungen nicht sagen. Mit ziemlicher Sicherheit wird sich jedoch eine Kombination mehrerer Systeme durchsetzen, die alle unterschiedliche Schwerpunkte aufweisen werden. Diese Integration verschiedener Systeme sollte für den Benutzer unsichtbar unter einer entsprechenden Benutzeroberfläche verborgen bleiben. Die größten Marktchancen werden zur Zeit dem kreditkartenorientierten SET und dem bargeldähnlichen ECash eingeräumt – nicht zuletzt aufgrund der internationalen Konzerne, die hinter den entsprechenden Konsortien stehen. Auf jeden Fall existiert noch ein hoher Entwicklungsbedarf an solchen Systemen, denn mit den zur Zeit implementierten und eher unübersichtlichen Benutzeroberflächen wird man Probleme haben, neue Benutzerkreise zu erschließen. Mindestens genauso wichtig erscheint die lückenlose Aufklärung über sicherheitstechnische Risiken der Zahlungssysteme und deren Kostendeckung im Schadensfall. Literatur- und Quellenverzeichnis Printmedien [DrDu97]S. Dresen, T. Dunne. „Penny Lane – Wie das ecash-Projekt der Deutschen Bank praktisch funktioniert“. iX. Heise Verlag, Hannover, Nr. 12, 1997[FuWr97]A. Furche, G. Wrightson. Computer Money – Zahlungssysteme im Internet. dpunkt-Verlag, 1997[Lang97]B. Lange. „Secure Electronic Transaction: Kreditkarten im Internet“. iX. Heise Verlag, Hannover, Nr. 10, 1997[Lang98]B. Lange. „Mausklick-Preise: Abrechnung von Kleinstbeträgen im Internet“. iX. Heise Verlag, Hannover, Nr. 1, 1998[Luck97a]N. Luckhardt. „Trend-SETer – Sichere Kartenzahlung über unsichere Netze“. c’t-Report Geld online. Heise Verlag, Hannover, Nr. 3, 1997[OkOh91]T. Okamoto, K.Ohta. „Electronic Digital Cash – Advances in Cryptology“ CRYPTO ’91, Spinger Verlag, 1991[Reif96]H.Reif. „Cyber-Dollars – Elektronisches Geld im Internet“. c’t. Heise Verlag, Hannover, Nr.5, 1996[RiKo97]H. Reif, A. Kossel. „Bits statt Bares – Elektronisches Geld im Internet“. c’t-Report Geld online. Heise Verlag, Hannover, Nr. 2, 1997[SFE97]R. Schuster, J. Färber, M. Eberl. Digital Cash – Zahlungssysteme im Internet. Springer Verlag, 1997Elektronische Dokumente [URL-1]DOWNTOWN-Anywhere (gesichtet 29.12.1997): http://www.awa.com[URL-2]SET-Informationen (gesichtet 4.11.1997): http://www.mastercard.com/set/[URL-3]SET-Implemetierung Version 1.0, Sourcen & Dokumentation. Paßwörter für den FTP-Server können durch eine Mail an „Paul_Hollis@mastercard.com“ angefordert werden (gesichtet 4.11.1997): ftp://ftp.mastercard.com/pub/[URL-4]SET-Informationen (gesichtet 4.11.1997): http://www.tenthmountain.com/html/set.html[URL-5]A. Benne. Rechtsinformatik-Seminar – „Zahlungen im Internet“ (gesichtet 4.11.97, genaue URL nicht mehr bekannt) http://www.uni-sb.de/...[URL-6]Informationen zum ECash-Pilotprojekt der Deutschen Bank (gesichtet 10.1.98) http://www.deutsche-bank.de/wwwforum/ecash/[URL-7]WWW-Seiten der Firma DigiCash mit Informationen zum ECash-System (gesichtet 10.1.98) http://www.digicash.com Sicherheitskonzepte für Firmen Jörg Schramek Einleitung Innerhalb der letzten Jahre hat bei Unternehmen, Behörden, Instituten und Privatpersonen der Einsatz von IT-Systemen (Informationstechnologie-Systemen) stark zugenommen. In modernen, fortschrittlichen Unternehmen ist ein PC an keinem Arbeitsplatz mehr wegzudenken. Informationen und Unternehmensdaten werden zum Teil ausschließlich in digitaler Form gespeichert. Sabotage, Diebstahl, physische Gewalt, Hard- und Softwarefehler, falsche Bedienung etc. stellen Bedrohungen für die Unternehmenssicherheit bzgl. der IT-Systeme dar. Seitens der Unternehmen wird die Sicherheit jedoch nicht ausreichend beachtet. Verkannt wird, daß es sich bei Sicherungsmaßnahmen um einen Vermeidungsnutzen und ggf. um Existenzsicherung handelt. In dieser Arbeit wird zunächst auf eine Begriffserklärung von IT-Sicherheit eingegangen. Danach werden die Mängel in der Unternehmenssicherheit und ein ggf. resultierender Schaden erläutert. Prinzipielle Vorkehrungen gegen Bedrohungen werden durch die Erstellung eines Sicherheitskonzeptes dargestellt. Im vierten Kapitel werden konkrete bauliche, organisatorische und technische Maßnahmen angesprochen, die das Sicherheitsniveau erhöhen können. Begriffserklärung Unternehmenssicherheit umfaßt sowohl Datenschutz, Datensicherheit als auch IT-Sicherheit. Diese oftmals bedeutungsgleich verwendeten Begriffe sollen nachfolgend kurz erläutert werden. Aus einem Rechtswörterbuch ist folgende Definition zum Datenschutz zu entnehmen: “Sicherung gespeicherter, personenbezogener Daten sowie Unterlagen und Ergebnisse vor Mißbrauch durch Einsichtnahme, Veränderung oder Verwertung unter Beeinträchtigung schutzwürdiger Belange des Betroffenen. Er dient dem Ausgleich zwischen dem Recht des Bürgers aber auch von Behörden und Unternehmen auf Information und dem Schutz des Persönlichkeitsrechts.”[Creif94] Eine weitere Beschreibung von Datenschutz ist dem BDSG §1 Absatz 1 zu entnehmen: „Zweck dieses Gesetzes ist es, den einzelnen davor zu schützen, daß er durch den Umgang mit seinen personenbezogenen Daten in seinem Persönlichkeitsrecht beeinträchtigt wird.“ Datensicherheit kann als Ergebnis der Verwirklichung von Datenschutz und Katastrophenschutz (Sabotage, Brand, Blitzschlag, Überschwemmung etc.) angesehen werden. Sie umfaßt die Sicherstellung von [URL-5]: Verfügbarkeit, Integrität, Verbindlichkeit und Vertraulichkeit von Daten. Nicht nur die Qualität von Informationen hat einen hohen Stellenwert, ebenso deren Verfügbarkeit, welche die funktionale Korrektheit aller Systemkomponenten eines IT-Systems einschließt. Daten oder Informationen, auf denen kein Zugriff besteht, haben keinen Wert. Bei Daten, die verarbeitet und/oder kommuniziert werden, muß sichergestellt sein, daß diese nicht unbemerkt oder unautorisiert durch Fehlfunktionen oder durch Dritte verändert werden. Weiterhin muß vorausgesetzt werden, daß die Daten zusammenpassen, d.h. Eingriffe müssen so erfolgen, daß ein System oder Datenbestand in seiner Gesamtheit funktionsfähig und nicht manipuliert ist. In diesem Sachverhalt spricht man von der Integrität der Daten. Die Verbindlichkeit elektronisch gespeicherter oder kommunizierter Daten ist als Vertrauensbasis für den elektronischen Geschäftsverkehr unerläßlich. Eine Nachricht gilt als verbindlich, wenn der Schutz der Urheberschaft und der Schutz der Originalität gewährleistet ist. Sensible unternehmens- und personenbezogene Daten wurden, bereits vor der Nutzung von IT-Systemen, vor dem Zugriff Unbefugter geschützt, denn die Weitergabe personenbezogener Daten an Dritte unterliegt dem Datenschutzgesetz. Dieser Schutz muß auch gegeben sein, wenn Informationen in elektronischer Form gespeichert und kommuniziert werden. Es ist von großer Bedeutung, daß Privatsphäre und Betriebsgeheimnisse in Informationsnetzen verläßlich gesichert werden, d.h. die Vertraulichkeit geschützt wird. Die IT-Sicherheit ist die Datensicherheit, bezogen auf die Systeme der Informationstechnik. Sicherheitsaspekte Vorhandene Sicherheitsmängel erhöhen die Verletzlichkeit eines Unternehmens. Welches Ausmaß ein Schaden (durch Naturgewalten, Spionage etc.) für ein Unternehmen annehmen kann, wird im folgendem Punkt verdeutlicht. Weiterhin werden Schwachstellen in der Unternehmenssicherheit beschrieben. Schadensumfang Aus den bereits genannten Bedrohungen kann ein Schaden resultieren, der direkte und/oder indirekte Kosten zur Folge hat. Letztere entstehen durch: Image-Verlust und folgende Kundenabwanderung Zeitverlust bzw. Produktionsausfall Folgekosten durch Geschäftsverlust Juristische Folgen durch Bekanntwerden personenbezogener Daten Der Kostenausfall kann im Extremfall erheblich sein. Durch einen Totalausfall der EDV ist beispielsweise die zukünftige Existenz eines Unternehmens in Gefahr: „Demnach überleben Versicherungen einen Totalausfall ihrer DV 5,5 Tage, Produktionsunternehmen halten 5 Tage durch, Handelsunternehmen 2,5 und Banken nur noch ganze zwei Tage.“ „[...] habe nachgewiesen, daß sogar 40 Prozent aller Betriebe, die einen Totalausfall ihrer DV ohne Notfallplan durchstehen mußten, innerhalb von zwei Jahren zusammenbrachen“ [URL-1]. Selbst in weniger schwerwiegenden Fällen, besteht das Problem der Rückstandsaufholung. Schon eine geplante Betriebsunterbrechung wie z.B. durch Umbau, verursacht eine Rückstandsaufholung, die einen fünffachen Zeitaufwand umfaßt. Ist die Betriebsunterbrechung ungeplant, liegt die Rückstandsaufholung in einer fünf- bis zehnfachen Zeit. [URL-2] „Betriebsunterbrechungen und Fehlerfolgen ergeben ein Schadensbündel, das kaum einer bislang kalkulieren kann. Aus Ereignissen wissen wir, daß sich die Verluste z.B. eines Handelsunternehmens infolge eines fünftägigen RZ-Ausfalls auf 16% des Jahresumsatzes belaufen haben“ [URL-2]. Schwachstellen in der Unternehmenssicherheit Offensichtlich besteht durch die genannten Bedrohungen starker Handlungsbedarf. Man sollte annehmen, daß das Top-Management der Unternehmen mit angemessenen Maßnahmen die Bedrohungen auf ein Mindestmaß zu reduzieren versuchen. In der Praxis ist dieser Sachverhalt anders zu beobachten. Aus verschiedenen Erhebungen ist zu entnehmen, daß Unternehmen Sicherheitsmaßnahmen unzureichend umsetzen. Der SecuMedia Verlag erstellte 1996 eine Sicherheitsstudie [Hunn96] über die Sicherheit in der Informationstechnik, an der 183 Unternehmen beteiligt waren. Folgende Punkte geben einige Kernaussagen der Studie wieder: 62 % der Unternehmen antworteten, daß der Gefahrenbereich „Irrtum und Nachlässigkeit eigener Mitarbeiter“ die höchste Bedeutung hat. 34 % schätzten, daß die zukünftige Entwicklung in diesem Gefahrenbereich zunimmt, 12 % meinten, daß diese abnimmt. 62 % gaben an, daß keine schriftlich fixierte Strategie für die Informationssicherheit existiert. 56% offenbarten, daß schriftlich fixierte, spezifische Informationssicherheits-Konzepte / Richtlinien existieren. 67 % deckten hierbei Schwachstellen auf, bei 62 % dauert die Beseitigung von bekannten Schwachstellen an. 20 % sagten aus, daß für größere Katastrophen (Feuer, Wasser usw.) keine detaillierten Pläne / konkreten Handlungsanweisungen vorliegen. Aufgrund dieser Zahlen kann man auf eine gewisse Sorglosigkeit von Seiten der Unternehmen schließen, welche begründet werden kann durch: den Glauben, daß Sicherheitsbestrebungen keinen direkten Nutzen erfüllen, den Glauben, daß Sicherheitsbestrebungen lediglich hohe Kosten und hohen Zeitaufwand verursachen, Konzeptlosigkeit und definierte Aufgabenverteilung. Resultierend ergibt sich eine punktuelle Sicherheitsplanung, die sich in folgenden (und weiteren) Mängeln widerspiegelt: Nichtvorhandensein einer Einbruchsicherung, Lückenhafter Schutz vor Brand oder Wassereinbruch, Nichtvorhandensein von Zugangsbeschränkungen zu Räumen, Fehler („Bugs“) im Betriebssystem oder in Netzwerk-Dienstprogrammen, Schlecht konfigurierte Software (Bsp.: „Access Control Lists“ von Firewalls), Großzügige Vergabe von Benutzerrechten, Unkontrollierter Datenzugriff von Außen und Nichtvorhandensein eines Notfall- und/oder Wiederanlaufplans. Erstellung eines Sicherheitskonzeptes Um den oben aufgeführten Sicherheitsmängeln entgegenzuwirken, ist es notwendig ein Sicherheitskonzept zu entwickeln. Dieses muß von den Sicherheitsbeauftragten regelmäßig geprüft und ggf. angepaßt werden. Sicherheit stellt einen dynamischen Aspekt dar (z.B. aufgrund von neu installierter Software und den daraus folgenden neuen Sicherheitslücken). Es ist somit ein iterativer Prozeß, der die im weiteren erläuterten Punkte umfaßt [Frei97]: Istanalyse, Bedarfsanalyse, Bedrohungsanalyse, Erstellung von Sicherheitsmaßnahmen, Umsetzung, Schulung, Validierung und Aktualisierung. In der Istanalyse wird festgestellt, welche Maßnahmen zur Sicherheit bereits implementiert wurden. Sie umfaßt sowohl die Gebäudesicherheit, die technische Sicherheit, die System- und Netzsicherheit als auch die Notfall-Planung. Aufgabe der Bedarfsanalyse ist es, festzustellen, welche Daten und/oder welche Bereiche des Unternehmens besonders geschützt werden müssen. Hier ist eine Einschätzung über den möglichen Schadensumfang mit eingeschlossen. Zudem gibt es eine erste Schätzung über den Aufwand, der für die Firmensicherheit eingeplant werden muß. Dieser Aspekt ist wichtig, da die angestrebte Sicherheit stets im ausgewogenen monetären Verhältnis zum potentiellen Schaden stehen muß. In diesem Zusammenhang stellt sich die Frage, vor wem oder was man sich schützen möchte Diese Frage ist Bestandteil der Bedrohungsanalyse. Hier muß zwischen externen und internen Bedrohungen unterschieden werden. Beide erfordern verschiedene Gegenmaßnahmen. Interne Sabotageversuche treten laut verschiedener Statistiken häufiger auf. [URL-1, URL-11] Bei der Erstellung von Sicherheitsmaßnahmen muß zwischen verschiedenen Wirksamkeitsstufen unterschieden werden [URL-6]. Dazu gehören: Verhindernde Maßnahmen Zum Beispiel die Aufstellung eines Servers oberhalb des Kellergeschosses verhindert mögliche Wasserschäden. Behindernde Maßnahmen Die Entfernung eines Diskettenlaufwerkes aus einem PC erschwert beispielsweise das Einspielen oder unbefugte Kopieren von Dateien oder Programmen. Entdeckende Maßnahmen Protokollierende Einrichtungen, die unzulässige Zugriffe festhalten, haben oftmals einen abschreckenden Effekt und ermöglichen, einen Angreifer zu entdecken. Bekämpfende Maßnahmen Diese Maßnahmen können differenziert werden, zwischen der unmittelbaren Bekämpfung eines eingetretenen Ereignisses und der Eindämmung von Schadensfolgen. Neben den technischen Fragen, sind zudem zeitaufwendigere organisatorische Fragen, welche die Verantwortlichkeiten und die Handlungsbefugnisse betreffen, zu klären. Eine anschließende Umsetzung der Maßnahmen sollte sukzessiv nach einem Zeitplan erfolgen, da technische und organisatorische Maßnahmen sehr zeitaufwendig sein können. Eine genaue Dokumentation über die durchgeführten Arbeitsschritte erleichtert auch unerfahrenen Administratoren eine Einarbeitung. Durch Schulung von Administratoren, Sicherheitsbeauftragten und Anwendern soll, das angestrebte Sicherheitsniveau erreicht und zukünftig gewährleistet werden. Besonders wichtig ist in diesem Zusammenhang die Mitarbeiterakzeptanz und Mitarbeitersensibilisierung für dieses Thema. Die Mitarbeiter müssen den Nutzen einer angemessenen Sicherheit erkennen. ‚Validierung und Aktualisierung‘ sollten in einem letzen Schritt regelmäßig durchgeführt werden. Dieser Schritt kann und soll bei hohem Sicherheitsbedarf von anderen Abteilungen oder externen Unternehmen durchgeführt werden, um einer „Betriebsblindheit“ für das selbst erstellte Konzept entgegenzuwirken. Zu den allgemeinen und einschlägig bekannten Sicherheitskonzepten gehören beispielsweise das „Orange Book“ des amerikanischen Verteidigungsministeriums oder auch der IT-Katalog der IT-Sicherheitskriterien der Zentralstelle für Sicherheit in der Informationstechnik. Diese und andere Informationsquellen sind zahlreich im Internet vorhanden. [URL-12, URL-13, URL-14] Gegenmaßnahmen Es gibt eine Vielzahl von möglichen Gegenmaßnahmen, um sich sowohl vor Hackern, Großbränden oder anderen Ereignissen zu schützen oder zumindest die Schadensfolgen einzuschränken. Grundsätzlich ist zu beachten, daß Gegenmaßnahmen aufeinander abgestimmt werden müssen. Ein höherer Sicherheitsstandard ergibt sich nicht notwendigerweise durch die Addition von einigen Sicherherheitsmaßnahmen. Bauliche Maßnahmen Bauliche Maßnahmen verfolgen das Ziel Personal, Informationen und Hardware zu schützen. Sie sollten, wenn möglich, schon bei der Planung ausreichende Beachtung finden. Nachträglich umgesetzte Maßnahmen sind meist erheblich kostenintensiver und teilweise weniger wirkungsvoll. Bedrohungen entstehen in diesem Zusammenhang durch: Naturgewalten, Feuer und Überschwemmungen, Unbefugten Zutritt zu schutzbedürftigen Räumen, Stromausfälle, Überhitzung. Eine zu kurzfristige Planungsperspektive ist zu vermeiden. Zu eng bemessene Stellflächen für besonders schutzwürdige Hardware (allgemein Rechenzentrumsfläche oder Server mit bedeutsamen Daten) führen zu einer Auslagerung von Funktionen in weniger gut gesicherte Bereiche, in Bereiche mit erhöhtem Brandlastumfeld, mit schlechter Zugangssicherung und anderen Problemen. IT-Planung sollte daher durch eine Flächenentwicklungsprognose ergänzt werden. Basis einer solchen Prognose können Branchenvergleiche, Trendaussagen, historische Entwicklungen oder andere Quellen bilden [URL-7]. Im folgendem werden einige bauliche Maßnahmen einschließlich haustechnischer Einrichtungen wie Klimaanlagen usw. nach Bedrohungsarten kategorisiert: Brand: Durch den Einsatz von Brandschutzmeldeanlagen kann ein Brand frühzeitig gemeldet werden. Eine Ausdehnung eines Brandes kann durch entsprechende Brandschutztüren, Brandschutzklappen (mit nekaldichten Rauchabschlüssen) und Brandschutzwänden eingeschränkt werden. Zu beachten ist, daß diese baulichen Elemente eine geringe Strahlungswärme aufweisen. Unterschiedliche Ausdehnungskoeffizienten der Materialien einer Platine oder der Chips führen bei Überschreitung der zulässigen Wärmetoleranzen zu Totalschäden. Weiterhin ist auf die Verwendung geeigneter Baustoffe zu achten, d.h.: keine brennbaren Wärmedämm- und Schallschutzmaßnahmen, keine brennbaren Füllungen für Dehnungsfugen in Trennwänden, Schottung gegen Leitungsdurchbrüche. Überflutung und Wasserschäden: Der Standort bedeutsamer IT-Geräte sollte so gewählt sein, daß diese nicht durch Überflutung oder durch Wasserschäden beschädigt werden können. Zusätzlich können in der Umgebung der Geräte Wassermelder installiert werden. Unbefugter Zutritt: Schutzbedürftige Räume sollten z.B. durch den Einsatz eines Sicherheitsdienstes oder durch verschließbare Türen gesichert werden. Hochsicherheitsbereiche können durch Fingerabdrucksysteme, Netzhautabtastung oder Stimmanalyse (biometrische Zugangskontrollen) gesichert werden. Kompromittierende Strahlung: Durch die Verwendung von abstrahlsicheren oder abstrahlarmen Geräte ist es möglich, sich zu schützen. Eine Abschirmung in Form eines faradayischen Käfigs bietet einen vollständigen Schutz gegen kompromittierende Strahlung Stromausfälle: Eine unterbrechungsfreie Stromversorgung schützt IT-Systeme vor Stromausfällen bzw. Stromschwankungen. Ein erhöhter Ausfallschutz wird durch Ersatzgeräte erreicht. Überhitzung: Die Benutzung von Klimageräten mit Ausfallschutz durch Ersatzgeräte bietet einen ausreichenden Schutz. Die Aufstellung solcher haustechnischen Einrichtungen sollten nicht in der Nähe von EDV-Bereichen erfolgen. Wichtige Programme und Dokumente sollten zudem in Safes oder eigenen Tresorräumen gelagert werden, die ein Feuer mehrere Stunden überstehen und gegen Löschwasser Schutz bieten. Organisatorische Maßnahmen Voraussetzung einer Erhöhung der Unternehmenssicherheit ist die Schaffung verbindlicher organisatorischer Regelungen. Arbeitsabläufe sind verbindlich festzulegen, Zuständigkeiten und Befugnisse sind zuzuordnen, der Umgang mit der Informationstechnik und vor allem mit den vorhandenen technischen Sicherheitseinrichtungen ist vorzugeben. [URL-8] Ein höherer Sicherheitsgrad kann durch folgende Maßnahmen bzw. Regelungen erreicht werden (vgl. [Heid96]): Zuweisung, Abgrenzung und Verwaltung von Rechten: Die Vergabe von Zutrittsberechtigungen zu Räumen, Rechnern und Netzen ist kritisch und regelmäßig zu überdenken. Es muß eine Verwaltung und Kontrolle der Zugangsmittel durchgeführt werden. Zwecks der Absicherung der Netzzugänge sollte dem „Need-to-Do“-Prinzip gefolgt werden, d.h. daß nur Benutzer Zugang erhalten, bei denen es aktuell erforderlich ist. Desweiteren ist eine zeitliche Einschränkung von Zugängen denkbar, nachts kann somit ggf. der Netzwerkzugang verwehrt werden. Eine Rollentrennung sollte so erfolgen, daß die Administration von Sicherheitsmaßnahmen und die Kontrolle der getroffenen Maßnahmen in unterschiedliche Zuständigkeitsbereiche fällt. Externe Datenschutzbeauftragte: Der Einsatz von Datenschutzbeauftragten anderer Unternehmen weist Vorteile gegenüber unternehmenseigener Datenschutzbeauftragten auf. Externe Sicherheitsexperten verfügen über betriebsübergreifende Erfahrungen, ihr Sicherheitswissen steht zum geforderten Zeitpunkt zur Verfügung. Weiterhin sind sie nicht durch eine voreingenommene Sichtweise des Unternehmens beeinträchtigt. Ihre alleinige Aufgabe ist der Datenschutz und die Datensicherheit [URL-9] Verwaltung und Kontrolle von Betriebsmitteln: Der Einsatz von eingesetzter Hard- und Software ist zu dokumentieren und von einer zentralen Stelle zu regeln. Auf diese Weise ist die Einbringung von illegaler Software feststellbar (durch Softwaremaßnahmen automatisierbar). Regelungen für die kontrollierte Entsorgung von Datenträgern und Papier sind zu treffen. Außerdem ist der Einsatz privater Datenträger, Soft- und Hardware zu verbieten. Betriebsvorschriften: Bedienungsanweisungen für Softwareanwendungen, Anweisungen zur Systembedienung, Datensicherungsmaßnahmen (siehe unten) und Dokumente zur Katastrophenvorsorge sind Bestandteile der Betriebsvorschriften. Diese sollten den Mitarbeitern in Form von Schulungen vermittelt werden. Die Katastrophenvorsorge schließt einen Wiederanlaufplan mit entsprechenden Maßnahmen ein, so daß die Betriebsbereitschaft möglichst schnell wieder sichergestellt wird. Sicherheitspezifische Vorschriften: Die Vorschriften besitzen präventiven Charakter. Es handelt sich hierbei um Verhaltensregeln wie sie z.B. in [Heid94, S. 54 ff.] zu finden sind. Überwachungsmaßnahmen: Die Einhaltung der eingeführten Sicherheitsmaßnahmen muß am Arbeitsplatz, bei Betreten und Verlassen des Betriebsgeländes und bei Begleitung fremder Personen regelmäßig kontrolliert werden. Mitarbeiter- und Unternehmensleitungssensibilisierung: Mitarbeiter und Unternehmensleitung tragen entscheidend zur Sicherheit bei. Es muß eine Schulung der Anwender erfolgen, so daß: die Wichtigkeit von Sicherheit und Sicherheitsrichtlinien im Unternehmen erkannt wird, die Benutzung von Hard-, Software, Handhabung von Akten usw. bekannt ist, Sicherheitsprobleme erkannt werden können und auf Sicherheitsprobleme reagiert werden kann. Weiterhin ist die Unternehmensleitung hinsichtlich der Notwendigkeit von baulichen, organisatorischen und technischen Sicherheitsvorkehrungen zu sensibilisieren. Technische Maßnahmen Bei den technischen Maßnahmen handelt es sich um software- und hardwaretechnische Maßnahmen sowie Verschlüsselungsverfahren und den Einsatz von Firewallsystemen. Softwaremaßnahmen Durch softwaretechnische Maßnahmen können Angreifer und Schadprogramme erkannt und letztere ggf. bekämpft werden. Weiterhin ist es möglich, den Gebrauch von Software zu reglementieren. Zugangsberechtigung: Identifikations- und Autorisierungsverfahren, die durch netzwerkfähige Betriebssysteme unterstützt werden, gewähren nur legalen Benutzern Zugriff auf Daten bzw. Peripherie. Die Verfahren schließen die Prüfung und Verwaltung von Rechten mit ein. Softwareverteilungsprogramme: In größeren Netzwerken kann durch Softwareverteilungsprgramme (halb-/voll-) automatisch Software von einem Server auf angeschlossene Clients installiert werden. Dies hat den Vorteil der Zeitersparnis und wirkt einer falschen Konfiguration auf den Clients entgegen. Arbeitsplatzrechner müssen durch diese Vorgehensweise nicht über CD-ROM- oder Diskettenlaufwerken zu Installationszwecken verfügen. Das Einspielen fremder oder illegaler Software wird dadurch verhindert. Lizenzüberwachungsprogramme: Durch diese Art von Programmen wird die Software in einem Netzwerk überwacht. Dabei wird die Anwenderanzahl der Programme mit begrenzter Lizenzenanzahl kontrolliert und die Ausführung illegaler Programme unterbunden. Inventarisierungsprogramme: Diese Programme sammeln Informationen über installierte Hard- und Software. Dadurch ist nachvollziehbar, welche Software sich in welcher Version auf einem Rechner befindet. Das Aufspüren illegaler Software wird hierdurch erleichtert. Protokollierungsprogramme: Sicherheitsrelevante Informationen wie z.B. die Kontrolle und Inanspruchnahme von Benutzerrechten, der Verbrauch von Systemresourcen und Zustand von Systemkomponenten werden durch diese Programme gesammelt. Mögliche Einbruchssversuche können durch eine Analyse der erstellten Protokolldateien (sogenannten Log-Dateien) erkannt werden. Sicherheitsüberprüfungsprogramme: Durch falsch konfigurierte Software oder durch andere Nachlässigkeiten wie z.B. die Wahl von „Standard“-Paßwörtern eröffnen Angriffsmöglichkeiten. Sicherheitsüberprüfungsprogramme können diese Sicherheitslücken aufspüren und auf erkannte Schwachstellen hinweisen. Bekannte Programme, auch als Hacker-Tools bezeichnet, sind beispielsweise „Satan“ für den Scan eines Netzwerkes oder „Crack“ zum Erraten von Paßwörtern. [URL-14] Hardwaremaßnahmen Durch den Einsatz von Hardwaremaßnahmen wird die Ausfallsicherheit erhöht. Dies wird in den meisten Fällen durch redundante Komponenten erreicht. Aus Sicherheitsgründen gibt es jedoch auch Softwarelösungen auf Hardwarebasis, da diese keine Manipulationen zulassen. Redundante Geräte: Spiegelung von Festplatten Zwei Festplatten werden mit identischen Daten über einen Controller betrieben. Bei einem Ausfall erfüllt die zweite Festplatte die Aufgabe. Duplexing Über zwei Controller wird jeweils eine Festplatte betrieben. Bei dem Versagen eines Controllers oder einer Festplatte übernimmt der zweite Controller die Arbeit des anderen. RAID-Systeme RAID steht für „Redundant Array of Inexpensive Disks“. Es werden mehrere physikalische getrennte Festplatten verwendet, die logisch zu einer einzigen Festplatte zusammengefaßt werden. Durch eine redundante Datenspeicherung kann eine hohe Sicherheit erreicht werden. Es existieren unterschiedliche Verfahren (Level 1-5), die in einfachster Form eine Spiegelung darstellen und in der intelligenteren Form Fehlerkorrekturdaten auf verschiedene Festplatten verteilen. RAID-Systeme führen in den höheren Stufen zu einer relativ hohen Ausnutzung der Kapazität mit Ausfallsicherheit bei geringen Leistungsverlusten. Clustering In einem Server-Cluster werden mindestens zwei Ein- oder Mehrprozessorsysteme („Knoten“) verbunden. Diese Gruppe von Knoten nutzt gemeinsame Datenbereiche und wird wie ein einziges System verwaltet. Durch diese Technik wird eine sehr hohe Verfügbarkeit der Anwendungen und Dienste sichergestellt. Anti-Viren- und kryptographische Maßnahmen: Die entsprechende Softwarelösungen befindet sich in einem ROM auf einer Steckkarte, die in einen Slot eines PCs gesteckt werden kann. Vor dem eigentlichen Bootvorgang wird das Programm aktiv. Aufgrund der Speicherung in einem ROM kann das Programm nicht durch einen Virus manipuliert oder deaktiviert werden. Bei kryptographischen Verfahren ist die höhere Leistung gegenüber von Softwarelösungen als vorteilhaft zu erwähnen. Verwendung isolierter Testrechner bzw. Schleusenrechner: Bei hohen Sicherheitsanforderungen sollte neue Software auf Testrechnern oder Testrechnernetzen installiert werden. Diese kann dann ohne Gefahr für andere Komponenten auf ihre Funktionalität geprüft werden. CDs und Disketten könne gefahrlos auf Viren untersucht werden. Firewallsysteme Bei einer Firewall handelt es sich um einen oder mehrere Rechner. Das zu schützende Netz ist mit dem bedrohenden Fremdnetz durch die Firewall verbunden, so daß jegliche Datenkommunikation über diese erfolgen muß. Durch entsprechende Software werden Datenpakete gefiltert. Auf diese Weise wird nur ein zulässiger Datenverkehr zugelassen. Für weitere Informationen siehe den Seminarbeitrag „Firewalls“. Weitere Maßnahmen Es existieren weitere Maßnahmen wie Datensicherungsmaßnahmen und die Beauftragung von Dienstleistern für Notfallprogramme, die sich nicht in die oben aufgeführten Bereiche zuordnen lassen. Dabei handelt es sich um eine Mischung von organisatorischen und technischen Maßnahmen. Datensicherung Von der technischen Seite gehört die entsprechende Hardware (z.B. DAT-Streamer) und Software (Datensicherungsprogramme) zu dieser Maßnahme. Organisatorisch sind Regelungen festzulegen, wer für die Datensicherung verantwortlich ist, auf welche Weise und wie oft diese durchzuführen ist und wo Sicherungsmedien aufzubewahren sind (zentral oder dezentral). Backup Anbieter Nach der Schätzung eines möglichen Schadensumfanges und nach der Abwägung, wie lange ein Ausfall der Rechenleistung vertretbar ist, kann ein Unternehmen einen Dienstleister mit „kalten“ oder „warmen“ Backup-Lösungen beauftragen. Bei der „warmen“ Backup-Strategie wird ein betriebsbereites Computersystem bereitgehalten, das im Notfall eingesetzt wird. Abhängig von der Hardwarekonstellation ist ein Wiederanlauf binnen 24 Stunden [URL-10] durchführbar. Bei der „kalten“ Variante werden kurzfristig Gebäude und Rechner angemietet. Die Wiederanlauf-Zeit ist hierbei jedoch wesentlich länger. Zusammenfassung Unternehmen sind von gespeicherten und kommunizierten Daten und deren Integrität, Verfügbarkeit etc. stark abhängig, so daß mögliche Schadensfälle die Unternehmensexistenz gefährden können. Wie aufgezeigt wurde, existieren Bedrohungen unterschiedlichster Herkunft. Diese spiegeln sich in Schwachstellen der Unternehmenssicherheit wider. Durch die Umsetzung eines erstellten Sicherheitskonzeptes kann ein erhöhter Sicherheitsgrad erreicht und ein potentieller Schaden auf ein Minimum reduziert werden. Die vorgestellten Gegenmaßnahmen veranschaulichen Möglichkeiten mit verschiedenen Wirksamkeitsstufen wie die Sicherheitsmaßnahmen eines Sicherheitskonzeptes umgesetzt werden können. Literatur- und Quellenverzeichnis Printmedien [Crei94]Creifelds, Rechtswörterbuch 12. Auflage 1994, C.H. Beck Verlag, München 1994.[Fras95]H.-J. Frase. „Katastrophenvorsorge in IT-Bereichen – eine Aufgabe ganzheitlichen Managements“. Datensicherheitsreport. Vogel Verlag, Würzburg, Nr. 9, 1995.[Heid96]B. Heidecke. „Analyse und Bewertung von Sicherungskonzepten in Client/Server-Systemen am Beispiel von Novell-NetWare“. Diplomarbeit Fachbereich Informatik, Universität Dortmund, 1996.[Hunn96]G. Hunnius. „So schätzen DV-Anwender ihre Sicherheit ein“. KES Zeitschrift für Kommunikations- und EDV-Sicherheit. SecuMedia Verlag, Ingelheim, Nr. 3, 1996.[Frei97]Freiss, Martin. „SATAN: Sicherheitsmängel erkennen und beheben“. O‘Reilly / Thomson Verlag, 1997.Elektronische Dokumente [URL-1]G. Schmidt. „DV-Sicherheit – den wenigsten Anwendern ist klar, wie sehr sie von ihrer Datenverarbeitung abhängig sind“. Computerwoche Nr. 23. Stand 08.06.1990 (gesichert am 29.11.97) http://www.computerwoche.de/archiv/1990/9023c112.html [URL-2]SiLine. Rainer von zur Mühlen. “Backup auch für kleine DV-Systeme – ist das denn nötig?“, Stand 05.08.1997 (gesichert am 01.12.1997) http://www.siline.com/890_itsicher/890_backup.html  [URL-3]Zbinden Infosec. „Datensicherheit: Eine Aufgabe des Managements“. Stand 01.01.1998 (gesichert 04.01.1998) http://www.infosec.ch/artikel/a_024.htm [URL-4]Deutsche Forschungsanstalt für Luft- und Raumfahrt. „Sicherheit für die Informationsgesellschaft“. Schriftenreihe des Fachverbands Informationstechnik. Stand unbekannt (gesichert am 06.01.1998) http://www.bmwi-info2000.de/gip/studien/sicher/sicher_1.html [URL-5]K. Pommerening. Vorlesung Datenschutz und Datensicherheit. Stand 23.09.1996 (gesichert 01.12.1997) http://www.uni-mainz/~pommeren/DSVorlesung/Begriffe.html [URL-6]SiLine. Rainer von zur Mühlen. “Wege zur Sicherung in der Informationsverarbeitung am Beispiel strategischer Ansätze“. Stand 23.02.1997 (gesichert am 01.12.1997) http://www.siline.com/890_itsicher/890_strategie.html[URL-7]SiLine. „Rechenzentren unter Sicherheitsaspekten planen“. Stand 23.02.1997 (gesichert am 01.12.1997) http://www.siline.com/890_itsicher/890_rz.html[URL-8]Berliner Datenschutzbeauftragter. „Begriffe im Zusammenhang mit dem technisch-organisatorischen Datenschutz“. Stand 28.02.97 (gesichert am 06.01.1998) http://www.datenschutz-berlin.de/to/begriffe.htm[URL-9]Martin Lackmann-Gubela. „Datenschutz nützlich machen“. Stand 05.08.97 (gesichert am 06.01.1998) http://www.siline.com/890_itsicher/890_datenschutz.html[URL-10]Hewlett Packard. Dienstleistungen. „Sicherungskonzepte“. Stand 23.10.97 (gesichert 29.11.97) http://www-1.hewlett-packard.de/ germany/CSS-G/produkte/sicherungskonzepte.html[URL-11]H. Honermann. „Umfassende Bewertung der Sicherheit von Netzwerken in Unternehmen“. Stand 1997 (gesichert 01.12.97) http://www.bdg.de/Wpapers/ISS97.htm [URL-12]Zahlreiche Links zum Thema „Sicherheit“. Europäisches Institut für Systemsicher-heit E.I.S.S.. Stand 30.06.97 (gesichert 02.02.97) http://iaks-www.ira.uka.de/ta/Security/security.html [URL-13]Zahlreiche Links zum Thema „Sicherheit“. Universität Mainz. Stand 27.11.97 (gesichert 02.02.97) http://www.uni-mainz.de/ FB/Medizin/IMSD/AGDatenschutz/Ressourcen.html[URL-14]CERT. Computer-Notfall-Team für das Deutsche Forschungsnetz und seine Dienste. Stand 1997 (gesichert 01.12.97) http://www.cert.dfn.de   engl. Sicherheitspolitik  Rechner, die dem Benutzer innerhalb eines Netzwerkes Anwendungen zur Verfügung stellen  Die Internet-Schicht betrachtet alle Daten als Blöcke, die Datagramm genannt werden  Es gibt mehr als ein NIC. Im allgemeinen bezeichnet man mit NIC das InternetNIC  sendender Client, der den Rahmen generiert hat  empfangender Client des Rahmens  engl. für Klammer.  GGT = Größter Gemeinsamer Teiler.  engl. Einmalstempelkissen, Ausdruck für einen Schlüssel, der nur ein einziges Mal benutzt wird.  engl. Lauscher, Horcher  4 Quantenzustände, 2 Basen (Beobachter)  2 Quantenzustände  engl. Rauschen in Kanälen  RAID: redundanter Verbund preiswerter Speichermedien  Mean Time between Failure: Die heuristisch berechnete Zeit zwischen zwei Fehlverhalten eines Systems  Fehlerkorrekturcode; Verwendet wird derselbe Algorithmus wie bei fehlerkorrigiernden RAM-Bausteinen und modernen Festplattenkonzepten  engl. für das Aufteilen der Dateien in kleine Datensegmente konstanter Länge.  in der Literatur wir auch der Begriff duplexing verwendet  chaotische Lagerhaltung heißt, daß der optimale Lagerplatz vom Leitrechner bestimmt wird und auch nur diesem bekannt ist.  engl. tempest: Sturm  electronic mail, engl. für (durch ein Netzwerk versandte) elektronische Post.  Akronym für secure hypertext transfer protocol, engl. für sicheres Hypertext-Übertragungsprotokoll.  engl. für Internet-Protokoll der nächsten Generation.  engl. für Finden eines (kurzen, bzw. performanten) Weges innerhalb eines Netzwerkes; oft bezogen auf einen einzelnes System (dann: „router“), das ein Paket weiterleiten muß.  engl. für Senden des selben Datenpakets an eine Gruppe von Zielrechnern, wobei das ausgehenden Paket seitens des Senders nicht mehrfach übertragen werden muß.  engl. für zur Übertragung mittels Multicast-Technik geeigneter Teil des Netzwerks (backbone: engl. für Rückgrat).  engl. für Protokollkopf eines Datagramms; also eine Dateneinheit vor den Nutzdaten, die Informationen darüber enthält, was mit den Nutzdaten passieren soll.  engl. für Senden eines Datenpakets an genau einen Zielrechner.  engl. für Senden eines Datenpakets an genau einen (den schnellsten) Rechner, aus einer bestimmten Gruppe von Rechnern.  engl. für Lieferant; hier: Institution, die anderen den Zugang zum Internet ermöglicht.  engl. für Register.  engl. für Teilnehmer.  engl. für „Unternetz“, also ein Netz innerhalb eines Netzes.  engl. für Schnittstelle.  engl. für Dienst, der Rechnernamen in Rechneradressen umsetzt.  engl. Erweiterungs-(Protokoll-)kopf.  engl. Akronym für „transmission control protocol“, verbindungsortientiertes Übermittlungssteuerungsprotokoll.  engl. Akronym für „user datagram protocol“, verbindungsloses Protokol zur Übermittlung von kurzen Nachrichten.  engl. Akronym für „Internet control message protocol“, Protokoll zum übermitteln von Kontrollnachrichten im Internet.  engl. für Bruchstück.  engl. für Authentifizierung (Beglaubigung).  engl. für „zur Sicherheit eingekapselte Nutzdaten“  engl. für Sicherheitsparameter-Index  engl. für Schlüssel benutzende Version des MD5-Algorithmus.  engl. für internetbezogene Nummernvergabestelle.  engl. für Länge der Nutzdaten (hier: Länge der von keyed MD5 erzeugten Ausgabe).  engl. für Nachrichten-Auslese, meint hier das Bilden einer Wertes aus einer Nachricht mittels einer „schwer“ umkehrbaren Hash-Funktion.  engl. Akronym für „cyclic redundancy check“, zyklischer Redundanzcheck, (leicht umkehrbarer) Algorithmus, mit dem ein Prüfsumme über Daten gebildet werden kann.  engl. für „Mann in der Mitte“, der Angreifer hört hierbei den Datenaustausch der legalen Kommunikationspartner mit (passiv) oder greift zusätzlich ein (aktiv).  engl. Akronym für „Internet Engeneering Task Force“, Organisation, die sich aus zahlreichen technisch Interessierten zusammensetzt, die in Arbeitsgruppen Vorschläge und Spezifikationen für die Internet-Protokolle erarbeiten.  engl. Akronym für „International Standards Organization, Open Systems Interconnection), Referenzmodell der Organisation für internationale Standards bezüglich der Vernetzung von Systemen.  engl. Kunstwort, Verniedlichungsform von Applikation; hier: kleines Java-Programm, das (normalerweise) in einer – „Sandkasten“ genannten – abgeschotteten Umgebung innerhalb eines WWW-Browsers beim Betrachten einer HTML-Seite gestartet wird.  engl. für Datenverschlüsselungsstandard.  engl. für Hintereinanderketten von verschlüsselten Blöcken.  engl. für ausschneiden und kleben, hier: Einfügen von Daten in ein Paket, die vorher aus einem anderen Paket ausgeschnittenen wurden.  engl. für Angriff auf den Schlüssel bei bekanntem Klartext und Chiffrat.  eine Variante des DES, bei dem mit 168-Bit-Schlüsseln gearbeitet wird.  Die change cipher spec Nachricht benachrichtigt den Empfänger über Änderungen bei der Verschlüsselungsmethode.  Eine PCMCIA Karte für Verschlüsselung und digitale Signaturen.  Eine sichere Hash-Funktion, die einen Strom von Daten in einem Wert von festgelegter Größe zusammenfaßt.  Ein sicherer Hash-Algorithmus der eine 20-Byte lange Ausgabe erzeugt.  Der Name von SSLeay entstand aus den Initialien des Programmierers Eric A. Young.  siehe dazu 'Building Internet Firewalls' [ChZw95]  siehe dazu Vortrag „Kryptographie: Grundlagen und Algoritmen“  siehe dazu Vortrag „Angriffsstrategien“  siehe dazu auch Vortrag „Sicherheit auf der physikalischen Schicht“  Patches modifizieren oder ersetzen lokale Dateien, um Fehler zu beseitigen.  Telnet erlaubt Benutzern das Anmelden auf entfernten Rechnern, für die sie eine Nutzungsberechtigung besitzen.  HyperText Tranfer Protocol. Diese Server versenden Daten im World Wide Web.  E-Mails sind elektronische Nachrichten, die über das Internet an bestimmte Benutzer gesendet werden können.  File Transfer Protocol. Hiermit können Dateien über das Internet zwischen zwei Rechnern übertragen werden.  Transmission Control Protocol, Internet Protocol. Protokolle mit unterschiedlichen Aufgaben für die Versendung von Daten über das Internet.  User Datagram Protocol. Ein weiteres Protokoll, vergleichbar mit TCP, hat aber weniger Kontrollfunktionen.  Internet Control Message Protocol. Mit diesem Protokoll werden Nachrichten über den Zustand von Rechnern bzw. Netzen übertragen, z.B. Fehlermeldungen wie „host unreachable“.  Ports sind logische Einheiten, über die das Betriebssystem feststellt, welcher lokale Dienst angesprochen werden soll.  Simple Mail Transfer Protokoll.  Router sind Geräte, die für die optimale Weiterleitung der einzelnen Pakete im Internet über verschiedene Sub-Netze sorgen.  Über ein login meldet sich ein Benutzer bei einem System an.  E-Mail-Attaches erlauben das Anhängen von Dateien an E-Mails.  Nekal ist eine Bezeichnung für höchste Dichtigkeit gegen Leckagen aller Art. Nekaldichte Brandschutzklappen schließen hochwertig fest. D.h., es kann kein meßbarer Rauch bei den üblich zu erwartenden Drücken auf die dem Feuer abgewandte Seite dringen. iv Protokolle und Methoden zum Datenschutz im Internet Inhaltsverzeichnis v vi Protokolle und Methoden zum Datenschutz im Internet Inhaltsverzeichnis vii Tabellen- und Abbildungsverzeichnis xi 12 Simone Weichert Datenschutz und Datensicherheit: Grundlagen und Motivation 13 34 Oliver Schröder Grundlagen des Internets und des TCP/IP Stacks 35 50 Oliver Brühl Kryptographie: Grundlagen und Algorithmen 51 64 Lars Werbeck Quantenkryptographie 65 86 Michael Pohé Sicherheit auf der physikalischen Schicht 85 108 Olaf Strozyk Sicherheit auf der Netzwerkschicht 109 124 Tim Bahnes Sicherheit auf der Transport und Sitzungsschicht 123 136 Wolfgang Martens Sicherheit auf der Anwendungsschicht: WWW 137 152 Torsten Bohnenkamp Sicherheit auf der Anwendungsschicht: e-mail 153 174 Manuel Brinkmann Firewalls 173 196 Rouven Fröleke Electronic Commerce 197 212 Jörg Schramek Sicherheitskonzepte für Firmen 211 Header Worte     Netz C Netz B Netz A BITS Worte Header Lehrstuhl Informatik I Universität Dortmund Juni 1998 Veranstalter: Prof. Dr. Bernd Reusch Dipl.-Inform. Sascha Dierkes Dipl.-Inform. Lars Hildebrand