shadowsocks / shadowsocks/shadowsocks-org

Possibility of downgrading into null-cipher at the sender's discretion

Open
#80 13 comments 1 reaction 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.