Компьютерный терроризм «А-ля Ламмер»


Мы существуем независимо от национальности, цвета кожи и религиозного уклона. Мы повсюду – в школе, в клубе, в вашем сознании… Вы развязываете войны, лжёте и творите беспредел!!! Я преступник, но моё преступление заключается только в любопытсве – я ХАКЕР!!! Вы можете остановить меня, но нас всех остановить невозможно!!!"

Манифест Хакера

+ Используемые сокращения:

ЗИ - защита информации;
НСД - несанкционированный доступ;
ПК - персональный компьютер;
КС - компьютерная система;
ОС - операционная система;
BIOS - Базовая Система Ввода-Вывода (англ.: Basic Input Output System).


Мифы компьютерной безопасности

Автор: Валерий Коржов.

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

Миф первый

"Защита информации и криптография – близнецы-братья".

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

Однако сегодня информация имеет уже не столь "убойную" силу, и задача сохранения ее в секрете потеряла былую актуальность. Сейчас главные условия безопасности информации – ее доступность и целостность. Другими словами, пользователь может в любое время затребовать необходимый ему сервис, а система безопасности должна гарантировать его правильную работу. Любой файл или ресурс системы должен быть доступен в любое время (при соблюдении прав доступа). Если какой-то ресурс недоступен, то он бесполезен. Другая задача защиты – обеспечить неизменность информации во время ее хранения или передачи. Это так называемое условие целостности.

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

"Во всем виноваты хакеры".

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

Одна из проблем подобного рода – так называемые слабые пароли. Пользователи для лучшего запоминания выбирают легко угадываемые пароли. Причем проконтролировать сложность пароля невозможно. Другая проблема – пренебрежение требованиями безопасности. Например, опасно использовать непроверенное программное обеспечение. Обычно пользователь сам "приглашает" в систему вирусы и "троянских коней". Кроме того много неприятностей может принести неправильно набранная команда. Так, при программировании аппарата ФОБОС-1 ему с Земли была передана неправильная команда. В результате связь с ним была потеряна.

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

"Абсолютная защита".

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

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

Кроме того, нельзя забывать о развитии и совершенствовании средств нападения. Техника так быстро меняется, что трудно определить, какое новое устройство или программное обеспечение, используемое для нападения, может обмануть вашу защиту. Например, криптосистема DES, являющаяся стандартом шифрования в США с 1977 г., сегодня может быть раскрыта методом "грубой силы" – прямым перебором.

Компьютерная защита – это постоянная борьба с глупостью пользователей и интеллектом хакеров.

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

Что же такое информация?

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

Ушедшее столетие принесло человечеству одновременно огромную радость и огорчение – компьютер. Для одних – это домашний кинотеатр, для других – домашняя студия звукозаписи, для третьих – средство управления технологическим процессом сборки автомобилей или теми же банковскими переводами… При этом круг лиц, имеющих доступ к компьютерным системам, постоянно растет, а их моральный облик падает. Поэтому наиболее актуальный вопрос всех времен – это вопрос защиты информации. Ему уделяется 30-35% времени и финансирования во всех крупных компаниях, занимающихся разработкой программного обеспечения. Различается две группы лиц:

§ Владельцы информации, нуждающиеся в защите своей информации;

§ Похитители информации, пытающиеся осуществить Несанкционированный Доступ (НСД) в систему и похитить оную информацию.

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

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

§ Обеспечение целостности информации (защита от искажения и уничтожения при хранении/передаче);
§ Защита от НСД;
§ Защита пользователей от компроментации;
§ Исключение отказов от принятых обязательств.

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

Злоумышленники, пытающиеся осуществить НСД, делятся на 2 группы:

§ Нелегальные;
§ Легальные пользователи, имеющие законный доступ, но пытающиеся превысить свои полномочия.

Попытки НСД называются вторжениями, которые в свою очередь подразделяются на:

§ Пассивные вторжения. Их крайне трудно обнаружить. Имеют следующие цели:
u Определение объемов, интенсивности, направления передачи и содержания передаваемой информации;
u Получение сведений о паролях, идентификаторах, именах абонентов и т.п.;
u Получение информации о структуре системы и средствах ее защиты, уровнях прав доступа и механизмах их изменения.
§ Активные вторжения. Имеют следующие цели:
u Искажение и уничтожение информации;
u Распространение дезинформации и компроментация пользователей;
u Получение информации о паролях, ключах, идентификаторах, системе защиты и правах доступа;
u Перехват управления системой.
Общие принципы ЗИ в КС

