According to https://www.reddit.com/r/WebRTC/comments/1q09o4h/comment/nx7lk8e/
We have 3 level security model:
Level 1: Direct WebRTC transport security
WebRTC DataChannels/media are protected with DTLS/SRTP end-to-end; relays (including TURN) cannot decrypt the payload.
Level 2: Application-layer E2EE over HTTPS relays (Passive-Relay Model)
When traffic goes through an HTTPS relay/tunnel, payloads are additionally protected with hybrid encryption (RSA-OAEP + HKDF + AES-GCM chunking). Passive relays, packet captures, or stored ciphertext cannot reveal file contents. This level does not claim resistance to an active relay that can tamper with handshake traffic or inject client code. (This is the current CLI status).
Level 3: Active-relay / MITM-resistant mode (Authenticated E2EE)
If the relay/tunnel is considered malicious (active MITM), the receiver must load the decryption client from a trusted delivery channel (e.g., GitHub Pages) and verify sender responses (e.g., signatures / pinned identity key) so that a relay can’t silently substitute keys or content. This eliminates silent MITM by the relay.
We should migrate Level 3 implementation from Enterprise GUI version to Open Source version.
According to https://www.reddit.com/r/WebRTC/comments/1q09o4h/comment/nx7lk8e/
We have 3 level security model:
Level 1: Direct WebRTC transport security
WebRTC DataChannels/media are protected with DTLS/SRTP end-to-end; relays (including TURN) cannot decrypt the payload.
Level 2: Application-layer E2EE over HTTPS relays (Passive-Relay Model)
When traffic goes through an HTTPS relay/tunnel, payloads are additionally protected with hybrid encryption (RSA-OAEP + HKDF + AES-GCM chunking). Passive relays, packet captures, or stored ciphertext cannot reveal file contents. This level does not claim resistance to an active relay that can tamper with handshake traffic or inject client code. (This is the current CLI status).
Level 3: Active-relay / MITM-resistant mode (Authenticated E2EE)
If the relay/tunnel is considered malicious (active MITM), the receiver must load the decryption client from a trusted delivery channel (e.g., GitHub Pages) and verify sender responses (e.g., signatures / pinned identity key) so that a relay can’t silently substitute keys or content. This eliminates silent MITM by the relay.
We should migrate Level 3 implementation from Enterprise GUI version to Open Source version.