Begriffe

📖Glossar

Alle Fachbegriffe rund um das KDBX-Format – kurz erklärt.
AES-256-CBC

Blockchiffre AES (FIPS 197) mit 256-Bit-Schlüssel im Cipher-Block-Chaining-Modus; in KDBX mit 16-Byte-IV und PKCS#7-Padding. UUID 31C1F2E6-BF71-4350-BE58-05216AFC5AFF.

AES-KDF

Schlüsselableitung aus KDBX 3.1: beide Hälften des Composite Keys R-mal mit AES-256-ECB verschlüsseln (Schlüssel = Seed), danach SHA-256. Rechen-, aber nicht speicherintensiv.

Argon2d / Argon2id

Speicherharte Schlüsselableitung (RFC 9106) mit den Parametern Speicher m, Iterationen t, Parallelität p. Argon2d greift datenabhängig auf den Speicher zu, Argon2id im ersten halben Durchlauf datenunabhängig.

Binary

Dateianhang eines Eintrags. KDBX 4: im inneren Header (Typ 3) mit Flag-Byte, KDBX 3.1: Base64 in Meta/Binaries.

ChaCha20

Stromchiffre nach RFC 8439 (256-Bit-Schlüssel, 96-Bit-Nonce). In KDBX 4 als Daten-Chiffre wählbar und Standard für den Innenstrom.

CipherID

Header-Feld 2: 16-Byte-UUID der Daten-Chiffre.

Composite Key

SHA-256 über alle aneinandergehängten Schlüsselbestandteile: SHA-256(Passwort), Schlüsseldatei-Schlüssel, ggf. Windows-Benutzerkonto.

CompressionFlags

Header-Feld 3: 0 = keine Kompression, 1 = GZip.

Encrypt-then-MAC

Erst verschlüsseln, dann über den Chiffretext einen MAC bilden. Beim Öffnen wird zuerst der MAC geprüft, dann entschlüsselt.

EncryptionIV

Header-Feld 7: Initialisierungsvektor bzw. Nonce der Daten-Chiffre (16 Byte AES, 12 Byte ChaCha20); bei jedem Speichern neu.

EndOfHeader

Feld mit ID 0 – beendet den Header. KeePass schreibt 0D 0A 0D 0A als Inhalt, der beim Lesen ignoriert wird.

gzip

Kompressionsformat nach RFC 1952: Magic 1F 8B, Methode 08 (Deflate), Deflate-Daten, CRC-32 und Länge am Ende.

HMAC-SHA-256

Schlüsselabhängige Prüfsumme (RFC 2104). In KDBX 4 für Header und jeden Block, jeweils mit eigenem Schlüssel.

HMAC-Basisschlüssel

K = SHA-512(MasterSeed ‖ TransformedKey ‖ 0x01); daraus Blockschlüssel Kᵢ = SHA-512(UInt64LE(i) ‖ K).

Innerer Header

KDBX 4: verschlüsselter und komprimierter Bereich vor dem XML mit Innenstrom-ID, Innenstrom-Schlüssel und Anhängen.

Innenstrom (Inner Random Stream)

Fortlaufender Schlüsselstrom, mit dem geschützte XML-Werte per XOR verschleiert werden (KDBX 4: ChaCha20, KDBX 3.1: Salsa20).

KdfParameters

Header-Feld 11 (KDBX 4): VariantDictionary mit $UUID der KDF und deren Parametern (S, R bzw. M, I, P, V).

KDBX

Dateiformat von KeePass 2.x; erkennbar an den Signaturen 0x9AA2D903 und 0xB54BFB67.

Little Endian

Byte-Reihenfolge mit dem niederwertigsten Byte zuerst; gilt für alle Zahlen in KDBX.

MasterSeed

Header-Feld 4: 32 Zufallsbytes, die mit dem Transformed Key zum Verschlüsselungs- und HMAC-Schlüssel verrechnet werden.

MemoryProtection

Meta-Einstellung, welche Standardfelder (Titel, Benutzername, Passwort, URL, Notizen) als Protected="True" gespeichert werden.

PKCS#7-Padding

Auffüllen auf volle 16-Byte-Blöcke mit n Bytes des Werts n (1 ≤ n ≤ 16).

Protected="True"

XML-Attribut: der Wert steht als Base64 des mit dem Innenstrom verschleierten Klartexts im Dokument.

PublicCustomData

Header-Feld 12 (KDBX 4): unverschlüsselte Plugin-Daten als VariantDictionary.

Salsa20

Stromchiffre von D. J. Bernstein; Innenstrom von KDBX 3.1 mit fester Nonce E8 30 09 4B 97 20 5D 2A.

Schlüsseldatei

Zusätzlicher Schlüsselbestandteil. XML 2.0: Schlüssel als Hex in <Data> mit 4-Byte-Prüfsumme; 32 Byte binär oder 64 Hex-Zeichen direkt; sonst SHA-256 des Inhalts.

StreamStartBytes

KDBX 3.1, Header-Feld 9: 32 Byte, die nach dem Entschlüsseln am Anfang stehen müssen – dient als Passwort-Test.

TLV

Type-Length-Value: Feldkennung, Länge, Daten. Aufbau der Header in KDBX.

Transformed Key

Ausgabe der KDF (32 Byte), aus der zusammen mit dem MasterSeed alle Schlüssel entstehen.

VariantDictionary

Typisiertes Schlüssel-Wert-Format von KDBX 4: Version 0x0100, Einträge [Typ][Int32 Namenslänge][Name][Int32 Wertlänge][Wert], Nullbyte am Ende.

30 Begriffe