Can we use Shadowsocks-2022 AEAD to enhance the existing BitTorrent encryption (traffic obfuscation)?
After reviewing the specifications for Peer Connection Encryption (
https://tixati.com/specs/bittorrent/peer_connections/crypto ), I propose using the existing encryption/traffic obfuscation stack from Shadowsocks within the
BitTorrent V3.1 specification (
https://tixati.com/specs/bittorrent/v3.1 ) to replace the legacy RC4 encryption and handshake mechanism.
Shadowsocks-2022-AEAD (also referred to as SIP-022 by the original project) is a highly efficient and cryptographically secure traffic obfuscation scheme (though it does not provide forward secrecy).
The specifications for Shadowsocks-2022 (SIP-022) are available here:
https://shadowsocks.org/doc/sip022.html
I believe that for BitTorrent traffic obfuscation purposes, utilizing the 2022-blake3-chacha8-poly1305 cipher/obfuscation suite defined in SIP-022 would be sufficient to achieve the objective while maintaining low overhead.
Given that BitTorrent V3.1 has not yet become an official BEP, I suggest that incorporating this be considered.
Key Advantages of Shadowsocks-2022 (SIP-022):
Inherent Obfuscation: Shadowsocks-2022 provides intrinsic traffic obfuscation. The entropy introduced by the authentication TAGs effectively replaces the need for the explicit random padding currently used in BitTorrent traffic.
Superior Efficiency: The key derivation method (BLAKE3) and the encryption ciphers (ChaCha8/12/20-Poly1305) used in Shadowsocks-2022 offer significantly higher performance and cryptographic efficiency compared to the legacy RC4 algorithm.
Integrity & Anti-Probing: The built-in data integrity verification (AEAD) protects against data corruption caused by middleboxes (whether malicious or accidental). Furthermore, Shadowsocks-2022 features robust anti-probing capabilities to prevent active detection.
Handshake Compatibility: The existing Diffie-Hellman (DH) key exchange mechanism used in MSE remains compatible and can be retained to negotiate the session keys for the Shadowsocks layer.