XMSS (eXtended Merkle Signature Scheme) ist ein Post-Quanten-Signaturverfahren, das ausschließlich auf kryptografischen Hashfunktionen aufbaut. Es wurde 2018 in RFC 8391 standardisiert und 2020 von NIST in SP 800-208 für die Firmware-Signierung empfohlen.
Wie funktioniert XMSS?
XMSS kombiniert Einmalsignaturen mit einem Merkle-Baum: Jedes Blatt des Baums trägt einen WOTS+-Schlüssel (Winternitz One-Time Signature Plus), ein L-Tree komprimiert dessen öffentlichen Schlüssel zu einem Blattwert. Die Wurzel des Baums ist der öffentliche Schlüssel, mit dem beliebig viele Signaturen verifiziert werden können — jede Signatur verbraucht genau einen Einmalschlüssel. Die Multi-Tree-Variante XMSS^MT verschachtelt mehrere Bäume und erlaubt so sehr viele Signaturen bei schneller Schlüsselerzeugung.
Stateful — der entscheidende Unterschied
XMSS ist zustandsbehaftet: Der private Schlüssel enthält einen Index-Zähler, der nach jeder Signatur weitergeschaltet wird. Wird derselbe Index zweimal verwendet, kann ein Angreifer aus zwei Signaturen den privaten Schlüssel rekonstruieren. Die Anwendung muss den Zustand daher sicher persistieren und vor Verlust oder Replikationsfehlern schützen.
Einsatzgebiete
- Firmware- und Code-Signierung (NIST-Empfehlung SP 800-208)
- Langfristige Archivsignaturen (nur Hash-Annahmen, keine Zahlentheorie)
- Embedded-Systeme: Signaturen deutlich kleiner als bei SLH-DSA (SPHINCS+)
Verwandte Grundlagen: LMS (Leighton-Micali), Post-Quanten-Kryptographie, ML-DSA.