谁能科普下 iCloud+ Private Relay 的技术?

2021-06-09 11:52:26 +08:00
 FaiChou

经过搜索, 发现好多知识盲区, Cloudflare/WARP/WARP+.

平时正常的网络请求, 先 DNS 查询 ip, 本机到路由器再经过中间的一些节点到 DNS 服务器, 再返回服务器 ip 地址,再一节一节到跳转到目标 ip.

如果平时使用科学上网工具, 通过 socks/vemss 等协议到达节点服务器, 节点服务器帮你请求目标 ip, 目标服务器看到的是节点服务器的 ip.

如果使用了 iCloud+ Private Relay :

It ensures that the traffic leaving your device is encrypted and uses two separate internet relays so no one can use your IP address, location, and browsing activity to create a detailed profile about you.

离开设备的请求都是加密的, 没人知道你的 ip. 那从自己家路由器到中间的 relay 肯定是透明的吧, 中间的 relay 最终会去请求目标服务器.

从路由器到中间 relay, 这里面的请求都应该能被 hack 吧? 如果是 https 协议, 信任了中间的服务器的证书, 那中间服务器也能 MitM 解析 https 里面内容吧?

1373 次点击
所在节点    iCloud
23 条回复
codehz
2021-06-09 12:14:56 +08:00
这不就是普通的中转->落地的配置吗,用户到中转节点怎么能不加密呢(
苹果说的顾虑也不是这个问题,它想表达的双重 relay 大概是一个入口节点看到到你的 ip (即使被 isp 监控),但是看不到你所连接的目标 ip,出口节点看的到你所连接的目标 ip,但不知道你的 ip (即使被 isp 监控),这个意思,至于原理,那大概就是两次加密了(
ZRS
2021-06-09 12:30:50 +08:00
运营商和服务商不能同时获取你的信息,运营商不知道你在访问什么,服务商不知道你真实的地址。
swulling
2021-06-09 12:50:44 +08:00
这个是四层代理,不涉及 http 中间人的问题。
morize
2021-06-09 13:01:59 +08:00
楼上说的差不多了,不过有的人看到代理条件反射就觉得是翻墙再去扯政治真是令人无语。
我比较关心的是套了两层,网络速度会受到多大影响,还有 isp 和服务商的 py 交易只是光靠 ip 信息吗?我们现在人均固定 ip 了?见识少想了解一下这方面我们是怎么被画像的。
learningman
2021-06-09 13:06:27 +08:00
@morize 所以本来也不是给你用的。。。不过 ipv6 可能确实有点这个问题
alfchin
2021-06-09 13:07:21 +08:00
@morize 多了大概 50ms
winddweb
2021-06-09 14:12:59 +08:00
Safari 加密目标链接->连接到 Apple 中转服务器(知道 IP 不知道目标链接)->第三方代理服务器连接到目标地址(看到的是苹果服务器的 IP )。可以选择匿名 IP 的范围,是同城市,或者更广(比如美国同一个州内)

解决的问题就是 ISP 和 VPN 提供商对你的数据监控。
totoro625
2021-06-09 14:14:36 +08:00
1 、从路由器到中间 relay, 这里面的请求能被 hack,但是你套了一层加密,没密钥很难破解
2 、https 协议, 信任了中间的服务器的证书, 能 MitM 解析 https 里面内容

破解办法两个:1 、获取加密密钥; 2 、强迫你安装描述文件; 3 、强迫你信任证书;

Apple 的方法是:你的数据加密后发给 Apple,Apple 去除 ip 信息后发给第三方公司托管的服务器之后解密,最后传出到各个内容提供商
Apple 的主要目的是减少广告追踪,保护隐私,这样是没问题的

我们的上网工具是,通过 XX 协议到达节点服务器, 节点服务器帮你请求目标 ip, 目标服务器看到的是节点服务器的 ip+可能携带的客户端 ip (类似于 CDN 服务商传递 ip,将你的 IP 通过约定的方式告诉目标服务器)(例如:X-Forwarded-For,个人愚见)
其中的各个环节都可能出卖你的数据,如:1 、工具; 2 、协议; 3 、节点服务器; 4 、目标服务器

官方说法:“现在,当有人访问 Internet 时,网络提供商和第一个代理( Apple )都只能看到客户端 IP 地址。
第二个代理(第三方托管的服务器)只看到用户请求的名称并使用它来建立到服务器的连接。
需要注意的是,这条链中的任何人,甚至苹果,都不能同时看到客户端 IP 地址和用户正在访问的内容。”
kera0a
2021-06-09 14:21:03 +08:00
https 为啥要信任中间服务器证书?
如果仅是转发,应该可以不用中间人攻击吧,就像我们连个 VPN 一样
anguiao
2021-06-09 14:24:52 +08:00
只是中转的话,中间服务器不需要解析内容,所以客户端也不需要信任。
totoro625
2021-06-09 14:32:59 +08:00
早些年免费的节点大行其道的时候就流行过一段时间的二级(前置)代理
具体就是你先加密,再通过一个你不信任的人传递数据给自己的服务器,自己的服务器解密后发往目标地点
好处是传递数据不费劲,数据安全有保障
但是没考虑到隐私问题,目标服务器能看到你的源 ip 和服务器 ip
目前就是不知道 Apple 的隐私数据处理是什么逻辑了,以后正式版发布后大佬们肯定会研究的

Apple 的 iCloud+ Private Relay 中自己充当了一个低信誉的人来传递并修改了部分数据(而不仅仅是中转流量),找一个第三方的服务器解密充当可信出口,在保护隐私方面效果不大,在安全上不如自建服务器

深究一下 Apple 的隐私数据处理:
1 、隐私保护力度大了必然要分析用户数据,这个时候自身就是一个大的隐私泄露源
2 、隐私保护力度小了那就是一个普通的中转服务器,两层服务器也只是为了防止服务器泄露数据,还不如自建安全
FaiChou
2021-06-09 14:37:33 +08:00
@kera0a 我的意思是, 抓包还能正常抓不.. 答案已经知道了, 套了几层加密, 抓到后解密内容也是被苹果加密过的.
FaiChou
2021-06-09 14:38:13 +08:00
@anguiao 嗯, 了解.
cxe2v
2021-06-09 15:22:29 +08:00
iCloud+ 的 Private Relay 功能(加密所有网络访问)在以下国家不提供:

中国、白俄罗斯、哥伦比亚、埃及、哈萨克斯坦、沙特阿拉伯、南非、土库曼斯坦、乌干达、菲律宾。

可惜了,用不上了
FaiChou
2021-06-09 15:37:50 +08:00
@cxe2v 这个无所谓, 就是探讨技术而已
crystone
2021-06-09 15:51:29 +08:00
@cxe2v 有办法用的有人试过了
txydhr
2021-06-09 15:58:40 +08:00
我很好奇这个服务 apple 要付出多大的基础设施投资
wvwking
2021-06-09 16:01:31 +08:00
相當於少了一層的 tor
Coioidea
2021-06-09 16:11:01 +08:00
@cxe2v 这个东西不能代替 tizi 吧。
主要是隐私方面的考量?
cxe2v
2021-06-09 16:21:28 +08:00
@Coioidea #19 你 @我干什么?

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

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

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

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

© 2021 V2EX