HIPAA合规性的数据库要求是什么?

时间:2016-04-19 08:03:38

标签: mysql sql ruby-on-rails hipaa

我正在使用带有mySql的Ruby on Rails 4.2用于我的HIPAA Compliance应用程序,我需要知道此应用程序的技术数据库要求。

我们真的需要加密所有数据库值,例如患者姓名等吗?

2 个答案:

答案 0 :(得分:11)

如果您希望Rails应用程序符合HIPAA标准,则必须加密与患者和医生相关的所有详细信息(姓名,电子邮件,电话,地址)。

以下2个Ruby宝石对您非常有帮助。

attr_encrypted:https://github.com/shuber/attr_encrypted

paper_trail:https://github.com/airblade/paper_trail

HIPAA是一个不寻常的法律,它提出了许多建议(可寻址的项目)和一些断言(必需的项目),但最终由每个组织决定他们需要做什么才能成为这会产生很大的灵活性和很大的不确定性。一般而言,要符合HIPAA标准,网站必须至少确保以下所有受保护的健康信息(ePHI):

传输加密:始终通过互联网传输时加密

备份:永不丢失,即应备份并可以恢复

授权:只有获得授权的人员才能使用独特的审计访问控制来访问

诚信:未被篡改或改变

存储加密:在存储或存档时应加密

处置:不再需要时可永久处置

Omnibus / HITECH:位于与您有HIPAA业务伙伴协议的公司的Web服务器上(或者它在内部托管,并且这些服务器根据HIPAA安全规则得到适当保护要求)。

答案 1 :(得分:2)

HIPAA要求不够强大。简而言之,它指出你必须在静止时加密医疗记录而你不能使用破碎的原语,这是显而易见的。审核您的系统的人可能会喜欢看AES。这是微不足道的支持,并且Amazon RDS MySQL实例已经通过aes_encrypt()和aes_decrypt()函数开箱即用。

HIPAA和PCI-DSS不足之处在于它们没有说明应该使用什么操作模式。实际上MySQL的aes_encrypt()使用ECB模式,这是可怕的。此外,在此层使用加密时存在执行安全性的问题。通过配置mysql来记录所有查询,很容易打破aes_encrypt()。 AES密钥必须嵌入到您的应用程序中,因此如果它被泄露,攻击者可以从配置文件中读取值并访问记录。这是通过加密应用程序中的数据然后将密文发送到数据库可以避免的两个故障点。但HIPAA并不关心这个问题。 HIPAA的其他要求,例如要求CISSP分析您的应用程序更为重要。

我敦促您实施一个安全的系统,但HIPAA的设计不够好,无法照顾。