将我的 PGP ID/链接放在印刷的名片上

信息安全 pgp gnupg
2021-08-12 00:14:11

我要打印一些名片,连同我的电子邮件地址,我正在考虑将我的 PGP ID 也放在上面。

在做了一些研究后,我发现使用短 ID 并不是一个好主意。

这样做的最佳方法是什么 - 或者我应该忘记它吗?

4个回答

考虑到您的公钥只能由计算机1 使用您可以通过让所有电子数据在线访问并通过二维码引用来消除名片中的混乱

该链接可以引用存储在例如公共 Dropbox 上的 vCard 文件。由于 vCard 格式可以存储任何业务或联系信息,包括 OpenPGP 密钥


或者,高分辨率QR 码可以将整个公钥存储在名片背面。具有一定的安全优势。

1.尽管有手密码

我建议将您的 OpenPGP 密钥的指纹以文本形式和 QR 码的形式放在您的名片上。

为此,您将使用OPENPGP4FPRas 方案创建一个 URI,并将您的 OpenPGP 指纹全部大写作为数据。然后使用类似 qrencode 的东西来创建结果字符串的二维码。Android 上的OpenKeychain等应用程序会理解这一点。

您可以通过以下方式显示指纹:

gpg --fingerprint <email|keyid>

例如:

$ gpg --fingerprint flo@geekplace.eu
pub   rsa2048/0x8CAC2A9678548E35 2010-07-13 [expires: 2016-06-06]
     Key fingerprint = 1357 B018 65B2 503C 1845  3D20 8CAC 2A96 7854 8E35
...
sub   rsa2048/0x933A3EA0850A0B28 2010-07-13

查找密钥指纹

Key fingerprint = 1357 B018 65B2 503C 1845  3D20 8CAC 2A96 7854 8E35

这是您想给予同行的价值。您可以轻松地将其以文本形式放在您的名片上。我建议在它前面加上“OpenPGP”并保留空格以便于阅读:

John Doe
高级专家

john.doe@example.org
OpenPGP:1357 B018 65B2 503C 1845 3D20 8CAC 2A96 7854 8E35

但我还建议另外使用您的 OpenPGP 密钥指纹创建一个 QR 码。为此,我们首先从您的指纹值中删除所有空格,从而产生:

1357B01865B2503C18453D208CAC2A9678548E35

然后通过前缀OPENPGP4FPR:(代表OpenPGP v4 Fingerprint)创建 URI。

OPENPGP4FPR:1357B01865B2503C18453D208CAC2A9678548E35

最后用于qrencode创建二维码。在这里,我们使用 PNG 作为输出格式,但qrencode也能够创建 SVG、ASCII 或 UTF8 输出。

qrencode -t PNG 'OPENPGP4FPR:1357B01865B2503C18453D208CAC2A9678548E35' \
    > myopenpgpfpr.png

结果是:

我的 OpenPGP 指纹作为二维码

我已将整个指纹放在卡片上,但突出显示了短 ID(即指纹的最后八个字符)。验证正确是在对方这边。

关于在名片上放置链接;考虑可能的用例获取密钥的正常方式是通过密钥服务器网络;并且这样做不需要 URL:人们(邮件客户端)搜索您的邮件地址(UID),它已经包含在您的卡上,或者他们通过输入指纹或 ID 来获取它 - 并希望验证整个指纹,或者至少是长身份证。

可悲的是,没有什么比OpenPGP 的 URI 方案hkp://[keyserver]/fingerprint更好的了,它可以提供一种方法来获得一个可以指定给 OpenPGP 客户端应用程序的实际链接,同时指向一个(可选的)首选密钥服务器。

即将推出,但尚未广泛传播:将您的 OpenPGP 密钥(可能在剥离图像和传入的证书之后)放在NFC 令牌上。我知道存在一些可以读取它们的应用程序(例如OpenKeychain,尽管我不知道背后是否有(可能是非正式的)标准。

将您的整个密钥作为 qr 代码放在上面,请参阅本次讨论接近尾声,搜索“monkeysign”:

http://www.gossamer-threads.com/lists/gnupg/users/64465