c# - 保护 XML 文件免遭编辑

标签 c# .net xml encryption

我们在至少 1000 个 xml 文件中实现了大约 60 MB 的设备配置。

现在我们正在向客户发布该软件。但我们的要求是不允许用户查看和编辑xml配置文件。 XML配置文件包含大量设备 secret 信息,如果可读,很容易被黑客攻击。

现在我们需要加密 xml 文件。有没有推荐的方法来加密 xml 文件并且可以在运行时解密?

最佳答案

这是 DRM 应用程序中已知的一个问题 - 您希望将数据提供给您选择的用户代理,而不是操作该用户代理的用户。但是,正如 Jon 和 Oded 指出的那样,由于用户代理通常位于用户一侧,因此坚定的黑客会找到破解加密的方法。这是一场猫捉老鼠的游戏。您正在尝试寻找解决方案来解决实现 DRM 的人们想要解决的完全相同的问题。仅软件的用户代理比硬件辅助的用户代理更容易被黑客攻击,但无论哪种情况,黑客都需要时间。最新的发展是后者 - 将所有加密技术嵌入到硬件中 - 例如 HDMI 的 HDCP 方法(高带宽数字内容保护路径),通过让解密的数字信号沿着黑盒硬件传递,本质上使用户无法访问解密的数字信号从解密点到可用,但在预定目的地 - 电视屏幕上。然而,HDCP 成功的关键是在硬件中实现它。大多数黑客已经学会了如何处理软件。但既然我想说现在每 100 个优秀的软件黑客就有 1 个优秀的硬件黑客,所以老鼠希望周围没有猫来捕获它。抱歉,理论太多了,但我相信这对你的问题至关重要。如果您仍然愿意玩这个游戏,请加密您的 XML 文件并确保解密 key 不会被潜在的黑客所获得——即对其进行混淆,除此之外别无他法。

关于c# - 保护 XML 文件免遭编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2147086/

相关文章:

c# - 在 C# 中的某个特定字符后获取值

c# - GroupBy 与 elementSelector 和 resultSelector

android - Android 布局 XML 中的 "@id/android:list"与 "@android:id/list"

c# - 自定义 SettingsProvider 和检索默认值

c# - ASP.Net MVC 4 自定义验证属性 isValid 被调用两次

c# - 如何检测证书的类型(A1 或 A3)?

c# - 当前上下文中不存在字符串 - C#

c# - 搜索字符串列表以查找文件名匹配并替换为新文件路径

java - 如何基于节点读取Xml文件

xml - 如何使用 xml starlet 选择 xml 值