Пн, 11.12.2017, 15:15
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 1 з 11
Модератор форуму: Bandalak, Ktara, НІКОЛЯ, volevikt 
Форум інформатиків » РОЗДІЛ ІХ: ІНТЕРНЕТ, МЕРЕЖІ, ХОСТІНГ » 9.8 Рубрика системного адміністратора » Криптографические протоколы. (Безопасность сети.)
Криптографические протоколы.
НІКОЛЯ Дата: Ср, 25.11.2009, 10:56 | Повідомлення № 1
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Криптографическим протоколом называется такой, в основе которого лежи: криптографический алгоритм. Однако целью криптографического протокол;! зачастую является не только сохранение информации в тайне от посторонних. Участники криптографического протокола могут быть близкими друзьями, у которых нет друг от друга секретов, а могут являться настолько непримиримыми врагами, что каждый из них отказывается сообщить другому. какое сегодня число. Тем не менее, им может понадобиться поставить сноп подписи под совместным договором или удостоверить свою личность. В этом случае криптография нужна, чтобы предотвратить или обнаружим, подслушивание посторонними лицами, не являющимися участниками протокола, а также не допустить мошенничества. Поэтому часто требуется, чтобы криптографический протокол обеспечивал следующее: его участники не могут сделать или узнать больше того, что определено протоколом.
НІКОЛЯ Дата: Ср, 25.11.2009, 11:01 | Повідомлення № 2
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Что такое криптографический протокол

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

Протоколы имеют и другие отличительные черты:

каждый участник протокола должен быть заранее оповещен о шагах, которые ему предстоит предпринять;
все участники протокола должны следовать его правилам добровольно. без принуждения;
необходимо, чтобы протокол допускал только однозначное толкование, а его шаги были совершенно четко определены и не допускали возможности их неправильного понимания;
протокол должен содержать описание реакции его участников на любые ситуации, возникающие в ходе реализации этого протокола — иными словами, недопустимым является положение, когда для возникшей ситуации протоколом не определено соответствующее действие.

Зачем нужны криптографические протоколы

В повседневной жизни нам приходится сталкиваться с протоколами буквально на каждом шагу — играя в любые игры, делая покупки в магазинах или голосуя на выборах. Многими протоколами нас научили пользоваться родители, школьные учителя и друзья. Остальные мы сумели узнать самостоятельно.

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

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

Глупо считать, что компьютерные пользователи ведут себя более честно, чем абсолютно случайные люди. То же самое касается и сетевых администраторов, и проектировщиков компьютерных сетей. Большинство из них и в самом деле честные люди, однако есть и такие, кто может причинить нам большие неприятности. Поэтому так нужны криптографические протоколы. использование которых позволяет защититься от непорядочных людей.

Распределение ролей

Чтобы описание протоколов было более наглядным, имена их участников однозначно определяют роли, им уготованные (табл. 7.1). Пусть Антон и Борис принимают участие во всех двухсторонних протоколах. Как правило, начинает выполнение шагов, предусмотренных протоколом, Антон, а ответные действия предпринимает Борис. Если протокол является грех- или четырехсторонним, исполнение соответствующих ролей берут на себя Владимир и Георгий. Об остальных персонажах подробнее будет рассказано позже.

НІКОЛЯ Дата: Ср, 25.11.2009, 11:05 | Повідомлення № 3
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Таблица 7.1. Роли, которые играют участники протоколов

Участник протокола Роль в протоколе
Антон Первый участник протоколов
Борис Второй участник протоколов
Владимир Участник трех- и четырехсторонних протоколов
Георгий Участник четырехсторонних протоколов
Дмитрий Доверенное лицо, наделенное правами арбитра
Зиновий Злоумышленник
Кирилл Контролер
Олег Охранник
Петр Подслушивает за участниками протоколов
Сергей Свидетель
Протокол с арбитражем

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

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

Легко довериться адвокату, про которого известно, что у него незапятнанная репутация, и с которым можно установить личный контакт. Однако если два участника протокола не доверяют друг другу, арбитр, не облаченный в телесную оболочку и существующий где-то в недрах компьютерной сети, вряд ли будет пользоваться у них доверием.
Расценки за услуги, оказываемые адвокатом, известны. Кто и каким образом будет оплачивать издержки за аналогичные услуги арбитра в компьютерной сети?
Введение арбитра в любой протокол увеличивает время, затрачиваемое на реализацию этого протокола.
Поскольку арбитр контролирует каждый шаг протокола, его участие и очень сложных протоколах может стать узким местом при их реализации. Увеличение числа арбитров позволяет избавиться от данного узкого места, однако одновременно возрастут и накладные расходы на реализацию протокола.
В силу того, что все участники протокола должны пользоваться услугами одного и того же арбитра, действия злоумышленника, который решит нанести им ущерб, будут направлены, в первую очередь, против этого арбитра. Следовательно, арбитр представляет собой слабое звено любого протокола с арбитражем.
Несмотря на отмеченные препятствия, протоколы с арбитражем находи г широкое применение на практике. В ходе дальнейшего изложения доверенное лицо, наделенное правами арбитра, будет именоваться Дмитрием.

Протокол с судейством

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

Подобно арбитру, судья является незаинтересованным участником протокола, которому остальные участники доверяют. Однако в отличие от арбитра. судья участвует отнюдь не в каждом шаге протокола. Услугами судьи пользуются, только если требуется разрешить сомнения относительно правильности действий участников протокола. Если таких сомнений ни у кою не возникает, судейство не понадобится.

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

Самоутверждающийся протокол

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

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

Разновидности атак на протоколы

Атаки на протоколы бывают направлены против криптографических алгоритмов, которые в них задействованы, против криптографических методов, применяемых для их реализации, а также против самих протоколов. Для начала предположим, что используемые криптографические алгоритмы и методы являются достаточно стойкими, и рассмотрим атаки собственно на протоколы.

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

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