Чтобы лучше понять методы защиты информации, а параллельно и набросать примерные способы ее похищения, рассмотрим некую абстрактную систему ЗИ в КС. Мы не будем привязываться к конкретной архитектуре системы, ведь будь то ОС семейства Microsoft Windows NT, или Unix-подобная ОС – основные принципы везде одинаковы, различия заключаются лишь в конечной реализации алгоритма.
Модель ЗИ

Взглянем на известную модифицированную модель Белла и Ла-Падула. В нее входят:

§ Субъекты – пользователи;
§ Объекты – защищаемые ресурсы (диски, каталоги и т.п.);
§ Диспетчер Доступа (ДД);
§ Матрица Прав Доступа (МПД);
§ Служба Аутентификации (СА);
§ Матрица Паролей (МП).

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

u Для объектов идентификатором является путь (напр. имя диска, путь к каталогу, путь к файлу). Путь зачастую задается субъектами (напр. имена каталогов и файлов).

u Для субъектов идентификатором является т.н. логин (имя субъекта). Список субъектов контролирует системный администратор?, он же назначает права доступа субъектов системы к ее объектам (модифицирует МПД). В некоторых реализациях систем ЗИ субъект (обычный пользователь) в зависимости от принадлежности к той или иной группе пользователей (напр. группа администраторов в ОС семейства Microsoft Windows NT) может сам создавать новых субъектов и модифицировать МПД. В других – субъект таких действий выполнять не может.

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

u Пароли – система запрашивает логин и пароль субъекта, которые передаются Службе Аутентификации. СА в свою очередь сверяет введенные данные с данными в Матрице Паролей. Если субъект с введенным логином существует и введенный пароль совпадает с паролем в МП – выполняется вход в систему, иначе – отклоняется (подробнее см. "Пароли и параметры их стойкости" PAGEREF _Ref49218191 p h ниже);

u Биометрические системы контроля – анализ клавиатурного почерка, считывание отпечатков пальцев, верификация голоса, сканирование сетчатки глаза, считывание геометрии рук, распознавание подписи и т.п.;

u Электронные и физические ключи, магнитные карты и т.п.

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

Т.е. как таковая работа с абстрактной КС может выглядеть так:

1. Идентификация пользователя. Происходит в первый раз работы с системой.
2. Аутентификация. Происходит в начале каждого рабочего сеанса с системой.
3. Цикл нижеприведенных действий выполняется постоянно при любом обращении к любому объекту системы в течении рабочего сеанса:
а. Определение полномочий.
б. Регистрация результата в журнале событий. (см. "Регистрация событий в системе" PAGEREF _Ref49220081 p h на стр. 277).
4. Выход из системы. Происходит в конце каждого рабочего сеанса с системой.
Пароли и параметры их стойкости

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

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

Tб = ? N * t = ? AS * E/R,

где N – число возможных паролей, t – время ввода одного набора, A – число символов алфавита конечного пароля, S – длина пароля, E – количество символов, требуемое для ввода пароля с учетом служебных клавиш Enter…Shift, R – скорость ввода символов.

Т.о. можна вывести основные параметры стойкости паролей:

§ Длина пароля. Чем длиннее пароль – тем сложнее и дольше его взломать. В этом случае возрастает количество возможных комбинаций пароля. Длина пароля должна быть не менее 16 символов для относительно надежной защиты от метода перебора.
§ Количество символов в алфавите. Аналогичный эффект вышеприведенному.
Основные меры предосторожности при работе с паролем
§ Не следует использовать + в качестве пароля:
u Собственные имена, имена друзей, любимых людей, клички, даты рождения, и т.п. данные, легко доступные похитителям информации;
u Профессиональные термины, жаргон и т.п.;
u Повторяющиеся символы;
u Реальные слова и их комбинации – для получения легко запоминаемых устойчивых паролей можно пользоваться соответствующими генераторами, которые генерируют пароли, состоящие из цифр и букв различного регистра.
§ Следует учитывать используемый алфавит (количество символов в нем).
§ Пароль необходимо часто менять, в зависимости от уровня защиты системы. Классически – каждый месяц.
§ Еще одна ошибка типичного пользователя – ввод пароля в одной расскладке (напр. русской) с включенной другой раскладкой (напр. английской). Подобные ситуации приводят к хищению пароля более менее наблюдательным человеком, который находится рядом с компьютером в момент ввода пароля. Не считайте себя + умнее других.
Регистрация событий в системе

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

Решение о событиях, сведения о которых заносятся в журнал безопасности, принимает системный администратор. Например, после разрешения аудита входа в систему сведения обо всех попытках входа заносятся в журнал безопасности.

С журналом безопасности тесно связаны два понятия:

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

Попросту говоря + каждый ваш шаг и каждое ваше действие в КС фиксируется в журнале. И опытный администратор с легкостью вычислит попытки проникновения в систему, если оный журнал не очистить. Последнее действие (очистка журнала) внесет нотки сомнения в душу администратора и возможно он подумает о системном сбое (хотя это маловероятно), что даст вам некоторое время ретироваться. Вероятность того, что аудит в системе отключен в серьезных организациях практически сводится к нулю (подробнее см. Глава 9.3 "Несанкционированный доступ к информации" PAGEREF _Ref49331336 p h на стр. 293). С учетом всего вышеприведенного, хотелось бы сказать следующее: "Граждане, мойте пол после себя, если ходите в грязных калошах по чужому дому в отсутствие хозяев!"
Криптографическая ЗИ

Кроме методов защиты информации в КС, рассмотренных выше и применимых только внутри системы, пользователями (а зачастую и самой КС) могут использоваться дополнительные средства ЗИ – шифрование данных. Ведь при транспортировке данных вне КС, они могут быть похищены, изменены (например, при передаче по сети) или случайно скопированы заинтересовавшимся человеком. Ущерб в этом случае может быть довольно серьезен. Или возьмем тот же банковский перевод денежных средств. Там все передаваемые данные обязательно шифруются!

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

Криптосистемы и принцип шифрования
По количеству ключей шифрования различают:
§ Симметричные криптосистемы (с 1-м ключем);
§ Асиметричные криптосистемы (с 2-мя ключами).

Рассмотрим общий алгоритм шифрования данных. Имеется открытый текст, который необходимо зашифровать и пароль. При шифровании по определенному правилу из пароля формируется т.н. гамма шифра (она же хеш-сумма или ключ шифра), которая впоследствии хранится вместе с зашифрованными данными. С ее помощью шифруются данные, а также в последствии – аутентификация при дешифровании. Обычно используется 128, 256, 512 и 1024 битная гамма (в зависимости от семейства криптоалгоритма). Военные особо секретные данные шифруют с гаммой порядка 1344 битов. Текст шифруется блоками, зачастую используются 128 и 256-битные блоки. При шифровании каждого блока данные в нем по определенному правилу трансформируются, при этом на них накладывается гамма шифра, и только после этого блок данных перемешивается несколько раз – это называется проходами, тем самым обеспечивается алгоритм шифрования. Количество проходов также влияет на степень криптостойкости алгоритма.
Симметричные криптосистемы

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

Обобщенная схема симметричной криптосистемы выглядит так:

Симметричные алгоритмы

Этот тип алгоритмов используется как симметричными, так и асимметричными криптосистемами.

DES

(англ.: Date Encryption Standard)
Популярный алгоритм шифрования, используемый как стандарт шифрования данных правительством США, предназначен для защиты важной, но не секретной информации. Шифруется блок из 64 бит, используется 64-битовый ключ (но требуется только 56 бит), 16 проходов.

Может работать в 4 режимах:

§ Электронная кодовая книга (ECB-Electronic Code Book ) – обычный DES, использует два различных алгоритма.

§ Цепочечный режим (CBC-Cipher Block Chaining), в котором шифрование шифрование блока данных зависит от результатов шифрования предыдущих блоков данных.

§ Обратная связь по выходу (OFB-Output Feedback), используется как генератор случайных чисел.

§ Обратная связь по шифратору (CFB-Cipher Feedback), используется для получения кодов аутентификации сообщений.

3-DES или тройной DES

(англ.: Triple DES)
64-битный блочный шифратор, использует DES три раза с тремя различными 56-битными ключами. Достаточно стоек ко всем атакам. Однако если стоит выбор – лучше выбрать Blowfish, Twofish или Rijndael.

Каскадный 3-DES
Стандартный тройной DES, к которому добавлен механизм обратной связи, такой как CBC, OFB или CFB. Очень стоек ко всем атакам.

FEAL

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

IDEA

(Международный Алгоритм Шифрования, англ.: International Date Encryption Algorithm)
64-битный блочный шифратор, 128-битовый ключ, 8 проходов.

