# 9. OSI-Schicht 6 – Darstellungsschicht



# 9.1 OSI-Schicht 6 – Darstellungsschicht

Die Darstellungsschicht ist Schicht 6 des OSI-Modells.

Sie liegt zwischen:

    Schicht 5: Sitzungsschicht
    und
    Schicht 7: Anwendungsschicht

Die Hauptaufgabe von Schicht 6 ist:

    Daten so darzustellen, umzuwandeln oder zu schützen,
    dass Anwendungen sie korrekt verstehen können.

Dabei geht es vor allem um:

    - Datenformate
    - Zeichencodierung
    - Kompression
    - Verschlüsselung
    - Entschlüsselung
    - Datenumwandlung
    - Darstellung von Informationen

Merksatz:

    Schicht 6 = Darstellung, Codierung, Kompression und Verschlüsselung.

---

**Grundidee von Schicht 6**

Schicht 6 sorgt dafür, dass Daten in einer passenden Form vorliegen.

Ein Sender kann Daten in einem bestimmten Format erzeugen.

Der Empfänger muss diese Daten richtig interpretieren können.

Beispiele:

    Text muss mit der richtigen Zeichencodierung gelesen werden.
    Bilder müssen im richtigen Dateiformat verstanden werden.
    Verschlüsselte Daten müssen entschlüsselt werden.
    Komprimierte Daten müssen entpackt werden.

Merksatz:

    Schicht 6 kümmert sich darum,
    wie Daten dargestellt und interpretiert werden.

---

**Warum braucht man die Darstellungsschicht?**

Unterschiedliche Systeme können Daten unterschiedlich speichern oder darstellen.

Beispiele:

    - Textcodierung
    - Zahlenformat
    - Dateiformat
    - Bildformat
    - Audioformat
    - Verschlüsselung
    - Kompression

Damit Sender und Empfänger dieselben Daten gleich verstehen, braucht man Regeln für die Darstellung.

Merksatz:

    Gleiche Daten müssen auf beiden Seiten gleich verstanden werden.

---

**Einordnung im OSI-Modell**

| OSI-Schicht | Name | Aufgabe |
|---:|---|---|
| 7 | Anwendungsschicht | Netzwerkdienste für Anwendungen |
| 6 | Darstellungsschicht | Darstellung, Codierung, Verschlüsselung |
| 5 | Sitzungsschicht | Sitzungen aufbauen, verwalten und beenden |
| 4 | Transportschicht | TCP, UDP, Ports |
| 3 | Vermittlungsschicht / Netzwerkschicht | IP, Routing |
| 2 | Sicherungsschicht | Frames, MAC, VLAN |
| 1 | Bitübertragungsschicht | Bits, Signale |

Merksatz:

    Schicht 6 liegt zwischen Sitzung und Anwendung.

---

**Schicht 5, 6 und 7 unterscheiden**

| Schicht | Grundidee | Beispiel |
|---:|---|---|
| 5 | Sitzung verwalten | Benutzer bleibt angemeldet |
| 6 | Daten darstellen oder umwandeln | UTF-8, TLS, Kompression |
| 7 | Anwendung und Dienst | HTTP, DNS, SMTP |

Merksatz:

    Schicht 5 = Sitzung.
    Schicht 6 = Darstellung.
    Schicht 7 = Anwendung.

---

**Darstellung bedeutet nicht Bildschirmdarstellung**

Der Begriff Darstellungsschicht wird manchmal falsch verstanden.

Es geht nicht nur darum:

    was auf dem Bildschirm angezeigt wird.

Es geht fachlich darum:

    wie Daten codiert,
    formatiert,
    komprimiert,
    verschlüsselt
    oder interpretiert werden.

Beispiel:

    Ein Text kann gleich aussehen,
    aber intern unterschiedlich codiert sein.

Merksatz:

    Darstellungsschicht meint Datenrepräsentation,
    nicht nur grafische Anzeige.

---

**Datenformate**

Ein Datenformat legt fest, wie Informationen aufgebaut sind.

Beispiele:

| Datenart | Beispiele |
|---|---|
| Text | TXT, HTML, XML, JSON |
| Bild | JPEG, PNG, GIF, SVG |
| Audio | WAV, MP3, AAC |
| Video | MP4, H.264, H.265 |
| Dokument | PDF, DOCX |
| Archiv | ZIP, 7z |

Wenn ein Empfänger das Format nicht versteht, kann er die Daten nicht korrekt verarbeiten.

Merksatz:

    Datenformat = Regel,
    wie Daten aufgebaut sind.

---

**Beispiel: JSON**

JSON steht für:

    JavaScript Object Notation

JSON wird häufig verwendet, um strukturierte Daten zwischen Anwendungen auszutauschen.

Beispiel:

    {
      "name": "Felix",
      "rolle": "FISI",
      "aktiv": true
    }

JSON ist besonders häufig bei:

    - APIs
    - Webanwendungen
    - Konfigurationsdaten
    - Datenaustausch zwischen Diensten

Merksatz:

    JSON ist ein häufiges Datenformat für strukturierte Daten.

---

**Beispiel: XML**

XML steht für:

    Extensible Markup Language

XML ist ein textbasiertes Format zur strukturierten Darstellung von Daten.

Beispiel:

    <benutzer>
      <name>Felix</name>
      <rolle>FISI</rolle>
    </benutzer>

XML wird unter anderem genutzt bei:

    - Schnittstellen
    - Konfigurationen
    - Dokumentenformaten
    - älteren Webservices

Merksatz:

    XML ist ein strukturiertes Textformat.

---

**JSON und XML vergleichen**

| Merkmal | JSON | XML |
|---|---|---|
| Schreibweise | kompakter | ausführlicher |
| Struktur | Objekte und Arrays | Tags und Elemente |
| häufig bei | Web-APIs | ältere Schnittstellen, Dokumente |
| Lesbarkeit | meist einfach | oft länger |
| Datenaustausch | sehr verbreitet | weiterhin verbreitet |

Merksatz:

    JSON und XML sind Formate für strukturierten Datenaustausch.

---

**Zeichencodierung**

Zeichencodierung legt fest, wie Zeichen als Zahlen oder Bits gespeichert werden.

Beispiele für Zeichen:

    A
    ä
    ß
    €
    中
    😊

Damit ein Computer diese Zeichen speichern kann, braucht er eine Codierung.

Merksatz:

    Zeichencodierung übersetzt Zeichen in digitale Werte.

---

**ASCII**

ASCII ist eine ältere Zeichencodierung.

ASCII umfasst grundlegende Zeichen wie:

    - englische Buchstaben
    - Ziffern
    - Satzzeichen
    - Steuerzeichen

ASCII ist auf einfache englische Zeichen beschränkt.

Deutsche Umlaute wie:

    ä
    ö
    ü
    ß

sind in klassischem ASCII nicht enthalten.

Merksatz:

    ASCII ist einfach,
    aber für viele Sprachen zu begrenzt.

---

**Unicode**

Unicode ist ein Standard, der Zeichen vieler Schriftsysteme abbilden kann.

Dazu gehören zum Beispiel:

    - lateinische Zeichen
    - Umlaute
    - griechische Zeichen
    - kyrillische Zeichen
    - asiatische Schriftzeichen
    - Symbole
    - Emojis

Unicode beschreibt, welche Zeichen es gibt und welche Nummer sie haben.

Merksatz:

    Unicode ist ein großer Zeichensatz für viele Sprachen und Symbole.

---

**UTF-8**

UTF-8 ist eine sehr verbreitete Codierung für Unicode-Zeichen.

UTF-8 ist wichtig für:

    - Webseiten
    - Linux-Systeme
    - Konfigurationsdateien
    - APIs
    - Datenbanken
    - E-Mails

Vorteil:

    UTF-8 kann sehr viele Zeichen darstellen
    und ist mit einfachem ASCII weitgehend kompatibel.

Merksatz:

    UTF-8 ist die wichtigste moderne Zeichencodierung.

---

**Typisches Problem: falsche Zeichencodierung**

Wenn Text mit falscher Codierung interpretiert wird, entstehen fehlerhafte Zeichen.

Beispiel:

    ä
    wird falsch angezeigt als:
    Ã¤

Mögliche Ursachen:

    - falsche Zeichencodierung
    - falscher HTTP-Header
    - falsche Datenbankcodierung
    - falsche Dateicodierung
    - falsche Import- oder Exporteinstellung

Merksatz:

    Falsche Codierung führt zu Zeichenfehlern.

---

**Beispiel: Umlaute falsch dargestellt**

Fehlerbild:

    Müller
    wird angezeigt als:
    MÃ¼ller

Das deutet häufig auf ein Codierungsproblem hin.

Mögliche Ursache:

    UTF-8-Daten werden als eine andere Codierung interpretiert.

Prüfung:

    Dateicodierung prüfen.
    Datenbankcodierung prüfen.
    HTTP-Header prüfen.
    Anwendungseinstellung prüfen.

Merksatz:

    Kaputte Umlaute sind oft ein Schicht-6-Thema.

---

**Kompression**

Kompression bedeutet:

    Daten werden verkleinert.

Ziel:

    weniger Speicherplatz
    weniger Übertragungsvolumen
    schnellere Übertragung

Beispiele:

    - ZIP
    - gzip
    - Brotli
    - JPEG
    - MP3
    - H.264

Merksatz:

    Kompression reduziert Datenmenge.

---

**Verlustfreie Kompression**

Verlustfreie Kompression bedeutet:

    Die Originaldaten können vollständig wiederhergestellt werden.

Beispiele:

    - ZIP
    - gzip
    - PNG
    - FLAC

Typisch für:

    - Textdateien
    - Programme
    - Dokumente
    - Datenbanken
    - Quellcode

Merksatz:

    Verlustfrei = nach dem Entpacken exakt wiederherstellbar.

---

**Verlustbehaftete Kompression**

Verlustbehaftete Kompression bedeutet:

    Daten werden verkleinert,
    aber ein Teil der ursprünglichen Informationen geht verloren.

Beispiele:

    - JPEG
    - MP3
    - AAC
    - H.264
    - H.265

Typisch für:

    - Fotos
    - Musik
    - Videos

Merksatz:

    Verlustbehaftet = kleiner,
    aber nicht mehr exakt original.

---

**Kompression im Web**

Webserver können Inhalte komprimiert senden.

Beispiele:

    gzip
    Brotli

Das reduziert die Datenmenge bei:

    - HTML
    - CSS
    - JavaScript
    - JSON
    - XML

Der Browser entpackt die Daten wieder.

Merksatz:

    Web-Kompression spart Bandbreite.

---

**Verschlüsselung**

Verschlüsselung bedeutet:

    Daten werden so umgewandelt,
    dass sie ohne passenden Schlüssel nicht lesbar sind.

Ziele:

    - Vertraulichkeit
    - Schutz vor Mitlesen
    - Schutz sensibler Informationen

Beispiele:

    - HTTPS
    - VPN
    - E-Mail-Verschlüsselung
    - Festplattenverschlüsselung

Merksatz:

    Verschlüsselung schützt die Vertraulichkeit von Daten.

---

**Entschlüsselung**

Entschlüsselung bedeutet:

    Verschlüsselte Daten werden mit dem passenden Schlüssel wieder lesbar gemacht.

Ohne passenden Schlüssel bleiben die Daten unverständlich.

Merksatz:

    Entschlüsselung macht verschlüsselte Daten wieder lesbar.

---

**TLS**

TLS steht für:

    Transport Layer Security

