用存储库gpg-keysvalidationubuntu iso

我想validation下载的ISO没有被NSA或任何其他不道德的代理人毒害。 要做到这一点,我会非常使用签名检查方式。

我知道VerifyIsoHowto 。 我仍然不满意。 如果某个代理可以操作一个文件下载,他肯定可以操作所有文件下载。 因此,我从密钥服务器获得的公钥可能只是被欺骗以使受操作的ISO文件检查正常,而实际上它已被注入rootkit或更糟。

现在我意识到不幸的是没有100%肯定的方式。 但首先假设我当前的系统是安全的,我在SecureApt机制中使用了这些密钥。

我的问题是:

我如何使用SecureApt(=普通的Ubuntu存储库密钥)中的密钥来validation新下载的ISO?

事实上,如果我可以通过Ubuntu Repo(因此在通过SecureApt隐式validation的deb中)获得那些validationiso签名所必需的公钥,它也能很好地为我服务。

任何帮助将不胜感激。

PS:当然我知道如果Canonical是不道德的并且与NSA合作(它有钱嘿),无论如何我们都很沮丧。 让我们假设这样的事情永远不会发生,好吗?

以下步骤允许您validation下载的Ubuntu iso的SHA256SUMS文件:

  1. 开放式终端( CTRL + ALT + T
  2. 通过gpg --import /usr/share/keyrings/ubuntu-archive-keyring.gpg从/usr/share/keyrings/ubuntu-archive-keyring.gpg导入密钥。 你应该看到这样的东西:

     gpg:keyring`/root/.gnupg/secring.gpg'已创建
     gpg:key 437D05B5:导入公钥“Ubuntu Archive Automatic Signing Key”
     gpg:key FBB75451:导入公钥“Ubuntu CD Image自动签名密钥”
     gpg:处理总数:2
     gpg:import:2
     gpg:找不到最终可靠的密钥
    

    这条线

     gpg:key FBB75451:导入公钥“Ubuntu CD Image自动签名密钥”
    

    向您显示您导入用于签名CD映像(iso文件)的GPG密钥是具有以下指纹的密钥:

     主键指纹:C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451 

    因此ID FBB7 5451

  3. 导入密钥后,您可以下载文件SHA256SUMS,MD5SUMS,SHA1SUMS及其各自的签名* SHA256SUMS.gpg,MD5SUMS.gpg

  4. 现在您可以使用此命令gpg --verify SHA256SUMS.gpg SHA256SUMS来检查文件SHA256SUMS是否合法。 如果是这样,你应该看到这样的事情:

     gpg:签名于2013年2月14日下午06:38:41 CET使用DSA密钥ID FBB75451
     gpg:来自“Ubuntu CD Image自动签名密钥”的良好签名
     gpg:警告:此密钥未通过可信签名认证!
     gpg:没有迹象表明签名属于所有者。
    主键指纹:C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451
    

    如果SHA256SUMS文件已被更改,则会出现类似这样的内容:

     gpg:签名于2013年2月14日下午06:38:41 CET使用DSA密钥ID FBB75451
     gpg:来自“Ubuntu CD Image自动签名密钥”的BAD签名
    

基本上,您可以使用您信任的现有Ubuntu安装提供的密钥,而不是按照问题中提到的howto中的步骤2并从密钥服务器获取密钥(可能已被泄露)。

这看起来效果很好:

 sudo apt-get install ubuntu-keyring gpgv --keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg SHA256SUMS.gpg SHA256SUMS grep ubuntu-14.04-desktop-amd64.iso SHA256SUMS | sha256sum --check