【问题标题】:Trusted GPG certificate可信 GPG 证书
【发布时间】:2014-04-08 05:34:58
【问题描述】:

我有一个关于 GPG 证书和证书颁发机构的小问题。

我正在使用 GnuPG 签署我在我的服务器上托管的 tarball。我希望想要下载此压缩包的用户能够使用我的公钥对其进行加密。 目前,我将我的公钥存储在我拥有的另一台服务器上。这有两个问题:

  • 密钥不“受信任”,用户收到警告
  • 同理,由于密钥不可信,如果密钥被恶意更改,用户将看不到任何内容

我过去读过一些关于密码学解决方案的文章,并且对 X.509 CA 的工作原理有所了解,但我并不真正了解 PGP 密钥是如何工作的。我尝试在 GPG 中使用我的 SSL(受信任)证书,但它总是失败(也许有一个我没有找到的选项?)。 如果无法使用我的 SSL 证书,我如何将我的 PGP 证书“注册”到 CA?

谢谢!

最好的,
蒂博。

【问题讨论】:

    标签: ssl gnupg pgp ca


    【解决方案1】:

    OpenPGP 和 X.509 是两种本质上相似但在技术上不兼容的格式。 X.509 证书是分层信任的(构建证书链),OpenPGP 密钥在对等基础上受信任。

    由于这些技术不兼容,它们不容易相互替代。为了让用户信任您的 OpenPGP 密钥,您可以将其发布在 OpenPPG 密钥存储库(密钥服务器)中,并希望(或建议)用户将其用作 OpenPGP 密钥的可信来源。

    或者,您可以使用服务器的证书为您分发的存档创建一个分离的 PKCS#7/CMS 签名,但与 OpenPGP 不同的是,没有广泛的工具可用于检查最终用户计算机上的 PKCS#7/CMS 签名(好吧,也许 OpenSSL 将适用于您的用户受众)。请注意,服务器证书的 KeyUsage 可能不适用于签名,因此用户将收到警告。

    请注意,OpenPGP 密钥称为“密钥”,X.509 证书也以这种方式调用。不存在“pgp 证书”以及“ssl 证书”。

    【讨论】:

    • 谢谢!非常有趣的答案。我将研究如何在密钥存储库上发布我的密钥。也感谢术语消歧;)
    • 还有一个问题。我把我的公钥放在那里:pgp.mit.edu。这就是我需要做的吗? GPG 会自动知道在 CA 的哪里搜索? - 我不明白一件事,如果攻击者更改了公钥所在服务器上的密钥,那么问题仍然是一样的..
    • 不,仅仅放置是不够的——正如我所提到的,用户必须信任并使用该服务器。 “信任”意味着服务器必须是安全的(例如,您需要在将密钥放入服务器时证明拥有私钥)并且用户知道该服务器并且可以/想要从那里获取公钥。
    • 谢谢尤金。但是,还有一件事我不明白。我正在自动更新的情况下构建此设置。因此,我自己管理解密阶段。这就是说,我可以将我想要的服务器设置为“受信任”,但我关心的是 1-如何证明拥有私钥? 2-更具体地说,我如何确保从用户端(在自动化过程中)没有更改密钥? - 简单来说,是否有任何安全的服务器可以用来上传我的公钥,并在客户端下载它,确保密钥?
    • 我不知道服务器的任何特定 URL 可以提供给您。建立信任关系是 PKI 和 OpenPGP 中最复杂的任务之一。
    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    相关资源
    最近更新 更多