Итак, Петр пытается собрать максимум информации об участниках протокола и об их действиях. У Зиновия же совсем другие интересы — ухудшение производительности компьютерной сети, получение несанкционированного доступа к ее ресурсам, внесение искажений в базы данных. При этом и Петр, и Зиновий не обязательно являются совершенно посторонними лицами. Они могут быть легальными пользователями, системными и сетевыми администраторами, разработчиками программного обеспечения и даже участниками протокола, которые ведут себя непорядочно или даже вовсе не соблюдают этот протокол. В последнем случае атакующий называется мошенником. Пассивный мошенник следует всем правилам, которые определены протоколом, но при этом еще и пытается узнать о других участниках больше, чем предусмотрено этим протоколом. Активный мошенник вносит произвольные изменения в протокол, чтобы нечестным путем добиться для себя наибольшей выгоды.

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

Протокол обмена сообщениями с использованием симметричного шифрования

Предположим, что Антон и Борис хотят обмениваться секретными сообщениями по каналу связи, не защищенному от подслушивания. Естественно. им придется воспользоваться шифрованием. Однако чтобы Антон успешно зашифровал свое сообщение Борису, а тот, получив это сообщение, смог его расшифровать, они должны действовать в соответствии со следующим протоколом:

1. Антон и Борис уславливаются о том, какой криптосистемой они будут пользоваться.

2. Антон и Борис генерируют ключи для шифрования и расшифрования своих сообщений и затем обмениваются ими.

3. Антон шифрует сообщение с использованием криптографического алгоритма и ключа, о которых он заранее договорился с Борисом.

4. Антон отправляет зашифрованное сообщение Борису.

5. Борис расшифровывает полученное сообщение, применяя тот же криптографический алгоритм и ключ, которыми пользовался Антон.

Если Петр имеет возможность перехватывать сообщения, которые передают друг другу Антон и Борис, он может попытаться прочесть эти сообщения. Если Антон и Борис используют стойкий алгоритм шифрования. — они в безопасности. Однако Петр может оказаться в состоянии подслушивать за Антоном и Борисом, когда они выполняют шаг 1 и шаг 2 протокола. Поэтому стойкая криптосистема не должна опираться на сохранение в тайне алгоритма шифрования. Необходимо, чтобы ее стойкость определялась одной только длиной секретного ключа. Тогда Антон и Борис могут условиться, каким шифром они будут пользоваться, ничуть не заботясь о том, что их подслушает Петр. Тем не менее, шаг 2 протокола все равно должен выполняться ими в обстановке строжайшей секретности. Требуется, чтобы свои сгенерированные ключи Антон и Борис хранили в секрете до, во время и после процесса выполнения всех шагов протокола. Иначе Петр сможет прочесть всю их шифрованную переписку.

Что касается Зиновия, то в зависимости от преследуемых целей он может действовать по-разному. Если Зиновий прервет связь между Антоном и Борисом, они будут не в состоянии обмениваться сообщениями. Зиновий может заменить шифрованное сообщение, посланное Антоном, на свое собственное. Попытавшись расшифровать поддельное сообщение, Борис вместо осмысленного открытого текста получит абракадабру, и решит, что Антон не слишком серьезно отнесся к шифрованию своего сообщения или что при передаче оно было просто искажено. Хуже, если Зиновий узнает ключ, которым пользуются Антон и Борис. Тогда он сможет зашифровать любое сообщение и отправить его Борису от имени Антона, а у Бориса не будет возможности распознать подделку.

Если Антон вознамерится навредить Борису, тот будет не в силах ему помешать. Например, Антон может заставить Бориса отказаться от обмена сообщениями. Для этого Антону достаточно передать копию ключа Петру с условием, что Петр опубликует открытые тексты сообщений Бориса в газете для всеобщего обозрения. Это значит, что, используя приведенный выше протокол, Антон и Борис должны полностью доверять друг другу.

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

НІКОЛЯ Дата: Ср, 25.11.2009, 11:06 | Повідомлення № 4
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Протокол обмена сообщениями с использованием шифрования с открытым ключом

Симметричную криптосистему можно сравнить с сейфом. Криптографический ключ соответствует комбинации, отпирающей сейф. Каждый, кто знает комбинацию, может открыть сейф. Тому, кто комбинацией не владеет, но все равно желает знакомиться с содержимым сейфа, лучше записаться на курсы медвежатников, если таковые, конечно, существуют.

В 1976 г. американские криптологи У. Диффи и М. Хеллман изобрели криптографию с открытым ключом. Они предложили использовать два вида ключей — открытые и тайные. Вычислить тайный ключ, зная только открытый, очень сложно. Человек, владеющий открытым ключом, может с его помощью зашифровать сообщение. Расшифровать это сообщение в состоянии только тот, кто имеет соответствующий тайный ключ. В отличие от симметричной криптосистемы, для алгоритма шифрования с открытым ключом больше подходит сравнение с почтовым ящиком. Опустить почту и этот ящик очень просто, равно как и зашифровать сообщение с применением открытого ключа. А извлечение из почтового ящика находящейся в нем корреспонденции сродни расшифрованию сообщения. Желающего сделать это без ключа вряд ли ожидает легкая работа. Обладатель же ключа откроет почтовый ящик, т. е. расшифрует сообщение, без особого труда.

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

Протокол обмена сообщениями с использованием шифрования с открытым ключом выглядит следующим образом:

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

Чтобы упростить протокол обмена шифрованными сообщениями, открытые ключи всех абонентов единой сети связи часто помещаются в справочную базу данных, находящуюся в общем пользовании этих абонентов. Тогда протокол обмена сообщениями с использованием шифрования с открытым ключом имеет следующий вид:

1. Антон находит открытый ключ Бориса в базе данных.

2. Антон шифрует открытый текст своего сообщения при помощи открытого ключа Бориса.

3. Борис расшифровывает сообщение Антона, используя свой тайный ключ.

Второй протокол в большей степени напоминает отправку писем по почте, поскольку получатель сообщения не является участником протокола до тех самых пор, пока не захочет ознакомиться с открытым текстом этого сообщения.

Гибридные криптосистемы

На практике криптосистемы с открытым ключом используются для шифрования не сообщений, а ключей. На это есть две основные причины:

