Gojira 哥斯拉Gojira 哥斯拉

哥斯拉爱好者的日常
生活相当无趣 我得找点乐子

苹果iCloud数据存放在中国电信后安全性探讨

gojira.net

历经15个月,经过多轮严苛的技术测试和评审(资源池网络的可用性达到99.99%/月,云存储服务的可用性达到99.9%,数据的可用性达到99.99999999999%),苹果公司开始将iCloud中国用户数据生产流量割接至中国电信云存储服务。
和以前去地球对面的苹果美国数据中心相比,迁移到中国电信以后,中国大陆用户应该能感受到苹果 iCloud 服务的速度有了巨大提升。

但肯定有人担心:我们的数据还安全吗?尤其是面对一个我们并不喜欢的、有过糟糕信用记录的政府的情况下。转载一篇《苹果 iCloud 进入国内就不安全了吗?从密码学算法与应用安全谈 iCloud》吧:

苹果对于其云服务有很高的安全标准,笔者在这篇文章中会重点介绍 iCloud 使用的数据加密算法与算法安全性,让各位读者对 iCloud 的安全性有简单的认识。在本文中涉及到的密码学概念,笔者会以最简单的方式介绍,忽略复杂的定义、算法细节和数学原理。

1.  引言

苹果的众多服务中都有密码学的身影,例如可信引导链(也就是开机的过程)、系统升级授权、Touch ID 和 Secure Enclave(A7 处理器中存储指纹信息的可信计算模块)、应用安全、网络通信安全、互联网服务安全、设备控制等等,信息安全是每个服务的重中之重。虽然你在日常使用中可能感觉不到,但在顺畅、可靠服务的背后,信息安全尤其是密码学是这一切的后盾。

本文对 iCloud 云服务中使用的密码学算法进行简单介绍,希望通过本文,能让读者对 iCloud 的安全性有简单的认识,不要被一些言论所误导。

2. 什么是 iCloud?

iCloud 是苹果公司所提供的云端服务,用户能在 iCloud 中存储音乐、照片、应用数据、联系人、日历、备忘录、iCloud KeyChain、备份和恢复信息等等,并将这些数据无线推送到用户所有支持 iCloud 同步的设备上。iCloud 还可以备份 iOS 设备,帮助用户查找丢失的设备,并简化照片共享

用户通过 Apple ID 和密码来对自己的 iCloud 进行设置,这一切数据都存储在云端,因此云端的数据安全至关重要。云端的数据安全包括文件元数据(Metadata,包括文件名、扩展名、权限等等)和文件内容的安全。

3.  iCloud 的文件安全

用户在 iCloud 存储的每个文件都被分成若干个块,每一块使用 128 位密钥的 AES 加密算法进行加密,每个 128 位的密钥根据文件块的内容生成。这些内容都与 Apple ID 有关,存储在第三方的存储服务上,例如 Amazon S3 和 Windows Azure。

AES(Advanced Encryption Standard) 是美国国家标准技术研究所(NIST)在 2001 年发布的高级加密标准,用来取代密钥短、安全性差的 DES(Data Encryption Standard,数据加密算法)。AES 是一种对称密码,在加密和解密时使用相同的密钥,与公钥密码相比,要求双方取得相同的密钥是对称密钥加密的主要缺点之一。由于对称加密的速度比公钥加密快很多,因此对于文件加密,对称密码是最佳选择。AES 在 GF(2^8) 有限域上进行计算,包括众多的数学概念和推导,故不展开详述。AES 具有很高的安全性,2003 年 6 月,美国政府宣布 AES 可以用于加密机密文件。AES 的密钥长度有 128 位、192 位、256 位,对于加密一般文件,128 位的 AES 足以保证其安全性。

由于 AES 的密钥被加密存储在用户的 iCloud 账户中,服务商无法得到,并且 AES 本身具有很高的安全性,笔者认为用户在 iCloud 的文件很安全,与服务商没有任何关系。

4.  iCloud 备份

iCloud 备份包括设备的设置、应用数据、照片、铃声、iMessage 和短信等等,在发送至互联网进行传输前已经被 iOS 设备加密,iCloud 云端接收到数据后直接存储,因此存储的也是加密后的数据。iCloud 还使用安全令牌来验证用户的访问。

