Как работает контрподпись в подписи кода? - PullRequest
0 голосов
/ 03 февраля 2012

Пока не понимаю, как работают контрасигнации.

Я думаю о том, можно ли манипулировать файлом и переуступить его с помощью оригинального ключа, включая поддельный контрсигн?

Я использую, например, ::1005*

signtool.exe sign /f "mycert.pfx" /t "http://timestamp.verisign.com/scripts/timstamp.dll" /v "MyApp.exe"

Итак, я получу подписанное заявление с сообщением. Но как это работает? Сервер "метки времени" просто подписывает текущую метку времени? Если я правильно понимаю, это будет разрешить повторную атаку. Чтобы я мог подписать файл в прошлом.

Как защищен contersign?

1 Ответ

2 голосов
/ 03 февраля 2012

В вашем конкретном случае это вовсе не подписание. Временная метка Authenticode включена в качестве атрибута в пакет PKCS # 7 исходной подписи. Это подпись (ее сборник) с отметкой времени. Сервер подписывает дайджест и значение времени своим сертификатом.

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

...