Алгоритмы шифрования с открытым ключом в среднем работают в тысячи раз медленнее, чем алгоритмы с симметричным ключом. И хотя темпы роста компьютерной производительности очень высоки, требования к скорости шифрования растут не менее стремительно. Поэтому криптосистемы с открытым ключом вряд ли когда-нибудь смогут удовлетворить современные потребности в скорости шифрования.
Алгоритмы шифрования с открытым ключом уязвимы по отношению к криптоаналитическим атакам со знанием открытого текста. Пусть С=Е(Р), где С обозначает шифртекст, Р — открытый текст, Е — функцию шифрования. Тогда, если Р принимает значения из некоторого конечного множества, состоящего из n открытых текстов, криптоаналитику достаточно зашифровать все эти тексты, используя известный ему открытый ключ, и сравнить результаты с С. Ключ таким способом ему вскрыть не удастся, однако открытый текст будет успешно определен.
Чем меньше количество ( n ) возможных открытых текстов, тем эффективнее будет атака на криптосистему с открытым ключом. Например, если криптоаналитику известно, что шифрованию подверглась сумма сделки, не превышающая 1 млн долл., он может перебрать все числа от 1 до 1 000 000.

В большинстве случаев криптографические алгоритмы с открытым ключом применяются для шифрования сеансовых ключей при их передаче абонентам сети связи. Соответствующий протокол выглядит обычно так:

1. Антон генерирует сеансовый ключ К и шифрует его с использованием открытого ключа В, принадлежащего Борису:

Е В (К)

2. Борис расшифровывает сообщение Антона при помощи своего тайного ключа и получает в результате сеансовый ключ К. сгенерированный Антоном:

K=D B (E B (K))

3. Антон и Борис обмениваются сообщениями, зашифрованными одним и тем же сеансовым ключом К.

Данный протокол позволяет не хранить ключи в течение неопределенного периода времени до тех пор, пока они не понадобятся в очередном сеансе связи. Сеансовый ключ можно сгенерировать и отправить по требуемому ; адресу непосредственно перед посылкой сообщения, которое предполагается зашифровать на этом ключе, а потом его сразу уничтожить. Тем самым уменьшается вероятность компрометации сеансового ключа. И хотя тайным ключ также может быть скомпрометирован, риск здесь значительно меньше поскольку тайный ключ используется очень редко — только для однократного зашифрования сеансового ключа.

"Шарады" Меркля

Оригинальный протокол обмена ключами был предложен американским криптологом Р. Мерклем (R.-Merkle) в 1974 г. Данный протокол основывается на так называемых "шарадах", которые требуется решить для получения ключа. Это гораздо легче сделать отправителю и получателю шифрованных сообщений, чем криптоаналитику, перехватывающему их. В результате Антон может послать шифрованное сообщение Борису, предварительно не передавая ему секретного ключа:

1. Борис генерирует 2 20 (около 1 млн) сообщений вида: "Это шарада под номером х. Это секретный ключ под номером у", где х — случайное число, у— случайный секретный ключ. Пара х, у является уникальной для каждого сообщения. Затем Борис шифрует все эти сообщения при помощи какого-либо симметричного алгоритма на различных 20-битных ключах и отсылает Антону.

2. Антон случайным образом выбирает одно из шифрованных сообщений, присланных Борисом, и методом тотального перебора получает открытый текст этого сообщения.

3. Антон шифрует свое собственное секретное сообщение при помощи другого симметричного алгоритма на ключе у, вскрытом им методом тотального перебора, и посылает это сообщение вместе с соответствующим х.

4. Борис, зная соответствие между х и у, расшифровывает сообщение, пришедшее ему от Антона.

Конечно же, Петр может вскрыть ключ, который был использован Антоном для зашифрования секретного сообщения, однако для этого Петру придется выполнить значительно больший объем вычислений, чем Антону и Борису Петр должен будет прочесть все 2 20 шифрованных сообщений, отправленных Борисом, чтобы найти у, соответствующее значению х, выбранному Антоном. На решение этих "шарад" Петр потратит примерно квадрат времени. которое потребуется Антону и Борису, чтобы их составить. И хотя такое отличие в трудоемкости по криптографическим меркам довольно невелико, в некоторых случаях этого может оказаться достаточно. Например, если Антон и Борис смогут опробовать по 10 тыс. ключей в секунду, им понадобится немногим более 1 минуты, чтобы ключ шифрования у оказался в руках Антона. В то же время у Петра, обладающего примерно такой же вычислительной мощью для опробования ключей, как Антон и Борис, на вскрытие правильного ключа уйдет больше года.

НІКОЛЯ Дата: Ср, 25.11.2009, 11:11 | Повідомлення № 5
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Цифровая подпись

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

Подлинность подписи можно проверить. Ее присутствие в документе позволяет убедиться, действительно ли он был подписан человеком, который обладает правом ставить эту подпись.
Подпись нельзя подделать. Наличие подлинной подписи является доказательством того, что именно тот человек, которому она принадлежит, поставил эту подпись под документом.
Подпись, которая уже стоит под одним документом, не может быть использована еще раз для подписания второго документа. Иными словами, подпись является неотъемлемой частью документа и не может быть перенесена в другой документ.
Подписанный документ не подлежит никаким изменениям.
От подписи невозможно отречься. Тот, кто поставил подпись под документом, не может впоследствии заявить, что он не подписывал этот документ.
На самом деле, ни одно из перечисленных свойств подписи не выполняется на все 100%. Подписи подделываются и копируются, от них отрекаются, а в уже подписанные документы впоследствии вносятся произвольные изменения. Однако люди вынуждены мириться с недостатками, присущими подписи, поскольку мошеннические трюки с подписями проделывать не так-то просто и шансы быть пойманными у таких мошенников достаточно велики.

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

Подписание документов при помощи симметричных криптосистем и арбитра

Предположим, что Антон должен послать подписанное им цифровое сообщение Борису. Для этого потребуются симметричная криптосистема и арбитр Дмитрий, который может обмениваться шифрованной информацией и с Антоном, и с Борисом. Чтобы общаться с Антоном, Дмитрий использует ключ К А, а сообщения, предназначенные Борису, Дмитрий шифрует с помощью ключа К Б считается, что передача ключей всем заинтересованным сторонам произошла еще до того, как у Антона появилась потребность отправить Борису подписанный цифровой документ. Тогда Антон. Борис и Дмитрий могут действовать в соответствии со следующим протоколом:

1. Антон шифрует свое сообщение Борису на ключе К А и посылает это сообщение Дмитрию.

