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

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

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

1 ответ1

0

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

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

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

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

gpg file.txt.asc

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .