自签一个 www.apple.com 证书,流量上有什么破绽?

2023-06-21 17:33:14 +08:00
 iqoo

客户端信任该证书。流量上识别到该连接的 SNI 是 www.apple.com ,是否还有其他细节能看出和官方的证书不同?只考虑 TLSv1.3 协议。

5630 次点击
所在节点    程序员
29 条回复
MFWT
2023-06-21 17:44:11 +08:00
理论上做的不仔细的话,证书颁发机构之类的细节会暴露(当然也可以自签名一个就是了)
不过我也不确定会不会看得那么仔细,还是说就看 SNI 算了
estk
2023-06-21 17:44:28 +08:00
shadowtls ?
choury
2023-06-21 18:11:53 +08:00
如果是用浏览器访问的话,最大的问题是怎么绕过 ct (证书透明度)
billlee
2023-06-21 18:29:46 +08:00
TLS 1.3 的服务器证书是加密传输的吧,被动监听看不到证书。主动探测那就没办法了。
leaflxh
2023-06-21 19:07:28 +08:00
网监:小伙子天天 window shopping
documentzhangx66
2023-06-21 21:28:25 +08:00
当客户端信任你的自签证书后,你就相当于 CA ,你在客户端上就相当于可信 CA 。

然后你给 www.apple.com 签证书,并且改 DNS 做一个假 www.apple.com 网站,整个流程上,假 www.apple.com 对于客户端来说,其实就是真网站了。
LeviMarvin
2023-06-21 21:40:40 +08:00
@choury Google 对 Chromium 内核浏览器( Chrome ,Edge 等)的 CT 策略是,证书必须有 Google CT 服务器(不可为测试服务器)和第三方 CT 服务器。可以考虑搭建一个公开的 CT 服务器,我之前搭建过一个并将 SCT 信息嵌入到证书中。但是在我研究的时候发现,这方面公开技术文档几乎为 0 ,官方的说法是:对于第三方根证书信任链签发的 SSL 证书不需要 CT
xabcstack
2023-06-21 21:44:44 +08:00
真的吗 我不信 ~
nobody123123
2023-06-21 21:58:29 +08:00
发现主动探测,直接把 tcp 流量转发到真的 Apple. 可行吗
Zy143L
2023-06-22 00:57:20 +08:00
之前看还有一个说法是
对你主动监测了,你 tm 看天天大流量看 apple 商店
怎么看都不对劲
choury
2023-06-22 01:15:19 +08:00
@LeviMarvin 你自己搭有什么用啊,chrome 信任的 CT 服务器的公钥是硬编码在代码里的,它又不信任你搞得那个
Aloento
2023-06-22 03:55:50 +08:00
@Zy143L #10 这时候就需要 speedtest 出马了
baobao1270
2023-06-22 06:34:58 +08:00
没有不同吧
popzuk
2023-06-22 06:56:06 +08:00
那个 shadowtls 和 reality 比这更进一步,直接用别人的证书。然而,这种方法如果大规模使用,会不会使用 dns 或者 as 号来对应之类的就不清楚了。
LeeReamond
2023-06-22 08:06:15 +08:00
@choury 确实是这么回事,我记得 chrome 是有硬编码的,所以看这个帖子的时候很疑惑没明白 OP 想干什么
yylzcom
2023-06-22 09:52:48 +08:00
@LeeReamond #15 翻墙用的,肯定不是给正常浏览器

@iqoo 虽然墙这个东西是黑盒,然而就我的经验来说,用的 ws+tls+vmess, 自己的服务器 /域名 /网站。我自己常年用都没事(稳定四年),但敏感期的时候共享给老婆用,同样的配置给一个封一个。所以,客户端因素不可忽略。她就用来玩个 Candy Crush Saga 连接服务器领奖励。
iqoo
2023-06-22 11:06:39 +08:00
@estk
@popzuk

shadowtls 出来之前就用试过类似的方案了,但反代会浪费流量。如果握手环节没破绽,不会自签更节省。

主动探测也是没用的,因为服务端只允许自己的 ip 访问。
e3c78a97e0f8
2023-06-22 11:12:28 +08:00
@Zy143L 这个说法只有在人工监控的时候有意义。对于自动化的监控,GFW 很难判断哪个域名有多少流量是合理的。
jinliming2
2023-06-22 11:31:41 +08:00
和官方证书的明显不同:证书颁发机构不是可信的颁发机构。正常的证书是由公共可信的 DigiCert 根的 Apple Public 中间证书签发的,而你的证书则是一个由不是公共可信的根证书颁发机构颁发的证书。
如果你用的是 TLS1.2 的话,那中间人完全能知道你连接的这个地址证书不正常。
而如果你用了 TLS1.3 ,那 Server Certificate 包是加密的,中间人没办法直接知道证书是否正常,但是你拦不住人家主动探测。如果你的流量特征不太正常(比如大流量),就把你的 IP 和 SNI 记下来,然后主动探测访问一下,就知道证书是否正常了。

另外,即便你能搞到受公共可信 CA 颁发的 apple.com 的证书也不行,因为 apple.com 的 DNS 记录里有 CAA 记录的,不允许其他 CA 颁发这个域名的证书(君子协议,正规可信的 CA 都会遵守),所以你的 CA 不一样肯定有问题。
ruankaopai
2023-06-22 11:37:30 +08:00
https://www.v2ex.com/t/950826 Thanks♪(・ω・)ノ

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/950718

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX