Skip to content
Springe zum Hauptinhalt
Toni Schlack Fachinformatiker für Systemintegration (IHK) Villingen-Schwenningen, Tuttlingen, Seitingen-Oberflacht Oberkassel Königsfeld Möhringen
" / 1 5 A B C D E F G H I J K L M N O P R S T U V W X Y Z
Ab Ac Ad Ae Ai Aj Am An Ap Ar As At Au Ay
Aes-1 Aes-2 Aes-G

AES-128

? AES-128: Die Fakten auf den Punkt

AES-128 (Advanced Encryption Standard mit 128-Bit-Schlüssel) ist einer der am meisten genutzten Verschlüsselungsstandards weltweit. Symmetrisch, schnell und sicher – aber nur, wenn du nicht schlampig bist.


? Schlüsselgröße & Sicherheit

  • 128 Bit Schlüssel bedeuten:
    2^128 mögliche Schlüssel, eine astronomisch große Zahl. Brute Force ist damit praktisch ausgeschlossen.
  • Aktuelle Sicherheit:
    AES-128 gilt als sehr sicher. Es gibt keine praktikablen Angriffe, die den Standard in realen Anwendungen brechen könnten.
  • Theoretische Schwachstellen:
    Forschung findet immer mal wieder kleine Angriffspunkte (z. B. bei reduzierten Runden oder speziellen Angriffen), aber keine, die die echte Sicherheit gefährden.

⚡ Performance

  • AES-128 ist schneller als AES-192 und AES-256, weil es nur 10 Runden anstatt 12 oder 14 durchläuft.
  • Das macht es besonders attraktiv für Systeme mit begrenzten Ressourcen (Smartcards, IoT-Geräte).
  • Moderne Prozessoren unterstützen AES per Hardware-Befehl (AES-NI), was die Geschwindigkeit nochmals steigert.

⚠️ Wichtige Fallen & Gefahrenquellen

1. Implementierungsfehler

  • Der größte Unsicherheitsfaktor ist nicht AES an sich, sondern wie es eingebaut wird.
  • Beispiele:
    • Verwendung von schwachen oder wiederverwendeten Schlüsseln
    • Schlechte Zufallszahlengeneratoren
    • Fehlerhafte Verwaltung von Initialisierungsvektoren (IVs) oder Nonces
  • Fazit: Wenn hier Mist gebaut wird, hilft die beste Verschlüsselung nichts.

2. Betriebsmodus (Mode of Operation)

  • AES ist eine reine Blockchiffre (128-Bit Blöcke). Damit man ganze Nachrichten sicher verschlüsseln kann, braucht man einen Modus wie CBC, GCM, CTR etc.
  • Kein Modus ist perfekt. Falsche Modi (wie ECB) sind komplett unsicher, weil sie Muster im Klartext sichtbar lassen.
  • Moderne Empfehlung: AES-GCM (Galois/Counter Mode) – bietet Verschlüsselung + Authentizität.

3. Quantum Computing

  • Quantencomputer könnten mit Grover’s Algorithmus die Sicherheit halbieren: AES-128 würde auf Sicherheitsniveau 64 Bit fallen.
  • Das wäre heute gefährlich, weil 64-Bit Sicherheit gilt als „knackbar“ mit ausreichend Ressourcen.
  • Praktische Quantencomputer dieser Größe gibt es aber aktuell nicht.

? AES-256: Die „Zukunftssicherung“

  • Viele Organisationen empfehlen AES-256 statt 128, weil:
    • Größerer Schlüssel = mehr Sicherheit bei zukünftigen Bedrohungen (Quantum Computing, längere Nutzung)
    • In der Praxis kaum langsamer auf moderner Hardware (AES-NI)
  • Wenn du wirklich auf Nummer sicher gehen willst (Banken, Militär), nimm AES-256.

? Zusammenfassung: So nutzt du AES-128 richtig

PunktEmpfehlung
SchlüsselverwaltungNutze sichere, zufällige Schlüssel
ZufallsquellenVermeide schlechte PRNGs (Pseudo-Random-Number-Generatoren)
BetriebsmodusNutze AES-GCM oder CBC mit HMAC
WiederverwendungKeine Wiederverwendung von IV/Nonce
ImplementierungNutze bewährte Libraries (z.B. OpenSSL, libsodium)
Quantum ComputingFür Langzeit-Schutz AES-256 bevorzugen

? Praxisbeispiele für AES-128 Nutzung

Beispiel 1: AES-128 in Python mit cryptography (AES-GCM)

  cryptography.hazmat.primitives.ciphers.aead import AESGCM
import os

# Schlüssel erzeugen (128 Bit = 16 Bytes)
key = AESGCM.generate_key(bit_length=128)

# AES-GCM Objekt erstellen
aesgcm = AESGCM(key)

# Zufälliger Nonce (12 Bytes empfohlen)
nonce = os.urandom(12)

# Klartext
plaintext = b"Geheime Nachricht"

# Zusätzliche Authentifizierte Daten (optional)
aad = b"Header-Daten"

# Verschlüsseln
ciphertext = aesgcm.encrypt(nonce, plaintext, aad)

# Entschlüsseln
decrypted = aesgcm.decrypt(nonce, ciphertext, aad)

assert decrypted == plaintext
print("Verschlüsselung und Entschlüsselung erfolgreich")

Warum hier alles richtig ist:


Beispiel 2: Fehlerhafte Nutzung – Wiederverwendung von Nonce (NO-GO!)

# Falsche Praxis: Nonce wird wiederverwendet
nonce = b'\x00' * 12 # Statisch und immer gleich

ciphertext1 = aesgcm.encrypt(nonce, b"Nachricht1", None)
ciphertext2 = aesgcm.encrypt(nonce, b"Nachricht2", None)

# Hier kann ein Angreifer Muster erkennen und verschlüsselte Daten knacken

Warum das gefährlich ist:

  • Die Wiederverwendung eines Nonce in AES-GCM zerstört die Sicherheit komplett.
  • Angreifer können die XOR-Beziehung der Klartexte herausfinden.

Beispiel 3: AES-128 in WPA2 (WLAN)

  • WPA2 nutzt AES-128 im CCMP-Modus (ähnlich GCM).
  • Schlüssel wird bei Verbindungsaufbau per 4-Wege-Handshake generiert.
  • Jedes Paket bekommt einen eigenen IV (Nonce), um Wiederholungsangriffe zu verhindern.
  • Fehlerhafte Implementierungen (z.B. schlechte Zufallszahlengeneratoren) können WLAN-Netze angreifbar machen (KRACK-Angriff).

Beispiel 4: Festplattenverschlüsselung (BitLocker)

  • BitLocker verwendet AES-128 oder AES-256, je nach Einstellung.
  • Verwendet Modi, die Integrität und Vertraulichkeit garantieren (XTS-Modus).
  • Schlüssel werden durch TPM (Trusted Platform Module) geschützt, nicht nur durch Passwort.
  • Ein gutes Beispiel, wie AES-128 sicher in der Praxis eingesetzt wird.

?️ Empfehlungen zum Einstieg

  • Vertraue bewährten Bibliotheken, z.B.:
    • Pythoncryptography
    • C/C++: OpenSSL
    • Java: Bouncy Castle
  • Verwende zufällige IVs/Nonces für jede Verschlüsselung!
  • Nutze authentifizierte Verschlüsselung (AES-GCM, AES-CCM) statt nur reine Verschlüsselung.
  • Kontrolliere und aktualisiere deine Schlüssel regelmäßig.

Werbung
eazy
WP Twitter Auto Publish Powered By : XYZScripts.com