Mastodon 允许其用户进行自我验证。 最简单的方法是通过验证链接。 但是,对于高级验证,您可以使用共享加密密钥的功能,这得益于开源项目 Keyoxide,Mastodon 可以链接到它。
安装
优良保密协议 (PGP) 是一种共享密钥加密的标准。 所有 PGP 密钥都成对出现。 有一个公共密钥,供世界上任何人使用,还有一个秘密密钥,仅供您使用。 任何拥有您公钥的人都可以为您编码数据,并且一旦加密,只有您的密钥(只有您有权访问)才能再次解码它。
如果您还没有密钥对,则加密验证的第一步是生成一个密钥对。
有很多方法可以生成 PGP 密钥对,但我建议使用开源 GnuPG 套件。
在 Linux 上,GnuPG 已经安装。
在 Windows 上,下载并安装 GPG4Win,其中包括 Kleopatra 桌面应用程序。
在 macOS 上,下载并安装 GPGTools。
1. 创建密钥对
如果您已经拥有 GPG 密钥对,则可以跳过此步骤。 您无需仅为 Mastodon 创建唯一的密钥。
要创建一个新密钥,您可以使用 Kleopatra 应用程序。 转到文件菜单并选择新建密钥对。 在出现的密钥对创建向导中,单击创建个人 OpenPGP 密钥对。 输入您的姓名和有效的电子邮件地址,然后选择使用密码保护生成的密钥选项。 单击创建以生成您的密钥对。

(Seth Kenlon, CC BY-SA 4.0)
或者,您可以使用终端
$ gpg2 --full-generate-key
按照提示操作,直到生成密钥对。
2. 添加注释
现在您有了一个密钥,您必须向其中添加特殊的元数据。 此步骤需要使用终端(Windows 上的 Powershell),但它是高度交互的,并且不是很复杂。
首先,看看您的密钥
gpg2 --list-secret-keys
输出显示您的 GnuPG 密钥环,其中包含至少一个密钥。 找到您要用于 Mastodon 的密钥(如果您今天才创建您的第一个密钥,这可能是唯一的密钥。)在输出中,在以 uid
开头的行上方有一个长的字母数字字符串。 那个长数字是您密钥的指纹。 这是一个例子
sec rsa4096 2022-11-17 [SC]
22420E443871CF4313B9E90D50C9169F563E50CF
uid [ultimate] Tux <tux@example.com>
ssb rsa4096 2022-11-17 [E]
此示例密钥的指纹为 22420E443871CF4313B9E90D50C9169F563E50CF
。 用鼠标选择您密钥的指纹,然后右键单击并将其复制到您的剪贴板。 然后将其复制到某处文档中,因为在此过程中您会经常需要它。
现在您可以向密钥添加元数据。 使用 gpg2 --edit-key
命令以及指纹进入 GnuPG 界面
gpg2 --edit-key 22420E443871CF4313B9E90D50C9169F563E50CF
在 GnuPG 提示符下,选择您要用作验证方法的用户 ID(即您的姓名和电子邮件地址)。 在此示例中,只有一个用户 ID (uid [ultimate] Tux <tux@example.com>
),所以它是用户 ID 1
gpg> uid 1
将此用户指定为密钥的主要用户
gpg> primary
为了让 Keyoxide 识别您的 Mastodon 身份,您必须添加一个特殊的注释
gpg> notation
注释元数据,至少在此上下文中,是根据 Ariadne 规范格式化的数据。 元数据以 proof@ariadne.id=
开头,后跟您的 Mastodon 个人资料页面的 URL。
在 Web 浏览器中,导航到您的 Mastodon 个人资料页面,然后复制 URL。 对我来说,在此示例中,URL 是 https://example.com/@tux
,因此在 GnuPG 提示符下输入注释
gpg> notation
Enter the notation: proof@ariadne.id=http://example.com/@tux
就这样。 键入 save
以保存并退出 GnuPG。
gpg> save
3. 导出您的密钥
接下来,导出您的密钥。 为此,在 Kleopatra 中,选择您的密钥并单击顶部工具栏中的导出按钮。
或者,您可以使用终端。 通过指纹引用您的密钥(我告诉过您您会经常使用它)
gpg2 --armor --export \
22420E443871CF4313B9E90D50C9169F563E50CF > pubkey.asc
无论哪种方式,您最终都会得到一个以 .asc
结尾的公共密钥。 分发您的公共密钥始终是安全的。 (当然,您永远不会分发您的密钥,因为顾名思义,它应该是秘密的。)
4. 上传您的密钥
打开您的 Web 浏览器并导航到 keys.openpgp.org。
在 keys.openpgp.org 网站上,单击上传链接以上传您导出的密钥。 即使您拥有 GPG 密钥多年并且了解所有关于 --send-key
选项的信息,也这样做。 这是 Keyoxide 过程的独特步骤,因此请勿跳过。

(Seth Kenlon, CC BY-SA 4.0)
上传密钥后,单击您的电子邮件地址旁边的发送确认邮件按钮,以便您可以确认您拥有您的密钥声称属于的电子邮件。 这可能需要 15 分钟左右,但是当您收到来自 Openpgp.org 的电子邮件时,请单击确认链接以验证您的电子邮件。
5. 将您的密钥添加到 Mastodon
现在一切都已设置好,您可以将 Keyoxide 用作 Mastodon 的验证链接。 转到您的 Mastodon 个人资料页面,然后单击编辑个人资料链接。
在编辑个人资料页面上,向下滚动到个人资料元数据部分。 在“标签”字段中键入 PGP
(或您想要的任何内容)。 在“内容”字段中,键入 https://keyoxide.org/hkp/
,然后输入您的密钥指纹。 对我来说,在此示例中,完整的 URL 是 https://keyoxide.org/hkp/22420E443871CF4313B9E90D50C9169F563E50CF
。
单击保存按钮,然后返回到您的个人资料页面。

(Seth Kenlon, CC BY-SA 4.0)
您可以单击您的个人资料中的 Keyoxide 链接以查看您的 Keyoxide“个人资料”页面。 此页面实际上只是您创建的 GPG 密钥的呈现。 Keyoxide 的工作是解析您的密钥,并在您需要从 Mastodon 或任何其他在线服务链接到它时,成为一个有效的目标位置。
6. 建立信任
旧的 Twitter 验证方法是不透明且排他的。 某地的某个人声称某地的另一个人确实是他们所说的人。 除非您同意接受某处有一个可靠的信任网络,否则它什么也证明不了。 大多数人选择相信这一点,因为 Twitter 是一家大型公司,有很多利害关系,并且相对较少的人(在获得它的人中)抱怨 Twitter 蓝色复选标记的准确性。
开源验证是不同的。 它对所有人开放,并且证明了与 Twitter 验证一样多的东西。 但是您可以做得更好。 当您使用加密密钥进行验证时,您可以让您的同行审查您的身份并对您的 PGP 密钥进行数字签名,以证明您就是您所声称的人。 这是一种建立信任网络的方法,因此当您通过 Keyoxide 从 Mastodon 链接到您的 PGP 密钥时,人们可以信任您确实是该数字密钥的所有者。 这也意味着一些社区成员已经亲自见过您并签署了您的密钥。
帮助在线建立以人为本的信任,并使用 PGP 和 Keyoxide 验证您的身份。 如果您在技术会议上看到我,让我们签署密钥!
评论已关闭。