苹果开源三个加密库

jopen 9年前
 

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

三个被开源的组件是:

  • 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