PGP Tool

Учиться · 5 мин. чтения

Как проверить подпись PGP, и почему это важно

Подпись на файле релиза полезна, только если вы её проверяете. Вот рабочий процесс на 30 секунд.

Вы скачали бинарник, разработчик опубликовал рядом .asc-подпись — что дальше? Большинство ничего не делает. Немногие, кто проверяет, обнаруживают атаки на цепочку поставок до запуска скомпрометированного кода.

Что на самом деле доказывает подпись

Действительная подпись PGP доказывает: (1) файл не был изменён с момента подписания, и (2) его подписал кто-то, владеющий закрытым ключом, чей открытый аналог вы использовали. Она НЕ доказывает, что подписавший честен, или что открытый ключ действительно принадлежит ему.

Если злоумышленник подменяет файл И публикует свой открытый ключ, подпись проверяется без ошибок — но против неверного ключа. Защита: устанавливайте ключ подписанта через отдельный канал.

Рабочий процесс проверки

  1. Скачайте файл и подпись (.asc).
  2. Получите открытый ключ подписанта из отдельного источника (сервер ключей, другой домен, лично).
  3. Откройте инструмент «Проверить» и вставьте подпись, исходный файл и открытый ключ.
  4. Убедитесь, что «Подпись действительна» указывает ожидаемого подписанта.
  5. Сверьте отпечаток с доверенным источником.

Отдельная vs clearsign vs зашифрованная-и-подписанная

  • Отдельная — .asc в отдельном файле. Для бинарников, архивов, больших блобов.
  • Clearsigned — подписанный текст и подпись в одном .asc, исходный текст в открытом виде. Для писем.
  • Зашифрованная+подписанная — зашифрована для получателя и подписана отправителем. Сначала расшифруйте, затем проверьте.

Частые ошибки

  • Проверка с открытым ключом, скачанным оттуда же, что и бинарник.
  • Игнорирование предупреждений «хорошая подпись, но ключ не сертифицирован».
  • Пересохранение файла перед проверкой — изменения концов строк ломают отдельные подписи.