Skip to main content

Module psk_plugin

Module psk_plugin 

Source
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§

PskCryptoPlugin
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).