苹果 iMessage、FaceTime、Siri 的隐私安全

分类:苹果杂谈
2015-1-13 22:43

评论(0)
阅读(4121)

Tags: , , , ,
5 个月前曾转载过 一篇全面介绍苹果 iCloud 加密、安全与隐私保护的文章,今天无意中发现作者写了篇续作,详细介绍了苹果 iMessage、FaceTime、Siri 等服务的隐私安全(原文)。转载如下


iMessage

iMessage 是苹果公司开发的一款即时通信服务,由苹果前 iOS 软件高级副总裁 Scott Forstall 在 2011 年 6 月 6 日举行的 WWDC 2011 上首度披露。iMessage 允许用户通过 Wi-Fi / 蜂窝数据网络发送文字、语音、图片、视频、地理位置、联系人名片,支持群聊,并能在可信的且为同一 Apple ID 的 iPod touch、iPhone、iPad、Mac 上无缝同步。

iMessage 传递的信息由端到端加密(End-to-end encryption, E2EE)所保护,因此,除发送者与接收者之外的任何人均无法获取 iMessage 的内容,且苹果保证该公司既无法解密其传输的数据,也不会记录信息。

作为大众,一个普遍且通俗的观点是:「我们用着苹果的设备和服务,也通过苹果的服务器发送、接收消息,苹果想查看谁的消息和历史记录岂不是易如反掌的事情?」

不是的!苹果利用优秀密码学算法、安全协议的设计保证着在服务中的应用的高度安全。

具体来说,当用户使用 iMessage 时首先会生成两对公私钥:

  • 1280 位的 RSA 密钥对,用作加密;
  • 256 位的椭圆曲线数字签名算法(ECDSA),用作签名。

公钥和用户的 APN 地址被发送至苹果的目录服务(Apple directory service, IDS),并与用户的电话号码 / Email 地址相关联。

RSA 算法是一种非对称算法,其算法安全性决定于对极大整数做因数分解的难度(不考虑其他多种攻击手段)。目前被攻破的最长的 RSA 挑战数是 768 位,而 iMessage 使用 1280 位,分解难度大约是 RSA-768 的数万倍。目前世界上还没有任何快速可靠的攻击 RSA 算法的方式,只要其钥匙的长度足够长,用 RSA 加密的信息实际上是不能被解破的。

ECDSA 结合和椭圆曲线和数字签名的优势。椭圆曲线公钥系统比相同安全强度的 RSA 计算量小很多,节省时间和计算资源,大约 160 位 ECC 与 1024 位 RSA、DSA 有相同的安全强度。而数字签名技术使用密钥加密、公钥解密,即只有 1 个人可以签名但所有人都可以查看。数字签名与普通签名目的一致:别人无法伪造签名、签名者无法抵赖。

数字签名算法简化流程

▲ 数字签名算法简化流程

iMessage 文本用 AES 加密,并使用安全性最高的分组密码工作模式:CTR(Counter, 模式基数模式)。对照片、视频、语音等则产生一个随机数作密钥,加密后上传至 iCloud。所有密钥都经过加密和签名。流程如下图所示:

iMessage 信息发送接收流程

▲ iMessage 信息发送接收流程

接收者从苹果的目录服务中获得公钥和发送方信息,验证后解密还原得到原始消息。至此,一条 iMessage 完成了发送和接收,苹果的目录服务删除所有回话有关内容,如果用户没有在线查看,信息将在目录服务中最多保存 7 天。

FaceTime

Facetime 让我们可以在 Wi-Fi / 蜂窝数据网络环境下与好友进行音视频聊天。与 iMessage 类似,FaceTime 同样使用苹果消息推送服务与用户认证过的设备建立连接。

FaceTime 使用的安全协议包括:

  • 建立点对点连接:Internet Connectivity Establishment (ICE)
  • 建立会话:Session Initiation Protocol (SIP)
  • 音视频流传递:Secure Real Time Protocol (SRTP)

上述协议均是国际标准化协议,具有极高的安全性。其中,「建立会话」过程的密钥用随机数产生,保证密钥的不可预测并防止回放攻击;「音视频流传递」过程中使用 AES-256 加密(安全的对称密码算法和最长的密钥)。在信息传递过程中,双方设备产生随机数,相当于给密钥「加盐」。在高强度密钥的基础上,再给密钥加入更多的不确定性因素(也就是「加盐」的含义)后作为加密密钥,安全性更加有保证。

Siri

尽管有时不能完美识别、链接速度较慢,但仍有相当大一部分用户(包括笔者在内)都很喜欢 Siri。通过 Siri,我们可以使用自然语言与手机进行互动,完成搜寻资料、查询天气、设定手机日历、设定闹铃、完成听写等等。

Siri 工作过程中需要联网,发送的内容包括:

  • 随机产生的用户标示符(用来完善 Siri 服务)
  • 用户的录音:向 Siri 提问或听写的录音
  • 用户的媒体库信息:歌曲名、艺术家、播放列表
  • 备忘录清单的名称
  • 通讯录中的名字和关系(爸爸、妈妈等)
  • 用户大致的地理位置

所有通信通过 HTTPS 协议完成。HTTPS 简单说是 HTTP 协议的安全版,其安全基础是 SSL。对 HTTPS 各位读者应该不会陌生,对使用网上银行时地址栏中的「https://」有印象吧?没错,Siri 也用的是 HTTPS。

HTTPS

HTTPS 需要向证书授权中心申请 CA 证书(如上图中的 VeriSign 公司),并对通信内容通过 SSL 加密。HTTPS 的目的是在不安全的环境下进行加密传输、身份认证。

Siri 不会多收集用户的个人信息。以地理位置为例,仅当用户使用一些指令时(如推荐身边的商场、电影院等等)才会请求用户的具体位置。在完成用户的请求后,这些内容会在 10 分钟内从服务器上删除。

关于个人信息收集,前一段时间央视炮轰苹果收集用户地理位置信息。苹果很重视用户的个人隐私,并官方网站上明确的写出了如何收集、使用、披露、转让以及存储用户信息的隐私权政策。相关链接参见文末的「关联阅读」。

由于 Siri 可以根据用户的说话习惯和语音语调进行调整,用户的语音在服务器端将保留半年;半年后,保留的语音被去除掉随机产生的用户标示符,用于训练 Siri 以提高识别率;两年后,语音将被彻底删除。

小结

苹果在安全方面的努力有目共睹,尤其是对用户频繁使用的服务,在设计和实现上都提供了很高的安全性,并对于上传的用户信息和这些信息的存储、用途都做了清晰的说明。密码学算法、安全协议、安全策略等等在苹果的各项互联网服务中被广泛应用,始终有效地保证我们用户的数据安全。

原文:http://sspai.com/26561


  
  
发表评论
  
       昵称   [注册]    密码   游客无需密码   
         
    打开HTML     打开UBB     打开表情     隐藏           记住我