Предложен недавно. До сих пор не прошел полной проверки, чтобы считаться надежным. Работает в 2 раза быстрее DES и считается значительно более криптостойким, чем DES как из-за длины ключа, так и из-за внутренней структуры.

Skipjack
Разработано АНБ в ходе проектов правительства США "Clipper" и "Capstone". До недавнего времени был секретным, но его стойкость не зависела только от того, что он был секретным.

64-битный блочный шифратор, 80-битовые ключи используются в режимах ECB, CFB, OFB или CBC, 32 прохода.

RC2
64-битный блочный шифратор, ключ переменного размера. Приблизительно в 2 раза быстрее, чем DES. Может использоваться в тех же режимах, что и DES, включая тройное шифрование. Конфиденциальный алгоритм, владельцем которого является RSA Data Security.

RC4
Потоковый шифр, байт-ориентированный, с ключом переменного размера. Приблизительно в 10 раз быстрее DES. Конфиденциальный алгоритм, которым владеет RSA Data Security.

RC5
Имеет размер блока 32, 64 или 128 бит, ключ с длиной от 0 до 2048 бит, от 0 до 255 проходов. Быстрый блочный шифр. Алгоритм, которым владеет RSA Data Security.

CAST
64-битный блочный шифратор, ключи длиной от 40 до 256 бит, 8 проходов. Неизвестно способов вскрыть его иначе как путем прямого перебора.

Blowfish
64-битный блочный шифратор, ключ переменного размера 32, 48, 56, 128 и 448 бит, 16 проходов, на каждом проходе выполняются перестановки, зависящие от ключа, и подстановки, зависящие от ключа и данных. Быстрее, чем DES примерно в 20 раз. Разработан для 32-битных машин.

Twofish
Был разработан автором Blowfish для соревнования NISTª, где и выиграл, получив титул нового национального стандарта шифрования данных и вообще считается превосходящим Blowfish по стойкости и скорости. Есть два варианта: 128 и 256-битный ключ.

Rijndael
Этот алгоритм был отобран конкурсом NIST в октябре 2000 г, и стал новым официальным стандартом AES§, используемый правительством США. Ключ в 128 и 256 бит. В отличие от Blowfish и Twofish требует большего времени для шифрования с большими ключами. 256-битная версия примерно на 40% медленнее 128-битной версии.

ГОСТ 28147-89
256-битный ключ (плюс 384 бита значений подстановок), размер блока – 64 бит, режимы: ECB, гаммирования, CFB; правильный выбор значений подстановок является коммерческой тайной (не все они хороши); является одним из самых стойких и не имеет ограничений по степени секретности информации.

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

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

Асимметричные криптосистемы

Часто называются криптосистемами с открытым ключом. В ней ключи для шифрования и дешифрования разные и взаимосвязаны, хотя и создаются вместе. Один ключ k1 – открытый, делается известным всем и используется для шифрования данных. Другой k2 – закрытый, держится в тайне и используется для дешифрования данных. Хотя можно шифровать и дешифровать обоими ключами, данные, зашифрованные открытым ключом, могут быть правильно расшифрованы только закрытым ключом. Все асимметричные криптосистемы являются объектом атак путем прямого перебора ключей, и поэтому в них должны использоваться гораздо более длинные ключи, чем те, которые используются в симметричных криптосистемах, для обеспечения эквивалентного уровня защиты. Это сразу же сказывается на вычислительных ресурсах, требуемых для шифрования, т.е. попросту увеличивается время, необходимое на шифрование данных, хотя алгоритмы шифрования на эллиптических кривых могут смягчить эту проблему.

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

В асимметричных криптосистемах важно, чтобы сеансовые и асимметричные ключи были сопоставимы в отношении уровня безопасности, который они обеспечивают. Если используется короткий сеансовый ключ (например, 40-битовый DES), то не имеет значения, насколько велики асимметричные ключи. Хакеры будут атаковать не их, а сеансовые ключи. Асимметричные открытые ключи уязвимы к атакам прямым перебором отчасти из-за того, что их тяжело заменить. Если атакующий узнает секретный асимметричный ключ, то будет скомпрометировано не только текущее, но и все последующие взаимодействия между отправителем и получателем. Данная криптосистема используется в реализации PGP-ключей. Общая схема асимметричной криптосистемы выглядит так:

Асимметричные алгоритмы

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