TLS wird unter anderem bei HTTPS verwendet.

HTTPS bedeutet:

    HTTP über TLS

TLS schützt unter anderem:

    - Vertraulichkeit
    - Integrität
    - Authentizität des Servers

Typisches Beispiel:

    https://example.com

Merksatz:

    HTTPS = HTTP mit TLS-Schutz.

---

**TLS und OSI-Schicht 6**

TLS wird im OSI-Modell oft der Darstellungsschicht zugeordnet,
weil es Daten verschlüsselt und entschlüsselt.

In der Praxis liegt TLS zwischen Anwendung und Transport.

Beispiel:

    HTTP
    → TLS
    → TCP
    → IP

Wichtig für die Prüfung:

    TLS hat starken Bezug zu Schicht 6,
    weil Verschlüsselung und Darstellung betroffen sind.

Merksatz:

    TLS schützt Daten zwischen Anwendung und Transport.

---

**TLS-Zertifikat**

Ein TLS-Zertifikat hilft dem Client zu prüfen,
ob er mit dem richtigen Server spricht.

Ein Zertifikat enthält unter anderem:

    - Domainname
    - öffentlicher Schlüssel
    - Aussteller
    - Gültigkeitszeitraum
    - Signatur der Zertifizierungsstelle

Merksatz:

    Zertifikat hilft bei der Vertrauensprüfung des Servers.

---

**Typische Zertifikatsfehler**

Typische Fehler sind:

    - Zertifikat abgelaufen
    - Zertifikat gilt für falschen Namen
    - Zertifikat nicht vertrauenswürdig
    - Zwischenzertifikat fehlt
    - Uhrzeit am Client falsch
    - selbstsigniertes Zertifikat ohne Vertrauen
    - falsches Zertifikat auf dem Server

Merksatz:

    Zertifikatsfehler sind oft Darstellungs- oder Anwendungsschicht-Themen.

---

**Beispiel: Name passt nicht zum Zertifikat**

Fehlerbild:

    Browser warnt vor Zertifikat.

Mögliche Ursache:

    Zertifikat wurde ausgestellt für:
    server.local

Aufgerufen wurde aber:

    wiki.firma.de

Dann passt der Name nicht.

Merksatz:

    Der aufgerufene Name muss zum Zertifikat passen.

---

**Beispiel: Zertifikat abgelaufen**

Ein Zertifikat hat einen Gültigkeitszeitraum.

Wenn dieser überschritten ist, warnen Clients.

Mögliche Ursache:

    Zertifikat wurde nicht rechtzeitig erneuert.

Folge:

    Browser zeigt Warnung.
    API-Verbindungen können scheitern.
    Anwendungen verweigern Verbindung.

Merksatz:

    Zertifikate müssen gültig und aktuell sein.

---

**Datenintegrität**

Integrität bedeutet:

    Daten wurden nicht unbemerkt verändert.

TLS schützt nicht nur vor Mitlesen,
sondern auch vor unbemerkter Manipulation während der Übertragung.

Merksatz:

    Integrität = Daten bleiben unverändert.

---

**Authentizität**

Authentizität bedeutet:

    Die Gegenstelle ist die,
    für die sie sich ausgibt.

Bei HTTPS prüft der Browser:

    Passt das Zertifikat zur Domain?
    Ist das Zertifikat vertrauenswürdig?
    Ist es gültig?

Merksatz:

    Authentizität = Echtheit der Gegenstelle.

---

**Codierung und Verschlüsselung unterscheiden**

Codierung und Verschlüsselung werden oft verwechselt.

| Begriff | Ziel | Schutz? |
|---|---|---|
| Codierung | Daten in anderes Format bringen | nein |
| Kompression | Datenmenge reduzieren | nein |
| Verschlüsselung | Daten vor unbefugtem Lesen schützen | ja |

Beispiel:

    Base64 ist Codierung,
    aber keine Verschlüsselung.

Merksatz:

    Codierung ist nicht automatisch Sicherheit.

---

**Base64**

Base64 ist eine Codierung.

Sie wandelt Binärdaten in Textzeichen um.

Typische Nutzung:

    - E-Mail-Anhänge
    - Tokens
    - Zertifikatsdaten
    - API-Daten
    - Binärdaten in Textformaten

Wichtig:

    Base64 ist leicht rückgängig zu machen.
    Es ist keine Verschlüsselung.

Merksatz:

    Base64 ist Codierung,
    keine Verschlüsselung.

---

**Hashing kurz eingeordnet**

Hashing ist keine Verschlüsselung.

Ein Hash bildet Daten auf einen festen Prüfwert ab.

Beispiele:

    - SHA-256
    - SHA-512

Eigenschaften:

    - Einwegfunktion
    - gleiche Eingabe ergibt gleichen Hash
    - kleine Änderung ergibt anderen Hash
    - Originaldaten sollen nicht aus dem Hash zurückgerechnet werden

Merksatz:

    Hashing prüft Integrität,
    verschlüsselt aber nicht.

---

**Hash und Passwortspeicherung**

Passwörter sollten nicht im Klartext gespeichert werden.

Stattdessen werden Passwort-Hashes gespeichert.

Wichtig:

    Für Passwörter nutzt man spezielle Verfahren,
    zum Beispiel mit Salt und langsamen Hashfunktionen.

Beispiele:

    bcrypt
    Argon2
    PBKDF2

Merksatz:

    Passwörter nicht verschlüsseln,
    sondern sicher hashen.

---

**Datenumwandlung**

Schicht 6 kann Daten zwischen Formaten umwandeln.

Beispiele:

    - Textcodierung ändern
    - Bildformat konvertieren
    - Dateiformat umwandeln
    - Daten serialisieren
    - Daten deserialisieren
    - Zahlenformat anpassen

Merksatz:

    Datenumwandlung sorgt dafür,
    dass Empfänger Daten verstehen.

---

**Serialisierung**

Serialisierung bedeutet:

    Datenstrukturen werden in ein übertragbares oder speicherbares Format umgewandelt.

Beispiel:

    Objekt in Anwendung
    → JSON
    → Übertragung über Netzwerk

Empfänger:

    JSON
    → Objekt in Anwendung

Merksatz:

    Serialisierung macht Daten übertragbar.

---

**Deserialisierung**

Deserialisierung ist die Rückumwandlung.

Beispiel:

    JSON-Text wird in ein Objekt der Anwendung umgewandelt.

Wichtig:

    Unsichere Deserialisierung kann Sicherheitsrisiken erzeugen.

Merksatz:

    Deserialisierung macht übertragene Daten wieder nutzbar.

---

**Endianness kurz erklärt**

Endianness beschreibt die Reihenfolge von Bytes bei mehrbyteigen Zahlen.

Begriffe:

    Big Endian
    Little Endian

In Netzwerken ist oft die sogenannte Netzwerk-Byte-Reihenfolge wichtig.

Für AP1/AP2 reicht meistens:

    Unterschiedliche Systeme können Zahlen intern unterschiedlich darstellen.

Merksatz:

    Darstellung betrifft auch die interne Reihenfolge von Daten.

---

**Schicht 6 und Webanwendungen**

Bei Webanwendungen sieht man Schicht-6-Themen häufig bei:

    - TLS
    - Zertifikaten
    - Zeichencodierung
    - JSON
    - XML
    - gzip-Kompression
    - Datenformaten
    - Dateiformaten
    - MIME-Typen

Merksatz:

    Webprobleme können Darstellungsprobleme sein.

---

**MIME-Type**

Ein MIME-Type beschreibt den Medientyp von Daten.

Beispiele:

| MIME-Type | Bedeutung |
|---|---|
| text/html | HTML-Dokument |
| application/json | JSON-Daten |
| image/png | PNG-Bild |
| image/jpeg | JPEG-Bild |
| text/css | CSS-Datei |
| application/pdf | PDF-Dokument |

Der MIME-Type hilft dem Client,
Daten richtig zu interpretieren.

Merksatz:

    MIME-Type sagt,
    was für Daten übertragen werden.

---

**Fehlerbild: Datei wird falsch angezeigt**

Mögliche Ursachen:

    - falscher MIME-Type
    - falsche Dateiendung
    - falsches Dateiformat
    - beschädigte Datei
    - fehlende Anwendung zum Öffnen
    - falsche Codierung

Beispiel:

    JSON wird als Text angezeigt,
    statt als application/json verarbeitet zu werden.

Merksatz:

    Falsche Darstellung kann am Format oder MIME-Type liegen.

---

**Fehlerbild: Webseite zeigt komische Zeichen**

Mögliche Ursachen:

    - falsche Zeichencodierung
    - fehlende UTF-8-Angabe
    - Datenbank speichert andere Codierung
    - Import falsch durchgeführt
    - Datei in falscher Codierung gespeichert

Merksatz:

    Komische Zeichen sind oft Codierungsprobleme.

---

**Fehlerbild: HTTPS-Warnung**

Mögliche Ursachen:

    - Zertifikat abgelaufen
    - Domainname passt nicht
    - Zertifizierungsstelle nicht vertraut
    - Zertifikatskette unvollständig
    - Uhrzeit am Client falsch
    - selbstsigniertes Zertifikat

Merksatz:

    HTTPS-Warnungen oft durch Zertifikatsprobleme.

---

**Fehlerbild: API versteht Daten nicht**

Eine API kann Daten ablehnen, wenn Format oder Codierung nicht stimmen.

Mögliche Ursachen:

    - ungültiges JSON
    - falscher Content-Type
    - falsche Zeichencodierung
    - fehlende Pflichtfelder
    - falsche Datentypen
    - falsches Datumsformat

Merksatz:

    API-Fehler können Darstellungs- oder Formatprobleme sein.

---

**Fehlerbild: Komprimierte Daten können nicht gelesen werden**

Mögliche Ursachen:

    - falsches Kompressionsverfahren
    - beschädigte Datei
    - falsche Dateiendung
    - Empfänger unterstützt Verfahren nicht
    - Header gibt falsche Kompression an

Merksatz:

    Kompression muss vom Empfänger unterstützt werden.

---

**Darstellungsschicht und Sicherheit**

Viele Sicherheitsfunktionen haben Bezug zur Darstellungsschicht.

Beispiele:

    - TLS-Verschlüsselung
    - Zertifikate
    - sichere Codierung
    - sichere Deserialisierung
    - Integritätsprüfung
    - Schutz vor Datenmanipulation

Wichtig:

    Falsche Darstellung oder unsichere Verarbeitung kann Sicherheitslücken erzeugen.

Merksatz:

    Schicht 6 ist auch für Sicherheit wichtig.

---

**Typische Angriffsbezüge**

Darstellung und Datenverarbeitung können Angriffsflächen sein.

Beispiele:

    - unsichere Deserialisierung
    - fehlerhafte Parser
    - manipulierte Dateiformate
    - falsche Zertifikatsprüfung
    - schwache Verschlüsselung
    - XSS durch falsche Ausgabe-Codierung

Merksatz:

    Daten müssen sicher interpretiert und verarbeitet werden.

---

**Was Schicht 6 nicht macht**

Schicht 6 macht nicht:

    - Bits über Kabel übertragen
    - MAC-Adressen verwenden
    - IP-Pakete routen
    - TCP-Verbindungen aufbauen
    - Ports bereitstellen
    - Sitzungen verwalten
    - konkrete Netzwerkdienste vollständig bereitstellen

Diese Aufgaben liegen auf anderen Schichten.

