Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Mit der Entwicklung und dem Ausbau immer komplexerer Netze steigen auch die Anforderungen an die Sicherheit der Kommunikationsvorgänge zwischen Endsystemen sowie an die Sicherung von Netzwerken und der Kommunikationsinfrastrukturen. Dieses Buch bietet eine fundierte Einführung in das Thema der Netzsicherheit. Ausgehend von den existierenden Bedrohungen stellen die Autoren zunächst grundlegende Sicherheitsmechanismen und -dienste vor, um im weiteren Verlauf ihre Integration in Netzwerkprotokolle und -architekturen - sowohl der Festnetz- als auch der Mobilkommunikation - zu diskutieren. Die zweite Auflage wurde um zahlreiche aktuelle Entwicklungen im Bereich der Kryptografie und der Netzsicherheitsprotokolle ergänzt. Ein neuer Teil geht ausführlich auf Denial-of-Service-Bedrohungen und den Schutz von Kommunikationsinfrastrukturen ein. Jedes Kapitel schließt mit Übungen und spezifischen Literaturhinweisen, um das Gelernte zu prüfen und zu vertiefen. Nicht zuletzt aufgrund seines klaren didaktischen Aufbaus vermittelt das Buch ein grundlegendes Verständnis der jeweiligen zentralen Prinzipien der Netzsicherheit und ermöglicht, den Einsatz der wesentlichen Schutzmechanismen in konkreten Netzarchitekturen nachzuvollziehen. Der Leser wird zudem in die Lage versetzt, aktuelle Entwicklungen zu verstehen und kritisch zu bewerten.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 938
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Günter Schäfer studierte von 1989 bis 1994 Informatik an der Universität Karlsruhe (TH) und arbeitete im Anschluss als wissenschaftlicher Mitarbeiter am dortigen Institut für Telematik. Nach seiner Promotion im Oktober 1998 über das Thema »Effiziente Authentisierung und Schlüsselverwaltung in Hochleistungsnetzen« wechselte er im Februar 1999 an die Ecole National Supérieure des Télécommunications in Paris, wo er sich mit Fragen der Netzsicherheit und der Leistungsfähigkeit im Zugangsnetzbereich von Mobilkommunikationsnetzen der dritten Generation beschäftigte. Zwischen August 2000 und April 2005 arbeitete er als wissenschaftlicher Assistent am Fachgebiet Telekommunikationsnetze der Technischen Universität Berlin. Seit April ist er W3-Professor für Telematik/Rechnernetze an der Technischen Universität Ilmenau. Seine hauptsächlichen Arbeitsgebiete sind Netzwerkarchitekturen und -protokolle – oft mit einem Fokus auf Aspekte der Netzsicherheit. Günter Schäfer ist Mitglied der Association of Computing Machinery (ACM), des Institute of Electrical and Electronics Engineers (IEEE) und der Gesellschaft für Informatik (GI).
Michael Roßberg beschäftigt sich seit Beginn seines Informatikstudiums an der Technischen Universität Ilmenau im Jahr 2002 mit verschiedensten Themen der Netzsicherheit. Von 2007 bis 2013 hat er sich als wissenschaftlicher Mitarbeiter am Fachgebiet Telematik/Rechnernetze der TU Ilmenau vor allem mit Themen der VPN-Autokonfiguration beschäftigt und 2011 über ein besonders sabotageresistentes System promoviert. Seit Dezember 2013 fungiert Michael Roßberg als akademischer Rat - ebenfalls im Fachgebiet Telematik/Rechnernetze.
Zu diesem Buch – sowie zu vielen weiteren dpunkt.büchern – können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei dpunkt.plus+:
www.dpunkt.de/plus
- Grundlagen & Protokolle- Mobile & drahtlose Kommunikation- Schutz von Kommunikationsinfrastrukturen
2., aktualisierte und erweiterte Auflage
Günter Schäfer · Michael Roßberg
Prof. Dr.-Ing. Günter Schäfer
Dr.-Ing. Michael Roßberg
Lektorat: Dr. Michael Barabas
Copy Editing: Ursula Zimpfer, Herrenberg
Satz: Dr.-Ing. Michael Roßberg, Illmenau
Herstellung: Frank Heidt
Umschlaggestaltung: Helmut Kraus, www.exclam.de
Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;
detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
ISBN
Buch 978-3-86490-115-7
PDF 978-3-86491-547-5
ePub 978-3-86491-548-2
2., aktualisierte und erweiterte Auflage
Copyright © 2014 dpunkt.verlag GmbH
Wieblinger Weg 17
69123 Heidelberg
Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.
Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.
Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.
5 4 3 2 1 0
Seit dem Erscheinen der ersten Auflage dieses Buches sind elf Jahre vergangen, in denen sich ebenso zahlreiche wie vielfältige Entwicklungen auf dem Gebiet der Netzsicherheit vollzogen haben. Tatsächlich ist die Zahl der Neuerungen so umfangreich, dass wir uns entschieden haben, die zweite Auflage dieses Buches als Auto-renteam vorzubereiten, sodass das Buch nun von Herrn Michael Roßberg und mir gemeinsam gepflegt wird.
Dabei ist zum einen eine gründliche Überarbeitung und Ergänzung der in den einzelnen Kapiteln vermittelten Inhalte erforderlich geworden, die in der vorliegenden zweiten Auflage umfassend aktualisiert wurden. So wurden zahlreiche Entwicklungen im Bereich der Kryptografie aufgenommen, wobei diese sowohl neue Angriffe auf bereits in der ersten Auflage enthaltene kryptografische Algorithmen und Protokolle als auch neue Verfahren betreffen. Hierbei wurden einige in der Vergangenheit sehr wichtige Verfahren, wie DES und MD5, die heute als nicht mehr ausreichend sicher und damit als obsolet gelten, nicht gestrichen, da man an ihrem Beispiel nach wie vor wichtige Sachverhalte gut erklären und nachvollziehen kann. Das Kapitel über asymmetrische Kryptografie wurde um eine elementare Einführung in die Kryptografie auf Grundlage elliptischer Kurven ergänzt, da diese aufgrund der mathematischen Fortschritte bei der Berechnung diskreter Logarithmen von Ganzzahlen in der Praxis eine immer wichtigere Rolle spielt. Das in der ersten Auflage enthaltene Kapitel über mobile Internetkommunikation, in dem die Mobilitätsunterstützung auf Netzwerkschicht mittels Mobile IP und unterstützenden Protokollen für Authentisierung, Autorisierung und Accounting beschrieben wurde, haben wir gestrichen, da Mobile IP in den vergangenen zehn Jahren außer in geschlossenen Umgebungen keine nennenswerte praktische Akzeptanz erfahren hat.
Zum anderen wurde das Buch um einen neuen Teil ergänzt, der den Schutz von Kommunikationsinfrastrukturen vor gezielten Angriffen auf ihre Integrität und Verfügbarkeit in den Mittelpunkt des Interesses rückt. In diesen Teil wurde aus naheliegenden Gründen auch das bereits in der ersten Auflage enthaltene Kapitel über Internet-Firewalls integriert.
In der resultierenden Form eignet sich das Buch gut als Grundlage für zwei oder drei aufeinander aufbauende beziehungsweise teilweise auch unabhängig voneinander zu belegende Vorlesungen. Eine dreistufige Aufteilung könnte beispielsweise die Grundlagen der Datensicherheitstechnik (Teil 1) in einer ersten Vorlesung, ihre Anwendung in Netzen (Teile 2 und 3) in einer zweiten Vorlesung und den Schutz von Kommunikationsinfrastrukturen in einer dritten Vorlesung behandeln, wobei letztere unter Rückgriff auf einige zentrale Grundlagen aus dem ersten Teil auch unabhängig von den anderen belegt werden kann. Eine zweistufige Aufteilung würde die essenziellen Abschnitte des ersten Teils gemeinsam mit ihrer Anwendung in Netzen des zweiten und dritten Teils zusammenfassen, wobei hierfür mindestens eine 4 Semesterwochenstunden umfassende Vorlesung geplant werden sollte. Der Schutz von Kommunikationsinfrastrukturen kann in einer zweiten eigenständigen Vorlesung gelehrt werden. Mit der letztgenannten Variante haben die Autoren an der TU Ilmenau in den vergangenen Jahren sehr gute Erfahrungen gesammelt. Auf weiterführende Kapitel und Abschnitte (im Buch mit einem Sternchen markiert) kann jeweils verzichtet werden ohne das weitere Verständnis zu beeinflussen.
An dieser Stelle möchten wir unseren Hörerinnen und Hörern sowie zahlreichen weiteren Personen herzlich danken, die uns durch ihre Fragen und Anregungen vielfältige Hinweise für die Darstellung des Lehrstoffes in unseren Vorlesungsfolien und diesem Buch gegeben haben. Ebenso gilt besonderer Dank einigen Mitarbeitern des Fachgebiets Telematik/Rechnernetze an der TU Ilmenau für ihre Beiträge zu Vorlesungsfolien, deren Inhalte Eingang in die neue Auflage gefunden haben. Namentlich hervorheben wollen wir an dieser Stelle Herrn Prof. Dr.-Ing. Thorsten Strufe und Herrn Dr.-Ing. Mathias Fischer. Herr Prof. Dr. Martin Dietzfelbinger vom Fachgebiet Komplexitätstheorie und Effiziente Algorithmen der TU Ilmenau hat wertvolle Kommentare zu der Darstellung der asymmetrischen Kryptografie gegeben, die wir zu großen Teilen aufgreifen konnten. Für sämtliche gegebenenfalls noch verbleibende Versäumnisse und Mängel tragen selbstverständlich wir die Verantwortung, und wir werden daher weiterhin für Hinweise und Anregungen dankbar sein.
Ilmenau, im Mai 2014Günter Schäfer und Michael Roßberg
Dieses Buch entstand während meiner Tätigkeit als wissenschaftlicher Assistent im Fachgebiet Telekommunikationsnetze der Technischen Universität Berlin und beruht auf der Vorlesung Network Security, die dort seit dem Wintersemester 2000/2001 von mir gehalten wird.
Ein besonderer Dank gilt daher dem Leiter dieses Fachgebiets, Herrn Prof. Dr.-Ing. Adam Wolisz, der mir an seinem Lehrstuhl hervorragende Arbeitsbedingungen geschaffen und mich darüber hinaus von Anfang an in meinem Bestreben unterstützt hat, ein Lehrbuch über Netzsicherheit zu schreiben.
Herr Dipl.-Ing. Andreas Hess hat die Mühe auf sich genommen, den gesamten Text einer ersten Korrekturlesung zu unterziehen. An dieser Stelle möchte ich mich für seine zügigen Reaktionszeiten und seine zahlreichen Anregungen herzlich bedanken.
Dank gilt ebenfalls dem Lektorat des dpunkt.verlages, das mir stets hilfreich zur Seite stand und die Zusammenarbeit sehr angenehm gestaltete, sowie den mir unbekannten Fachgutachtern für ihre vielfältigen Hinweise.
Schließlich möchte ich mich bei den Hörern meiner Vorlesung für ihre zahlreichen Fragen und Anregungen bedanken, die mir eine Vielzahl von Ideen für die inhaltliche Gestaltung dieses Buches gegeben haben.
Wenn trotz all dieser Hilfe noch Fehler in diesem Lehrbuch verblieben sind, so liegt die alleinige Verantwortung dafür natürlich bei mir. Für Hinweise und Anregungen zum Stoff dieses Buches werde ich daher auch weiterhin sehr dankbar sein.
Berlin, im Januar 2003Günter Schäfer
I Grundlagen der Datensicherheitstechnik
1 Einleitung
1.1 Inhalt und Aufbau dieses Buches
1.2 Bedrohungen und Sicherheitsziele
1.3 Sicherheitsanalyse für Netze
1.4 Maßnahmen der Informationssicherheit
1.5 Zentrale Begriffe der Kommunikationssicherheit
2 Grundbegriffe der Kryptologie
2.1 Kryptologie, Kryptografie und Kryptanalyse
2.2 Klassifizierung kryptografischer Algorithmen
2.3 Kryptanalyse
2.4 Einschätzung des Aufwandes kryptografischer Analysen
2.5 Eigenschaften und Klassifizierung von Chiffrieralgorithmen
2.6 Schlüsselverwaltung
2.7 Zusammenfassung
2.8 Weiterführende Literatur
2.9 Übungen
3 Symmetrische Chiffrierverfahren
3.1 Betriebsarten von Blockchiffren
3.2 Der Data Encryption Standard
3.3 Der Advanced Encryption Standard
3.4 Der RC4-Algorithmus
3.5 Der KASUMI-Algorithmus
3.6 Zusammenfassung
3.7 Weiterführende Literatur
3.8 Übungen
4 Asymmetrische kryptografische Verfahren
4.1 Grundidee asymmetrischer kryptografischer Verfahren
4.2 Mathematische Grundlagen
4.3 Der RSA-Algorithmus
4.4 Das Problem des diskreten Logarithmus
4.5 Das Diffie-Hellman-Schlüsselaustauschverfahren
4.6 Der ElGamal-Algorithmus
4.7 Sicherheit herkömmlicher asymmetrischer Kryptografie
4.8 Grundlagen der Kryptografie auf elliptischen Kurven
4.9 Zusammenfassung
4.10 Weiterführende Literatur
4.11 Übungen
5 Kryptografische Prüfwerte
5.1 Anforderungen und Klassifikation
5.2 Modifikationserkennungswerte
5.3 Nachrichtenauthentisierungswerte
5.4 Authentisierte Verschlüsselung
5.5 Zusammenfassung
5.6 Weiterführende Literatur
5.7 Übungen
6 Erzeugung sicherer Zufallszahlen
6.1 Zufallszahlen und Pseudozufallszahlen
6.2 Kryptografisch sichere Zufallszahlen
6.3 Statistische Tests für Zufallszahlen
6.4 Erzeugung von Zufallszahlen
6.5 Erzeugung kryptografisch sicherer Pseudozufallszahlen
6.6 Implementierungssicherheit
6.7 Zusammenfassung
6.8 Weiterführende Literatur
6.9 Übungen
7 Kryptografische Protokolle
7.1 Eigenschaften und Notation kryptografischer Protokolle
7.2 Nachrichten- und Instanzenauthentisierung
7.3 Das Needham-Schroeder-Protokoll
7.4 Kerberos
7.5 Der internationale Standard X.509
7.6 Sicherheit ausgehandelter Sitzungsschlüssel
7.7 Fortgeschrittene Verfahren zur Passwortauthentisierung
7.8 Formale Betrachtung kryptografischer Protokolle
7.9 Zusammenfassung
7.10 Weiterführende Literatur
7.11 Übungen
8 Sichere Gruppenkommunikation
8.1 Spezifische Anforderungen sicherer Gruppenkommunikation
8.2 Aushandlung von Gruppenschlüsseln
8.3 Quellenauthentisierung
8.4 Zusammenfassung
8.5 Weiterführende Literatur
8.6 Übungen
9 Zugriffskontrolle
9.1 Begriffsdefinitionen und Konzepte
9.2 Security Labels
9.3 Spezifikation von Zugriffskontrollrichtlinien
9.4 Kategorien von Zugriffskontrollmechanismen
9.5 Zusammenfassung
9.6 Weiterführende Literatur
9.7 Übungen
II Netzsicherheit
10 Integration von Sicherheitsdiensten
10.1 Motivation
10.2 Ein pragmatisches Modell
10.3 Überlegungen zur Platzierung von Sicherheitsdiensten
10.4 Integration in untere Protokollschichten vs. Anwendungen
10.5 Integration in End- oder Zwischensysteme
10.6 Zusammenfassung
10.7 Weiterführende Literatur
10.8 Übungen
11 Sicherheitsprotokolle der Datensicherungsschicht
11.1 Virtuelle Separation von Datenverkehr mit IEEE 802.1Q
11.2 Sicherung der lokalen Netzinfrastruktur mit IEEE 802.1X
11.3 Verschlüsselung des Datenverkehrs mit IEEE 802.1AE
11.4 Point-to-Point Protocol
11.5 Point-to-Point Tunneling Protocol
11.6 Virtuelle private Netze
11.7 Zusammenfassung
11.8 Weiterführende Literatur
11.9 Übungen
12 Die IPsec-Sicherheitsarchitektur
12.1 Kurze Einführung in die Internetprotokollfamilie
12.2 Überblick über die IPsec-Architektur
12.3 Einsatz des Transport- und des Tunnelmodus
12.4 IPsec-Protokollverarbeitung
12.5 Das ESP-Protokoll
12.6 Das AH-Protokoll
12.7 Das ISAKMP-Protokoll
12.8 Der Internet Key Exchange Version 1
12.9 Der Internet Key Exchange Version 2
12.10 Weitere Aspekte von IPsec
12.11 Zusammenfassung
12.12 Weiterführende Literatur
12.13 Übungen
13 Sicherheitsprotokolle der Transportschicht
13.1 Secure Socket Layer (SSL)
13.2 Transport Layer Security (TLS)
13.3 Datagram Transport Layer Security (DTLS)
13.4 Secure Shell (SSH)
13.5 Zusammenfassung
13.6 Weiterführende Literatur
13.7 Übungen
III Sichere drahtlose und mobile Kommunikation
14 Sicherheitsaspekte der Mobilkommunikation
14.1 Bedrohungen in Mobilkommunikationsnetzen
14.2 Wahrung der Vertraulichkeit des Aufenthaltsortes
14.3 Zusammenfassung
14.4 Weiterführende Literatur
14.5 Übungen
15 Sicherheit in drahtlosen lokalen Netzen
15.1 Der Standard IEEE 802.11 für drahtlose lokale Netze
15.2 Instanzenauthentisierung
15.3 Wired Equivalent Privacy
15.4 Robust Secure Networks
15.5 Sicherheit in öffentlichen WLANs
15.6 Zusammenfassung
15.7 Weiterführende Literatur
15.8 Übungen
16 Sicherheit in funkbasierten Weitverkehrsnetzen
16.1 Global System for Mobile Communication (GSM)
16.2 Universal Mobile Telecommunications System (UMTS)
16.3 Long Term Evolution (LTE)
16.4 Zusammenfassung
16.5 Weiterführende Literatur
16.6 Übungen
IV Schutz von Kommunikationsinfrastrukturen
17 Schutz von Kommunikation und Infrastruktur in offenen Netzen
17.1 Systematische Bedrohungsanalyse
17.2 Sicherheit von Endsystemen
17.3 Zusammenfassung
17.4 Weiterführende Literatur
17.5 Übungen
18 Verfügbarkeit des Datentransports
18.1 Sabotageangriffe
18.2 Verteilte Sabotageangriffe
18.3 Gegenmaßnahmen
18.4 Zusammenfassung
18.5 Weiterführende Literatur
18.6 Übungen
19 Routing-Sicherheit
19.1 Kryptografische Sicherung von BGP
19.2 Erkennung von Routing-Anomalien*
19.3 Zusammenfassung
19.4 Weiterführende Literatur
19.5 Übungen
20 Sichere Namensauflösung
20.1 Funktionsweise von DNS
20.2 Sicherheitsziele und Bedrohungen
20.3 Sicherer Einsatz von traditionellem DNS
20.4 Kryptografische Sicherung von DNS
20.5 Zusammenfassung
20.6 Weiterführende Literatur
20.7 Übungen
21 Internet-Firewalls
21.1 Aufgaben und Grundprinzipien einer Firewall
21.2 Firewall-relevante Internetdienste und Protokolle
21.3 Terminologie und Grundbausteine
21.4 Firewall-Architekturen
21.5 Paketfilterung
21.6 Bastion Hosts und Proxyserver
21.7 Weitere Aspekte moderner Firewall-Systeme
21.8 Zusammenfassung
21.9 Weiterführende Literatur
21.10 Übungen
22 Automatisierte Angriffserkennung und -reaktion
22.1 Arbeitsweise und Ziele von Intrusion-Detection-Systemen
22.2 Aufbau und Funktionsweise netzwerkbasierter IDS
22.3 Reaktion auf Angriffe und automatische Unterbindung
22.4 Techniken zur Umgehung von NIDS
22.5 Zusammenfassung
22.6 Weiterführende Literatur
22.7 Übungen
23 Verwaltung komplexer Kommunikationsinfrastrukturen*
23.1 Automatisches Zertifikatsmanagement
23.2 Automatische VPN-Konfiguration
23.3 Zusammenfassung
23.4 Weiterführende Literatur
23.5 Übungen
Literaturverzeichnis
Abkürzungsverzeichnis
Index
Grundlagen der Datensicherheitstechnik
Es ist eine mittlerweile wohlbekannte Tatsache, dass die digitale Revolution und die allgegenwärtige Vernetzung von Informationssystemen bei all ihren Vorteilen auch einige Risiken mit sich bringen. In diesem Buch sind eine bestimmte Kategorie von Risiken und insbesondere die Maßnahmen zu ihrer Bekämpfung von Interesse. Es die Kategorie der Risiken, die aus der Abhörbarkeit und Manipulierbarkeit der in Kommunikationsnetzen übertragenen Daten und der Verwundbarkeit der Kommunikationsinfrastruktur selbst erwachsen.
Schutz zu übertragender Daten
Die Schutzbedürftigkeit zu übertragender, aber auch zu speichernder Daten wurde von der Menschheit schon sehr früh erkannt, und so ist der Wunsch, Daten vor unberechtigtem Zugriff zu schützen, vermutlich so alt wie die Schrift selbst. Verlässliche, frühe Überlieferungen über entsprechende Schutzmaßnahmen berichten beispielsweise über eine von den Spartanern etwa 400 Jahre vor Christus eingesetzte Technik, Nachrichten auf ein Lederband zu schreiben, das um einen Stock eines bestimmten Durchmessers gewickelt war. Vor der Übermittlung der Nachricht wurde das Lederband von dem Stock entfernt, sodass ein potenzieller Angreifer, der nicht über einen Stock des gleichen Durchmessers verfügte (zum Beispiel weil er den Durchmesser oder auch diese Technik nicht kannte), die Nachricht nicht lesen konnte. In gewisser Weise wurde hierdurch eine erste »analoge« Verschlüsselung realisiert.
Erste Substitutionschiffren
Im vierten Jahrhundert vor Christus entwickelte der GriechePolybius eine Tafel für bilaterale Substitution, die eine Abbildung von Zeichen auf Paare von Symbolen sowie die entsprechende Rückabbildung definierte und somit ein erstes »digitales« Verschlüsselungsverfahren spezifizierte. Von den Römern ist bekannt, dass sie ihre taktische Kommunikation oft mit einfachen, sogenannten monoalphabetischen Substitutionsverfahren schützten, von denen das bekannteste wohl die »Cäsar-Chiffre« sein dürfte. Bei diesem nach seinem Erfinder Julius Cäsar benannten Verschlüsselungsverfahren wird jedes Zeichen des Alphabets auf das um drei Zeichen folgende Zeichen ersetzt, also etwa »A« durch »D«, »B« durch »E« und so weiter.
Anfänge der Kryptanalyse
Die Araber entwickelten als Erste ein Grundverständnis der beiden fundamentalen Prinzipien Substitution, das heißt der Zeichenersetzung, und Transposition, welches die Änderung der Reihenfolge der Zeichen eines Textes ist. Sie betrachteten bei der Bewertung von Verfahren auch die Analyse eines Verfahrens durch einen potenziellen Angreifer. So war ihnen bereits die Bedeutung relativer Buchstabenhäufigkeiten einer Sprache für die Analyse von Substitutionschiffren bekannt, da diese Rückschlüsse auf die Substitutionsregeln zulassen. Zu Beginn des fünfzehnten Jahrhunderts nach Christus enthält die arabische Enzyklopädie »Subh al-a’sha« bereits eine beachtliche Abhandlung über kryptografische Verfahren und ihre Analyse.
Schutz der Infrastruktur
Ohne an dieser Stelle die gesamte Entwicklung der Kryptologie zu einer wissenschaftlichen Disziplin nachzuzeichnen, sollte aus den genannten Entwicklungen klarwerden, dass der Schutz zu übertragender Daten seit je her eine besondere Beachtung erfahren hat. Im Zeitalter allgegenwärtiger Kommunikationsnetze erweist sich jedoch zunehmend auch eine zweite Kategorie von Risiken von immer größerer Dringlichkeit, die nicht direkt die zu übertragenden Daten, sondern die Kommunikationsinfrastruktur an sich betrifft. Mit der Entwicklung und dem Ausbau immer komplexerer Netze sowie ihrer zunehmenden Bedeutung – nicht nur für die wirtschaftliche, sondern auch für die soziale Entwicklung einer modernen Informationsgesellschaft – steigen auch die Anforderungen an die Sicherheit der Kommunikationsinfrastruktur vor absichtlichen Manipulationen. So ist für einen wirtschaftlichen Betrieb beispielsweise sicherzustellen, dass die von Kommunikationsnetzen bereitgestellten Dienste zur Verfügung stehen und korrekt funktionieren sowie dass erfolgte Dienstnutzungen auch korrekt und nachvollziehbar abgerechnet werden können.
In diesem Buch werden die beiden bisher skizzierten Aufgabengebiete der Netzsicherheit, die Sicherheit zu übertragender Daten sowie die Sicherheit der Kommunikationsinfrastruktur, gleichermaßen behandelt. Hierzu werden in den folgenden Abschnitten zunächst zentrale Begriffe und Konzepte eingeführt und ein erster Überblick über Maßnahmen der Informationssicherheit gegeben.
Teil 1 des Buches behandelt Grundlagen.
In den verbleibenden Kapiteln des ersten Teils werden darauf aufbauend die Grundlagen der Datensicherheitstechnik behandelt. Kapitel 2 führt in Grundbegriffe der Kryptografie ein. Kapitel 3 behandelt die Verwendung und die Funktionsweise symmetrischer Chiffrierverfahren. Das sich anschließende Kapitel 4 ist den asymmetrischen kryptografischen Algorithmen gewidmet. Kapitel 5 führt in kryptografische Prüfwerte zur Erkennung von Nachrichtenmanipulationen ein. Die Erzeugung sicherer, nicht vorhersehbarer Zufallszahlen ist Gegenstand von Kapitel 6. Die Algorithmen dieser vier Kapitel stellen gewissermaßen die Grund-primitive der Datensicherheitstechnik dar, auf denen die kryptografischen Schutzmechanismen der Netzsicherheit beruhen. Kapitel 7 behandelt kryptografische Protokolle. Hier werden insbesondere die für die Netzwerksicherheit zentralen Authentisierungs- und Schlüsselaustauschprotokolle eingeführt, welche in Kapitel 8 im Kontext von Gruppenkommunikationsszenarien vertieft werden. Diese vertiefte Diskussion kann in einem einführenden Kurs über das Thema auch weggelassen werden, ohne dass das Verständnis der weiteren Teile des Buches davon beeinflusst würde. Das den ersten Teil beschließende Kapitel 9 gibt eine Einführung in Prinzipien der Zugriffskontrolle.
Teil 2 führt in Architekturen und Protokolle der Netzsicherheit ein.
Der zweite Teil des Buches behandelt Architekturen und Protokolle der Netzsicherheit. Kapitel 10 führt zunächst in die allgemeine Fragestellung der Integration von Sicherheitsdiensten in Kommunikationsarchitekturen ein. Kapitel 11 erläutert Sicherheitsprotokolle der Datensicherungsschicht, Kapitel 12 behandelt die Sicherheitsarchitektur für das Internetprotokoll IPsec und Kapitel 13 beschreibt Sicherheitsprotokolle der Transportschicht.
Teil 3 ist der drahtlosen und mobilen Kommunikation gewidmet.
Im dritten Teil dieses Buches wird das Gebiet der sicheren drahtlosen beziehungsweise mobilen Kommunikation vorgestellt. Kapitel 14 grenzt die bei mobiler Kommunikation zusätzlich auftretenden Sicherheitsaspekte von denen der Festnetze ab und stellt eher konzeptionelle Ansätze zur Wahrung der Vertraulichkeit des aktuellen Aufenthaltsortes mobiler Geräte vor. Die verbleibenden Kapitel dieses Buchteils untersuchen konkrete Systembeispiele. Kapitel 15 behandelt die Sicherheitsfunktionen des Standards IEEE 802.11 für drahtlose lokale Netze einschließlich der Schwächen früher Versionen dieses Standards. Kapitel 16 führt in die Sicherheitsfunktionen der europäischen Standards für mobile Weitverkehrsnetze GSM, UMTS und LTE ein.
Teil 4 beschäftigt sich mit dem Schutz von Kommunikationsinfrastrukturen.
Während die vorhergehenden Teile des Buches sich hauptsächlich auf die Sicherheit von Kommunikationsvorgängen zwischen Endsystemen konzentrieren, geht der vierte und letzte Teil des Buches auf die Sicherung großer Netzwerke und der Kommunikationsinfrastrukur ein. Kapitel 17 beschreibt dazu zunächst das grundlegende Problem des Schutzes von Systemen in offenen Netzen und gibt eine kurze Übersicht über die systematische Bedrohungsanalyse. Darüber hinaus wird das Problem der Sicherung der Endsysteme als Voraussetzung eines sicheren Netzbetriebs behandelt. Das folgende Kapitel 18 befasst sich mit Sabotageangriffen, die Endsysteme und Kommunikationsinfrastruktur gleichermaßen betreffen. Kapitel 19 und Kapitel 20 beschäftigen sich mit der Sicherheit grundlegender Dienste einer Kommunikationsinfrastruktur: dem Routing und der Namensauflösung. Internet-Firewalls als wichtigstes Mittel zur Realisierung einer subnetzbezogenen Zugriffskontrolle werden in Kapitel 21 eingeführt. Da Angriffe nicht immer nur durch die vorgestellten proaktiven Schutzmaßnahmen verhindert werden können, ist oft eine zusätzliche Kontrolle durch Intrusion-Detection-Systeme beziehungsweise Intrusion-Prevention-Systeme sinnvoll. Deren Grundlagen und existierende Verfahren werden in Kapitel 22 vorgestellt. Das abschließende Kapitel 23 beschäftigt sich mit dem Management großer Sicherheitsinfrastrukturen.
Das Gebiet der Netzsicherheit ist von großer Dynamik geprägt.
An dieser Stelle sei dem Leser vor der weiteren Lektüre des Buches mitgegeben, dass sich das Gebiet der Netzsicherheit in den letzten Jahren als ein sehr aktives Gebiet erwiesen hat, und dass aus diesem Grund ständig eine Vielzahl von Verbesserungen existierender Sicherheitsprotokolle sowie auch neue Protokolle entwickelt und eingeführt werden. Der Schnelligkeit dieser Entwicklung in einem Lehrbuch Rechnung zu tragen, ist daher ein ausgesprochen schwieriges, wenn nicht unmögliches Unterfangen. Aus diesem Grund möge der Leser verzeihen, wenn das eine oder andere Detail zum Zeitpunkt seiner Lektüre bereits auf andere Weise gelöst wird beziehungsweise sich vollständig neue Protokolle etabliert haben, ohne dass sie im vorliegenden Buch behandelt werden. Gerade aufgrund der rasanten Entwicklung des Gebietes wurde als vordringliches Ziel dieses Buches ins Auge gefasst, dem Leser ein grundlegendes Verständnis der jeweils zentralen Prinzipien zu vermitteln und diese anhand konkreter und praxisrelevanter Beispielprotokolle zu erläutern.
Eine zentrale Rolle bei der Einschätzung von Risiken in Kommunikationsnetzen spielen die Begriffe Bedrohung und Sicherheitsziel. Sie sollen daher im Folgenden zunächst generisch definiert werden.
Definition 1.1EineBedrohungin einem Kommunikationsnetz ist ein potenzielles Ereignis beziehungsweise eine Reihe von Ereignissen, die zur Gefährdung eines oder mehrerer Sicherheitsziele führt. Die tatsächliche Realisierung einer Bedrohung nennt man einenAngriff.
Beispiele für konkrete Bedrohungen
Die oben gegebene Definition 1.1 ist recht abstrakt und greift zudem auf den erst im Folgenden zu definierenden Begriff des Sicherheitsziels zurück. Zur Verdeutlichung können die folgenden Beispiele für Bedrohungen herangezogen werden:
Ein Angreifer (»Hacker«) dringt in einen Rechner eines Unternehmens ein.
Mitlesen von übertragenen E-Mails
Ändern sensibler Kontodaten in einem Abrechnungssystem
Ein Angreifer legt einen Webserver zeitweise still.
Jemand nutzt beziehungsweise bestellt Dienstleistungen und Güter im Namen eines anderen.
Beispiele für Sicherheitsziele
Auch der Begriff Sicherheitsziel kann zunächst besser anhand einiger Beispiele verstanden werden, da Sicherheitsziele in Abhängigkeit von dem betrachteten Anwendungsszenario auf den ersten Blick sehr unterschiedlich erscheinen:
Banken:
• Schutz vor vorsätzlicher oder unbeabsichtigter Modifikation von Transaktionen
• Zuverlässige und nicht manipulierbare Identifizierung von Kunden
• Schutz persönlicher Identifikationsnummern vor Offenlegung
• Schutz persönlicher Kundendaten
Verwaltung:
• Schutz vor Offenlegung sensitiver Information
• Realisierung elektronischer Signaturen für Verwaltungsdokumente
Öffentliche Netzbetreiber:
• Beschränkung des Zugriffs auf Managementfunktionen des Netzes nur für autorisierte Betriebskräfte
• Schutz der Verfügbarkeit angebotener Dienste
• Gewährleistung einer korrekten und manipulationssicheren Abrechnung von Dienstnutzungen
• Schutz persönlicher Kundendaten
Unternehmens- und private Netze:
• Schutz der Vertraulichkeit von ausgetauschten Daten
• Sicherstellung der Authentizität von Nachrichten (siehe unten)
Alle Netze: Schutz vor externen Eindringlingen
Allgemeine Definition von Sicherheitszielen
Einige der oben aufgeführten Sicherheitsziele sind natürlich für mehrere Anwendungsszenarien relevant; wenngleich sie oben nicht mehrfach genannt sind. Sicherheitsziele können aber auch unabhängig von einem konkreten Anwendungsszenario aus rein technischer Sicht definiert werden.
Definition 1.2Im Allgemeinen können bei Kommunikationsnetzen die folgendentechnischen Sicherheitszieleunterschieden werden:
Vertraulichkeit (Confidentiality):
Übertragene oder gespeicherte Daten und/oder spezifische Details eines Kommunikationsvorgangs (zum Beispiel die Identität des Absenders oder Empfängers einer Nachricht) sollen nur berechtigten Instanzen bekannt werden können.
Datenintegrität (Data Integrity):
Es muss möglich sein, unbeabsichtigte oder vorsätzliche Datenänderungen zu erkennen. Hierfür ist es erforderlich, den Urheber (Erzeuger) von Daten eindeutig und nicht manipulierbar zu identifizieren.
Zurechenbarkeit (Accountability):
Es muss möglich sein, die für ein bestimmtes Ereignis (zum Beispiel eine Dienstnutzung) verantwortliche Instanz zu identifizieren.
Verfügbarkeit (Availability):
Die in einem System realisierten Dienste sollen verfügbar sein und korrekt funktionieren.
Kontrollierter Zugang (Controlled Access):
Nur autorisierte Instanzen sollen auf bestimmte Dienste und Daten zugreifen können.
Das letzte Ziel wird nicht von allen Sicherheitsexperten als eigenständig angesehen. In Kommunikationsnetzen ist es aber oft durchaus sinnvoll, den Zugang zum Netz zu beschränken, obwohl für das lokale Netz durch einen unautorisierten Zugang keine direkte Bedrohung erwächst.
Allgemeine technische Bedrohungen
Ebenso wie Sicherheitsziele können auch Bedrohungen aus primär technischer Sicht betrachtet werden und somit lassen sich die folgenden technischen Bedrohungen unterscheiden:
Technische Bedrohungen
Technische Sicherheitsziele
Maskerade
Abhören
Autorisierungsverletzung
Verlust oder Modifikation von Information
Fälschen von Information
Abstreiten von Ereignissen
Sabotage (z.B. durch Überlast)
Vertraulichkeit
x
x
x
Datenintegrität
x
x
x
x
Zurechenbarkeit
x
x
x
x
Verfügbarkeit
x
x
x
x
Kontrollierter Zugriff
x
x
x
Tabelle 1.1 Technische Sicherheitsziele und Bedrohungen
Maskerade:
Eine Instanz gibt vor, die Identität einer anderen Instanz zu haben.
Abhören:
Eine Instanz liest eine Information, die eigentlich nicht für sie bestimmt ist.
Autorisierungsverletzung:
Eine Instanz nutzt Dienste oder Ressourcen, die sie eigentlich nicht nutzen sollte.
Verlust oder Modifikation von Information:
Bestimmte Informationen werden zerstört oder modifiziert.
Fälschung von Information:
Eine Instanz erzeugt neue Information unter Benutzung der Identität einer anderen Instanz.
Abstreiten von Ereignissen:
Eine Instanz gibt fälschlicherweise vor, nicht an einem bestimmten Ereignis beteiligt gewesen zu sein.
Sabotage:
Jede Aktion, die zum Ziel hat, die Verfügbarkeit oder korrekte Funktion von Diensten oder Systemen zu reduzieren. Im englischsprachigen Raum werden diese Angriffe mit dem Begriff
Denial-of-Service (DoS)
bezeichnet.
Auf der Grundlage dieser Begriffe ist es möglich, eine allgemeine Zuordnung vorzunehmen, die verdeutlicht, welche Sicherheitsziele primär durch welche Bedrohungen gefährdet werden. Tabelle 1.1 zeigt diese Zuordnung im Überblick. Die Tabelle kann auf zwei Arten gelesen werden: Zum einen zeigt sie zum Beispiel, dass die Vertraulichkeit von Informationen durch die technischen Bedrohungen Maskerade, Abhören und Autorisierungsverletzung gefährdet ist. Zum anderen kann auch direkt abgelesen werden, dass zum Beispiel die Fälschung von Information primär die Sicherheitsziele Datenintegrität, Zurechenbarkeit und kontrollierter Zugang gefährdet.
Reale Angriffe kombinieren oft mehrere Bedrohungen.
In der Realität werden die oben genannten Bedrohungen oft kombiniert, um einen konkreten Angriff zu realisieren. So wird das Eindringen in ein System häufig dadurch realisiert, dass zunächst eine Zugangskennung und das dazugehörende Passwort abgehört werden und dann die Identität der abgehörten Kennung bei der Zugangsprüfung vorgegeben wird, wobei Letzteres eine Maskerade darstellt. Aus diesem Grund dient Tabelle 1.1 eher erläuternden Zwecken, als dass sie konkrete Fähigkeiten oder Möglichkeiten unterschiedlicher Angreifer definiert.
Szenarienbezogene Bewertung von BedrohungenAchtung: Es ist nicht möglich, unbekannte Angriffstechniken zu bewerten!
Um geeignete Maßnahmen gegen die oben genannten Bedrohungen in einem konkreten Anwendungsszenario treffen zu können, müssen diese zunächst sorgfältig für die in dem Szenario verwendete Netzwerkkonfiguration bewertet werden. Dies erfordert eine detaillierte Sicherheitsanalyse der eingesetzten Netztechnologie, die das Risikopotenzial der technischen Bedrohungen für die in einem Netz kommunizierenden Instanzen evaluiert und hierbei auch den Aufwand im Sinne erforderlicher Ressourcen (Rechenkapazität, Speicher, Nachrichtenübermittlung) für die Ausführung bekannter Angriffstechniken bewertet.
Eine solche detaillierte Sicherheitsanalyse für eine gegebene Netzkonfiguration beziehungsweise eine spezifische Protokollarchitektur kann unter Umständen auch nötig sein, um das finanzielle Controlling eines Unternehmens von der Notwendigkeit erforderlicher Sicherheitsmaßnahmen zu überzeugen. Da sowohl die Angriffstechniken als auch die Netzwerkkonfigurationen in der Regel einem ständigen Wandel unterworfen sind, muss das Risiko oft sogar fortlaufend bewertet werden. Bei großen Unternehmen bietet es sich hierzu an, ein Sicherheitsmanagement nach ISO 27001 [ISO13] umzusetzen, indem etwa eine Stelle für einen dedizierten Sicherheitsbeauftragten geschaffen wird.
Eine Schlüsselfrage in Bezug auf durchzuführende Sicherheitsanalysen ist in jedem Fall, wie die Komplexität des Gesamtsystems reduziert werden kann. Einige grundlegenden Techniken werden hierzu in Kapitel 17 vertiefend betrachtet werden, aber eine Sicherheitsanalyse für eine spezifische Protokollarchitektur kann etwa gemäß den folgenden, feingranularen Angriffen auf Nachrichtenebene strukturiert werden:
Passive Angriffe: Abhören von Protokolldateneinheiten (Protocol Data Units, PDUs)
Aktive Angriffe: Verzögern, Wiedereinspielen, Löschen, Modifizieren und Einfügen von PDUs
Kombination von Angriffen
Bei jeglicher Sicherheitsanalyse sollte in jedem Fall davon ausgegangen werden, dass ein realer Angreifer die oben genannten Angriffe miteinander kombinieren können muss, um komplexere Angriffe zusammensetzen zu können. Es handelt sich also um als Angriffsprimitive zu verstehende Grundbausteine. Von einem »erfolgreichen Angriff« auf Nachrichtenebene werden daher die folgenden Eigenschaften gefordert, da sonst gegebenenfalls keine komplexeren Angriffe ausgeführt werden können, weil der Angriff etwa entdeckt wird und Gegenmaßnahmen eingeleitet werden:
Der Angriff erzeugt keine direkt erkennbaren Nebeneffekte für andere Kommunikationsvorgänge, zum Beispiel für andere Verbindungen oder verbindungslose Datenübertragungen.
Der Angriff erzeugt kaum Nebeneffekte für andere PDUs der gleichen Verbindung beziehungsweise der verbindungslosen Datenübertragung zwischen den an der Kommunikation beteiligten Instanzen.
Bei der Sicherheitsanalyse einer Protokollarchitektur sind die oben genannten Angriffe für jede einzelne Schicht der Architektur zu untersuchen.
Gliederung von Protokollfunktionen in fünf Schichten
Abbildung 1.1 zeigt die heutzutage übliche Architektur geschichteter Kommunikationssysteme. In dieser kommunizieren Endsysteme über ein Netz von Zwischensystemen miteinander. Die hierfür erforderlichen Protokollfunktionen werden in fünf Schichten organisiert:
Die unterste Schicht ist die
Bitübertragungsschicht
. Sie realisiert die Übertragung eines Bitstroms über ein physikalisches Medium (zum Beispiel eine Leitung oder eine Funkübertragungsstrecke).
Die darüber liegende
Datensicherungsschicht
fasst mehrere Bits aus dem zu übertragenden Bitstrom zu Übertragungsrahmen zusammen und realisiert eine gegen Fehler gesicherte Übertragung zwischen zwei über ein physikalisches Medium verbundenen Systemen. In diesem Zusammenhang erfüllt sie zwei grundsätzliche Aufgaben: Im Fall eines Übertragungs-mediums, welches mehreren Systemen gemeinsam zur Verfügung steht, steuert sie den Zugriff
(Medium Access Control,
MAC)
. Darüber hinaus trifft sie Maßnahmen zur Erkennung von Übertragungsfehlern, sodass fehlerhaft empfangene Rahmen beim Empfänger erkannt und verworfen werden können.
Abbildung 1.1 Architektur geschichteter Kommunikationssysteme
Die
Netzwerkschicht
realisiert die Kommunikation zwischen Endsystemen, die in der Regel über mehrere Zwischensysteme miteinander verbunden sind. Eine zentrale Aufgabe dieser Schicht ist somit die Wahl des Weges (Routing) durch das Vermittlungsnetz zwischen den beiden Endsystemen.
Die
Transportschicht
ermöglicht den Austausch von Daten zwischen den Prozessen der Endsysteme. Die wesentlichen Aufgaben dieser Schicht sind die Adressierung von Anwendungsprozessen, die Fehlererkennung auf Ende-zu-Ende-Ebene und im Fall eines zuverlässigen Dienstes auch Maßnahmen zur Fehlerbehebung (zum Beispiel durch Übertragungswiederholung).
Oberhalb der Transportschicht realisiert die
Anwendungsschicht
– wie ihr Name nahelegt – anwendungsspezifische Protokolle, die so vielfältig sind, wie die in den Endsystemen ablaufenden Anwendungen.
In den (Zwischen-)Systemen des Vermittlungsnetzes werden in der Regel lediglich die unteren drei Schichten bis zur Netzwerkschicht implementiert.
Gliederung der Sicherheitsanalyse
Die Sicherheitsanalyse geschichteter Protokollarchitekturen kann gemäß der oben gegebenen Beschreibung entlang zweier Dimensionen gegliedert werden (vergleiche hierzu auch Abbildung 1.2):
Abbildung 1.2 Dimensionen der Sicherheitsanalyse geschichteter Protokollarchitekturen
Zunächst müssen innerhalb der zu untersuchende Netzkonfiguration
gefährdete Systeme und Schnittstellen
identifiziert werden. Besondere Gefährdungen ergeben sich beispielsweise aus öffentlich zugänglichen Endsystemen, an Übergängen zu öffentlichen Netzen, aber auch durch nicht gesicherte Übertragungsstrecken (insbesondere bei drahtloser Übertragung).
Weiterhin wird die Sicherheitsanalyse danach gegliedert,
in welcher Schicht
ein Angriff erfolgen kann. Angriffe müssen nicht notwendigerweise in der Anwendungsschicht erfolgen, im Gegenteil, je nach Intention des Angreifers können sogar hauptsächlich die Schichten unterhalb der Transportschicht den Hauptangriffspunkt darstellen.
Eine detaillierte Sicherheitsanalyse ist bei der Identifizierung der in einer bestimmten Netzkonfiguration vorherrschenden Sicherheitsrisiken sehr nützlich. Auf ihrer Grundlage können im Anschluss geeignete Sicherheitsmaßnahmen zur Reduzierung der Risiken ausgewählt werden. Einen allgemeinen Überblick hierüber liefert der folgende Abschnitt.
Es gibt eine Vielzahl unterschiedlicher Sicherheitsmaßnahmen, die jeweils bestimmte Aspekte eines informationsverarbeitenden Systems und seiner Einbettung in die durch das System zu unterstützenden Arbeitsabläufe aufgreifen:
Physikalische Sicherheitsmaßnahmen
umfassen Schließsysteme und physikalische Zugangskontrollen, die manipulationssichere Gestaltung (»Tamper-Proofing«) sicherheitssensitiver Geräte sowie umgebungsüberwachende Kontrollen, wie zum Beispiel Bewegungsmelder.
Personelle Sicherheitsmaßnahmen
beginnen mit der Einstufung der sicherheitsspezifischen Sensitivität einer Position und umfassen weiterhin Abläufe zur Überprüfung des Personals sowie Schulungs- und Sensibilisierungsmaßnahmen in Bezug auf sicherheitsrelevante Aspekte.
Administrative Sicherheitsmaßnahmen
umfassen Prozeduren für die kontrollierte Einbringung neuer Software und Hardware, die Erkennung sicherheitsrelevanter Vorkommnisse durch das Führen und regelmäßige Überprüfen von Ereignisprotokollen sowie die Untersuchung erkannter sicherheitsrelevanter Verstöße und Vorkommnisse.
Maßnahmen der Mediensicherheit
zielen auf die Sicherung der Speicherung von Informationen ab. Hierzu werden Abläufe und Kontrollmechanismen für die Kennzeichnung, Reproduktion und Zerstörung sensitiver Informationen und Datenträger implementiert.
Vorkehrungen der
Abstrahlungssicherheit
verhindern beziehungsweise begrenzen elektromagnetische Emissionen von Rechensystemen und Peripheriegeräten (insbesondere Monitore), die von einem Angreifer sonst aufgezeichnet und zum Abhören von Informationen verwendet werden können.
Kontrollen des Entwicklungszyklus von Systemen
überwachen den Entwurf, die Implementierung und die Einführung informationsverarbeitender Systeme. Hierbei wird durch die Vorgabe und Kontrolle einzuhaltender Standards der Programmierung und der Dokumentation ein »vertrauenswürdiger« Entwicklungsprozess angestrebt.
Maßnahmen der
Systemsicherheit
von Computern, Betriebssystemen und den auf den Computern ausgeführten Anwendungen haben zum Ziel, die in Rechensystemen gespeicherten und verarbeiteten Informationen zu sichern.
In Ergänzung zu der letztgenannten Kategorie zielen Maßnahmen der
Kommunikationssicherheit
darauf ab, Informationen während ihrer Übermittlung in einem Kommunikationsnetz zu schützen. Zusammen mit Vorkehrungen zum Schutz der Netzinfrastruktur selbst bilden sie die Maßnahmenkategorie der
Netzsicherheit
.
Die sichere Gestaltung eines Informationsverarbeitungsprozesses erfordert eine umfassende Anwendung des Maßnahmenkatalogs.
Den Hauptgegenstand des vorliegenden Buches bildet die letztgenannte Kategorie, die Netzsicherheit. An dieser Stelle sei jedoch ausdrücklich darauf hingewiesen, dass zur Gewährleistung sicherer Informationsverarbeitungsprozesse eine sorgfältige Anwendung des gesamten oben aufgeführten Maßnahmenkatalogs erforderlich ist. Das ist durch die Tatsache begründet, dass ein Sicherheitssystem nur so sicher ist wie seine schwächste Komponente. Der Einsatz eines technisch ausgereiften Passwortsystems, das die Verwendung leicht zu erratender Passwörter verhindert, ist beispielsweise von geringer Effektivität, wenn Benutzer ihre Passwörter auf nicht ausreichend geschützte Medien schreiben oder von einem Angreifer per Anruf dazu gebracht werden können, sie zu verraten (»Social Engineering«).
In diesem Abschnitt werden die für die Netzsicherheit zentralen Begriffe Sicherheitsdienst, kryptografischer Algorithmus und kryptografisches Protokoll eingeführt und ihre Beziehungen untereinander erläutert.
Definition 1.3EinSicherheitsdienstist ein abstrakter Dienst, der zur Erreichung eines bestimmten Sicherheitsziels realisiert wird.
Realisierung von Sicherheitsdiensten
Ein Sicherheitsdienst kann sowohl mit kryptografischen als auch mit herkömmlichen Mitteln realisiert werden. So kann beispielsweise das unberechtigte Auslesen einer auf einem USB-Stick gespeicherten Datei zum einen dadurch verhindert werden, dass die Datei vor der Speicherung verschlüsselt wird. Zum anderen wird das gleiche Ziel aber auch durch das Wegschließen des USB-Sticks in einem sicheren Safe erreicht. In der Regel ist eine Kombination kryptografischer und herkömmlicher Methoden am effektivsten.
Fundamentale Sicherheitsdienste
Die oben gegebene Definition 1.3 legt in ihrer Allgemeinheit den Schluss nahe, dass eine Vielzahl unterschiedlicher Sicherheitsdienste existiert. Tatsächlich ist die Zahl der gemeinhin unterschiedenen Sicherheitsdienste aber erstaunlich gering; genau fünf fundamentale Sicherheitsdienste werden differenziert:
Die
Authentisierung (Authentication)
stellt, wie sich im weiteren Verlauf dieses Buches noch zeigen wird, den wichtigsten Sicherheitsdienst dar, da sie die manipulationssichere Identifikation von Instanzen ermöglicht.
Der Sicherheitsdienst
Datenintegrität (Data Integrity)
ist in gewisser Hinsicht »der kleine Bruder« des Authentisierungsdienstes, da er sicherstellt, dass von einer bestimmten Instanz erzeugte Daten nicht unbemerkt modifiziert werden können.
Die
Vertraulichkeit (Confidentiality)
ist der wohl bekannteste Sicherheitsdienst, der verhindern soll, dass Informationen unautorisierten Instanzen bekannt werden.
Der Sicherheitsdienst
Zugriffskontrolle (Access Control)
überwacht, dass lediglich jene Instanzen, die dazu berechtigt sind, in festgelegter Weise auf bestimmte Informationen und Dienste zugreifen können.
Das Ziel des Dienstes
Urhebernachweis (Non-Repudiation)
ist es, die Urheber von bestimmten Aktionen, zum Beispiel dem Senden einer Nachricht, eindeutig identifizieren zu können, sodass diese getätigte Aktionen im Nachhinein nicht abstreiten können. Im Gegensatz zur Authentisierung ist dieser Nachweis gegenüber Dritten möglich.
Definition 1.4Einkryptografischer Algorithmusist eine mathematische Abbildung von Eingabedaten (zum Beispiel Daten und Schlüssel) auf Ausgabedaten.
Kryptografische Algorithmen spielen eine wichtige Rolle bei der Realisierung von Sicherheitsdiensten. Die Verwendung eines kryptografischen Algorithmus alleine ist jedoch nicht ausreichend hierfür, da zusätzlich noch die Einbettung des Algorithmus in einen semantischen Kontext erforderlich ist. Diese erfolgt in der Regel im Rahmen der Definition eines kryptografischen Protokolls.
Definition 1.5Einkryptografisches Protokollist eine Ablaufvorschrift für eine Reihe von Verarbeitungsschritten und zwischen mehreren Instanzen auszutauschenden Nachrichten, mit deren Ausführung ein bestimmtes Sicherheitsziel erreicht werden soll.
Die beiden zuletzt definierten Begriffe der kryptografischen Algorithmen und Protokolle sind von so grundlegender Bedeutung für die Netzsicherheit, dass sie in diesem Buch in mehreren Kapiteln behandelt werden. Bevor jedoch konkrete Algorithmen und Protokolle vorgestellt werden sollen, werden im nächsten Kapitel zuvor allgemeine Grundlagen der Kryptologie eingeführt.
Dieses Kapitel führt in Grundbegriffe der Kryptologie [Sim94a, Riv90] ein. Nach der Definition der allgemeinen Begriffe Kryptologie, Kryptografie und Kryptanalyse im folgenden Abschnitt 2.1, wird in Abschnitt 2.2 eine grundsätzliche Klassifizierung kryptografischer Algorithmen vorgenommen, die im Rahmen der Netzsicherheit zum Einsatz kommen. Abschnitt 2.3 gibt eine Einführung in grundlegende Fragestellungen der Kryptanalyse. Im Anschluss werden in Abschnitt 2.4 Vergleichswerte für die Bewertung der Durchführbarkeit von Angriffen auf der Grundlage ihres geschätzten Berechnungs- und gegebenenfalls Speicheraufwandes eingeführt. Abschnitt 2.5 behandelt für die Kommunikation wichtige Eigenschaften von Verschlüsselungsverfahren und stellt eine Klassifizierung dieser Verfahren auf. Schließlich geht Abschnitt 2.6 noch auf die wichtigsten Aufgaben der Verwaltung kryptografischer Schlüssel ein, der eine zentrale Bedeutung bei dem Einsatz kryptografischer Verfahren zukommt.
Der Begriff Kryptologie bezeichnet die Wissenschaft von der sicheren und in der Regel vertraulichen Kommunikation. Der Begriff ist abgeleitet von den beiden griechischen Wörtern Kryptós (versteckt) und Lógos (Wort). Die Kryptologie umfasst zwei Hauptgebiete:
Die
Kryptografie
untersucht und entwickelt Verfahren, mit denen ungesicherte
Klartexte
, im Englischen als
Plaintext
bezeichnet, in für unautorisierte Instanzen nicht lesbare
Schlüsseltexte
(engl.
ciphertext
) transformiert werden können. Der Begriff setzt sich aus den beiden Wörtern Kryptós und
gráphein
(schreiben) zusammen. Im Laufe der Fortentwicklung des Gebiets in den beiden letzten Dekaden des 20. Jahrhunderts wurde der Hauptgegenstand der reinen
Verschlüsselungsverfahren
um weitere Kategorien von Algorithmen erweitert, die im Allgemeinen auch zu den kryptografischen Algorithmen gezählt werden, obwohl sie keine Verschlüsselung im eigentlichen Sinne realisieren.
Die Kryptanalyse ist die komplementäre Disziplin der Kryptografie.
Die
Kryptanalyse
, gelegentlich auch
Kryptoanalyse
oder
kryptologische Analyse
genannt, stellt in gewisser Hinsicht die Antagonistin der Kryptografie dar, da sie die Wissenschaft und teilweise auch Kunst der Rückgewinnung des Klartextes aus einem Schlüsseltext ohne initiale Kenntnis des verwendeten Schlüssels bezeichnet. Der Begriff setzt sich aus den beiden griechischen Wörtern Kryptós und
analýein
(lockern, losbinden) zusammen. Die Kryptanalyse stellt eine unentbehrliche Ergänzung der Kryptografie dar, sodass ein Kryptograf zugleich auch immer ein Kryptanalytiker sein muss, damit die von ihm entwickelten Verfahren auch wirklich das leisten können, was von ihnen erwartet wird.
Hauptanwendungen der Kryptografie
Im Zusammenhang mit Netzsicherheit sind insbesondere zwei Hauptanwendungen der Kryptografie von zentraler Bedeutung:
die
Verschlüsselung
von Daten, das heißt die Transformation eines Klartextes in einen Schlüsseltext, sowie ihre inverse Operation, die
Entschlüsselung
, gelegentlich auch als
Chiffrierung
beziehungsweise
Dechiffrierung
bezeichnet, und
die
Signierung
von Daten, das heißt die manipulationssichere Berechnung eines Prüfwertes, der es nachträglich erlaubt, per
Signaturprüfung
zu ermitteln, ob die Daten nach ihrer Erzeugung und Signierung bedingt durch Fehler oder vorsätzliche Manipulation verändert worden sind. Hierbei ist es wichtig, zwischen der
Signierung
in der hier definierten Weise und der Erstellung einer
digitalen Unterschrift
zu unterscheiden. Letztere erlaubt zusätzlich den Nachweis gegenüber Dritten und erbringt damit einen Urhebernachweis.
Einige kryptografische Algorithmen können für beide Anwendungen benutzt werden, wiederum andere sind nur für eine der Anwendungen sicher und / oder effizient einsetzbar.
Klassifikation nach Anzahl verwendeter Schlüssel
Auf einer allgemeinen Ebene können kryptografische Algorithmen danach klassifiziert werden, wie viele verschiedene Schlüssel sie verwenden:
Symmetrische kryptografische Algorithmen
verwenden
einen
Schlüssel, das heißt, eine Nachricht wird mit demselben Schlüssel entschlüsselt, mit dem sie auch verschlüsselt wurde, beziehungsweise eine Signatur wird mit dem gleichen Schlüssel überprüft, mit dem sie auch erstellt wurde.
Asymmetrische kryptografische Algorithmen
verwenden
zwei
verschiedene Schlüssel für die Chiffrierung und Dechiffrierung beziehungsweise Signierung und Signaturprüfung. Die beiden Schlüssel hierfür können nicht unabhängig voneinander gewählt werden, sondern müssen als Paar nach einer für den kryptografischen Algorithmus spezifischen Weise konstruiert werden.
Kryptografische Hashfunktionen
schließlich verwenden
keinen
Schlüssel, das heißt, sie realisieren eine Transformation von Eingabedaten, die lediglich durch den spezifischen Algorithmus, nicht aber durch einen zusätzlichen Schlüssel definiert wird. Diese Kategorie von Algorithmen wird hauptsächlich für die Erstellung von kryptografischen Prüfwerten (siehe hierzu
Kapitel 5
) und bei der Erzeugung sogenannter Pseudo-zufallszahlen (siehe hierzu
Kapitel 6
) eingesetzt.
Jeder dieser Kategorien ist im Folgenden ein eigenes Kapitel gewidmet. Bevor sie jedoch im Detail erläutert werden, sollen zuvor noch einige allgemeine Überlegungen zur Kryptanalyse und zu Eigenschaften und Klassifikation von Chiffrieralgorithmen angestellt werden.
Die Kryptanalyse stellt im Wesentlichen den Prozess dar, aus Schlüsseltexten den zugehörigen Klartext oder den verwendeten Schlüssel zu gewinnen. Je nachdem, welche Voraussetzungen dem Kryptanalytiker hierfür zur Verfügung stehen, unterscheidet man die folgenden klassischen Arten der Kryptanalyse:
Brute-Force-Angriff
Nicht veröffentlichte kryptografische Verfahren bieten in der Regel keine ausreichende Sicherheit.
Bei allen genannten Analyseformen ist eine wichtige Grundannahme, dass der Kryptanalytiker die Funktionsweise des kryptografischen Algorithmus kennt. Diese mittlerweile allgemein als sinnvoll anerkannte Annahme geht auf das nach dem flämischen Kryptografen Auguste Kerckhoff benannte Prinzip zurück, das besagt, dass die Stärke eines kryptografischen Verfahrens vollständig auf der Geheimhaltung des verwendeten Schlüssels und nicht auf der Geheimhaltung des Algorithmus beruhen muss [Ker83]. Dieses Prinzip liegt in der allgemeinen Einsicht darüber begründet, dass allenfalls umfangreiche kryptanalytische Untersuchungen durch eine größere Anzahl erfahrener Kryptanalytiker eine Aussage über die Sicherheit eines kryptografischen Algorithmus zulassen. Ein unter Kryptografen bekannter Aphorismus sagt hierzu, »dass jeder einen kryptografischen Algorithmus entwerfen kann, den er selbst nicht brechen kann«.
Neben den allgemeinen Formen der symmetrischen Kryptanalyse haben sich speziellere Techniken wie die differenzielle Kryptanalyse [BS90, BS93] und die lineare Kryptanalyse [Mat94] etabliert. Bei beiden Techniken handelt es sich um Spezialisierungen der oben genannten Grundarten: Die differenzielle Kryptanalyse realisiert eine spezielle Form der Chosen-Plaintext-Analyse und die lineare Kryptanalyse ist eine spezielle Form der Known-Plaintext-Analyse.
Kryptanalyse asymmetrischer VerfahrenAsymmetrische Kryptanalyse zielt darauf ab, Verfahren vollständig zu brechen.
Die Kryptanalyse asymmetrischer kryptografischer Verfahren lässt sich in die soeben beschriebene Klassifizierung nicht einordnen, da sie in der Regel an einer besonderen Stelle ansetzt: der Konstruktion eines zueinander passenden Schlüsselpaares. Wie noch in dem Kapitel über asymmetrische Kryptografie eingehend erklärt wird, werden diese Schlüsselpaare mit durch den konkreten kryptografischen Algorithmus vorgegebenen mathematischen Eigenschaften konstruiert. Diese Eigenschaften versucht der Kryptanalytiker auszunutzen, indem er aus dem öffentlichen der beiden Schlüssel den dazu passenden privaten Schlüssel zu errechnen versucht. Die Kryptanalyse asymmetrischer Verfahren repräsentiert daher eher eine eigene Disziplin der mathematischen Forschung, genauer gesagt ein Teilgebiet der Zahlentheorie, und arbeitet mit anderen Mitteln als die klassische Kryptanalyse symmetrischer Verfahren. Insgesamt ist sie auch vielmehr darauf ausgerichtet, einen kryptografischen Algorithmus vollständig zu brechen als lediglich einige Klartexte oder Schlüssel aus konkret vorliegenden Schlüsseltexten zu berechnen.
Unter welchen Umständen und mit welchen Mitteln kann eine bestimmte Kryptanalyse durchgeführt werden?
Wie im vorigen Abschnitt erwähnt, kann jedes kryptografische Verfahren auf die einfachste Weise dadurch angegriffen werden, dass systematisch alle potenziellen Schlüssel ausprobiert werden. Hierzu wird beispielsweise ein aufgezeichneter Schlüsseltext so lange systematisch mit möglichen Schlüsseln entschlüsselt, bis ein »sinnvoller« Klartext erhalten wird. Mit einer relativ hohen Wahrscheinlichkeit handelt es sich bei dem so ermittelten Schlüssel um den korrekten Schlüssel und spätestens nach der Entschlüsselung eines zweiten Schlüsseltextes mit demselben Schlüssel in einen sinnvollen Klartext erhält der Kryptanalytiker die annähernde Gewissheit, den richtigen Schlüssel gefunden zu haben. Da die Anzahl der möglichen Schlüssel bei allen heutzutage eingesetzten Verfahren endlich ist, muss dieses Verfahren zwangsläufig irgendwann zum Erfolg führen. In diesem Abschnitt soll der Frage nach diesem »wann?« und verwandten Fragestellungen nachgegangen werden.
In die Abschätzung des Aufwandes eines Angriffs auf ein kryptografisches Verfahren gehen üblicherweise ein:
eine Abschätzung über die mittlere Anzahl notwendiger »Arbeitsschritte«, wobei ein Arbeitsschritt durchaus aus einer Abfolge komplexer Berechnungen bestehen kann,
eine Annahme über die Anzahl der in einer Zeiteinheit ausführbaren Schritte, der in der Regel auch eine Technologieannahme zugrunde liegt, zum Beispiel eine Berechnung durch Halbleiterelemente gegebenenfalls hochgerechnet mit allgemein anerkannten Abschätzungen wie dem Moore’schen Gesetz, dass sich die erzielbare Verarbeitungsgeschwindigkeit alle 18 Monate verdoppeln kann, sowie gegebenenfalls noch
eine Abschätzung über den für die Analyse benötigten Speicherplatz.
Ziel ist eine Abschätzung der Größenordnung des Aufwandes
Bei den hierbei vorzunehmenden Abschätzungen kommt es dabei nicht auf eine exakte Berechnung des tatsächlichen Aufwandes an. Vielmehr ist man an einer Einschätzung der Größenordnung dieses Aufwandes interessiert. Aus diesem Grund interessieren additive und multiplikative Konstanten nicht und man ist lediglich an dem die Größenordnung bestimmenden Term interessiert. Bei Algorithmen für kryptografische Angriffe ist dieser in der Regel exponentiell in der Länge des eingesetzten Schlüssels.
Für die eingangs beschriebene Brute-Force-Attacke besteht ein Arbeitsschritt beispielsweise aus der Festlegung des in diesem Schritt zu prüfenden Schlüssels, der Dechiffrierung des aufgezeichneten Schlüsseltextes mit diesem Schlüssel und der Überprüfung, ob es sich bei dem erhaltenen Klartext um einen sinnvollen Klartext handelt. Hierbei wird in der Regel weiter vereinfachend angenommen, dass lediglich die durchzuführende Entschlüsselung der dominierende Wert ist.
Schlüssellänge [bit]
Anzahl Schlüssel
Zeitbedarf bei 1 Entschl. / μs
Zeitbedarf bei 106 Entschl. / μs
32
4,3 · 109
35,8 Min.
2, 15 ms
56
7,2 · 1016
1142 Jahre
10,01 Jahre
128
3,4 · 1038
5,4 · 1024 Jahre
5,4 · 1018 Jahre
256
1,2 · 1077
3,7 · 1063 Jahre
3,7 · 1057 Jahre
Tabelle 2.1 Durchschnittlich benötigte Zeiten für die erschöpfende Suche nach einem Schlüssel
Abschätzung der Entwicklung von Verarbeitungszeiten mithilfe des Moore’schen Gesetzes
Tabelle 2.1 führt die resultierenden Zeiten einer Brute-Force-Attacke für unterschiedliche Schlüssellängen und unterschiedliche Entschlüsselungsgeschwindigkeiten auf. Hierzu ist zu bemerken, dass der Wert von 106 Entschlüsselungen pro Mikrosekunde (μs) realistisch für das DES-Verfahren und die in der Mitte der neunziger Jahre zur Verfügung stehende Technik war. Die weitere Entwicklung dieser Verarbeitungszeiten konnte bisher relativ gut durch das Moore’sche Gesetz abgeschätzt werden, da sich an der für den Angriff prinzipiell erforderlichen Schaltlogik keine Änderungen ergeben. Explizit auszunehmen von Abschätzungen dieser Art sind jedoch prinzipielle wissenschaftliche Neuerungen im Hinblick auf das zugrunde liegende Berechnungsmodell. Als hauptsächliches Beispiel in dieser Hinsicht seien die bisher praktisch noch nicht realisierbaren, aber theoretisch bereits vorgezeichneten Verfahren der Quanteninformatik genannt [CU98].
Bei der Bewertung solcher Ergebnisse ist es nützlich, einige Vergleichswerte zu kennen, welche den erhaltenen Wert in Bezug zu den Größenverhältnissen der uns umgebenden Welt setzen. Tabelle 2.2 zeigt hierzu einige Werte.
Referenz
Größenordnung
Sekunden pro Jahr
3 · 107
Sek. seit Entstehung des Sonnensystems
2 · 1017
Taktzyklen pro Jahr bei 50 MHz
1,6 · 1015
Binärzahlen der Länge 64
1,8 · 1019
Binärzahlen der Länge 128
3,4 · 1038
Binärzahlen der Länge 256
1,2 · 1077
Anzahl 75-stelliger Primzahlen
5,2 · 1072
Anzahl Elektronen im Universum
8,4 · 1077
Tabelle 2.2 Referenzwerte für die Einschätzung des Aufwands kryptanalytischer Methoden
Die Praktikabilität kryptanalytischer Verfahren kann durch Vergleich des erforderlichen zeitlichen und materiellen Aufwands mit Referenzwerten der uns umgebenden Welt bewertet werden.
Aus den beiden Tabellen wird beispielsweise ersichtlich, dass der für die Brute-Force-Berechnung eines 128 bit langen Schlüssels erforderliche zeitliche Aufwand das Alter unseres Sonnensystems übersteigt. Daher ist die Annahme gerechtfertigt, dass ein solcher Angriff nicht praktikabel ist.
Einen weiteren nützlichen Vergleichswert stellt die geschätzte Anzahl der in unserem Universum vorhandenen Elektronen dar, da sie eine – wenn auch großzügig bemessene – obere Grenze für den einem Angreifer maximal zugänglichen Speicherplatz darstellt. Dies natürlich unter der Technologieannahme, dass zur Speicherung einer Informationseinheit mindestens ein Elektron benötigt wird.
Schließlich enthält die Tabelle noch einen weiteren wichtigen Wert, die Größenordnung der Anzahl 75-stelliger Primzahlen. Die Bedeutung der Primzahlen für die asymmetrische Kryptografie wird in Kapitel 4 deutlich werden. An dieser Stelle soll lediglich die Information gegeben werden, dass Primzahlen in ausreichender Anzahl zur Verfügung stehen und dass bei zufälliger Wahl großer Primzahlen die Wahrscheinlichkeit, dass zweimal die gleiche Primzahl gewählt wird, hinreichend gering ist.
In diesem Abschnitt sollen zwei für die Nachrichtenübermittlung wichtige Eigenschaften von Verschlüsselungsverfahren eingeführt und eine erste Kategorisierung dieser Verfahren vorgenommen werden.
Angenommen ein Sender möchte eine Reihe von Klartexten P1, P2, ... an einen Empfänger übermitteln. Da die Nachrichten vertraulich sind, verschlüsselt er sie zunächst in Schlüsseltexte C1, C2, ... und sendet dann diese Schlüsseltexte an den Empfänger. Hierbei sind nun zwei Eigenschaften des eingesetzten Verschlüsselungsverfahrens von Bedeutung:
Fehleraufweitung
Die
Fehleraufweitung (Error Propagation)
eines Chiffrierver-fahrens bezeichnet den Effekt, den ein Bitfehler während der Übermittlung eines Schlüsseltextes auf die nach der Entschlüsselung wiedergewonnenen Klartexte , , ... hat. Je nach eingesetztem kryptografischem Verfahren kann ein Bitfehler im Schlüsseltext wiederum in einem Bitfehler oder auch in einer größeren Anzahl fehlerhafter Bits im Klartext resultieren.
Die Fehleraufweitung eines kryptografischen Verfahrens ist insbesondere in Zusammenhang mit fehlerkorrigierenden Codes zu beachten. Solche Codes erlauben durch Übertragung redundanter Information die automatische Korrektur bestimmter Fehler beim Empfänger, zum Beispiel Einzelbitfehler oder auch Bündelfehler bis zu einer gewissen Länge. Bei ihrem gleichzeitigen Einsatz mit einem Chiffrierverfahren, das Übertragungsfehler aufweitet, ist zu beachten, dass zuerst chiffriert wird, bevor die redundante Information des fehlerkorrigierenden Codes berechnet wird. Auf diese Weise werden die Fehlerkorrektureigenschaften des Codes sichergestellt und somit auch die Wahrscheinlichkeit für fehlerhaft rückgewonnene Klartexte reduziert.
Synchronisationseigenschaft
Die
Synchronisationseigenschaft
eines Chiffrierverfahrens beschreibt demgegenüber die Auswirkung, die ein verloren gegangener Schlüsseltext
C
i
auf die aus den nachfolgenden, korrekt übertragenen Schlüsseltexten
C
i
+1
,
C
i
+2
, ... gewonnenen Klartexte
P
i
+1
,
P
i
+2
, ... hat. Je nach eingesetztem Verfahren kann es sein, dass ein solcher Verlust gar keine Auswirkungen auf nachfolgende Klartexte hat. Es ist aber auch möglich, dass einige oder gar alle nachfolgenden Schlüsseltexte falsch dechiffriert werden, sodass eine explizite Synchronisation zwischen Sender und Empfänger erforderlich wird.
Chiffrierverfahren können auf einer obersten Ebene gemäß den folgenden Dimensionen klassifiziert werden:
Art der Operationen
Nach der Art der Operationen, die für die Abbildung von Klartext auf Schlüsseltext verwendet werden:
• Die Substitution bildet Elemente des Klartextes, zum Beispiel Bits, Buchstaben oder Gruppen von Bits beziehungsweise Gruppen von Buchstaben, auf andere Elemente ab.
• Die Transposition verändert die Reihenfolge der Elemente eines Klartextes.
Die meisten heutigen Chiffrierverfahren verbinden beide Grundtechniken miteinander, da reine Substitutions- beziehungsweise Transpositionschiffren keine ausreichende Sicherheit bieten.
Anzahl verwendeter Schlüssel
Nach der Anzahl der verwendeten Schlüssel:
•Symmetrische Chiffrierverfahren verwenden den gleichen Schlüssel für die Entschlüsselung wie für die Verschlüsselung.
•Asymmetrische Chiffrierverfahren benutzen zwei verschiedene, zueinander passende Schlüssel für die beiden komplementären Operationen.
Verarbeitungsweise
Nach der Weise, in welcher der Klartext verarbeitet wird:
•Stromchiffren operieren auf Bitströmen, das heißt, sie verschlüsseln einen Klartext Bit für Bit. Viele Stromchiffren basieren auf der Idee der linearen rückgekoppelten Schieberegister, die eine sehr effiziente Verschlüsselung realisieren. Es wurde jedoch bereits eine Vielzahl kryptografischer Schwächen dieser Verfahren entdeckt, da eine ausgereifte mathematische Theorie für dieses Gebiet existiert. Von dem Einsatz von Stromchiffren, die auf rückgekoppelten Schieberegistern beruhen, wird daher oft abgeraten [Sch96, Kapitel 16 und 17]. Die meisten Stromchiffren implizieren keine Fehleraufweitung, reagieren dafür jedoch sehr empfindlich auf einen Verlust der Synchronisation und erfordern in solchen Fällen eine explizite Resynchronisation.
•Blockchiffren transformieren jeweils Blöcke der Länge b bit, wobei der Parameter b jeweils von dem konkret verwendeten Algorithmus abhängt.
Sollen in einem System Daten durch den Einsatz kryptografischer Maßnahmen geschützt werden, so stellt die Verwaltung der hierzu erforderlichen Schlüssel eine kritische Aufgabe dar. Das liegt darin begründet, dass bei Bekanntwerden der Schlüssel der kryptografische Schutz der mit ihnen verschlüsselten Daten aufgehoben wird. Im Folgenden sollen daher die Aufgaben einer Schlüsselverwaltung näher betrachtet werden:
Schlüsselgenerierung
Mit
Schlüsselgenerierung
wird die Erzeugung der zu verwendenden Schlüssel bezeichnet. Dieser Vorgang muss
zufalls
-oder zumindest
pseudozufallsgesteuert
ablaufen, da sonst Angreifer den Prozess ebenso ausführen und somit in relativ kurzer Zeit die zur Sicherung eingesetzten Schlüssel bestimmen können. Von pseudozufallsgesteuerter Schlüsselgenerierung spricht man, wenn die Schlüssel nach einem deterministischen Verfahren erzeugt werden, aber jeder mögliche Schlüssel mit gleicher Wahrscheinlichkeit von dem Verfahren erzeugt wird. Pseudozufallsgeneratoren müssen mit einem wirklich zufälligen Wert initialisiert werden, damit sie nicht immer die gleichen Schlüssel produzieren. Ist der Prozess der Schlüsselerzeugung nicht reproduzierbar, so spricht man von »wirklich zufälliger« Schlüsselgenerierung. Die Erzeugung von Zufallszahlen wird in
Kapitel 6
eingehend behandelt.
Werden Schlüssel für ein symmetrisches kryptografisches Verfahren benötigt, so kann bereits die Ausgabe eines Zufallsbeziehungsweise Pseudozufallsgenerators als Schlüssel herangezogen werden. Die Erzeugung von Schlüsselpaaren für asymmetrische kryptografische Algorithmen, die auf den mathematischen Problemen der Faktorisierung oder der diskreten Logarithmierung beruhen, erfordert hingegen die Generierung zufälliger und großer Primzahlen [Bre89].
Schlüsselverteilung
Die Aufgabe der
Schlüsselverteilung
besteht darin, die erzeugten Schlüssel an die Stellen eines Systems zu bringen, an denen sie benötigt werden. In einfachen Szenarien können die Schlüssel durch direkten (zum Beispiel persönlichen) Kontakt verteilt werden.
Sind aber hierzu größere Distanzen zu überwinden, so muss bei Einsatz symmetrischer Chiffrieralgorithmen der verwendete Kommunikationskanal wiederum durch Verschlüsselung geschützt werden. Es ist somit ein Schlüssel für die Verteilung von Schlüsseln notwendig. Mit dieser Notwendigkeit wird die Einführung sogenannter Schlüsselhierarchien begründet. Als Beispiel hierfür kann die dreistufige Hierarchie des IBM-Schlüsselverwaltungsschemas [DP89, Seiten 143 ff.] herangezogen werden. In ihr werden auf oberster Ebene zwei Master-Keys, in der nächsten Ebene eine Reihe sogenannter Terminal-Keys und auf der dritten Ebene schließlich Session-Keys unterschieden. Öffentliche Schlüssel asymmetrischer kryptografischer Verfahren (vergleiche hierzu Kapitel 4) können allgemein bekannt gemacht werden. Bei ihnen ist lediglich die Authentizität, nicht aber die Vertraulichkeit zu sichern.
Speicherung von Schlüsseln
Bei der
Speicherung von Schlüsseln
ist darauf zu achten, dass die Schlüssel nicht von Unberechtigten ausgelesen werden können. Das lässt sich zum Beispiel dadurch realisieren, dass der Schlüssel aus einem einfach zu merkenden, aber hinreichend langen Passwort (in der Regel ein kompletter Satz) vor jeder Benutzung erneut generiert wird und somit nur im Gedächtnis des Benutzers gespeichert wird. Alternativ ist die Speicherung in manipulationssicheren Kryptomodulen möglich, die beispielsweise in Form von universellen Smartcards und im sogenannten »neuen Personalausweis« [
RE08
] günstig am Markt erhältlich sind.
Wiederherstellung von Schlüsseln
Die
Wiederherstellung von Schlüsseln
bezeichnet die Rekonstruktion verloren gegangener Schlüssel. Die einfachste Möglichkeit hierfür besteht darin, eine Kopie aller Schlüssel an einem sicheren Ort zu bewahren. Problematisch hieran ist das dadurch eingeführte Sicherheitsproblem, da unbedingt gewährleistet werden muss, dass die Kopien der Schlüssel nicht missbraucht werden [
Sch96
,
Seiten 181
f.]. Alternativ ist eine verteilte Speicherung von Teilkopien an verschiedenen Orten möglich, wodurch das Risiko des Missbrauchs minimiert werden kann, wenn gewährleistet ist, dass alle oder zumindest mehrere Teile der Kopien zur Rekonstruktion der Schlüssel benötigt werden.
Invalidierung von Schlüsseln
Die
Invalidierung von Schlüsseln
ist insbesondere bei asymmetrischen kryptografischen Verfahren eine wichtige Aufgabe des Schlüsselmanagements. Wird ein privater Schlüssel bekannt, so ist der dazu gehörende öffentliche Schlüssel als ungültig zu kennzeichnen. Diese Aufgabe wird dadurch kompliziert, dass öffentliche Schlüssel unter Umständen weltweit in öffentlichen Verzeichnissen gespeichert werden und gegebenenfalls zahlreiche nicht zugängliche Kopien dieser Schlüssel existieren.
Zerstörung nicht mehr benötigter Schlüssel
Mit der
Zerstörung nicht mehr benötigter Schlüssel
soll sichergestellt werden, dass die mit ihnen chiffrierten Nachrichten auch in Zukunft nicht von Unberechtigten entschlüsselt werden können. Hierzu ist dafür zu sorgen, dass wirklich alle Kopien der Schlüssel vernichtet werden. In modernen Betriebssystemen stellt das eine nicht triviale Aufgabe dar, da beispielsweise durch die automatische Speicherverwaltung regelmäßig Speicherinhalte auf Festplatte ausgelagert werden können und in diesem Fall durch die Löschung im Speicher nicht sichergestellt ist, dass wirklich keine Kopien der Schlüssel mehr existieren. Bei Magnetplattenspeichern, EEPROMs (Electrically Erasable Programmable Read-Only Memory) und Flash-basierten Speichermedien ist darüber hinaus darauf zu achten, dass diese mehrfach überschrieben beziehungsweise zerstört werden müssen, um zu gewährleisten, dass die auf ihnen gespeicherten Schlüssel auch mit aufwendigen technischen Methoden nicht mehr gelesen werden können.
Hauptanwendungen der Kryptografie für die Netzsicherheit sind Verschlüsselung und Signierung.
Die Kryptologie ist die Wissenschaft der sicheren Kommunikation auf der Grundlage algorithmischer Transformation der zu kommunizierenden Daten. Sie besteht aus den beiden sich ergänzenden Teilgebieten der Kryptografie und der Kryptanalyse. Im Kontext der Netzsicherheit sind insbesondere zwei Hauptanwendungen kryptografischer Algorithmen von Interesse: die Verschlüsselung von Daten, um ihre Bedeutung zu verbergen, und die Signierung von Daten, dass heißt die Erzeugung kryptografisch sicherer Prüf werte, auf deren Grundlage die Unverfälschtheit einer Nachricht überprüft werden kann.
Es existiert eine Reihe unterschiedlicher Verfahren der Kryptanalyse, die in der Regel danach klassifiziert werden, welche Informationen dem Kryptanalytiker bei seinem Angriff zur Verfügung stehen. Die einfachste Angriffsart besteht hierbei aus dem systematischen Ausprobieren aller möglichen Schlüssel. Da der hierfür erforderliche Aufwand exponentiell mit der Schlüssellänge wächst, stößt ein Angreifer jedoch bei ausreichend langen Schlüsseln an die physikalischen Grenzen unseres Universums.
In diesem Buch wird lediglich eine essenzielle Auswahl kryptografischer Algorithmen behandelt.
In den folgenden Kapiteln werden eine Reihe kryptografischer Algorithmen behandelt, die für die Netzsicherheit von zentraler Bedeutung sind. Die hierbei getroffene Auswahl ist bewusst klein gehalten, da es nicht das Ziel des vorliegenden Buches ist, eine umfassende Einführung in das Gebiet der Kryptologie zu geben, sondern vielmehr ein grundlegendes Verständnis für die Funktionsweise kryptografischer Verfahren vermittelt werden soll, auf dessen Grundlage ihr Einsatz in Protokollen und Architekturen der Netzsicherheit erklärt werden kann.
Abbildung 2.1 Überblick über die in diesem Buch behandelten kryptografischen Algorithmen
Inhalt der Kapitel über kryptografische Algorithmen
Abbildung 2.1 zeigt die in diesem Buch behandelten Algorithmen im Überblick. Das folgende Kapitel behandelt symmetrische Chiffrierverfahren und Kapitel 4 ist den asymmetrischen kryptografischen Algorithmen gewidmet. Kapitel 5 führt schließlich in das Gebiet der kryptografischen Prüfwerte ein.
[Ker83]
KERCKHOFF, A.: La Cryptographie Militaire. In: Journal des Sciences Militaires (1883), Januar 1883 In diesem historisch interessanten Artikel über den Stand der Technik auf dem Gebiet der Verschlüsselung im ausgehenden 19. Jahrhundert wird erstmals das wichtige Prinzip formuliert, dass ein kryptografischer Algorithmus auch dann noch Sicherheit bieten muss, wenn seine Funktionsweise einem möglichen Gegner bekannt geworden ist.
[Riv90]
RIVEST, R.: Cryptography. In: VAN LEEUWEN, J. (Hrsg.): Handbook of Theoretical Computer Science Bd. 1, Elsevier, 1990, S. 717–755
[Sim94a]
SIMMONS, G. J.: Cryptology. In: Encyclopaedia Britannica, Britannica, 1994
1. Wie hoch ist der Berechnungsaufwand für einen Brute-Force-Angriff auf einen Ciphertext im besten, im mittleren und im schlechtesten Fall?
2. Kann es sinnvoll sein, eine fehlerkorrigierende Codierung in Schicht n + 1 eines Protokollturms und eine Chiffrierung in Schicht n vorzusehen? Wenn ja, welche Bedingungen müssen hierfür erfüllt sein?
3. Die nach Julius Cäsar benannte Cäsar-Chiffre ersetzt jeden Buchstaben durch den im Alphabet um drei Positionen verschobenen Buchstaben (»A« durch »D«, »B« durch »E« etc.). Wie viele mögliche Schlüssel verwendet sie? Wie viele Schlüssel sind theoretisch mit diesem Schema möglich?
4. Kann sich ein prinzipieller Vorteil daraus ergeben, wenn ein kryptografischer Algorithmus entworfen würde, der zwar einen endlich langen Schlüssel verwendet, jedoch auf einem theoretisch unentscheidbaren Problem der Informatik beruht?
Symmetrische Chiffrierverfahren verwenden den gleichen Schlüssel zum Entschlüsseln wie zum Verschlüsseln. Dieser Schlüssel muss geheim gehalten werden und darf nur den Instanzen bekannt sein, die in der Lage sein sollen, die mit ihm chiffrierten Schlüsseltexte zu lesen. In diesem Kapitel werden die grundsätzlichen Betriebsarten symmetrischer Chiffieralgorithmen und die derzeit häufig eingesetzten Algorithmen DES, AES, RC4 und KASUMI erklärt.
Wie können Nachrichten verschlüsselt werden, die eine andere Länge als die Blockgröße der Chiffre aufweisen?
Es ist bereits in Abschnitt 2.5 eingeführt worden, dass Blockchiffren einen Bitstrom nicht bitweise, sondern in Blöcken der Länge b ver- beziehungsweise entschlüsseln, wobei die Blocklänge b durch den Chiffrieralgorithmus fest vorgegeben ist. Hieraus ergibt sich die Frage, auf welche Weise Nachrichten verschlüsselt werden, die eine andere Länge als b aufweisen. Der Einfachheit halber wird im Folgenden angenommen, dass die Länge der Nachricht ein Vielfaches der Blocklänge b beträgt. Diese Voraussetzung kann für beliebige Nachrichten mit bekannten Methoden der Nachrichtentechnik realisiert werden, zum Beispiel durch Anfügen eines »1«-Bit und einer variablen Anzahl von »0«-Bits bis zum Erreichen des nächsten Vielfachen von b.
Das reine Auffüllen auf vollständige Blöcke und blockweise Verarbeiten von Nachrichten reicht nicht aus.