Проверка ubuntu iso с помощью репозитория gpg-keys
Я хочу убедиться, что загруженный ISO не отравлен АНБ или любым другим аморальным агентом. Для этого я бы очень использовал способ проверки подписи.
Я в курсе VerifyIsoHowto. Тем не менее, я не очень доволен предложенным. Если какой-либо агент может управлять загрузкой одного файла, он, несомненно, может управлять всеми загрузками файлов. Таким образом, открытый ключ, который я получаю от сервера ключей, можно просто обмануть, чтобы проверить проверенный ISO-файл, в то время как на самом деле он был внедрен в руткит или еще хуже.
Теперь я знаю, что, к сожалению, нет 100% уверенного пути. Но, исходя из предположения, что моя текущая система безопасна, у меня есть эти ключи, используемые в механизме SecureApt.
Мой вопрос поэтому:
Как можно использовать ключи, которым я уже доверяю SecureApt (= обычные ключи репозитория Ubuntu), для проверки только что загруженного ISO?
В самом деле, мне бы также пригодилось, если бы я мог через Ubuntu Repo (и, следовательно, в deb, который неявно проверяется через SecureApt) получить те открытые ключи, которые были бы необходимы для проверки подписи iso.
Любая помощь будет принята с благодарностью.
PS: конечно, я знаю, что, если Canonical аморален и сотрудничает с АНБ (у которого есть деньги, эй), мы все равно в любом случае. Давайте просто предположим, что такого никогда не случится, хорошо?
2 ответа
Следующие шаги позволяют проверить файл SHA256SUMS для загруженного Ubuntu iso:
- Открытый терминал (CTRL + ALT + T)
Импортируйте ключи из /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
После импорта ключа вы можете скачать файлы SHA256SUMS, MD5SUMS, SHA1SUMS и соответствующие им подписи *SHA256SUMS.gpg, MD5SUMS.gpg
Теперь вы можете использовать эту команду
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