Merksatz:

    Schicht 6 stellt Daten dar,
    transportiert sie aber nicht selbst.

---

**Einordnung in das OSI-Modell**

| Thema | Schicht |
|---|---:|
| Kabel, Signal | 1 |
| MAC-Adresse, Frame | 2 |
| IP-Adresse, Routing | 3 |
| TCP, UDP, Port | 4 |
| Sitzung, Session-ID | 5 |
| UTF-8, JSON, TLS, Kompression | 6 |
| HTTP, DNS, SMTP, Anwendung | 7 |

Merksatz:

    Codierung, Kompression und Verschlüsselung = Schicht 6.

---

**Schicht 6 und Schicht 7 unterscheiden**

| Thema | eher Schicht |
|---|---:|
| HTTP-Anfrage | 7 |
| DNS-Abfrage | 7 |
| JSON-Datenformat | 6 / 7-Bezug |
| UTF-8-Codierung | 6 |
| TLS-Verschlüsselung | 6 |
| Zertifikat | 6 / 7-Bezug |
| gzip-Kompression | 6 |
| Anwendung verarbeitet Formular | 7 |

Merksatz:

    Schicht 6 beschreibt die Form der Daten.
    Schicht 7 beschreibt den Dienst.

---

**Typische IHK-Fragen**

In AP1 und AP2 kann zum Beispiel gefragt werden:

    - Welche Aufgabe hat die Darstellungsschicht?
    - Was bedeutet Zeichencodierung?
    - Was ist UTF-8?
    - Was ist der Unterschied zwischen Codierung und Verschlüsselung?
    - Was ist Kompression?
    - Was ist der Unterschied zwischen verlustfrei und verlustbehaftet?
    - Was macht TLS?
    - Warum gibt es Zertifikatswarnungen?
    - Was ist ein MIME-Type?
    - Warum kann eine Webseite falsche Zeichen anzeigen?
    - Warum ist Base64 keine Verschlüsselung?
    - Was ist Serialisierung?
    - Warum können Formatfehler bei APIs auftreten?

---

**Typische Prüfungsfallen**

    Schicht 6 heißt Darstellungsschicht.

    Darstellung bedeutet Datenrepräsentation,
    nicht nur Bildschirmdarstellung.

    UTF-8 ist eine Zeichencodierung.

    ASCII ist begrenzt.

    Unicode ist ein Zeichensatzstandard.

    JSON und XML sind Datenformate.

    Kompression ist keine Verschlüsselung.

    Codierung ist keine Verschlüsselung.

    Base64 ist keine Verschlüsselung.

    Hashing ist keine Verschlüsselung.

    TLS verschlüsselt und schützt Daten.

    HTTPS nutzt TLS.

    Zertifikat muss gültig und passend sein.

    MIME-Type hilft beim richtigen Interpretieren von Daten.

    Falsche Codierung führt zu Zeichenfehlern.

    Schicht 6 ist in der Praxis oft mit Schicht 7 verbunden.

---

**Wichtige Begriffe kurz erklärt**

| Begriff | Kurze Erklärung |
|---|---|
| Darstellungsschicht | OSI-Schicht 6 |
| Datenformat | Struktur und Aufbau von Daten |
| Zeichencodierung | Zuordnung von Zeichen zu digitalen Werten |
| ASCII | ältere einfache Zeichencodierung |
| Unicode | Standard für viele Zeichen weltweit |
| UTF-8 | verbreitete Unicode-Codierung |
| Kompression | Verkleinerung von Daten |
| verlustfrei | Original vollständig wiederherstellbar |
| verlustbehaftet | Datenverlust zugunsten kleinerer Größe |
| Verschlüsselung | Daten für Unbefugte unlesbar machen |
| Entschlüsselung | verschlüsselte Daten wieder lesbar machen |
| TLS | Verschlüsselung und Schutz zwischen Anwendung und Transport |
| Zertifikat | Vertrauensnachweis für Serveridentität |
| MIME-Type | Angabe des Medientyps von Daten |
| Base64 | Codierung von Binärdaten als Text |
| Hashing | Einweg-Prüfwertbildung |
| Serialisierung | Umwandlung in übertragbares Format |
| Deserialisierung | Rückumwandlung aus übertragbarem Format |

---

**IHK-sichere Kurzformulierung**

Die Darstellungsschicht ist Schicht 6 des OSI-Modells. Sie sorgt dafür, dass Daten in einer Form vorliegen, die vom Empfänger korrekt interpretiert werden kann. Dazu gehören Datenformate, Zeichencodierung, Kompression, Verschlüsselung und Datenumwandlung. Beispiele sind UTF-8 für Zeichencodierung, JSON oder XML als Datenformate, gzip als Kompression und TLS für verschlüsselte Kommunikation. Codierung und Kompression sind nicht dasselbe wie Verschlüsselung. In modernen Netzwerken sind Aufgaben der Darstellungsschicht oft eng mit der Anwendungsschicht verbunden.

---

**Merksätze**

    Schicht 6 = Darstellungsschicht.

    Schicht 6 = Daten darstellen und umwandeln.

    Darstellung bedeutet Datenrepräsentation.

    Datenformat legt Aufbau von Daten fest.

    Zeichencodierung übersetzt Zeichen in digitale Werte.

    ASCII ist begrenzt.

    Unicode umfasst viele Zeichen.

    UTF-8 ist sehr verbreitet.

    Falsche Codierung erzeugt Zeichenfehler.

    Kompression reduziert Datenmenge.

    Verlustfrei = exakt wiederherstellbar.

    Verlustbehaftet = kleiner,
    aber nicht exakt original.

    Verschlüsselung schützt Vertraulichkeit.

    Entschlüsselung macht Daten wieder lesbar.

    TLS schützt Daten bei HTTPS.

    Zertifikat prüft Serververtrauen.

    Codierung ist keine Verschlüsselung.

    Base64 ist keine Verschlüsselung.

    Hashing ist keine Verschlüsselung.

    MIME-Type beschreibt den Datentyp.

    JSON und XML sind Datenformate.

    Serialisierung macht Daten übertragbar.

    Schicht 6 ist oft eng mit Schicht 7 verbunden.

# 9.2 TLS, Zertifikate und Verschlüsselung

TLS gehört zu den wichtigsten Sicherheitsgrundlagen moderner Netzwerke.

TLS steht für:

    Transport Layer Security

TLS wird genutzt, um Daten bei der Übertragung zu schützen.

Das bekannteste Beispiel ist:

    HTTPS

HTTPS bedeutet:

    HTTP über TLS

Merksatz:

    TLS schützt Daten zwischen Client und Server.

---

**Warum braucht man TLS?**

Ohne Verschlüsselung können Daten auf dem Übertragungsweg mitgelesen oder manipuliert werden.

Beispiele für sensible Daten:

    - Passwörter
    - Session-Cookies
    - Kundendaten
    - Zahlungsdaten
    - persönliche Daten
    - API-Tokens
    - interne Verwaltungsdaten

TLS schützt diese Daten während der Übertragung.

Merksatz:

    TLS schützt Daten unterwegs.

---

**Welche Schutzziele hat TLS?**

TLS schützt vor allem drei Dinge:

| Schutzziel | Bedeutung |
|---|---|
| Vertraulichkeit | Daten können nicht einfach mitgelesen werden |
| Integrität | Daten können nicht unbemerkt verändert werden |
| Authentizität | Gegenstelle kann überprüft werden |

Merksatz:

    TLS schützt Vertraulichkeit,
    Integrität
    und Authentizität.

---

**Vertraulichkeit**

Vertraulichkeit bedeutet:

    Nur berechtigte Kommunikationspartner können die Daten lesen.

Beispiel:

    Ein Benutzer meldet sich auf einer Webseite an.

Ohne TLS könnten Zugangsdaten im Netzwerk mitgelesen werden.

Mit TLS werden die Daten verschlüsselt übertragen.

Merksatz:

    Vertraulichkeit = Schutz vor Mitlesen.

---

**Integrität**

Integrität bedeutet:

    Daten werden nicht unbemerkt verändert.

Beispiel:

    Ein Angreifer verändert unterwegs eine Antwort des Servers.

TLS soll solche Manipulationen erkennbar machen.

Wenn die Daten verändert wurden, wird die Verbindung als ungültig erkannt.

Merksatz:

    Integrität = Schutz vor unbemerkter Veränderung.

---

**Authentizität**

Authentizität bedeutet:

    Der Kommunikationspartner ist wirklich der,
    für den er sich ausgibt.

Beispiel:

    Browser verbindet sich mit:
    https://bank.example

Der Browser prüft über das Zertifikat:

    Passt das Zertifikat zum Namen?
    Ist es gültig?
    Ist es vertrauenswürdig?

Merksatz:

    Authentizität = Echtheit der Gegenstelle.

---

**TLS und HTTPS**

HTTP ist unverschlüsselt.

HTTPS ist HTTP über TLS.

Vergleich:

| Protokoll | Verschlüsselung | typischer Port |
|---|---|---:|
| HTTP | nein | TCP 80 |
| HTTPS | ja, TLS | TCP 443 |

Bei HTTPS werden HTTP-Daten innerhalb einer TLS-geschützten Verbindung übertragen.

Merksatz:

    HTTPS = HTTP + TLS.

---

**TLS im OSI-Modell**

TLS wird oft der Darstellungsschicht zugeordnet.

Warum?

    TLS verschlüsselt,
    entschlüsselt
    und schützt die Darstellung der übertragenen Daten.

In der Praxis liegt TLS zwischen Anwendung und Transport.

Vereinfacht:

    HTTP
    TLS
    TCP
    IP
    Ethernet

Merksatz:

    TLS liegt praktisch zwischen Anwendung und TCP.

---

**TLS ist nicht TCP**

TLS und TCP dürfen nicht verwechselt werden.

| Thema | Einordnung |
|---|---|
| TCP | Transportprotokoll auf Schicht 4 |
| TLS | Verschlüsselungs- und Schutzschicht |
| HTTPS | HTTP über TLS |
| Port 443 | typischer HTTPS-Port |

TCP baut die Transportverbindung auf.

TLS schützt die darüber übertragenen Daten.

Merksatz:

    TCP transportiert.
    TLS schützt.

---

**TLS ist nicht HTTPS**

TLS ist die Schutzschicht.

HTTPS ist ein Anwendungsprotokoll, das TLS nutzt.

Beispiel:

    HTTPS = HTTP über TLS

TLS kann aber auch bei anderen Protokollen verwendet werden.

Beispiele:

    - SMTPS
    - IMAPS
    - POP3S
    - LDAPS
    - FTPS

Merksatz:

    HTTPS nutzt TLS,
    aber TLS ist nicht nur HTTPS.

---

**Zertifikat**

Ein Zertifikat ist ein digitaler Nachweis.

Es hilft dem Client zu prüfen:

    Spreche ich wirklich mit dem richtigen Server?

Ein TLS-Zertifikat enthält unter anderem:

    - Domainname
    - öffentlicher Schlüssel
    - Aussteller
    - Gültigkeitszeitraum
    - Signatur
    - alternative Namen

Merksatz:

    Zertifikat = digitaler Vertrauensnachweis.

---

**Domainname im Zertifikat**

Ein Zertifikat muss zum aufgerufenen Namen passen.

Beispiel:

    Aufgerufen:
    wiki.firma.de

Das Zertifikat muss für diesen Namen gültig sein.

Wenn das Zertifikat nur für einen anderen Namen gilt, warnt der Browser.

