如果您是在应用程序中实现推送通知的开发人员,并且您或您的用户关心数据隐私,那么安全地传输这些推送消息就很重要。对于那些已经从事数据安全性工作的人来说,实施强大的加密措施是不费吹灰之力的。对于其他人来说,这是一个难以实现的功能。Google的Firebase Cloud Messaging(FCM)通过TLS推送消息,因此您可以通过Google的服务器安全地发送消息,但这样做不符合端到端加密的黄金标准。如果没有端到端加密,理论上的第三方可能会破坏数据。有了它,只有最终用户的设备才能解密数据。对于新开发人员而言,实施E2E加密可能很困难,因此Google推出了Project Capillary。它是一个开放源代码库,有助于在开发人员的服务器和客户端的设备之间实施E2E加密。
使用毛细管库,第一步是由客户端设备完成的:生成密钥对。然后,公共密钥必须在开发者的服务器中注册。开发人员的服务器将通过FCM之类的推送消息服务发送使用公钥加密的推送通知。然后,服务将该消息发送给客户端,客户端使用私钥对消息解密。
毛细管与API级别19向后兼容,因此可以在运行Android KitKat或更高版本的任何设备上使用。该库还包括一些完整性保护措施,以防止消息修改,并考虑了设备重置措施。并非为在两个设备之间实施E2E加密而设计的。这不会帮助您创建安全的消息传递应用程序!
在下面的链接中查看Capillary开源库。请记住,根据服务器的体系结构,您可能需要进行一些手动调整。Google很好,它通过提供必要的工具和库来简化开发人员的生活。