Was dieses Verfahren nicht leistet. Diese Liste gehört in jedes Gespräch: wer sie verschweigt, verkauft etwas anderes als beschrieben.
1 ML-KEM steckt nicht in Web Crypto – der Baustein muss mit
Die Web Crypto API enthält kein ML-KEM und wird es auf absehbare Zeit nicht enthalten. Der post-quantum Anteil kommt ausschließlich aus der mitgelieferten Datei von INX System Solution. Fehlt sie, gibt es keinen post-quantum Schutz – und das SDK sagt das dann klar, statt weiterzuarbeiten.
2 Kein Ersatz für Transportverschlüsselung
Das SDK verschlüsselt Inhalte, nicht Verbindungen. HTTPS bleibt Pflicht – schon deshalb, weil Web Crypto ohne sicheren Kontext gar nicht bereitsteht. Wer das SDK selbst über eine manipulierbare Verbindung ausliefert, kann sich alles Weitere sparen: dann tauscht ein Angreifer einfach das Skript aus.
3 Keine Signaturen, keine Absenderprüfung
ML-DSA und SLH-DSA sind nicht Teil des Pakets. Jeder, der den öffentlichen Schlüssel kennt, kann einen gültigen Umschlag erzeugen. Ein Umschlag beweist, dass ihn jemand für diesen Empfänger erstellt hat – nicht, wer. Wer Absenderechtheit braucht, muss sie zusätzlich bauen.
4 Kein Vertrauensmodell, keine Schlüsselverteilung
Das SDK sagt nichts darüber, ob ein öffentlicher Schlüssel wirklich dem gewünschten Gegenüber gehört. Wird er auf dem Weg ausgetauscht, verschlüsselt der Absender einwandfrei – an den Angreifer. Fingerabdrücke, Vergleich über einen zweiten Kanal oder Zertifikate sind Aufgabe der einbindenden Anwendung.
5 Schlüsselverwaltung bleibt bei Ihrer Anwendung
Wo private Schlüssel liegen, wie lange und wie sie gewechselt werden, entscheidet das SDK nicht. Ausgegeben werden sie im Klartext; sie danach zu schützen ist Ihre Aufgabe. In JavaScript gibt es außerdem keinen sicheren Speicher, und gegen Schadcode auf derselben Seite schützt kein Verschlüsselungsverfahren.
6 Keine dauerhafte Vorwärtssicherheit
Der X25519-Anteil des Absenders ist flüchtig, der Schlüssel des Empfängers ist langlebig. Wird der private Empfängerschlüssel später bekannt, sind alle zuvor an ihn gerichteten Umschläge lesbar. Echte Vorwärtssicherheit braucht regelmäßigen Schlüsselwechsel oder ein Ratschenverfahren – beides ist hier nicht enthalten.
7 Kein Schutz gegen Wiedereinspielen, der Zeitstempel beweist nichts
Geschützt sind nur die Nutzdaten. Kennung, Version und Zeitstempel liegen außerhalb des Prüfwerts und können unbemerkt verändert werden. Ein unverändert erneut eingespielter Umschlag entschlüsselt klaglos ein zweites Mal. Wer Reihenfolge oder Einmaligkeit braucht, legt einen Zähler in die Nutzdaten.
8 Metadaten bleiben sichtbar
Die Länge der Nutzdaten ist am Umschlag ablesbar, ebenso Zeitpunkt und Umstände der Übertragung. Wer das verbergen muss, füllt die Nutzdaten auf feste Größen auf.
9 Keine Zusagen zu Seitenkanälen
Vergleiche laufen ohne frühen Abbruch, und die Umsetzung bemüht sich um laufzeitkonstante Verarbeitung. In JavaScript ist Konstanzeit aber nicht garantiert. Gegen einen Angreifer mit feiner Zeitmessung auf demselben Gerät ist keine Zusage möglich.
10 Keine Zertifizierung, kein externer Prüfbericht
Es liegt keine BSI-Zertifizierung vor und kein externer Kryptoaudit. ML-KEM-768 ist von der NIST standardisiert (FIPS 203) – das betrifft das Verfahren, nicht diese Umsetzung. Wer eine bescheinigte Umsetzung braucht, braucht eine Zertifizierung; dieses SDK ist keine.
11 Was bleibt
Nach allen Abstrichen bleibt ein belastbarer Kern: ein hybrides Schlüsselgeheimnis aus X25519 und NIST-standardisiertem ML-KEM-768, das nur fällt, wenn beide Verfahren fallen – und damit wirksamer Schutz gegen „heute mitschneiden, später entschlüsseln“. Das ist eine ehrliche und starke Aussage. Mehr braucht es nicht.
Der begrenzende Baustein ist X25519 in der Web Crypto API. ML-KEM-768 stellt keine Anforderung an den Browser – es läuft als JavaScript aus der mitgelieferten Datei.
HTTPS
Zusätzlich Pflicht: Auslieferung über HTTPS. Ohne sicheren Kontext stellt der Browser die Web Crypto API nicht bereit. Fehlt X25519, bricht das SDK ab – es gibt bewusst keinen Notbehelf auf ein schwächeres Verfahren, weil das die Zusage des Hybrids aushebeln würde, ohne dass es jemand merkt.