
近日Google推出了Capillary计划,该计划包括一个开源程序库,要帮助开发者提供服务器到Android设备间的端对端加密推送讯息功能,Google表示,要提供端对端加密功能需要一定程度技术,因此他们希望通过Capillary计划中的示例以及程序库,可以让这项功能更加普及。
目前Firebase的云端信息(FCM)功能通过HTTPS通讯传输,也就是说FCM服务器与使用者设备间的通讯采用TCP over SSL加密,这个过程的信息传输是安全的,但是开发者服务器到使用者设备间的通讯,除非开发者有特别实作端对端加密功能,否则这段的传输通常是明码传递。
为了提高信息安全层次,Google建议Android开发者也应该要在使用者设备上产生加密密钥,来提供端对端的加密推送讯息功能,为此Google为降低开发者在端对端加密技术应用的门槛,推出了Capillary开源程序库,简化开发者服务器到使用者Android设备间的端对端加密开发。
Capillary开源程序库提供Android KitKat以上所有版本加密以及密钥管理功能,涵盖范围从加密密钥产生到注册工作流程,开发者可以利用该程序库加密服务器信息,并在用户设备上解密,来防止恶意信息篡改,保护信息完整性。
Capillary还能用于文件级加密(File-Based Encryption,FBE)功能,限制加密信息只有在设备解锁后才能被解密,加密信息会被快存到“设备加密(Device Encrypted,DE)”的存储器中,而解密密钥则被存在Android密钥库中,需要使用者做身分认证才能解锁。
另外,该程序库也能良好处理特殊情境,像是在使用者安装或是重设App储存后,才新增或是重设装置锁等情况。Capillary程序库还支持使用ECDSA身分验证以及网页推送加密的RSA加密方法,开发者要传送端对端加密推送信息到基于浏览器的客户端,可以重复已经存在的服务器端代码。
不过,Google提醒开发者,Capillary开源程序库专为提供开发者服务器到使用者终端间的端对端(End-to-End)加密而设计,而非为对等网路(Peer-to-Peer)设计,开发者可以用来加密服务器对单一或是多个设备的讯息传递,但无法直接使用于设备间。开发者可以参考应用程序示例,如Google隐私团队使用Capillary开源程序库并基于gRPC服务器
本文属于原创文章,如若转载,请注明来源:谷歌推Capillary开源库 可加密推送信息//safe.zol.com.cn/690/6907910.html