关于验证已签名 XML 文档的安全问题
Security concerns regarding validation of a signed XML document
所以,我有这份签名的 XML 文件。在这种情况下,是 SAML2 响应。我想验证这个 XML 文件没有被以某种方式篡改过。如果我理解正确的话,这样做的方法是根据签名时使用的 public 密钥检查签名文档的签名。
我知道如何检查签名,所以这不是问题。我的问题是关于检查签名时实际验证的内容。
我有一个示例 XML,其中包含用于签署 XML 的证书。如果我理解正确,我可以从 XML 中提取证书的 public 密钥,并使用提取的密钥来验证 XML 没有被篡改。当我尝试时,这似乎工作正常。
我的问题是,这不只是验证 XML 根据它自己包含的证书进行验证吗?或者我错过了什么?如果有人用他们自己的、签名的响应替换了整个 response-XML 会怎样。我假设虚假响应可以根据其自己包含的证书进行验证,就像合法响应可以根据其包含的证书进行验证一样?
您是否必须根据已知证书(例如安装在本地证书存储区中)验证已签名的 XML 以确保响应未被篡改并来自预期的来源?
My problem with this is, does this not just verify that the XML validates against its own included certificate?
是的,你是对的。
Wouldn't you have to validate the signed XML against a known certificate?
对于原始 public 密钥和嵌入式证书情况,验证密钥是否可接受非常重要。理想情况下,您应该在检查签名之前接受(或拒绝)密钥。
对于原始 public 密钥 "acceptable" 可能意味着 "was established via a side-channel ahead of time"。例如对方告诉您他们将使用的 public 个(或多个)密钥,您确保看到其中一个。
对于证书,您可以使用提前共享策略,或者信任私有 CA 并检查私有 CA 是否颁发了证书(假设您平等地信任每个可以从该 CA 获得证书的人),或一些其他(或组合)基于特征的决策。
有关详细信息,请参阅 SignedXml - 有关 KeyInfo 元素的安全注意事项
和 SignedXml - 关于 X509Data 元素的安全注意事项
所以,我有这份签名的 XML 文件。在这种情况下,是 SAML2 响应。我想验证这个 XML 文件没有被以某种方式篡改过。如果我理解正确的话,这样做的方法是根据签名时使用的 public 密钥检查签名文档的签名。
我知道如何检查签名,所以这不是问题。我的问题是关于检查签名时实际验证的内容。
我有一个示例 XML,其中包含用于签署 XML 的证书。如果我理解正确,我可以从 XML 中提取证书的 public 密钥,并使用提取的密钥来验证 XML 没有被篡改。当我尝试时,这似乎工作正常。
我的问题是,这不只是验证 XML 根据它自己包含的证书进行验证吗?或者我错过了什么?如果有人用他们自己的、签名的响应替换了整个 response-XML 会怎样。我假设虚假响应可以根据其自己包含的证书进行验证,就像合法响应可以根据其包含的证书进行验证一样?
您是否必须根据已知证书(例如安装在本地证书存储区中)验证已签名的 XML 以确保响应未被篡改并来自预期的来源?
My problem with this is, does this not just verify that the XML validates against its own included certificate?
是的,你是对的。
Wouldn't you have to validate the signed XML against a known certificate?
对于原始 public 密钥和嵌入式证书情况,验证密钥是否可接受非常重要。理想情况下,您应该在检查签名之前接受(或拒绝)密钥。
对于原始 public 密钥 "acceptable" 可能意味着 "was established via a side-channel ahead of time"。例如对方告诉您他们将使用的 public 个(或多个)密钥,您确保看到其中一个。
对于证书,您可以使用提前共享策略,或者信任私有 CA 并检查私有 CA 是否颁发了证书(假设您平等地信任每个可以从该 CA 获得证书的人),或一些其他(或组合)基于特征的决策。
有关详细信息,请参阅 SignedXml - 有关 KeyInfo 元素的安全注意事项 和 SignedXml - 关于 X509Data 元素的安全注意事项