点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

还有一天的时间,我们的 iCloud 数据就要被苹果正式转给云上贵州运营了。。。

【CSDN 编者按】自2011年iCloud正式进入iOS系统以来,苹果公司云服务iCloud数据安全问题就是业内一直关注的焦点。2016年9月,iCloud被爆存漏洞、明星私照遭泄露一事被炒的沸沸扬扬,尽管苹果先前指出,其云服务本身是安全的,一旦遭到泄露属于人为所致,但这个说法并未得到广泛认可。

而随着苹果去年7月宣布在贵州省建立数据中心,并于今年2月28日正式将中国iCloud用户数据转由云上贵州运营,钥匙串一同被转移,关于iCloud用户数据安全性等一系列问题再次喧嚣尘上。

而这一变化主要源于去年6月新网络安全法的正式实施。该《法》规定,所有与宽泛定义的国家安全问题有关的中国公民或地区数据,必须存储于国内的服务器上,而且云服务的运营方必须为本地企业。

事实上,世界各国执法部门都向苹果公司提出了合法的数据获取需求,并获得了苹果公司的同意。《金融时报》曾指出,美国法律规定,如果外国政府想获取储存在美国服务器上的该国公民数据,走完流程时间或将长达数年。

而对于国内的普通用户而言,这一做法将有益于提高访问链接的速度和稳定性,不会老是出现访问一个页面需要分钟级的问题。但在数据的安全性方面,却引发了诸多担忧。除了国内我们在社交平台上的讨论之外,国外的研究者们也有各自见解。

前不久,约翰霍普金斯大学教授、密码学家Matthew Green撰写的一篇文章“Apple in China: who holds the keys?”其中有些看法值得我们阅读,在此,CSDN 摘编精要分享给大家。

如下:

近日苹果发布的一项公告,宣布了关于iCloud服务的变化:从今年2月28日起,苹果将把中国区用户的iCloud数据交由云上贵州公司负责运营。

中国方面,这一举措可以提高用户的网络性能,而苹果则表示,这一变化主要是由于中国区新的云服务法规。对这两种解释,Green认为都是正确的,但他却很难判断出另一个问题:无论数据存储在何处,其安全性又如何?

根据苹果的答复:“苹果拥有强大的数据隐私与安全保护,我们的系统不会有任何后门。”可以看出,如果苹果将用户数据存储在内地的服务器上,那就无法排除苹果之外也会拿到这些数据,而且可能根本不需要苹果的许可。

对此,就苹果iCloud数据加密问题,Green展开了一系列发问与思考。

苹果iCloud数据加密了吗?

然而,苹果iCloud数据是否加密,具体取决于iCloud的哪部分,以及如何定义“加密”。如下图所示:所有iCloud数据可能都经过了加密。但这个问题本身不够准确,换个方式问应该是:谁持有密钥?

Green提到,可以通过一个非常简单的思维实验来确定你(供应商)是否控制密钥,即“泥水坑测试”, 具体内容如下:

假设你在一个泥泞的水坑里滑倒,然后你的手机摔坏了,再然后事发突然你脑中一片空白甚至忘记了密码。试问你还能找回iCloud的数据吗?如果可以,或在苹果支持的帮助下可以,那么证明控制密钥的人不是你。

除了一个特例,即下文他将要讨论的iCloud 钥匙串之外,iCloud服务无法通过该测试。这是因为大多数的苹果文件不是端对端加密的。事实上,这一点在苹果的iOS安全指南上写得很清楚,iOS会将加密文件的密钥发送给iCloud。

但是,iCloud并不完全是苹果的服务。事实上,绝大多数的iCloud数据实际上并没有存储在苹果公司。每次备份手机时,经过加密的数据直接传输到各类第三方云服务供应商,包括亚马逊、Google和微软等。

从iPhone进行iCloud备份时发出的HTTPS请求列表。底部的两个地址是Amazon和Google云服务“blob”存储

从隐私的角度来看[1],这些服务仅仅作为“blob存储”,负责保存苹果客户上传的不可读加密数据文件。至少原则上来说,苹果可以控制该数据的加密密钥,理想状况下应该保存在苹果专设的数据中心的服务器上[2]

苹果将数据存储到哪里?

在他看来,在中国区全新的云商店提供的服务可能与AWS、Google或Microsoft所提供的服务完全相同。也就是说,他们存储了加密的数据块,而这些数据在不联系iCloud美国总部的情况下无法破解。

