关于移除 CVD(订阅设备绑定)的讨论(隐私泄露向)

来源: [BUG] 关于移除 CVD(订阅设备绑定)的讨论(隐私泄露向) · Issue #7187 · clash-verge-rev/clash-verge-rev · GitHub

问题描述 / Describe the bug

了解了下 CVD 的核心工作原理,发现会收集硬件指纹。鉴于 CVR 工具属性及用户圈层,私以为不应加入该功能。项目组是否有隐私泄露方面的考虑?

mihomo 项目成员措辞比较严厉的表示:内核永远不会支持这种打着为用户好的旗号来收集硬件指纹的行为,如果你发现有这种客户端欢迎举报,我们将在WIKI页明确警告用户不该使用该客户端

CVD 方案引入了类似于网银、游戏设备锁的“硬件特征绑定”与“动态加密握手”机制:

[ 用户客户端 (拥有唯一硬件指纹) ]

├─ 1. 发起请求 (带上当前设备签名)

[ CVD 下发关口 / 服务端 ] ── 2. 校验设备上限/解密指纹

├─ 3. 合法 ── 用该设备独有的密钥「动态加密」节点数据并下发

[ 用户客户端 ] ── 4. 本地解密加载节点(其他人拿到该加密数据包也无法解密)
设备指纹绑定 (Device Binding):当你第一次通过支持 CVD 的客户端下载订阅时,客户端会提取你当前设备的硬件特征(如主板UUID、网卡MAC的哈希值等)生成唯一的“设备指纹”传给服务器。服务器会将你的订阅与该设备物理绑定。如果超过了服务商允许的“最大设备数”,新设备将无法下发。

非对称加密下发 (Encrypted Delivery):服务端发回的不再是普通的 YAML 明文节点配置,而是通过你当前设备专属的公钥加密后的密文。

防滥用与防抓包:即使你的 CVD 订阅链接被别人截获,或者别人把你下载好的配置文件盗走,只要他不是在你的电脑/手机上运行,由于缺乏匹配的本地硬件私钥,他的客户端会直接报错,完全无法解密和看到里面的节点。

个人点评:

绑定硬件指纹 ?请推自研客户端且告知用户

PS. R主席怎么到处出没,比习主席国事访问还勤快