Zum Inhalt springen

AB 01 — E-Mail-Verschlüsselung

Mein Fortschritt0/4 (0 %)

Die E-Mail-Verschlüsselung ist ein wesentliches Instrument, um die Sicherheit und Vertraulichkeit von E-Mail-Kommunikation zu gewährleisten. Durch Verschlüsselungstechniken werden Nachrichten in einen nicht lesbaren Code umgewandelt, der nur vom beabsichtigten Empfänger entschlüsselt werden kann. Dies hilft, sensible Informationen vor unbefugtem Zugriff zu schützen und die Integrität der Kommunikation zu gewährleisten. In einer Zeit, in der Datenschutz und Datensicherheit zunehmend wichtiger werden, ist die Implementierung von E-Mail-Verschlüsselung eine bedeutende Maßnahme, um die Vertraulichkeit persönlicher und geschäftlicher Nachrichten zu gewährleisten.

Der Begriff Kryptologie und die Bezeichnung für die verwandten Disziplinen Kryptografie und Kryptoanalyse stammen aus dem Griechischen. „Kryptos“ bedeutet so viel wie „geheim“ oder „verborgen“. „Graphein“ steht für „schreiben“. Die Endung „-analyse“ stammt von „analysein“, deutsch „entziffern“. „Logos“ bedeutet „Sinn“. Somit lassen sich die drei Disziplinen wie folgt

unterteilen:

  • Kryptografie: die Wissenschaft der Geheimschrift

  • Kryptoanalyse: die Kunst, Geheimschrift (unbefugt) entziffern zu können, den Code zu brechen

  • Kryptologie: die Wissenschaft, die Kryptografie und Kryptoanalyse miteinander vereint

Ziel der Kryptografie ist es, Nachrichten in eine Art „Geheimschrift“ zu übersetzen und diese so auf einem möglicherweise unsicheren Weg zum vorgesehenen Empfänger zu schicken. Die für die Nachricht gewählten Zeichen sollen so gewählt sein, dass nur der vorbestimmte Empfänger in der Lage sein sollte, den Inhalt der Nachricht wieder lesbar zu machen.

Die Verwendung von geheimen Zeichen ist für die Kryptografie nicht notwendig und auch nicht sinnvoll. Die Zeichen des Klartextes sind dieselben wie die des Chiffretextes. Bei den historischen Verschlüsselungsverfahren wurden die Zeichen des Alphabetes verwendet. Bei den modernen, computergestützten Verfahren sind dies Gruppen aus binärer Zuständen (Bits, Bytes oder Blöcke aus mehreren Bytes).

In der Kryptologie hat es sich eingebürgert, Problem- oder Protokollbeschreibungen nicht abstrakt vorzunehmen: „A möchte B eine verschlüsselte Nachricht zusenden, C versucht, diese Nachricht abzufangen und deren Inhalt zu entschlüsseln.“

Vielmehr werden in der kryptologischen Literatur Akteure mit Vornamen genannt, deren Anfangsbuchstabe Ihnen Aufschluss über die Rolle des Akteurs im jeweiligen Beispiel gibt. Aus den Hauptteilnehmern A und B werden auf diese Weise Alice und Bob.

Die grundlegende Herausforderung der Kryptografie ist es, eine Nachricht so zu verschlüsseln, dass deren Inhalt während des Transports vor der Kenntnisnahme durch Unbefugte geschützt ist.

Der rechtmäßige Empfänger der Nachricht muss aber in der Lage sein, diese zu dechiffrieren, also die Verschlüsselung wieder rückgängig zu machen.

Damit dies möglich ist, benötigt der Empfänger eine Zusatzinformation – den Schlüssel. Ein ideales Verschlüsselungsverfahren ist so sicher, dass es nur mithilfe des passenden Schlüssels möglich ist, an den Inhalt der Nachricht zu kommen.

Kryptografische Verfahren, bei denen Sender und Empfänger denselben Schlüssel zum Ver- wie auch zum Entschlüsseln verwenden, werden symmetrische Verschlüsselungsverfahren genannt.

Schreibt der Feldherr z. B. einen Befehl für seine Truppen

in dreizeiliger Form auf das Band:

Angriff der Trup pen beim ersten Morgengrauen

So ist auf dem abgewickelten Band Folgendes zu lesen:

ApMneognrr gibefenfig mrd aeeurre snTt re un p

Die Stabchiffre nimmt also nur eine Umverteilung der Buchstaben vor. Die Zeichen selbst und deren Häufigkeit bleibt erhalten, nur die Reihenfolge ändert sich (Transposition).

Der römische Feldherr Caesar setzte zur Kommunikation mit seinen Generälen eine Methode ein, die später auch nach ihm benannt wurde. Cicero lobte Caesar in seinen Schriften dafür, dass er eine absolut sichere Methode gefunden habe, geheime Nachrichten zu verfassen.

Caesars Methode bestand darin, in einer Nachricht jeden Buchstaben durch denjenigen Buchstaben zu ersetzen, der drei Stellen später im Alphabet folgt. Wollte jemand eine derartige Nachricht lesen, so musste er im Chiffretext jeden Buchstaben durch den um drei Stellen vorgestellten Buchstaben ersetzen.

Caesar verschob also das Alphabet des Chiffretextes im Vergleich zum Klartextalphabet. Im Gegensatz zu einer Chiffre, die auf Änderung der Reihenfolge beruht (Transpositionschiffre), ist die Caesar-Chiffre also eine Rotationschiffre (ROT).

Die Zuordnung von Klartextbuchstaben zu Buchstaben im Chiffretext sieht nach Caesar so aus:

Klartext 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 Chiffre D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Der Buchtitel DE BELLO GALLICO mit der Caesar-Chiffre verschlüsselt lautet: GH EHOOR JDOOLFR.

Die Caesar-Chiffre ist eigentlich ein Sonderfall. Caesar nahm zum Chiffrieren immer oben stehende Tabelle – also immer denselben Schlüssel.

Der etwas allgemeinere Fall ist die Rotationschiffre. Wenn Sie obige Tabelle betrachten, so können Sie die beiden Alphabete um 1 bis 25 Buchstaben gegeneinander verschieben. Sie haben also 25 verschiedene Schlüssel. Der Schlüssel 26 – eine Verschiebung um 0 Zeichen, würde keinen Sinn machen, da dann der Klar- und der Chiffretext identisch wären.

Eine Zahl zwischen 1 und 25 stellt also den Schlüssel dar, den Alice zu Bob übertragen muss, damit dieser eine entsprechend chiffrierte Nachricht wieder lesbar machen kann.

Das Problem der ROT-Chiffre ist, dass die Zeichen zwar durch andere ersetzt werden, die Häufigkeit von einzelnen Zeichen und die Reihenfolge des Chiffrealphabets aber erhalten bleibt. In der ROT-Chiffre gibt es nur ein Chiffrealphabet. Häufige Zeichen werden also immer durch dieselben anderen Zeichen ersetzt, die dann genauso häufig sind.

Ziel einer Verbesserung wäre es also, eine Verschlüsselung in der Art vorzunehmen, dass im Ergebnis alle Buchstaben gleich häufig vorkommen. Das kann z. B. durch Verwendung von mehreren Chiffrealphabeten erfolgen.

Der Benediktiner Johannes Heidenberg (1462–1516) hat zu diesem Zweck in seiner Tabula Recta alle 26 ROT-Verschiebungen aneinandergereiht. Diese Tabelle wird auch Vigenère-Quadrat genannt, benannt nach dem französischen Kryptologen Blaise de Vigenère (1523–1596).

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

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 A

C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

R S T U V W X Y Z A B C D E F G H I J K L M N O P Q

S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

Z 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

Im Computerzeitalter treten die klassischen Verschlüsselungsmethoden eher in den Hintergrund.

Die Methoden, mit denen in der Informationstechnologie gearbeitet wird, erlauben aufgrund der Rechenleistung deutlich komplexere Operationen.

Grundsätzlich können moderne kryptografische Verfahren unterteilt werden in solche, die symmetrisch arbeiten (wenn Alice und Bob denselben Schlüssel benutzen), und in solche, die asymmetrisch arbeiten (hier besitzen Alice und Bob verschiedene Schlüssel).

Bei der Unterscheidung von Verschlüsselungsalgorithmen kann auch unterschieden werden, ob der Algorithmus die Daten als Blöcke mehrerer Bits auf einmal verschlüsselt oder jedes Bit einzeln. Erstere werden Blockchiffren genannt, letztere Stromchiffren.

Um einen einheitlichen kryptografischen Algorithmus für die IT-Welt zu fördern, führte das NIST (National Institute of Standards and Technology, USA) im Jahre 1973 eine öffentliche Ausschreibung für einen kryptografischen Algorithmus mit folgenden Forderungen durch:

  • Der Algorithmus muss einen hohen Grad an Sicherheit gewährleisten.

  • Der Algorithmus muss vollständig spezifiziert und leicht nachzuvollziehen sein.

  • Die Sicherheit des Algorithmus muss auf dem Schlüssel basieren, nicht auf der Geheimhaltung des Algorithmus.

  • Der Algorithmus muss für alle Anwender zur Verfügung stehen.

  • Der Algorithmus muss an verschiedene Anwendungen angepasst werden können.

  • Der Algorithmus muss sich kostengünstig in elektronische Komponenten implementieren lassen.

  • Der Algorithmus muss effizient in der Benutzung sein.

  • Es muss möglich sein, den Algorithmus zu validieren.

  • Der Algorithmus muss exportierbar sein.

Der aussichtsreichste Kandidat für diesen Algorithmus wurde von IBM eingereicht. Bevor er jedoch zum Standard deklariert wurde, wurde der Entwurf von IBM noch von der NSA (National Security Agency) modifiziert, die die Schlüssellänge als sichtbare Änderung von 128 Bit auf 56 Bit reduzierte. Über Gründe für Änderungen innerhalb des Algorithmus war die NSA zu keiner Stellungnahme zu bewegen, was viele Jahre für Bedenken in der Öffentlichkeit sorgte, die NSA habe eine Hintertür in den Ablauf des DES eingebaut, um diesen leichter entschlüsseln zu können.

Das Ziel dieses Buches ist nicht, den Leser zu befähigen, kryptografische Algorithmen selbst nachrechnen zu können. Sie sollten jedoch ein grundlegendes Verständnis für die Arbeitsweise von computerbasierten Verschlüsselungsalgorithmen besitzen, damit Sie Ähnlichkeiten zuordnen und möglicherweise auch Sicherheit und Sicherheitsrisiken selbst besser einschätzen können.

DES ist eine Blockchiffre und verschlüsselt jeweils Blöcke aus 64 Bit. Es wird ein Schlüssel mit der Länge von 64 Bit benötigt, von dem jedoch 8 Bits als Paritätsbits zur Fehlererkennung verwendet werden. Somit ist der Schlüssel effektiv 56 Bit lang.

DES besteht aus mehreren Runden (insgesamt 16), die durchlaufen werden. Soll ein Datenblock verschlüsselt werden, so durchläuft dieser zunächst die Initial Permutation (Eingangspermutation). Hier werden die Datenbits anhand einer fest vorgegebenen Tabelle in ihren Positionen vertauscht. Anschließend werden die 64 Datenbits in zwei Blöcke zu jeweils 32 Bits aufgeteilt. Diese werden als L und R bezeichnet. Die nebenstehende Zahl in der Grafik zeigt jeweils an, um welche Runde es sich handelt.

1997 forderte das NIST die Öffentlichkeit wiederum auf, Vorschläge für einen neuen Verschlüsselungsalgorithmus den zukünftigen Advanced Encryption Standard – abzugeben. Der neue Standard sollte wie DES eine rundenbasierte symmetrische Blockchiffre sein. Er musste Datenblöcke von 128 Bits verarbeiten und mit variablen Schlüssellängen von mindestens 128, 192 und 256 Bits arbeiten können. Die Implementierung sollte sowohl in Hardware als auch in Software möglich sein. Abschließend sollte das Verfahren effizienter und lizenzfrei sein.

Aus vielen eingereichten Vorschlägen, unter denen sich auch der von der Deutschen Telekom entwickelte Algorithmus MAGENTA befand, wurden vom NIST fünf Finalisten ausgewählt:

  • MARS (IBM)

  • RC6 (RSA Laboratories)

  • Rijndael (Vincent Rijmen und Joan Daemen)

  • SERPENT (Ross Anderson, Eli Biham und Lars Knudsen)

  • TWOFISH (Bruce Schneier und John Kelsey)

Am 2. Oktober 2000 stellte das NIST den Gewinner der Ausschreibung und somit den zukünftigen AES-Algorithmus vor: den aus Belgien stammenden Rijndael. Am 26. November 2001 wurde der AES als FIPS 197 verabschiedet (FIPS = Federal Information Processing Standards). Wie die meisten Verschlüsselungsalgorithmen arbeitet Rijndael mit mehreren Runden, die Anzahl variiert aber mit der verwendeten Schlüssellänge zwischen 10, 12 bzw. 14 Runden. Rijndael bearbeitet die 128 Bits als Matrix aus 16 Bytes, an denen pro Runde vorgegebene Substitutionsoperationen, Verschiebeoperationen, Spaltenoperationen und die Addition eines errechneten Rundenschlüssels vorgenommen werden.

Seit Oktober 2000 ist AES offizieller Nachfolger von DES und 3DES. Anwendungsfelder:

  • WLAN mit WPA2/WPA3

  • SSHv2/OpenSSH

  • IPsec

  • SFTP/FTPS/LFTP/OFTP

  • Skype

  • Dateisystemverschlüsselung (z. B. Apple macOS, ab Windows XP SP1)

  • Dateikomprimierung (z. B. 7-Zip, RAR)

  • OpenPGP & GnuPG

  • https usw.

Seine gründliche Analyse und die Tatsache, dass bisher keine Schwachstellen aufgedeckt wurden, fördern das Vertrauen in den neuen Algorithmus.

Während DES zwar 256 mögliche Schlüssel akzeptiert, können nicht alle davon ohne Bedenken benutzt werden (sogenannte schwache Schlüssel). Bei AES sind derartige Schlüssel nicht bekannt. Zusätzlich hat der Anwender von AES die Auswahl aus mindestens 2128 verschiedenen Schlüsseln. Der 1999 im Laufe eines Wettbewerbs mit verteilter Rechenleistung geknackte DES-Schlüssel wurde mit einer Brute-Force-Leistung von ca. 199.000.000.000 getesteten Schlüsseln pro Sekunde in ca. 22 Stunden gefunden.

