MySQL内部加密功能是否足以使系统安全?

时间:2014-06-03 02:05:06

标签: mysql security encryption

我正在为初创公司工作,使用MySQL进行医疗保健服务。

由于我公司提供医疗保健服务,因此有许多重要数据,如患者信息。

我们需要并且希望满足与健康信息隐私相关的一些合规性,尤其是HIPAA和HITECH。

我们已经搜索了几种保护数据库的方法。

结果,我们决定加密我们的数据库。

有两种加密MySQL数据库的通用方法,使用MySQL内部加密功能并部署一些加密解决方案。

但是,我们无法确定要选择的内容。

MySQL内部加密功能是否足以使系统安全? 如果没有,最好的是什么?

3 个答案:

答案 0 :(得分:1)

MySQL的内部加密需要密钥管理。您的患者信息将像您的密钥一样易受攻击,并且MySQL中没有任何内容可以帮助确保密钥安全。这将是您的应用程序软件的功能。您必须编写代码以在每次访问时获取和使用密钥。一个破解者将能够做你做的事。

另外,患者医疗记录本身的信息本身就是受保护的健康信息。如果您加密它们,您的用户将很难在您的系统中找到他们的患者。

结论:加密您的DBMS既不必要也不足以保护患者数据。这是个坏主意。与其他美国医疗保健IT公司一样,您需要在内部网络和公共网络之间建立可靠的防火墙。您需要使用TLS在公共网络上隐藏您的患者数据,并使用可靠的身份验证方案以确保您的用户是他们声称的用户。您需要聘请ISO29001审核顾问来指导您认证您的系统是安全的。

答案 1 :(得分:1)

通过DBMS提供的内部加密包应用数据库加密,可以方便用户申请。但是,在考虑数据库加密时,不仅方便而且实际保护个人信息也很重要。安全专业人员普遍认为,仅由DBMS提供的加密功能不足以安全保护个人信息。这对MySQL内部加密函数也不例外。

首先,MySQL内部加密功能不提供*密钥管理。 加密数据时,不仅加密本身而且管理密钥也很重要。当加密很重要时,密钥的重要性不能过分强调。但是大多数加密解决方案并没有过多关注密钥。使用MySQL内部加密功能时,密钥会暴露给源,因此可能没有正确的密钥管理。

以下是源代码示例。

INSERT into userc(name,town)VALUES('john',AES_ENCRYPT('nebraska','usa2010'));

SELECT CAST(AES_DECRYPT(town,'usa2010')AS CHAR(50))来自userc的town_decrypt;

您可以在命令中看到键'usa2010'。

其次,**用户的数据访问控制很困难。 为了正确访问个人信息,应控制IP地址,MAC地址和访问时间。通过仅应用MySQL内部加密功能,很难提供适当的访问控制。

第三,通过应用MySQL内部加密功能,需要进行查询修改。 您可能认为通过MySQL内部加密函数轻松应用加密。但实际上,您必须过度修改应用程序以通过此方法实现加密。这是因为MySQL内部加密功能需要进行查询修改。换句话说,必须将加密函数插入到查询中,以便在数据进入存储引擎时对其进行加密。应用查询修改对DB加密系统的实现者来说是一个很大的负担。

因此,我认为部署一些加密解决方案对您的数据更安全。

我无法确认什么是最适合您的解决方案,因为这取决于您的具体情况。但我可以举一些例子。

如果要加密几乎每个数据库或列,文件级加密和其他类型加密工具之间没有区别。在这种情况下,您可以找到许多文件级加密工具,如Gazzang的nZcrypt。 http://www.gazzang.com/products/zncrypt

但是,如果您只想加密几列,我希望您找到单元级加密或列级加密工具。正如我在SQL Server中所知,它自己的加密功能支持单元级加密,但我不确定MySQL中是否存在单元级加密工具。我找到了列级加密软件MyDiamo。 http://www.mydiamo.com

我希望这个答案对你有所帮助。

谢谢。


*密钥管理: 将数据(明文)转换为密码(密文)时,使用“密钥”。类似地,可以在解密中使用相同的密钥。对于安全加密,加密功能很重要,但密钥的管理更为重要。密钥管理不仅仅意味着保存密钥。这意味着在某个层上应用加密,并在通过合法进程和用户身份验证后控制特定层中的解密。也就是说,安全密钥管理包括对解密权限的控制。

**数据访问控制:  如果外部人员可以轻松访问某个关键数据,这可能会造成严重破坏。在生成,优化或保存数据时,我们应该考虑数据的安全性。通过密钥管理,数据访问控制,定义或限制访问数据的权限,需要进行安全加密。

答案 2 :(得分:1)

您应该查看MS SQLServer企业版2012中使用的TDE.Oracle也有类似的解决方案。大多数顶级EHR应用程序都使用这些。您还可以查看WorldVista,它是为VA医院开发的树数据库。服务器