Beispiel Fehler:

    Zertifikat gilt für:
    server.local

    Aufgerufen wird:
    wiki.firma.de

Merksatz:

    Der Name im Browser muss zum Zertifikat passen.

---

**Subject Alternative Name**

Moderne Zertifikate nutzen häufig sogenannte alternative Namen.

Diese heißen:

    Subject Alternative Name

Kurz:

    SAN

Dort stehen die Namen, für die das Zertifikat gültig ist.

Beispiele:

    wiki.firma.de
    cloud.firma.de
    www.firma.de

Merksatz:

    SAN enthält gültige Namen eines Zertifikats.

---

**Wildcard-Zertifikat**

Ein Wildcard-Zertifikat gilt für mehrere Subdomains einer Domain.

Beispiel:

    *.firma.de

Das kann gelten für:

    wiki.firma.de
    cloud.firma.de
    mail.firma.de

Aber normalerweise nicht automatisch für:

    firma.de
    intern.wiki.firma.de

Merksatz:

    Wildcard-Zertifikat gilt für viele Subdomains einer Ebene.

---

**Zertifizierungsstelle**

Eine Zertifizierungsstelle wird auch genannt:

    Certificate Authority

Kurz:

    CA

Die CA stellt Zertifikate aus und signiert sie.

Der Client vertraut dem Zertifikat,
wenn er der ausstellenden CA vertraut.

Merksatz:

    CA = vertrauenswürdige Stelle für Zertifikate.

---

**Zertifikatskette**

Ein Serverzertifikat steht meistens nicht allein.

Es gehört zu einer Zertifikatskette.

Typische Bestandteile:

    - Serverzertifikat
    - Zwischenzertifikat
    - Root-Zertifikat

Der Client prüft die Kette bis zu einer vertrauenswürdigen Root-CA.

Merksatz:

    Zertifikatskette verbindet Serverzertifikat mit vertrauenswürdiger CA.

---

**Root-Zertifikat**

Ein Root-Zertifikat ist ein besonders vertrauenswürdiges Zertifikat einer CA.

Betriebssysteme und Browser bringen viele Root-Zertifikate bereits mit.

Wenn ein Root-Zertifikat vertraut wird,
können daraus abgeleitete Zertifikatsketten ebenfalls vertraut werden.

Merksatz:

    Root-Zertifikat = Vertrauensanker.

---

**Zwischenzertifikat**

Zwischenzertifikate liegen zwischen Root-CA und Serverzertifikat.

Sie werden auch genannt:

    Intermediate Certificates

Wenn ein Zwischenzertifikat fehlt,
kann die Vertrauenskette unvollständig sein.

Folge:

    Browser oder Client zeigt Zertifikatswarnung.

Merksatz:

    Fehlendes Zwischenzertifikat kann TLS-Warnungen verursachen.

---

**Selbstsigniertes Zertifikat**

Ein selbstsigniertes Zertifikat wurde nicht von einer allgemein vertrauenswürdigen CA ausgestellt.

Es kann technisch verschlüsseln,
aber der Client vertraut ihm normalerweise nicht automatisch.

Typische Nutzung:

    - Testumgebung
    - internes Labor
    - Homelab
    - Entwicklung

Für produktive öffentliche Dienste nutzt man normalerweise ein Zertifikat einer vertrauenswürdigen CA.

Merksatz:

    Selbstsigniert kann verschlüsseln,
    ist aber nicht automatisch vertrauenswürdig.

---

**Gültigkeitszeitraum**

Zertifikate sind zeitlich begrenzt gültig.

Ein Zertifikat hat:

    gültig ab
    gültig bis

Wenn ein Zertifikat abgelaufen ist, zeigen Clients Warnungen.

Auch eine falsche Systemzeit kann Zertifikatsfehler auslösen.

Merksatz:

    Zertifikat und Systemzeit müssen gültig sein.

---

**Öffentlicher und privater Schlüssel**

TLS verwendet asymmetrische Kryptografie.

Dabei gibt es:

    öffentlichen Schlüssel
    privaten Schlüssel

Der öffentliche Schlüssel steckt im Zertifikat.

Der private Schlüssel bleibt geheim auf dem Server.

Wichtig:

    Der private Schlüssel darf nicht weitergegeben werden.

Merksatz:

    Öffentlicher Schlüssel darf bekannt sein.
    Privater Schlüssel muss geheim bleiben.

---

**Warum darf der private Schlüssel nicht verloren gehen?**

Wenn ein Angreifer den privaten Schlüssel besitzt,
kann er sich unter Umständen als der Server ausgeben
oder geschützte Kommunikation gefährden.

Deshalb muss der private Schlüssel geschützt werden.

Schutzmaßnahmen:

    - Dateirechte
    - sichere Speicherung
    - Zugriffsbeschränkung
    - keine Weitergabe
    - regelmäßige Erneuerung bei Verdacht

Merksatz:

    Privater Schlüssel ist kritisch.

---

**TLS-Handshake**

Beim TLS-Handshake einigen sich Client und Server auf die geschützte Kommunikation.

Vereinfacht passiert:

    1. Client kontaktiert Server.
    2. Server sendet Zertifikat.
    3. Client prüft Zertifikat.
    4. Beide einigen sich auf Verschlüsselungsverfahren.
    5. Sitzungsschlüssel werden gebildet.
    6. Danach werden Daten verschlüsselt übertragen.

Merksatz:

    TLS-Handshake bereitet die sichere Verbindung vor.

---

**TCP-Handshake und TLS-Handshake unterscheiden**

Bei HTTPS passieren mehrere Schritte.

Vereinfacht:

    1. TCP-Verbindung wird aufgebaut.
    2. TLS-Handshake wird durchgeführt.
    3. HTTP-Daten werden verschlüsselt übertragen.

Unterschied:

| Vorgang | Zweck |
|---|---|
| TCP-Handshake | Transportverbindung aufbauen |
| TLS-Handshake | sichere Verschlüsselung aushandeln |
| HTTP-Anfrage | Anwendungskommunikation |

Merksatz:

    Erst TCP,
    dann TLS,
    dann HTTP.

---

**Symmetrische und asymmetrische Verschlüsselung**

TLS nutzt Konzepte aus beiden Bereichen.

Asymmetrisch:

    öffentlicher und privater Schlüssel

Symmetrisch:

    gemeinsamer Sitzungsschlüssel

Warum?

    Asymmetrische Verfahren helfen beim sicheren Aushandeln.
    Symmetrische Verfahren sind schneller für die Datenübertragung.

Merksatz:

    Asymmetrisch für Aushandlung,
    symmetrisch für schnelle Datenübertragung.

---

**Sitzungsschlüssel**

Ein Sitzungsschlüssel ist ein temporärer Schlüssel für eine konkrete Verbindung.

Er wird während des TLS-Handshakes ausgehandelt.

Danach werden die Nutzdaten mit diesem Sitzungsschlüssel verschlüsselt.

Merksatz:

    Sitzungsschlüssel schützt die konkrete TLS-Verbindung.

---

**TLS-Versionen**

TLS hat verschiedene Versionen.

Wichtige Versionen:

    TLS 1.2
    TLS 1.3

Ältere Versionen wie SSL oder TLS 1.0 und TLS 1.1 gelten heute als veraltet.

Für moderne Systeme gilt:

    aktuelle TLS-Versionen verwenden
    alte unsichere Verfahren deaktivieren

Merksatz:

    SSL ist veraltet.
    TLS 1.2 und TLS 1.3 sind heute wichtig.

---

**SSL und TLS**

SSL steht für:

    Secure Sockets Layer

SSL ist der ältere Vorgänger von TLS.

Im Alltag sagen manche noch „SSL-Zertifikat“.

Technisch korrekt ist heute meistens:

    TLS-Zertifikat

oder einfach:

    Zertifikat für HTTPS

Merksatz:

    SSL ist alt,
    TLS ist der moderne Begriff.

---

**Cipher Suite**

Eine Cipher Suite beschreibt,
welche kryptografischen Verfahren für eine TLS-Verbindung genutzt werden.

Dazu gehören zum Beispiel:

    - Schlüsselaustausch
    - Verschlüsselung
    - Integritätsschutz

Moderne Systeme sollten sichere Cipher Suites verwenden.

Merksatz:

    Cipher Suite = Kombination kryptografischer Verfahren.

---

**Perfect Forward Secrecy**

Perfect Forward Secrecy bedeutet:

    Selbst wenn später ein langfristiger Schlüssel kompromittiert wird,
    sollen alte aufgezeichnete Verbindungen nicht nachträglich entschlüsselt werden können.

Dafür werden kurzlebige Sitzungsschlüssel verwendet.

Für AP1/AP2 reicht meistens:

    Moderne TLS-Konfigurationen sollen alte Verbindungen besser schützen.

Merksatz:

    Forward Secrecy schützt alte Sitzungen besser.

---

**Zertifikatsprüfung durch den Client**

Ein Client prüft bei TLS unter anderem:

    - Ist das Zertifikat noch gültig?
    - Passt der Name zur aufgerufenen Adresse?
    - Ist die Zertifikatskette vollständig?
    - Ist die ausstellende CA vertrauenswürdig?
    - Wurde das Zertifikat widerrufen?
    - Ist die Signatur korrekt?

Wenn eine Prüfung fehlschlägt, erscheint eine Warnung oder die Verbindung wird blockiert.

Merksatz:

    TLS-Vertrauen entsteht durch mehrere Prüfungen.

---

**Zertifikatswiderruf**

Ein Zertifikat kann vor Ablauf ungültig werden.

Gründe:

    - privater Schlüssel kompromittiert
    - Zertifikat falsch ausgestellt
    - Domain nicht mehr berechtigt
    - Sicherheitsvorfall

Möglichkeiten zur Prüfung:

    - CRL
    - OCSP

Merksatz:

    Zertifikate können vor Ablauf widerrufen werden.

---

**Häufige Zertifikatsfehler**

Typische Zertifikatsfehler sind:

    - Zertifikat abgelaufen
    - Zertifikat noch nicht gültig
    - falscher Domainname
    - Zertifikat nicht vertrauenswürdig
    - Zwischenzertifikat fehlt
    - selbstsigniertes Zertifikat
    - Zertifikat wurde widerrufen
    - Systemzeit falsch
    - falsches Zertifikat auf dem Server

Merksatz:

    Zertifikatsfehler sind häufig Namens-, Zeit- oder Vertrauensprobleme.

---

**Fehlerbild: Zertifikat abgelaufen**

Symptom:

    Browser meldet abgelaufenes Zertifikat.

Mögliche Ursachen:

    - Zertifikat nicht erneuert
    - automatische Erneuerung fehlgeschlagen
    - falsches Zertifikat aktiv
    - Server lädt alte Zertifikatsdatei
    - Systemzeit falsch

Lösungsidee:

    Zertifikat erneuern,
    Dienst neu laden,
    Zertifikatskette prüfen.

Merksatz:

    Abgelaufenes Zertifikat muss erneuert werden.

---

**Fehlerbild: Name passt nicht**

Symptom:

    Browser meldet,
    dass das Zertifikat nicht zum Namen passt.

Beispiel:

    Aufruf:
    https://wiki.firma.de

Zertifikat gültig für:

    cloud.firma.de

Mögliche Ursachen:

    - falsches Zertifikat installiert
    - falscher virtueller Host
    - DNS zeigt auf falschen Server
    - Reverse Proxy liefert falsches Zertifikat
    - SAN-Eintrag fehlt