Hätte jemand dieselbe Rechenleistung zur Verfügung, um sämtliche 128-Bit-Schlüssel für AES durchprobieren zu können, so würde dies 1,709 * 1027 Sekunden dauern. Das sind 5,42 * 1019 Jahre. Das wäre also um ungefähr 387 Milliarden Mal länger als das zurzeit angenommene Alter des Universums (14 Mrd. Jahre = 14 * 109).

Welche Aussage trifft auf die symmetrische Verschlüsselung zu?

Wie bei der asymmetrischen Verschlüsselung existieren ein Private Key und ein Public Key.
Die symmetrische Verschlüsselung beruht auf dem Prinzip, dass Sender undEmpfänger über den gleichen geheimen Schlüssel verfügen.
Der Austausch des geheimen Schlüssels muss selbst über einen verschlüsselten Kanal getätigt werden.

Obwohl symmetrische Methoden in Netzwerken inzwischen bewährt und weit verbreitet sind, haben sie alle einen gravierenden Nachteil: Sender und Empfänger müssen über den gemeinsamen geheimen Schlüssel verfügen, mithilfe dessen die Nachricht ver- bzw. entschlüsselt werden kann.

Ist Alice räumlich von Bob getrennt und besteht nun der Bedarf, eine Nachricht zum Schutz vor unbefugtem Mitlesen verschlüsselt zu übertragen, so stellt sich die Frage: Wie kann Alice den Schlüssel selbst sicher übertragen?

Ein Problem der symmetrischen Algorithmen ist, dass der Schlüssel selbst für seinen Transport einen sicheren Kanal benötigt. Wenn Sie annehmen, dass Sie Verschlüsselung benutzen müssen, weil Sie wichtige Nachrichten über einen unsicheren Kanal schicken müssen und befürchten, dass diese Nachrichten kompromittiert werden könnten, stellt sich die Frage, über welchen sicheren Kanal Sie den benötigten gemeinsamen Schlüssel übertragen können.

Hätten Sie diesen sicheren Kanal für den Austausch des Schlüssels, so könnten Sie auch auf die Idee kommen, die Nachricht selbst über die sichere Verbindung zu schicken – damit würden Sie sich den Aufwand für die Verschlüsselung sparen, und die Nachricht wäre trotzdem sicher beim Empfänger.

In der Regel werden symmetrische Verfahren dennoch angewandt, weil die Schlüssel noch einen Vorteil gegenüber der Nachricht haben: Sie sind in den meisten Fällen deutlich kürzer als die Nachricht, wenn Sie einmal von Chiffren wie der Vernam-Chiffre absehen. Einen sicheren Kanal für einen kurzen Schlüssel zu finden, ist in der Regel einfacher, als einen sicheren Kanal für eine lange Nachricht.

Trotzdem stellt der sichere Austausch des Kommunikationsschlüssels mitunter ein Problem dar. Was ist, wenn sich Alice und Bob, als sie noch zusammen im selben Raum waren, nicht auf einen geheimen Schlüssel geeinigt haben? Oder Alice und Bob kennen sich im realen Leben gar nicht, sondern haben vor, jetzt das erste Mal über das Internet elektronisch in Kontakt zu treten.

Wie sollen Sie in einem Online-Shop mithilfe einer verschlüsselten Verbindung sicher einkaufen können, wenn Sie noch nie vorher mit diesem Shop einen Schlüssel vereinbart haben? Die Beantwortung dieser Fragen hat einen wichtigen Einfluss auf viele Teilbereiche der Netzwerkkommunikation.

Nehmen Sie an, Alice, Bob und Carol wollen in Zukunft sicher miteinander kommunizieren. Sie möchten, dass jeder mit jedem eine verschlüsselte Verbindung aufbauen kann. Die Schlüssel sollen aber jeweils nur zwischen zwei Partnern gültig sein.

Alice vereinbart also mit Bob einen Schlüssel 1 und mit Carol einen Schlüssel 2. Damit Bob kommunizieren kann, benutzt er für Alice Schlüssel 1 und für Carol einen neuen Schlüssel 3. Carol wiederum benutzt für Alice den Schlüssel 2 und für eine Verbindung mit Bob den Schlüssel 3.

Jeder besitzt nun 2 Schlüssel und maximal 2 Personen kennen denselben Schlüssel:

  • Alice: 1, 2

  • Bob: 1, 3

  • Carol: 2, 3

Bei drei Personen existieren also 3 Schlüssel, jeder der Beteiligten muss sich 2 Schlüssel merken. Lassen Sie nun 10 Teilnehmer vereinbaren, ihre Kommunikation gegenseitig mit Schlüsseln zu sichern. Jeder der 10 Teilnehmer benötigt 9 Schlüssel für seine möglichen Partner. Das sind 10* 9 Schlüssel. Da jeweils zwei Teilnehmer einen Schlüssel gemeinsam benutzen, ist die Anzahl der existierenden Schlüssel 45. Befinden sich 100 Teilnehmer in diesem Netzwerk, so ist die Anzahl der existierenden Schlüssel 4950. Jeder einzelne Teilnehmer muss sich 99 Schlüssel merken.

Die Anzahl der Schlüssel wächst quadratisch, da für n Teilnehmer n*(n-1)/2 Schlüssel benötigt werden. Spätestens hier wird klar, warum ein System mit vorher ausgehandelten symmetrischen Schlüsseln (pre-shared keys) nur bei kleinen Teilnehmerzahlen sinnvoll ist. Für das Internet mit seiner unüberschaubaren Anzahl an Teilnehmern wäre so etwas undurchführbar.

1976 schlugen Whitfield Diffie und Martin E. Hellman in ihrer Arbeit „New Directions in Cryptography“ einen neuen Ansatz vor, in dem sie das Konzept der Public-Key-Cryptography entwarfen.

Ein Teilnehmer in einem Public-Key-Verfahren besitzt einen public (öffentlichen) und einen private (privaten) Schlüssel. Der öffentliche Schlüssel wird zum Verschlüsseln der an ihn gerichteten Nachrichten durch den Absender verwendet. Der geheime private dient zum Entschlüsseln dieser Nachrichten durch den Empfänger. Während der öffentliche Schlüssel in einem jedermann zugänglichen Verzeichnis öffentlich gemacht wird, muss der private Schlüssel geheim gehalten werden. Dies ist das Grundkonzept von asymmetrischen Verfahren.

Damit Public-Key-Verfahren funktionieren können, müssen bestimmte Voraussetzungen gegeben sein. Vor allem taucht hier der Begriff Einwegfunktion als zentrales Thema auf.

Eine Einwegfunktion f(x) ist eine Funktion, die eine gegebene Eingabe x auf den Wert y so abbildet, dass es

  • ein effizientes Verfahren gibt, die Werte y = f(x) für alle gegebenen x zu berechnen;

  • kein effizientes Umkehrverfahren gibt, für alle gegebenen y, die durch f(x) berechnet wurden, das x zu bestimmen.

Es soll also bei einer Einwegfunktion nicht möglich bzw. nicht effizient möglich sein, die Umkehrfunktion zu berechnen. Die Zerlegung von Zahlen in ihre Primfaktoren ist ein (in der Kryptografie nicht ohne Grund) oft zitiertes Beispiel. Große Primzahlen zu multiplizieren und das Ergebnis festzustellen, ist relativ schnell möglich. Dahingegen beansprucht eine Zerlegung einer großen, Zahl in ihre Primfaktoren mitunter sehr viel Rechenzeit. Es ist bislang kein effizienter Algorithmus hierfür bekannt.

