FINDING · DEFENSE
TapDance introduces chosen-ciphertext steganography, which allows the client to embed an arbitrary-length hidden message inside a valid TLS ciphertext without invalidating the TLS MAC or session. By exploiting ciphertext malleability in both stream-cipher (counter) mode and CBC mode, the client can choose specific byte values to appear in the ciphertext while constraining plaintext to a safe ASCII range (0x40–0x7F), encoding 6 bits of tag data per ciphertext byte. This provides unbounded covert-channel bandwidth, compared to the fixed 224-bit TLS nonce used by Telex and Decoy Routing or the 24-bit TCP ISN used by Cirripede.
From 2014-wustrow-tapdance — TapDance: End-to-Middle Anticensorship without Flow Blocking · §3, §6 · 2014 · USENIX Security Symposium
Implications
- Embedding covert signals in application-layer ciphertext (post-handshake TLS data) rather than fixed handshake fields removes size constraints and eliminates the need for multiple flows to convey a full tag.
- Constrain the resulting plaintext to a plausible ASCII character class so that any middlebox inspecting plaintext (e.g., via TLS interception) does not observe anomalous byte patterns.
Tags
Extracted by claude-sonnet-4-6 — review before relying.