Expand description
Builtin Pre-Shared-Key Cryptographic-Plugin (Spec §10.9).
Spec-Class-Id "DDS:Crypto:PSK:AES-GCM-GMAC:1.2". Wire-Layout
ist identisch zum X.509-Pfad (AesGcmCryptoPlugin) — Spec
§10.9 garantiert das ausdruecklich. Unterschied: die Master-Keys
werden via HKDF-SHA256 direkt aus dem Pre-Shared-Key abgeleitet
statt aus einem DH-Shared-Secret.
Im SRTPS_PREFIX-Submessage-Header setzt der PSK-Pfad den
PreSharedKeyFlag (Spec §10.9.1) — siehe
zerodds_security_rtps::PRE_SHARED_KEY_FLAG.
§Architektur
Composition statt Inheritance: PskCryptoPlugin haelt einen
AesGcmCryptoPlugin und delegiert AEAD-Hot-Path-Calls (encrypt,
decrypt, multi-MAC, …) 1:1 an ihn. Die einzige Erweiterung ist die
register_psk_local/register_psk_remote-Konfigurations-API: ein Pre-Shared-Key wird
pro (local, remote)-Paar via HKDF expandiert, und der Plugin
schreibt das daraus entstehende KeyMaterial direkt in den
AesGcm-Slot — ohne RNG-Random-Phase.
Structs§
- PskCrypto
Plugin - PSK-Crypto-Plugin. Class-Id
"DDS:Crypto:PSK:AES-GCM-GMAC:1.2", Wire-Layout = AES-GCM-Plugin.
Constants§
- CLASS_
ID_ PSK_ CRYPTO - Plugin-Class-Id (Spec §10.9).
- HKDF_
INFO_ PSK_ MASTER_ KEY - HKDF-Info-String fuer Master-Key-Derivation aus dem Pre-Shared- Key. Spec-konformer Domain-Separator (§10.9.2).