Die vorliegenden Materialien wurden von Daniel Hoherz und André Tempel erstellt. Sollten andere Editoren die Materialien erstellt haben, werden diese explizit genannt.
In den vorherigen Jahrgängen haben Sie sich bereits mit verschiedenen Verfahren der Kryptographie und Kryptoanalyse beschäftigt. Zur Erinnerung hier nochmal eine kurze Defintion der beiden Begriffe:
Kryptographie
Kryptoanalyse
Die Kryptographie ist die Wissenschaft der
Verschlüsselung von Informationen und Informationssicherheit
und befasst sich mit der
Konzeption, Definition und Konstruktion
von gegen Manipulation
widerstandsfähiger Informationssysteme.
Die Kryptoanalyse ist die Wissenschaft von
Methoden und Techniken, mit denen
Informationen aus verschlüsselten Informationssystemen
gewonnen werden sollen. Ihr Ziel ist, den
Manipulationswiderstand von Kryptosystemen
aufzuheben, zu umgehen oder deren Sicherheit zu quantifizieren.
In diesem Kontext hatten Sie einige Verschlüsselungsverfahren und Entschlüsselungsverfahren, aber auch zahlreiche Fachbegriffe kennengelernt.
Finden Sie sich in einer Gruppe von maximal drei Personen zusammen und bearbeiten Sie die folgenden Aufgaben. Beachten Sie bitte, dass Sie Ihre Ergebnisse dokumentieren.
Sammeln Sie in Ihrer Gruppe Begriffe und Verfahren aus den letzten Jahrgängen rund um das Thema Kryptologie.
In den vorherigen Jahrgängen haben Sie bereits einiges über Verschlüsselungs- und möglichen Entschlüsselungsstrategien gelernt. Dieses Wissen vertiefen wir nun und erweitern es – besonders um komplexere und modernere Ansätze, um die Sicherheit zu steigern.
Unten finden Sie die Kompetenzenm, die Sie im Laufe der Einheit erwerben werden. Sie können die Übersicht zur Selbstkontrolle nutzen.
Inhalt
Mindeststandard
Regelstandard
Expertenstandard
Grundlagen
Ich kann die grundlegenden Begriffe korrekt verwenden und Angriffstypen beschreiben.
Ich kann erläutern, welche Angriffstypen von symmetrische und asymmetrische Verfahren verhindert werden sollen.
Ich kann polyalphabetische Substitutionsverfahren (bspw. Vigenère) sowie asymmetrische Verfahren wie digitale Signaturen und Zertifikate erläutern sowie Blockchiffre (LK)
Checkliste Grundlagen Mindeststandard
Ich kann die Begriffe verschlüsseln, chiffrieren, entschlüsselns, dechiffrieren, Chiffrat, Klartext, Geheimtext, Substitution, monoalphabetisch, polyalphabetisch, Transposition, symmetrisch, asymmetrisch korrekt verwenden.
Ich kann die Angriffstypen Verfügbarkeit, Vertraulichkeit, Integrität und Authentizität beschreiben.
Ich kann Beispiele den Angriffsypen zuordnen.
Checkliste Beziehungen Regelstandard
Ich kann erläutern wie symmetrische Verfahren vpr einen Angriff auf die Vertraulichkeit schützen.
Ich kann erläutern wie asymmetrische Verfahren for Angriffen auf die Integrität und Authentizität schützen.
Checkliste Beziehungen Expertenstandard
Ich kann polyalphabetische Substitution erläutern und anwenden, bspw. Vigenère.
Ich kann das Problem mit dem Schlüsseltausch und eine Lösung erläutern.
Ich kann das Prinzip der digitalen Signaturen erläutern.
Ich kann das prinzip der Zertifikate erläutern.
(LK) Ich kann den grundsätzlichen Aufbau von Blockchiffren erläutern.
(LK) Ich kann die Blockchiffre DES in ihrer Funktionsweise erläutern.
Sicherheit
Ich kann Häufigkeitsanalyse und Brute-Force als Entschlüsseluzngsmethoden passend anwenden.
Ich kann den Kasiski-Test zur Entschlüsselung von Vigenère erläutern und durchführen.
Ich kann die Sicherheit von symmetrischen Verfahren beurteilen, indem die Kenntnisse zur Entschlüsselungsmethoden herangezogen werden.
Checkliste Grundlagen Mindeststandard
Ich kann am Beispiel des Vigenère-Verfahrens die polyalphabetische Substitution beschreiben.
Ich kann die Unterschiede zwischen symmetrischen und asysmmetrischen Verfahren beschreiben.
Ich kann die unterschiedlichen Anwendungsbereiche für Symmetrische und asymmetrische Verfahren beschreiben
Ich kann das Vigenère-Verfahren anwenden.
Checkliste Grundlagen Regelstandard
Ich kann das Vigenère
Ich kann das Prinzip von digitalen Signaturen erläutern.
Ich kann das Problem mit dem Schlüsseltausch und eine Lösung erläutern.
Ich kann das Prinzip von Zertifikaten erläutern.
(LK) Ich kann die Funktionsweise von modernen symmetrischen Blockchiffren erläutern.
Ich kann mit Vigneère verschlüsselten Geheimtext mithilfe des Kasiski-Tests und der Häufigkeitsanalyse dechiffrieren.
Ich kann unter Betrachtung der Komplextiät des Verfahren, des Schlüssels und seiner Bekanntheit eine symmetrisches Verfahren hinsichtlich seiner Sicherheit beurteilen.
Implementierung (LK)
Ich kann einfache Substitutionsverfahren (Caesar) implementieren
Ich kann polyalphabetischeVerfahren (z. B. Vigenère) implementieren.
Jeder Art von Informationsübertragung läuft nach dem folgenden Prinzip ab:
Sender-Empfänger-Modell
Beim normalen Sprechen miteinander, sind Sender und Empfänger zwei Personen und der Kanal ist
die Luft. Die beteiligten Personen zusammen mit dem Übertragungsmedium Luft bilden hier ein
Netzwerk.
Bei elektronischer Kommunikation sind Sender und Empfänger meist zwei Endgeräte, die an ein
Netzwerk angeschlossen sind, und der Kanal sind die Leitungen.
Ein Kryptosystem ist ein System, das Verfahren zur sicheren Kommunikation und Datenübertragung
bereitstellt, indem es Informationen so transformiert, dass sie von Unbefugten nicht gelesen
oder manipuliert werden können. Kryptosysteme nutzen mathematische Algorithmen und Schlüssel,
um Daten zu verschlüsseln und zu entschlüsseln. Sie sind essenziell für die Informationssicherheit
und werden in verschiedenen Anwendungen eingesetzt, wie z. B. in der sicheren Kommunikation, im Online-Banking, in der Datenverschlüsselung und in digitalen Signaturen.
Ein Kryptosystem besteht in der Regel aus den folgenden grundlegenden Komponenten:
Klartext: Der Klartext ist die ursprüngliche, unverschlüsselte Information, die gesichert
werden soll. Dies können Texte, Dateien oder andere Datenformen sein.
Chiffre/Chiffrat/Chiffretext: Der Chiffretext ist das Ergebnis der Verschlüsselung des Klartexts. Es handelt
sich um die transformierte Version der Daten, die ohne den entsprechenden Schlüssel nicht lesbar ist.
Verschlüsselungsalgorithmus: Der Verschlüsselungsalgorithmus ist ein mathematisches
Verfahren, das zur Umwandlung des Klartexts in Chiffretext verwendet wird.
Schlüssel: Der Schlüssel ist ein geheimer Wert, der zur Verschlüsselung und Entschlüsselung
der Daten verwendet wird. Die Sicherheit eines Kryptosystems hängt stark von der
Geheimhaltung und der Komplexität des Schlüssels ab. Schlüssel können in verschiedenen
Längen und Formaten vorliegen, je nach verwendetem Algorithmus.
Entschlüsselungsalgorithmus: Der Entschlüsselungsalgorithmus ist das Verfahren, das verwendet
wird, um den Chiffretext zurück in den Klartext umzuwandeln. Der Entschlüsselungsprozess
benötigt den entsprechenden Schlüssel, um die Daten korrekt zu rekonstruieren.
Schlüsselverwaltung Die Schlüsselverwaltung umfasst die Generierung, Verteilung, Speicherung
und den Austausch von Schlüsseln. Eine effektive Schlüsselverwaltung ist entscheidend
für die Sicherheit eines Kryptosystems, da schwache oder kompromittierte
Schlüssel die gesamte Sicherheit gefährden können.
Es gibt verschiedene Arten des Angriffs auf Kryptosysteme. Um die Angriffsarten besser betrachten zu können, werden sie in Kategorien eingeteilt. Diese Aufteilung zeigt, inwiefern der Datenfluss von der Norm abweicht. Sender und Empfänger sind Alice (A) und Bob (B). Eve (E) ist die böse Angreiferin.
Angriffstyp
Erläuterung
Angriff auf die Verfübarkeitt verhindert, dass Informationen ihr Ziel erreichen.
Angriff auf die Vertraulichkeit ermöglichen es Dritten unbemerkt auf einen Teil des Systems zuzugreifen.
Angriff auf die Integrität ermöglichen nicht berechtigten Dritten Zugriff und Veränderung der Nachricht.
Angriff auf die Authentizität, ermöglichen nicht berechtigten Dritten das Einschleusen von gefälschten Nachrichten in ein System.
Im Folgenden sind einige Angriffsszenarien beschrieben. Finden Sie sich zunächst in zwei Gruppen zusammen und bearbeiten Sie die Szenarien Ihrer Gruppe
Personen: IT-Manager Sarah Müller und das IT-Team
von TechCorp. Unternehmen: TechCorp, ein mittelständisches
Unternehmen, das Softwarelösungen für die Finanzbranche
anbietet. Beschreibung: An einem Montagmorgen bemerkt Sarah Müller, dass die Server von Tech-Corp nicht mehr erreichbar sind. Nach einer schnellen Untersuchung stellt sich heraus, dass
ein Angreifer absichtlich einen Stromausfall in
der Nähe des Unternehmens herbeigeführt hat,
um den Betrieb zu stören. Durch den Ausfall
sind alle internen Systeme und Datenbanken nicht mehr zugänglich, was zu einem erheblichen Gnanziellen Verlust und einem Vertrauensverlust bei den Kunden führt. Sarah und ihr Team müssen schnell handeln, um die Systeme
wiederherzustellen und die Ursachen des Angriffs zu analysieren.
Personen: Max Schmidt, ein Bankkunde, und
der IT-Sicherheitsspezialist Thomas Becker. Unternehmen: Die Bank von Max Schmidt, eine
lokale Bank mit einer Online-Banking-Platform. Beschreibung: Max Schmidt versucht, sich in
das Online-Banking seiner Bank einzuloggen. Ein
Angreifer hat jedoch eine Phishing-Webseite erstellt, die der echten Webseite der Bank sehr
ähnlich sieht. Max gibt seine Zugangsdaten ein,
ohne zu bemerken, dass er auf der falschen Seite ist. Thomas Becker, der IT-Sicherheitsspezialist der Bank, erhält kurz darauf Benachrichti
gungen über verdächtige Aktivitäten auf Max‘
Konto. Er stellt fest, dass die Zugangsdaten ab
gefangen wurden und dass der Angreifer bereits
Geldüberweisungen vorgenommen hat. Die
Bank muss schnell handeln, um weitere Verluste
zu verhindern und Max zu informieren.
Personen: Maria, die Geschäftsführerin von FoodDelivery Inc., und ein unzufriedener Mitar
beiter. Unternehmen: FoodDelivery Inc., ein Online-Lieferdienst, der Essensbestellungen von Restaurants entgegennimmt. Beschreibung: Ein unzufriedener Mitarbeiter
von FoodDelivery Inc. hat Zugriff auf das interne
System. Er verändert die Bestelldaten, um die
Lieferungen an sein eigenes Restaurant zu leiten, anstatt an die Kunden, die tatsächlich bestellt haben. Maria bemerkt, dass die Anzahl der Bestellungen für das Restaurant des Mitarbeiters ungewöhnlich hoch ist, während andere Restaurants weniger Bestellungen erhalten. Nach einer Untersuchung entdeckt sie die Manipulation und muss Maßnahmen ergreifen, um den Mitarbeiter zu entlassen und die Bestellungen zu korrigieren.
Personen: Daniel, ein neuer Mitarbeiter bei
ByteSolutions, und ein Angreifer, der sich als IT- Support-Mitarbeiter ausgibt. Unternehmen: ByteSolutions, ein IT-Dienstleister für kleine und mittelständische Unternehmen. Beschreibung: Daniel erhält einen Anruf von einem angeblichen IT-Support-Mitarbeiter, der
behauptet, er müsse einige Sicherheitsupdates
auf seinem Computer durchführen. Der Angreifer gibt vor, dass es ein Problem mit Daniels Zugangsdaten gibt und fordert ihn auf, seine Anmeldedaten und einen Bestätigungscode anzugeben. Daniel, der neu im Unternehmen ist und keine Erfahrung mit solchen Anrufen hat, gibt die Informationen preis. Der Angreifer nutzt diese Informationen, um auf das interne System
von ByteSolutions zuzugreifen. Nach dem Vorfall wird Daniel geschult, um solche Angriffe in Zukunft zu erkennen.
Personen: Dr. Anna Weber, eine Professorin an
der Universität Berlin, und ein Betrüger namens
Lukas. Unternehmen: Universität Berlin, eine renommierte Bildungseinrichtung. Beschreibung: Lukas gibt sich als Dr. Anna Weber aus und kontaktiert die Verwaltung der Universität, um vertrauliche Informationen über die Studenten zu erhalten. Er fälscht seine Identität, indem er gefälschte E-Mails und Dokumente vorlegt. Die Verwaltung ahnt zunächst nichts
Böses und gibt ihm die gewünschten
Informationen. Als Dr. Weber von dem Vorfall
erfährt, ist sie entsetzt und muss die Universität
darüber informieren, dass ihre Identität missbraucht wurde. Es wird eine Untersuchung eingeleitet, um die Sicherheitslücken zu schließen.
Personen: Lisa, die Marketing-Managerin von FashionWorld, und das IT-Sicherheitsteam. Unternehmen: FashionWorld, ein Online-Shop
für Modeartikel. Beschreibung: Während einer großen Verkaufsaktion wird FashionWorld Opfer eines DDoS-Angriffs. Ein Angreifer überlastet die Server des Unternehmens mit einer Flut von Anfragen, sodass die Webseite nicht mehr erreichbar ist. Lisa und ihr Team erhalten zahlreiche Beschwerden von Kunden, die nicht einkaufen können. Das IT-
Sicherheitsteam muss schnell reagieren, um den Angriff abzuwehren und die Webseite wieder
online zu bringen. Der Vorfall führt zu einem
Verlust von Umsatz und Kundenvertrauen.
Personen: Tom, der Finanzmanager von TechGiant, und ein Betrüger, der sich als Lieferant ausgibt. Unternehmen: TechGiant, ein großes Technologieunternehmen. Beschreibung: Tom erhält eine E-Mail mit einer
Rechnung von einem vermeintlichen Lieferanten, der behauptet, TechGiant hätte Waren bestellt. Die Rechnung sieht echt aus, enthält jedoch gefälschte Informationen. Tom bezahlt die Rechnung, ohne die Bestellung zu überprüfen. Später stellt sich heraus, dass der Lieferant nicht existiert und die Zahlung an den Betrüger ging. TechGiant muss die betrügerische Transaktion melden und sicherstellen, dass solche Vorfälle in
Zukunft verhindert werden.
Personen: Dr. Peter Lange, ein Arzt bei Health-
Care Inc., und ein Angreifer, der sich als Patient ausgibt. Unternehmen: HealthCare Inc., eine Klinik, die
elektronische Patientenakten verwaltet. Beschreibung: Dr. Peter Lange erhält eine E-Mail
von einem angeblichen Patienten, der um Informationen zu seiner Behandlung bittet. Der Angreifer hat jedoch die E-Mail-Adresse gefälscht
und versucht, sensible Daten über die Patien-
tenakte zu erhalten. Dr. Lange, der die Identität
des Patienten nicht überprüfen kann, gibt einige Informationen preis. Später stellt sich heraus, dass die E-Mail von einem Angreifer stammt,
der die Informationen für betrügerische Zwecke
nutzen wollte. HealthCare Inc. muss Maßnahmen ergreifen, um die Sicherheit der Patientendaten zu gewährleisten.
Finden Sie sich in 4er-Gruppen zusammen und präsentieren Sie sich gegenseitig die Szenarien und Ihre Klassifikation der Szenarien zu den Angriffsarten.
Offenbar handelt es sich um einen Geheimtext, der mit einem unbekannten Verfahren erzeugt
wurde. Was nun?
Tauschen Sie sich kurz mit den neben Ihnen sitzenden Personen aus, ob man vermuten kann, dass dieser Geheimtext mit einem Transpostionsverfahren erstellt wurde.
Betrachten wir zwei Möglichkeiten, die eine Häufigkeitsanalyse der gesamten Nachricht liefert:
Ergebnis 1Ergebnis 2
Analysieren Sie, welche Schlussfolgerungen die beiden Ergebnisse jeweils zulassen.
Der französische Diplomat Blaise de Vigenère (1523–1596) entwickelte die nach ihm benannte Verschlüsselungsmethode, um die Schwächen des Caesar-Chiffres und anderer monoalphabetischer Verfahren zu überwinden. Statt nur eines Alphabets werden bei der Vigenère-Chiffrierung mehrere (bis zu 26) verwendet, die dadurch entstehen, dass man das Ausgangsalphabet jeweils zyklisch um eine Position verschiebt und die so entstandenen Alphabete im sogenannten Vigenère-Quadrat untereinander anordnet.
Die Vigenère-Chiffre stellt historisch gesehen die erste polyalphabetische Substitution dar. Ihre Kryptoanalyse galt lange Zeit als praktisch unmöglich.
Schauen wir uns ein konkretes Beispiel an.
Der zu verschlüsselnde Klartext ist „Die Herbstferien sind viel zu kurz“ und der Schlüssel soll das
Wort „Geheim“ sein. Grundlage des Verfahrens ist das Vigenère-Quadrat:
Aktuelle Position:Bewege die Maus über das Quadrat
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Nun verschlüsselt man jedes Zeichen des Klartextes mit einem Schlüsselzeichen. Dafür kann man
zum Beispiel den Schlüssel, in der Tabelle als „k“ für key bezeichnet, unter den Klartext, in der Tabelle
als „KT“ bezeichnet, schreiben. Ist das letzte Schlüsselzeichen verwendet worden, beginnt
man wieder von vorne, bis man beim letzten Klartextzeichen angekommen ist. Groß- und Kleinschreibung
ist für die Verschlüsselung nicht relevant und Satzzeichen, sowie andere Sonderzeichen,
ebenso.
KT
d
i
e
h
e
r
b
s
t
f
e
r
i
e
n
s
i
n
d
v
i
e
l
z
u
k
u
r
z
k
g
e
h
e
i
m
g
e
h
e
i
m
g
e
h
e
i
m
g
e
h
e
i
m
g
e
h
e
i
Jedes Zeichen des Klartextes wird nun mit seinem Schlüsselzeichen mit Hilfe des Vigenère-Quadrates verschlüsselt. Das erste Klartextzeichen ist ein „d“, weshalb man sich dieses in der ersten Zeile
mit Buchstaben heraussucht. Nun sucht man in der ersten Spalte mit Buchstaben das dazugehörige
Schlüsselzeichen, hier „g“. Die Spalte zum „d“ und die Zeile zum „g“ treffen sich bei „j“. Dies ist das
erste Zeichen unseres Geheimtextes „GT“.
Bearbeiten Sie die Aufgaben in arbeitsteiliger Partnerarbeit.
Vervollständigen Sie die Verschlüsselung des Klartextes aus dem Einstiegsbeispiel.
Denken Sie sich eine eigene kurze Nachricht mit mindestens 10 Zeichen und einen Schlüssel aus.
Erzeugen Sie aus mit Ihrem Satz einen mit dem Vigenère-Verfahren verschlüsselten Geheimtext.
Entschlüsseln Sie den mit dem Vigenère-Verfahren verschlüsselten Geheimtext einer anderen Person aus dem Kurs mit Hilfe des Vigenère-Quadrats.
Bearbeiten Sie die folgenden Aufgaben schriftlich und ausformuliert in Partnerarbeit.
Erläutern Sie, weshalb es sich bei dem Vigenère-Verfahren um ein polyalphabetisches Verfahren handelt und geben Sie auch die Anzahl der Geheimtextalphabete an, wenn die Schlüssellänge n ist.
Vergleichen Sie das Vigenère-Verfahren mit dem Caesar-Verfahren.
Entscheiden Sie, ob eine einfache Häufigkeitsanalyse, bei einem mit dem Vigenère-Verfahren
verschlüsselten Geheimtext, ein geeignetes Mittel der Kryptoanalyse ist und begründen Sie Ihre
Antwort.
Wir haben festgestellt, dass aufgrund der Tatsache, dass bei einer Vigenère-Verschlüsselung nicht
immer ein gleiches Zeichen des Klartextes mit dem gleichen Schlüsselbuchstaben verschlüsselt
wurde, die ursprünglichen Zeichenhäufigkeiten des Klartextes „verwischt“ werden. Gerade dies ist
der Vorteil eines polyalphabetischen, im Vergleich zu einem monoalphabetischen, Substitutionsverfahrens.
Sehr lange galt ein mit dem Vigenère-Verfahren verschlüsselter Text als nicht angreifbar. In diesem
Abschnitt wird ein Mittel der Kryptoanalyse vorgestellt, mit welchem jedes polyalphabetische Verschlüsselungsverfahren
zu knacken ist.
Das Kasiski-Verfahren wurde erstmals 1863 von Friedrich Wilhelm Kasiski, einem preußischen Soldaten
und Kryptologen, veröffentlicht.
Grundlage ist, dass der Geheimtext bekannt ist und durch das Vigenère-Verfahren, mit unbekanntem
Schlüssel, chiffriert wurde
Schritt 1: Suche nach n-Grammen mit Zeichenlänge 3 (besser mehr als 3!)
Zunächst sucht man im Geheimtext Wiederholungen von Zeichenketten mit mehreren Zeichen. Die
Idee dahinter ist, dass es sehr unwahrscheinlich ist, dass diese gleichen Zeichenketten im Geheimtext zufällig durch die Verschlüsselung von verschiedenen Klartextzeichen mit unterschiedlichen
Schlüsselzeichen entstanden sind. Also geht man davon aus, dass diese Zeichenketten auch im
Klartext identisch und somit mit den gleichen Schlüsselzeichen chiffriert wurden. Je länger diese
Wortwiederholungen im Geheimtext sind, desto wahrscheinlicher wird die Annahme. Man sollte
nach Wiederholungen mit mindestens drei Zeichen, besser mehr, suchen. In unserem einfachen
Beispiel soll uns die Länge 3 genügen. FIQFIQIOUOELOTHFIQTTXOSHSELOIJMAQEJXDHHFDDTELOHRSNZVRGFGHGELOFRWGUHSDLFSHFIQJGXOGXODIJNGFTVJCKIEXUEOFIG
FRQJCKUMHIROFBHODLHSRODHSNDMSZBPSFNWJEUJNGJEVFRHJNPBLLHEQGLDHGH
Wir finden die Wiederholungen FIQ und ELO der Länge 3.
Schritt 2: Zählen der Abstände zwischen den Wiederholungen
Wenn man annimmt, dass die Zeichenketten FIQ und ELO mit den gleichen Schlüsselzeichen chiffriert wurden, muss der Schlüssel einen ganzzahligen Abstand zu diesen Zeichenketten haben. Also
muss zum Beispiel von einem ELO zum nächsten der Schlüssel 1-mal, 2-mal, 3-mal,… vom Anfang
des Wortes ELO zum nächsten hineinpassen. Deshalb werden nun alle Abstände von einer Wiederholung
zur nächsten gezählt.
Wörter
Abstände in Zeichen
FIQ
3, 12, 57, 69, 72
ELO
15, 18, 33
Schritt 3: Gemeinsame Teiler der Abstände finden
Nun haben wir also gezählt, dass 3, 12, 15, 18 und 57 Zeichen zwischen den Wiederholungen liegen. Der gesuchte Schlüssel wird also irgendeine Länge haben, die ein ganzzahliger Teiler der gefunden Abstände ist. Wären zum Beispiel alle gefundenen Abstände 15 und 20, würde die unbekannte
Schlüssellänge 3, 5 oder 15 mal in die 15 und 2, 4, 5, 10 oder 20 mal in die 20 passen. Die
einzige gemeinsam enthaltene Schlüssellänge ist bei diesem Beispiel 5. Nun geht man davon aus,
dass der Schlüssel 5 Zeichen beinhaltet.
Bei unserem Beispiel sind die gemeinsamen Teiler der gefundenen Abstände:
Man beachte, dass nicht immer alle gefunden Abstände systematisch zum Schlüssel passen müssen,
es kann auch sein, dass wenige der gefunden Abstände und Wiederholungen tatsächlich zufällig entstanden sind und uns hier nicht weiterhelfen. Solche Abstände werden ignoriert.
Die Zahl 3 kommt als einziger gemeinsamer Teiler in Frage. Also könnte die Schlüsselwortlänge 3
sein.
Schritt 4: Zerlegung des Textes in n Blöcke (n = Schlüsselwortlänge)
Nun kann eine Dechiffrierung beginnen. Wenn die Länge des Schlüssel tatsächlich 3 ist, muss der
1., 4., 7., 10., … Buchstabe mit dem ersten Zeichen des Schlüssels chiffriert worden sein. Analog
dazu der 2., 5., 8., 11., … Buchstabe mit dem zweiten Schlüsselzeichen und der 3., 6., 9., 12., …
Buchstabe mit dem dritten Schlüsselzeichen. Jede dieser Verschlüsselungen für sich betrachtet ist
eine monoalphabetische Substitution und im speziellen eine Caesar-Verschlüsselung. Deshalb teilt man den Geheimtext jetzt in die oben genannten Blöcke auf, von denen jeder einzelne nach Caesar verschlüsselt wurde.
Schritt 5: Häufigkeitsanalyse der einzelnen Blöcke Da jeder einzelne Block mit Caesar chiffriert wurde, können wir durch eine einfache Häufigkeitsanalyse
dasjenige Zeichen im Geheimtextblock finden, welches das „E“ im Klartext gewesen sein
muss. Ist nicht ein einziges Zeichen deutlich am Häufigsten im Block vertreten, wählen wir sicherheitshalber die am nächst häufigsten auftauchenden Zeichen zusätzlich.
Block
Häufigste Zeichen
1
F: 14 mal
2
E: 9 mal, N: 6 mal, G: 6 mal
3
H: 11 mal
Schritt 6: Caesarverschiebung der einzelnen Blöcke Jetzt kann man die Caesar-Schlüssel der einzelnen Blöcke bestimmen. Wenn es mehrere Möglichkeiten,
wie in unserem Beispiel bei Block 2 gibt, bestimmen wir mehrere Caesar-Schlüssel und
schauen später, ob ein Schlüsselwortmöglichkeit sinnvoll erscheint bzw. den Geheimtext sinnvoll
entschlüsseln kann.
Block
Caesar-Schlüssel
1
F: 14 mal -> Caesar-Schlüssel 1 (B)
2
E: 9 mal -> Caesar-Schlüssel 0 (A)
N: 6 mal -> Caesar-Schlüssel 9 (I)
G: 6 mal -> Caesar-Schlüssel 2 (C)
3
H: 11 mal -> Schlüssel 3 (D)
Schritt 7: Mögliche Schlüsselwörter aufstellen
Schauen wir uns zunächst alle möglichen Schlüsselwörter, die sich aus unserer bisherigen Analyse
des Geheimtextes ergeben haben, an.
bad, bid, bcd
Das einzige Wort, dass hier ein „richtiges“ Wort ist, ist bad, welches nun als Schlüsselwort getestet
wird. Natürlich kann man nicht davon ausgehen, dass ein Schlüsselwort immer einen Sinn ergibt.
Dies ist sogar nicht empfehlenswert, da eine Dechiffrierung über Mittel der Kryptoanalyse dadurch erleichtert wird. Im Normalfall müssten wir nun eine Dechiffrierung mit allen drei möglichen
Schlüsseln versuchen.
Schritt 8: Dechiffrierung der ersten Zeile
Geheimtext
F
I
Q
F
I
Q
I
O
U
O
E
L
O
T
H
F
I
Q
T
T
Schlüssel
B
A
D
B
A
D
B
A
D
B
A
D
B
A
D
B
A
D
B
A
Verschiebung
1
0
3
1
0
3
1
0
3
1
0
3
1
0
3
1
0
3
1
0
Klartext
E
I
N
E
I
N
H
O
R
N
E
I
N
T
E
E
I
N
S
T
Also ist der gesuchte Klartext: Ein Einhorn einte einst… (Das ist der Beginn eines Märchens.)
Entschlüsseln Sie mit Hilfe des Kasiski-Verfahrens den Geheimtext „Geheimtext
2.odt“, welcher mit dem Vigenère-Verfahren chiffriert wurde.
Erläutern Sie, wieso die Vigenère-Chiffrierung lange Zeit als sicher galt.
Eine neue Variante, Running key, soll die Sicherheit von Vigenère verbessern. Es gibt nun zwei Schlüsselwörter und diese werden nacheinander genutzt.
Für den Klartext „the mandalorian is a bounty hunter“ und die beiden Schlüssel „grogu“ und „dindjarin“ wird der Geheimtext wie folgt erzeugt:
Zeichen
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Verschiebung
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
KT
t
h
e
m
a
n
d
a
l
o
r
i
a
n
i
key1
g
r
o
g
u
g
r
o
g
u
g
r
o
g
u
key2
d
i
n
d
j
a
r
i
n
d
i
n
d
j
a
k
9
25
27
9
29
6
37
22
19
23
14
30
17
15
20
k%26
9
25
1
9
3
6
11
22
19
23
14
4
17
15
20
keyB
j
z
b
j
d
g
l
w
t
x
o
e
r
p
u
GT
c
g
f
s
g
t
o
w
e
l
f
m
r
c
c
KT
s
a
b
o
u
n
t
y
h
u
n
t
e
r
key1
g
r
o
g
u
g
r
o
g
u
g
r
o
g
key2
r
i
n
d
i
n
d
j
a
r
i
n
d
i
k
23
25
27
9
28
19
20
23
6
37
14
30
17
14
k%26
23
25
1
9
2
19
20
23
6
11
14
4
17
14
keyB
x
z
b
j
c
t
u
x
g
l
o
e
r
o
GT
p
z
c
x
w
g
o
v
n
f
c
x
v
f
Der vollständige Geheimtext ist: cgfsgtowelfmrccpzcxwgovnfcxvf.
Verschlüsseln Sie den Klartext „love wins“ mit den Schlüsseln „at“ und „sun“ nach der obigen Methode.
Entschlüsseln Sie den Geheimtext „IHSQIRIHCQCU“, der mit den Schlüsseln „go“ und „cat“ nach der obigen Methode verschlüsselt wurde.
Beurteilen Sie die folgende Aussage:
Running key ist wie eine Vigenère-Verschlüsselung mit einem einzigen Schlüssel, dessen Länge
dem kleinsten gemeinsamen Vielfachen der Einzelschlüssellängen entspricht.
Vergleichen Sie die Sicherheit von Running key mit der von Vigenère, in den folgenden Fällen.
Das kleinste gemeinsame Vielfache der Schlüssellängen ist kleiner als die Länge des Klartextes.
Das kleinste gemeinsame Vielfache der Schlüssellängen ist größer oder gleich als die Länge
des Klartextes.
Beurteilen Sie die folgenden Aussagen:
Es ist wichtiger, den Verschlüsselungsalgorithmus geheimzuhalten, als den Schlüssel.
Es ist wichtiger, den Schlüssel geheimzuhalten, als den Verschlüsselungsalgorithmus.
Untersuchen Sie, in welchen Situationen die Kombination der Schlüssel bei Running key die größere
Sicherheit bietet.
Schlüssel 1: „on“ und Schlüssel 2: „over“
Schlüssel 1: „on“ und Schlüssel 2: „off“
Schlüssel 1: „security“ und Schlüssel 2: „test“
Schlüssel 1: „network“ und Schlüssel 2: „key“
Formulieren Sie eine Aussage, wie die Schlüssellängen der Teilschlüssel sein müssen, um eine möglichst
hohe Sicherheit bei Running key zu erzielen.
Stellen wir uns vor, Alice und Bob wollen ein sehr sicheres Verschlüsselungsverfahren nutzen, um
sich geheime Nachrichten zu schreiben.
Alice schickt Bob eine Nachricht
Bevor die beiden Nachrichten versenden können, müssen sie sich auf einen gemeinsamen Schlüssel einigen.
Dafür müssen sich die beiden entweder treffen oder den Schlüssel über die Post oder einen digitalen Kommunikationsweg austauschen. Letzteres ist heutzutage eher wahrscheinlich.
Wenn nun die neugierige Eve erfahren hat, dass die beiden geheime Nachrichten austauschen, möchte sie unbedingt erfahren, welche Geheimnisse die beiden wohl zu bereden haben.
Wie kann Eve dabei vorgehen?
Alice schickt nun eine verschlüsselte Nachricht an Bob und Eve hat die Möglichkeit, diese Nachricht abzufangen.
Eve fängt die Nachricht zwischen Alice und Bob ab
Da die Nachricht verschlüsselt und die Verschlüsselung sehr sicher ist, nützt ihr dieser Schritt
nichts. Das Problem ist aber, dass Eve offenbar die Möglichkeit hat, Nachrichten abzufangen und
auch weiterzuleiten. Wenn sie das mit der verschlüsselten Nachricht kann, kann sie auch was abfangen?
Genau, die Schlüssel können beim Austausch abfangen und weiterleiten. In der analogen Welt könnte Eve einfach die Briefe mit dem Schlüssel und der verschlüsselten Nachricht abfangen.
Somit könnte sie jede Nachricht entschlüsseln, lesen und unbemerkt weiterleiten.
Symmetrische Verschlüsselung hat das Problem, dass zum Ver- und Entschlüsselung der Nachricht der verwendete Schlüssel beiden Partnern bekannt sein muss. Kennt ein Angreifer nun also den Schlüssel, weil er den Austausch diesen verfolgt hat, kann er sämtliche Nachrichten abfangen, entschlüsseln und lesen oder auch neue Nachrichten verschlüsseln und versenden. Wir sehen, dass in solchen Fällen Vertraulichkeit, Authentizität und Integrität der Nachricht nicht mehr gewahrt werden.
An dieser Stelle setzen nun asymmetrische Verfahren an. Sie sorgen in erster Linie dafür, dass Authentizität und Integrität der Nachricht gewahrt werden, indem sie dafür Sorge tragen, dass der Schlüssel sicher ist und er auch nur zur Kommunikation mit einer bestimmten Person passt.
Wie das geht, schauen wir uns im Folgenden an.
(Einzelarbeit) Stellen wir uns folgende Situation vor: Karl Kunde sitzt sonntags vor dem PC um zu shoppen. Er entdeckt den Online-Shop von Vera Verkäuferin, bei dem er gerne einige Dinge erwerben möchte. Für die Bezahlung möchte er seine Kreditkarte nutzen, die Vera auch akzeptiert.
Selbstverständlich sollen die notwendigen Daten ausschließlich an Vera gehen und niemandem sonst, vor allem nicht Spike Spitzbube, der sehr gerne die Kreditkarteninformationen von Karl wüsste, in die Hände fallen.
Man kann davon ausgehen, dass Vera und Karl sich aufgrund räumlicher Distanz nicht treffen können.
Erläutern Sie, warum ein symmetrisches Verschlüsselungsverfahren für die Kommunikation von Vera und Karl nicht geeignet ist.
(Partnerarbeit) Karl und Vera haben ein neues besonderes Verfahren entwickelt. Dieses Verfahren kann man sich wie ein Schloss vorstellen.
Doch dieses Schloss hat eine Besonderheit. Es besitzt zwei Schlüssellöcher.
Geöffnetes Schloss
Geschlossenes Schloss
Das Neue ist hier, dass sowohl Karl, als auch Vera, einen eigenen, privaten Schlüssel für das Schloss besitzen.
Schloss mit den beiden Schlüsseln
Der gelbe Schlüssel ist Karls privater Schlüssel und der grüne Veras. Wenn nun eine Nachricht verschlüsselt werden soll, muss das Schloss an diese Nachricht gehängt und geschlossen werden. Wenn man die Nachricht wieder lesen möchte, muss das Schloss an der Nachricht geöffnet werden. Situation: Karl möchte eine verschlüsselte Nachricht an Vera schicken
Beschreiben Sie den Ablauf des Verfahrens, wenn Vera eine Nachricht an Karl schicken möchte.
Der neugierige Spike hat nun die Möglichkeit, den verschlüsselten Brief abzufangen.
Untersuchen Sie, welche der am Kryptosystem beteiligten Komponenten (Schloss, Veras Schlüssel, Karls Schlüssel) öffentlich bekannt sein bzw. ausgetauscht werden dürfen und welche nicht.
Karl und Vera müssen das gemeinsame Schloss vorher austauschen. Das soll zwar auf einem möglichst sicheren Kanal geschehen aber der clevere Spike kann das Schloss abfangen.
Entscheiden Sie, ob Spike mit dem Schloss etwas anfangen kann.
Nun ändern wir die Situation. Karl und Vera haben einen eigenen Schlüssel, wie vorher auch, aber nun ein eigenes Schloss.
Wir gehen davon aus, dass beide Schlösser nur durch den jeweiligen Schlüssel geöffnet werden können. Das Verschließen eines Schlosses kann durch jede Person vorgenommen werden.
Neue Sitation: Jeder hat ein Schloss und einen Schlüssel zum Öffnen.
Erläutern Sie, weshalb Karl und Vera vorher ihre jeweiligen Schlösser geöffnet austauschen oder an irgendeinem öffentlich zugänglichen Ort deponieren müssen, wenn die beiden verschlüsselte Nachrichten austauschen wollen.
Untersuchen Sie, welchen Nutzen Spike das Abfangen
der Schlösser,
einer verschlüsselten Nachricht,
beider oben genannten Teile
nützen würde.
Erläutern Sie, was die Verfahren in dieser Aufgabe von allen bisher betrachteten Verschlüsselungsverfahren unterscheidet und worin genau der Mehrwert an Sicherheit liegt.
Geben Sie auch ganz deutlich an, welche Komponenten eines solchen Kryptosystems öffentlich, also bekannt, und welche privat, also geheim, sein müssen. Gehen Sie dabei auch darauf ein, weshalb bestimmte Komponenten gerade öffentlich sein müssen.
Nun klären wir, wie es überhaupt möglich ist, dass sich Karl und Vera so untereinander einigen können, dass sie für ein symmetrisches Verschlüsselungsverfahren einen gemeinsamen Schlüssel haben können, den sie aber niemals untereinander austauschen müssen.
Für diese Art der Verschlüsselung werden mathematische Berechnungen genutzt. Die hier wesentliche Berechnung ist die Modulo-Rechnung.
In Java(/Processing) haben wir bereits kennengelernt, dass man mit z. B. 3%2 den Wert 1 berechnen kann. Das Zeichen % berechnet in Java den ganzzahligen Rest beim Teilen von 3 durch 2. In der Mathematik schreibt man dies allerdings nicht mit dem Zeichen % sondern dem Wort mod. Das mod steht für das Wort modulo. Zum Beispiel liest man 3mod 2≡1 als „3 modulo 2 ist 1“, also der ganzzahlige
Rest beim Teilen von 3 durch 2 ist 1. Das Gleichheitszeichen wir hier durch ≡ ersetzt, da z. B. hinter
1mod 3 unendlich viele Zahlen stehen, nicht nur die 1. So ist auch 4≡1mod 3 oder auch 7, 10,
13,… Rechenregeln für Restklassen
Bei allen Rechnungen ist zu beachten, dass am Ende einer jeden Rechnung gegebenenfalls noch
einmal modulo zu rechnen ist, wenn das Ergebnis zu groß ist. Zum Beispiel ist
8mod 5+18mod 5≡3+3=6
und 6 ist noch weiter modulo zu rechnen:
8mod 5+18mod 5≡(3+3)mod 5=6mod 5≡1.
Rechnung
Formal
Beispiel
Addieren
(a + b) mod n ≡ (a mod n + b mod n)
(5 + 12) mod 3 ≡ 17 mod 3 ≡ 2 und
5 mod 3 + 12 mod 3 ≡ (2 + 0) mod 3 ≡ 2
Multiplizieren
(a · b) mod n ≡ (a mod n) · (b mod n)
(4 · 5) mod 3 ≡ 20 mod 3 ≡ 2 und
(4 mod 3) · (5 mod 3) ≡ 1 · 2 ≡ 2
Potenzieren
ak mod n ≡ (a mod n)k
44 mod 3 ≡ 256 mod 3 ≡ 1 und
(4 mod 3)4 ≡ 14 ≡ 1
Man beachte, dass insbesondere bei der Rechenregel zum Potenzieren enorm viel Rechenaufwand eingespart wird!
Elegantes Potenzieren
Große Potenzen sind ohne ein digitales Hilfsmittel nur sehr aufwendig zu berechnen. Hier ein Beispiel zum schnellen Berechnung von Potenzen beim Restklassenrechnen ohne Hilfsmittel:
Bearbeiten Sie die Aufgaben in arbeitsteilige Partnerarbeit. Dokumentieren Sie Ihre Arbeit in diesem Dokument.
Jeder von Ihnen wählt für sich eine private Zahl x zwischen 2 und 15.
Berechnen Sie den (ganzzahligen) Rest, wenn Sie p=11 und und g= 7 wählen und teilen Sie das Ergebnis (Ihren öffentlichen Schlüssel) Ihrem Partner mit. Sie finden unten einen Rechner, den Sie nutzen können.
Sie haben den öffentlichen Schlüssel von Ihrem Partner erhalten. Berechnen Sie nun den gemeinsam geheimen Schlüssel k.
Vergleichen Sie das Ergebnis mit Ihrem Partner.
Das gemeinsamen Ergebnis kann nun als Schlüssel in einem symmetrischen Verfahren genutzt werden.
Führen Sie einen weiteren Durchgang aus, indem Sie 7 und 11 durch andere Zahlen ersetzen.
Die erste Zahl muss kleiner als die zweite Zahl, das Modul, und das Modul sollte eine Primzahl sein.
Dokumentieren Sie auch auch hier Ihr Ergebnis mit der Vorlage.
Berechne deinen öffentlichen Schlüssel und den gemeinsamen geheimen Schlüssel.
1. Berechne deinen öffentlichen Schlüssel
Gib eine Primzahl p, eine Generator g
und deinen privaten Schlüssel ein.
Dein öffentlicher Schlüssel:
(Berechnet als: gprivat mod p = )
2. Berechne den gemeinsamen geheimen Schlüssel
Gib den öffentlichen Schlüssel deines Gegenübers ein,
um den gemeinsamen geheimen Schlüssel zu berechnen.
Gemeinsamer geheimer Schlüssel:
(Berechnet als: andererSchlüsselprivat mod p = )
Die folgenden Aufgaben bearbeiten Sie bitte in Partnerarbeit.
Begründen Sie, welche der für das vorher vorgestellte Verfahren Zahlen über einen öffentlichen Kanal ausgetauscht werden müssen und demnach während des Schlüsseltauschs von einer angreifenden Person abgefangen werden können
Diskutieren Sie, ob das bloße Abfangen dieser Informationen für Spike ausreicht, um den gemeinsamen geheimen Schlüssel zu berechnen und damit abgefangene verschlüsselte Nachrichten zu entschlüsseln.
Erläutern Sie zusätzlich, welche Voraussetzungen Spike erfüllen müsste, um an die privaten Schlüssel von Karl und Vera zu gelangen.
Untersuchen Sie, welche Art von Angriffen Spike ausführen kann, wenn er
an einen privaten Schlüssel herankommen könnte,
an den gemeinsamen Schlüssel herankommen könnte.
Fassen Sie tabellarisch zusammen, welche Angriffsarten mit symmetrischer Verschlüsselung und den asymmetrischen Verfahren verhindert werden sollen.
Wir erweitern das Angriffsszenario noch etwas. Bearbeiten Sie die Aufgaben in Partnerarbeit.
Spike hat nun auch ein eigenes Schloss mit entsptrechendem geheimen Schlüssel.
Spike hat nun auch ein Schloss und einen geheimen Schlüssel
Untersuchen Sie, welche Möglichkeiten sich für Spike jetzt ergeben, wenn er die gesamte Kommunikation zwischen Karl und Vera abfangen kann.
Gehen Sie insbesondere darauf ein, ob Spike mit seinem eigenen Schloss etwas anfangen kann und ob dies den anderen beiden gegebenenfalls auffällt.
(Partnerarbeit) Wir erweitern das Szenario erneut. In der Realität ist es so, dass man sowohl mit einem Schlüssel, als auch mit einem Schloss verschlüsseln kann.
Das wirkt vielleicht auf den ersten Blick nicht möglich, aber ein sehr einfaches Beispiel kennt jede Person aus dem Mathematikunterricht.
Der zu verschlüsselnde Klartext sei die Zahl 5.
Veras privater Schlüssel ist die Funktion g , mit
.
Veras öffentlicher Schlüssel, also das bisherige Schloss, ist dann die Funktion f , mit f(x)=x3.
Um die Abbildungen anzupassen, werden die öffentlich Schlüssel ab nun nicht mehr als Schloss dargestellt und die privaten nicht mehr als Schlüssel dargestellt.
Erläutern Sie die untere Abbildung.
Spike hat nun auch ein Schloss und einen geheimen Schlüssel
Entwickeln Sie einen privaten und einen öffentlichen Schlüssel für Karl.
Beschreiben Sie den Ablauf, wenn Vera an Karl die Klartextnachricht 4 schicken möchte.
(Partnerarbeit) So, jetzt sind wir soweit, dass Vera die für eine Überweisung des Betrags, der von Karl gekauften Produkte, an Karl weitergeben möchte. Der fiese Spike denkt sich jedoch, dass er viel lieber das Geld auf sein eigenes Konto überwiesen haben möchte.
Um das umsetzen zu können, tauscht er den öffentlichen Schlüssel von Vera aus.
Im Folgenden sind zwei Szenarien mit den öffentlichen und privaten Schlüsseln dargestellt.
Szenario 1
Szenario 2
Vergleichen Sie beide Szenarien und beurteilen Sie, ob es mit dem asymmetrischen Konzept des privaten und öffentlichen Schlüssels möglich ist, dass ein Sender authentifiziert, also als der vermeintliche Sender erkannt werden kann.
Erläutern Sie diesen Ablauf.
Schauen wir uns noch einmal das Verschlüsseln mit öffentlichen und privaten Schlüsseln an.
Karl möchte zunächst verschlüsselt einkaufen. Da er weiß, dass er mit Vera kommunizieren möchte, sucht er im öffentlichen Register nach ihrem öffentlichen Schlüssel.
Da Karl ein Kundenkonto besitzt, möchte er natürlich mit seinem Konto einkaufen.
Entwickeln Sie mit Hilfe von Aufgabenteil a) eine Möglichkeit, dass Karl sich bei seiner verschlüsselten Bestellung auch bei Vera authentifizieren kann.
Stellen Sie diesen Ablauf auch grafisch dar.
Damit die Authentifikation verlässlich ist, gibt es digitale Zertifikate, auch Public-Key-Zertifkat genannt. Wie der Name verrät, sind dies Zertifikate, welche die Zugehörigkeit eines öffentlichen Schlüssels zum angegebenen Eigentümer dieses Schlüssels bestätigt. Diese Aufgabe übernimmt eine dritte vertrauenswürdige Institution. In der Regel enthält ein digitales Zertifikat die folgenden Informationen:
den zu bestätigenden öffentlichen Schlüssel
den Eigentümer/die Eigentümerin des Schlüssels
die ausstellende Institution des Zertifikats (CA → Certificate Authority)
die genutzten kryptographischen Verfahren
die Gültigkeitsdauer des Zertifikats
eine digitale Signatur der ausstellenden Institution
Webseiten sind ein gutes Beispiel für das Ausstellen von Zertifikaten. Auch Webseiten sollten überprüft worden sein, dass sie vertrauenswürdig sind und wirklich von dem bereitgestellt werden, von dem der Benutzer es erwartet. Nutzen Sie im Folgenden den Chrome-Browser, andere Browser funktionieren auch.
Öffnen Sie zunächst die Seite der Bundesregierung und finden Sie über das Symbol oben links neben der URL folgende Aspekte heraus:
Aussteller des Zertifikats (Issuer)
Für welche Domain ist das Zertifikat gültig (Subjekt)
Ablaufdatum des Zertifikats (Validity)
Welcher Public Key-Algorithmus wird verwendet?
In welcher Darstellungsform liegen die Schlüssel vor?
In den Folgenden drei Beispiele zeigt der Browser Fehler an.
Untersuchen Sie bei den drei Websites welche Art von Fehler vorliegt und welche Gefahr davon ausgeht. Halten Sie Ihre Ergebnisse in einer Tabelle fest.
Sie kennen das sicher: Sie erhalten eine E-Mail, die auf den ersten Blick von einem vertrauenswürdigen Anbieter stammt –
etwa von Netflix, PayPal oder Ihrer Bank. Die Mail sieht authentisch aus, enthält Logos und sogar persönliche Anreden.
Doch bei genauerem Hinsehen fallen Ihnen merkwürdige Details auf:
Die Absenderadresse lautet z. B. support@netflixx-security.com (mit zwei „x“) statt @netflix.com.
Der Link in der Mail führt zu einer URL wie https://netflix-kunden-service.ru (Russland-Domain!).
Die Mail fordert Sie auf, „dringend“ Ihre Zahlungsdaten zu aktualisieren – sonst werde Ihr Account gesperrt.
Beispielhafer Inhalt einer Phishing-Mail
Zum Glück überprüft Ihr Mail-Programm die Mails schon vorab und kann durchaus solche Mails filtern.
Stellen Sie Vermutungen darüber an, wie ein Mailprogramm herausfindet, ob die Mail vom richtigen Absender kommt oder nicht. Hinweis: natürlich spielen Zertifikate hier auch eine Rolle, aber die lassen wir hier einmal außen vor.
Alice (Senderin) hat von Online-Händler Otto einen Staubsauger geliefert bekommen, den sie nie bestellt hat. Der Grund: Bösewicht Mallory (Angreiferin) hat eine E-Mail an Otto geschickt und sich dabei als Alice ausgegeben. Leider ist es nur zur einfach, den Absender einer E-Mail zu fälschen […], und man braucht nicht viel Fantasie, um sich auszumalen, welchen Unfug Mallory damit sonst noch anstellen kann. Diese Umstände sind jedoch bekannt, und daher ist das Vertrauen, das einer E-Mail entgegengebracht wird, im Allgemeinen nicht sehr hoch. Das Problem falscher Absender ist allerdings nicht auf den Bereich der Computernetzwerke beschränkt. Schließlich kann auch per Post jeder, der dazu Lust und Laune hat, einen Brief mit beliebiger Absenderangabe durch die Gegend schicken. Im richtigen Leben löst man dieses Problem mit einer Unterschrift. In der digitalen Welt verwendet man eine digitale Signatur.
Was ist eine digitale Signatur?
Unter einer digitalen Signatur darf man sich keine Unterschrift von Hand vorstelle, die eingescannt und digital gespeichert wird. Eine solche könnte schließlich leicht kopiert und zweckentfremdet werden. Vielmehr versteht man darunter eine spezielle, schlüsselabhängige Prüfsumme, die im Zusammenhang mit einem digitalen Dokument ähnliche Eigenschaften aufweist wie eine Unterschrift von Hand. Damit die Bezeichnung Signatur gerechtfertigt ist, muss diese Prüfsumme folgende Voraussetzungen erfüllen:
Sie darf nicht einfach zu fälschen sein.
Ihre Echtheit muss überprüfbar sein.
Sie darf nicht unbemerkt von einem Dokument zum anderen übertragen werden können.
Das dazugehörige Dokument darf nicht unbemerkt verändert werden können.
Der erste Punkt wird sinnvollerweise wiederum dadurch gelöst, dass ein Passwort (auch in diesem Fall privater Schlüssel genannt) in die digitale Signatur eingeht. Damit kann Alice ihre eigene, eindeutige digitale Unterschrift generieren, sofern niemand sonst den Schlüssel kennt. Die Tücke bei der Sache ist jedoch, dass es für Bob (Empfänger) auch ohne Kenntnis des Schlüssels möglich sein muss, die Echtheit von Alices Unterschrift zu überprüfen. Dazu verwendet er wiederum einen öffentlichen Schlüssel […].
Kryptografie, Klaus Schmeh, dpunkt.verlag, ergänzt durch Lehrkraft
Wie kann man sich das konkret vorstellen?
Zunächst muss erstmal die digitale Signatur erstellt werden. Gegeben ist stets die zu übertragende Nachricht, auch Klartext genannt. Aus dieser Nachricht wird ein sogenannter Hash-Wert gebildet (diese Ermittlung kann auf sehr verschiedene Arten erfolgen [in der Abbildung als Hash-Algorithmus bezeichnet]). Der Hash-Wert ist ein nummerischer Wert mit fester Länge, wobei der Begriff „hash“ aus dem Englischen kommt und Störsignale bedeutet. Der Hash-Wert wird anschließend mithilfe des privaten Schlüssels von Alice (und manchmal auch zusätzlich mithilfe des öffentlichen Schlüssels von Bob) verschlüsselt. Der daraus resultierende Wert wird digitale Signatur genannt und der Nachricht angehängt/beigefügt.
Somit ist die digital unterschriebene Nachricht erzeugt. Diese Nachricht wird dann übermittelt. Bob (der Empfänger) kann nun aus der Nachricht ohne digitale Signatur den Hash-Wert bestimmen. Mithilfe des öffentlichen Schlüssels von Alice (Senderin) (und manchmal auch mit seinem privaten Schlüssel) kann die digitale Signatur entschlüsselt werden. Stimmen nun der Hash-Wert aus der Nachricht und der entschlüsselte Wert aus der digitalen Signatur überein, weiß Bob, dass die Nachricht von Alice kommt und nicht verändert wurde.
Digitale Signierung einer Nachricht und Überprüfung
(Partnerarbeit) Im Folgenden betrachten wir ein konkretes Verfahren, eine Nachricht digital mit einer sogenannten Hashfunktion zu signieren, um eine Authentifikation zu ermöglichen.
Schritt
Beschreibung
Beispiel
1
Die Hashfunktion überführt jedes Zeichen der Nachricht in seinen Unicode-Wert, also seinen ASCII-Code als Dezimalwert,
summiert die Werte auf und berechnet zum Schluss den Rest beim Teilen dieser Summe durch 26. Das Ergebnis soll unter
dem Hashwert h sein.
Die Nachricht sei „ABC“. A hat den ASCII-Wert 65, B 66 und C 67. Dann ist die Summe: 65+66+67=198.
198 mod 26 = 16. Der Hashwert ist somit h=16.
2
Zum Ver- und Entschlüsseln des Hashwertes wird ein, wie in Aufgabe 1 zum asymmetrischen Schlüsseltausch,
erstellter gemeinsamen Schlüssel k verwendet. Dieser wird zu h addiert. Danach wird die Summe wieder modulo
26 gerechnet.
Der gemeinsame asymmetrische Schlüssel sei 19. Da h=16, ist h+k=35. 35 mod 26 = 9.
3
Die digitale Signatur ist der Buchstabe im Alphabet, der an der Stelle k+h mod 26, beginnend mit 0 für ‚A‘, ist. Ist
zum Beispiel k+h mod 26 = 4, so ist die digitale Signatur das ‚E‘.
Hier ist h+k mod 26 = 9, also ist die digitale Signatur in unserem Beispiel ‚J‘.
4
Die digitale Signatur wird an die eigentliche Nachricht angehängt.
Die Nachricht, inklusive der digitalen Signatur, ist für unser Beispiel: „ABCJ“.
5
Nun kann die Nachricht übertragen werden.
–
Erstellen Sie nach dem Verfahren von Aufgabe 1 zum asymmetrischen Schlüsseltausch einen gemeinsamen Schlüssel.
Erstellen Sie jeweils für eine selbstgewählte Nachricht mit zwei Wörtern eine nach dem obigen Verfahren gebildete digitale Signatur.
Entwickeln Sie gemeinsam die einzelnen Schritte eines Verfahrens, mit welchem eine, nach dem obigen Verfahren gebildete, digitale Signatur überprüft werden kann. Hier sollten Sie sich überlegen, wie Sie als Empfänger einer Nachricht ihrer Partnerarbeitperson diese so überprüfen können, dass sicher ist, die Nachricht kommt von dieser Person.
Tauschen Sie Ihre Ergebnisse aus Aufgabenteil b) aus und testen Sie Ihr Verfahren bei dieser Nachricht.
(Partnerarbeit) Im Folgenden betrachten wir die Hashfunktion aus der Aufgabe 1 etwas genauer.
Ein Überweisung soll getätigt werden. Damit die Bank und ein Kunde bzw. eine Kundin authentifiziert werden können, wird für die digitale Signatur unser Verfahren genutzt. Erstellen Sie eine digitale Signatur für den eingezahlten Betrag „TAUSENDEINHUNDERT“ mit dem gemeinsamen Schlüssel 17.
Ein Angreifer fängt die Nachricht ab und ändert den eigentlichen Nachrichtenteil zu „EINHUNDERTTAUSEND“.
Analysieren Sie anhand des obigen Beispiels die Sicherheit unserer digitalen Signatur.
Entwickeln Sie eine mögliche Verbesserung unseres Verfahrens.
Hashfunktionen sollten drei wesentliche Kriterien erfüllen:
Geringe Wahrscheinlichkeit von Kollisionen der Hashwerte für die Eingabewerte → verschiedene Eingaben liefern den gleichen Hashwert (Kollision).
Surjektivität: Jeder Hashwert im definierten Wertebereich, also alle Werte, die theoretisch als Funktionswert der Hashfunktion vorkommen können, soll auch tatsächlich vorkommen können.
Effizienz: Die Funktion muss schnell berechenbar sein, ohne großen Speicherverbrauch auskommen und sollte die Eingabewerte möglichst nur einmal lesen müssen.
Entscheiden Sie, welche Kriterien die gegebene Hashfunktion aus unserem Verfahren erfüllen und welche nicht.