Фальсификация меток времени
Фальсификация меток времени
Несколько неочевидной уязвимостью PGP является возможность злоумышленной подделки меток времени на цифровых подписях и сертификатах ключей. Вы можете пропустить этот раздел, если не интересуетесь деталями некоторых протоколов асимметричных криптосистем.
Ничто не остановит недобросовестного пользователя от "перевода стрелок" его системных часов для генерации сертификатов открытых ключей и цифровых подписей, которые будут казаться созданными в иное, чем в действительности, время. Он может сделать так, чтобы подписанная информация казалась подписанной раньше или позже, чем было в реальности, или что его ключевая пара была создана в прошлом или в будущем. Это может принести ему некоторую юридическую или финансовую выгоду, например, создавая некую лазейку, позволяющую отречься от собственной подписи.
Проблема фальсификации меток времени ЭЦП не страшнее подделки даты собственноручных подписей. Человек может написать любую дату напротив собственноручного автографа на контракте, но, похоже, никто по этому поводу чересчур не волнуется. Далеко не в каждом случае "некорректная" дата ручной подписи указывает на факт мошенничества. Метка времени указывает на то, когда человек своей подписью утвердил документ или с какого момента он хочет, чтобы подпись вступила в законную силу.
PGP предваряет подписанный текст несколькими строчками с указанием даты подписания и лица, подписавшего текст. PGP Universal и PGP 8.0.3 и выше применяют особые механизмы для предостращения модификации этих служебных строк, тем не менее, взломщик может прибегнуть к обрамлению текста в электронном письме аккуратно составленным изображением, заставляющим вас поверить, что он подписал сообщение в иное время, чем было в действительности. Один из способов обнаружить обман — целиком выделить содержание сообщения (Ctrl+A). Выделенный текст выглядит обычно иначе, чем выделенная картинка.
В тех случаях, когда реальная дата подписания имеет критическое значение, люди просто пользуются услугами нотариусов, подтверждающих эту дату. Аналогом такой процедуры в случае с ЭЦП будет попросить доверенного посредника подписать сертификат ЭЦП, приложив к нему собственную достоверную метку времени. Это не потребует сколь-нибудь экзотических или чрезмерно формализованных протоколов. Подписи посредников давно признаются законным средством установления фактической даты подписания документа.
Доверенный нотариус или Центр сертификации может давать надёжные подписи с достоверными метками времени[17]. Для этой цели даже не нужна централизованная служба. Любой доверенный поручитель или незаинтересованная третья сторона сможет исполнить эту роль, как это делают частные, государственные и общественные нотариусы. Когда нотариус подтверждает чужую подпись, он создаёт сертификат подписи для сертификата подписи. Затем нотариус может поместить съёмную ЭЦП (без самого заверенного документа) в специальный публичных архив. Подпись нотариуса с достоверной меткой времени будет иметь больший вес и правовое значение, нежели дата оригинальной подписи документа.
Подробное обсуждение этой темы вы можете найти в статье Деннинга в IEEE Computer за 1983 год. Будущие версии PGP, возможно, будут иметь дополнительные функции по работе с нотариальными подписями и достоверными метками времени.