使用存储库 gpg-keys 验证 ubuntu iso

使用存储库 gpg-keys 验证 ubuntu iso

我想验证下载的 ISO 是否被 NSA 或任何其他不道德的代理毒害。为此,我非常希望使用签名检查方法。

我知道验证Iso如何。但我对提供的方案并不满意。如果某个代理可以操纵一个文件下载,那么他肯定可以操纵所有文件下载。因此,我从密钥服务器获得的公钥可以被欺骗,以使被操纵的 ISO 文件检查正常,而实际上它已被注入 rootkit 或更糟的东西。

现在我知道不幸的是没有 100% 可靠的方法。但假设我当前的系统是安全的,我将这些密钥用于安全设施机制。

因此我的问题是:

如何使用我已经信任的 SecureApt 密钥(=普通的 Ubuntu 存储库密钥)来验证刚下载的 ISO?

确实,如果我可以通过 Ubuntu Repo(因此在通过 SecureApt 隐式验证的 deb 中)获取验证 iso 签名所需的公钥,那么这对我也很有帮助。

任何帮助将不胜感激。

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

答案1

以下步骤允许您验证已下载的 Ubuntu iso 的 SHA256SUMS 文件:

  1. 打开终端(CTRL++ ALTT
  2. 通过 从 /usr/share/keyrings/ubuntu-archive-keyring.gpg 导入密钥gpg --import /usr/share/keyrings/ubuntu-archive-keyring.gpg。您应该会看到类似以下内容:

    gpg:密钥环“/root/.gnupg/secring.gpg”已创建
    gpg:密钥 437D05B5:公钥“Ubuntu 存档自动签名密钥”已导入
    gpg:密钥 FBB75451:公钥“Ubuntu CD 映像自动签名密钥”已导入
    gpg: 处理总数:2
    gpg:已导入:2
    gpg:未找到最终受信任的密钥
    

    线路

    gpg:密钥 FBB75451:公钥“Ubuntu CD 映像自动签名密钥”已导入
    

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

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

    因此 IDFBB7 5451

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

  4. 现在您可以使用此命令gpg --verify SHA256SUMS.gpg SHA256SUMS检查文件 SHA256SUMS 是否合法。如果是,那么您应该看到类似以下内容:

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

    如果 SHA256SUMS 文件已被更改,则会出现类似以下内容:

    gpg:签名于 2013 年 2 月 14 日星期四下午 6:38:41 CET 使用 DSA 密钥 ID FBB75451 进行
    gpg: 来自“Ubuntu CD 映像自动签名密钥”的错误签名
    

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

答案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

相关内容