Ein Problem ist allerdings, dass nicht bewiesen ist, ob es nicht doch eine sehr viel effizientere Methode zur Faktorisierung gibt als die bisher bekannten. Neue Erkenntnisse auf dem Gebiet der Quantencomputer könnten also die etablierten Systeme durchaus in Gefahr bringen.

Echte Einwegfunktionen machen für die Übertragung von Nachrichten keinen Sinn. Würde eine Nachricht X mit einer derartigen Funktion verschlüsselt, sodass der Empfänger Y erhält, so hat dieser ja per Definition keine Möglichkeit, aus dem Y wieder das ursprüngliche X herzuleiten.

Für die Kryptografie werden hier sogenannte Trapdoor-Einwegfunktionen benötigt (Trapdoor, hier: Geheimgang, Hintertür).

geheimen Zusatzinformation möglich (die Hintertür).

So schwer es ist, endgültig zu beweisen, dass es effizientere Methoden zur Faktorisierung gibt, so schwer ist es, zu beweisen, dass es Trapdoor-Einwegfunktionen gibt. Diffie und Hellman haben in ihrer Arbeit ausführlich erörtert, dass die Public-Key-Kryptografie funktionieren würde, wenn es Trapdoor-Einwegfunktionen gäbe. Trotz intensiver Suche konnten sie jedoch keine finden.

Sie schlugen aber ein kryptografisches Protokoll vor, das nach ihnen benannt heute zu den wichtigsten Protokollen der Kryptografie gehört: den Diffie-Hellman-Schlüsseltausch.

Diffie und Hellman waren zwar bei ihrer Suche nach einer Trapdoor-Einwegfunktion nicht erfolgreich. Gleichzeitig wurden sie aber auf die interessanten Eigenschaften der diskreten Exponentialfunktion aufmerksam und entwickelten ein Protokoll, das die Eigenschaften der diskreten Exponentialfunktion nutzt, um zwischen zwei Partnern sicher einen gemeinsamen Schlüssel zu ermitteln.

Aus der symmetrischen Kryptografie wissen Sie, dass ein gemeinsamer geheimer Schlüssel für das Ver und Entschlüsseln erforderlich ist. Allerdings stellt sich das Problem, dass meist kein sicherer Kanal für den Schlüsseltausch vorhanden ist.

Diffie und Hellman schlagen folgendes Protokoll vor:

Alice und Bob einigen sich beide auf eine Primzahl p und eine Zahl g. Die Zahl g muss erzeugendes Element der Gruppe Zp sein. Nun wählt Alice für sich eine Zahl a und Bob eine Zahl b. Diese beiden Zahlen halten Alice und Bob jedoch geheim.

Alice berechnet: α = ga mod p. Bob berechnet: β = gb mod p.

Beide tauschen nun die soeben errechneten α und β.

Alice potenziert nun das von Bob erhaltene β mit ihrer geheimen Zahl a.

Bob potenziert das α von Alice mit seiner geheimen Zahl b.

Was haben Alice und Bob gerade berechnet?

Alice berechnet: βa mod p = (gb)a mod p = gba mod p. Bob berechnet: αb mod p = (ga)b mod p = gab mod p.

Da für die beiden Exponenten das Kommutativgesetz gilt, ist gba mod p = gab mod p.

Diese gemeinsam ermittelte Zahl ist nun der neue Schlüssel für die weitere Kommunikation.

Alice und Bob haben also beide gerade dieselbe Zahl berechnet. Das Ergebnis dieser Berechnungen wurde niemals über einen öffentlichen Kanal übertragen und ist somit nur Alice und Bob bekannt. Wollte Eve den Schlüssel ebenfalls berechnen, so müsste sie diesen aus den öffentlich übertragenen Größen g, p, α und β selbst berechnen. Diese Berechnung allerdings läuft darauf hinaus, dass Eve entweder den diskreten Logarithmus von α oder aber β berechnen muss, um entweder a oder b zu erfahren. Wie Sie bereits gesehen haben, ist dies mitunter sehr schwierig.

Die Sicherheit des DH-Schlüsseltausches hängt davon ab, in welcher Größenordnung die von Alice und Bob gewählte Zahl g und die Primzahl p liegen. Je größer diese beiden Zahlen gewählt werden, desto schwieriger wird es für Eve, den gemeinsamen Schlüssel zu errechnen.

Eine digitale Signatur ist eine Art Unterschrift unter einem digitalen Dokument. Dabei wird mittels kryptografischer Verfahren eine genaue und eindeutige Zuordnung dieses Dokuments zu seinem Absender sichergestellt, ersetzt quasi seine eigenhändige Unterschrift.

Basierend auf dem RSA-Verfahren ist es relativ leicht möglich, eine digitale Signatur zu erstellen:

Alice möchte eine Nachricht digital signieren. Dazu besitzt sie ein Schlüsselpaar d und e, das sie nach RSA erstellt hat.

Alice bildet: c = md mod n.

Sie verschlüsselt also ihre Nachricht, allerdings benutzt sie für diese Operation ihren privaten Schlüssel. Die so unterschriebene Nachricht sendet sie an Bob.

Zur Prüfung der Unterschrift benutzt Bob den von Alice erhältlichen oder bereits publizierten öffentlichen Schlüssel. Er berechnet: m = ce mod n. Er potenziert die von Alice erhaltene Nachricht mit dem öffentlichen Schlüssel und erhält wieder die Originalnachricht m. Dies ist möglich, da d und e zueinander inverse Elemente sind.

Was hat Bob damit gewonnen?

Erhält Bob nach dem Potenzieren der Nachricht mit dem öffentlichen Schlüssel e von Alice die Nachricht, so weiß Bob, dass diese Nachricht nur von Alice signiert worden sein kann. Alice ist die einzige Person, die im Besitz des zu ihrem öffentlichen Schlüssel passenden geheimen Schlüssels ist.

Erhält Bob nach dem Potenzieren keine sinnvolle Nachricht, so wurde nicht der korrekte private Schlüssel benutzt oder die Signatur ist gefälscht worden.

Um die digitale Signatur prüfen zu können, benötigt Bob den öffentlichen Schlüssel von Alice.

In diesem Fall ist er sogar gezwungen, die Signatur zu prüfen, da er ohne Entschlüsselung die Nachricht nicht lesen kann. Da es nicht praktikabel ist, die Nachricht in ihrer kompletten Länge so zu signieren, dass ein Lesen ohne Prüfung nicht möglich ist, wäre eine weitere Alternative, die Nachricht einmal im Klartext zu senden und daran die signierte Nachricht anzuhängen. Das würde allerdings ein Anwachsen der Nachrichtenlänge auf das Doppelte bewirken und ist somit auch ungeeignet. Eine Lösungsmöglichkeit bieten sogenannte Hashfunktionen.

Der Einsatz von sogenannten Hashfunktionen hat sich zur Erkennung von Fehlern im Informatikeinsatz schon länger bewährt und stellt im Zusammenhang mit digitalen Signaturen eine willkommene Alternative dar. Eine Hashfunktion ermittelt aus einer beliebigen Menge an Eingabedaten einen Hashwert. Dieser Hashwert ist quasi eine Prüfsumme und hat immer dieselbe Länge.