2. Дмитрий расшифровывает полученное сообщение, присоединяет к нему собственное заявление о принадлежности этого сообщения Антону, шифрует сообщение Антона и свое заявление на ключе К Б , а затем отправляет их Борису.

3. Борис расшифровывает сообщение, пришедшее от Дмитрия. В результате Борис может прочесть как открытый текст сообщения Антона, так и подтверждение того факта, что этот текст принадлежит Антону.

Дмитрий уверен в том, что автором полученного сообщения является Антон. поскольку лишь Антон владеет секретным ключом К А и, следовательно. только он мог зашифровать это сообщение с помощью К А .

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

Если Борис захочет продемонстрировать документ, подписанный Антоном. кому-нибудь еще, например, Владимиру, им всем снова придется прибегнуть к услугам вездесущего и кристально честного Дмитрия:

1. Борис шифрует сообщение Антона и заявление Дмитрия о том, что это сообщение действительно пришло от Антона, с помощью ключа К Б и отсылает их Дмитрию.

2. Дмитрий расшифровывает полученное от Бориса сообщение, заглядывает в свой архив и убеждается, что Борис не внес никаких изменений в исходный открытый текст сообщения Антона.

3. Дмитрий зашифровывает сообщение Бориса с помощью ключа К Б , используемого для связи с Владимиром, и шлет это сообщение Владимиру.

4. Владимир расшифровывает сообщение Дмитрия и получает как открытый текст сообщения Антона, так и подтверждение того факта, что лея текст на самом деле принадлежит Антону.

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

Подписание документов при помощи криптосистем с открытым ключом

Протокол подписания документа при помощи криптосистемы с открытым ключом достаточно незатейлив:

1. Антон шифрует документ с использованием тайного ключа, тем самым проставляя под этим документом свою подпись, и отправляет ею Борису.

2. Борис расшифровывает документ с использованием открытого ключа Антона, тем самым проверяя подлинность подписи.

От Дмитрия здесь совершенно не требуется вести обширную шифрованную переписку с участниками протокола. Он даже не нужен, чтобы проверять подлинность подписи. Если Борис не сможет расшифровать документ с использованием открытого ключа, принадлежащего Антону, значит, подпись под этим документом недействительна. Тем не менее, Дмитрий понадобится, чтобы удостовериться, что открытый ключ Антона действительно принадлежит именно Антону.

Отметка о времени подписания документа

К сожалению, при некоторых обстоятельствах Борис может обмануть Антона, если воспроизведет точную копию документа вместе с подписью, поставленной под ним Антоном. Еще одна копия документа, который представляет собой обычный деловой договор между двумя сторонами, по; оды не сделает. Однако если у Бориса в руках окажется точная копия чека на кругленькую сумму, выписанного Антоном, последний может понести значительный материальный ущерб.

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

Использование однонаправленных хэш-функций для подписания документов

На практике криптосистемы с открытым ключом не всегда эффективны при подписании документов значительного объема. В целях экономии времени можно подписывать не сам документ, а хэш-значение, вычисленное для этого документа при помощи однонаправленной хэш-функции. Участники протокола должны только заранее условиться о том, какой алгоритм шифрования с открытым ключом и какую однонаправленную хэш-функцию они будут использовать для подписания документов:

1. Антон подвергает документ хэшированию при помощи однонаправленной хэш-функции.

2. Антон шифрует вычисленное хэш-значение с использованием собственного тайного ключа, тем самым ставя под документом свою подпись, и отправляет это хэш-значение Борису в зашифрованном виде вместе с документом.

3. Борис вычисляет хэш-значение документа, расшифровывает хэш-значение, присланное ему Антоном, с использованием открытого ключа Антона. Если два полученных хэш-значения совпадают, то подпись Антона под документом верна.

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

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

Дополнительная терминология

Криптографы придумали множество алгоритмов цифровой подписи. Все они основаны на криптосистемах с открытым ключом. При этом секретная информация используется для того, чтобы поставить подпись под документом, а общедоступная — чтобы проверить подлинность этой подписи. Поэтому часто процесс подписания документа называют шифрованием на тайном ключе, а процесс проверки подлинности подписи — расшифрованием на открытом ключе. Однако это справедливо только для одного алгоритма шифрования с открытым ключом — RSA, а подавляющее большинство остальных алгоритмов цифровой подписи совершенно непригодны для шифрования сообщений.

По этой причине в ходе дальнейшего изложения о процессах подписания документа и проверки подлинности подписи будет говориться без упоминания конкретных алгоритмов, которые используются для этих целей. Подписание документа Р при помощи тайного ключа К будет обозначаться S К (P), а проверка подлинности подписи с использованием соответствующего открытого ключа — V К (P).

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

Несколько подписей под одним документом

Каким образом Антон и Борис могут поставить свои цифровые подписи под одним и тем же документом? Если не задействовать однонаправленные хэш-функции, существуют 2 способа сделать это.

Первый заключается в создании двух идентичных копий документа, одну из которых подписывает Антон, а другую — Борис. Однако тогда придется хранить документ, длина которого в 2 раза превышает размер исходного документа, предназначенного для совместного подписания Антоном и Борисом.
Второй способ состоит в том, чтобы сначала документ подписал Антон, а затем подпись Антона заверил своей подписью Борис. Но в этом случае будет невозможно убедиться в подлинности подписи Антона, не проверив подпись Бориса.
Если использовать однонаправленную хэш-функцию, от перечисленных недостатков можно легко избавиться:

1. Антон подписывает хэш-значение документа.

2. Борис подписывает хэш-значение того же самого документа.

3. Борис отсылает свою подпись Антону.

4. Антон шлет документ вместе со своей подписью и подписью Бориса Владимиру.

5. Владимир проверяет подлинность подписей Антона и Бориса.

Неоспоримость

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

Уменьшить ущерб отказа от обязательств помогает введение в подпись даты и времени, когда она была поставлена под документом. Конечно, ничего нельзя поделать в случае, если Антон заранее предпринял определенные действия для создания условий, при которых его подпись под документом должна быть признана недействительной. Но можно, по крайней мере, сделать так, чтобы эти действия не позволили Антону объявить поддельными все остальные его подписи, которые он ранее поставил под другими документами:

