- •Содержание
- •3. Проблемы защиты информации. Часть 2. 25
- •12. Электронная почта 218
- •13. Электронная цифровая подпись 231
- •14. Компьютерная стеганография 244
- •1. Современное состояние информационной безопасности
- •2. Проблемы защиты информации. Часть 1.
- •3. Проблемы защиты информации. Часть 2.
- •4. Основные пути обеспечения безопасности информации
- •5. Правила организации защиты информации
- •6. Определение степени защищенности сети
- •7. Методы и средства защиты информации от нсд
- •8. Методы и средства защиты информации от вредоносного программного обеспечения
- •9. Методы и средства защиты информации от удаленных атак
- •10. Ведение в криптографические методы защиты информации
- •11. Организация криптографической защиты информации
- •12. Электронная почта
- •13. Электронная цифровая подпись
- •14. Компьютерная стеганография
- •Литература
10. Ведение в криптографические методы защиты информации
Криптографические методы традиционно используются для шифрования конфиденциальной информации, представленной в любой материальной форме в виде:
– письменных текстов;
– данных, хранящихся на гибком диске;
– сообщений, передаваемых в телекоммуникационных сетях;
– программного обеспечения, графики или речи, закодированных цифровыми последовательностями и т.п.
Эти методы могут быть использованы и для многих других приложений, связанных с защитой информации, в частности, для обнаружения фактов вторжения в телекоммуникационную или компьютерную сеть и введения в нее имитирующих сообщений. В настоящее время криптографическое преобразование информации в форму, непонятную для посторонних, является универсальным и надежным способом ее защиты.
Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. Поэтому сделаем небольшой экскурс в историю. Рассмотрим лишь небольшой отрезок времени и посмотрим, что и как шифровали раньше.
История применения криптографических методов насчитывает десятки веков. Упоминания о криптографии (от греч. kryptos — скрытый, тайный) встречаются еще у Геродота и Плутарха, а также в русских рукописях XII—XIII веков. Но криптография появилась гораздо раньше — она ровесница истории человеческого языка.
Одной из важнейших способностей человека является умение общаться с себе подобными. Изначально для передачи сведений о том, что происходит в окружающем мире, о фактах своей субъективной реальности, человек использовал жесты и мимику.
Язык тайной передачи сообщений жестами активно используется и в наши дни представителями некоторых криминальных «специальностей», например, шулеров. Во время «работы» пара шулеров ведет весьма оживленную беседу, незаметную для непосвященных и понятную только наметанному глазу профессионала.
Тема передачи сообщений посредством условных знаков или жестов активно используется писателями и сценаристами приключенческого жанра. Вспомните фильмы и книги о войне: цветок на окне, поднятая или опущенная занавеска, объявление с условной фразой в газете, выбор цветов во время покупки их у цветочника-связника и т.д.
С развитием речи — второй сигнальной системы человека, которая по праву считается одним из важнейших отличительных признаков ";" качественно выделяющих человечество из животного мира, — информационный обмен между членами даже самого дикого племени многократно усложнился. Люди стали разговаривать с кем-то больше, с кем-то меньше, ведь коммуникация в человеческом обществе имеет еще один отличительный признак — она узко избирательна. Разговаривая с разными людьми, мы ведем себя совершенно по-разному: то, что сообщаем одним, стараемся скрыть от других.
Как видим, уже с самого зарождения человеческой цивилизации люди научились сообщать информацию так, чтобы она стала известна одним людям и не была известна другим. Пока для передачи сообщений использовались исключительно голос и жесты, сделать это не составляло особого труда: нужно было всего лишь исключить присутствие в непосредственной близости от разговаривающих тех людей, для которых сообщаемые сведения не были предназначены. Однако иногда собеседники не могли скрыться от посторонних ушей и глаз. Для обмена информацией в подобных обстоятельствах была создана (а точнее, сложилась сама собой) система сообщений, кодированных речью или жестами. В различных ситуациях она носила совершенно различный характер — от отдельного тайного знака, говорящего о наступлении определенного события, до развитых секретных языков, позволявших выражать практически любые мысли. Даже в самом простейшем случае это была, по сути своей, вторая сигнальная система в миниатюре, предназначенная для передачи ограниченного набора сведений и известная, как правило, лишь небольшой группе посвященных. Это был альтернативный язык общения, который и положил начало развившемуся позже искусству секретно передавать сообщения.
Конечно же, использование развитого «секретного» языка для защиты передаваемых данных обеспечивает гораздо большую свободу общения, чем несколько тайных знаков, о которых участники договорились заранее, однако и этот путь имеет свои недостатки. Трудно уследить за всеми, знающими «секретный» язык, и рано или поздно он станет понятным тому, от кого пытаются скрыть разговор. В этом случае возникнет необходимость заменить его другим. Но разработать достаточно мощный язык и обучить ему нужное количество людей трудно и накладно, а сделать это оперативно — практически невозможно. Поэтому подобный подход к проблеме проходит только в | особых случаях, когда тому благоприятствуют обстоятельства. Так, он использовался американцами во время второй мировой войны: корабли ВМФ США осуществляли связь на языке малочисленного и компактно проживающего индейского племени. На каждом корабле было несколько индейцев-шифровальщиков; у противника не было' почти никаких шансов заполучить себе такую «ходячую шифровальную машину».
С развитием письменности задача обеспечения секретности и подлинности передаваемых сообщений стала особенно актуальной. Действительно, сообщение, переданное словесно или показанное жестами, доступно для постороннего только в тот краткий промежуток времени, пока оно находилось «в пути», а в его авторстве и подлинности у получателя не может быть никаких сомнений, потому что он видит своего собеседника. Иное дело, когда сообщение записано. В этом случае оно уже живет отдельной жизнью и имеет свой путь. Сообщение, записанное на каком-либо носителе, существует в материальном мире, и у людей, желающих ознакомиться с его содержанием против воли отправителя и получателя, появляется гораздо больше шансов это сделать. Поэтому именно после возникновения письменности появилось искусство тайнописи — набор методов, предназначенных для секретной передачи записанных сообщений от одного человека другому.
Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Тому примеры — священные книги Древнего Египта, Древней Индии. Историки хорошо знают, что уникальные древние рукописные тексты, как правило, допускают неоднозначные трактовки, а часто и вообще не могут быть разумно интерпретированы современными учеными. И только массовые тиражи идентичных печатных текстов более поздних времен позволяют им достоверно говорить об однозначном восстановлении смысла информации, закодированной в этих текстах. Посмотрите на детские рисунки. Они тоже могут содержать некоторый текст (рис. 4.1).
С широким распространением письменности криптография стала формироваться как самостоятельная наука. Данные о первых способах тайнописи весьма обрывочны. Предполагается, что она была известна в Древнем Египте и Вавилоне. До нашего времени дошли сведения о том, что искусство секретного письма использовалось в Древней Греции. Первые действительно достоверные данные с описанием метода шифрования относятся к периоду смены старой и новой эры и описывают шифр Цезаря — способ, которым Юлий Цезарь прятал свои записи от излишне любопытных глаз. С высоты достижений современной криптографии шифр Цезаря предельно примитивен: в нем каждая буква сообщения заменялась на третью следующую за ней в алфавитном порядке букву. Однако для того времени, когда умение читать и писать было редким исключением, его криптостойкости вполне хватало.
Уже тогда использование шифра решало проблему секретности передаваемого сообщения, а проблема его подлинности решалась практически сама собой:
– человек, не знавший шифр, не мог внести осмысленные изменения в зашифрованные текстовые сообщения, а изменения, внесенные наобум, приводили к тому, что после расшифровки получался бессмысленный набор букв;
– поскольку отправляемые сообщения записывали от руки, то запомнить почерк каждого из нескольких десятков наиболее важных своих корреспондентов не составляло особого труда.
Но проходили годы, и переписка, как средство общения, стала неотъемлемой частью процесса передачи информации. Чем оживленнее велась переписка в обществе, тем больше ощущалась потребность в средствах ее засекречивания. Соответственно, возникали все более совершенные и хитроумные шифры. Сначала появились шифровальщики, потом группы из нескольких шифровальщиков, а затем и целые шифровальные отделы. Когда объемы подлежащей закрытию информации, стали критическими, были созданы механические устройства для шифрования. Основными потребителями криптографических услуг стали дипломатические и шпионские миссии, тайные канцелярии правителей и штабы войсковых соединений. Для этого этапа развития криптографии характерно следующее:
– защите подвергались исключительно текстовые сообщения, написанные на естественных языках (других типов данных в то время просто не существовало);
– использовавшиеся шифры были достаточно простыми (шифрование сначала осуществлялось вручную, позднее были изобретены сравнительно несложные механические приспособления);
– научный подход к построению шифров и их раскрытию отсутствовал (криптография и криптоанализ были скорее искусством, чем наукой);
– криптографию использовали только высшие правящие слои и военная верхушка государств;
– основной задачей криптографии являлась защита передаваемых сообщений от несанкционированного ознакомления (поскольку шифровали исключительно текстовые сообщения, то никаких дополнительных методов защиты от навязывания ложных данных не применялось, т. к. в силу огромной избыточности, характерной для естественных языков, была ничтожно мала вероятность получить нечто осмысленное после расшифровки искаженного зашифрованного текста).
Особенно бурно криптографические системы развивались в годы первой и второй мировых войн. Благодаря вычислительным средствам ускорились разработка и совершенствование криптографических методов. Именно появление в середине прошлого столетия первых электронно-вычислительных машин кардинально изменило ситуацию.
С проникновением компьютеров в различные сферы жизни возникла принципиально новая отрасль — информационная индустрия. Объем циркулирующей в обществе информации примерно удваивается каждые пять лет. Человечество создало информационную цивилизацию, в которой от успешной работы средств обработки информации зависит само благополучие и даже выживание человечества в его нынешнем качестве. Произошедшие за этот период изменения можно охарактеризовать следующим образом:
– объемы обрабатываемой информации возросли за последние полвека на несколько порядков;
– информация приобрела стоимость, которую во многих случаях даже невозможно подсчитать;
– доступ к определенным данным позволяет контролировать значительные материальные и финансовые ценности;
– обрабатываемые данные стали чрезвычайно многообразными, а не исключительно текстовыми;
– информация полностью «обезличилась», т. е. особенности ее материального представления потеряли свое значение;
– характер информационных взаимодействий чрезвычайно усложнился (наряду с классической задачей защиты передаваемых текстовых сообщений от несанкционированного прочтения и их искажения возникли новые задачи защиты информации, ранее стоявшие и решавшиеся в рамках используемых «бумажных» технологий);
– субъектами информационных процессов теперь являются не только люди, но и созданные ими автоматические системы, действующие по заложенной в них программе;
– вычислительные возможности современных компьютеров подняли на совершенно новый уровень как возможности по реализации шифров, ранее немыслимых из-за своей сложности, так и возможности аналитиков по их взлому.
С появлением компьютеров и использованием для связи компьютерных сетей шифрование данных стало более изощренным и актуальным. Благодаря созданию новых мощных компьютеров, технологий сетевых и нейронных вычислений стало возможно «взломать» криптографические системы, до недавнего времени считавшиеся практически нераскрываемыми. Вместе с тем расширилось использование компьютерных сетей, в частности, глобальной сети Internet, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, доступ к которой для посторонних лиц недопустим. Все это привело к тому, что очень быстро практическая криптография в деловой сфере сделала огромный скачок в развитии, причем сразу по нескольким направлениям:
– разработаны стойкие блочные шифры с секретным ключом, предназначенные для решения классической задачи — обеспечения секретности и целостности передаваемых или хранимых данных;
– созданы методы решения новых, нетрадиционных задач защиты информации, наиболее известными из которых являются задачи цифровой подписи документа и открытого распределения ключей.
Современные криптографические системы позволяют шифровать сообщения так, что на их раскрытие могут понадобиться десятки или даже сотни лет непрерывной работы.
В настоящее время используются различные компьютерные криптоалгоритмы и программы для шифрования данных, наиболее известны из них DES, RS A, PGP, ГОСТ 28147—89.
Кодирование и шифрование — основные методы криптографической защиты. Наряду с ними к криптографическим методам относят методы рассечения (разнесения) и сжатия (расширения) информации.
Рассечение (разнесение) информации заключается в том, что массив защищенных данных делится на части, каждая из которых в отдельности не позволяет раскрыть содержание защищаемой информации. Эти фрагменты можно передавать по нескольким источникам, разносить по времени и по месту записи на дискете или любом другом запоминающем устройстве.
Сжатие (расширение) информации представляет собой замену часто встречающихся одинаковых последовательностей символов некоторыми заранее выбранными символами или же подмешивание дополнительной информации.
Основные положения и определения криптографии
Очень часто через известную всем сеть Internet передается Достаточно важная конфиденциальная информация. Потеря, подделка такой информации или несанкционированный доступ к ней может привести к самым серьезным последствиям. Популярный рекламный слоган «Интернет доступен всем» говорит о многом, и, к сожалению, не только о хорошем. Ясно, что доступность этого ресурса именно всем и влечет за собой определенную опасность для всех. Действительно, открытость и прозрачность устройства сети является одним из необходимых условий ее роста и распространения. Однако глобальная сеть объединяет в настоящее время людей с самыми разными интересами и наклонностями. Пользователями сети являются не только люди с кристально чистыми намерениями, но и те, кто использует информацию в корыстных целях, т. е. лица, которые хотят и, главное, могут это сделать, используя достаточно много существующих точек в сети, где информация может быть перехвачена или сфальсифицирована.
Мы живем в эпоху господства информационных технологий, когда обладание информацией является определяющей силой. И эта информация нуждается сегодня в серьезной защите.
Проблемой защиты информации путем ее преобразования занимается криптология (kryptos — тайный, logos — сообщение). Она имеет два направления: криптографию и криптоанализ. Цели этих направлений прямо противоположны.
Криптография занимается поиском, исследованием и разработкой математических методов преобразования информации, основой которых является шифрование.
Сфера интересов криптоанализа — исследование возможности расшифровки информации.
Для людей, не занимающихся вплотную проблемами информационной безопасности, криптография кажется сложным и непонятным делом, связанным с шифрами, кодами и секретными сообщениями. Действительно, ее практическая реализация требует достаточно серьезных знаний. Используя более общее определение, можно сказать, что криптография — это наука об обеспечении безопасности данных. В основе криптографической защиты информации лежит ее шифрование, проще говоря, преобразование данных к такому виду, что они становятся нечитабельными для тех, для кого не предназначены. Чтобы обеспечить нечитабельность для одних и доступность информации для других, необходимо соблюдать 4 основные правила обеспечения безопасности:
– конфиденциальность;
– аутентификацию;
– целостность;
– контроль участников взаимодействия.
С конфиденциальностью и аутентификацией все ясно: не зная ключа, сообщение прочитать весьма затруднительно. То есть, управляя раздачей ключей, вы управляете и доступом к информации.
Для контроля целостности используется построение так называемого дайджеста сообщения или электронной подписи. При построении этой подписи используетсяспециальная функция, схожая с известной функцией CRC (Control Cyclic Code). Результаты работы этой функции шифруются. Получателю остается только выполнить эту функцию для принятого сообщения и сравнить результат с расшифрованным.
– Современная криптография изучает и развивает 4 основные направления:
– симметричные криптосистемы (с секретным ключом);
– несимметричные криптосистемы (с открытым ключом);
– системы электронной подписи;
– системы управления ключами.
Расширение практического применения криптографии в сетях, а также появление современных криптографических методов привело к необходимости введения понятий, определений и собственного математического аппарата в этой области.
Термин «криптография» далеко ушел от своего первоначального значения — «тайнопись, тайное письмо». Сегодня эта дисциплина объединяет методы защиты информационных взаимодействий совершенно различного характера, опирающихся на преобразование данных по секретным алгоритмам, включая и алгоритмы, использующие секретные параметры.
Основные направления использования криптографических методов — это передача конфиденциальной информации по каналам связи (например, электронная почта), установление подлинности передаваемых сообщений, хранение информации (документов, баз данных) на носителях в зашифрованном виде.
Современные криптографические системы обеспечивают высокую стойкость зашифрованных данных за счет поддержания режима секретности криптографического ключа. Однако на практике любой шифр, используемый в той или другой криптосистеме, поддается раскрытию с определенной трудоемкостью. В связи с этим возникает необходимость оценки криптостойкости применяемых шифров в алгоритмах криптопреобразования.
Обеспечение аутентичности, целостности и неоспоримости информации
Помогая сохранить содержание сообщения в тайне, криптографию можно использовать для обеспечения:
– аутентификации;
– целостности;
– неоспоримости.
При аутентификации получателю сообщения требуется убедиться, что оно исходит от конкретного отправителя. Злоумышленник не может прислать фальшивое сообщение от чьего-либо имени.
При определении целостности получатель сообщения в состоянии проверить, были ли внесены какие-нибудь изменения в полученное сообщение во время его передачи. Злоумышленнику не позволено заменить настоящее сообщение на фальшивое.
Неоспоримость необходима для того, чтобы отправитель сообщения не смог впоследствии отрицать, что он является автором этого сообщения.
Перечисленные задачи часто приходится решать на практике для организации обмена информацией при помощи компьютеров и компьютерных сетей. Подобные же задачи возникают и в случае личностного человеческого общения: часто требуется проверить, а действительно ли ваш собеседник тот, за кого он себя выдает, и подлинны ли предъявленные им документы, будь то паспорт, водительское удостоверение или страховой полис. Вот почему в обыденной жизни не обойтись без аутентификации, проверки целостности и доказательства неоспоримости, а значит, и без криптографии.
Эффективность аутентификации определяется, прежде всего, отличительными особенностями каждого пользователя. В качестве таковых часто применяются пароли. Однако пользователи, как правило, стараются создавать легко запоминающиеся пароли, а значит, и легкие для их угадывания или подбора. С другой стороны, сложные пароли приходится записывать (например, на листке настольного календаря). Решение данной проблемы возможно закрытием выбранных паролей криптографическими методами. В настоящее время аутентификация, осуществляемая пользователем, обеспечивается с помощью:
– смарт-карт;
– средств биометрии;
– клавиатуры компьютера;
– криптографии с уникальными ключами для каждого пользователя.
Целостность информации обеспечивается с помощью криптографических контрольных сумм и механизмов управления доступом и привилегий. В качестве криптографической контрольной суммы для обнаружения преднамеренной или случайной модификации данных используется код аутентификации сообщения — MAC (Message Autentification Code). Принцип обнаружения модификации данных в этом случае состоит в следующем. С помощью криптографического алгоритма и секретного ключа на основании содержания файла вычитается начальное значение MAC, которое хранится в запоминающем устройстве. Если необходимо проверить целостность файла, производится повторный расчет MAC с использованием того же секретного ключа. В случае совпадения начального и повторного значений MAC принимают решение об отсутствии модификации файла.
Кроме того, для обнаружения несанкционированных изменений в передаваемых сообщениях можно применить:
– электронно-цифровую подпись (ЭЦП), основанную на криптографии с.открытым и секретными ключами;
– программы обнаружения вирусов;
– назначение соответствующих прав пользователям для управления доступом;
– точное выполнение принятого механизма привилегий.
Неоспоримость получаемого сообщения подтверждается широко используемой электронно-цифровой подписью.
Шифрование в компьютерной сети
Поскольку высок уровень компьютерных преступлений, связанных с несанкционированным доступом к информации в сетях различного масштаба, существует необходимость создавать определенные механизмы защиты сетей. Практика показала, что единственно надежным механизмом защиты информации в сетевых каналах связи является ее шифрование, а значит, использование криптографического преобразования конфиденциальных данных. При этом обеспечение защиты информации указанным методом не должно нарушать работу сети в реальном масштабе времени, что возможно при выполнении шифрования со скоростью до 1 Гбит/с и выше.
Рассмотрим особенности шифрования в компьютерных сетях более подробно.
Виды шифрования в сетевых каналах связи
Одной из отличительных характеристик любой компьютерной сети является ее деление на так называемые уровни, каждый из которых отвечает за соблюдение опрёделенных условий и выполнение функций, необходимых для общений между компьютерами, связанными в сеть. Это деление на уровни имеет фундаментальное значение для создания стандартных компьютерных сетей. Поэтому в 1984 году несколько международных организаций и комитетов объединили свои усилия и выработали примерную модель компьютерной сети, известную под названием OSI (Open Systems Interconnection — Модель открытых сетевых соединений).
Согласно модели OSI, коммуникационные функции разнесены по уровням. Функции каждого уровня не зависят от функций ниже- и вышележащих уровней. Каждый уровень может непосредственно общаться только с двумя соседними. Модель OSI определяет 7 уровней: верхние 3 служат для связи с конечным пользователем, а 4 нижних ориентированы на выполнение коммуникационных функций в реальном масштабе времени (рис. 4.4).
Теоретически шифрование данных для передачи по каналам связи компьютерной сети может осуществляться на любом уровне модели OSI. На практике это обычно делается либо на самых нижних, либо на самых верхних уровнях. Если данные шифруются на нижних уровнях, шифрование называется канальным, а если на верхних, то такое шифрование называется сквозным. Оба этих подхода к шифрованию данных имеют свои преимущества и недостатки. Возможна комбинация указанных видов шифрования (рис. 4.5).
П
ри
канальном шифровании шифруются абсолютно
все данные, проходящие по каждому каналу
связи, включая открытый текст сообщения,
а также информацию о его маршрутизации
и об используемом коммуникационном
протоколе. Однако в этом случае любой
интеллектуальный сетевой узел (например,
коммутатор) будет вынужден
расшифровывать входящий поток данных,
чтобы соответствующим образом его
обработать, снова зашифровать и
передать на другой узел сети.
Тем не менее, канальное шифрование представляет собой очень эффективное средство защиты информации в компьютерных сетях. Поскольку шифрованию подлежат все данные, передаваемые от одного узла сети к другому, у криптоаналитика нет никакой дополнительной информации о том, кто служит источником этих данных, кому они предназначены, какова их структура и т. д. А если еще позаботиться и о том, чтобы, пока канал простаивает, передавать по нему случайную битовую последовательность, сторонний наблюдатель не сможет даже сказать, где начинается и где заканчивается текст передаваемого сообщения.
Не слишком сложной является и работа с ключами. Одинаковыми ключами следует снабдить только два соседних узла сети связи, которые затем могут менять используемые ключи независимо от других пар узлов.
Самый большой недостаток канального шифрования заключается в том, что данные приходится шифровать при передаче по каждому физическому каналу компьютерной сети. Отправка информации в незашифрованном виде по какому-то из каналов ставит под угрозу обеспечение безопасности всей сети. В результате стоимость реализации канального шифрования в больших сетях может оказаться чрезмерно высокой.
Кроме того, при использовании канального шифрования дополнительно потребуется защищать каждый узел компьютерной сети, по которому передаются данные. Если абоненты сети полностью доверяют друг другу, и каждый ее узел находится там, где он защищен от злоумышленников, на этот недостаток канального шифрования можно не обращать внимания. Однако на практике такое положение встречается чрезвычайно редко. Ведь в каждой фирме есть конфиденциальные данные, ознакомиться с которыми могут только сотрудники одного отдела, а за его пределами доступ к этим данным необходимо ограничивать до минимума.
При сквозном шифровании криптографический алгоритм реализуется на одном из верхних уровней модели OSI. Шифрованию подлежит только содержательная часть сообщения. По мере шифрования добавляется служебная информация, необходимая для маршрутизации сообщения, и результат переправляется на более низкие уровни для отправки адресату.
Передаваемое сообщение теперь не требуется постоянно шифровать и расшифровывать при его прохождении через каждый промежуточный узел сети. Оно остается зашифрованным на всем пути от отправителя к получателю.
Основная проблема, с которой сталкиваются пользователи сетей, где применяется сквозное шифрование, связана с тем, что служебная информация, используемая для маршрутизации сообщений, передается по сети в незашифрованном виде. Опытный криптоаналитик может извлечь для себя массу полезной информации, зная, кто с кем, как долго и в какие часы общается через компьютерную сеть. Для этого ему даже не потребуется быть в курсе предмета общения.
Сквозное шифрование по сравнению с канальным характеризуется более сложной работой с ключами, так как каждая пара пользователей компьютерной сети должна быть снабжена одинаковыми ключами, прежде чем они смогут связаться друг с другом. А поскольку криптографический алгоритм реализуется на верхних уровнях модели OSI, приходится также сталкиваться со многими существенными различиями в коммуникационных протоколах и интерфейсах в зависимости от типов сетей и объединяемых в сеть компьютеров. Все это затрудняет практическое применение сквозного шифрования.
Комбинация канального и сквозного шифрования данных в компьютерной сети обходится значительно дороже, чем каждое из них. Однако именно такой подход позволяет наилучшим образом защитить данные, передаваемые по сети. Шифрование в каждом канале связи не позволяет противнику анализировать служебную информацию, используемую для маршрутизации, а при сквозном шифровании уменьшается вероятность доступа к незашифрованным данным в узлах сети.
При комбинированном шифровании работа с ключами ведется следующим образом: сетевые администраторы отвечают за ключи, используемые при канальном шифровании, а о ключах, применяемых при сквозном шифровании, заботятся сами пользователи.
Общая характеристика современных стандартов шифрования
Очевидно, что в основе защиты информации лежит процесс шифрования. Лучшие умы человечества на протяжении всей истории занимались проблемами составления шифров. Главное, к чему все стремились, — это создать криптоустойчивые шифры. Разработанные шифры и соответствующие ключи в дальнейшем использовали в алгоритмах шифрования. Алгоритмов шифрования существует великое множество, мы рассмотрим лишь самые популярные из них, получившие статус стандартов. Это DES (Data Encryption Standard), RSA (алгоритм Rivest-Shamir-Adleman), POP, наш отечественный ГОСТ 28147-89 (который в иностранной литературе чаще называется просто GOST) и другие. Причем современные шифры — это не только собственно алгоритмы шифрования, а криптографические системы, где определены также возможные типы и параметры ключей, способы организации работы с ключами и зашифрованными сообщениями, правила определения подлинности и целостности сообщений и т. п. Основа каждого стандарта — определенные математические построения, знать которые не обязательно. Гораздо важнее знать особенности и область применения того или иного стандарта.
В основе любой криптографической системы лежат алгоритм шифрования, протокол взаимодействия участвующих сторон и процедура управления ключами.
Протокол — это последовательность шагов, которые предпринимают стороны для совместного решения задачи. Все шаги следуют в порядке строгой очередности, и ни один из них не может быть сделан прежде, чем закончится предыдущий. Кроме того, любой протокол подразумевает участие, по крайней мере, двух сторон. В одиночку можно, например, смешать и выпить коктейль, но к протоколу это не имеет никакого отношения. Поэтому придется угостить кого-нибудь сделанным коктейлем, чтобы его приготовление и дегустация стали настоящим протоколом. И наконец, протокол обязательно предназначен для достижения какой-то цели. Протоколы имеют и другие отличительные черты:
– каждый участник протокола должен быть заранее оповещен о шагах, которыеему предстоит предпринять;
– все участники протокола должны следовать его правилам добровольно, без принуждения;
– необходимо, чтобы протокол допускал только однозначное толкование, а его шаги были совершенно четко определены и не допускали возможности их неправильного понимания;
– протокол должен содержать описание реакции его участников на любые ситуации, возникающие в ходе реализации этого протокола, иными словами, недопустимым является положение, когда для возникшей ситуации протоколом не определено соответствующее действие.
Криптографическим протоколом называется такой, в основе которого лежит набор правил и процедур, определяющих использование криптоалгоритма и ключей шифрования. Однако целью криптографического протокола зачастую является не только сохранение информации в тайне от посторонних. Участники криптографического протокола могут быть близкими друзьями, у которых нет друг от друга секретов, а могут являться настолько непримиримыми врагами, что каждый из них отказывается сообщить другому, какое сегодня число. Тем не менее, им может понадобиться поставить подписи под совместным договором или удостоверить свою личность. В данном случае нужна криптография, чтобы предотвратить или обнаружить подслушивание посторонними лицами, не являющимися участниками протокола, а также не допустить мошенничества. Поэтому часто требуется, чтобы криптографический протокол обеспечивал следующее: его участники могут сделать или узнать больше того, что определено протоколом.
В повседневной жизни нам приходится сталкиваться с протоколами буквально на каждом шагу: играя в любые игры, делая покупки в магазине или голосуя на выборах. Многими протоколами нас научили пользоваться родители, школьные учителя и друзья. Остальные мы сумели узнать самостоятельно.
Теперь люди все чаще общаются при помощи компьютеров. Компьютеры же, в отличие от большинства людей, в школу не ходили, у них не было родителей, да и учиться самостоятельно они не в стоянии. Поэтому компьютеры приходится снабжать формализованными протоколами, чтобы они смогли делать то, что люди выполняют особо не задумываясь. Например, если в магазине не окажется кассового аппарата, вы все равно сможете купить в нем необходимую вещь. Однако такое кардинальное изменение протокола поставило бы бедный компьютер в полный тупик.
Большинство протоколов, которые люди используют при общении друг с другом с глазу на глаз, хорошо себя зарекомендовали только потому, что участники имеют возможность вступить в непосредственный контакт. Взаимодействие с другими людьми через компьютерную сеть, наоборот, подразумевает анонимность. Будете ли вы играть с незнакомцем в преферанс, видя» как он тасует колоду и раздает карты? Доверите ли вы свои деньги совершенно постороннему человеку, чтобы он купил вам что-нибудь в магазине? Пошлете ли вы свой бюллетень голосования по почте, зная, что с ним сможет ознакомиться любой из почтовых работников и потом рассказать всем о ваших нетрадиционных политических пристрастиях?
Глупо считать, что компьютерные пользователи ведут себя более честно. То же самое касается и сетевых администраторов, и проектировщиков компьютерных сетей. Большинство из них и в самом деле честные люди, однако есть и такие, кто может причинить большие неприятности. Поэтому так нужны криптографические протоколы, использование которых позволяет защититься от непорядочных людей.
Остановимся на рассмотрении характеристик стандартов шифрования, наиболее часто используемых в компьютерных системах.
Популярный алгоритм шифрования данных DES применяется правительством США как стандарт с 1977 года. Для шифрования алгоритм использует 64-битный ключ, блок данных из 64-и бит и 16-и проходов (циклов). Этот алгоритм достаточно быстр и эффективен. Однако в изначальном виде этот стандарт недостаточно криптоустойчив, т. к. прямые атаки с перебором ключей занимают, при сегодняшнем уровне технологий, разумный срок. Поэтому в настоящее время используются всевозможные его модификации, такие как 3-DES и каскадный 3-DES.
За счет внесения дополнительных изменений в алгоритм (таких, например, как введение дополнительных избыточных ключей или обратной связи) эти модификации стали гораздо более устойчивы к прямым атакам. Главным же недостатком этой системы является то, что она использует так называемые симметричные ключи: для шифрования и дешифрации сообщения используется один и тот же секретный ключ. Поэтому необходимым условием успешного использования этой системы является наличие секретного защищенного канала для передачи ключа. Если злоумышленник перехватит ключ для шифрования, то он легко может при помощи этого же ключа осуществить расшифровку секретного сообщения. Если же защищенный канал передачи существует, то вполне разумно тогда передать и само сообщение по этому же каналу, не прибегая к процедуре шифрования.
Государственный стандарт ГОСТ 28147-89 был утвержден в 1989 году как средство обеспечения безопасности, являющееся стандартом для государственных учреждений. Хотя он и не является основным криптосредством защищенных линий правительственной связи, однако, это единственный более-менее открытый стандарт такого рода для исследования и использования самым широким кругом людей. Несмотря на то что в России ГОСТ играл ту же роль, что и DES в США, этот стандарт стал употребляться и в других странах. Например, алгоритм шифрования популярного архиватора ARJ построен как раз на использовании алгоритмов ГОСТ.
ГОСТ очень схож с DES. В нем так же используются 64-битные блоки. Тем не менее, есть и ряд различий, например, в ГОСТ совершается 32 прохода вместо 16-и, ключ гораздо длиннее и состоит из 256 бит и т. д. В общем, среди специалистов принято считать, что он по своим характеристикам превосходит DES. Однако в настоящее время и его расшифровка лежит в пределах современных технологий. И точно так же ему присущи все недостатки алгоритмов, использующих симметричные ключи.
Сегодня популярен стандарт шифрования RSA. Во многом это произошло благодаря распространенности в Internet программы PGP (Pretty Good Privacy) Филиппа Зиммермана. RSA -это алгоритм несимметричного шифрования, стойкость которого зависит от сложности факторизации больших целых чисел. В настоящее время алгоритм взлома RSA не разработан математически, а за счет использования очень длинных ключей и некоторой медленности всего алгоритма перебор за разумное время попросту невозможен.
В несимметричных алгоритмах используются два разных ключа: один известен всем, а другой держится в тайне, Обычно для шифрования и расшифровки используются оба ключа. Но данные, зашифрованные одним ключом, можно расшифровать только с помощью другого ключа. Это обстоятельство делает RSA очень удобным для использования в электронной переписке. Открытый ключ делается общедоступным (его попросту можно вставлять в реквизиты вашего письма). Каждый может зашифровать сообщение и послать его вам. А расшифровать сообщение, даже зная открытый ключ, невозможно. Для этого надо знать второй, закрытый ключ, который есть только у отправителя. Однако и здесь существуют свои трудности:
– в случае утраты секретного ключа придется уведомлять всех владельцев открытой половины о смене ключей;
– трудно убедиться в подлинности присланного вам открытого ключа.
Кроме того, отправителя легко подделать. Для того чтобы убедиться в подлинности ключа, порой используют целую «цепочку доверия», где каждый последующий передающий на 100% уверен в подлинности ключа (вследствие давнего знакомства, близости расположения к отправителю или в силу других причин), подтверждает эту подлинность своей подписью и пересылает ключ дальше.
Однако следует разделять собственно алгоритм RSA и другие продукты лаборатории RSA Data Security. Например, существует еще алгоритм RC5 — быстрый блочный шифр, который имеет размер блока 32,64 или 128 бит, ключ длиной от 0 до 2048бит, от 0 до 255 проходов.