Hashfunktionen sind durch die Länge des berechneten Wertes gekennzeichnet. So liefert eine Funktion mit 128 Bit nur 2128 verschiedene Hashwerte, während eine Funktion mit 512 Bits theoretisch 2512 verschiedene Hashwerte liefern kann.

Sinn eines Hashwertes ist es, als Prüfsumme für eine bestimmte Eingabe (z. B. einen Dateiinhalt oder eine Nachricht) zu fungieren. Wird der Inhalt der Datei oder der entsprechenden Nachricht geändert, so sollte auch der Hashwert ein anderer sein. Die Chance, dass zwei verschiedene

Nachrichten existieren, die denselben Hashwert besitzen, ist bei einer großen Länge fast ausgeschlossen

(kollisionsresistent).

Eine Hashfunktion ist in gewisser Weise auch eine Einwegfunktion (Einweg-Hash), da Sie leicht den Hashwert h einer Nachricht m bilden können h = f(m), aber bei gegebenem Hashwert die ursprüngliche Nachricht nicht rekonstruieren können. Eine gute Hashfunktion soll wie ein Fingerabdruck der Nachricht sein – der Fingerabdruck jedes Menschen ist einzigartig, doch aus dem Fingerabdruck selbst kann man den Menschen nicht rekonstruieren.

Für die Erzeugung einer digitalen Signatur kann eine Hashfunktion so eingesetzt werden, dass die Nachricht m unverschlüsselt übertragen wird. Alice bildet den Hashwert h dieser Nachricht und chiffriert diesen mit ihrem privaten Schlüssel d.

Bob empfängt nun die Nachricht und kann diese lesen. Möchte er die Unterschrift von Alice prüfen, so entschlüsselt er den angehängten Hashwert mit Alice’ öffentlichem Schlüssel. Bob bildet anschließend auch selbst den Hashwert der empfangenen Nachricht. Stimmen beide Hashwerte überein, so stammt die empfangene Nachricht wirklich von Alice.

Bekannte Hashfunktionen sind u. a.:

  • MD5 (1992)

  • RIPEMD (1992)

  • BLAKE2 (2013)

  • SHA-1 (1995)

  • Tiger (1996)

  • SHA-2 (2002)

  • SHA-3 (2012)

Message Digest 5 ist einer der ältesten und immer noch genutzten Hashalgorithmen. Ron Rivest, einer der RSA-Erfinder, hat diesen Algorithmus entwickelt. MD5 berechnet 128-Bit-Werte, indem in mehreren Runden, ähnlich wie ein Verschlüsselungsverfahren, die zu hashenden Daten durch eine Reihe binärer Operationen geführt werden. Die aktuellen Cipher-Suiten verzichten inzwischen aufgrund seiner Sicherheitsproblematik auf den Einsatz vom MD5.

SHA, der Secure Hash Algorithm, wurde 1993 von der NSA entwickelt. Als Grundlage diente der MD4-Algorithmus und Vorläufer von Rivests MD5. Nachdem 1995 ein Sicherheitsproblem gefunden wurde, das nicht veröffentlicht wurde, veröffentlichte die NSA den Standard SHA-1 als Abhilfe, der in dieser Form noch in einigen aktuellen kryptografischen Protokollen zum Einsatz kommt.

SHA-1 berechnet einen 160-Bit-Hashwert. Das Ende seiner Nutzungsdauer zeichnet sich jedoch schon ab, da im Februar 2005 durch erfolgreiche kryptografische Angriffe auf diesen Algorithmus die Komplexität deutlich reduziert werden konnte. Vor einiger Zeit wurde jedoch der Nachweis erbracht, dass SHA-1 nicht kollisionsresistent ist und somit als unsicher eingestuft werden muss.

Das amerikanische NIST (National Institute of Standards an Technology) empfahl deshalb, die Hashfunktion SHA-1 durch Algorithmen der Familie SHA-2 zu ersetzen, die Prüfsummen mit variabler Länge größer als 160 Bit berechnet. Dementsprechend heißen diese Hashfunktionenm dann entsprechend der Hashlänge beispielsweise SHA-256, SHA-384 oder SHA-512.

Der Standard SHA-3 beruhte auf einer Ausschreibung des NIST, die im Jahre 2012 erfolgte. Er nutzt hierbei einen neuen mathematischen Algorithmus, der sich signifikant von SHA-2 unterscheidet.

Dabei waren Schlüssellängen von 224, 256, 384 und 512 Bit vorgesehen. Das NIST wollte aus Performance-Erwägungen jedoch nur 128 und 256 Bit zum Standard erklären. Massive Widerstände, auch aufgrund der NSA-Aktivitäten, verhinderten dies.

Anhand der Probleme, die sich durch eine Man-in-the-Middle-Attacke ergeben, haben Sie gesehen, dass trotz des einfachen Schlüsselmanagements und der Verschlüsselungsfunktionen eine wesentliche Schwachstelle bei asymmetrischen Verfahren besteht. Wenn Sie mit einem anderen Teilnehmer verschlüsselt kommunizieren wollen oder auch nur dessen digitale Unterschrift überprüfen, benötigen Sie dessen Public Key. Wenn Sie diesen allerdings über eine ungesicherte Quelle (z. B. einen Key-Server aus dem Internet) beziehen, haben Sie keine Garantie, dass der öffentliche Schlüssel wirklich zu Ihrem Partner gehört. In asymmetrischen Systemen ist deswegen die Möglichkeit vorgesehen, die Echtheit eines

Schlüssels durch eine digitale Signatur einer Zertifizierungsstelle zu bestätigen. Im Detail könnte ein solcher Vorgang so ablaufen:

  • Alice möchte mit Bob kommunizieren, hat aber dessen öffentlichen Schlüssel noch nicht.

  • Beide befürchten, dass Mallory die Daten auf dem Key-Server manipulieren könnte, um Alice und Bob seinen eigenen Schlüssel unterzuschieben.

  • Deswegen einigen Alice und Bob sich darauf, dass Bob seinen öffentlichen Schlüssel Trent aushändigt, der als Treuhänder fungiert und sich persönlich davon überzeugen kann, dass der ihm übergebene Schlüssel wirklich Bob gehört.

  • Alice besitzt bereits Trents öffentlichen Schlüssel, da sie diesen persönlich von ihm bekommen hat.

  • Trent beglaubigt die Echtheit von Bobs Schlüssel nun durch seine digitale Unterschrift auf dem Schlüssel.

  • Er stellt ihm ein sogenanntes Zertifikat aus.

  • Den so signierten öffentlichen Schlüssel stellt er nun zum Download bereit.

  • Alice holt Bobs signierten Schlüssel und kann anhand der Unterschrift von Trent prüfen, ob sie diesen Schlüssel unmodifiziert erhalten hat.

  • Wenn das der Fall ist, so benutzt Alice den Schlüssel, um Bob eine verschlüsselte Nachricht zukommen zu lassen.

Dieses Beispiel macht deutlich, dass Alice und Bob jetzt sicher miteinander kommunizieren können, ohne dass sie persönlich die Schlüssel tauschen müssen. Sie haben diese Aufgabe an einen Dritten (den Treuhänder Trent) ausgelagert, dem beide vertrauen müssen.