1. Антон подписывает документ.

2. Антон генерирует заголовок, в который помещает свои личные данные. присоединяет этот заголовок к подписанному им документу, еще раз подписывает итоговый документ и посылает его Дмитрию.

3. Дмитрий проверяет вторую подпись Антона, добавляет к его сообщению отметку о дате и времени получения этого сообщения, подписывает его. а затем отправляет Антону и Борису.

4. Борис проверяет подпись Дмитрия, персональные данные Антона и его подпись.

5. Антон знакомится с содержанием сообщения, присланного Дмитрием Если Антон обнаруживает в этом сообщении что-то подозрительное, он должен немедленно заявить об этом во всеуслышание.

НІКОЛЯ Дата: Ср, 25.11.2009, 11:12 | Повідомлення № 6
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Цифровая подпись и шифрование

Аналогии из повседневной жизни помогают лучше понять, как должны быть устроены криптографические протоколы, чтобы обеспечивать максимальную защиту от мошенников и злоумышленников. Возьмем, к примеру. обыкновенное письмо, приготовленное Антоном для отправки Борис) по почте. Антон всегда подписывает свои письма Борису, прежде чем вкладывает их в конверты. А почему бы Антону не подписывать сами конверты? Да потому, что получив конверт с подписью Антона и обнаружив в нем неподписанное письмо, Борис не сможет убедиться в том, что подлинное письмо Антона не было подменено на пути следования от отправителя к адресату.

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

1. Антон подписывает сообщение Р при помощи своего тайного ключа К А:

S K A (P)

2. Антон шифрует подписанное сообщение, используя открытый ключ Бориса К Б , и посылает его Борису

Е K Б ( S K A (P) )

3. Борис расшифровывает сообщение Антона с помощью своего тайного ключа К Б :

D K Б ( Е K Б ( S K A (P) ) ) = S K A (P)

4. С помощью открытого ключа Антона К А, Борис проверяет подпись Антона и получает открытый текст его сообщения:

V K A (S K A (P) ) = Р

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

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

Однако совместное использование шифрования и цифровой подписи таит в себе особую опасность, если для зашифрования и генерации цифровой подписи используется один и тот же криптографический алгоритм. Рассмотрим для примера протокол, согласно которому после приема сообщения Борис немедленно должен послать отправителю этого сообщения подтверждение о его получении.

1. Антон подписывает сообщение при помощи своего тайного ключа, шифрует это сообщение, используя открытый ключ Бориса, и посылает его Борису:

Е K Б ( S K A (P) )

2. Борис расшифровывает сообщение Антона на своем тайном ключе, удостоверяется в подлинности подписи Антона с помощью его открытого ключа и восстанавливает открытый текст сообщения:

S K A (D K Б (Е K Б ( S K A (P) ) ) ) = P

3. Борис подписывает сообщение Антона с использованием своего тайного ключа, шифрует это сообщение вместе со своей подписью на открытом ключе Антона и отсылает обратно:

Е K A ( S K Б (P) )

4. Антон расшифровывает сообщение Бориса при помощи своего тайного ключа и проверяет подлинность подписи Бориса, используя его открытый ключ. Если в результате он получит сообщение, идентичное тому, которое он ранее отправил Борису, значит, сеанс связи прошел корректно.

К сожалению, если для шифрования и проверки цифровой подписи применяется одинаковый криптографический алгоритм (т. е., V K = E К и S К = D К ), Зиновий, являясь законным пользователем сети связи, при определенных условиях сможет читать шифрованную переписку Антона. Для этого, перехватив сообщение Антона Е K Б ( S K A (P) ) , Зиновий шлет его от своего имени Борису. Борис после расшифрования и проверки цифровой подписи Зиновия получит:

E K З (D K Б (Е K Б ( D K A (P) ) ) ) = E K З (D K А (P) )

В соответствии с протоколом Борис должен отправить Зиновию подтверждение правильности приема пришедшего ему сообщения:

В результате Зиновию останется только преобразовать сообщение, присланное ему Борисом, при помощи своего тайного ключа и известных открытых ключей Антона и Бориса — и вот он, заветный открытый текст Р сообщения, отправленного Антоном!

Конечно, все это стало возможным не только потому, что для шифрования и проверки цифровой подписи использовался один и тот же криптографический алгоритм. Борису следовало бы быть более внимательным и не отсылать подтверждение правильности приема сообщения, присланного Зиновием. Попытка расшифровать это сообщение привела к тому, что Борис получил открытый текст, не имеющий никакого смысла.

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

НІКОЛЯ Дата: Ср, 25.11.2009, 11:12 | Повідомлення № 7
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Основные криптографические протоколы

Обмен ключами

Распространенным приемом в криптографии является шифрование каждого передаваемого сообщения с помощью отдельного ключа. Такой ключ называется сеансовым, поскольку используется только на протяжении одного сеанса связи. Каким образом сеансовый ключ попадает в распоряжение отправителя и получателя шифрованного сообщения?

Обмен ключами для симметричных криптосистем

Предположим, что Антон и Борис, являющиеся пользователями компьютерной сети, получили секретные ключи от Дмитрия (доверенного липа, наделенного правами арбитра). Секретные ключи попали к Антону и Борису еще до начала сеанса связи, а злоумышленник Зиновий ровным счетом ничего не знает о том, какие это ключи. Тогда для обмена шифрованными сообщениями по компьютерной сети Антон и Борис могут воспользоваться следующим криптографическим протоколом:

1. Антон связывается с Дмитрием и запрашивает у него сеансовый ключ для связи с Борисом.

2. Дмитрий генерирует случайный сеансовый ключ и создает две шифрованных копии этого ключа — один раз Дмитрий шифрует сеансовый ключ с помощью секретного ключа Антона, второй — с помощью секретного ключа Бориса. Затем Дмитрий отсылает обе копии Антону.

3. Антон расшифровывает свою копию сеансового ключа.

4. Антон отправляет Борису его копию сеансового ключа.

5. Борис расшифровывает свою копию сеансового ключа.

6. Антон отправляет Борису сообщение, зашифрованное с использованием сеансового ключа, копия которого имеется у них обоих.

