首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X.509为什么在属性证书中添加两次签名算法?

X.509为什么在属性证书中添加两次签名算法?
EN

Security用户
提问于 2017-03-10 10:50:48
回答 1查看 514关注 0票数 3

当我阅读X.509规范的某些部分时,我发现签名添加了两次--第一次在AttributeCertificate中作为signatureAlgorithm添加,第二次在AttributeCertificateInfo中作为signature添加。你能解释一下为什么吗?基本证书字段也是如此。

signature:此字段必须包含与序列证书中的signatureAlgorithm字段相同的算法标识符

代码语言:javascript
复制
AttributeCertificate ::= SEQUENCE {
  acinfo               AttributeCertificateInfo,
  signatureAlgorithm   AlgorithmIdentifier,
  signatureValue       BIT STRING
}

AttributeCertificateInfo ::= SEQUENCE {
  version                 AttCertVersion, -- version is v2
  holder                  Holder,
  issuer                  AttCertIssuer,
  signature               AlgorithmIdentifier,
  serialNumber            CertificateSerialNumber,
  attrCertValidityPeriod  AttCertValidityPeriod,
  attributes              SEQUENCE OF Attribute,
  issuerUniqueID          UniqueIdentifier OPTIONAL,
  extensions              Extensions OPTIONAL
}
EN

回答 1

Security用户

回答已采纳

发布于 2017-03-10 13:32:34

这是一些旧恐惧的残余。彼得·古特曼的X.509风格指南是一本旧的(2001年)但很有启发性的读物,它包括以下段落:

这个相当不正确的字段包含CA用于签名证书的签名算法的算法标识符。这个字段似乎没有多大用处,尽管您应该检查算法标识符是否与证书上的签名匹配(如果有人可以在证书上伪造签名,那么他们也可以更改内部算法标识符,这可能是因为一些模糊的攻击,有人可以说服(已破坏的)签名算法A生成与(安全)算法B相同的签名值,从而将外部的、无保护的算法标识符从B更改为A,但不能在不使签名无效的情况下更改内部标识符。这将取得什么成果尚不清楚)。

因此,人们可能会推断,有一天,在两次会议之间的一段暂停时间里,可能是在咖啡机周围,有人做了一个精心制作但并不真正有趣的秘密笑话,而另一个人却无意中听到了这个笑话,他没有明白,然后在一个小组委员会的某个黑暗角落里激起了焦虑的情绪。更一般说来,X.509更有意义,如果你读它作为玛丽雪莱的草稿“弗兰肯斯坦”,由于某种原因翻译成古代乌干达。

票数 6
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/153449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档