Die Hauptaufgaben einer Schlüsselinfrastruktur sind die Bildung von Vertrauensbeziehungen und das Ausstellen von Echtheitszertifikaten. Zwei bekannte Ansätze sind:

  • OpenPGP, ein dezentraler Standard

  • X.509, das zentral und hierarchisch organisiert ist

Das Verschlüsselungspaket PGP (Pretty Good Privacy), das Anfang der 90er-Jahre von Phil Zimmermann als Freeware herausgegeben wurde, war die Grundlage für den OpenPGP-Standard, der von Zimmermann stark mitbeeinflusst wurde. Bezüglich der Schlüsselinfrastruktur und der Vertrauensbeziehungen gilt hier ein Konzept, das als Web of Trust (Vertrauensnetzwerk) bekannt ist.

Bei OpenPGP kann jeder Teilnehmer am Verschlüsselungssystem, der ein gültiges Schlüsselpaar besitzt, selbst die Echtheit anderer Schlüssel durch seine Unterschrift bestätigen. Die Idee hierbei ist, dass Personen, die die Echtheit der Schlüssel auf ihrem elektronischen Schlüsselbund (die Sammlung aller bekannten öffentlichen Schlüssel) bestätigt haben, diese Schlüssel signieren und die signierten Schlüssel wiederum öffentlich verfügbar machen.

Bezieht nun ein neuer Teilnehmer so unterschriebene öffentliche Schlüssel, kann es sein, dass ein öffentlicher Schlüssel bereits mehrere Signaturen trägt. Vertraut der Teilnehmer mindestens einem der unterzeichnenden Schlüssel, so ist der neue öffentliche Schlüssel für ihn gültig.

Jeder Teilnehmer im Web of Trust kann selbst festlegen, welchen Schlüsseln er vertrauen möchte. Dies definiert er darüber, welche Schlüssel Trusted Introducer sein können und welch nicht. Zusätzlich ist es auch möglich, marginales Vertrauen in bestimmte Schlüssel anzugeben, sodass zum Beispiel 2 Unterschriften auf einem neuen Schlüssel nötig sind, damit der Teilnehmer diesen Schlüssel als gültig akzeptiert.

Die Sicherheit eines Web of Trust hängt zum einen von der Disziplin der Teilnehmer ab und zum anderen von der Gründlichkeit, mit der diese sich gegenseitig ihre öffentlichen Schlüssel signieren. Würden sie ohne weitere Prüfung einen öffentlichen Schlüssel signieren, den man ihnen vorlegt, so wäre das Vertrauensnetz damit ausgehebelt, weil sich möglicherweise Dritte auf die gerade geleistete Unterschrift verlassen.

Das X.509 sieht in seiner Infrastruktur eine streng vorgegebene Hierarchie vor. Es gibt eine Zertifizierungsinstanz an der Spitze, der alle Teilnehmer vertrauen müssen: die Certificate Authority (CA). Die CA ist in der Grundidee die Einzige, die Zertifikate ausstellen kann. Wenn das Netz allerdings sehr groß ist, kann die CA auch Zertifikate ausstellen, die Sub-CAs gestatten, wiederum selbst Zertifikate auszustellen. Dies ermöglicht eine Delegation der Arbeit und den hierarchischen Aufbau des Vertrauensnetzwerkes.

Möchte Alice eine sichere Nachricht an Bob senden und erhält dazu von Bob ein Zertifikat nach X.509, so enthält dies folgende Daten: den öffentlichen Schlüssel von Bob und die Signatur der für Bob zuständigen CA, die ihm das Zertifikat ausgestellt hat.

Die CA, die Bobs Zertifikat ausgestellt hat, kennt Alice nicht, allerdings befinden sich Alice und

Bob in derselben Hierarchie. Die unterzeichnende CA besitzt ebenfalls ein Zertifikat, das von der nächsthöheren CA in der Organisation ausgestellt wurde. In diesem Beispiel ist die nächsthöhere CA diejenige an der Spitze, die sogenannte Root-CA. Alice kann das Zertifikat der Root-CA überprüfen, da in X.509 die Teilnehmer eines Systems der gemeinsamen Root vertrauen müssen. Alice erkennt also das Sub-CA-Zertifikat als gültig an und weiß somit, dass sie den Zertifikaten, die die Sub-CA ausstellt, ebenfalls vertrauen kann. Sie kann also Bobs Zertifikat vertrauen.

Eine PKI nach X.509 ist in vielen kommerziellen Produkten implementiert. Die bekannteste Anwendung ist die Authentifizierung eines Webservers über ein entsprechendes Zertifikat im Browser. Der Benutzer kann somit sicher sein, dass die Website, die er gerade besucht, wirklich vom angezeigten Server stammt.

Damit der Internetbrowser die Zertifikate der Websites auch überprüfen kann, sind die Zertifikate der Root-CAs entweder im Browser oder gleich schon im Betriebssystem als vertrauenswürdige Zertifizierungsstelle verankert. Anbieter von Root-CAs im deutschsprachigen Raum sind u. a. Deutsche Telekom, DigiCert, D-Trust, GlobalSign, SwissSign, Thawte, IdenTrust oder VeriSign. Welche vertrauenswürdigen Zertifikate unter Windows 10 bereits installiert sind, können Sie in der DOS-Shell (cmd.exe) oder dem Suchfenster ermitteln (certmgr.msc - Zertifikate – Aktueller Benutzer - Vertrauenswürdige Stammzertifizierungsstellen - Zertifikate). Unter den anderen Menüpunkten finden Sie weitere akzeptierte Zertifikate.

Ein Problem stellen Zertifikate dar, die Server sich selber ausstellen. Mit diesen kann auch HTTPSVerschlüsselung betrieben werden. Sie stammen aber von keiner vertrauenswürdigen Quelle. Selbstsignierte Zertifikate lösen zudem eine Sicherheitswarnung des Browsers aus. Öffentliche erreichbare Webserver reduzieren hiermit die angestrebte Akzeptanz und Vertraulichkeit eines Nutzers. Auch firmeninterne HTTPS-Server sollten lokale Zertifikate vermeiden, da dies die Sicherheitseinstellung eines Users einschränkt. Hier wirkt das Prinzip: Wenn eine interne Webseite als sicher eingestuft ist, kann es mit einer öffentlichen nicht anders sein.

Was ist ein Hashwert und welche Hashfunktionen werden hauptsächlich eingesetzt?

Was verstehen Sie unter PKI?

Welche Aussage trifft auf die asymmetrische Verschlüsselung zu?

Alle Teilnehmer teilen sich einen Schlüssel.
Ein Schlüsselpaar setzt sich aus einem Private Key und einem Public Key zusammen.
Für jeden Teilnehmer existiert ein Schlüsselpaar.
Der Private Key wird an alle Teilnehmer weitergereicht.
Der Public Key kann gefahrlos verteilt werden.
Es besteht keine Möglichkeit, aus dem Public Key den Private Key zu berechnen.

Was ist eine digitale Signatur?

eine Verschlüsselung
eine elektronische Unterschrift basierend auf der symmetrischen Verschlüsselung
ein Hashwert
eine elektronische Unterschrift basierend auf der asymmetrischen Verschlüsselung

Um von Public-Key-Infrastruktur (PKI) sprechen zu können, müssen folgende Funktionen

zur Verfügung gestellt werden:

