Cloud Firestore - 加密,因此管理员看不到数据库中的纯文本
Cloud Firestore - Encryption So Admin Can't See Plain Text in Database
我打算在我的 Flutter 应用程序中使用 Cloud Firestore 来存储问卷中的数据。尽管问卷本身不要求提供个人信息,例如姓名、phone、电子邮件或密码等,但它确实提出了几个问题并产生了我不希望 cloud firestore 管理员看到的数据。在一次会议中,确定数据安全的风险在于管理员帐户可能会受到威胁,人们将能够 view/export 纯文本数据。我已经为此研究了端到端加密,但是,我公司内部的指定人员将需要处理数据,因此稍后需要 de-encrypt 数据。
我应该如何加密云 firestore 上的数据,以便
- 管理员看不到纯文本
- 指定人员可以在需要时de-encrypt生成报告
通过谷歌搜索,我的想法是,我或许应该在设备端提供一个 public 密钥,用于对数据库进行加密。我应该妥善保管私钥,这样以后只有处理数据的人才能de-encrypt。
是否有人们为此使用的工作流程?
抱歉,如果这是一个基本问题!
您所描述的几乎就是如何做到这一点:在将数据发送到 Firestore 之前在客户端加密数据,然后在您的仪表板和您需要显示它的任何其他地方再次解密它。这是确保项目的协作者无法看到数据的唯一方法。
或者,您可以考虑不让任何人访问您用于生产数据的项目的 Firebase 控制台中的 Firestore 面板。所以在那种情况下,开发人员可以在开发项目中看到所有未加密的内容,但在生产项目中什么也看不到。
我打算在我的 Flutter 应用程序中使用 Cloud Firestore 来存储问卷中的数据。尽管问卷本身不要求提供个人信息,例如姓名、phone、电子邮件或密码等,但它确实提出了几个问题并产生了我不希望 cloud firestore 管理员看到的数据。在一次会议中,确定数据安全的风险在于管理员帐户可能会受到威胁,人们将能够 view/export 纯文本数据。我已经为此研究了端到端加密,但是,我公司内部的指定人员将需要处理数据,因此稍后需要 de-encrypt 数据。
我应该如何加密云 firestore 上的数据,以便
- 管理员看不到纯文本
- 指定人员可以在需要时de-encrypt生成报告
通过谷歌搜索,我的想法是,我或许应该在设备端提供一个 public 密钥,用于对数据库进行加密。我应该妥善保管私钥,这样以后只有处理数据的人才能de-encrypt。
是否有人们为此使用的工作流程?
抱歉,如果这是一个基本问题!
您所描述的几乎就是如何做到这一点:在将数据发送到 Firestore 之前在客户端加密数据,然后在您的仪表板和您需要显示它的任何其他地方再次解密它。这是确保项目的协作者无法看到数据的唯一方法。
或者,您可以考虑不让任何人访问您用于生产数据的项目的 Firebase 控制台中的 Firestore 面板。所以在那种情况下,开发人员可以在开发项目中看到所有未加密的内容,但在生产项目中什么也看不到。