提供端到端加密(E2EE)云服务会有法律风险吗

318 天前
 lstz

个人是很喜欢云服务的,随时随地数据都能快速同步,但问题就是,怎么确保服务端的绝对安全?以及因为某种原因,我的资料会被删除?  

近几年了解到有一种技术叫端到端加密(E2EE),即所有数据仅在客户端明文显示,要同步到服务器的时候,会用密钥加密后再上传。

这么做有几个好处,

  1. 只要密钥不泄露,哪怕服务端被黑客一锅端,我的敏感数据还存在。     2.我的一些机密信息,除了我,可以不被其他人以任何理由阅读。

当然缺点也有

  1. 如果用户的笔记包含一些敏感数据,服务端无法审查或者阅读  
  2. 用户忘记密钥了,那就真的数据丢失了。

我知道目前很多云服务都会以安全原因,对我们的笔记进行各种各样的审查。我其实相信,审查是为了让网络世界更纯粹更清朗,但我比较好奇,如果是无社交分享渠道的云服务,可以用 E2EE 的方式来进行加密处理吗?

我看到思源笔记声称端到端加密,密钥应该也不会被上传,即使是服务端运维人员也无法读取。这让我看到了一些希望,因为我最近也在开发一个笔记类工具箱软件,我真的不信任任何服务端的明文存储,即使这服务端是我自己亲手配置的服务端。

希望大佬能帮忙分析一下,顺便 po 一下我在做的开源作品 LafTools ,欢迎提出建议

https://github.com/work7z/LafTools

5086 次点击
所在节点    程序员
55 条回复
libook
317 天前
我在企业里做 Cyber Security 合规,分享一些心得:

你有义务确保用户将你的产品用在合法的用途,至于如何确保,那是你的事情。

监管只是以维稳为核心,如果你的产品掀不起什么风浪,就没人管你,但如果已经有确凿的犯罪行为是借助你的产品来完成的,并且已经对社会稳定造成一定影响了,就会要求你配合打击犯罪,如果你这边是唯一可以管控犯罪的环节,而同时你又无法协助管控,那就只能管控你了。

不过大多不是让你提供解密内容,而是让你提供用户信息以及访问记录,网监的侦查技术是足够强的,能有多种渠道对密文进行取证,不见得非要依赖你这块。
具体通常需要留存和提供哪些信息,可以参考《具有舆论属性或社会动员能力的互联网信息服务安全评估规定》中的第五条。一般监管或执法部门定位到你的服务,肯定已经掌握了上游证据,你这块只需要将上游网络访问行为和你留存的而用户信息和记录做匹配就可以了。

