根据此Q&A讨论,可以删除公钥上附加的所有个人数据(姓名和邮件地址)。


我必须遵循哪些步骤才能删除所有个人数据?
修改后的公钥是否仍允许我使用常规密码解密数据?


#1 楼

您不能删除所有UID,但是可以创建一个不链接到您的身份的UID并删除所有其他UID。


备份.gnupg文件夹(对于Unix系统,对于Windows,无论您的密钥在哪里)已存储)!

开始编辑密钥:

$ gpg --edit-key 47AB515A



创建匿名UID:

gpg> adduid
Real name: Anonymous
Email address:
Comment:
You selected this USER-ID:
    "Anonymous"



现在我们准备删除所有其他文件,但需要知道要删除的内容:

gpg> list

pub  2048R/DEADBEEF  created: 2013-07-28  expires: never       usage: SC
                     trust: ultimate      validity: ultimate
sub  2048R/DEADDA7A  created: 2013-07-28  expires: never       usage: E
[ultimate] (1)  Foo Bar <foo.bar@example.net>
[ unknown] (2). Anonymous


每个UID有一个数字(用括号括起来)。


选择要删除的所有UID(可能是新创建的UID除外):

gpg> uid 1


并根据需要重复。所有选定的UID的记录中都带有星号:

[ultimate] (1)* Foo Bar <foo.bar@example.net>



删除所有选定的UID:

gpg> deluid



保存并退出:

gpg> save




这将从密钥中删除所有个人信息-包括所有签名(每个键都绑定到一个UID),因此您的“向下滑动”键将失去所有信任。

您将能够像以前一样使用它;通常每个OpenPGP加密容器都包含您的密钥ID,该ID不会更改,您的密码也不会更改。

如果您尚未发布密钥,则没人会根据您的身份来确定您的身份OpenPGP密钥。由于密钥ID保持不变,因此可以在密钥服务器上查找已发布的密钥,它们不会删除您的UID,而是将它们所看到的全部结合起来。您永远无法从密钥服务器中删除已发布的密钥或密钥的一部分。

注意:发件人现在必须选择要加密的密钥,因为他的客户端无法再将密钥自动分配给您的电子邮件地址(好,您将其删除)。

#2 楼

在密钥服务器或PGP应用程序中看到的公共PGP密钥(或“证书”)是几条数据的捆绑:


公共RSA密钥(即模数和公共指数)(或用于另一个签名方案的公共密钥)–主密钥。
此公共密钥的一堆用户身份(名称,邮件地址等)
可以是一个或几个子密钥(用于相同或其他公共密钥加密或签名方案)
可能是由主密钥签名的子密钥的数字签名
由主密钥签名的身份的数字签名(或主密钥和身份的组合)密钥
可能是主密钥和身份的任何组合的数字签名,并由其他密钥/用户签名。这些对这些用户的信任表示您的密钥属于特定身份。

与您的主密钥相对应的私钥,也许与子密钥相对应的私钥都受到密码短语的保护,但是只要由于这些不变,您的密码仍然有效。

还有一个密钥标识符,它是主密钥的某种哈希。

身份和子密钥都是单独签名的,因此您以后可以使用Jens解释的命令行添加更多身份或删除除一个以外的所有身份–我不会重复此操作,因为此处不涉及工具用法。.

密钥服务器通常只会将数据添加到密钥(如果有效),而不会删除任何数据,因此一旦密钥(带有身份)公开,它将保持不变。这是互联网永远不会忘记的一个例子。