И Антон, и Борис полностью полагаются на честность Дмитрия. Если Зиновию удастся его подкупить или обмануть, ни о какой секретности обмена сообщениями между Антоном и Борисом не может быть и речи. В этом ел у чае Зиновий получит доступ ко всем ключам, используемым абонентами компьютерной сети, и сможет прочесть шифрованные сообщения, которыми они обмениваются по сети. Для этого Зиновию достаточно аккуратно копировать всю передаваемую через нее информацию.

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

Обмен ключами для криптосистем с открытым ключом

Обычно Антон и Борис используют криптографический алгоритм с открытым ключом, чтобы договориться о сеансовом ключе, при помощи которого они будут шифровать свои данные. В этом случае протокол обмена сеансовыми ключами значительно упрощается, и Антон может послать шифрованное сообщение Борису, даже если Борис и не слышал о существовании Антона:

1. Антон находит открытый ключ Бориса в справочнике, в базе данных или получает его от Дмитрия.

2. Антон генерирует случайный сеансовый ключ, шифрует его при помощи открытого ключа Бориса и отправляет ему в зашифрованном виде.

3. Борис расшифровывает сообщение Антона с использованием своего тайного ключа.

4. Антон и Борис обмениваются сообщениями, зашифрованными на одном и том же сеансовом ключе.

Атака методом сведения к середине

Петр, возможности которого ограничены лишь перехватом передаваемых сообщений, может попытаться вскрыть применяемый криптографический алгоритм с открытым ключом или организовать атаку со знанием только шифртекста. По сравнению с Петром у Зиновия выбор гораздо богаче: он ' может не только "подслушивать" за Антоном и Борисом, но также видоизменять и даже уничтожать сообщения, которыми они обмениваются между собой. Более того, Зиновий может перевоплотиться в Антона, когда общается с Борисом. Он также может попытаться выдать себя за Бориса, вступая в контакт с Антоном. При этом Зиновий может действовать, например, следующим образом:

1. Антон посылает Борису свой открытый ключ. Зиновий перехватывает этот ключ, а вместо него отсылает Борису свой собственный открытый ключ.

2. Борис посылает Антону свой открытый ключ. Зиновий перехватывает лог ключ, а вместо него отсылает Антону свой собственный открытый ключ.

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

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

Даже если в процессе обмена сообщениями Антон и Борис не передают свои открытые ключи по каналам связи, а просто извлекают их из базы данных, Зиновий может оказаться в состоянии перехватывать запросы в эту базу данных и подменять открытые ключи Антона и Бориса своими собственными. А еще Зиновий может проникнуть в базу данных, где хранятся открытые ключи Антона и Бориса, заменить их на свои собственные, а затем преспокойно дожидаться, пока Антон и Борис не захотят обменяться сообщениями.

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

Блокировочный протокол

Блокировочный протокол, изобретенный американскими криптологами Р. Райвестом и А. Шамиром, позволяет существенно осложнить жизнь Зиновию и ему подобным личностям:

1. Антон посылает Борису свой открытый ключ.

2. Борис посылает Антону свой открытый ключ.

3. Антон зашифровывает свое сообщение и отсылает половину этого сообщения Борису.

4. Борис зашифровывает свое сообщение и отсылает половину этого сообщения Антону.

5. Антон отсылает вторую половину своего сообщения Борису.

6. Борис расшифровывает сообщение Антона с помощью своего тайного ключа. Борис отсылает вторую половину своего сообщения Антону.

7. Антон расшифровывает сообщение Бориса с помощью своего тайного ключа.

Необходимо, чтобы одну часть сообщения, посланного Антоном или Борисом, нельзя было прочитать, не имея на руках другой его части. Тогда Борис не сможет прочитать сообщение Антона до тех пор, пока не дойдет до шага 6 блокировочного протокола, а Борис не сможет ознакомиться с сообщением Антона до шага 7. Существует несколько способов добиться этого:

если для шифрования используется блочный криптографический алгоритм, то первую часть отсылаемого сообщения можно, например, составить из первых половин блоков шифртекста, а вторую — из вторых;
расшифрование сообщения можно поставить в зависимость от случайного битового вектора, который отсылается вместе со второй частью сообщения;
первая часть сообщения представляет собой хэш-значение, полученное для шифртекста этого сообщения, а вторая часть содержит собственно сам шифртекст.
На шаге 1 блокировочного протокола Зиновий по-прежнему может подставить свой собственный открытый ключ вместо открытого ключа Антона. Однако теперь на шаге 3 Зиновий будет не в состоянии дешифровать перехваченное сообщение Антона и зашифровать его заново при помощи открытого ключа Бориса. Зиновию непременно придется придумать свое собственное сообщение (случайный битовый вектор или хэш-значение) и послан, его половину Борису. То же самое касается и сообщения Бориса Антону. которое Зиновий перехватит на шаге 4 блокировочного протокола. А после того как Зиновий получит в свое распоряжение вторые половины подлинных сообщений Антона и Бориса, будет уже слишком поздно изменить придуманные им ранее фальшивые сообщения, которые он уже отослал от их имени. Следовательно, Зиновию придется дать волю своей фантазии и продолжить вести всю переписку от имени Антона и Бориса.

Конечно, может случиться так, что, у Зиновия очень живое воображение и что, он весьма близко знаком с Антоном и Борисом. В результате они никогда не заподозрят, что на самом деле общаются не друг с другом, а с Зиновием. Однако в любом случае Зиновию будет значительно труднее, чем тогда, когда Антон и Борис используют обычный, а не блокировочный протокол.

Протокол обмена ключами с цифровой подписью

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

В результате Зиновию придется весьма несладко. Он не сможет выдать себя за Антона или Бориса, поскольку не знает их тайных ключей. Зиновий будет лишен возможности подменить открытые ключи Антона и Бориса на свои собственные, поскольку в его распоряжении есть только сеансовые ключи с подписью Дмитрия, удостоверяющей их принадлежность Зиновию.

Зиновию остается только перехватывать шифрованные сообщения, которыми обмениваются Антон и Борис, и пытаться их читать с помощью криптоаналитических методов.