Merksatz:

    Aufgerufener Name muss im Zertifikat enthalten sein.

---

**Fehlerbild: Zertifikat nicht vertrauenswürdig**

Symptom:

    Client vertraut dem Zertifikat nicht.

Mögliche Ursachen:

    - selbstsigniertes Zertifikat
    - interne CA nicht installiert
    - Zertifikatskette unvollständig
    - unbekannte CA
    - manipuliertes Zertifikat
    - Proxy mit eigener CA

Merksatz:

    Client muss der ausstellenden CA vertrauen.

---

**Fehlerbild: Zwischenzertifikat fehlt**

Symptom:

    Manche Clients akzeptieren Zertifikat,
    andere zeigen Warnungen.

Mögliche Ursache:

    Server liefert die Zertifikatskette nicht vollständig aus.

Besonders ältere oder strengere Clients können dann nicht bis zur Root-CA prüfen.

Merksatz:

    Server muss vollständige Zertifikatskette liefern.

---

**Fehlerbild: Falsche Systemzeit**

Symptom:

    Viele Zertifikate wirken plötzlich ungültig.

Mögliche Ursache:

    Datum oder Uhrzeit des Clients ist falsch.

Warum?

    Zertifikate haben einen Gültigkeitszeitraum.

Wenn die Systemzeit falsch ist,
kann ein gültiges Zertifikat als ungültig bewertet werden.

Merksatz:

    Falsche Uhrzeit kann TLS-Probleme verursachen.

---

**Fehlerbild: TLS-Version zu alt**

Symptom:

    Verbindung zu einem Dienst schlägt fehl,
    obwohl IP und Port erreichbar sind.

Mögliche Ursache:

    Client oder Server unterstützt nur veraltete TLS-Versionen.

Beispiele:

    TLS 1.0
    TLS 1.1
    alte SSL-Versionen

Moderne Systeme blockieren solche Verbindungen oft.

Merksatz:

    Alte TLS-Versionen können Verbindungen verhindern.

---

**Fehlerbild: Cipher Suite passt nicht**

Symptom:

    TLS-Verbindung kommt nicht zustande.

Mögliche Ursache:

    Client und Server finden kein gemeinsames sicheres Verfahren.

Das kann passieren bei:

    - alten Clients
    - alten Servern
    - zu strenger TLS-Konfiguration
    - veralteten Verschlüsselungsverfahren
    - fehlenden Updates

Merksatz:

    Client und Server brauchen gemeinsame TLS-Verfahren.

---

**Fehlerbild: HTTPS geht intern, extern nicht**

Mögliche Ursachen:

    - DNS intern und extern unterschiedlich
    - Reverse Proxy liefert extern anderes Zertifikat
    - Portweiterleitung falsch
    - Firewall blockiert TCP 443
    - Zertifikat gilt nicht für externen Namen
    - CGNAT oder Providerproblem
    - interne CA wird extern nicht vertraut

Merksatz:

    HTTPS-Probleme können DNS, TLS, Firewall und NAT betreffen.

---

**Fehlerbild: HTTPS geht, aber Browser warnt**

Wenn eine Webseite erreichbar ist, aber der Browser warnt,
ist meist der Transportweg bis zum Server möglich.

Das Problem liegt dann häufig bei:

    - Zertifikat
    - Name
    - Vertrauenskette
    - Gültigkeit
    - TLS-Konfiguration

Merksatz:

    Erreichbar mit Warnung bedeutet oft:
    TLS-Vertrauen stimmt nicht.

---

**Verschlüsselung ist nicht gleich Authentifizierung**

Verschlüsselung bedeutet:

    Daten sind nicht lesbar für Unbefugte.

Authentifizierung bedeutet:

    Identität wird geprüft.

TLS kann beides unterstützen:

    Verschlüsselung der Daten
    Prüfung des Serverzertifikats

Aber:

    Ein verschlüsselter Kanal allein sagt nicht,
    dass der Benutzer berechtigt ist.

Merksatz:

    Verschlüsselung schützt Daten.
    Authentifizierung prüft Identität.

---

**Serverauthentifizierung**

Bei HTTPS authentifiziert sich normalerweise der Server gegenüber dem Client.

Der Browser prüft das Serverzertifikat.

Ziel:

    Der Client soll wissen,
    dass er mit dem richtigen Server spricht.

Merksatz:

    Serverzertifikat bestätigt die Serveridentität.

---

**Clientzertifikat**

TLS kann auch Clientzertifikate verwenden.

Dann authentifiziert sich nicht nur der Server,
sondern auch der Client mit einem Zertifikat.

Das nennt man häufig:

    mTLS

mTLS steht für:

    mutual TLS

Typische Nutzung:

    - interne APIs
    - Zero-Trust-Umgebungen
    - besonders geschützte Systeme
    - Maschinen-zu-Maschinen-Kommunikation

Merksatz:

    mTLS = beide Seiten weisen sich mit Zertifikat aus.

---

**TLS und E-Mail-Protokolle**

Auch E-Mail-Protokolle können TLS nutzen.

Beispiele:

| Protokoll | unverschlüsselt | verschlüsselte Variante |
|---|---:|---:|
| SMTP | TCP 25 | STARTTLS oder SMTPS |
| IMAP | TCP 143 | IMAPS TCP 993 |
| POP3 | TCP 110 | POP3S TCP 995 |

Merksatz:

    Viele klassische Protokolle haben TLS-geschützte Varianten.

---

**STARTTLS**

STARTTLS bedeutet:

    Eine Verbindung beginnt zunächst unverschlüsselt
    und wird dann auf TLS umgestellt.

Typisch bei:

    SMTP
    IMAP
    POP3

Wichtig:

    STARTTLS ist nicht dasselbe wie von Anfang an verschlüsselte Verbindung auf eigenem TLS-Port.

Merksatz:

    STARTTLS schaltet innerhalb einer bestehenden Verbindung auf TLS um.

---

**Ende-zu-Ende-Verschlüsselung und Transportverschlüsselung**

TLS ist normalerweise Transportverschlüsselung.

Das bedeutet:

    Die Verbindung zwischen zwei Kommunikationspunkten ist geschützt.

Ende-zu-Ende-Verschlüsselung bedeutet:

    Daten bleiben vom Absender bis zum endgültigen Empfänger geschützt,
    auch wenn Zwischenserver beteiligt sind.

Beispiel:

    TLS schützt Verbindung zum Mailserver.
    E-Mail-Ende-zu-Ende-Verschlüsselung schützt den Inhalt bis zum Empfänger.

Merksatz:

    TLS ist meist Transportverschlüsselung,
    nicht automatisch Ende-zu-Ende-Verschlüsselung.

---

**TLS und Reverse Proxy**

Ein Reverse Proxy kann TLS beenden.

Das nennt man:

    TLS Termination

Ablauf:

    Client → HTTPS → Reverse Proxy
    Reverse Proxy → HTTP oder HTTPS → interner Server

Vorteile:

    - zentrale Zertifikatsverwaltung
    - einheitliche TLS-Konfiguration
    - Lastverteilung
    - Schutz interner Dienste

Risiko:

    Interne Strecke muss ebenfalls passend geschützt werden,
    wenn dort sensible Daten laufen.

Merksatz:

    TLS Termination beendet TLS am Reverse Proxy.

---

**TLS Passthrough**

TLS Passthrough bedeutet:

    Der Reverse Proxy leitet die TLS-Verbindung weiter,
    ohne sie selbst zu entschlüsseln.

Der interne Server verarbeitet dann TLS selbst.

Vorteil:

    TLS bleibt bis zum Zielserver bestehen.

Nachteil:

    Proxy kann Inhalte nicht so einfach auswerten oder steuern.

Merksatz:

    TLS Passthrough leitet verschlüsselt weiter.

---

**HSTS**

HSTS steht für:

    HTTP Strict Transport Security

HSTS teilt dem Browser mit:

    Diese Webseite soll nur noch über HTTPS aufgerufen werden.

Dadurch wird verhindert,
dass der Browser versehentlich unverschlüsselt über HTTP verbindet.

Merksatz:

    HSTS erzwingt HTTPS im Browser.

---

**Mixed Content**

Mixed Content bedeutet:

    Eine HTTPS-Seite lädt unsichere HTTP-Inhalte nach.

Beispiel:

    Seite selbst:
    https://wiki.firma.de

    eingebundenes Bild oder Script:
    http://example.com/script.js

Das kann Sicherheitswarnungen verursachen oder blockiert werden.

Merksatz:

    HTTPS-Seite sollte keine HTTP-Inhalte nachladen.

---

**TLS und Performance**

TLS braucht Rechenleistung,
besonders beim Verbindungsaufbau.

Moderne TLS-Versionen sind aber effizient.

Möglichkeiten zur Optimierung:

    - TLS 1.3
    - Session Resumption
    - moderne Cipher Suites
    - HTTP/2 oder HTTP/3
    - saubere Zertifikatskette

Merksatz:

    TLS kostet etwas Aufwand,
    ist aber für Sicherheit unverzichtbar.

---

**TLS-Fehlersuche systematisch**

Eine sinnvolle Reihenfolge:

    1. IP-Erreichbarkeit prüfen
    2. TCP-Port 443 prüfen
    3. Zertifikat prüfen
    4. Domainname prüfen
    5. Zertifikatskette prüfen
    6. Gültigkeitszeitraum prüfen
    7. Systemzeit prüfen
    8. TLS-Version und Cipher Suites prüfen
    9. Reverse Proxy prüfen
    10. Anwendungslogs prüfen

Merksatz:

    Erst Verbindung,
    dann TLS-Vertrauen,
    dann Anwendung.

---

**TLS oder DNS?**

Viele TLS-Fehler hängen mit DNS zusammen.

Beispiel:

    DNS zeigt auf falschen Server.

Folge:

    Man erreicht einen Server,
    aber dieser liefert ein Zertifikat für eine andere Domain.

Prüfung:

    Welche IP liefert DNS?
    Welcher Server antwortet?
    Welches Zertifikat wird geliefert?
    Passt der Name?

Merksatz:

    Falsches DNS kann falsches Zertifikat verursachen.

---

**TLS oder Firewall?**

Wenn der TCP-Port 443 nicht erreichbar ist,
kommt TLS gar nicht richtig zum Einsatz.

Dann prüft man zuerst:

    - Routing
    - Firewall
    - NAT
    - Portweiterleitung
    - Dienst lauscht auf TCP 443

Wenn TCP 443 erreichbar ist,
aber eine Zertifikatswarnung erscheint,
prüft man TLS und Zertifikat.

Merksatz:

    Kein TCP 443 = Schicht 4 prüfen.
    Zertifikatswarnung = TLS prüfen.

---

**TLS oder Anwendung?**

Wenn TLS erfolgreich ist,
kann die Anwendung trotzdem Fehler haben.

Beispiele:

    - HTTP 404
    - HTTP 500
    - Loginfehler
    - Berechtigungsfehler
    - API-Fehler
    - falscher Reverse-Proxy-Pfad

Dann ist nicht TLS das Hauptproblem,
sondern die Anwendung auf höherer Schicht.

Merksatz:

    TLS erfolgreich heißt nicht:
    Anwendung korrekt.

---

**Was TLS nicht macht**

TLS macht nicht:

    - IP-Adresse vergeben
    - Routing übernehmen
    - TCP-Port öffnen
    - DNS-Namen auflösen
    - Benutzerrechte festlegen
    - Webanwendung fehlerfrei machen
    - Server automatisch sicher konfigurieren
    - Schadsoftware verhindern