Es werden Zertifizierungsstellen, Tools für die Schlüssel- und Zertifikatsverwaltung und Anwendungen, die öffentliche Schüssel verwenden können, zur Verfügung gestellt.
Public-Key-Infrastruktur ist eine Kombination von Software, Verschlüsselungstechnologien und Diensten, die den Umgang mit öffentlichen Schlüsseln ermöglichen.
Zur Verfügung gestellt werden ausschließlich von Personen ausgestellte Zertifikate.

E-Mail-Korrespondenz wird im Internet im Normalfall unverschlüsselt übertragen. Somit kann jede Nachricht von interessierten Stellen mitgelesen, ausgewertet und mitunter manipuliert werden. Um dem vorzubeugen, sollten vertrauliche und sensible Nachrichten über eine E-Mail-Verschlüsselung gesichert zwischen Absender und Empfänger ausgetauscht werden. Diesem Problem haben sich auch die Serviceprovider angenommen und bieten umfänglich E-Mail- Verschlüsselung auf der Basis der SSL/TLS-Protokolle an. Leider ist das aber vorrangig eine Transportverschlüsselung (d. h. nur eine gesicherte Verbindung zwischen dem Nutzer und seinem Provider) und keine End-to-End-Verschlüsselung (d. h. eine gesicherte Verbindung zwischen den Nutzern). In einer repräsentativen Umfrage (11/2018) der Bundesdruckerei unter

Mittelstandsunternehmen gaben mehr als 50 % an, noch keine E-Mail-Verschlüsselung im Einsatz zu haben. Dabei sind sie lt. DSVGO dazu verpflichtet! Neben der Verschlüsselung (Vertraulichkeit) muss auch die Integrität (Authentizität) der Nachricht gewährleistet sein. Beide Verfahren werden fast immer miteinander kombiniert.

Die Verschlüsselung wird durch symmetrische oder asymmetrische Verfahren realisiert. Als Verschlüsselungs- und Signierungs-Software werden Client-basierende oder Server-basierende Lösungen angewendet. Häufig kommt hierbei die PKI (Public-Key-Infrastruktur) zum Einsatz.

Mit PKI wird in der Kryptologie ein System klassifiziert, das digitale Zertifikate für die Authentifizierung und Verschlüsselung ausstellen, verteilen und überprüfen kann. Dazu kommen hauptsächlich folgende Normen zur Anwendung:

  • S/MIME (Secure / Multipurpose Internet Mail Extensions) – RFC 8551

  • OpenPGP (Open Pretty Good Privacy) – RFC 4880

Bei S/MIME stehen Ihnen zwei Formate (Content Types) zur Verfügung: für die Verschlüsselung das Multipart/Encrypted-Format und für die Signierung das Multipart/Signed-Format. Dieses Protokoll wird von allen aktuellen Mailprogrammen unterstützt und basiert auf einem X.509- Zertifikat, das lokal, entfernt oder signiert bereitgestellt wird. Für die Vertrauenswürdigkeit desX.509-Zertifikates müssen Sie ein Wurzelzertifikat definieren (auch Root-CA genannt). Es dientdazu, die Gültigkeit aller untergeordneten Zertifikate zu überprüfen. Die aktuelle Version X.509v3 ist im Standard RFC 5280 beschrieben.

Das X.509-Zertifikat wird nach dem SigG (Signaturgesetz) in drei Klassen unterteilt:

  • Fortgeschrittene Signatur: Das komplette Schlüsselmanagement liegt in der alleinigen Verantwortung und Kontrolle des Inhabers.

  • Qualifizierte Signatur: Sie beruht auf einem nachgewiesenen Zertifikat einer sicheren Signaturstelle und ist einer handschriftlichen Unterschrift gleichgestellt.

  • Qualifizierte Signatur mit Anbieterakkreditierung: Diese ist die sicherste Zertifizierungsstufe (Akkreditierung gem. § 15 SigG) für Verschlüsselung und Signierung im Internet.

