我们在至少 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/