Читаем Введение в криптографию (ЛП) полностью

Ничто не остановит недобросовестного пользователя от "перевода стрелок" его системных часов для генерации сертификатов открытых ключей и цифровых подписей, которые будут казаться созданными в иное, чем в действительности, время. Он может сделать так, чтобы подписанная информация казалась подписанной раньше или позже, чем было в реальности, или что его ключевая пара была создана в прошлом или в будущем. Это может принести ему некоторую юридическую или финансовую выгоду, например, создавая некую лазейку, позволяющую отречься от собственной подписи.

Проблема фальсификации меток времени ЭЦП не страшнее подделки даты собственноручных подписей. Человек может написать любую дату напротив собственноручного автографа на контракте, но, похоже, никто по этому поводу чересчур не волнуется. Далеко не в каждом случае "некорректная" дата ручной подписи указывает на факт мошенничества. Метка времени указывает на то, когда человек своей подписью утвердил документ или с какого момента он хочет, чтобы подпись вступила в законную силу.

PGP предваряет подписанный текст несколькими строчками с указанием даты подписания и лица, подписавшего текст. PGP Universal и PGP 8.0.3 и выше применяют особые механизмы для предостращения модификации этих служебных строк, тем не менее, взломщик может прибегнуть к обрамлению текста в электронном письме аккуратно составленным изображением, заставляющим вас поверить, что он подписал сообщение в иное время, чем было в действительности. Один из способов обнаружить обман — целиком выделить содержание сообщения (Ctrl+A). Выделенный текст выглядит обычно иначе, чем выделенная картинка.

В тех случаях, когда реальная дата подписания имеет критическое значение, люди просто пользуются услугами нотариусов, подтверждающих эту дату. Аналогом такой процедуры в случае с ЭЦП будет попросить доверенного посредника подписать сертификат ЭЦП, приложив к нему собственную достоверную метку времени. Это не потребует сколь-нибудь экзотических или чрезмерно формализованных протоколов. Подписи посредников давно признаются законным средством установления фактической даты подписания документа.

Доверенный нотариус или Центр сертификации может давать надёжные подписи с достоверными метками времени[17]. Для этой цели даже не нужна централизованная служба. Любой доверенный поручитель или незаинтересованная третья сторона сможет исполнить эту роль, как это делают частные, государственные и общественные нотариусы. Когда нотариус подтверждает чужую подпись, он создаёт сертификат подписи для сертификата подписи. Затем нотариус может поместить съёмную ЭЦП (без самого заверенного документа) в специальный публичных архив. Подпись нотариуса с достоверной меткой времени будет иметь больший вес и правовое значение, нежели дата оригинальной подписи документа.

Подробное обсуждение этой темы вы можете найти в статье Деннинга в IEEE Computer за 1983 год. Будущие версии PGP, возможно, будут иметь дополнительные функции по работе с нотариальными подписями и достоверными метками времени.

Изначально PGP создавался для однопользовательских ПК, находящихся под полным физическим контролем владельца. Если вы работаете с PGP на домашнем не подключённом к сети компьютере, ваши зашифрованные файлы будут в достаточной безопасности, только если некто не вломится к вам дом, не похитит компьютер и не станет угрожать, чтобы вы раскрыли ему свою парольную фразу (если она не столь проста, чтобы её угадать).

PGP не способен защитить ваши файлы на общедоступной системе, когда они представлены в виде открытого текста. Равно, не может он противостоять взломщику, применяющему чрезвычайно сложный комплекс мер для перехвата используемого закрытого ключа. Злоумышленник может проникнуть в ваш компьютер, если он подключён к сети или если это общедоступная многопользовательская система с возможностью удалённого подключения, как UNIX. Вам необходимо принимать в расчёт все эти риски многопользовательских систем и соответственно корректировать своё поведение. Возможно, в вашем случае будет лучше использовать PGP на изолированном персональном компьютере, находящимся под прямым физическим контролем.

Анализ трафика

Даже если взломщик не может узнать содержание зашифрованных сообщений, он всё же может получить некоторые крупицы информации, проследив, откуда приходят сообщения и куда они пересылаются, их объём, время отправки. Это аналогично тому, как если бы злоумышленник просматривал ваши счета за междугородние телефонные переговоры, чтобы узнать кому и когда вы звонили и как долго продолжался разговор, хотя само содержание звонков останется ему неизвестным. Это называется анализом трафика. PGP в одиночку не защищает от подобного рода атак. Решение этой проблемы может потребовать специализированных протоколов связи, возможно, с применением криптографических средств, разработанных для уменьшения риска анализа трафика в конкретной коммуникационной среде.

Криптоанализ

Перейти на страницу:

Похожие книги

Язык программирования C++. Пятое издание
Язык программирования C++. Пятое издание

Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!Р'С‹ держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. Р' соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать РёС… наилучшие СЃРїРѕСЃРѕР±С‹ применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.Стенли Р'. Липпман работал старшим консультантом в Jet Propulsion Laboratory, архитектором РіСЂСѓРїРїС‹ Visual С++ корпорации Microsoft, техническим сотрудником Bell Laboratories и главным инженером- программистом по анимации в кинокомпаниях Disney, DreamWorks, Pixar и PDI.Р–РѕР·и Лажойе, работающий ныне в кинокомпании Pixar, был членом канадской РіСЂСѓРїРїС‹ разработчиков компилятора C/C++ корпорации IBM, а также возглавлял рабочую группу базового языка С++ в составе международной организации по стандартизации ANSI/ISO.Барбара Э. Му имеет почти тридцатилетний опыт программирования. На протяжении пятнадцати лет она работала в компании AT&T, сотрудничая с Бьярне Страуструпом, автором языка С++, и несколько лет руководила РіСЂСѓРїРїРѕР№ разработчиков С++.• Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

Барбара Э. Му , Жози Лажойе , Стенли Б. Липпман

Программирование, программы, базы данных
Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных