Warum Kryptographische Zufaelligkeit Wichtig Ist
Vorhersagbare Tokens sind eine große Sicherheitsluecke. Wenn ein Angreifer einen Sitzungstoken erraten kann, kann er Benutzerkonten kapern. Math.random() verwendet Algorithmen wie xorshift128+ deren interner Zustand aus beobachteten Ausgaben rekonstruiert werden kann. Die getRandomValues()-Funktion der Web Crypto API schoepft aus dem Entropie-Pool des Betriebssystems und sammelt Zufaelligkeit aus Hardware-Ereignissen, was eine Vorhersage rechnerisch unmöglich macht.
Zeichensaetze und Entropie Verstehen
Entropie misst die Unvorhersagbarkeit eines Tokens in Bits. Jedes Zeichen traegt log2(Zeichensatzgröße) Bits bei. Alphanumerische Tokens verwenden 62 Zeichen und geben etwa 5,95 Bits pro Zeichen. Hex-Tokens verwenden 16 Zeichen und geben genau 4 Bits pro Zeichen. Für ein Ziel von 128 Bits Sicherheit benoetigen Sie 22 alphanumerische oder 32 hexadezimale Zeichen. Längere Tokens mit größeren Zeichensaetzen bieten exponentiell mehr Schutz.
Best Practices für Token-Generierung
Verwenden Sie immer kryptographisch sichere Zufallszahlengeneratoren für Sicherheitstoken. Kuerzen oder ändern Sie Tokens nach der Generierung nie, da dies die Entropie reduzieren kann. Speichern Sie Tokens sicher durch Hashing für die Datenbankspeicherung. Setzen Sie angemessene Ablaufzeiten für Sitzungstoken. Verwenden Sie verschiedene Tokens für verschiedene Zwecke — verwenden Sie nie einen API-Schlüssel als Sitzungstoken wieder.
Gängige Token-Formate und Standards
Verschiedene Anwendungen erfordern verschiedene Token-Formate. UUID v4 verwendet 122 zufaellige Bits in einem bestimmten Hex-Format. JWT-Tokens kodieren Ansprueche mit einer zufaelligen Signatur. OAuth2 verwendet opake Bearer-Tokens die mindestens 128 Bits Entropie haben sollten. Datenbank-API-Schlüssel verwenden oft Base64 oder alphanumerische Kodierung für URL-Sicherheit. Wählen Sie das Format das am besten zu Ihrer Anwendung passt.