iCloud 备份加密使用公开密钥算法中的椭圆曲线算法中的 Curve25519 曲线生成密钥。Curve25519 曲线在Cryptocat、Open SSH、Tor(你懂得)、Apple Homekit 等服务中广泛使用,遵循 Diffie–Hellman 椭圆曲线密钥交换规则。

椭圆曲线密码学是基于椭圆曲线数学的一种公钥密码的方法,主要优势是在某些情况下它比其他的方法使用更小的密钥——比如 RSA 加密算法——提供相当的或更高等级的安全。不过椭圆曲线一个缺点是加密和解密操作的实现比其他机制花费的时间长。

密钥交换是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥,这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。具有如此优良性质(在不安全信道上建立起安全通信)的协议有极为广阔的应用。

▲ Diffie-Hellman 密钥交换协议流程

iCloud 备份存储在用户的 iCloud 账户中,并被一个随机的密钥加密后保护。用户的 iCloud 密码不被用于加密,因此服务商无法对加密后的数据做手脚。在备份到云端后,iCloud 还保存着一个与用户 Apple ID 关联的密钥,当用户在不同设备上登陆自己的 Apple ID 时,这些备份才可以被推送至已登录的设备上。苹果制定了这些算法,但无法根据用户的 Apple ID 来重复得到这些密钥。密钥都是每次新生成的,无法重放得到。

5.  iCloud Keychain

iCloud Keychain 允许用户在 iOS 和 Mac 设备间安全的同步这些密码,在同步过程中,密码不会暴露给苹果,都通过密码算法和密码协议传输并计算。在以下被攻击的情况下,仍能保证用户的密码不被泄露

用户的 iCloud 账户被攻破
iCloud 被外部攻击者或内部员工攻击
第三方对用户账户的访问
iCloud Keychain 同步同样使用了公开密钥中的椭圆曲线算法(P256)、AES-256 等加密算法。椭圆曲线算法的公私钥对的生成和存储于用户的 iCloud 密码相关。虽然生成和存储与用户的 iCloud 密码相关,但不是直接读取用户的密码再进行生成。在经过加盐和迭代操作后,同步密钥被生成。在经过若干复杂的步骤,完成密钥的同步。在整个过程中,服务商或苹果都无法查看到用户的密码和同步密钥,有效保证了安全性。

此外,iCloud 还提供了安全设施,保证同步过程只能在被授权的设备上进行。根据苹果的安全白皮书,笔者发现 iCloud Keychain 同步是 iCloud 服务中最为复杂的过程,包括了 10 次以上的密钥生成、交换、销毁等过程,每一步都是用了最可靠的加密算法来保证安全性。此外,通信过程也是用标准的安全协议完成。这些都有效保证了 iCloud Keychain 服务的安全性。

小结

信息安全有三个核心目标:保密性、完整性、可用性。其中,保密性和完整性是密码学研究的重要问题之一,也是密码学的重要应用方向。密码学是研究如何隐密地传递信息的学科,也是信息安全等相关议题,如认证、访问控制的核心。密码学是要隐藏信息的含义,而不是隐藏信息的存在。密码学算法、安全协议、安全策略等等在各项云服务中被大范围使用,iCloud 也不例外。

iCloud 是目前安全性最高的云服务之一,普通用户不用担心其安全性,也无需知道什么样的密码学内容被使用来保证数据的安全性,放心使用即可。

最后:以上所以分析皆是通过苹果公布的相关文档和信息得来,而苹果是否真的采用了这些加密方式,又或者文件完全没有被加密,这些都没有得到第三方机构证实过,所以大家还是且存且珍惜吧。(用云存储最靠谱的还是自己加密文件在上传最靠谱,虽然繁琐点,但毕竟自己才是最信得过的人)

胡歌网摘 http://www.gojira.net

GOJIRA.NET原创文章未经允许不得转载! 当前页面:Gojira 哥斯拉 » 苹果iCloud数据存放在中国电信后安全性探讨

评论