New image

回顾2017WWDC大会,苹果新系统对SSL的变革

2017年06月29日

 

上周,苹果公司召开了一年一度的全球WWDC大会。大会上,苹果发布了High Sierra for macOS、iOS11、tvOS11和watchOS4等最新版的操作系统;同时也宣布了LibreSSL、TLS 1.3 Beta版、新版证书吊销检查机制;额外还探讨了对各平台加密库和SSL/TLS支持的改善方案。其中以下几个决策已经在大会期间通报过。

新版证书报错界面

Safari浏览器和High Sierra系统的证书报错界面将重新设计。其中在Safari浏览器中,新的证书报错页面被设计以一段简明扼要的英文来描述,不再使用“协议”或“签名”类似的专业术语,这类似于Chrome浏览器目前的报错界面。

 

在证书查看器会显示更详细的证书信息。如下图,用户可以看到一条警告信息,进一步描述了证书错误的详细内容。在这个案例中,显示的错误提示“此证书无法验证(弱摘要算法)”,是因为证书采用了SHA-1签名算法。

新版证书吊销检查机制

在大会上,苹果公司发布新版的证书吊销检查方法,适用于其所有应用平台。但是苹果公司暂时没有公布方法的名称,不过表示该方法类似于Mozilla的OneCRL运行方式。

新版证书吊销检查方法是,首先扫描证书透明系统日志,找出平台所信任的证书。然后再与证书颁发机构(CA)核查已吊销的证书状态。将已吊销证书的所有相关打包在一起,定期并静态自动传递到客户端设备(如Macbooks和iPhones)。

当建立TLS连接后,客户端设备就对中央列表中的证书进行检查,验证证书是否被吊销。如果证书已标记吊销,那么客户端将会执行OCSP检查以确定该信息是否准确。一旦被确认,客户端将拒绝建立连接。如果服务器提供OCSP响应,那么将以此进行确认,不需要执行检查。如果证书在中央列表中没有被标记吊销,则不需要执行OCSP检查。

OpenSSL被放弃,切换LibreSSL

在High Sierra系统中,苹果公司已经将SSL库从OpenSSL0.9.8zh切换到LibreSSL2.2.7。LibreSSL是OpenSSL的一个分支,支持OpenBSD。“安全传输”是苹果公司为SSL/TLS开发的API,主要应用于苹果自主开发的软件,而LibreSSL将成为第三方软件的SSL库。之前从未声明这一点,现在确保被High Sierra系统beta版用户发现。

扩大ATS豁免范围

苹果公司“安全传输”项目工程师Chris Wood在大会谈到App传输安全(ATS)的应用。表示苹果公司接收到广大开发者的反馈意见后,正在扩大对ATS标准的支持,但需要的过渡期比较长。Wood还强调,仍会坚持实施ATS安全标准,全力推动的HTTPS。希望开发者正确部署HTTPS,毕竟依赖这些豁免都是暂时的。

新苹果操作系统将支持以下框架的ATS标准:AVFoundation、WebView和Webkit。对本地网络连接(Ip地址和不合格的主机名)进行ATS豁免配置。

ATS豁免范围限定在特定的的域名或app。还有一种方法来确认你是否想要对一个主机名的证书进行证书透明检查。

TLS 1.3 Beta

最新版的TLS1.3还没有被国际互联网工程任务组(IETF)确定。但High Sierra和iOS 11系统已拟定规范草案支持TLS 1.3,由于该草案比较接近最终的版本,所以开发人员在TLS 1.3确定前就已经开始对其进行测试。

Chris Wood强调TLS 1.3握手时间将更快速。现场分享了苹果公司的分析数据,10%在蜂窝网络上建立的TLS连接中花费的时间需要800毫秒甚至更长,10%在Wifi网络上建立的TLS连接中需要500毫秒或更长时间。而TLS 1.3可将时间缩短三分之一。

目前,开发者可以在iOS 11系统中启用TLS 1.3(需要苹果开发人员账号)。

结束对SHA-1和2048位以下的私钥的支持

为了加强安全标准,迎合行业规则,苹果公司所有平台停止对老化的散列算法和加密方法的使用。凡是采用SHA-1算法或使用2048位以下私钥签名的证书将不再被High Sierra、iOS 11、watchOS 4和tvOS 11系统信任。

另外,通过移动设备管理(MDM)机制或由Safari、Mail、Keychain Access分发的证书,可以继续使用这些弱散列和密钥。(用于交互验证的)客户端证书也不会受到影响。目前,SHA-1签名的根证书暂未受影响,因为此类证书的签名验证机制不相同。在2015年,苹果平台移除已经移除2048位以下密钥的根证书。

这些规则并不会对目前CA签名证书造成影响,因为SSL行业标准早已禁止此类不安全的算法。

而开发者可通过错误代码“InvalidCertChain (-9807)”判断私钥的级别,在URLSession/URLConnection中会返回这一错误代码。面对这种情况,目前的唯一解决方案就是更换安全的证书。

RC4和3-DES将会被移除

另一位“安全传输”的工程师Bailey Basile补充,日后RC4和3-DES这两个旧的密码算法,也会被苹果公司所有平台弃用。虽然目前还没有给出确切的时间,但大家都心知肚明这一时间并不会太远,所以开发者应早日移除此类不安全的加密算法。

Basile还建议避免在CBC模式中使用AES(AES-CBC)。他建议的密码套件是AES-GCM或ChaCha20-Poly1305。

稿源:The ssl store

版权所有©数安时代科技股份有限公司2002-2019。保留一切权利。

客服热线:95105813   粤ICP备05036352号   公安备案:4406053010643