但是,实际上,未经Cupertino许可就无权访问这些数据,因此,想要解决这些问题,就必须要求苹果将密钥和数据完整地存储到中国区的数据中心。

基于此,Green判断这两种解释是互相矛盾的,因为,前一个意味着苹果只是照常运营。后一个则意味着苹果可能大大削弱了系统的安全保护——至少对中国区用户来说安全性降低了。

如果苹果为了遵守中国区法规,需要从根本上重新架构iCloud,但应该明确地说出做了什么改变。如果苹果没有明确说明,那么一种可能性是苹果会对iCloud基础架构的其他部分也进行相同的修改,却不公之于众。

无论如何,对于苹果来说,至少应该澄清这一点。

那么iCloud钥匙串的情况如何?

上文中,iCloud有一个部分通过了泥水坑测试,那就是苹果的Cloud Key Vault,目前iCloud钥匙串用到了这项技术。这是一项保存应用程序的密码和密钥的特殊服务,它使用的保护级别比其他iCloud服务更强。这个模型可以很好地解释将来iCloud的其他部分如何实现。

简单来说,CloudKey Vault使用了一种特殊的硬件来存储密钥,称之为“硬件安全模块”(HSM:HardwareSecurity Module)。此HSM是一个由苹果公司保管的物理设备。用户只有知道iCloud 钥匙串密码,才能访问自己的密钥。通常这个密码与iOS设备的PIN或密码相同。但是,如果任何人尝试多次猜测此PIN码,HSM将删除该用户存储的密钥。

关键一点是,上面提到的“任何人”甚至包括苹果自己。简而言之:苹果公司设计了一个保存钥匙的保险库,即使他们也无法打开,只有客户可以拿到自己的钥匙。

所以,作者猜测:苹果已经以某种方式削弱了面向中国用户的iCloud Key Vault的版本,而这可能会引发关于苹果系统完整性更深层次的问题。

苹果该怎么办?

目前,苹果提供了大量有关安全系统的细节,如文件加密,iOS,iMessage,但是提供的iCloud加密等方面技术的细节却少之又少。尽管苹果可以访问iCloud备份数据,甚至可以将其交给执法机构,但是,苹果的钥匙串数据如何得到保护却不得而知。

在作者看来,苹果在安全方面的含糊其辞这一举动似乎混淆了视听,使其不免质疑苹果对于技术安全方面的改进有着怎样的计划。例如,2016年的一篇文章(https://9to5mac.com/2016/02/25/apple-working-on-stronger-icloud-backup-encryption-and-iphone-security-to-counter-fbi-unlock-requests/)声称,苹果正在计划为iCloud提供更强大的整体加密。但关于这些计划是否已经废除,或者是否包括最新中文版的iCloud等等问题,其实不得而知。

在最后,Green也不得不承认:如果苹果不愿相信大众,不愿向大家解释系统的工作原理,那么也许也不应该相信他们。

注释:

[1] 这里需要注意的是,部分iCloud备份系统使用的是收敛加密(convergent encryption),也称为“消息锁加密”(message locked encryption)。这些系统中的设计思路是,文件加密密钥是通过文件本身的hash生成的。即使云存储服务商没有加密密钥,也可以测试用户是否拥有特定文件的副本。这可能会造成有问题。但是,从苹果的开发文档来看,这种攻击是否可行尚不清楚。

[2] 这只是一个猜测。苹果也可能把他们密钥存储外包给了第三方供应商,尽管这种做法并不明智。

链接:https://blog.cryptographyengineering.com/2018/01/16/icloud-in-china/

作者:Matthew Green

译者:马晶慧

责编:琥珀

招聘

新的一年已经到来,「CSDN」公众号的目标更加明确,有更多的想法需要落地,不过目前对于小姐姐来说是“现实跟不上灵魂的脚步”,因为缺人~~


所以,「CSDN」公众号要壮大队伍啦,现招聘业界与技术资深编辑记者、资深新媒体运营,有意者请将简历投至:tangxy@csdn.net,期待你的加入!


如果你暂时不能加入我们的队伍一起并肩战斗,也欢迎加入「CSDN」作者大家庭,与所有「CSDN」的朋友们分享你的精彩文章,投稿邮箱:yangli@csdn.net


除了以上两项,如果你热爱技术分享,想要获得更广的视角和更前沿的技术探索,你还可以加入「CSDN」的译者群,利用业余时间,在尊重版权的前提下,翻译对中国开发者极有价值的文章,有意者请将简历投至:guorui@csdn.net

————— 推荐阅读 —————

点击图片即可阅读

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