公开密钥指纹:修订间差异

求闻百科,共笔求闻
添加的内容 删除的内容
(机器人:清理不当的来源、移除无用的模板参数)
(机器人:清理不当的来源、移除无用的模板参数)
 
第3行: 第3行:
}}
}}
[[File:Application-pgp-keys.svg|右|无框|110x110px]]
[[File:Application-pgp-keys.svg|右|无框|110x110px]]
在[[公开密钥加密]]中,'''公开密钥指纹'''(简称:'''公钥指纹''')是用于标识较长[[公开密钥加密|公共密钥]]字节的短序列。指纹通过应用[[加密散列函数]]到一个公共密钥来实现。<ref>{{Cite web|url=http://my.oschina.net/shede333/blog/359290#OSC_h3_6|title=SSH HTTPS 公钥、秘钥、对称加密、非对称加密、 总结理解|accessdate=2016-04-01|author=舍得333|date=2014-12-22|publisher=开源中国社区|||}}</ref>由于指纹较比生成它们的密钥短得多,因此可以用来简化某些密钥的管理任务。
在[[公开密钥加密]]中,'''公开密钥指纹'''(简称:'''公钥指纹''')是用于标识较长[[公开密钥加密|公共密钥]]字节的短序列。指纹通过应用[[加密散列函数]]到一个公共密钥来实现。<ref>{{Cite web|url=http://my.oschina.net/shede333/blog/359290#OSC_h3_6|title=SSH HTTPS 公钥、秘钥、对称加密、非对称加密、 总结理解|accessdate=2016-04-01|author=舍得333|date=2014-12-22|publisher=开源中国社区}}</ref>由于指纹较比生成它们的密钥短得多,因此可以用来简化某些密钥的管理任务。


== 创建公钥指纹 ==
== 创建公钥指纹 ==
生成公钥指纹的概括步骤如下:
生成公钥指纹的概括步骤如下:
# [[公钥]](以及任选的一些额外数据)被编码成一个字节序列,以确保同一指纹以后在相同情况下可以创建,因此编码必须是确定的,并且任何附加的数据必须与公钥一同存放。附加数据通常是使用此公钥的人应该知道的信息,如:密钥持有人的身份(此情况下,[[X.509]]信任固定的指纹,且所述附加数据包括一个X.509自[[公开密钥认证|签名证书]])<ref>{{Cite book|url=https://www.rfc-editor.org/info/rfc4210|title=Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)|last=Adams|first=C.||last2=Farrell|first2=S.|last3=Kause|first3=T.|last4=Mononen|first4=T.|publisher=RFC|year=2005|isbn=|location=|pages=|language=en|access-date=2016-03-31|||}}</ref>。
# [[公钥]](以及任选的一些额外数据)被编码成一个字节序列,以确保同一指纹以后在相同情况下可以创建,因此编码必须是确定的,并且任何附加的数据必须与公钥一同存放。附加数据通常是使用此公钥的人应该知道的信息,如:密钥持有人的身份(此情况下,[[X.509]]信任固定的指纹,且所述附加数据包括一个X.509自[[公开密钥认证|签名证书]])<ref>{{Cite book|url=https://www.rfc-editor.org/info/rfc4210|title=Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)|last=Adams|first=C.||last2=Farrell|first2=S.|last3=Kause|first3=T.|last4=Mononen|first4=T.|publisher=RFC|year=2005|isbn=|location=|pages=|language=en|access-date=2016-03-31}}</ref>。
# 在前面步骤中产生的数据被散列加密,如使用[[SHA家族]]。
# 在前面步骤中产生的数据被散列加密,如使用[[SHA家族]]。
# 如果需要,散列函数的输出可以缩短,以提供更方便管理的指纹。
# 如果需要,散列函数的输出可以缩短,以提供更方便管理的指纹。
第19行: 第19行:


== 安全性 ==
== 安全性 ==
公钥指纹主要的安全威胁是[[原像攻击]],攻击者构造一个密钥对,与受害者可生成的指纹相匹配,即可能伪装成受害者;某些系统的第二个威胁是{{link-en|碰撞攻击|Collision attack}},这可能允许攻击者否认他所创造的签名,或导致其他混淆。<ref>{{Cite book|url=http://cdmd.cnki.com.cn/Article/CDMD-10701-2010083252.htm|title=Hash函数MD5攻击技术研究|last=陈|first=少晖|publisher=知网空间|year=2012|isbn=|location=西安|pages=|access-date=2016-03-31|||}}</ref>
公钥指纹主要的安全威胁是[[原像攻击]],攻击者构造一个密钥对,与受害者可生成的指纹相匹配,即可能伪装成受害者;某些系统的第二个威胁是{{link-en|碰撞攻击|Collision attack}},这可能允许攻击者否认他所创造的签名,或导致其他混淆。<ref>{{Cite book|url=http://cdmd.cnki.com.cn/Article/CDMD-10701-2010083252.htm|title=Hash函数MD5攻击技术研究|last=陈|first=少晖|publisher=知网空间|year=2012|isbn=|location=西安|pages=|access-date=2016-03-31}}</ref>


在指纹长度必须不惜一切代价最小化的情况下,在技术上,如使用散列扩展可提升安全性。
在指纹长度必须不惜一切代价最小化的情况下,在技术上,如使用散列扩展可提升安全性。