JCS
JSON Canonicalization Scheme, RFC 8785
Worum es geht
JCS erzeugt aus JSON eine deterministische Byte-Darstellung. Das ist notwendig, weil JSON selbst mehrere gleichwertige Schreibweisen erlaubt: andere Eigenschaftsreihenfolge, Whitespace oder Zahlendarstellung können semantisch identisch sein, aber unterschiedliche Signaturwerte erzeugen.
Kernregeln
RFC 8785 baut auf I-JSON und ECMAScript-Serialisierung auf. Whitespace wird entfernt, Objekt-Eigenschaften werden deterministisch sortiert, Strings und Zahlen werden in einer festgelegten Form serialisiert und das Ergebnis wird als UTF-8 verarbeitet. Anwendungen müssen weiterhin sicherstellen, dass keine mehrdeutigen oder nicht unterstützten JSON-Konstrukte akzeptiert werden.
Bezug zu TIAL
Für TIAL ist JCS der Schritt vor der Signatur. Erst wird ein Industrial Action oder Audit Event kanonisch serialisiert, dann wird genau diese Bytefolge signiert. Dadurch kann ein Prüfer später erkennen, ob Inhalt, Reihenfolge der Datenfelder oder versteckte Transformationen das geprüfte Objekt verändert haben.