🌐 DE

🔑 API-Schlüssel-Generator

Erzeugen Sie sichere, zufällige API-Schlüssel. Verwenden Sie sie für REST-APIs, Authentifizierungs-Token und geheime Schlüssel.

API-Schlüssel-Format
RATGEBER

Mehr erfahren

01

1. Die Bedeutung der Sicherheit von API-Schlüsseln

API-Schlüssel sind essenzielle Sicherheitselemente für die Authentifizierung zwischen Anwendungen. Schwache Schlüssel sind anfällig für Brute-Force-Angriffe, und ihre Offenlegung führt zu unbefugtem API-Zugriff. Ein robuster API-Schlüssel sollte mindestens 32 zufällige Zeichen umfassen und mit einem kryptografisch sicheren Pseudozufallszahlengenerator (CSPRNG) erzeugt werden. Die Formate UUID v4, Base64 und Hex sind weit verbreitet, wobei jeder Schlüssel eindeutig und nicht vorhersehbar sein sollte. Bei Offenlegung widerrufen Sie den Schlüssel sofort und ersetzen ihn durch einen neuen, und committen Sie ihn niemals in ein öffentliches Repository wie GitHub.

02

2. Vergleich der Methoden zur Schlüsselerzeugung

Es gibt mehrere Methoden zur Erzeugung von API-Schlüsseln. UUID v4 verwendet 122 zufällige Bits mit extrem geringer Kollisionswahrscheinlichkeit, was es zu einem weit verbreiteten Format macht. Base64 kodiert Binärdaten in Text und bietet auf 32 Zeichen rund 192 Bit Entropie. Hex, in Hexadezimalschreibweise dargestellt, bietet gute Lesbarkeit bei 256-Bit-Sicherheit auf 64 Zeichen. Das alphanumerische Format verwendet nur Buchstaben und Zahlen, um URL-kompatibel zu bleiben, und das Hinzufügen von Präfixen (sk_, api_) ermöglicht eine einfache Identifizierung des Schlüsseltyps. Stripe, AWS und OpenAI verwenden jeweils unterschiedliche Schlüsselformate, um dienstspezifische Schlüssel zu unterscheiden.

03

3. UUID vs. zufällige Zeichenketten

UUID v4 ist ein standardisierter 128-Bit-Identifikator, der weltweite Eindeutigkeit gewährleistet. Das Format 8-4-4-4-12 (z. B.: 550e8400-e29b-41d4-a716-446655440000) hat eine klare Struktur gemäß dem RFC-4122-Standard. Benutzerdefinierte zufällige Zeichenketten bieten hingegen Flexibilität bei Länge und Format. Während sich UUID gut als Primärschlüssel einer Datenbank eignet, ist eine zufällige Zeichenkette kompakter und praktischer für einen API-Schlüssel. Die Sicherheitsstärke ist vergleichbar, aber bei einer zufälligen Zeichenkette lässt sich eine Validierungslogik durch Präfixe und Prüfsummen leichter implementieren.

04

4. Empfehlungen zur Speicherung von Schlüsseln

Speichern Sie einen API-Schlüssel niemals im Klartext. Legen Sie ihn in Umgebungsvariablen (.env) ab und fügen Sie diese Datei zu .gitignore hinzu, um sie von der Versionskontrolle auszuschließen. In der Produktion verwenden Sie dedizierte Secret-Management-Systeme wie AWS Secrets Manager, HashiCorp Vault oder Azure Key Vault. Bei der Speicherung in einer Datenbank wandeln Sie den Schlüssel in einen Hash (SHA-256) um und wenden bei Bedarf eine Verschlüsselung (AES-256) an. Vermeiden Sie es, Schlüssel fest im Code zu hinterlegen; nutzen Sie stattdessen Docker-Secrets oder Kubernetes-Secrets. Maskieren Sie Schlüssel in Protokollen, um jede Offenlegung zu vermeiden, und überwachen Sie den Nutzungsverlauf der Schlüssel.

05

5. Richtlinien zur Schlüsselrotation

API-Schlüssel sollten regelmäßig erneuert werden. Es ist üblich, sie alle 90 Tage zu rotieren und bei Verdacht auf ein Leck sofort zu widerrufen. Für eine Rotation ohne Serviceunterbrechung aktivieren Sie zwei Schlüssel gleichzeitig, wechseln zum neuen Schlüssel und deaktivieren anschließend den alten. AWS IAM und Google Cloud API-Schlüssel bieten Funktionen zur automatischen Rotation. Legen Sie für jeden Schlüssel ein Ablaufdatum fest, um alte Schlüssel automatisch ungültig zu machen, und protokollieren Sie den Rotationsverlauf in einem Prüfprotokoll. Die Verwendung einer tokenbasierten Authentifizierung wie OAuth 2.0 oder JWT anstelle von API-Schlüsseln bietet mit automatischem Ablauf eine bessere Sicherheit.

06

6. Ratenbegrenzung und Nutzungsbeschränkungen

Wenden Sie stets eine Ratenbegrenzung (Rate Limiting) auf API-Schlüssel an, um Missbrauch zu verhindern. Legen Sie Grenzwerte wie 100 Anfragen pro Minute und IP oder 1.000 pro Stunde und Schlüssel fest. Richten Sie Kontingente ein, um die maximale Anzahl täglicher Aufrufe zu begrenzen, und geben Sie bei Überschreitung den Statuscode 429 Too Many Requests zurück. Konfigurieren Sie IP-Whitelists, um die Nutzung des Schlüssels nur von bestimmten Adressen aus zuzulassen, und erkennen Sie ungewöhnliche Muster (viele Anfragen in kurzer Zeit) zur automatischen Sperrung. API-Gateways wie Cloudflare, Kong oder AWS API Gateway erleichtern die Umsetzung der Ratenbegrenzung. Legen Sie schlüsselspezifische Berechtigungen (Scopes) fest, um den Zugriff auf Nur-Lesen, Nur-Schreiben usw. zu beschränken.

Häufig gestellte Fragen

Werden die erzeugten Schlüssel an einen Server gesendet?
Nein. Alle Schlüssel werden ausschließlich in Ihrem Browser erzeugt und niemals an einen Server gesendet; die Nutzung ist somit risikofrei.
Welches Format sollte ich wählen?
Im Allgemeinen ist UUID v4 aufgrund seiner geringen Kollisionswahrscheinlichkeit weit verbreitet. Wählen Sie Alphanumerisch für URL-Kompatibilität oder Hex für bessere Lesbarkeit.