2012-12-14 71 views
3

我曾希望得到关于存储HIPAA合规性以及Amazon S3文件存储安全性的数据库加密密钥的最佳方式的建议。我一直在搜索stackoverflow和谷歌搜索一般,但我不能完全掌握我是特别是做的就足够了。我不想让自己的行为与规定的方法有所不同,从而使我的应用程序不安全。符合HIPAA的Heroku数据库和亚马逊S3加密密钥存储

目前,我有一个Rails应用程序,它使用gem attr_encrypted加密数据库中的敏感患者标识数据,如名称,ssn,地址等。我还将签名和患者图片的图像存储在Amazon S3中使用服务器端加密。我知道我不应该在应用程序或任何可能受版本控制的文件中对数据库加密密钥进行硬编码,但是我可以将它保存在heroku的env config变量中吗?这些如何保证?它们与数据库有多独立(如果有人进入heroku并窃取了数据库的副本,那么ENV变量也会以某种方式受到攻击?)?我目前将我的AWS密钥保存在heroku env变量中,是否安全?另外,什么是用于加密的最佳密码短语?我目前在一本书中随机使用了2个句子。

请让我知道,如果我对我所概述的任何程序非常天真,并且如果我问天真的问题,我会提前道歉。我希望成为符合HIPAA标准的公司,但是除此之外,我希望我能够超越HIPAA的要求,因为从我的理解来看,HIPAA合规并不总是=实际上是安全的。

谢谢大家!

+4

HIPPA是否需要双因素认证?无论如何,你应该联系Heroku;如果没有他们的参与,我不会看到你如何能够满足HIPPA审计要求。就我个人而言,我不认为这是一个好主意。 – Eli

+0

对于密码,我会从/ dev/random中获取数据。 –

+0

嗨@FrederickCheung,谢谢你的回复。根据jamieb的附录,我使用/ dev/urandom来产生64个字符(无特殊字符)的字符串。 cat/dev/urandom | tr -dc'a-zA-Z0-9'|折-w 64 | head -n 1.在你看来,这足以作为密码吗?谢谢! –

回答

0

(这更多的是一种意见的,但它是太长添加为注释):

@Eli:HIPAA实际上并不要求使用任何特定的技术。这是好事,因为这是一个法律,并不像变速技术那样可变。

@OP:Here is a whitepaper关于在AWS上构建HIPAA投诉应用程序。它应该给你一些好点子。但Eli是正确的,因为您需要联系Heroku获取合规信息。或者你现在可以更好地从Heroku迁移出去。根据我的经验,这是一个很好的原型平台,但在处理生产环境时很容易(而且代价高昂)开始受到限制。

@FrederickCheung:如果没有足够的熵,则直接从/dev/random读取将会阻止。如果伪随机性不够好,通常建议使用/dev/urandom或实际的加密库。

+0

非常感谢您的回复。 @jamieb,正如我对弗雷德说过的,我已经采纳了你的建议并产生了64个字符。来自urandom的密码短语(带大写和小写的字母数字)。你认为这足够吗?关于从Heroku迁移...如果我找不到有关Heroku分享他们的合规信息的信息,我可以转向AWS。 Heroku有吸引力的部分原因是我为自己做了多少事情,因为我在维护自己的服务器方面经验不足。在你看来,我应该尽可能在AWS上复制Heroku(postgres等)?非常感谢! –

+0

我从2年前在关于heroku合规性的stackoverflow中挖出了这篇文章。 http://stackoverflow.com/questions/4308861/heroku-hipaa-compliance。 “他们表示员工可以访问数据,但未经业主同意不得访问数据,他们还表示员工未经同意就可以进行此类活动。”底层AWS结构+关于员工访问数据的断言是否足以满足合规性?我猜测还没有。即使Heroku兼容,尽管增加了复杂性,您仍然会建议由于费用而进行迁移?谢谢! –

+0

Heroku是一种构建在AWS之上的PaaS解决方案,这是一种IaaS解决方案。它们都为您的应用提供了一个家,但却是非常不同的产品。使用AWS更为复杂,但权衡更灵活。哪一个最终更便宜/更好取决于您的应用程序,您的内部技能组合,流量,SLA要求和业务目标。 – jamieb