XML数据库的安全性

时间:2012-05-09 06:24:22

标签: c# .net xml security

在其中一个项目中,我们使用XML作为数据库。后来我们意识到数据的安全性是个问题。应用程序的用户可以使用记事本修改任何数据。以下是我们可以采取的一些措施来保护数据库。

请注意,应用程序是用dot net编写的。

  1. 加密整个xml,程序将解密并使用它,同时保存加密并保存。(性能问题)

  2. 使用dot net assembly我们可以加密节点。(需要编写性能问题和大量代码来加密和解密笔记。

  3. 有没有最好的方法来保护XML,使得用户不能简单地使用记事本进行修改。

1 个答案:

答案 0 :(得分:0)

如果SQL Server是一个选项,并且您的主要目标是防止数据中的窥探,您可以利用SQL Server的XML处理和内置加密功能(例如证书,TDE等)来处理加密。这将消除您描述的大多数手动工作。

http://technet.microsoft.com/en-us/library/bb510663.aspx

如果数据需要在整个过程中加密(例如,当它在应用程序的内存空间中时)或者数据在用户的计算机上,那么基于SQL的加密将不实用或不充分。 / p>

  

使用dot net assembly我们可以加密节点。(性能问题和   需要编写大量代码来加密和解密笔记。

我不是说这是正确的解决方案,因为你没有提供足够的细节。但是,我认为您在两个无效的假设下运作。

  • .NET中的加密非常强大,可以使用少于100行的代码执行。您可以使用标准加密算法或与Windows证书服务集成。

  • 当然会对性能产生影响,但现代CPU在处理加密所需的数学方面做得非常出色。除非文件很大和/或你每秒处理数百个文件,否则我不会将设计基于性能问题。

最终,如果数据驻留在用户的计算机上,最关心的是密钥的位置和安全性。