Однако следует отметить, что в протоколе обмена сеансовыми ключами с цифровой подписью появился новый участник — Дмитрий. Если Зиновий сумеет перевоплотиться в Дмитрия, он сможет подписывать и навязывать участникам протокола известные ему фальшивые сеансовые ключи. Таким образом, несмотря ни на что, у Зиновия все же остается возможность атаковать этот протокол, воспользовавшись методом сведения к середине.

Одновременная передача ключа и сообщения

Антон и Борис совершенно необязательно передают друг другу сеансовые ключи перед тем, как приступить к обмену сообщениями. Вместо этого они могут воспользоваться следующим протоколом:

1. Антон генерирует случайный сеансовый ключ Кис помощью него зашифровывает сообщение М, получая в результате Е К (М).

2. Антон извлекает открытый ключ Бориса В из базы данных.

3. Антон шифрует сеансовый ключ К при помощи В, получая в результате Е В (К) .

4. Антон посылает Борису Е к (М) и Е в (К).

5. Борис расшифровывает сеансовый ключ К с помощью своего тайного ключа.

6. Борис расшифровывает сообщение Антона на сеансовом ключе К.

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

Множественная рассылка ключей и сообщений

Почему бы Антону не послать шифрованное сообщение сразу нескольким адресатам? Он может сделать это, например так:

1. Антон генерирует случайный сеансовый ключ Кис его помощью зашифровывает сообщение М, получая в результате Е К (М).

2. Антон извлекает открытые ключи Бориса, Владимира и Георгия из базы данных.

3. Антон шифрует К при помощи открытых ключей Бориса, Владимира и Георгия, получая в результате Е Б (К), Е в (К)и Е г (К).

4. Антон, посылает шифрованное сообщение Е к (М), а также многократно зашифрованный сеансовый ключ (E Б (K), Е в (К)и Е Г (К)) всем, кто пожелает их получить.

5. Только Борис, Владимир и Георгий смогут расшифровать сеансовый ключ К при помощи своих тайных ключей.

6. Только Борис, Владимир и Георгий смогут прочесть шифрованное сообщение Антона с помощью сеансового ключа К.

НІКОЛЯ Дата: Ср, 25.11.2009, 11:14 | Повідомлення № 8
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Депонирование ключей

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

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

В самом общем случае Стандарт шифрования данных с депонированием ключа реализуется с помощью следующего криптографического протокола:

1. Антон генерирует пару ключей, состоящую из открытого и тайного ключа, и делит их на n частей.

2. Антон посылает каждую часть тайного ключа и соответствующую ей часть открытого ключа отдельному доверенному лицу.

3. Каждое доверенное лицо проверяет полученные от Антона части открытого и тайного ключа и помещает их на хранение в надежное место.

4. Если правоохранительные органы добиваются разрешения ознакомиться с перепиской Антона, они обращаются к его доверенным лицам и реконструируют соответствующий тайный ключ.

Существуют различные варианты протокола шифрования данных с депонированием ключа. Например, в него можно встроить пороговую схему, чтобы для восстановления тайного ключа нужно было собрать не все n , а лишь не менее m (m<n) частей этого ключа, распределенных Антоном среди своих доверенных лиц. Кроме того, протокол шифрования данных с депонированием ключа можно дополнить действиями, позаимствованными из протокола с неосознанной передачей информации, чтобы доверенные лица не знали, чей конкретно ключ они реконструируют в данный момент по просьбе правоохранительных органов.

Депонирование ключей и политика

После заявления американского правительства о планах внедрения Стандарта шифрования данных с депонированием ключа вокруг крошечной кремниевой пластинки по имени Clipper разразился политический конфликт такой силы, что в печати ее вскоре окрестили "Боснией телекоммуникаций". В непримиримой схватке лицом к лицу сошлись защитники национальном безопасности США и поборники гражданских свобод вместе с поставщиками информационных технологий.

Правительственные агентства США, особенно АНБ, убеждали законодателей в том, что если использование стойких криптосистем станет повсеместным, это даст возможность преступникам и враждебно настроенным странам мешать расследованию их противоправной деятельности. Сторонники депонирования ключей резонно напоминали о том, что успехи криптоаналитических спецслужб англо-американских союзников в значительной мере способствовали достижению победы во второй мировой войне. Важная роль. которую криптоанализ играл в обеспечении безопасности страны, была впоследствии подтверждена и американским послевоенным законодательством. установившим контроль над экспортом шифраторов по тем же правилам, которые действовали в отношении поставок военного снаряжения. Примеру США последовали все государства, производящие коммерческие программы шифрования, причем некоторые из них (Израиль, Россия и Франция) также стали осуществлять контроль над импортом шифровальных средств и их использованием внутри страны.

Кроме того, в ходе "холодной" войны АНБ неуклонно повышало свой шпионский потенциал. Соответственно росло его влияние на политическую жизнь страны. К началу 90-х годов АНБ превратилось в монстра, внушавшего американским политикам и законодателям благоговейный страх. Для них мнение руководства АНБ было намного весомее возражений его оппонентов. А директор АНБ и его помощники неустанно твердили о том. что недоверие к Стандарту шифрования данных с депонированием ключей вызвано, главным образом, его незнанием. И в этом была доля правды, поскольку значительная часть проекта с самого начала хранилась в строгой тайне, включая сам алгоритм под условным названием Skipjack (Попрыгунчик), используемый для шифрования сообщений.

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

Сказано круто. Однако несмотря на их экстремизм, борцов за гражданские права поддержали американские бизнесмены, для которых повсеместное внедрение депонирования ключей представлялось слишком сильнодействующим лекарством против преступности и терроризма. Ведь в качестве побочного эффекта оно было способно серьезно задержать развитие американской информационной инфраструктуры. Стандарт шифрования, базирующийся на секретной технологии и обеспечивающий американцам возможность доступа к каналам связи, которые этот стандарт предназначен защищать, вряд ли может рассчитывать на принятие за пределами США. Для сохранения ведущей позиции США на мировом рынке требуются разработка и поддержка общедоступных стандартов защиты информации, которые и равной мере обеспечивают интересы всех без исключения сторон.

Много неясностей было связано с системой передачи ключей на .хранение. Управляющие банками, компьютерными фирмами и представители других отраслей почти в один голос заявили, что покуда ключи находятся у правительства, игра ведется не по правилам. Некоторые из них даже предложили отдавать ключи в руки неправительственных организаций, как это делается. например, в Австралии и Канаде.

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

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

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

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