责任判定这块会取决于你的态度和意图,比如你实际上就是以给犯罪行为提供保护伞为经营目的或利润来源的,给你加的责任就越多。
kobe718
317 天前
@leesa 之所以最近体制内在大规模禁用果子,就是果子因为那边的一纸调查令,就提交了我方人员 icloud 上的数据。所以,那些只是 PR ,听听就得了
dhb233
317 天前
如果是要分享文件,压缩加密码就行了吧。
如果是聊天,只是文本加密,可以试试这个 https://e2e.pages.dev/ ,纯前端实现,复制粘贴就可以。加密后的内容可以通过现有的 IM 软件发送。可以明文发送公钥给对方,交换公钥之后,可以协商加密秘钥。当然了,如果你交换公钥的过程被别人截获了,是可以被监听的
dhb233
317 天前
接上一条,公钥交换过程,如果只是被记录下来,是不能解密加密的内容的。
就是中间人攻击,公钥被中间人截获,然后中间人再发送自己的公钥给对方。中间人收到加密内容的时候,先解密,再重新加密发送到对端。
leesa
317 天前
@drymonfidelia "iOS 和 iPadOS 支持 6 位、4 位和任意长度的字母数字密码。除了用于给设备解锁,密码还为特定的加密密钥提供熵。这意味着攻击者即使拿到设备,在没有密码的情况下也无法访问某些特定保护类的数据。密码与设备的 UID 配合使用,因此在受到攻击的设备上只能进行暴力尝试。为此,系统使用较大的迭代次数来延缓每次尝试。迭代次数已经校准过,使得每次尝试约耗时 80 毫秒。事实上,尝试 6 位字符(包含小写字母和数字)字母数字密码的全部组合将耗时超过五年半。"
https://support.apple.com/zh-cn/guide/security/sec20230a10d/web
drymonfidelia
317 天前
@leesa 虽然没有准确数据,但绝大部分用户的锁屏密码是 6 位数字,因为在解密 E2EE 数据时输入密码的界面无法切换密码类型,Apple 服务器上肯定存储了密码类型。另外你贴的文章中“每次尝试约耗时 80 毫秒”是建立在 Apple 的移动设备+单线程计算前提下的,在从 Apple 服务器中获得数据后可以多线程计算进一步缩短时间。
drymonfidelia
317 天前
@leesa 另外 Apple 设备在任何情况下每 7 天一定会要求一次密码解锁(停用 Face ID 、Touch ID ),在很多情况下这一间隔会缩短,因此绝大部分用户不会使用 8 位以上长密码。
leesa
317 天前
@kobe718 来自执法机构的请求是有的,提交用户数据也是有的,这是官网原话:“Apple 会收到各式各样法律程序上的要求,需要我们提供信息或采取行动。Apple 要求政府和私人机构在请求获取用户信息和数据时,也遵循适用的法律和法规。同时,我们在合约中也要求自己的服务提供商,在面对来自政府的 Apple 数据请求时遵循同样的标准。我们的法律团队会进行审核,以确保这些请求具备有效的法律依据。如果请求符合法律规定,我们会回应请求,提供相关数据。如果请求缺乏有效的法律依据,或者我们认定请求不明确、不恰当或过于宽泛,我们会质疑或拒绝该请求。我们会每 6 个月针对请求做出一次报告。
我们将继续努力,为用户实现更高的透明度和数据安全保护力度。
我们从未就任何产品或服务建立过所谓的“后门”或“万能钥匙”,也从未允许任何政府直接访问 Apple 服务器,并且永远不会。”
https://www.apple.com.cn/privacy/government-information-requests/
drymonfidelia
317 天前
@leesa 在中国,iCloud 是云上贵州的服务器,不是 Apple 的服务器,Apple 无权拒绝。在美国,你觉得 Apple 有可能拒绝吗?前几天币安的事还没结束你就忘了?
drymonfidelia
317 天前
@leesa #49 补充:国区 iCloud 是写明了 由云上贵州运营,你觉得运营方有可能没有对自己服务器的完整控制权吗? gov 要调取数据完全不用经过 Apple ,经过云上贵州这个国企就够了
leesa
317 天前
@kobe718 各个国家都有向苹果请求过用户数据。
全球: https://www.apple.com/legal/transparency/
美国政府请求的用户数据: https://www.apple.com/legal/transparency/us.html
中国大陆政府请求的用户数据: https://www.apple.com/legal/transparency/cn.html
政府请求数据是正常的,重点是苹果会向政府提供哪些数据: https://www.apple.com/legal/privacy/law-enforcement-guidelines-outside-us-zhcn.pdf
比如:
1 、设备密码部分:
“从密码锁定的 iOS 设备中提取数据:对于运⾏ iOS 8.0 及更⾼版本的所有设备,Apple ⽆法执⾏ iOS 设备数据提取,因为执法机构需要查询的数据通常都是加密数据,⽽ Apple 不持有加密密钥。所有 iPhone 6 及更新设备机型在制造出⼚时都运⾏ iOS 8.0 或更⾼版本的 iOS 。对于运⾏ iOS 4 ⾄ iOS 7 的设备,Apple 可以根据《加利福尼亚的电⼦通讯隐私法》(CalECPA ,《加州刑法典》第 1546-1546.4 条) 执⾏ iOS 数据提取,具体取决于设备状态。为了让 Apple 对符合这些标准的设备执⾏ iOS 数据提取,执法机构应该获取搜查令,该搜查令应该基于 CalECPA 中说明的可能原因⽽发出。除了 CalECPA 以外,Apple 尚未认可任何其他已知法律机构作为执法调查的第三⽅来要求 Apple 提取数据。”
2 、iCloud 部分:
“如果⽤户已经为 iCloud 启⽤了⾼级数据保护,iCloud 可以提供以下信息:
a. 顾客信息
顾客设置 iCloud 账户时,可能会向 Apple 提供基本顾客信息,例如姓名、实际地址、电⼦邮件地址和电话号码。此外,我们可能还会提供有关 iCloud 功能连接的信息。如果请求⽅提出在所在国家/地区合法有效的正当请求,则可以获取 iCloud 顾客信息以及包含 IP 地址的连接⽇志 (如有)。连接⽇志最多保留 25 天。
b. 邮件⽇志
邮件⽇志包括⼊站和出站通信的记录,例如时间、⽇期、发件⼈电⼦邮件地址和收件⼈电⼦邮件地址。iCloud 邮件⽇志最多保留 25 天;如果请求⽅提出在所在国家/地区合法有效的正当请求,则可以获取邮件⽇志 (如有)。
c. 电⼦邮件内容和其他 iCloud 内容
对于已启⽤⾼级数据保护的⽤户,iCloud 会在顾客账户保持活跃状态时,存储顾客选择在账户中保留的电⼦邮件、联系⼈和⽇历内容。如果请求⽅提出在所在国家/地区合法有效的正当请求,Apple 可能会提供这些数据,因为此类数据存在于顾客账户中。这些有限数据由 Apple 存储并在服务器位置额外加密。对于 Apple 可以解密的数据,Apple 将加密密钥保存在其美国数据中⼼。Apple 不会接收或保留⽤于顾客端对端加密数据的加密密钥。⾼级数据保护采⽤端对端加密,Apple ⽆法解密某些 iCloud 内容,包括照⽚、iCloud 云盘、备份、备忘录和 Safari 浏览器书签。在某些情况下,Apple 可能会保留与这些 iCloud 服务相关的有限信息,如果请求⽅提出在所在国家/地区合法有效的正当请求,则可以获取这些信息 (如有)。”
以上皆为苹果官网所述,当然,苹果说的是真是假,不能确定,你可以选择相信它,也可以选择怀疑它。
leesa
317 天前
@drymonfidelia 各个国家都有向苹果请求过用户数据。
全球: https://www.apple.com/legal/transparency/
美国政府请求的用户数据: https://www.apple.com/legal/transparency/us.html
中国大陆政府请求的用户数据: https://www.apple.com/legal/transparency/cn.html
政府请求数据是正常的,重点是苹果会向政府提供哪些数据: https://www.apple.com/legal/privacy/law-enforcement-guidelines-outside-us-zhcn.pdf
比如:
1 、设备密码部分:
“从密码锁定的 iOS 设备中提取数据:对于运⾏ iOS 8.0 及更⾼版本的所有设备,Apple ⽆法执⾏ iOS 设备数据提取,因为执法机构需要查询的数据通常都是加密数据,⽽ Apple 不持有加密密钥。所有 iPhone 6 及更新设备机型在制造出⼚时都运⾏ iOS 8.0 或更⾼版本的 iOS 。对于运⾏ iOS 4 ⾄ iOS 7 的设备,Apple 可以根据《加利福尼亚的电⼦通讯隐私法》(CalECPA ,《加州刑法典》第 1546-1546.4 条) 执⾏ iOS 数据提取,具体取决于设备状态。为了让 Apple 对符合这些标准的设备执⾏ iOS 数据提取,执法机构应该获取搜查令,该搜查令应该基于 CalECPA 中说明的可能原因⽽发出。除了 CalECPA 以外,Apple 尚未认可任何其他已知法律机构作为执法调查的第三⽅来要求 Apple 提取数据。”
2 、iCloud 部分:
“如果⽤户已经为 iCloud 启⽤了⾼级数据保护,iCloud 可以提供以下信息:
a. 顾客信息
顾客设置 iCloud 账户时,可能会向 Apple 提供基本顾客信息,例如姓名、实际地址、电⼦邮件地址和电话号码。此外,我们可能还会提供有关 iCloud 功能连接的信息。如果请求⽅提出在所在国家/地区合法有效的正当请求,则可以获取 iCloud 顾客信息以及包含 IP 地址的连接⽇志 (如有)。连接⽇志最多保留 25 天。
b. 邮件⽇志
邮件⽇志包括⼊站和出站通信的记录,例如时间、⽇期、发件⼈电⼦邮件地址和收件⼈电⼦邮件地址。iCloud 邮件⽇志最多保留 25 天;如果请求⽅提出在所在国家/地区合法有效的正当请求,则可以获取邮件⽇志 (如有)。
c. 电⼦邮件内容和其他 iCloud 内容
对于已启⽤⾼级数据保护的⽤户,iCloud 会在顾客账户保持活跃状态时,存储顾客选择在账户中保留的电⼦邮件、联系⼈和⽇历内容。如果请求⽅提出在所在国家/地区合法有效的正当请求,Apple 可能会提供这些数据,因为此类数据存在于顾客账户中。这些有限数据由 Apple 存储并在服务器位置额外加密。对于 Apple 可以解密的数据,Apple 将加密密钥保存在其美国数据中⼼。Apple 不会接收或保留⽤于顾客端对端加密数据的加密密钥。⾼级数据保护采⽤端对端加密,Apple ⽆法解密某些 iCloud 内容,包括照⽚、iCloud 云盘、备份、备忘录和 Safari 浏览器书签。在某些情况下,Apple 可能会保留与这些 iCloud 服务相关的有限信息,如果请求⽅提出在所在国家/地区合法有效的正当请求,则可以获取这些信息 (如有)。”
以上皆为苹果官网所述,当然,苹果说的是真是假,不能确定,你可以选择相信它,也可以选择怀疑它。
drymonfidelia
317 天前
@leesa 我早就看过这个了,“对于已启⽤⾼级数据保护的⽤户,” “在某些情况下,Apple 可能会保留与这些 iCloud 服务相关的有限信息,如果请求⽅提出在所在国家/地区合法有效的正当请求,则可以获取这些信息 (如有)。” 都是这种模糊的话,完全没有参考价值
leesa
317 天前
@drymonfidelia “云上贵州可访问你在此服务中存储的所有数据”,“通过高级数据保护,你可以启用端到端加密,以进一步保护你在 iCloud 中的额外数据类别,包括你的 iCloud 备份、照片、备忘录和存储在 iCloud 云盘中的文件。”,“一旦启用高级数据保护,我们将无法帮助你恢复使用高级数据保护功能进行保护的数据,因此你应负责保证你的恢复密钥安全和/或更新你的恢复联系人信息。”,“此外,你还将被要求生成一个恢复密钥或指定至少一个账户恢复联系人,以便在你忘记账户密码、无法访问任何受信任设备及忘记设备密码或口令的情况下,帮助你重新获得对账户和数据的访问。”
根据 iCloud (由云上贵州运营)条款与条件所述:
1 、云上贵州可以访问到服务中存储的所有数据。
2 、启用高级数据保护后,数据是端对端加密存储。
3 、启用高级数据保后,需要有 [账户密码] 或 [解锁的受信任设备] 或 [账户恢复联系人] 或 [恢复密钥] 才能解锁服务中存储的端对端加密数据。
根据以上三点可以得出:即使服务器提供商/黑客获得你存储的端对端加密数据,仍然需要 [账户密码] 或 [解锁的受信任设备] 或 [账户恢复联系人] 或 [恢复密钥] 才能解锁加密后的数据。
当然了, [账户密码] 、 [解锁的受信任设备] 、 [账户恢复联系人] 、 [恢复密钥] 是有可能发生泄露的。
iCloud (由云上贵州运营)条款与条件:
C. 内容的删除
你确认,对于由他人提供的任何内容,我们在任何方面均不承担任何责任,且没有义务对该等内容进行审查。但是,我们始终保留确定内容是否适当并符合本协议的权利,并且,如果我们认定,内容违反本协议或在其他方面违反适用法律或令人反感,则我们经自行决定随时可以对内容进行先审查、将内容移至他处、拒绝、修改和/或删除内容,而无需事先发出通知。
E. 访问你的帐户和内容
我们有权采取我们认为合理必要或妥当的措施,以便确保和/或核实对本协议任何部分的遵守。你确认并同意,我们在我们认为合理必要或正当的情况下,可以访问、使用、保存你的帐户信息和内容以及/或者将你的帐户信息和内容披露给执法机构、政府官员和/或某一第三方而无需向你承担任何责任,但前提是,我们这样做是基于法律要求或者我们诚信认为这样做对下述目的而言是合理必要的:(a)遵守法律程序或要求;(b)执行本协议,包括对任何潜在的违反本协议行为的调查;(c)发现、防止或另行解决安全、欺诈或技术问题;或(d)按适用法律要求或在法律允许范围内保护云上贵州、其用户、苹果公司、第三方或公众的权利、财产或安全。你理解并同意,云上贵州可访问你在此服务中存储的所有数据,包括根据适用法律披露用户数据(包括内容)的权利。
J. 高级数据保护。
通过高级数据保护,你可以启用端到端加密,以进一步保护你在 iCloud 中的额外数据类别,包括你的 iCloud 备份、照片、备忘录和存储在 iCloud 云盘中的文件。要启用高级数据保护,你必须为你的 Apple ID 启用双重认证,且该账户下有一台启用密码或口令的受信任设备(即已使用双重认证登录你的账户的设备)。此外,你还将被要求生成一个恢复密钥或指定至少一个账户恢复联系人,以便在你忘记账户密码、无法访问任何受信任设备及忘记设备密码或口令的情况下,帮助你重新获得对账户和数据的访问。你可以在任何时候改变你的恢复联系人,但他们必须年满 14 周岁(或其居住地的同等最低年龄),拥有启用双重认证的 Apple ID ,且持有一台设置了密码或口令的苹果设备。一旦启用高级数据保护,我们将无法帮助你恢复使用高级数据保护功能进行保护的数据,因此你应负责保证你的恢复密钥安全和/或更新你的恢复联系人信息。 对于你因未能保护你的恢复密钥而无法访问你的账户或数据的情形,或者你的恢复联系人无法或不愿意帮助你重新获取你的账户和数据访问权限的情形,我们不承担任何责任。管理式 Apple ID 和儿童账户无法使用高级数据保护功能。你可以在任何时候关闭高级数据保护功能。
https://www.apple.com/legal/internet-services/icloud/cn_si/gcbd-terms.html
ltkun
316 天前
对任何公有云服务都采取不信任的态度 敏感数据只存私有云

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

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

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

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

© 2021 V2EX