TLS schützt nur einen wichtigen Teil:

    die Verbindung und Vertrauensprüfung.

Merksatz:

    TLS schützt die Übertragung,
    ersetzt aber kein Sicherheitskonzept.

---

**Einordnung in das OSI-Modell**

| Thema | Schicht |
|---|---:|
| IP-Adresse | 3 |
| Routing | 3 |
| TCP 443 | 4 |
| TLS-Handshake | 6 mit Schicht-4-/7-Bezug |
| Zertifikat | 6 / 7 |
| HTTPS | 7 über TLS |
| HTTP-Inhalt | 7 |
| DNS-Name | 7 |
| Cookie | 7 mit Sitzungsbezug |

Merksatz:

    TCP 443 ist Schicht 4.
    TLS schützt darüber.
    HTTPS ist die Anwendung darüber.

---

**Typische IHK-Fragen**

In AP1 und AP2 kann zum Beispiel gefragt werden:

    - Was ist TLS?
    - Wofür wird TLS verwendet?
    - Was ist der Unterschied zwischen HTTP und HTTPS?
    - Welche Schutzziele bietet TLS?
    - Was ist ein Zertifikat?
    - Was prüft ein Client bei einem Zertifikat?
    - Warum erscheint eine Zertifikatswarnung?
    - Was ist eine Zertifizierungsstelle?
    - Was ist eine Zertifikatskette?
    - Was ist ein selbstsigniertes Zertifikat?
    - Warum muss der Domainname zum Zertifikat passen?
    - Was ist der Unterschied zwischen Verschlüsselung und Authentifizierung?
    - Was ist STARTTLS?
    - Was bedeutet TLS Termination?
    - Warum ist TLS allein kein vollständiges Sicherheitskonzept?

---

**Typische Prüfungsfallen**

    TLS ist nicht TCP.

    TLS ist nicht HTTPS.

    HTTPS nutzt TLS.

    HTTP ist unverschlüsselt.

    HTTPS nutzt typischerweise TCP 443.

    TCP-Handshake kommt vor TLS-Handshake.

    Zertifikat muss zum Namen passen.

    Zertifikat muss gültig sein.

    Client muss der CA vertrauen.

    Zertifikatskette muss vollständig sein.

    Selbstsigniert heißt nicht automatisch vertrauenswürdig.

    Falsche Systemzeit kann Zertifikatsfehler verursachen.

    SSL ist veraltet.

    TLS ist der moderne Begriff.

    Verschlüsselung ist nicht dasselbe wie Authentifizierung.

    TLS schützt die Übertragung,
    aber nicht automatisch die Anwendung.

---

**Wichtige Begriffe kurz erklärt**

| Begriff | Kurze Erklärung |
|---|---|
| TLS | Transport Layer Security |
| SSL | älterer Vorgänger von TLS |
| HTTPS | HTTP über TLS |
| Zertifikat | digitaler Vertrauensnachweis |
| CA | Zertifizierungsstelle |
| Root-Zertifikat | Vertrauensanker |
| Zwischenzertifikat | Verbindung zwischen Root und Serverzertifikat |
| Zertifikatskette | Kette von Serverzertifikat bis Root-CA |
| SAN | alternative Namen im Zertifikat |
| Wildcard-Zertifikat | Zertifikat für mehrere Subdomains |
| öffentlicher Schlüssel | Schlüssel im Zertifikat |
| privater Schlüssel | geheimer Schlüssel des Servers |
| TLS-Handshake | Aushandlung sicherer Kommunikation |
| Cipher Suite | Kombination kryptografischer Verfahren |
| Session Key | temporärer Schlüssel für eine Verbindung |
| STARTTLS | Umschalten einer Verbindung auf TLS |
| mTLS | gegenseitige Zertifikatsauthentifizierung |
| TLS Termination | TLS endet am Proxy |
| TLS Passthrough | TLS wird verschlüsselt weitergeleitet |
| HSTS | Browser soll HTTPS erzwingen |
| Mixed Content | HTTPS-Seite lädt HTTP-Inhalte |

---

**IHK-sichere Kurzformulierung**

TLS steht für Transport Layer Security und schützt Daten bei der Übertragung zwischen Client und Server. Es bietet Vertraulichkeit, Integrität und Authentizität. Bei HTTPS wird HTTP über TLS übertragen, typischerweise über TCP-Port 443. Ein TLS-Zertifikat hilft dem Client zu prüfen, ob er mit dem richtigen Server spricht. Dazu prüft der Client unter anderem den Domainnamen, den Gültigkeitszeitraum, die Zertifikatskette und die Vertrauenswürdigkeit der Zertifizierungsstelle. TLS ist nicht dasselbe wie TCP und nicht dasselbe wie HTTPS: TCP stellt den Transport bereit, TLS schützt die Verbindung und HTTPS nutzt TLS für Webkommunikation.

---

**Merksätze**

    TLS = Transport Layer Security.

    TLS schützt Daten bei der Übertragung.

    HTTPS = HTTP über TLS.

    HTTP = unverschlüsselt.

    HTTPS = verschlüsselt.

    HTTPS nutzt typischerweise TCP 443.

    TCP transportiert.

    TLS schützt.

    HTTP ist Anwendung.

    TLS bietet Vertraulichkeit.

    TLS bietet Integrität.

    TLS bietet Authentizität.

    Zertifikat = Vertrauensnachweis.

    CA = Zertifizierungsstelle.

    Root-Zertifikat = Vertrauensanker.

    Zertifikatskette muss vollständig sein.

    Domainname muss zum Zertifikat passen.

    Zertifikat darf nicht abgelaufen sein.

    Client muss der CA vertrauen.

    Selbstsigniert ist nicht automatisch vertrauenswürdig.

    Privater Schlüssel muss geheim bleiben.

    Erst TCP-Handshake,
    dann TLS-Handshake,
    dann HTTP.

    SSL ist veraltet.

    TLS ist modern.

    STARTTLS schaltet auf TLS um.

    TLS Termination beendet TLS am Proxy.

    TLS Passthrough leitet TLS verschlüsselt weiter.

    HSTS erzwingt HTTPS.

    Mixed Content vermeiden.

    TLS schützt die Verbindung,
    ersetzt aber kein vollständiges Sicherheitskonzept.

# 9.3 Merksätze und Prüfungswissen zu OSI-Schicht 6

Diese Seite fasst die wichtigsten Inhalte zur OSI-Schicht 6 zusammen.

OSI-Schicht 6 heißt:

    Darstellungsschicht

Die Hauptaufgabe von Schicht 6 ist:

    Daten so darstellen, codieren, komprimieren oder verschlüsseln,
    dass sie vom Empfänger korrekt verstanden werden können.

Dabei sind besonders wichtig:

    - Datenformate
    - Zeichencodierung
    - Kompression
    - Verschlüsselung
    - Entschlüsselung
    - Zertifikate
    - TLS
    - Datenumwandlung
    - Serialisierung
    - MIME-Typen

Merksatz:

    Schicht 6 = Darstellung, Codierung, Kompression und Verschlüsselung.

---

**Grundidee von Schicht 6**

Schicht 6 beschreibt, in welcher Form Daten vorliegen.

Beispiele:

    Text als UTF-8
    Bild als JPEG
    Daten als JSON
    Webseite über TLS verschlüsselt
    Datei als ZIP komprimiert

Damit Kommunikation funktioniert, müssen Sender und Empfänger die Daten gleich interpretieren.

Merksatz:

    Schicht 6 sorgt dafür,
    dass Daten richtig verstanden werden.

---

**Schicht 5, 6 und 7 unterscheiden**

| Schicht | Name | Grundidee |
|---:|---|---|
| 5 | Sitzungsschicht | Sitzungen verwalten |
| 6 | Darstellungsschicht | Daten darstellen, codieren, schützen |
| 7 | Anwendungsschicht | Netzwerkdienste für Anwendungen |

Beispiel Webanwendung:

    Schicht 5:
    Benutzer bleibt angemeldet.

    Schicht 6:
    Daten sind UTF-8-codiert und per TLS geschützt.

    Schicht 7:
    HTTP liefert Webseite oder API.

Merksatz:

    Schicht 5 = Sitzung.
    Schicht 6 = Darstellung.
    Schicht 7 = Anwendung.

---

**Darstellung bedeutet Datenrepräsentation**

Darstellungsschicht bedeutet nicht nur:

    Anzeige auf dem Bildschirm

Sondern fachlich:

    Wie sind Daten codiert?
    In welchem Format liegen sie vor?
    Sind sie komprimiert?
    Sind sie verschlüsselt?
    Wie werden sie interpretiert?

Merksatz:

    Darstellungsschicht meint Datenrepräsentation,
    nicht nur optische Anzeige.

---

**Datenformat**

Ein Datenformat legt fest, wie Daten aufgebaut sind.

Beispiele:

| Datenart | Beispiele |
|---|---|
| Text / Struktur | JSON, XML, HTML |
| Bild | JPEG, PNG, GIF, SVG |
| Audio | WAV, MP3, AAC, FLAC |
| Video | MP4, H.264, H.265 |
| Dokument | PDF, DOCX |
| Archiv | ZIP, 7z |

Wenn der Empfänger das Format nicht versteht,
kann er die Daten nicht korrekt verarbeiten.

Merksatz:

    Datenformat = Aufbau und Struktur von Daten.

---

**JSON**

JSON steht für:

    JavaScript Object Notation

JSON ist ein häufiges Format für strukturierte Daten.

Typisch bei:

    - APIs
    - Webanwendungen
    - Konfigurationsdateien
    - Datenaustausch zwischen Systemen

Beispiel:

    {
      "name": "Felix",
      "rolle": "FISI",
      "aktiv": true
    }

Merksatz:

    JSON ist ein kompaktes Format für strukturierte Daten.

---

**XML**

XML steht für:

    Extensible Markup Language

XML ist ein strukturiertes Textformat mit Tags.

Typisch bei:

    - älteren Schnittstellen
    - Konfigurationsdateien
    - Dokumentenformaten
    - Webservices
    - Datenaustausch

Beispiel:

    <benutzer>
      <name>Felix</name>
      <rolle>FISI</rolle>
    </benutzer>

Merksatz:

    XML nutzt Tags zur Strukturierung von Daten.

---

**JSON und XML vergleichen**

| Merkmal | JSON | XML |
|---|---|---|
| Schreibweise | kompakter | ausführlicher |
| Struktur | Objekte und Arrays | Tags und Elemente |
| häufig bei | moderne Web-APIs | ältere Schnittstellen, Dokumente |
| Lesbarkeit | meist kürzer | oft länger |
| Datenaustausch | sehr verbreitet | weiterhin wichtig |

Merksatz:

    JSON und XML sind Formate für strukturierten Datenaustausch.

---

**Zeichencodierung**

Zeichencodierung legt fest,
wie Zeichen als digitale Werte gespeichert werden.

Beispiele für Zeichen:

    A
    ä
    ß
    €
    中
    😊

Ohne passende Codierung können Zeichen falsch dargestellt werden.

Merksatz:

    Zeichencodierung übersetzt Zeichen in digitale Werte.

---

**ASCII**

ASCII ist eine ältere Zeichencodierung.

ASCII enthält vor allem:

    - englische Buchstaben
    - Ziffern
    - Satzzeichen
    - Steuerzeichen

Klassisches ASCII enthält keine deutschen Umlaute wie:

    ä
    ö
    ü
    ß

