Проверка ubuntu iso с помощью репозитория gpg-keys

Я хочу убедиться, что загруженный ISO не отравлен АНБ или любым другим аморальным агентом. Для этого я бы очень использовал способ проверки подписи.

Я в курсе VerifyIsoHowto. Тем не менее, я не очень доволен предложенным. Если какой-либо агент может управлять загрузкой одного файла, он, несомненно, может управлять всеми загрузками файлов. Таким образом, открытый ключ, который я получаю от сервера ключей, можно просто обмануть, чтобы проверить проверенный ISO-файл, в то время как на самом деле он был внедрен в руткит или еще хуже.

Теперь я знаю, что, к сожалению, нет 100% уверенного пути. Но, исходя из предположения, что моя текущая система безопасна, у меня есть эти ключи, используемые в механизме SecureApt.

Мой вопрос поэтому:

Как можно использовать ключи, которым я уже доверяю SecureApt (= обычные ключи репозитория Ubuntu), для проверки только что загруженного ISO?

В самом деле, мне бы также пригодилось, если бы я мог через Ubuntu Repo (и, следовательно, в deb, который неявно проверяется через SecureApt) получить те открытые ключи, которые были бы необходимы для проверки подписи iso.

Любая помощь будет принята с благодарностью.

PS: конечно, я знаю, что, если Canonical аморален и сотрудничает с АНБ (у которого есть деньги, эй), мы все равно в любом случае. Давайте просто предположим, что такого никогда не случится, хорошо?

2 ответа

Решение

Следующие шаги позволяют проверить файл SHA256SUMS для загруженного Ubuntu iso:

  1. Открытый терминал (CTRL + ALT + T)
  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"
    

    показывает, что вы импортировали ключ GPG для подписи образов компакт-дисков (iso-файлов), со следующим отпечатком:

     Отпечаток первичного ключа: C598 6B4F 1257 FFA8 6632  CBA7 4618 1433 FBB7 5451 

    и, следовательно, идентификатор FBB7 5451

  3. После импорта ключа вы можете скачать файлы SHA256SUMS, MD5SUMS, SHA1SUMS и соответствующие им подписи *SHA256SUMS.gpg, MD5SUMS.gpg

  4. Теперь вы можете использовать эту команду gpg --verify SHA256SUMS.gpg SHA256SUMS проверить, является ли файл SHA256SUMS легитимным. Если так, то вы должны увидеть что-то вроде этого:

    gpg: подпись сделана четверг, 14 февраля 2013 г., 18:38:41 CET с использованием идентификатора ключа DSA FBB75451
    gpg: Хорошая подпись от "Ключа автоматической подписи образа Ubuntu CD"
    gpg: ВНИМАНИЕ: Этот ключ не сертифицирован с доверенной подписью!
    gpg: нет никаких признаков того, что подпись принадлежит владельцу.
    Отпечаток первичного ключа: C598 6B4F 1257 FFA8 6632  CBA7 4618 1433 FBB7 5451
    

    Если файл SHA256SUMS был изменен, то вместо этого появится что-то вроде этого:

    gpg: подпись сделана четверг, 14 февраля 2013 г., 18:38:41 CET с использованием идентификатора ключа DSA FBB75451
    gpg: ПЛОХАЯ подпись от "Ключа автоматической подписи образа Ubuntu CD"
    

По сути, вместо того, чтобы следовать шагу 2 в руководстве, указанном в вопросе, и получить ключ от сервера ключей, который мог быть скомпрометирован, вы используете ключ, предоставленный вашей существующей установкой Ubuntu, которой вы доверяете.

Кажется, это работает хорошо:

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
Другие вопросы по тегам