苹果开源三个加密库

  • Sergio De Simone
  • 刘振涛

2015 年 11 月 3 日

话题:开源移动AppleiOS语言 & 开发

苹果宣布开源其操作系统的安全子系统中三个主要组件,其中一个库使用的具有限制性约束的许可证引发了争议,此次声明也对该争议作出相应解释。

三个被开源的组件是:

  • corecrypto:所有加密库的基本构件,为其它库提供低阶加密原语,Apple 声称,“iOS 或 OS X 应用不应直接使用corecrypto。”开源corecrypto的目的是让开发者或其它对corecrypto感兴趣的团体可以查验它的具体实现以及安全特性。corecrypto的许可条款比其它两个库更为严格。
  • Common Crypto:一个为常见加密操作(如对称加密、基于散列的消息身份认证、摘要加密等)提供支持的库,为 iOS 和 OS X 提供加密服务
  • 安全框架:一个为证书、密钥以及信任策略管理提供 API 的库。这个库中包含一些很重要的 OS X 和iOS 服务,例如:Keychain、传输层网络安全等。

许多公开评论指出,苹果发布的声明中有一个重要细节,其实它最底层的组件corecrypto并没有被真正开源,我们顶多可以将其视为一种“代码披露”的行为。事实上,苹果强制所有下载corecrypto的用户必须接受他们的“内部使用许可协议”,这个协议授予下载者自下载日起 90 天的查看权利,而且明文禁止再分发。Reddit 的一位评论者认为,90 天的源码查看限制赋予了他们自由撤销授权的选择权:万一苹果决定停止对外公开下载“corecrypto”,这项协议可以确保他们的源码在全球范围内的授权时间最多只有额外的 90 天。

此举的另一重要原因是,我们实际上无法明确知晓是否能通过苹果提供的源代码有效地构建包含在正式版 iOS 和 OS X 中的加密库和框架。

尽管如此,Apple 仍然希望为第三方开发者提供这些加密库从而让他们能够在自己的 App 中应用更多高级安全特性。

查看英文原文:Apple Open-sources Three Cryptographic Libraries

开源移动AppleiOS语言 & 开发