【发布时间】:2015-05-26 03:31:06
【问题描述】:
我今天的问题是我必须保护要从我的 Internet 网站分发的 XML 文件免受第三方的操纵。
如果我没有关于 XML 的经验,我会尽可能清楚。
首先让我澄清一下,这些 XML 基本上是出于礼貌而分发给我的“客户”的,他们下载了它们,并且要阅读它们以便插入到他们的数据库中。它们基本上是数据库的条目。我无法避免这样做。 XML 文件将以这种方式分发,我无法识别下载它们的“客户”。
我不知道为什么我的“客户”应该接受来自其他来源的文件,但是可能可能会发生这种情况。如果是这样,这些其他来源也可以下载、读取、修改我的 XML 的参数(原为纯文本)并将修改后的文件转发给最终用户(“客户端”)。
我以为我可以实现校验和方法,但从长远来看,第三方可以找出算法并提供具有正确校验和的修改文件。
有什么办法可以对这些 XML 进行签名,以便在掺假后丢失签名?
【问题讨论】:
-
也许你可以看看 XML 签名 (w3.org/TR/xmldsig-core)。我对它了解不多,但我认为它适合你想做的事情。
-
我认为它不适合:我必须将 XML 作为纯文本发送,无论我添加多少带有
的字段,第三方总是可以修改文件。我无法加密、发送解密密钥等... -
您是否可以控制软件导出和导入 xml 文件?
-
从本质上讲,纯文本文件总是可以被编辑的,而且真的没有办法添加一些在编辑时会从文件中消失的东西。但是您可以做的是提供另一种工具,您的客户可以在其中上传和验证他们的文件,然后再导入它们。这不是一个理想的解决方案,但可能总比没有好。
标签: xml database digital-signature