什么是OpenPGP / GnuPG密钥ID?


25

我了解密钥块本身以及密钥散列的用途,但是我不知道为什么需要附加信息,因此我无法开始猜测附加信息的用途。

特别,

  • 它代表什么
  • 在哪里使用,以及
  • (如何)可以根据公钥块确定?

它往往是切线的和顺带提及的,这会引起混乱,因为显然太空行走识别出指纹和ID之间的区别,而Fedora推出的一些GPG文档中包括以下短语:

对于KEYNAME,请替换您的主密钥对的密钥ID或指纹,

这似乎使两者看起来具有相同的目的;但这是没有意义的,因为如果是这种情况,为什么你们都需要两者同时开始?


gpg实用程序使您可以方便地指定两者之一。如果指定一个指纹,它将查找该指纹​​;如果指定了ID,它将寻找一个等于或包含您指定的字符串的ID。ID通常是密钥的人类可读标识符。指纹通常在en.wikipedia.org/wiki/Public_key_fingerprint中进行描述。您实际遇到的问题是什么?
詹森C

@JasonC Spacewalk需要密钥块的ID以及指纹和URL,但是存储库(例如EPEL)仅提供密钥块。现在,我知道我可以通过对密钥块进行哈希处理来获取指纹,但是我不知道是否应该从其他位置获取ID,然后决定是否将其加载到数据库中,然后再告诉我太空漫步,或者只是弥补一下太空漫步。基本上,这是一个太空行走问题,一旦我对GPG ID的使用方式有了更多的了解,这个问题就会变得容易得多。
Parthian Shot 2014年

@JasonC更简洁:我将下载已签名的RPM,而我所拥有的只是密钥块,因此我需要知道我是确定ID还是发行方确定ID。
Parthian Shot

您是否遵循fedorahosted.org/spacewalk/wiki/HowToInstall#EPELrepositorywiki.centos.org/HowTos/PackageManagement/中的EPEL / Spacewalk安装说明,并且Spacewalk实际上是否无法从EPEL管理软件包?access.redhat.com/site/solutions/308983是否相关?
詹森·C

1
如果在不填写的情况下有效,那么它知道如何在不指定的情况下进行管理,并且填写无济于事。但是,请查看web.archive.org/web/20130821232554/http://centosforge.com/node/…,其中介绍了如何获取Spacewalk的指纹和ID。类似的说明请访问darkoperator.com/blog/2011/12/16/…。有关更多信息,请访问google.com/search?q=spacewalk%20package%20key%20id
Jason C

Answers:


29

RFC 4880开始

V4指纹是八位字节0x99的160位SHA-1哈希,然后是两个八位字节的数据包长度,然后是从版本字段开始的整个公钥数据包。密钥ID是指纹的低64位。

对于V3密钥,计算方法类似,但是省略了密钥长度。

换句话说,指纹是根据常量,数据包长度以及最后一部分公钥数据包计算得出的。有关链接的RFC中包括什么(以及如何计算)的进一步说明。

(长)密钥ID由最低的64位表示,并用作完整指纹,是不方便的长值。甚至更经常地,使用由最低顺序的32位形成的短键id。这些短密钥ID经常被认为有很高的冲突机会,并且至少不建议使用完整的指纹,至少使用长ID。

用几句话概括:

指纹是从公钥包计算出的哈希值。密钥ID是指纹的一部分:

Fingerprint: 0D69 E11F 12BD BA07 7B37  26AB 4E1F 799A A4FF 2279
Long key ID:                                4E1F 799A A4FF 2279
Short key ID:                                         A4FF 2279

有时,ID以0x十六进制值作为前缀。


1
非常有用的指向碰撞信息的链接,谢谢。您可能想更改答案,说即使是长键也是可以伪造的,因此不建议使用。
zkilnbqi 2015年

虽然很容易伪造短键ID,但长键ID很难碰撞2到32倍,仍然被认为是合适的。甚至可以伪造指纹,甚至更难伪造(由于存在大量可能的指纹)。
Jens Erat 2015年

1
您的答案中包含的链接使我深信不疑。现在我的签名显示为“ harold@foo.com pgp.mit.edu ID,截至2015年3月22日”更有意义。如果有人想向您发送加密消息或验证您已经签名,则无论如何他们都将不得不在密钥服务器上找到您的公共密钥,因此使用密钥ID没有任何好处。
zkilnbqi 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.