PHP 远程 GPG 服务器如何?
PHP Remote GPG Server How To?
我想设置一个专用的 gpg 服务器来托管密钥,以便从我存储的加密数据中删除我存储的密钥。我发现我有一些可用的 gpg 选项:
https://github.com/singpolyma/openpgp-php
https://secure.php.net/manual/en/book.gnupg.php
我已经设置了我的 gpg 服务器,它现在正在监听一个端口,但是其中 none 向我展示了如何连接到远程 gpg 服务器,但我在网上找不到任何示例。我如何将这些库与远程 gpg 服务器一起使用?
GPG 密钥服务器仅存储 public 个密钥。他们的目的是分发 public 密钥并帮助建立信任网络。您是否也希望集中存储私钥以允许解密和签名?
如果您只想 运行 一个像 https://keyserver.ubuntu.com then you’re looking for something called the SKS keyserver. It’s hosted here: https://bitbucket.org/skskeyserver/sks-keyserver/wiki/Home 这样的密钥服务器,请注意,这个软件看起来非常粗糙,部署起来并不简单。文档也不是很好。
如果您希望以某种方式集中存储您的密钥环(即您的 public 和私钥),我建议您将此作为替代方案:https://superuser.com/questions/466396/how-to-manage-gpg-keys-across-multiple-systems 这可能不是您想要的想要,但它可能是最安全的。
假设您有 3 台服务器 A、B 和 C,它们都需要访问私钥 K。您可以使用 3 个单独的子密钥设置所述密钥,而不是将私钥 K 复制到所有 3 个服务器,一个专用到每个服务器,然后分发密钥,以便只有分配给特定服务器的子密钥在该服务器上。这样,所有服务器都可以使用主密钥,但只能通过使用它们自己的专用子密钥,并且如果任何服务器受到威胁,您可以(理论上)只撤销受影响的子密钥,而不必撤销整个关键...我想...不过我在这方面可能是错的。
话虽如此,您也可以为每个服务器创建单独的(主)密钥,然后使用主密钥对其进行签名以管理信任并在必要时撤销受损密钥……此方法的缺点是每个服务器将有自己的用户 ID 和不同的密钥 ID,而使用子密钥方法,所有服务器将使用相同的密钥 ID 和用户 ID。
本页介绍了如何创建带有子密钥的个人密钥,以及如何安全地存储主密钥:
https://alexcabal.com/creating-the-perfect-gpg-keypair/
我将使用相同的原则为您的每个服务器创建子项集。到目前为止,我无法找到针对多个服务器执行此操作的指南,或有关如何在不撤销整个主密钥的情况下撤销子密钥的确切说明,因此该方案虽然在理论上听起来很吸引人,但可能不受支持或很常见...不过应该可以用。
我想设置一个专用的 gpg 服务器来托管密钥,以便从我存储的加密数据中删除我存储的密钥。我发现我有一些可用的 gpg 选项:
https://github.com/singpolyma/openpgp-php
https://secure.php.net/manual/en/book.gnupg.php
我已经设置了我的 gpg 服务器,它现在正在监听一个端口,但是其中 none 向我展示了如何连接到远程 gpg 服务器,但我在网上找不到任何示例。我如何将这些库与远程 gpg 服务器一起使用?
GPG 密钥服务器仅存储 public 个密钥。他们的目的是分发 public 密钥并帮助建立信任网络。您是否也希望集中存储私钥以允许解密和签名?
如果您只想 运行 一个像 https://keyserver.ubuntu.com then you’re looking for something called the SKS keyserver. It’s hosted here: https://bitbucket.org/skskeyserver/sks-keyserver/wiki/Home 这样的密钥服务器,请注意,这个软件看起来非常粗糙,部署起来并不简单。文档也不是很好。
如果您希望以某种方式集中存储您的密钥环(即您的 public 和私钥),我建议您将此作为替代方案:https://superuser.com/questions/466396/how-to-manage-gpg-keys-across-multiple-systems 这可能不是您想要的想要,但它可能是最安全的。
假设您有 3 台服务器 A、B 和 C,它们都需要访问私钥 K。您可以使用 3 个单独的子密钥设置所述密钥,而不是将私钥 K 复制到所有 3 个服务器,一个专用到每个服务器,然后分发密钥,以便只有分配给特定服务器的子密钥在该服务器上。这样,所有服务器都可以使用主密钥,但只能通过使用它们自己的专用子密钥,并且如果任何服务器受到威胁,您可以(理论上)只撤销受影响的子密钥,而不必撤销整个关键...我想...不过我在这方面可能是错的。
话虽如此,您也可以为每个服务器创建单独的(主)密钥,然后使用主密钥对其进行签名以管理信任并在必要时撤销受损密钥……此方法的缺点是每个服务器将有自己的用户 ID 和不同的密钥 ID,而使用子密钥方法,所有服务器将使用相同的密钥 ID 和用户 ID。
本页介绍了如何创建带有子密钥的个人密钥,以及如何安全地存储主密钥: https://alexcabal.com/creating-the-perfect-gpg-keypair/ 我将使用相同的原则为您的每个服务器创建子项集。到目前为止,我无法找到针对多个服务器执行此操作的指南,或有关如何在不撤销整个主密钥的情况下撤销子密钥的确切说明,因此该方案虽然在理论上听起来很吸引人,但可能不受支持或很常见...不过应该可以用。