什么是 Reality 协议 Xray-core新协议Reality介绍

REALITY 取代传统的 TLS 服务,可以消除服务端 TLS 指纹特征,同时保留前向保密性等功能,证书链攻击也无效。这样的安全性超越了常规的 TLS。使用 REALITY 可以指向别人的网站,无需自己购买域名和配置 TLS 服务端,更为方便。同时,实现了向中间人呈现指定 SNI 的全程真实 TLS。

  1. 在设计上就把安全等级拉满,限制人的可控范围,最大程度降低人为因素的影响
  2. 信任服务端,客户端不可信,甚至默认客户端持有的节点信息全泄露了
  3. 服务端对客户端是有选择的,比如拒绝版本过低的 Xray-core 连接,防止过时的客户端实现不当害了服务端,比如指纹过时
    以后服务端还可以带信息给客户端,告知客户端有新版了/告知客户端版本过低,要求更新,否则多长时间后不再支持

通常用于代理的目的,目标网站最低标准是支持 TLSv1.3 和 H2 的国外网站,域名非跳转使用(主域名可能被用于跳转到 www)。加分项包括:目标 IP 与代理 IP 相近(更像,且延迟低),在 Server Hello 后的握手消息中一起加密(如 dl.google.com),有 OCSP Stapling。

在配置方面,禁止回国流量,并转发 TCP/80 和 UDP/443 等端口(REALITY 对外表现为端口转发,目标 IP 冷门或许更佳)。

REALITY 也可以搭配 XTLS 以外的代理协议使用,但不建议这样做,因为它们存在明显且已被针对的 TLS in TLS 特征

REALITY 的下一个主要目标是“预先构建模式”,即提前采集目标网站特征,XTLS 的下一个主要目标是 0-RTT

REALITY 不支持套CDN。

REALITY 协议的服务器端实现,是最新Go中 tls 包的一个分支。

对于客户端,请关注:https://github.com/XTLS/Xray-core/blob/main/transport/internet/reality/reality.go

若用REALITY取代TLS,可消除服务端TLS指纹特征,初始化前向保密性等,且证书链攻击无效,安全性超越常规TLS

可以指向别人的网站,消耗自己购买域名、配置TLS服务端,方便,实现向中间人承载指定SNI的全程真实TLS

通常代理用途,目标网站最低标准:国外网站,支持TLSv1.3与H2,域名非跳转用(主域名可能被用于跳转到www)

加分项:IP相近(最多,且延迟低) ,Server Hello 后的握手消息一起加密(如 dl.google.com),有 OCSP Stapling

配置加分项:禁止回国流量,TCP/80、UDP/443 也转发(REALITY 对外即表现为端口转发,目标 IP冷门或许美丽)

REALITY 也可以配合 XTLS 以外的代理协议使用,但不建议这样做,因为它们存在明显且已被针对 TLS 特征中的 TLS

REALITY 的下一个主要目标是“预先构建模式”,即提前采集目标网站特征, XTLS 的下一个主要目标是0-RTT

IYIO - 科学上网 IYIO.NET Xray-core新协议Reality介绍

REALITY客户端应当收到由“临时认证密钥”签发的“临时可信证书”,但以下情况会收到目标网站的真实证书:

  1. REALITY服务端拒绝了客户端的客户端您好,流量被导入目标网站
  2. 客户端的客户端你好被中间人重定向至目标网站
  3. 中间人攻击,可能是目标网站帮忙,也可能是证书链攻击

REALITY客户端可以完美区分临时可信证书、真证书、无效证书,并决定下一步动作:

  1. 收到临时可信证书时,连接可用,一切如常
  2. 收到真证书时,进入爬虫模式
  3. 无效证书时,TLS警报,收到连接