shadowsocks / shadowsocks/shadowsocks-org
Possibility of downgrading into null-cipher at the sender's discretion
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 1k
- Forks
- 695
- PR merge metrics
- No merged PRs in 30d
Description
Hi. After going through the new AEAD specs, I realized the new chunked format could allow for encryption-downgrade at some point in the middle of a live connection. For example, a server may choose to only use AEAD for the handshake part of the TLS/SSL payload, but downgrade the encryption to null-level after TLS-handshake completion. This can be signaled with "encryption payload lengh"=0 in the
[encrypted payload length][length tag][encrypted payload][payload tag] part, indicating that all the upcoming bytes are raw-stream without encryption.
This is especially helpful when the clients/servers are on low performance boxes like openvz vps or mips routers, and encryption overhead considered non-trivial. End-points could use policy like "drop encryption after 4kb for port 443".
Any cons?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the proposed chunked format in the issue body and review the referenced AEAD and TLS/SSL assumptions. Determine whether a sender-controlled transition to raw-stream bytes is an intended protocol change and document the security, interoperability, and policy requirements. Done means the proposal has a resolved design and implementation scope.
Written by the indexing model from the issue text.
Assessment
- Domain
- cryptography, networking, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100