我正在尝试在我的项目中实现文件加密,但我想知道密钥存储的最佳实践。
我们的应用程序被部署到不同的客户群。每个组由多个地理站点组成,每个站点又由多个用户组成。用户创建文件,然后通过中央同步服务器与其他站点同步。这些文件必须在保存点加密,并且只有在客户端站点加载时才能解密。
因此,任何对称密钥都需要在组级别是唯一的,并安全地存储在每个站点。
我们正在使用 AES,但密钥目前是硬编码并存储在应用程序中,因此既可以通过反编译轻松访问,也可以对所有客户端进行访问,这让我非常担心。一旦您可以访问我们的应用程序,破解这种设置似乎很简单。
那么,如何确保为每个组生成唯一密钥,然后将该密钥安全地存储在每个站点?