加密密钥是否可以存储在用户';使用Firebase Auth时,Google帐户是什么?

加密密钥是否可以存储在用户';使用Firebase Auth时,Google帐户是什么?,firebase,security,encryption,firebase-realtime-database,firebase-authentication,Firebase,Security,Encryption,Firebase Realtime Database,Firebase Authentication,我有一个在Firebase web上运行的应用程序,带有实时数据库,并且使用Google作为唯一的身份验证提供商进行身份验证。我希望数据只能由用户读取,所以虽然我知道实时数据库提供了安全传输和服务器存储,但我不希望自己也能在Firebase控制台中查看用户信息 在用户设备上存储密钥的端到端加密不是理想的解决方案,因为我希望用户能够跨多个设备访问数据 AES加密似乎是最好的解决方案,但通常的问题是在哪里存储密钥 我的理论 如果每个用户的数据都有一个单独的加密密钥,我可以将其存储在他们帐户的某些“w

我有一个在Firebase web上运行的应用程序,带有实时数据库,并且使用Google作为唯一的身份验证提供商进行身份验证。我希望数据只能由用户读取,所以虽然我知道实时数据库提供了安全传输和服务器存储,但我不希望自己也能在Firebase控制台中查看用户信息

在用户设备上存储密钥的端到端加密不是理想的解决方案,因为我希望用户能够跨多个设备访问数据

AES加密似乎是最好的解决方案,但通常的问题是在哪里存储密钥

我的理论 如果每个用户的数据都有一个单独的加密密钥,我可以将其存储在他们帐户的某些“web应用程序数据”部分,我可以将他们的密钥(加密)存储在他们的帐户上。因此,我的应用程序和服务器不存储他们的密钥,用户也不需要显式存储或记住任何东西,但密钥仍然完全由他们拥有(通过他们拥有的Google帐户)。不过,我将负责存储密钥,以便为我的数据库解密他们的密钥

我的问题 虽然我理解要求对这个理论进行分析与严格的编程无关,而且是一个有点开放性的问题,但我至少想了解这个解决方案的可行性,以及它是否可能在编程方面实现


谢谢大家!

Google Drive App Data似乎提供了一个潜在的解决方案,使之成为一种可行的方法

通过请求
https://www.googleapis.com/auth/drive.appdata
scope在OAuth期间,应用程序可以在用户的Google驱动器内创建应用程序数据文件夹。用户数据的加密密钥似乎可以存储在那里,而不会被用户看到/篡改,至少在用户拥有的情况下