The use of TLS in Censorship Circumvention

September 18, 2019
tls web

The use of TLS in Censorship Circumvention

Abstract

  1. collect and analyze TLS Client Hello messages
  2. analyze existing censorship circumvention projects that use
  3. develop a library, uTLS, that allows developers to easily mimic arbitrary TLS handshakes of popular implementations

真实访问TLS的特征

  1. Client Hello
  2. Server Hello
  3. Connection-specific information
  4. BroserStack

获取了诸如 chrome 等ssl客户端的tls指纹。

Client Hello fingerpoints

99.96% of all connections use one of top 5000 Client Hello fingerprints, and one of top 1310 Server Hello fingerprints.

空间上对于指纹进行聚类算法分组(chrome、microsoft exchange,tls1.3 组等)。 时间上指纹和censor也会发生变化。

SNI fingerpoints

逃避审查应用的特征

检查了比如 lantern、Outline(shadowsocks 衍生)等需要逃避审查的应用程序使用 TLS 时产生的特征。

他们通常使用模仿chrome等的特征或者随机化密码学参数的方式来逃避审查。

结论是很多应用的特征与上文提到的搜集到的特征距离较远。

uTLS

基于golang的crypto/tls。 支持提供方便的模仿出数据库中的对于特征。 可以构造虚假的sessionid 免去证书认证等。 支持TLS1.3(提供更好的保护)

future work

只考虑了在 TLS 握手阶段的特征,没有考虑加密数据的长度和频率在时空上的特征。

Quic Protocal Part 5:TLS 1.3 in QUIC

November 19, 2019
quic web

Quic Protocal Part 4:出错校验、拥塞控制

November 19, 2019
quic web

Quic Protocal Part 3:包和帧

November 19, 2019
quic web