Более подробно с научной стороны с ассиметричными алгоритмами можно ознакомиться в книге
Арто Саломаа, "Криптография с открытым ключом", Москва "Мир" 1995.


RSA
Популярный алгоритм асимметричного шифрования, стойкость которого зависит от сложности факторизации больших целых чисел. Называется по первым фамилиям авторов (Rivest-Shamir-Adleman). Лег в основу системы PGP (англ.: Pretty Good Privacy – Вполне хорошая секретность), реализованной под множество платформ, в том числе и под все операционные системы для IBM PC. С самого появления этой системы, спецслужбы США тщетно пытались бороться с ее распространением. Против Фила Циммермана (Phil Zimmerman), автора PGP, было возбуждено, а потом закрыто ("без комментариев") уголовное дело. Время от времени распространяется слух о том, что в очередную версию PGP вложена "закладка", позволяющая третьим лицам читать сообщения, зашифрованные PGP.

DSA
Переменная длина ключа до 1024 бит; ANSI X9.30-1.

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

Современные его реализации показывают, что эта система гораздо более эффективна, чем другие системы с открытыми ключами. Его производительность приблизительно на порядок выше, чем производительность RSA, Диффи-Хеллмана и DSA.

Эль-Гамаль
Вариант Диффи-Хеллмана, который может быть использован как для шифрования, так и для электронной подписи.

ГОСТ Р 34.10-94
Напоминает DSS, но более устойчив за счет больших значений параметров.

Цифровая подпись

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

DSS
Ассиметричный алгоритм шифрования DSA; стандарт США, 1994; медленный.

RSA
Ассиметричный алгоритм шифрования RSA, PKCS 1 в сочетании с MD2 или MD5.

Алгоритмы эллиптических кривых (ECC)


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

Необходимы для проверки целостности данных (при современных скоростях и объемах CRC-32 уже недостаточно) и цифровой подписи. Используются также для упрощения визуального сравнения открытых ключей (fingerprint). Криптографическая стойкость означает трудоемкость модификации сообщения с сохранением контрольной суммы или генерация сообщения, порождающего указанную контрольную сумму. В частности, длина контрольной суммы не должна быть менее 128 бит, а лучше 160. HMAC (RFC 2104) – сочетание любой криптографически стойкой контрольной суммы (не менее 128 бит) и шифрования при передаче хеша вместе с сообщением.

MD2
128 бит, медленный, RFC 1319.

MD4
128 бит, быстрый, RFC 1320, имеет известные дефекты.

MD5
128 бит, улучшенный (за счет скорости) MD4, RFC 1321; слабая устойчивость к коллизиям, хотя алгоритм генерирования коллизий неизвестен.

SHA, SHA-1
Проблема коллизий исправлена в версии SHA-1. 160 бит; стандарт США (ANSI X9.30-2, FIPS 180, FIPS 180-1), ISO/IEC 10118; на основе MD4, максимальная длина сообщения – 264.

ГОСТ Р 34.11-94
256 бит (на основе алгоритма шифрования ГОСТ 28147-89).

Советы по шифрованию данных

§ Не используйте + неизвестные криптоалгоритмы и программные комплексы шифрования.

§ При выборе криптоалгоритма учитывайте его параметры. Из симметричных автор предпочитает использовать Rijndael, однако его вполне заменят MARS, RC6, Cast-256, Twofish или в крайнем случае ГОСТ 28147-89. Из асимметричных признанным считается RSA (исп. в PGP), но заменим DSA или ECC.

ú Гамма шифра. Для симметричных крптоалгоритмов минимум 256 бит, а лучше 512 бит (если это позволяет используемый вами алгоритм). Например, 128-битный ключ имеет 3,4 x 1038 возможных вариантов. Т.е. он в 1021 раз более устойчив, чем 56-битный ключ DES.

ú Блоки данных. Не менее 128 бит. Если блоки маленькие – степень перемешивания данных, а соответственно и степень криптостойкисти, зависит от количества проходов.

ú Количество проходов. Вполне достаточно 32, можно 64.

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

§ Применяйте + последовательное шифрование несколькими различными криптоалгоритмами с разными паролями. Это уменьшит вероятность вскрытия защищаемой информации и/или, в крайнем случае, увеличит время ее вскрытия.



Стеганография или еще один шаг на пути ЗИ

Когда в V веке до н.э. тиран Гистий, находясь под надзором царя Дария Обновлено: 11.03.2015