1

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

请注意,应用程序是用点网编写的。

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

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

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

4

1 回答 1

0

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

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

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

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

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

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

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

最终,如果数据驻留在用户的机器上,那么最大的担忧将是密钥的位置和安全性。

于 2012-05-09T07:09:32.540 回答