我今天读了一些关于一家大型科技公司计划实施一个新系统来自动检测和报告用户照片中的 CSAM 的文章。总的来说,他们在 12 页技术摘要中描述的系统似乎设计得很好,并且可能尽可能接近真正的隐私,同时仍然允许内容监视。话虽如此,当我听到关于端到端加密的例外情况时,我心中的黑客不禁感到有点惊慌(并不是说他们的照片存储被宣传为端到端加密开始)与,但是他们的技术概述确实说所有照片都使用用户设备随机生成的 - 阈值可破解 - 密钥进行加密)。因此,我来到这里概述我认为对该系统的密码强度/隐私保证最现实的攻击,并(希望)了解我为什么错了或我忽略了什么。假设这家公司曾经遭受过数据泄露:这种情况开始时不太可能发生,但并非闻所未闻。由于这次数据泄露,许多用户的照片(加密格式)被泄露。如果真正的端到端加密到位,这不会是一个主要的隐私问题,因为所有照片都将使用只有最终用户设备知道的密钥进行加密,因此实际上任何人都无法解密互联网。然而,在这个新系统中,我的理解是照片,或者至少是它们的视觉衍生物(我找不到定义,虽然我假设它类似于缩略图)被加密两次,外层被加密通过从照片的 NeuralHash 派生的密钥。 NeuralHash 被描述为一种散列算法,能够为同一图像提供相同的散列,即使该图像经过裁剪、调整大小、颜色调整、压缩等。散列的主要目的是确保相同和视觉上相似的图像产生相同的哈希值,而彼此不同的图像产生不同的哈希值。例如,经过轻微裁剪或调整大小的图像应被视为与其原始图像相同并具有相同的哈希值。这在理论上很棒,因为这意味着用户拍摄的所有(可能是唯一的)照片都将使用强大的、独特的秘密进行加密,以确保它们的私密性和安全性。
但是,当用户存储不唯一的照片时会发生什么?例如一个流行网站的截图,一个在互联网上流传的模因等等?如何阻止攻击者生成流行模因的 NeuralHash,导出密钥,然后暴力破解泄露的数据直到成功解密条目,从而验证特定用户云照片库中的内容,并降低他们的隐私级别?或者,再举一个例子,假设攻击者喜欢苹果,并且真的非常想找到苹果的照片。是什么阻止他们让 AI 生成几百万张苹果照片,对它们进行哈希处理,获取密钥,然后暴力破解可能很大的泄漏,直到找到匹配项?一个苹果不可能有那么多排列,对吧?可以肯定的是,您不会找到所有的苹果照片,但我认为您至少能够获得一些可解密的匹配项。该公司本身甚至在其一篇论文中透露,在匹配时出现误报的可能性非零,因此他们引入了阈值秘密共享(即需要对其“已知错误”进行多次匹配“在其内部加密级别被破坏之前数据库......接下来会详细介绍),以将误报的可能性降低到万亿分之一。对我而言,给定的照片声音在可暴力破解范围内,任何出现误报匹配的可能性都大大低于万分之一,尤其是如果您已经知道要查找的照片类型。最后要注意的是,有一个阈值加密的内层,它基本上要求在构建解密内层的密钥之前先解密多张照片的外层。但是再一次,根据阈值大小(必须非常低,因为它需要小于某人可能拥有的实际 CSAM 数量),这似乎不是一个大障碍:您只需要找到一个例如,在整个云照片存储库中存储了 10 个常见模因的用户,现在您已经构建了该密钥。根据该论文,在第一层加密中,用户的所有照片都使用相同的密钥。归根结底,我看到了该系统在发生数据泄露事件时的安全和隐私保证,主要问题是:NeuralHash。如果 NeuralHash 具有足够高的误报率,并且可以进行逆向工程或泄露或公开(如果尚未公开),那么这家大型科技公司能否真正保证其用户的私人照片将无条件保留私人的,只要他们不是 CSAM?我忽略了哪些加密保护,使我上面描述的攻击变得不可能?我错过了什么?你看到任何其他潜在的缺陷吗?更新:我不确定是否可以接受或不具体命名公司,所以我决定谨慎行事,不这样做。话虽如此,我确实看到一些评论要求提供来源,所以在这里。我希望这有帮助!