Die Urversion von Pretty Good Privacy wurde 1991 von Phil Zimmermann als Freeware veröffentlicht und danach mehrfach modifiziert. Neben der kommerziellen Version, die von der Firma Symantec vertrieben wurden, existieren einige Open-Source-Varianten (siehe u. a. https://www.openpgp.org/, www.gnupg.org).

S/MIME und OpenPGP sind, obwohl sie teilweise die gleichen Verschlüsselungsverfahren einsetzen, nicht miteinander kompatibel.

Der Gnu Privacy Guard ist eine OpenPGP-kompatible Anwendung, basierend auf einer Modifikation des originalen PGP. GnuPG ist jedoch vollständig Open Source, steht unter GPL-Lizenz und ist lizenzfrei sowohl für private als auch für kommerzielle Anwender einsetzbar. Das Bundesamt für Sicherheit in der Informationstechnik (BSI) stellte im Rahmen des sogenannten GnuPP (Gnu-Privacy-Projekt) Fördermittel für die Entwicklung von GnuPG und einiger zugehöriger Tools zur Verfügung.

Auch das Projekt Gpg4win (www.gpg4win.de) hat es sich zur Aufgabe gemacht, mehrere Open- Source-Tools zur Integration von GnuPG-Funktionen in einer Windows-Umgebung bereitzustellen, verbunden mit einem einfachen Installationsvorgang.

GnuPG bietet mit der grafischen Benutzeroberfläche und den vorhandenen Tools eine einfache und komfortable Möglichkeit zum Verschlüsseln und Signieren unter den Betriebssystemen Microsoft Windows XP – Windows 10 an. So kann zum Beispiel in Kombination mit entsprechenden Plug-ins für die jeweils verwendete 32/64-Bit-E-Mail-Version (Microsoft Outlook 2010/2013/2016/2019, MS Exchange Server) und einer Desktop-Integration mithilfe von Tools. Als Algorithmus für den Schlüsselaustausch wird bei GnuPG RSA, DAS oder ECDSA/EdDS genutzt. Die Verschlüsselung der Daten erfolgt mit Twofish, AES oder CAMELLIA. Die Integrität der Algorithmen wird mittels SHA2 gewährleistet.

Im folgenden Bild wird dir das Verfahren der E-Mail-Verschlüsselung vorgezeigt.

Key Generation (Schlüsselerzeugung)

In diesem Teil wird erläutert, wie ein kryptografisches Schlüsselpaar entsteht. Zuerst wählt man ein Verschlüsselungsverfahren wie RSA oder ECC. Anschließend generiert das System zwei zusammengehörige Schlüssel:

Einen öffentlichen Schlüssel (Public Key), der offen weitergegeben werden darf.

Einen privaten Schlüssel (Private Key), der geheim bleibt.

Dieses Schlüsselpaar bildet die Grundlage für die spätere Verschlüsselung, Entschlüsselung und digitale Signaturen.

Encryption (Verschlüsselung)

Beim Verschlüsseln nutzt eine sendende Person den öffentlichen Schlüssel der empfangenden Person. Der Ablauf:

Die sendende Person ruft den öffentlichen Schlüssel der empfangenden Person ab.

Die Nachricht wird in eine Zahlenfolge umgewandelt (z. B. durch ASCII).

Diese Zahl wird mit dem öffentlichen Schlüssel mathematisch verschlüsselt und ergibt den Ciphertext.

Die verschlüsselte Nachricht wird über einen unsicheren Kanal versendet – bleibt aber geschützt, weil nur der private Schlüssel sie wieder lesbar machen kann.

Decryption (Entschlüsselung)

Die empfangende Person erhält den Ciphertext. Mit ihrem privaten Schlüssel entschlüsselt sie den zuvor verschlüsselten Zahlenwert und wandelt ihn wieder in die ursprüngliche Klartextnachricht um. Nur der private Schlüssel des Empfängers kann die Nachricht wieder herstellen – so bleibt die Kommunikation vertraulich.

Digital Signatures (Digitale Signaturen)

Digitale Signaturen dienen nicht der Verschlüsselung einer Nachricht, sondern der Authentifizierung und Integritätssicherung. Der Ablauf:

Zunächst wird ein Hashwert der Nachricht erzeugt.

Dieser Hashwert wird mit dem privaten Schlüssel der sendenden Person verschlüsselt – das ist die Signatur.

Die Nachricht und die Signatur werden gemeinsam versendet.

Die empfangende Person entschlüsselt den Signatur-Hash mit dem öffentlichen Schlüssel der sendenden Person und vergleicht ihn mit einem selbst berechneten Hashwert der Nachricht. Wenn beide übereinstimmen, ist die Nachricht unverändert und eindeutig der sendenden Person zuzuordnen.

Alle Aufgaben dieses Kurses können, müssen aber nicht in einer virtuellen Maschine in VMware oder VirtualBox durchführt werden.

Bieten Sie Screenshots für jeden Punkt als Ausführungsnachweis.

A. Thunderbird

  1. Verwenden Sie eine Ubuntu- oder eine Windows 11 Maschine und installieren Sie Thunderbird. Fügen Sie Ihr @school.lu-E-Mail-Konto hinzu, indem Sie Folgendes verwenden:
outlook.com Port 143 STARTTLS normales Passwort für den eingehenden Server. outlook.com Port 587 STARTTLS normales Passwort für den ausgehenden Server.

Falls es zu Problemen kommen soll, kannst du auch deine private E-Mail verwenden. Begründe jedoch das Problem, das es gibt.

  1. Was ist der Zweck des Enigmail-Add-ons? Überprüfen Sie die Kompatibilität mit Ihrer Thunderbird-Version.

  2. Installieren Sie je nach Thunderbird-Version das Enigmail-Add-on mit Standard-Einstellungen oder konfigurieren Sie OpenPGP in der Ende-zu-Ende-Verschlüsselung von Thunderbird. Erstellen Sie Ihr persönliches (öffentlichen/privaten) Schlüsselpaar und notieren Sie sich Ihr Passwort, damit Sie es nicht vergessen. Erstellen Sie ein Widerrufszertifikat und speichern Sie es auf dem Desktop.

  3. Was ist der Zweck des Widerrufszertifikats?

  4. Welche Rolle spielt OpenPGP?

  5. Erklären Sie den Zweck eines öffentlichen Schlüssel-Servers.

  6. Laden Sie Ihren öffentlichen Schlüssel auf den öffentlichen Schlüssel-Server https://keys.openpgp.org/upload oder https://keyserver.ubuntu.com/ hoch.

  7. Senden Sie sich selbst eine signierte E-Mail.

  8. Wie erkennen Sie, dass es sich um eine signierte E-Mail handelt?

  9. Senden Sie eine signierte E-Mail an micael.leal@education.lu, unter Berücksichtigung der Netiquette. Betreff: Signierte E-Mail

  10. Senden Sie sich selbst eine verschlüsselte E-Mail.

  11. Wie erkennen Sie, dass es sich um eine verschlüsselte E-Mail handelt?

  12. Senden Sie eine verschlüsselte E-Mail an Ihren Tischnachbarn. Warum funktioniert das nicht?

  13. Zeigen Sie, dass Ihr öffentlicher Schlüssel tatsächlich öffentlich gefunden werden kann.

  14. Senden Sie eine verschlüsselte E-Mail an micael.leal@education.lu, unter Berücksichtigung der Netiquette. Betreff: Verschlüsselte E-Mail

  15. Entschlüsseln Sie die Antwort Ihres Lehrers und geben Sie einen Screenshot des Antwortinhalts an.

  16. Sie haben Ihren privaten Schlüssel verloren oder er wurde gestohlen. Erklären Sie, was Sie tun.

B. Protonmail

  1. Was ist der Zweck von Protonmail?

  2. Wie unterscheidet es sich von einem Standard-E-Mail-Konto (z. B. Gmail), auf das Sie über HTTPS zugreifen?

C. Bonus - für die Profis: Mobile

  1. Können Sie verschlüsselte E-Mails auf Ihrem Mobilgerät senden und empfangen, ohne Protonmail zu verwenden?

  2. Wenn nicht, warum nicht? Wenn ja, wie?

D. Bonus - für die Profis: E-Mail-Verschlüsselung in outlook.com mit Ihrem Microsoft 365 @school.lu-Konto

  1. Welche Messaging-Verschlüsselung wird verwendet?

  2. Was ist der Unterschied zwischen dieser Verschlüsselungstechnologie und OpenPGP?

Erstelle für die obenstehende Fragen ein Word und PDF-Dokument.

Punkteverteilung

NoArbeitPunkte
1Use a Ubuntu or Windows 11 Maschine and install Thunderbird.0
2What is the purpose of the Enigmail add-on?1
3Install Enigmail with standard settings. Create your public/private key pair and write down your passphrase so that you do not forget it. Create a revocation certificate and save it to the desktop.5
4What is the purpose of the revocation certificate?2
5What role does openPGP play in Enigmail?2
6Explain the purpose of a key server.2
7Upload your public key to the key server pool.sks-keyservers.net.2
8Send a signed Email to yourself.1
9How do you recognize that it is a signed email?2
10end a signed email to micael.leal@education.lu, keeping Netiquette in mind.2
11Send an encrypted email to yourself.1
12How do you recognize that it is an encrypted email?2
13Send an encrypted email to your desk neighbour. Why does this not work?5
14Show that your public key can indeed be found publicly.5
15Send an encrypted email to micael.leal@education.lu, keeping Netiquette in mind.12
16Decrypt the reply from your teacher and provide a screenshot of the reply content.3
17Your private key has been stolen. What do you do?3
18What is the purpose of Protonmail?5
19How does it differ from a standard email account (e.g. gmail) that you access via HTTPS?5

Kompetenzen

Abk.KompetenzPunkte
K1Der Auszubildende ist in der Lage eine der Situation angepasste Verschlüsselungstechnik anzuwenden und Daten gesichert zu übertragen.6/18
K2Der Auszubildende ist in der Lage Gegenmaßnahmen für Malware einzusetzen.
K3Der Auszubildende ist in der Lage die Integrität der Daten und die Authentizität von Personen und Servern zu überprüfen.
K4Der Auszubildende ist in der Lage die Grundsätze des Urheberrechts zu beschreiben.
K5Der Auszubildende ist in der Lage die Regeln und Verhaltensweisen im Umgang mit personenbezogenen Daten zusammenzustellen.
K6Der Auszubildende ist in der Lage und bereit, selbstständig und in einer Gemeinschaft, verantwortlich und zielführend zu handeln und sich weiterzuentwickeln.

Abbildung

Abbildung

Abbildung

Welche Aussagen zur E-Mail-Verschlüsselung mit PGP sind richtig?