Merksatz:

    ASCII ist einfach,
    aber für viele Sprachen zu begrenzt.

---

**Unicode**

Unicode ist ein Standard für sehr viele Zeichen.

Dazu gehören:

    - lateinische Zeichen
    - deutsche Umlaute
    - griechische Zeichen
    - kyrillische Zeichen
    - asiatische Schriftzeichen
    - Symbole
    - Emojis

Unicode beschreibt, welche Zeichen es gibt.

Merksatz:

    Unicode ist ein großer Zeichensatzstandard.

---

**UTF-8**

UTF-8 ist eine sehr verbreitete Codierung für Unicode.

UTF-8 wird häufig verwendet bei:

    - Webseiten
    - Linux-Systemen
    - APIs
    - Datenbanken
    - Konfigurationsdateien
    - E-Mails

Vorteil:

    UTF-8 kann sehr viele Zeichen darstellen
    und ist mit einfachem ASCII gut kompatibel.

Merksatz:

    UTF-8 ist die wichtigste moderne Zeichencodierung.

---

**Typischer Codierungsfehler**

Ein typischer Fehler ist:

    Müller

wird angezeigt als:

    MÃ¼ller

Das deutet häufig darauf hin,
dass UTF-8-Daten mit falscher Codierung interpretiert wurden.

Mögliche Ursachen:

    - falsche Dateicodierung
    - falsche Datenbankcodierung
    - falscher HTTP-Header
    - falscher Import
    - falsche Anwendungseinstellung

Merksatz:

    Kaputte Umlaute sind oft Codierungsprobleme.

---

**Kompression**

Kompression bedeutet:

    Daten werden verkleinert.

Ziele:

    - weniger Speicherplatz
    - weniger Datenverkehr
    - schnellere Übertragung
    - geringere Bandbreitennutzung

Beispiele:

    ZIP
    gzip
    Brotli
    JPEG
    MP3
    H.264

Merksatz:

    Kompression reduziert die Datenmenge.

---

**Verlustfreie Kompression**

Verlustfreie Kompression bedeutet:

    Die Originaldaten können vollständig wiederhergestellt werden.

Beispiele:

    - ZIP
    - gzip
    - PNG
    - FLAC

Typisch für:

    - Text
    - Dokumente
    - Programme
    - Datenbanken
    - Quellcode

Merksatz:

    Verlustfrei = exakt wiederherstellbar.

---

**Verlustbehaftete Kompression**

Verlustbehaftete Kompression bedeutet:

    Daten werden verkleinert,
    aber ein Teil der ursprünglichen Information geht verloren.

Beispiele:

    - JPEG
    - MP3
    - AAC
    - H.264
    - H.265

Typisch für:

    - Fotos
    - Musik
    - Videos

Merksatz:

    Verlustbehaftet = kleiner,
    aber nicht exakt original.

---

**Codierung, Kompression und Verschlüsselung unterscheiden**

| Begriff | Ziel | Sicherheitsfunktion |
|---|---|---|
| Codierung | Daten in anderes Format bringen | nein |
| Kompression | Datenmenge reduzieren | nein |
| Verschlüsselung | Daten vor unbefugtem Lesen schützen | ja |

Wichtig:

    Base64 ist Codierung,
    aber keine Verschlüsselung.

    ZIP ist Kompression,
    aber ohne Passwort keine Verschlüsselung.

Merksatz:

    Codierung ist nicht automatisch Sicherheit.

---

**Verschlüsselung**

Verschlüsselung bedeutet:

    Daten werden so umgewandelt,
    dass sie ohne passenden Schlüssel nicht lesbar sind.

Ziel:

    Schutz der Vertraulichkeit

Beispiele:

    - HTTPS
    - TLS
    - VPN
    - E-Mail-Verschlüsselung
    - Festplattenverschlüsselung

Merksatz:

    Verschlüsselung schützt vor unbefugtem Lesen.

---

**Entschlüsselung**

Entschlüsselung bedeutet:

    Verschlüsselte Daten werden mit dem passenden Schlüssel wieder lesbar gemacht.

Ohne passenden Schlüssel bleiben die Daten unverständlich.

Merksatz:

    Entschlüsselung macht verschlüsselte Daten wieder lesbar.

---

**TLS**

TLS steht für:

    Transport Layer Security

TLS schützt Daten bei der Übertragung.

Wichtige Schutzziele:

    - Vertraulichkeit
    - Integrität
    - Authentizität

Das bekannteste Beispiel ist:

    HTTPS

Merksatz:

    TLS schützt Daten zwischen Client und Server.

---

**HTTPS**

HTTPS bedeutet:

    HTTP über TLS

Vergleich:

| Protokoll | Verschlüsselung | typischer Port |
|---|---|---:|
| HTTP | nein | TCP 80 |
| HTTPS | ja, TLS | TCP 443 |

Merksatz:

    HTTPS = HTTP mit TLS-Schutz.

---

**TLS im OSI-Modell**

TLS wird häufig der Darstellungsschicht zugeordnet,
weil es Daten verschlüsselt, entschlüsselt und schützt.

In der Praxis liegt TLS zwischen Anwendung und Transport.

Vereinfacht:

    HTTP
    TLS
    TCP
    IP
    Ethernet

Merksatz:

    TLS wird oft Schicht 6 zugeordnet,
    hat aber praktischen Bezug zu Schicht 4 und 7.

---

**TLS ist nicht TCP**

TCP ist ein Transportprotokoll.

TLS ist eine Schutzschicht für die übertragenen Daten.

Unterschied:

| Thema | Einordnung |
|---|---|
| TCP | Transport auf Schicht 4 |
| TLS | Verschlüsselung und Schutz |
| HTTP | Anwendung auf Schicht 7 |
| HTTPS | HTTP über TLS |

Merksatz:

    TCP transportiert.
    TLS schützt.
    HTTP verwendet.

---

**Zertifikat**

Ein Zertifikat ist ein digitaler Vertrauensnachweis.

Es hilft dem Client zu prüfen:

    Spreche ich mit dem richtigen Server?

Ein Zertifikat enthält unter anderem:

    - Domainname
    - öffentlicher Schlüssel
    - Aussteller
    - Gültigkeitszeitraum
    - Signatur
    - alternative Namen

Merksatz:

    Zertifikat = digitaler Vertrauensnachweis.

---

**Zertifizierungsstelle**

Eine Zertifizierungsstelle wird genannt:

    Certificate Authority

Kurz:

    CA

Die CA stellt Zertifikate aus und signiert sie.

Der Client vertraut einem Zertifikat,
wenn er der ausstellenden CA oder der Zertifikatskette vertraut.

Merksatz:

    CA = vertrauenswürdige Stelle für Zertifikate.

---

**Zertifikatskette**

Eine Zertifikatskette verbindet das Serverzertifikat mit einer vertrauenswürdigen Root-CA.

Typische Bestandteile:

    - Serverzertifikat
    - Zwischenzertifikat
    - Root-Zertifikat

Wenn ein Zwischenzertifikat fehlt,
kann es zu Zertifikatswarnungen kommen.

Merksatz:

    Zertifikatskette muss vollständig und vertrauenswürdig sein.

---

**Domainname im Zertifikat**

Das Zertifikat muss zum aufgerufenen Namen passen.

Beispiel:

    Aufgerufen:
    wiki.firma.de

Das Zertifikat muss für diesen Namen gültig sein.

Wenn das Zertifikat für einen anderen Namen gilt,
zeigt der Browser eine Warnung.

Merksatz:

    Aufgerufener Name muss im Zertifikat enthalten sein.

---

**Gültigkeitszeitraum**

Zertifikate sind nur für einen bestimmten Zeitraum gültig.

Wenn ein Zertifikat abgelaufen ist,
zeigen Clients Warnungen oder blockieren die Verbindung.

Auch falsche Systemzeit kann Zertifikatsfehler erzeugen.

Merksatz:

    Zertifikat und Systemzeit müssen gültig sein.

---

**Selbstsigniertes Zertifikat**

Ein selbstsigniertes Zertifikat wurde nicht von einer allgemein vertrauenswürdigen CA signiert.

Es kann technisch verschlüsseln,
ist aber für Clients nicht automatisch vertrauenswürdig.

Typische Nutzung:

    - Testumgebung
    - Labor
    - Homelab
    - interne Systeme

Merksatz:

    Selbstsigniert kann verschlüsseln,
    ist aber nicht automatisch vertrauenswürdig.

---

**Öffentlicher und privater Schlüssel**

Bei asymmetrischer Kryptografie gibt es:

    öffentlichen Schlüssel
    privaten Schlüssel

Der öffentliche Schlüssel darf bekannt sein.

Der private Schlüssel muss geheim bleiben.

Bei TLS steckt der öffentliche Schlüssel im Zertifikat.

Merksatz:

    Öffentlicher Schlüssel darf öffentlich sein.
    Privater Schlüssel muss geheim bleiben.

---

**TLS-Handshake**

Beim TLS-Handshake wird die sichere Verbindung vorbereitet.

Vereinfacht:

    1. Client verbindet sich mit Server.
    2. Server sendet Zertifikat.
    3. Client prüft Zertifikat.
    4. Verfahren werden ausgehandelt.
    5. Sitzungsschlüssel werden gebildet.
    6. Nutzdaten werden verschlüsselt übertragen.

Merksatz:

    TLS-Handshake bereitet verschlüsselte Kommunikation vor.

---

**TCP-Handshake und TLS-Handshake unterscheiden**

Bei HTTPS passiert vereinfacht:

    1. TCP-Handshake
    2. TLS-Handshake
    3. HTTP-Kommunikation

Unterschied:

| Vorgang | Zweck |
|---|---|
| TCP-Handshake | Transportverbindung aufbauen |
| TLS-Handshake | sichere Verbindung aushandeln |
| HTTP-Kommunikation | Anwendungskommunikation |

Merksatz:

    Erst TCP,
    dann TLS,
    dann HTTP.

---

**Schutzziele von TLS**

| Schutzziel | Bedeutung |
|---|---|
| Vertraulichkeit | Schutz vor Mitlesen |
| Integrität | Schutz vor unbemerkter Veränderung |
| Authentizität | Prüfung der Gegenstelle |

Merksatz:

    TLS schützt Vertraulichkeit,
    Integrität
    und Authentizität.

---

**Base64**

Base64 ist eine Codierung.

Sie wandelt Binärdaten in Textzeichen um.

Typische Nutzung:

    - E-Mail-Anhänge
    - Tokens
    - Zertifikatsdaten
    - API-Daten

Wichtig:

    Base64 ist leicht rückgängig zu machen.
    Base64 ist keine Verschlüsselung.

Merksatz:

    Base64 = Codierung,
    nicht Verschlüsselung.

---

**Hashing**

Hashing ist keine Verschlüsselung.

Ein Hash ist ein Prüfwert.

Beispiele:

    - SHA-256
    - SHA-512

Eigenschaften:

    - gleiche Eingabe ergibt gleichen Hash
    - kleine Änderung ergibt anderen Hash
    - Einwegfunktion
    - Original soll nicht aus Hash zurückgerechnet werden

Merksatz:

    Hashing prüft Integrität,
    verschlüsselt aber nicht.

---

**Passwort-Hashing**

Passwörter sollten nicht im Klartext gespeichert werden.

Auch normale schnelle Hashfunktionen sind für Passwörter oft nicht ideal.

Für Passwörter nutzt man spezielle Verfahren mit Salt und Arbeitsfaktor.

