我在一家基于欧盟的公司工作,我们希望为商业客户提供一种独立于操作系统的、基于云的SaaS平台,用于处理和存储敏感(健康)数据。我们希望在Google平台上实现我们的软件。
所有敏感数据都应该用对称密钥加密,这些密钥由客户提供,不存储在云平台上。(我们相信谷歌,但爱国者法案是个问题。)
然而,客户端界面最好在浏览器中作为web应用程序运行。这使得客户端加密变得复杂。此外,许多员工应该能够访问业务客户域中的加密数据。因此,加密密钥必须以某种方式在员工之间共享。
一种方法是通过共享密码(使用PBKDF2)生成加密密钥,将其存储在会话cookie (lifetime=0)中,并为每个访问敏感数据的请求将其传输到云服务器。服务器执行请求的操作,然后从内存中删除密钥。
当然,如果我们或谷歌想要这样做的话,可能总会有提取密钥的方法,但我们可以确保数据是用用户提供的密钥加密存储的,只有用户才能管理。
我想知道是否有人有更好的主意。先谢谢你。
发布于 2018-06-09 08:40:13
发布于 2018-01-09 23:00:00
如果您期望服务器接受明文数据,然后对其进行加密,则不要认为对称密钥是可能的;只在会话期间将加密密钥保存在内存中并不能真正保护数据,因为(对于相对繁忙的服务而言)密钥将在内存中,因此数据在整个工作日都容易被解密。
这可能是一种有效的防御措施,防止有人拦截您的备份,或试图直接从磁盘窃取数据;但不是针对主动服务的黑客攻击。
如果加密发生在客户端,而您在SaaS云中收到的所有信息都是密文,则可能会有效--但是云将无法对这些数据进行任何处理。
https://security.stackexchange.com/questions/155920
复制相似问题