据我所知,Firebase通过HTTPS连接发送数据,因此数据已经被加密。尽管Firebase提供了保护我的数据结构的安全规则,但我仍然可以在数据库中看到字符串消息。
我只是好奇在将数据推送到Firebase之前加密消息是否是个好主意。 我应该从这个话题转到别的吗?
谢谢。
答案 0 :(得分:11)
您似乎很好地掌握了Firebase数据库的工作原理:data is encrypted in transit,它是stored on encrypted disks on the servers。如果您在设备上启用了本地持久性,请on device data is not encrypted。
但该应用的管理员可以在Firebase控制台中查看数据。如果您的应用要求管理员无法读取此数据,那么您需要先在客户端对其进行加密,然后再将其发送到Firebase。不久前,开发人员解释了他们的end-to-end encrypted chat on the firebase-talk mailing list。
答案 1 :(得分:3)
嘿杰夫:当你将一些数据写入Firebase / Firestore时,你是对的,数据:
加密数据客户端(端到端加密)禁止所有这些参与者/角色查看您的数据。
在客户端加密数据非常简单(跨移动平台和浏览器的兼容性很棘手)。另一个棘手的部分是密钥管理,使一个用户能够访问解密密钥,而其他用户不会在不安全的渠道中发送密钥。
您可以实现此目的:
在GitHub for iOS上查看此Firebase E2EE聊天示例:https://github.com/VirgilSecurity/demo-firebase-ios和Android:https://github.com/VirgilSecurity/demo-firebase-android
HTH, 大卫