Kryptographie
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:
- Die Nachricht wird mit einer Hashfunktion "gehasht"
- Der Hashwert wird mit dem privaten Schlüssel des Absenders verschlüsselt → Das ist die digitale Signatur
- 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
Algorithmus | Typ | Anwendung | Bemerkung |
---|---|---|---|
AES | Symmetrisch | Datenverschlüsselung | Schnell, Standard seit Jahren |
RSA | Asymmetrisch | Schlüsselübertragung, Signatur | Verbreitet, aber rechenintensiv |
ECC | Asymmetrisch | Wie RSA, aber effizienter | Kürzere Schlüssel, gleiche Sicherheit |
SHA-256 | Hashfunktion | Integritätsprüfung, Passwort-Hashing | Teil von SHA-2 |
HMAC | Hash + Schlüssel | Nachrichtenauthentifizierung | Z. B. in TLS verwendet |
Bedrohungen
Diese Seite erklärt zentrale Bedrohungen für die IT-Sicherheit wie Malware, Social Engineering und technische Angriffe – inklusive Schutzmaßnahmen.
UML-Diagramme
Diese Seite gibt einen strukturierten Überblick über wichtige Diagrammtypen, die in der Softwareentwicklung verwendet werden. Sie hilft beim Verständnis der verschiedenen Diagrammarten, ihrer Eigenschaften und ihrer konkreten Anwendung im Kontext der objektorientierten Analyse und Modellierung.