首页>科技 >内容

Google释出Capillary开源函式库助Android开发者提供端对端加密推送讯息功能

科技2021-02-28 20:04:37
最佳答案

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伺服器的实作。

免责声明:本文由用户上传,如有侵权请联系删除!