Katalog
concept#Sicherheit#Daten#Architektur

Hash-Algorithmen

Deterministische Funktionen zur Erzeugung fester Prüfsummen aus beliebigen Eingaben, genutzt für Integrität, Indizierung und kryptografische Primitive.

Hash-Algorithmen sind deterministische Funktionen, die beliebige Eingaben auf feste Ausgabelängen abbilden; sie dienen Integritätsprüfungen, Prüfsummen, Indexierung und kryptografischen Anwendungen.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

TLS/SSL-Stacks, ZertifikatsinfrastrukturSpeichersysteme mit Content-Addressing (z. B. Objekt- oder Blob-Stores)Authentifizierungs- und Secrets-Management-Systeme

Prinzipien & Ziele

Wähle Algorithmen mit nachgewiesener kryptografischer Stärke und aktiver Wartung.Vermeide alleinige Abhängigkeit von Hashes für Authentifizierung; kombiniere mit Salt/KDFs für Passwörter.Berücksichtige Performance-, Kompatibilitäts- und Migrationsanforderungen bei der Auswahl.
Umsetzung
Unternehmen, Domäne, Team

Use Cases & Szenarien

Kompromisse

  • Verwendung gebrochener Algorithmen (z. B. MD5, SHA-1) führt zu Integritätsverletzungen.
  • Falsche Implementierung kann Timing-Angriffe oder Side-Channel-Lecks verursachen.
  • Unbeachtete Kompatibilitätsanforderungen erschweren Migration auf stärkere Algorithmen.
  • Verwende zeitgemäße, empfohlene Algorithmen (z. B. SHA-2/3, BLAKE2, Argon2 für KDF).
  • Verwende geprüfte Bibliotheken statt eigener Kryptografie-Implementationen.
  • Speichere Metadaten (Algorithmus, Parameter, Salt) zusammen mit dem Hash für zukünftige Verifikation.

I/O & Ressourcen

  • Eingabedaten (Bytes) oder Streams zum Hashen
  • Sicherheitsanforderungen (z. B. Kollisionsresistenz)
  • Performance- und Kompatibilitätsanforderungen
  • Fester Digest/Hashwert
  • Metainformationen (Algorithmusversion, Salt, KDF-Parameter)
  • Integritäts- oder Konsistenzindikatoren für nachfolgende Prozesse

Beschreibung

Hash-Algorithmen sind deterministische Funktionen, die beliebige Eingaben auf feste Ausgabelängen abbilden; sie dienen Integritätsprüfungen, Prüfsummen, Indexierung und kryptografischen Anwendungen. Wichtige Eigenschaften sind Kollisions- und Preimage-Resistenz sowie Geschwindigkeit. Die Auswahl erfordert Abwägungen zwischen Sicherheit, Leistung und Kompatibilität; veraltete Algorithmen (MD5, SHA-1) sollten vermieden werden.

  • Effiziente Integritätsüberprüfung und Vergleich großer Datenmengen.
  • Ermöglicht Content-Addressing und einfache Indexierung.
  • Grundbaustein für viele kryptografische Protokolle und Signaturverfahren.

  • Keine Geheimhaltung: Hashes sind nicht reversibel, aber nicht geheim.
  • Anfällig bei veralteten Algorithmen gegenüber Kollisionen und Angriffen.
  • Allein für Passwortspeicherung unzureichend ohne Salt und KDF-Parameter.

  • Kollisionswahrscheinlichkeit

    Wahrscheinlichkeit, dass zwei unterschiedliche Eingaben denselben Digest erzeugen; wichtig zur Einschätzung Sicherheit.

  • Durchsatz (MB/s)

    Verarbeitete Datenmenge pro Sekunde bei gegebener Implementierung/Hardware.

  • Latenz pro Hash

    Zeitdauer zur Berechnung eines einzelnen Hashwerts; relevant für Echtzeitanwendungen.

Git Objekt-Hashes (historisch SHA-1)

Git verwendet Hashes zur inhaltsbasierten Identifikation von Commits und Objekten; Migrationen auf sicherere Algorithmen sind aktiv.

SHA-256 in TLS und Zertifikaten

SHA-256 wird weit verbreitet zur Signatur- und Integritätsprüfung in TLS-Zertifikaten und Signaturketten eingesetzt.

BLAKE2 für schnelle Integritätsprüfungen

BLAKE2 bietet hohe Geschwindigkeit und gute kryptografische Eigenschaften; beliebt in Performance-kritischen Systemen.

1

Bewertung der Sicherheits- und Performance-Anforderungen sowie bestehender Abhängigkeiten.

2

Auswahl eines geeigneten, aktuellen Algorithmus und geprüfter Bibliotheken.

3

Implementierung mit korrekter Handhabung von Salt/KDF-Parametern, Tests und Planung einer Migrationsstrategie.

⚠️ Technische Schulden & Engpässe

  • Alte Datenbanken mit MD5-/SHA-1-Hashes erfordern Migrationsaufwand.
  • Fehlende Dokumentation zu verwendeten Hash-Parametern in Systemen.
  • Monolithische Komponenten, die Algorithmen hartkodieren und Migration blockieren.
Rechenleistung bei großen DatenmengenLegacy-Kompatibilität mit veralteten AlgorithmenI/O- und Durchsatz-Limits bei paralleler Hash-Berechnung
  • MD5 zur Passwortspeicherung in einer Webanwendung verwenden.
  • Nur Hashes ohne Salt in Multi-Tenant-Systemen verwenden.
  • Hashes als alleinige Maßnahme zur Zugriffskontrolle einsetzen.
  • Übersehen von notwendigen Metadaten (Algorithmusversion, Salt) verhindert spätere Verifikation.
  • Falsche Annahme, dass ein langer Hash automatisch sicher ist.
  • Unzureichende Prüfung von Bibliotheken auf Side-Channel-Verhalten.
Grundlagen der Kryptographie und AngriffsmodelleErfahrung mit sicheren Implementierungen und BibliothekenKenntnis von Protokollen und Migrationsstrategien
Integritätsschutz und Nachweisbarkeit von DatenAnforderungen an Performance und SkalierbarkeitRegulatorische und Compliance-Vorgaben für Datensicherheit
  • Vorhandene Protokolle können bestimmte Hash-Algorithmen erzwingen.
  • Regulatorische Vorgaben können Mindeststärken vorschreiben.
  • Ressourcenbegrenzungen auf eingebetteten Systemen schränken Auswahl ein.