Sicherheit

Kryptographie

Diese Seite enthält prüfungsrelevante Themen rund um Kryptographie, Hashing und Verschlüsselung.

Symmetrische und asymmetrische Verschlüsselung

Symmetrische Verschlüsselung

  • Beide Seiten (Sender und Empfänger) nutzen denselben geheimen Schlüssel, um Nachrichten zu verschlüsseln und zu entschlüsseln.
  • Beispiel: Wie ein Tresor mit einem einzigen Schlüssel – beide Parteien müssen diesen Schlüssel haben.
  • Vorteil: Sehr schnell.
  • Nachteil: Der Schlüssel muss sicher übermittelt werden.

Beispiel-Algorithmen: AES, DES

Asymmetrische Verschlüsselung

  • Es gibt ein Schlüsselpaar:
    • Öffentlicher Schlüssel (darf jeder kennen)
    • Privater Schlüssel (geheim, bleibt beim Empfänger)
  • Nur der private Schlüssel kann Nachrichten entschlüsseln, die mit dem zugehörigen öffentlichen Schlüssel verschlüsselt wurden.

Vorteil: Kein geheimer Schlüsselaustausch notwendig.
Nachteil: Langsamer als symmetrische Verfahren.

Beispiel-Algorithmen: RSA, ECC

Hybride Verschlüsselung

  • Kombination aus beiden Verfahren:
    • Mit asymmetrischer Verschlüsselung wird ein geheimer Schlüssel sicher übertragen
    • Mit diesem Schlüssel wird danach symmetrisch verschlüsselt (schneller)
  • Beispiel aus der Praxis: TLS (HTTPS)

Hashfunktionen

Eine Hashfunktion berechnet aus beliebigen Daten einen kurzen, eindeutigen "Fingerabdruck" – den sogenannten Hash-Wert.

Eigenschaften sicherer Hashfunktionen

  • Gleiche Eingabe = gleicher Hash
  • Schon bei einer kleinen Änderung der Eingabe ändert sich der Hash stark (Avalanche-Effekt)
  • Nicht umkehrbar: Aus dem Hash kann man die Eingabe nicht zurückrechnen
  • Keine Kollisionen: Zwei verschiedene Eingaben sollen nicht denselben Hash erzeugen
  • Konstanz: Die Länge des Hashes sollte konstant und unabhängig von der Eingabe sein

Beispiel-Hashfunktionen: SHA-256, SHA-3

Salting

  • Hashes alleine sind bei Passwörtern unsicher (Rainbow-Tables).
  • Lösung: Salt – ein zufälliger Zusatzwert, der vor dem Hashen an das Passwort angehängt wird.
  • Ergebnis: Selbst identische Passwörter ergeben unterschiedliche Hashes.
Beispiel: SHA-256("Zufall123" + "Passwort")

Digitale Signaturen

Digitale Signaturen funktionieren ähnlich wie Unterschriften – sie bestätigen, dass eine Nachricht von einer bestimmten Person kommt und nicht verändert wurde.

Ablauf:

  1. Die Nachricht wird mit einer Hashfunktion "gehasht"
  2. Der Hashwert wird mit dem privaten Schlüssel des Absenders verschlüsselt → Das ist die digitale Signatur
  3. Der Empfänger entschlüsselt die Signatur mit dem öffentlichen Schlüssel und vergleicht den Hash mit dem selbst berechneten

Damit prüft man:

  • Integrität (wurde die Nachricht verändert?)
  • Authentizität (wer hat sie erstellt?)
  • Nichtabstreitbarkeit (der Absender kann nicht behaupten, er habe es nicht gesendet)

Public Key Infrastructure (PKI)

Die PKI ist ein System, das die Verwaltung von öffentlichen Schlüsseln und Zertifikaten übernimmt. Sie stellt sicher, dass öffentliche Schlüssel vertrauenswürdig sind.

Bestandteile:

  • CA (Certificate Authority): Vertrauenswürdige Stelle, die digitale Zertifikate ausstellt
  • RA (Registration Authority): Prüft Identität, bevor ein Zertifikat ausgestellt wird
  • Zertifikatsdatenbank: Liste aller ausgestellten Zertifikate
  • Sperrlisten (CRL/OCSP): Enthalten Zertifikate, die zurückgezogen wurden (z.B. bei Missbrauch)

Aufbau eines X.509-Zertifikats

X.509-Zertifikate werden zur Identitätsprüfung im Internet verwendet, z. B. bei HTTPS-Websites. Sie enthalten:

  • Name des Besitzers (z. B. eine Domain)
  • Öffentlicher Schlüssel
  • Gültigkeitsdauer
  • Aussteller (CA)
  • Digitale Signatur der CA

Damit kann man überprüfen, wem ein öffentlicher Schlüssel gehört.


TLS (Transport Layer Security)

TLS ist ein Protokoll, das sichere Kommunikation über das Internet ermöglicht – z. B. bei HTTPS.

Schutzmechanismen:

  • Verschlüsselung: Daten können unterwegs nicht mitgelesen werden
  • Integrität: Durch Hashing (z. B. HMAC) wird geprüft, ob Daten verändert wurden
  • Authentifizierung: Server (und manchmal auch der Client) werden über Zertifikate geprüft

Übersicht kryptografischer Algorithmen

AlgorithmusTypAnwendungBemerkung
AESSymmetrischDatenverschlüsselungSchnell, Standard seit Jahren
RSAAsymmetrischSchlüsselübertragung, SignaturVerbreitet, aber rechenintensiv
ECCAsymmetrischWie RSA, aber effizienterKürzere Schlüssel, gleiche Sicherheit
SHA-256HashfunktionIntegritätsprüfung, Passwort-HashingTeil von SHA-2
HMACHash + SchlüsselNachrichtenauthentifizierungZ. B. in TLS verwendet