Как я могу получить исходные данные из подписи с GnuPG?

В настоящее время я нахожусь в ситуации, когда с помощью --clearsign Флаг был бы непрактичным.

Через размер подписи я установил, что она содержит некоторую форму входных данных (поэтому, когда я набрал gpg --armor --sign file.txt, выход file.txt.asc было несколько раз меньше, чем исходный файл), однако, при использовании gpg --verify file.txt.ascЯ могу только сказать, что файл был подписан мной, а не тем, чем он является, даже при использовании подробного флага.

Если исходные данные безвозвратны, то какой смысл иметь подпись, поскольку все, что она показывает, это дата, когда она была подписана, и кем она была подписана? Если бы я был MITM, не мог бы я просто скопировать эту подпись и притвориться, что я отправитель, даже если дата была немного не в порядке?

1 ответ

Решение

Как я могу получить исходные данные из подписи с GnuPG?

Если исходный контент содержится (т.е. вы не создали отдельную подпись), вы можете экспортировать подписанные данные, используя --output вариант.

gpg --output file.txt --verify file.txt.asc

GnuPG предполагает, что вы хотите делать то же самое, когда вообще не передаете никаких команд:

gpg file.txt.asc

Если исходные данные безвозвратны, то какой смысл иметь подпись, поскольку все, что она показывает, это дата, когда она была подписана, и кем она была подписана? Если бы я был MITM, не мог бы я просто скопировать эту подпись и притвориться, что я отправитель, даже если дата была немного не в порядке?

Подпись всегда выдается на хэш-сумме исходного сообщения. При создании отдельной подписи (которая не содержит всего исходного сообщения) оно все равно содержит хэш-сумму. Таким образом, реализация OpenPGP получателя может снова хэшировать сообщение и проверять, содержится ли этот хэш в сигнатуре и подходит ли эта подпись.

Другие вопросы по тегам