我很快就会升级一个系统,其中包含一个MYSQL服务器和AWS上的redis服务器。
它的工作方式是查询两个完整的表,解密所有内容,然后将结果放入redis,然后应用程序从那时起查询redis以检索结果。
问题是,每次我们清除redis -我们所有的站点
因为这个设置的另一个问题是,我们不能在SQL中查询用户或按名称对用户进行排序,所以我们必须通过“查询”redis,然后执行类似于PHP中的操作来开始这样做,而且在性能上可能会非常糟糕。
我一直在研究mariaDB的rest加密特性,如果加密在数据库中是透明的,那么它将从易用性和性能的角度彻底解决我们的一些体系结构问题,但另一方面,它将比应用程序级加密更不安全。
我的问题是,作为一家英国公司,在医疗相关数据的加密方面,我们有什么可供选择的?我的“休息时加密”的想法是否足够?关于病人是否有一些确实需要加密的具体内容?(也许我们可以采取一种混合方式?)
还有第三种我没想过的方法吗?
发布于 2017-08-29 14:21:47
我首先要说的是我不是律师,我已经很久没有在医疗机构工作了.
我不知道除了DPA和GDPR之外的任何法律限制。然而,卫生委员会拥有独立于立法的自身要求并不罕见。根据使用情况,您还可能受到HSCIC规则的约束--亚马逊有一个关于这事的医生。后者的一项要求是,你在政策的使用和应用方面受过培训。
它的工作方式是查询两个完整的表,解密所有内容,然后将结果放到redis中。
这使我认为有人没有理解应用加密的要求和影响。由于您已经在加密之外编写了明文,所以加密没有好处。我怀疑在加密之外写入明文的原因是为了查询数据。这对整个服务都有影响,我一点也不奇怪。也就是说,这确实对服务造成了损害,而且没有任何好处意味着净损害,因此加密实际上比无用更糟糕。大概有人刚刚听到了“加密”,并认为它更安全。雷迪斯“在记忆中”并不那么重要。
如果这是在一个可以保证内存完整性的平台上,那么配置两个MySQL实例就很简单了--一个运行zram和一个离开磁盘,然后在它们之间进行复制,以确保始终有一个最新的、未加密的副本,而不必依赖批处理复制和noSQL数据库的约束而写入磁盘。
使用由DBMS实现的透明加密与在块设备(例如dmcrypt、luks)或文件系统层使用透明加密几乎没有什么区别。在谁控制密钥方面存在操作上的差异--这可能是一个重要的考虑因素)。Mariadb加密有一个不同之处,因为它可以在表或表空间级别指定,而不必在不同的文件系统中拆分表/表空间。MariaDB还支持AWS密钥存储。
目前,IMHO使用这些透明加密方法中的任何一种,并且不将明文复制到redis,将为您提供一个更快、更安全的解决方案。
https://security.stackexchange.com/questions/168289
复制相似问题