Kryptografie

Symmetrische & asymmetrische Verschlüsselungsverfahren (Version: 23. Februar 2023)

Hinweis: Für die Praxisarbeiten soll ein Notebook/PC mit Windows-Betriebssystem (Real oder virtuell) verwendet werden.

Dieser Kurs soll folgende Fragen klären:

  • Warum werden Daten verschlüsselt?
  • Welche Sicherheit wird damit erreicht?
  • Was sind die mathematischen Grundlagen und die Verschlüsselungsalgorithmen?
  • Wie unterscheiden sich die symmetrischen von den asymmetrischen Verschlüsselungsverfahren? Was sind ihre Vor-, Nachteile und Einsatzgebiete?
  • Welche Applikationen nutzen Verschlüsselungsverfahren?
  • Wie funktioniert die verschlüsselte Datenübertragung im Internet?
  • Wie Verschlüsselt man seine E-Mails? Was bedeutet S/MIME?
  • Wie funktioniert die digitale Signatur?
  • Was ist eine Public-Key-Infrastruktur und was sind Zertifikate?

1. Einführung

Was bedeutet «Geheimhaltung»:

Der Begriff «Kryptografie»:

Mit Kryptografie war ursprünglich die Wissenschaft der Verschlüsselung gemeint. Heute umfasst sie allgemein die  Informationssicherheit und die Widerstandsfähigkeit gegen Manipulation und unbefugtes Lesen.

  • Kryptologie: Wissenschaft vom Entwurf, der Anwendung und der Analyse von kryptografischen Verfahren
  • Kryptografie: Wie kann eine Nachricht ver- und entschlüsselt werden?
  • Kryptoanalyse: Wie sicher ist ein Verschlüsselungsverfahren?

Die Akteure in der Krypto-Literatur:

Praxisaufgabe ∇ AUFGABE

Was ist eine Blockchiffre?

  • Algorithmus der einen Datenblock von 64 oder 128 Bit mittels Schlüsselwerts verschlüsselt
  • Längerer Nachrichten werden vorerst in Blöcke unterteilt
  • Länge verschlüsselter Block 64 bzw. 128 Bit
  • Typische Schlüssellänge 112, 128 und 168 Bit
  • Beispiele: DES, AES und IDEA

Was ist eine Stromchiffre?

  • Symmetrische, kontinuierliche und verzögerungsfreie Ver- oder Entschlüsselung eines Datenstroms
  • Stromchiffre ver- bzw. entschlüsselt Nachrichten Bit für Bit bzw. Zeichen für Zeichen
  • Für Echtzeitübertragungen geeignet (z.B. Mobilfunk)
  • Beispiele: XOR-Verschlüsselung, RC4 (RC4 ist ein in den 80‘er Jahren von Ron Rivest entwickelter Stromchiffre-Algorithmus, der z.B. für eine sichere SSL-Verbindung bzw. Verschlüsselung des Datenstroms bei Webbrowsern sorgt), Scrambling bei 1000Base-T

2. Symmetrische Verschlüsselungsverfahren

Symmetrische Verschlüsselungsverfahren zeichnen sich dadurch aus, dass der Absender die Botschaft mit demselben Schlüssel verschlüsselt, wie der Empfänger, der die Botschaft wieder entschlüsslet.

2.1 Die Rotationschiffre

Bei der Rotationschiffre (Verschiebechiffre) wird jeder Buchstabe des lateinischen Alphabets durch den im Alphabet um eine bestimmte Stellen davor bzw. dahinter liegenden Buchstaben ersetzt.

Beispiel ROT-13

Bei der ROT-13 wird um 13 Buchstaben verschoben:

Beim 26 Buchstaben zählenden Alphabet hat die ROT-13 Rotationschiffre den Vorteil, dass derselbe Algorithmus zum ver- bzw. entschlüsseln verwendet wedern kann: Verschlüsseln (Buchstabe um 13 Positionen vorwärts und Entschlüsseln (Buchstabe um 13 Positionen vorwärts)

Unterschied zu einer z.B. ROT-3: Bei der ROT-3 werden die Buchstaben und drei Positionen verschoben. Allerdings braucht es zwei Funktionen. Nämlich die Verschlüsselung (Buchstabe um drei Positionen vorwärts) und Entschlüsselung (Buchstabe um drei Positionen rückwärts).

Eine kleine Anekdote zur Rotation von Characters:
HAL 9000 ist der fiktive Computer des Raumschiffs Discovery in Stanley Kubricks und Arthur Clarkes Film «2001: Odyssee im Weltraum» und «2010: Das Jahr, in dem wir Kontakt aufnehmen». Weit verbreitet ist die Vermutung, HAL sei die Verballhornung des Markennamens der US-Computerfirma IBM, da die Buchstabenfolge H-A-L das Ergebnis der Dekrementation der Buchstabenfolge I-B-M zu sein scheint (die Buchstaben H, A und L stehen im Alphabet jeweils unmittelbar vor den Buchstaben I, B und M). Arthur C. Clarke hat dieser Behauptung allerdings stets widersprochen: "Ich möchte einen ärgerlichen und hartnäckigen Mythos zerstören, der bereits kurz nach der Veröffentlichung des Films auftauchte. Wie im Roman deutlich gesagt, steht HAL für Heuristisch programmierter ALgorithmischer Computer. Aber ungefähr ein Mal pro Woche entdeckt irgendein Typ, dass HAL jeweils ein Buchstabe vor IBM ist, und geht prompt davon aus, dass Stanley und ich einen Witz über diese geschätzte Institution machen wollten."

Praxisaufgabe ∇ AUFGABE
∇ LÖSUNG

2.2 Die Vigenèreverschlüsselung

Bei monoalphabetischen Chiffrierverfahren wie der Rotationschiffre wird ein Buchstabe immer durch denselben Buchstaben ersetzt. Darum sind derart verschlüsselte «Geheimtexte» schnell nicht mehr geheim, weil sie mit einer einfachen Häufigkeitsanalyse leicht entschlüsselbar sind. Der nun vorgestellte Algorithmus ist ein einfaches polyalphabetisches Chiffrierverfahren. Beim polyalphabetisches Chiffrierverfahren wird ein Buchstabe in der Regel mit verschiedenen Buchstaben chiffriert. Ein einfaches polyalphabetisches Chiffrierverfahren wurde von Blaise de Vigenère (* 1523 ; † 1596), basierend auf den Ideen eines Benediktinermönches, entwickelt. Das nach ihm benannte Vigenère-Verfahren galt lange Zeit als unknackbar.

Zur Verschlüsselung eines Klartextes wird ein Schlüssel benötigt. Idealerweise ist dieser gleich lang wie der Klartext. Ist der Schlüssel kürzer als der Klartext, wird dieser einfach wiederholt. Die chiffrierten Buchstaben ermittelt man mit dem Vigenère-Quadrat, einer quadratischen Anordnung von untereinander stehenden verschobenen Alphabeten. Dazu sucht man den Kreuzungspunkt der durch den jeweiligen Schlüsselbuchstaben gekennzeichneten Zeile und der Spalte des Quadrats, die oben durch den Klartextbuchstaben gekennzeichnet ist. Der Empfänger benutzt zum Entschlüsseln der Nachricht denselben Schlüssel wie der Absender. Er kann durch Umkehren des Verschlüsselungsverfahren den Klartext zurückgewinnen.

Das komplette Vigenère-Quadrat:

Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

2.3 Die XOR-Stromchiffre

Gerätetechnisch unterscheidet man folgendes:

  • Zeichenorientiert: Es wird jedes einzelne z.B. ASCII-Character behandelt bzw. verarbeitet (Bsp. ROT-Chiffre, Vigenere-Chiffre etc. oder serielle Schnittstelle etc.)
  • Blockorientiert: Es werden ganze Blöcke übertragen (Bsp. Harddisk, Filesystem)
  • Datenstrom: Es wird Bit für Bit behandelt (Bsp. XOR-Stromchiffre)

Bei der Stromchiffre werden Klartext Bit für Bit bzw. Zeichen für Zeichen XOR-ver- bzw. entschlüsselt. Sender und Empfänger benutzen denselben Schlüssel.

Ein grosser Nachteil der XOR-Verschlüsselung
Sind Original und Chiffre bekannt, kann der Schlüssel rekonstruiert und für eine weitere Dechiffrierung verwendet werden. Beispiel:

Korrekte Verwendung:

  • Original 00101001
  • Schlüssel 10011010
  • XOR-Chiffre 10110011

Schlüssel rekonstruieren:

  • Original 00101001
  • XOR-Chiffre 10110011
  • Schlüssel 10011010
Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

2.4 Vor/Nachteile symmetrischer Verfahren

Beim symmetrischen Verschlüsselungsverfahren verschlüsselt und entschlüsselt man mit demselben Schlüssel. Wie aber soll die sichere Schlüsselübergabe erfolgen? Und wieviele Schlüssel werden bei 10, 20 oder gar 100 Kommunikationspartnern erforderlich?

VORTEILE der symmetrischen Verschlüsselung:

  • Schlüssel sind «kürzer» als Nachricht.
  • Ein sicherer Kanal für einen «kurzen» Schlüssel ist einfacher zu haben als ein sicherer Kanal für eine komplette Nachricht.

NACHTEILE der symmetrischen Verschlüsselung:

  • Sender und Empfänger müssen denselben Schlüssel besitzen.
  • Der Schlüsseltausch benötigt einen sicheren Kanal.
    Falls ein sicherer Kanal vorhanden wäre, könnte ja die Nachricht selbst darüber übertragen werden!
  • Aufwändiges Schlüsselmanagement.
    S=N*(N-1)/2
    S=Anzahl der Schlüssel; N=Anzahl der Teilnehmer
    Die Schlüsselanzahl wächst somit quadratisch!
Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

3. Asymmetrische Verschlüsselungsverfahren



Bei der Public/Privat-Key Kryptografie wird der Schlüssel auf zwei Teilschlüssel aufgeteilt. Das heisst, das jeder Teilnehmer folgendes Schlüsselpaar besitzt:

  • Private-Key bzw. Privater-Schlüssel: Dieser dient dem Nachrichten-Empfänger zum Entschlüsseln der Nachricht. Der Private-Key kennt nur der Empfänger und bleibt geheim.
  • Public-Key bzw. Öffentlicher-Schlüssel: Dieser dient zum Verschlüsseln einer Nachricht an die Person, die den Public-Key generiert bzw. ihn veröffentlicht hat. Der Public-Key ist jedermann zugänglich.

3.1 Am Anfang war der sichere Schlüsseltausch nach «Diffie-Hellman»

Der Einstieg in die asymmetrischen Verschlüsselung erfolgte um das Jahr 1976 durch die Entwicklung eines Protokolls für eine sichere Schlüsselvereinbarung durch die beiden Kryptologen Whitfield Diffie und Martin Hellman. Zwei Kommunikationspartner konnten nun über eine öffentliche, abhörbare Leitung einen gemeinsamen, geheimen und von Drittpersonen nicht berechenbaren Schlüssel in Form einer Zahl vereinbaren. Dieser gemeinsame Schlüssel konnte anschliessend für eine symmetrische Datenverschlüsselung verwendet werden (z.B. DES Data Encryption Standard oder AES Advanced Encryption Standard).

Veranschaulichung der Grundidee anhand gemischter Farben: (Farbanalogie)

Das «Farben mischen» wird hier als eine Einwegfunktion aufgefasst. Damit meint man, das es einfach ist, zwei oder mehrere verschiedene Farben zusammenzuschütten. Wesentlich schwieriger ist es allerdings, die erhaltene Farbmischung wieder in ihre ursprünglichen Komponenten aufzuteilen. (Umkehrung)

  1. Alice und Bob einigen sich öffentlich auf eine gemeinsame Farbe (Gelb).
  2. Jeder wählt für sich eine eigene, geheime Farbe (Alice: Orange, Bob; Türkis).
  3. Bob und Alice mischen nun jeweils die gemeinsame Farbe (Gelb) mit ihrer geheimen Farbe (Orange/Türkis). Alice erhält die Farbe Beige und Bob Graublau.
  4. Diese Farbmischungen tauschen Alice und Bob nun aus. Da darf jeder zuschauen. Diese beiden Farbmischungen sind nämlich nicht geheim. Für einen Aussenstehendne ist es nicht effizient möglich, aus den «öffentlichen» Farben (Gelb, Beige, Graublau) auf die geheimen Farben von Alice und Bob zu schliessen.
  5. Nun mischen Alice und Bob die Farbmischung ihres Gegenübers mit ihrer eigenen geheimen Farbe. Daraus entsteht wiederum eine neue Farbe (Ockerbraun), die für beide Kommunikationspartner gleich ist (Gelb + Orange + Türkis = Gelb + Türkis + Orange = Ockerbraun). Somit haben Alice und Bob eine gemeinsame geheime Farbe. Einer Drittperson ist es nicht möglich, die geheimen Farben von Alioce und Bob herauszufinden, da diese Alices und Bobs geheime Farbzutaten nicht kennt.
Praxisaufgabe ∇ AUFGABE
∇ LÖSUNG

3.2 Mit «RSA» eine komplette Nachricht verschlüsseln

Im Gegensatz zu Diffie-Hellman, wo es nur um den Schlüsseltausch geht, kann mit RSA der namensgebenden Erfinder Ronald L. Rivest, Adi Shamir und Leonard Adleman (1977) eine ganze Nachricht verschlüsselt werden. Die Mathematik ist ähnlich wie bei Diffie-Hellman.

Extras ∇ RSA FÜR MATHEMATIK-FANS


Praxisaufgabe ∇ AUFGABEN

RSA-Schwachstelle → «Kollisionsangriff»

Ein Kollisionsangriff ist ein Angriff auf eine kryptologische Hashfunktion mit dem Ziel, zwei verschiedene Dokumente zu finden, die einen identischen Hashwert ergeben. Sind solche Kollisionen einmal gefunden, bedeutet dies, dass die entsprechende Hashfunktion für kryptografische Anwendungen (Datenverschlüsselung, digitale Signaturverfahren) nicht mehr geeignet ist. Bei Hashfunktionen, die nicht entwickelt wurden, um kryptologischen Anforderungen zu genügen, sind solche Kollisionen oft leicht zu finden. Ein Beispiel hierfür ist die CRC-32-Prüfsumme: Die Wörter "buckeroo" und "plumless" führen beide zum Prüfwert 4ddb0c25. Inzwischen weit fortgeschrittene Kollisionsangriffe haben ergeben, dass die Nutzung von MD5 unsicher ist, insbesondere in solchen Szenarien, in denen der Nutzer nicht die zu signierenden Dateien komplett kontrolliert. Ein 2009 durchgeführter Test des Computermagazins c’t unter Verwendung von GPGPU ermöglicht es einem etwa ein Jahr alten Highend-Spiele-PC mit zwei Nvidia GeForce 9800 GX2 (insgesamt vier Grafikprozessoren), in knapp 35 Minuten eine Kollision zu finden.
Was gilt es zu beachten: Eine aktuelle, sichere, eine starke Kollisionsresistenz aufweisende Hash-Funktion wie z.B. der SHA-3-Algorithmus verwenden.


RSA-Schwachstelle → «Geburtstagsangriff»

Eine viel höhere Erfolgswahrscheinlichkeit als beim Preimage-Angriff erreicht man mit dem Geburtstagsangriff. Hier wählen wir zufällig eine Anzahl Dokumente, berechnen jeweils die entsprechenden Hashwerte und testen dann, ob unter den errechneten Hashwerten zwei gleich sind. Hierbei ergibt sich analog zum Geburtstagsparadoxon eine unerwartet höhere Erfolgswahrscheinlichkeit.
(Geburtstagsparadoxon: Befinden sich in einem Raum mindestens 23 Personen, dann ist die Chance grösser als 50%, dass zwei oder mehrere dieser Personen am gleichen Tag - ohne Beachtung des Jahrganges - Geburtstag haben.)
Für das Beispiel SHA-1 bedeutet dies, dass 1,18·280 Versuche benötigt werden, um mit einer Wahrscheinlichkeit von 50% eine Kollision zu finden. Für einen Rechner, der eine Milliarde Versuche pro Sekunde schafft, beträgt die Laufzeit hier "nur" noch 4.5·107 Jahre.
Der Ablauf:

  1. Mallory erstellt zwei Versionen eines Dokumentes «Guter Text: Alice an Bob» und «Böser Text: Alice an Mallory»
  2. Mallory erstellt von beiden Dokumenten (Gut und Böse) je verschiedene Varianten. Der jeweilige Inhalt wird dabei geringfügig, dh. von Auge kaum erkennbar, abgeändert (zB. Einfügen von Leerschläge etc.)
  3. Mallory sucht «Gut» und «Böse» Varianten mit demselben Hashwert (Die Chance, einen Treffer zu erzielen ist intakt)
  4. Mallory legt Alice die gefundene Variante von «Guter Text» zur Unterschrift vor.
  5. Alice unterschreibt die «Guter Text: Alice an Bob» Variante für Bob.
  6. Mallory trennt nun die Signatur von «Guter Text» ab und fügt sie «Böser Text: Alice an Mallory» an.
  7. «Böser Text: Alice an Mallory» ist nun ebenfalls gültig.
Was lernen wir daraus: Niemals ein fremdes Dokument unterschreiben, auch wenn es im Klartext abgefasst ist, es sei denn, man nimmt vor der Unterzeichnung einige subtile Änderungen vor, wie z.B. Einfügen von Leerzeichen. Damit ändert sich der Haschwert und der Geburtstagsangriff ist gescheitert.


RSA-Schwachstelle → «Chosen Ciphertext»

Mallory fängt eine an Bob verschlüsselte Nachricht ab und besorgt sich auch Bob's Public-Key. Danach lässt er sich von Bob eine fingierte Nachricht signieren und kann nach ein paar mathematischen Tricks Bob's verschlüsselte Nachricht lesen.
Was gilt es zu beachten: Niemals irgendwelche binären Dateien unbekannten Inhalts mit dem eigenen privaten Schlüssel unterschreiben. Es könnte sich um einen Chosen-Ciphertext-Angriff handeln. (Man in the middle-Attack)


Extras ∇ FÜR MATHEMATIK-FANS DIE DETAILS VON «CHOSEN CIPHERTEXT»

3.3 Hybride Verfahren

Symmetrische Verschlüsselungsverfahren haben das bereits besprochene Problem des Schlüsseltauschs und Schlüsselmanagements, das bei den asymmetrischen Verfahren so nicht besteht. Allerdings benötigen symmetrische Verfahren weniger Rechenzeit zur Erstellung des Chiffretexts als rein asymmetrische Verfahren. Darum liegt es auf der Hand, dass in einem hybriden Verfahren die Vorteile der beiden Verfahren genutzt werden:

  • Asymmetrisches oder Public-Key-Verfahren für Schlüsselmanagement, zB. RSA
  • Symmetrisches Verfahren zum Versenden der eigentlichen Nachricht, zB. RC4, DES, AES

Hybrides Verschlüsselungsverfahren → RSA-AES

Bei RSA-AES handelt es sich zum Beispiel um ein hybrides Verfahren: Schlüsseltausch asymmetrisch mit RSA und Verschlüsselung der Nachricht symmetrisch mit AES.

Praxisaufgabe ∇ AUFGABE

4. Digitale Signatur

  • Motivation: Nicht immer ist es das Ziel, eine Nachricht zu verschlüsseln. Oftmals besteht auch das Bedürfnis, die Authentizität, Integrität, Verbindlichkeit etc. einer Nachricht zu erfahren, wie z.B:
    • wer in meinem E-Shop bestellt hat
    • wer mir diese oder jene E-Mail zugestellt hat
    • ob wirklich der Absender das geschrieben hat, was ich da nun lese
    • woher das Applet stammt, das ich gerade auf meinen PC lade
    • ob es sich bei dem Update wirklich um das richtige und unmanipulierte Original handelt
    • wohin meine Kreditkartennummer übermittelt wird
    • wer bei einer Wahlveranstaltung gerade seine Stimme abgegeben hat
    • ob der Inhalt von “www.admin.ch” wirklich von unserer Regierung stammt
  • Ausgehend von seinem Grundprinzip ist das Internet nicht sicher:
    • Mitlesen von Daten (Sniffing)
    • Vortäuschen falscher Identitäten (Spoofing)
    • Angriffe auf die Verfügbarkeit (Denial-of-Service)
    • Übertragen von Programmen mit Schadfunktion (Viren, Würmer...)
    • Menschliches Fehlverhalten (Preisgabe von geheimen Daten)
  • Das möchte man erreichen:
    • Authentisierung - Sicherstellung der Identität eines Kommunikationspartners
    • Vertraulichkeit - Zugänglichkeit der Nachricht nur für bestimmten Empfängerkreis
    • Integrität - Schutz vor Verfälschung von Nachrichten bei der Übermittlung
    • Autorisierung - Prüfung der Zugriffsberechtigung auf Ressourcen
    • Verfügbarkeit - Schutz vor Datenverlust, Sicherstellung des laufenden Betriebs
    • Verbindlichkeit - Sicherer Nachweis der Absendung bzw. des Empfangs
  • Und da kommt die digitale Signatur ins Spiel:
    • Sichere Identifizierung des Absenders eines Dokumentes
    • Sicherheit vor nachträglichen Manipulationen des Dokumentes
    • Elektronisch signierte Dokumente sind mit unterschriebenen Papierdokumenten gleich gesetzt
    • Ist ein Prüfwert einer Information
    • Die Digitale Signatur hat die Aufgabe einer Unterschrift und eines Siegels

4.1 Digitale Signatur mit «RSA»

Für die digitale Signatur kann mit RSA dasselbe Verfahren genutzt werden, wie bei der Verschlüsselung von Nachrichten: Wesentlicher Ablauf:

  • Der Inhalt der Nachricht wird auf eine eindeutige Kenngrösse abgebildet. Dazu bedient man sich eines Hash-Algorithmus
  • Der Hash-Wert wird mit dem privatem Schlüssel verschlüsselt und zur Nachricht hinzugefügt
  • Der Empfänger kann mit Hilfe des öffentlichen Schlüssel des Senders prüfen, ob die Information wirklich vom Absender stammt und nicht verändert wurde
Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

4.2 Der Hash-Wert

  • Der Hashwert ist eine Art Fingerabruck eines Dokuments.
  • Der Hashwert bildet einen beliebig langen Nachrichtentext auf einen Wert vorgegebener, kurzer Länge an (Hashwert, Prüfsumme)
  • Aus dem Hashwert kann die ursprüngliche Nachricht nicht errechnet werden (Irreversibilität)
  • Die Konstruktion von Nachrichten mit identischem Hashwert muss praktisch unmöglich sein
  • Die zufällige Übereinstimmung von Hashwerten beliebiger Nachrichten ist sehr unwahrscheinlich (Kollisionsresistenz, Integrität prüfbar)
Praxisaufgabe ∇ AUFGABEN

5. Public-Key-Infrastruktur

So sicher asymmetrische Verschlüsselungsverfahren auch sein mögen, wirklich geschützt ist man nur, wenn man dem ausgewählten Public-Key auch vertrauen kann. Das heisst, dass z.B. der Public-Key von Bob auch wirklich Bob gehört und nicht ein mit «Bob» umbeschrifteter Public-Key von Mallory ist. Um dies sicherzustellen, muss entweder eine Art Vetrauensnetz aufgebaut werden, oder die Public/Private-Keys werden von offiziellen Stellen, ähnlich den Passbüros, ausgestellt. Diese Zertifizierungsstellen klären vor der Schlüsselausgabe die Indentität des Antragsteller (mehr oder weniger) seriös ab und garantieren danach (mehr oder weniger) für die Echtheit dieser Schlüssel, wenn jemand diese überprüft haben möchte.

Mit Public-Key-Infrastruktur (PKI) bezeichnet man in der Kryptologie ein System, das digitale Zertifikate ausstellen, verteilen und prüfen kann. Die innerhalb einer PKI ausgestellten Zertifikate werden zur Absicherung rechnergestützter Kommunikation verwendet.

Die Bestandteile einer PKI

  • Digitale Zertifikate
  • Zertifizierungsstelle (Certificate Authority, CA)
  • Registrierungsstelle (Registration Authority, RA)
  • Zertifikatsperrliste (Certificate Revocation List, CRL)
  • Verzeichnisdienst (Directory Service)
  • Validierungsdienst (Validation Authority, VA)
  • Dokumentationen: CP (Certificate Policy), CPS (Certification Practice Statement), PDS (Policy Disclosure Statement)
  • Subscriber: Inhaber von Zertifikaten
  • Participant: Nutzer von Zertifikaten

5.1 Der ITU-T-Standard X.509

Die Alternative zur dezentralen Schlüsselverwaltung (Web-of-Trust), wie wir sie bei OpenPGP vorfinden, ist eine zentrale, hierarchische Verwaltung. X.509 ist dabei ein ITU-T-Standard für eine Public-Key-Infrastruktur zum Erstellen digitaler Zertifikate.
Das X.509-Zertifikat beweist, dass desen Besitzer seine Identität bzw. Glaubwürdigkeit von einer CA (=Certification Authority) bescheinigen hat lassen. Das heisst: Personenangaben werden mit dem Schlüsselpaar gekoppelt (Elektronischer Ausweis), ausgestellt von einer vertrauenswürdigen Instanz TC (=Trust Center) oder CA. Diese Schlüssel unterscheiden sich von denen bei OpenPGP!

Die Aufgaben von TC’s bzw. CA's (X.509)

  • Zertifikate ausstellen - Korrekte Identifikation des Teilnehmers,  Zertifizieren von User, Server, Sub CA's. Erstellung des Zertifikates durch digitale Signatur über Identifikationsdaten  und öffentlichen Schlüssel eines Teilnehmers.  Bei Ausgabe eines Zertifikates an einen Teilnehmer ist dieser über Funktionalität  und Gefahren von zertifizierten Signaturschlüsseln zu unterrichten.
  • Veröffentlichen der Public-Keys der User und Publizieren eigenes Zertifikat
  • Verwalten bzw. Archivierung angelaufener Zertifikate
    Zertifikate zurückziehen oder für ungültig erklären
    Festlegung der Gültigkeitsdauer von Zertifikaten
  • Zeitstempeldienst - Absicherung im Falle des Diebstahls des geheimen Schlüssels. Nachweis einer zeitpunktsbezogenen Willensbekundung. Nachweis und Sicherheit, dass die digitale Signatur nicht nach Ablauf der Gültigkeit des Zertifikates erstellt wurde.
Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

6. Internet und Zertifikate

6.1 Sichere Webseiten mit HTTPS → TLS + HTTP

Wie sicher ist eine Webseite? Vor allem dann, wenn sensitive Daten darüber verschickt werden, wie z.B. bei Webshops und Onlinebanking, wo Webformulareingaben wie Benutzernamen und Passwörter vor fremden Augen versteckt werden sollten. Gefürchtet ist auch die "Man-in-the-middle-Attacke, wo eine Person zwischen Webbrowser und Webserver Daten anzapft und modifiziert weiterleitet, bzw. die Antwort abfängt und in seinem Sinne "bereinigt" an den Kunden zurückgibt. Im weiteren ist es ein grosses Bedürfnis, sicher zu sein, dass herunterladbare Programme/Patches auch echt sind bzw. tatsächlich vom vermeintlichen Absender stammen. Abhilfe schafft da SSL/TLS, ein Verschlüsselungsprotokoll, dass zwischen Transport-Layer und Applikationslayer (siehe ISO-OSI-Schichtenmodell) für Sicherheit sorgt. Möchte man seine Webseite damit aufrüsten, stellt sich sofort wieder die Frage der Authentizität öffentlicher Schlüssel: d.h. es führt kein Weg an einem offiziellen SSL/TLS Zertifikat vorbei. Ausserdem muss der Webhoster SSL/TLS auch unterstützen.

Im folgenden eine Pulsfühlung (Stand 2018) im Internet zum Thema:

  • Ein SSL/TLS-Zertifikat macht deine Seite sicherer und ist gut für Google.
  • Schon vor gut zwei Jahren hatte Google angekündigt verschlüsselte Seiten bei den Suchergebnissen bevorzugt zu behandeln.
  • Der Google-Browser Chrome wird unverschlüsselte Seiten demnächst mit einem "Nicht sicher" in der Adresszeile brandmarken.
  • Verschlüsselte Kommunikation sollte ein Grundrecht im Internet sein.
  • Eine verschlüsselte Webseite ist eben nicht per se vertrauenswürdig.
  • Allein mit dem Stichwort Paypal hätten seit Januar 2016 fast 15.000 eindeutig als Phishing-Seiten identifizierte Domains Zertifikate von Let's Encrypt erhalten.
  • Etwas über zwei Jahre nach dem Start der gemeinnützigen Zertifizierungsstelle Let's Encrypt (2016) stellt diese nun über die Hälfte aller SSL-Zertifikate im Netz.

SSL/TLS

Hybrides Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet:

  • SSL = Secure Sockets Layer (Veraltet! Wurde durch TLS abgelöst)
  • TLS = Transport Layer Security (Transportschichtsicherheit)
TLS liegt zwischen der Transportschicht (z.B. TCP via Port 443) und der Applikationsschicht (z.B. HTTP). Man nennt dieses Gespann dann HTTPS. HTTPS ist also kein eigenes Protokoll sondern die Kombination von TLS mit HTTP. HTTPS ist im Webbrowser bereits "integriert", muss also nicht extra nachinstalliert werden. Als Software zum Betrieb eines HTTPS-fähigen Webservers wird eine SSL-Bibliothek wie OpenSSL benötigt. Das digitale Zertifikat für SSL, das die Authentifizierung ermöglicht (Server und die Domain sind eindeutig), ist vom Server bereitzustellen und kann z.B. bei einer Zertifizierungsstelle erworben werden.
Der Client-Browser ruft eine sichere Webseite so auf: https://url. Ist eine HTTPS-Verbindung etabliert, wird in der Statusleiste des Webbrowsers ein Schloss- oder Schlüssel-Symbol eingeblendet oder die Adresszeile in ihrer Farbe geändert.

So erfolgt ein Standard-SSL-Handshake, wenn ein RSA-Algorithmus zum Schlüsselaustausch verwendet wird:
  1. Client Hello: Informationen, die der Server benötigt, um mit dem Client mithilfe von SSL zu kommunizieren. Dies beinhaltet die SSL-Versionsnummer, Verschlüsselungseinstellungen und sitzungsspezifische Daten.
  2. Server Hello: Informationen, die der Server benötigt, um mit dem Client mithilfe von SSL zu kommunizieren. Dies beinhaltet die SSL-Versionsnummer, Verschlüsselungseinstellungen und sitzungsspezifische Daten.
  3. Authentifizierung und Pre-Master Secret: Der Client authentifiziert das Serverzertifikat. (z.B. Common Name/Datum/Aussteller). Der Client (abhängig von der Verschlüsselungssoftware) erstellt den Pre-Master-Secret-Wert für die Sitzung, verschlüsselt ihn mit dem öffentlichen Schlüssel des Servers und sendet den verschlüsselten Pre-Master-Secret-Wert an den Server.
  4. Entschlüsselung und Master Secret: Der Server entschlüsselt den Pre-Master-Secret-Wert mithilfe seines privaten Schlüssels. Sowohl Server als auch Client führen Schritte aus, um den Master-Secret-Wert mithilfe des vereinbarten Verschlüsselungsverfahrens zu generieren.
  5. Verschlüsselung mit Sitzungsschlüssel: Client und Server tauschen Meldungen aus, um mitzuteilen, dass zukünftige Nachrichten verschlüsselt werden.

Die sichere Verbindung zum Mailserver

Was Sie beim Einrichten eines E-Mail-Clients beachten sollten: Beim Abfragen und Verschicken von E-Mail's sollte man auch an die Verbindungssicherheit denken: Unverschüsselt können Sie auf dem Transportweg (Mail-Client zu Mail-Server) leicht abgehört werden. Darum ist es von Vorteil, eine Verschlüsselungsmethode wie SSL/TLS einzusetzen, sofern dies von Ihrem Mail-Provider auch angeboten wird. Allerdings muss man wissen, dass es sich dabei "nur" um eine Transportverschlüsselung handelt. Das bedeutet, dass Ihre EMails auf dem Weg zum Mailserver nicht eingesehen werden können. Auf dem Mailserver liegen Ihre EMails allerdings unverschlüsselt vor, ausser Sie bedienen sich einer Mailverschlüsselung. OpenPGP und S/MIME sind dabei die beiden wichtigsten Standards für eine E-Mail-Verschlüsselung.

6.2 TLS-Zertifikate

Ein digitales Zertifikat bestätigt bestimmte Eigenschaften von Personen oder Objekten. Dessen Authentizität und Integrität kann durch kryptografische Verfahren geprüft werden.
Folgende TLS Zertifikatsarten werden unterschieden:

  • Domain Validated
  • Organization Validated
  • Extended Validation
Zertifizierungsstellen: (Auswahl)
  • https://letsencrypt.org/de: Bietet seit 2015 kostenlose TLS-Zertifikate an.
  • http://www.cacert.org: Ist eine gemeinschaftsbetriebene, nichtkommerzielle Zertifizierungsstelle. CAcert stellt für jedermann kostenfrei X.509-Zertifikate für verschiedene Einsatzzwecke aus und soll eine Alternative zu den kommerziellen Zertifizierungsstellen sein, die zum Teil recht hohe Gebühren für ihre Zertifikate erheben.
  • https://www.verisign.com: Ist ein kommerzieller Anbieter aus den USA.
  • https://www.globalsign.com: Ist ein kommerzieller Anbieter aus Japan.
  • https://www.quovadisglobal.ch: Ist ein kommerzieller Anbieter aus der Schweiz.
  • Weitere Anbieter aus der Schweiz sind z.B.: Swisscom und SwissSign (Schweizer Post).

6.3 Sichere E-Mail’s mit S/MIME

S/MIME = Secure Multipurpose Internet Mail Extensions
Dies ist ein Standard für die Verschlüsselung und das Signieren von MIME-gekapselter E-Mail durch ein hybrides Kryptosystem (Asymmetrisch/Symmetrisch). S/MIME wird von den meisten modernen Mailclients unterstützt. Es erfordert X.509-basierte Zertifikate für den Betrieb.
Schlüsselvarianten: S/MIME ist die Alternative zu OpenPGP!

S/MIME-Zertifikate

  • X.509 ist ein Standard für eine Public-Key-Infrastruktur (PKI) zum Erstellen digitaler Zertifikate.
  • Mit Public-Key-Infrastruktur (PKI) bezeichnet man in der Kryptologie ein System, das digitale Zertifikate ausstellen, verteilen und prüfen kann. Die innerhalb einer PKI ausgestellten Zertifikate werden zur Absicherung rechnergestützter Kommunikation verwendet.
  • Die Anbieter von kostenpflichtigen S/MIME-Zertifikaten für sichere E-Mail-Kommunikation klassifizieren diese meist in drei Klassen. Dabei sichert bei Klasse 1 die Zertifizierungsstelle (CA) die Echtheit der E-Mail-Adresse zu und nur diese ist Teil des Zertifikats. Bei Klasse 2 wird zusätzlich der zur E-Mail-Adresse gehörende Name in das Zertifikat mit aufgenommen, sowie die Organisation/Firma. Diese Daten werden mithilfe von Drittdatenbanken und Ausweiskopien verifiziert. Bei Zertifikaten der Klasse 3 muss der Antragsteller sich persönlich ausweisen.
  • Manche Unternehmen und nichtkommerzielle Organisationen bieten kostenlose S/MIME-Zertifikate an. Es können dabei nach einer Registrierung mehrere Zertifikate erstellt werden, die aber erst nach einer gewissen Anzahl von Identitätsnachweisen den Namen beinhalten. Diese können durch Mitglieder in einem Web of Trust oder anderen vertrauenswürdigen Stellen wie Rechtsanwälten oder Wirtschaftstreuhändern erfolgen. Grundsätzlich zerstört eine Ausstellung von Zertifikaten durch Anbieter ohne Identitätsüberprüfung des Antragstellers den Grundgedanken des sicheren Informationsaustauschs zwischen zwei Computern im Netz. So ist es bei einigen Zertifikatsausstellern tatsächlich möglich, mit erfundenen Betreiberangaben ein Zertifikat für eine völlig fremde Website zu erhalten. Der Benutzer würde über ein Umleiten der Informationsübertragung beispielsweise durch den Browser nicht mehr informiert, wenn die Zertifizierungsstelle durch den Browserhersteller von vornherein als vertrauenswürdig eingestuft wurde.

6.4 SSH-Login

Secure Shell (SSH) ist eine Möglichkeit, sich sicher bei einem Remote-Computer anzumelden, da alle Daten zwischen dem lokalen Computer und dem Remote-Computer in beide Richtungen verschlüsselt werden. Dazu verwendet man asymmetrische SSH-Schlüssel: Auf dem lokalen Computer wird ein SSH-Schlüsselpaar generiert, der private Schlüssel verbleibt auf dem lokalen PC und der öffentliche Schlüssel wird auf den entfernten Computer hochgeladen.

Die Arbeitsschritte (Lokaler LIN-PC=Linux-PC und Remote-WIN-PC):

  • Auf dem LIN-PC existiert z.B. der Benutzer HansMuster
    (Falls ihr LIN-PC kein CH-Layout aufweist, dies entweder ändern oder bedenken, dass y und z vertauscht sind bzw. der Bindestrich sich mit der ?-Taste aufrufen lässt und der Slash / sich auf der Taste _ befindet)
  • IP-Adresse des LIN-PCs prüfen und gegebenfalls anpassen:
    sudo opt install net-tools (NetTools installieren, sofern noch nicht geschehen.)
    ifconfig (Aktuelle IP-Adresse überprüfen)
    sudo ifconfig eth0 192.168.1.111 netmask 255.255.255.0 (IP gem. Vorgabe anpassen)
    ifconfig (Einstellung überprüfen)
  • Verbindung lokaler LIN-PC und Remote-WIN-PC mit ping überprüfen.
  • Auf dem LIN-PC ssh installieren:
    sudo apt install openssh-server
  • Auf dem LIN-PC ssh-Installation überprüfen:
    sudo systemctl status ssh (Sollte active (running) als Antwort enthalten)
    sudo systemctl enable ssh (Falls ssh noch nicht aktiv ist)
    sudo systemctl start ssh (Falls ssh noch nicht aktiv ist)
  • Auf dem LIN-PC das .ssh-Verzeichnis im eigenen Homeverzeichnis auf bereits existierende SSH-Keys untersuchen:
    ls -la ~/.ssh/
  • Auf dem LIN-PC neuer Schlüsselpaar erstellen:
    ssh-keygen -C mein_SSH-Keyname (mein_SSH-Keyname durch meinen bevorzugten Schlüsselnamen ersetzen)
    (Hinweis: Mit der Option -t kann man den zu erstellenden Schlüsseltyp angeben. Z.B. ssh-keygen -t ed25519 -C mein_SSH-Keyname. Mögliche Schlüsseltypen sind dsa, ecdsa, ecdsa-sk, ed25519, ed25519-sk, rsa. Weitere Optionen entnehmen man den LIN-Manual-Pages.)
  • Jetzt sollte auf dem LIN-PC mindesten ein Schlüsselpaar existieren:
    ls -la ~/.ssh/ ergibt mein_SSH-Keyname als PrivateKey und mein_SSH-Keyname.pub als PublicKey.
  • Den soeben erstellten öffentlichen Schlüssel auf den WIN-PC kopieren.
  • Auf dem WIN-PC ein Terminal öffnen und Remote-Verbindung etablieren:
    ssh HansMuster@192.168.1.111 (HansMuster ist ein LIN-PC-User. Die IP-Adresse entsprechend anpassen)
    ssh HansMuster@192.168.1.111 -p Port-Nummer (Falls nicht Standardport 22 verwendet wird)
    Anstatt der IP-Adresse kann auch ein Domänenname verwendet werden, sofern dieser über z.B. DNS aufgelöst wird.
    Nun erscheint das Linux-Shell-Prompt des LIN-PCs.

Extras ∇ Linux Bash Shell für Windows installieren


Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN

7. Applikationen zur Verschlüsselung

7.1 Pretty Good Privacy → PGP und OpenPGP

PGP ist ein von Phil Zimmermann entwickeltes Programm zur Verschlüsselung und Signieren von Daten und arbeitet auf hybrider Basis. Es benutzt ein PrivateKey/PublicKey-Verfahren wie bei RSA. PGP basiert dabei auf dem sogenannten Web of Trust, bei dem es keine zentrale Zertifizierungsstelle gibt, sondern ein Vertrauensnetzwerk, das von den Benutzern selbst verwaltet wird. Mit PGP kann man wahlweise eine Nachricht signieren, verschlüsseln oder signieren und verschlüsseln.

Um von IT-Multis unabhängig zu bleiben, wurde 1998 der OpenPGP-Standard entwickelt. Das unter der GNU-GPL stehende Programm GnuPG bzw. GPG4WIN ist wiederum eine Implementierung von OpenPGP. GPG4WIN unterstützt neben persönlichen OpenPGP-Schlüsselpaaren (Dezentral, Web-of-Trust) auch X.509-Schlüsselpaare (Zentrale Zertifizierungsinstanz, CA). Die beiden Schlüsselvarianten sind untereinander aber nicht kompatibel!

OpenPGP: Sowohl Private/PublicKey als auch verrschlüsselte Nachricht sind ASCII-Dateien (.asc)

     Beispiel eines öffentlichen OpenPGP-Schlüssels (Auszug): 
     -----BEGIN PGP PUBLIC KEY BLOCK----- 
     Version: GnuPG v2 
     mHjzBFYjc. 
     ... 
     -----END PGP PUBLIC KEY BLOCK-----
	  

    Beispiel eines privaten OpenPGP-Schlüssels (Auszug):
    -----BEGIN PGP PRIVATE KEY BLOCK-----
    Version: : GnuPG v2
    wqdsf
    ...
    -----END PGP PRIVATE KEY BLOCK-----
	

    Beispiel einer OpenPGP-verschlüsselten Nachricht (Auszug):
    -----BEGIN PGP MESSAGE-----
    Charset: utf-8
    Version: GnuPG v2
    Qqvms5xQ160
    ...
    -----END PGP MESSAGE-----

Wie GPG4WIN auf dem PC installieren?

GPG4WIN ist eine Free-Windows-Variante von GnuPG bzw. OpenPGP. (PGP wäre übrigens die kommerzielle Variante.)
GPG4WIN beinhaltet den GnuPG-Zertifikatsmanager Kleopatra. Mit diesem kann man neue Schlüsselpaare erstellen und bestehende importieren und verwalten.
Im weiteren ist es in Kleopatra möglich, Nachrichten zu verschlüsseln und/oder zu signieren.
Bei diesem ersten Schritt muss noch nicht unbedingt ein Schlüsselpaar erzeugt werden, das geht später immer noch. Falls doch, empfiehlt es sich, einen Test-EMail-Account bereit zu halten. Hier kann man GPG4WIN herunterladen: www.gpg4win.de

Wie mit GPG4WIN/Kleopatra ein Schlüsselpaar erstellen?

  1. Starten des gpg4win-Zertifikatsmanagers «Kleopatra».
  2. Falls das bei der Installation von gpg4win noch nicht geschehen ist, erzeugen eines persönlichen Schlüsselpaars unter «Datei/Neues Zertifikat/Persönliches OpenPGP-Schlüsselpaar erzeugen».
    Tipp: Beim Ausprobieren wird das Benutzen einer Test-E-Mail-Adresse empfohlen.
    Hinweis: Alternativ wäre auch ein X.509-Schlüsselpaar denkbar. Dazu müsste man aber eine Beglaubigungsstelle einbeziehen, was den Rahmen dieser Übung sprengen würde.
  3. Beim Erzeugen eines Schlüsselpaars wird eine sogenannte Passphrase verlangt. Dies ist ein Passwort, dass man später beim Erstellen und Öffnen einer verschlüsselten Nachricht eingeben muss. Diese Passphrase darf man darum keinesfalls vergessen und niemals weitergeben.
  4. Exportieren des eigenen öffentlichen Schlüssels. Achtung: Hier den PublicKey und nicht den PrivateKey exportieren. Im Zweifelsfall mit einem Texteditor der Wahl das ASC-File überprüfen! In der ersten Zeile sollte stehen:
    -----BEGIN PGP PUBLIC KEY BLOCK-----
  5. PublicKey wie folgt umbenennen: Vorname_Nachname_PublicKey.asc
  6. Kleopatra verwaltet die öffentlichen Schlüssel der Kommunikationspartner. Dazu muss man diese aber erst in Kleopatra einpflegen.
  7. Testen: Um PGP auszuprobieren, soll man PublicKeys gegenseitig austauschen. Dies kann z.B. über das Internet geschehen. Im Schulbetrieb kann man ausnahmsweise vertrauen, dass der Schlüssel auch von der Personen stammt, auf die der Dateiname hinweist. Ausserhalb der Schule ist das selbstverständlich ein NoGo.
Praxisaufgabe ∇ AUFGABEN

7.2 E-Mails im Mailclient Thunderbird verschlüsseln

Mozilla's Thunderbird ist OpenSource und neben Microsoft Outlook ein sehr häufig eingesetzter Mail-Client zum Lesen und Schreiben von News und E-Mails.

Wie den Mailclient Thunderbird einrichten?

Die Zugangsdaten zu dem persönlichen E-Mail-Account wie wie E-Mail-Adresse, Login-Name, Passwort, Mail-Eingangs/Ausgangserver liegen bereit? Dann kann es losgehen:

  1. Thunderbird herunterladen. Hier findet man Thunderbird: www.thunderbird.net
  2. Thunderbird-Einrichtung starten und eigenen EMail-Account einrichten.
  3. Nachdem man Name und EMail-Adresse eingegeben hat, kann man mit «Manuell einrichten» die Mailserver-Werte direkt eingeben.
  4. Dazu wählt man: IMAP (Nachrichten auf dem Server speichern)
  5. Nun die Kontoerfassung abschliessen. Wenn Thunderbird den EMail-Account nicht erfolgreich prüfen kann, wurden falsche Angaben gemacht. (Stimmt der Username, Passwort, Eingangs-/Ausgangsserver, Port-Nr. etc.?)

Wie den Mailclient Thunderbird einsetzen?

Bevor Thunderbird für die EMail-Verschlüsselung bzw. Signierung eingesetzt werden kann, müssen noch ein paar Konfigurationen erledigt werden. Wie bei PGP4WIN/Kleopatra auch, stehen hier beide Schlüsselvarianten OpenPGP und S/MIME-X.509 zur Verfügung. Wir beschränken uns wiederum auf OpenPGP-Schlüssel.

  1. In der oberen Menüzeile rechts aussen (Drei waagrechte Striche übereinander) → Anwendungsmenü von Thunderbird anzeigen
  2. Extras → OpenPGP Schlüssel verwalten: Hier können sie ihr eigens Schlüsselpaar oder PublicKey ihrer Kommunikationspartner importieren.
    Datei → Öffentliche(n) Schlüssel aus Datei importieren
    Datei → Geheime(n) Schlüssel aus Datei importieren
    Die Schlüssel können z.B. vorher aus Kleopatra exportiert werden.
    Sie können unter «Erzeugen» aber auch ein neues Schlüsselpaar erstellen.
  3. Nun müssen sie überprüfen, ob ihrem EMail-Account bereits ein Schlüssel zugewiesen wurde: Anwendungsmenü von Thunderbird → Konten-Einstellungen → Ende-zu-Ende-Verschlüsselung: Hier sollte unter OpenPGP angezeigt werden: Thunderbird verfügt über 1 persönlichen OpenPGP-Schlüssel für ...
    Dies funktioniert aber nur, wenn sich ihr persönlicher, in Thunderbird importierter Schlüssel auch auf ihre EMail-Adresse bezieht. Im Zweifelsfall generieren sie ein neues, persönliches Schlüsselpaar in Thunderbird, dass sie nun ihrem EMail-Account zuweisen können.
  4. Achten sie darauf, dass der Schlüssel auch tatsächlich verwendet wird. Es darf nicht die Option «Keiner - OpenPGP für diese Identität nicht verwenden» selektiert sein, sondern der Schlüssel darunter!
  5. In diesem Menü lässt sich auch einstellen, ob standardmässig EMails verschlüsselt und/oder signiert werden sollen. Darauf verzichten wir vorerst einmal.
Falls man bereits PublicKeys von Klassenkameraden imporiert hat, kann man nun mit dem Verschlüsseln und Signieren beginnen:
  1. Verfassen → EMail-Adresse des Empfängers eingeben.
  2. Prüfen sie unter Sicherheit → Verschlüsselungstechnologie ob auch OpenPGP aktiv ist.
  3. Da sie EMails nicht automatisch verschlüsseln, aktivieren sie n un dies für die aktuelle EMail.
    Zur Auswahl stehen:
    Sicheheit → Nur mit Verschlüsselung senden
    Sicheheit → Nachricht unterschreiben
    Meinen öffentlichen Schlüssel anhängen
  4. Zur Kontrolle: Unten links erscheint OpenPGP und ein entsprechendes Icon.

Praxisaufgabe ∇ AUFGABEN

8. Steganografie

Steganografie bezeichnet die verborgene Speicherung oder Übermittlung von Informationen in einem Trägermedium. In unserem Fall ist das Trägermedium eine Bilddatei.

Praxisaufgabe ∇ AUFGABEN
∇ LÖSUNGEN