X509:数字签名和不可否认性之间有什么区别

时间:2010-08-12 13:28:51

标签: x509

我必须处理瑞士邮局就USB令牌发行的证书。在同一令牌上提供两个证书。在其预期的使用领域中,一个具有“不可否认性”,另一个具有“数字签名”。

现在,我无法理解两者之间的实际区别是什么:我总是在同一个证书中看到过,而且每个角色中都有两个相同身份证书。事实上,我无法想象一个场景,其中不可否认性和数字签名不一样,对于所有实际问题,同样的事情。

有人可以向我解释一下有什么不同吗?如果你有一个关于在什么情况下应该挑选另一个的建议,那也会有所帮助。

7 个答案:

答案 0 :(得分:36)

我意识到这个问题有点陈旧,但我想我可以就这个问题提出一些急需的建议。

keyUsage属性中的不可否认值与整个证书相关,特别是与任何目的无关。不可否认标志的存在表明私钥具有足够的保护,使得证书中指定的实体不能随后拒绝 - 拒绝 - 他们对证书采取的行动。该标志的存在不会阻止拒绝,而是表明该拒绝可能无法经受合理的审查。

因此,在这种特定情况下,CA为用户提供了包含或不包含不可否认元素的证书选项。如果你想断言那些验证签名的人你不能轻易否认它是谁签了它(USB令牌是这里的关键启动器),使用不可否认证书。否则,请使用标记为数字签名的证书。 (根据证书中的其他属性,您可能会或可能无法使用其中一个或两个证书签署文档。)

参见维基百科:http://en.wikipedia.org/wiki/Non-repudiation
另请参阅相关RFC:http://www.faqs.org/rfcs/rfc3280.html(第4.2.1.3节)

答案 1 :(得分:6)

我与实施它的人谈话,显然,他们打算为/真正/签署文件提供“不可否认”证书,并使用“数字签名”进行身份验证。

答案 2 :(得分:6)

“数字签名”是指您可以保证文档的来源或用户的身份;这是AUTHENTICATION。

“不可否认”意味着该文件被批准,这是内容承诺,也称为电子签名(不是数字签名)。

希望这有助于使人们在2013年总是问这个问题......

弗兰克。

答案 3 :(得分:4)

有趣的问题,你的想法与我自己的想法相符。

我在IBM here找到了关于密钥用法的参考资料,但我仍然无法真正理解这一区别。

在阅读本文时,我能说出最好的理解是,不可否认的使用意味着“我真的意味着签署这个,我真的理解签署此协议的意义。“

对不起,这不是一个完整的答案,但我希望它有所帮助。

编辑 2014年4月4日

我再次获得了更多积分。 @Calrion的答案要好得多,所以就这样发送任何+ 1。

答案 4 :(得分:1)

“数字签名”应该用于身份验证(是你,谁签了这个),而“不可否认”意味着你知道你签了什么。

如果您使用私有证书进行身份验证(针对某些服务器),则身份验证的工作方式如下:在建立连接期间,您的浏览器(或其他SW)签署了服务器提供的一些随机数据,以证明它是您在另一端。但关键是你无法控制你签署的数据。因此服务器可以发送而不是随机数据发送“我,Petr Novonty,把我所有的钱都给詹姆斯克拉克。”

为避免这种情况,用于签署某些文件的密钥应具有“不可否认性”而不是“数字签名”位。

答案 5 :(得分:0)

答案 6 :(得分:0)

请记住,X.509 重命名了 nonRepudiation 中的 contentCommitment 位。这似乎比通过“非”进行描述要好。所以这句话支持了 Franck Leroy 给出的答案。

请注意,它们是简单的位,它们的名称仅给出了密钥用法的指示。 RFC 5280 中给出了这些位的一些解释。但是如何解释这两者之间的区别最终留给证书颁发者。 RFC 5280 对此表示:“特定证书政策中可能会提供 digitalSignature 和 nonRepudiation 位之间的进一步区别。”

https://tools.ietf.org/html/rfc5280#section-4.2.1.3