Таким образом, в конкурентную борьбу за право хранить у себя резервные копии ключей к чужим шифрам вступили правительство, частные фирмы. банки. Кто из них станет победителем в этом соревновании, — пока неясно. Вероятно, будет найден какой-то компромиссный вариант, который удовлетворит все соревнующиеся стороны.

НІКОЛЯ Дата: Ср, 25.11.2009, 11:17 | Повідомлення № 9
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Парольные взломщики

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

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

Что такое парольный взломщик

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

Гораздо более эффективным является другой метод взлома парольной защиты операционной системы, при котором атаке подвергается системный файл, содержащий информацию о ее легальных пользователях и их паролях. Однако любая современная операционная система надежно защищает при помощи шифрования пользовательские пароли, которые хранятся в этом файле. Доступ к таким файлам, как правило, по умолчанию запрещен даже для системных администраторов, не говоря уже о рядовых пользователях. Тем не менее, в ряде случаев злоумышленнику удается путем различных ухищрений получить в свое распоряжение файл с именами пользователей и их зашифрованными паролями. И тогда ему на помощь приходят так называемые парольные взломщики — специализированные программы, которые служат для взлома паролей операционных систем.

Как работает парольный взломщик

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

где N — число символов в наборе, L — предельная длина пароля, S — количество проверок в секунду (зависит от операционной системы и быстродействия компьютера, на котором производится взлом ее парольной защиты).

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

Для каждого слова из словаря парольный взломщик использует одно или несколько правил. В соответствии с этими правилами слово изменяется и порождает дополнительное множество опробуемых паролей. Производится попеременное изменение буквенного регистра, в котором набрано слово, порядок следования букв в слове меняется на обратный, в начало и в конец каждого слова приписывается цифра 1, некоторые буквы заменяются на близкие по начертанию цифры (в результате, например, из слова password получается pa55wOrd). Это повышает вероятность подбора пароля, поскольку в современных операционных системах, как правило, различаются пароли, набранные г заглавными и строчными буквами, а пользователям этих систем настоятельно рекомендуется выбирать пароли, в которых буквы чередуются с цифрами.

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

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

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

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

НІКОЛЯ Дата: Ср, 25.11.2009, 11:21 | Повідомлення № 10
Знавець вірусів
Повідомлень: 2877
Нагороди: 17
Рейтинг: 201
Аппаратное и программное шифрование

Аппаратное шифрование

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

Более высокая скорость. Криптографические алгоритмы состоят из огромного числа сложных операций, выполняемых над битами открытого текста. Современные универсальные компьютеры плохо приспособлены для эффективного выполнения этих операций. Специализированное оборудование умеет делать их гораздо быстрее.
Аппаратуру легче физически защитить от проникновения извне. Программа. выполняемая на персональном компьютере, практически беззащитна. Вооружившись отладчиком, злоумышленник может внести в нее скрытые изменения, чтобы понизить стойкость используемого криптографического алгоритма, и никто ничего не заметит. Что же касается аппаратуры, то она обычно помещается в особые контейнеры, которые делают невозможным изменение схемы ее функционирования. Чип покрывается специальным химическим составом, и в результате любая попытка преодолеть защитный слой этого чипа приводит к самоуничтожению его внутренней логической структуры. И хотя иногда электромагнитное излучение может служить хорошим источником информации о том, что происходит внутри микросхемы, от этого излучения легко избавиться, заэкранировав микросхему. Аналогичным образом можно заэкранировать и компьютер, однако сделать это гораздо сложнее, чем миниатюрную микросхему.
Аппаратура шифрования более проста в установке. Очень часто шифрование требуется там, где дополнительное компьютерное оборудование является совершенно излишним. Телефоны, факсимильные аппараты и модемы значительно дешевле оборудовать устройствами аппаратного шифрования, чем встраивать в них микрокомпьютеры с соответствующим программным обеспечением.
Даже в компьютерах установка специализированного шифровального оборудования создает меньше проблем, чем модернизация системного программного обеспечения с целью добавления в него функций шифрования данных. В идеале шифрование должно осуществляться незаметно для пользователя. Чтобы добиться этого при помощи программных средств, средства шифрования должны быть упрятаны глубоко в недра операционной системы. С готовой и отлаженной операционной системой проделать это безболезненно не так-то просто. Но даже любой непрофессионал сможет подсоединить шифровальный блок к персональному компьютеру, с одной стороны, и к внешнему модему, с другой.

Современный рынок аппаратных средств шифрования информации предлагает потенциальным покупателям 3 разновидности таких средств — самодостаточные шифровальные модули (они самостоятельно выполняют всю работу с ключами), блоки шифрования в каналах связи и шифровальные платы расширения для установки в персональные компьютеры. Большинство устройств первого и второго типов являются узко специализированными. и поэтому прежде, чем принимать окончательное решение об их приобретении, необходимо досконально изучить ограничения, которые при установке накладывают эти устройства на соответствующее "железо", операционные системы и прикладное программное обеспечение. А иначе можно выбросить деньги на ветер, ни на йоту не приблизившись к желанной цели. Правда, иногда выбор облегчается тем, что некоторые компании торгуют коммуникационным оборудованием, которое уже имеет предустановленную аппаратуру шифрования данных.

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

Программное шифрование

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

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

Конечно, злоумышленник может добраться до компьютера и незаметно внести нежелательные изменения в программу шифрования. Однако основная проблема состоит отнюдь не в этом. Если злоумышленник в состоянии проникнуть в помещение, где установлен компьютер, он вряд ли будет возиться с программой, а просто установит скрытую камеру в стене, подслушивающее устройство — в телефон или датчик для ретрансляции электромагнитного излучения — в компьютер. В конце концов, если злоумышленник может беспрепятственно все это сделать, сражение с ним проиграно, даже еще не начавшись.

Форум інформатиків » РОЗДІЛ ІХ: ІНТЕРНЕТ, МЕРЕЖІ, ХОСТІНГ » 9.8 Рубрика системного адміністратора » Криптографические протоколы. (Безопасность сети.)
Сторінка 1 з 11
Пошук:


© Форум інформатиків України, 2007-2017.