【问题标题】:Flutter - client side encryption of user dataFlutter - 用户数据的客户端加密
【发布时间】:2021-03-13 18:04:24
【问题描述】:

是否有任何包、框架或服务可以在 Flutter 中使用 firebase 作为服务器对用户数据进行客户端加密?

我希望构建一个应用来处理用户的一些个人财务信息,因此我不希望其他人(包括我自己)能够访问它。 Firebase 允许开发人员查看未加密的数据库,因此我需要在客户端进行加密。

我认为这可能必须涉及用于加密和解密用户数据的客户端对称密钥。

我担心的是如何存储这个密钥。

(1) 随机生成的密钥存储在本地 - 不允许用户在设备之间切换,如果设备丢失则丢失 (2) 将其存储在 Google Drive 中 - 要求用户拥有 Google 帐户。 (Advocated by this article 来自 HackerMoon (3) 从用户密码的加盐哈希(存储在本地)确定性地生成它 - 如果用户忘记或更改密码,则会丢失。 (4) 允许用户在上述子集之间进行选择

我的问题与How to encrypt user data in Firebase 类似,但它涵盖了数据在用户之间传输并因此使用公钥加密的情况。

问题: 为 firebase 数据库加密用户数据的最佳方法是什么?

如果要使用对称密钥,生成和存储此密钥的最佳方式是什么,这样用户就不会冒失去对其数据的访问权限的风险?

【问题讨论】:

标签: flutter dart encryption cryptography


【解决方案1】:

这似乎是我案例的最佳解决方案:flutter_secure_storage。它将数据存储在 iOS 和 Android 官方密钥存储中的应用特定容器中

【讨论】:

    猜你喜欢
    • 2019-02-26
    • 2016-10-08
    • 2015-04-30
    • 2012-07-15
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多