V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ericwood067
V2EX  ›  Apple

分享一篇苹果用 http OSCP 协议校验每个程序的 HASH 的洗文,洗的有理有据

  •  
  •   ericwood067 · 2020-11-15 11:13:34 +08:00 · 3357 次点击
    这是一个创建于 1497 天前的主题,其中的信息可能已经有所发展或是发生改变。

    废话不多说,先上文章链接: Does Apple really log every app you run? A technical look

    总结一下,作者通过实验得出的结论:

    • 苹果没有通过 OSCP 发送每个程序的 HASH,但是发送了每个开发者证书的 HASH (明文发送,意味着可以被截获)。
    • 可以通过第三方软件或者修改 hosts 文件来阻止 oscp.apple.com ,但是不推荐。

    补充一点我的看法:

    如果某个开发者只开发了一个应用,还是可以匹配到应用。所以如果你用的应用比较敏感,且这个开发者就只开发这方面的应用,那你可能需要阻止 oscp.apple.com ,其他情况为了安全性还是不阻止好一些。

    9 条回复    2020-11-15 16:53:52 +08:00
    also24
        1
    also24  
       2020-11-15 11:42:24 +08:00   ❤️ 1
    从隐私的角度来说,这里其实可以借鉴基于 hash 的 k-Anonymity 来保护隐私。

    1Password 的 Watchtower 功能,就使用了这个方案:
    https://support.1password.com/watchtower-privacy/#your-passwords-are-never-sent-to-us-or-anyone-else

    https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/#cloudflareprivacyandkanonymity
    tzm41
        2
    tzm41  
       2020-11-15 11:50:20 +08:00
    https://news.ycombinator.com/item?id=25095438 上面关于此文的讨论我感觉也有道理。假设我们相信苹果不作恶,为啥苹果不能加密 payload,要明文发送呢?
    wql
        3
    wql  
       2020-11-15 11:54:40 +08:00 via Android
    @tzm41 因为 OCSP 协议的特殊性。给 OCSP 协议加 HTTPS,意味着 OCSP 服务器的服务器末端证书也要被验证一次。如果客户端没有针对 OCSP 缓存,就将无限查询下去,无异于套娃(查一个证书的 OCSP-查 OCSP 服务器证书的 OCSP-查 OCSP 服务器证书的 OCSP……)
    tzm41
        4
    tzm41  
       2020-11-15 12:54:14 +08:00
    @wql #3 但苹果自己的 notarization 验证,不一定要用 HTTPS 或 OCSP ?
    WebKit
        5
    WebKit  
       2020-11-15 12:58:22 +08:00 via Android
    @wql 可以对数据加密,然后接收到后解密啊
    wql
        6
    wql  
       2020-11-15 13:03:27 +08:00 via Android
    @tzm41
    @WebKit
    刚刚自己反复想了想,苹果自己的 notarization 似乎确实没有用 OCSP 的必要……
    yzwduck
        7
    yzwduck  
       2020-11-15 13:10:21 +08:00
    @tzm41 终于有人提到 notarization 了,good job
    它才是传输了应用程序 cdhash 的验证机制 (online https/offline ticket)。
    littiefish
        8
    littiefish  
       2020-11-15 16:19:46 +08:00 via iPhone
    吓死我了,手机不能用了,赶紧扔吧
    alfchin
        9
    alfchin  
       2020-11-15 16:53:52 +08:00 via iPhone
    @wql 之前苹果用自己的内置证书验证,结果没想到使用过时版本的用户证书过期了。于是死循环,只能改日期强行绕过。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2535 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:04 · PVG 11:04 · LAX 19:04 · JFK 22:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.