Beispiele:

    - bcrypt
    - Argon2
    - PBKDF2

Merksatz:

    Passwörter sicher hashen,
    nicht im Klartext speichern.

---

**Serialisierung**

Serialisierung bedeutet:

    Datenstrukturen werden in ein übertragbares oder speicherbares Format umgewandelt.

Beispiel:

    Objekt in Anwendung
    → JSON
    → Übertragung
    → JSON wird beim Empfänger wieder verarbeitet

Merksatz:

    Serialisierung macht Daten übertragbar.

---

**Deserialisierung**

Deserialisierung ist die Rückumwandlung aus einem übertragenen Format.

Beispiel:

    JSON
    → Objekt in Anwendung

Wichtig:

    Unsichere Deserialisierung kann gefährlich sein,
    wenn fremde Daten ungeprüft verarbeitet werden.

Merksatz:

    Deserialisierung macht Daten wieder nutzbar.

---

**MIME-Type**

Ein MIME-Type beschreibt,
welche Art von Daten übertragen wird.

Beispiele:

| MIME-Type | Bedeutung |
|---|---|
| text/html | HTML-Dokument |
| application/json | JSON-Daten |
| image/png | PNG-Bild |
| image/jpeg | JPEG-Bild |
| text/css | CSS-Datei |
| application/pdf | PDF-Dokument |

Merksatz:

    MIME-Type sagt dem Client,
    wie Daten zu interpretieren sind.

---

**Typische Schicht-6-Fehler**

Typische Fehler auf Schicht 6 sind:

    - falsche Zeichencodierung
    - falscher MIME-Type
    - ungültiges JSON
    - ungültiges XML
    - falsches Dateiformat
    - defekte Kompression
    - nicht unterstütztes Kompressionsverfahren
    - Zertifikat abgelaufen
    - Zertifikat passt nicht zum Namen
    - Zertifikatskette unvollständig
    - TLS-Version zu alt
    - Cipher Suite nicht kompatibel
    - Base64 mit Verschlüsselung verwechselt

Merksatz:

    Schicht-6-Fehler betreffen Darstellung,
    Format,
    Codierung
    oder Schutz der Daten.

---

**Fehlerbild: Komische Zeichen**

Beispiel:

    Müller

wird angezeigt als:

    MÃ¼ller

Mögliche Ursachen:

    - falsche Zeichencodierung
    - falsche Datenbankcodierung
    - falscher HTTP-Header
    - falscher Import
    - Datei falsch gespeichert

Merksatz:

    Komische Zeichen = oft Codierungsproblem.

---

**Fehlerbild: HTTPS-Warnung**

Mögliche Ursachen:

    - Zertifikat abgelaufen
    - Domainname passt nicht
    - CA nicht vertrauenswürdig
    - Zwischenzertifikat fehlt
    - selbstsigniertes Zertifikat
    - Systemzeit falsch
    - Zertifikat wurde widerrufen

Merksatz:

    HTTPS-Warnung = Zertifikat und TLS prüfen.

---

**Fehlerbild: API versteht Daten nicht**

Mögliche Ursachen:

    - ungültiges JSON
    - falscher Content-Type
    - falsche Zeichencodierung
    - falsche Datentypen
    - fehlende Pflichtfelder
    - falsches Datumsformat
    - ungültige Serialisierung

Merksatz:

    API-Fehler können Format- oder Darstellungsprobleme sein.

---

**Fehlerbild: Datei lässt sich nicht öffnen**

Mögliche Ursachen:

    - falsches Dateiformat
    - falsche Dateiendung
    - beschädigte Datei
    - falscher MIME-Type
    - fehlender Codec
    - nicht unterstützte Kompression
    - Datei unvollständig übertragen

Merksatz:

    Datei-Probleme können Format- oder Codierungsprobleme sein.

---

**Schicht 6 und Sicherheit**

Schicht 6 hat starken Sicherheitsbezug.

Wichtige Themen:

    - TLS
    - Zertifikate
    - Verschlüsselung
    - Integrität
    - sichere Codierung
    - sichere Deserialisierung
    - Hashing
    - Schutz vor unsicherer Datenverarbeitung

Merksatz:

    Falsche Datenverarbeitung kann Sicherheitslücken erzeugen.

---

**Was Schicht 6 nicht macht**

Schicht 6 macht nicht:

    - Bits über Kabel übertragen
    - MAC-Adressen verwenden
    - IP-Pakete routen
    - TCP-Verbindungen aufbauen
    - Ports öffnen
    - Sitzungen verwalten
    - DNS-Namen auflösen
    - konkrete Anwendung bereitstellen

Diese Aufgaben liegen auf anderen Schichten.

Merksatz:

    Schicht 6 stellt Daten dar,
    transportiert sie aber nicht selbst.

---

**Prüfungswissen: wichtigste Zuordnungen**

| Begriff | richtige Einordnung |
|---|---|
| UTF-8 | Schicht 6 |
| ASCII | Schicht 6 |
| Unicode | Schicht 6 |
| JSON | Schicht 6 / 7-Bezug |
| XML | Schicht 6 / 7-Bezug |
| Kompression | Schicht 6 |
| Verschlüsselung | Schicht 6 |
| TLS | häufig Schicht 6, praktisch zwischen 4 und 7 |
| Zertifikat | Schicht 6 / 7-Bezug |
| MIME-Type | Schicht 6 / 7-Bezug |
| Base64 | Codierung, Schicht 6 |
| Hashing | Sicherheits-/Integritätsbezug |
| TCP | Schicht 4 |
| HTTP | Schicht 7 |
| DNS | Schicht 7 |

Merksatz:

    Codierung,
    Kompression
    und Verschlüsselung
    sind typische Schicht-6-Themen.

---

**Typische IHK-Fragen**

In AP1 und AP2 kann zum Beispiel gefragt werden:

    - Welche Aufgabe hat die Darstellungsschicht?
    - Was bedeutet Datenformat?
    - Was ist Zeichencodierung?
    - Was ist UTF-8?
    - Warum werden Umlaute manchmal falsch angezeigt?
    - Was ist Kompression?
    - Was ist der Unterschied zwischen verlustfrei und verlustbehaftet?
    - Was ist Verschlüsselung?
    - Was ist TLS?
    - Was ist HTTPS?
    - Warum ist Base64 keine Verschlüsselung?
    - Was ist ein Zertifikat?
    - Warum muss der Name zum Zertifikat passen?
    - Was ist eine Zertifizierungsstelle?
    - Was ist eine Zertifikatskette?
    - Warum kann eine HTTPS-Warnung erscheinen?
    - Was ist ein MIME-Type?
    - Was ist Serialisierung?

---

**Typische Prüfungsfallen**

    Schicht 6 heißt Darstellungsschicht.

    Darstellung bedeutet Datenrepräsentation.

    Schicht 6 ist nicht nur Bildschirmdarstellung.

    UTF-8 ist eine Zeichencodierung.

    ASCII ist begrenzt.

    Unicode ist der Zeichensatzstandard.

    JSON und XML sind Datenformate.

    Kompression ist keine Verschlüsselung.

    Codierung ist keine Verschlüsselung.

    Base64 ist keine Verschlüsselung.

    Hashing ist keine Verschlüsselung.

    TLS schützt Daten bei der Übertragung.

    HTTPS nutzt TLS.

    TLS ist nicht TCP.

    TLS ist nicht HTTPS.

    Zertifikat muss zum Domainnamen passen.

    Zertifikat muss gültig sein.

    Client muss der CA vertrauen.

    Fehlende Zwischenzertifikate können Warnungen verursachen.

    Falsche Systemzeit kann Zertifikatsfehler verursachen.

    MIME-Type hilft bei der Interpretation von Daten.

    Schicht 6 ist in der Praxis oft eng mit Schicht 7 verbunden.

---

**Wichtige Begriffe kurz erklärt**

| Begriff | Kurze Erklärung |
|---|---|
| Darstellungsschicht | OSI-Schicht 6 |
| Datenformat | Aufbau und Struktur von Daten |
| Zeichencodierung | Zuordnung von Zeichen zu digitalen Werten |
| ASCII | ältere einfache Zeichencodierung |
| Unicode | Standard für viele Zeichen weltweit |
| UTF-8 | verbreitete Unicode-Codierung |
| Kompression | Verkleinerung von Daten |
| verlustfrei | Original exakt wiederherstellbar |
| verlustbehaftet | Datenverlust zugunsten kleinerer Größe |
| Verschlüsselung | Daten unlesbar für Unbefugte machen |
| Entschlüsselung | verschlüsselte Daten wieder lesbar machen |
| TLS | Schutzschicht für Übertragung |
| HTTPS | HTTP über TLS |
| Zertifikat | digitaler Vertrauensnachweis |
| CA | Zertifizierungsstelle |
| Zertifikatskette | Vertrauenskette von Serverzertifikat zu Root-CA |
| MIME-Type | Angabe des Medientyps |
| Base64 | Codierung von Binärdaten als Text |
| Hashing | Bildung eines Einweg-Prüfwerts |
| Serialisierung | Umwandlung in übertragbares Format |
| Deserialisierung | Rückumwandlung aus übertragbarem Format |

---

**IHK-sichere Gesamtformulierung**

Die Darstellungsschicht ist Schicht 6 des OSI-Modells. Sie sorgt dafür, dass Daten in einer geeigneten Form dargestellt, codiert, komprimiert, verschlüsselt oder umgewandelt werden, damit der Empfänger sie korrekt interpretieren kann. Typische Themen sind Zeichencodierung wie UTF-8, Datenformate wie JSON oder XML, Kompression wie gzip oder ZIP, Verschlüsselung mit TLS sowie Zertifikate bei HTTPS. TLS wird häufig der Darstellungsschicht zugeordnet, liegt in der Praxis aber zwischen Anwendung und Transport. Codierung, Kompression und Verschlüsselung sind voneinander zu unterscheiden.

---

**Wichtigste Merksätze**

    Schicht 6 = Darstellungsschicht.

    Schicht 6 = Daten darstellen,
    codieren,
    komprimieren
    und verschlüsseln.

    Darstellung bedeutet Datenrepräsentation.

    Datenformat legt den Aufbau von Daten fest.

    JSON und XML sind Datenformate.

    Zeichencodierung übersetzt Zeichen in digitale Werte.

    ASCII ist begrenzt.

    Unicode umfasst viele Zeichen.

    UTF-8 ist sehr verbreitet.

    Falsche Codierung erzeugt Zeichenfehler.

    Kompression reduziert Datenmenge.

    Verlustfrei = exakt wiederherstellbar.

    Verlustbehaftet = kleiner,
    aber nicht exakt original.

    Verschlüsselung schützt Vertraulichkeit.

    Entschlüsselung macht Daten wieder lesbar.

    TLS schützt Daten bei der Übertragung.

    HTTPS = HTTP über TLS.

    TLS ist nicht TCP.

    TLS ist nicht HTTPS.

    TCP transportiert.

    TLS schützt.

    HTTP verwendet.

    Zertifikat = Vertrauensnachweis.

    CA = Zertifizierungsstelle.

    Zertifikatskette muss vollständig sein.

    Domainname muss zum Zertifikat passen.

    Zertifikat muss gültig sein.

    Base64 ist Codierung,
    keine Verschlüsselung.

    Hashing ist keine Verschlüsselung.

    MIME-Type beschreibt den Datentyp.

    Serialisierung macht Daten übertragbar.

    Schicht 6 ist oft eng mit Schicht 7 verbunden.