ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.09.2024

Просмотров: 4003

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Информационная безопасность

Отправитель и получатель

Сообщения и шифрование

Проверка подлинности, целостность и неотрицание авторства

Алгоритмы и ключи

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

Алгоритмы с открытым ключом

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

Безопасность алгоритмов

Стеганография

Подстановочные и перестановочные шифры

Подстановочные шифры

Перестановочные шифры

Простое xor

Одноразовые блокноты

Ipklpsfhgq

Элементы протоколов

Смысл протоколов

Персонажи

Протоколы с посредником

Арбитражные протоколы

Самодостаточные протоколы

Попытки вскрытия протоколов

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

Однонаправленные функции

Однонаправленные хэш-функции

Коды проверки подлинности сообщения

Передача информации с использованием криптографии с открытыми клю­чами

Смешанные криптосистемы

Головоломки Меркла

Цифровые подписи

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

Деревья цифровых подписей

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

Подпись документа и метки времени

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

Алгоритмы и терминология

Несколько подписей

Невозможность отказаться от цифровой подписи

Использование цифровых подписей

Цифровые подписи и шифрование

Возвращение сообщения при приеме

Обнаружение вскрытия, основанного на возвращении сообщения

Вскрытия криптографии с открытыми ключами

Генерация случайных и псевдослучайных последовательностей

Псевдослучайные последовательности

Криптографически безопасные псевдослучайные последовательности

Настоящие случайные последовательности

Типы алгоритмов и криптографические режимы

Режим электронной шифровальной книги

Набивка

Повтор блока

Режим сцепления блоков шифра.

Потоковые шифры

Устройство генератора потока ключей.

Идентификация и авторизация

Аутентификация

Парольная аутентификация

Электронные смарт-карты

Использование других уникальных предметов

Методы биометрической аутентификации

Идентификация по отпечаткам пальцев

Идентификация по Сетчатке и радужной оболочке глаза

Голосовая идентификация

Распознавание по форме лица, руки или ладони

Распознавание по рукописному почерку.

Клавиатурный почерк

Задачи аудита

Применяемые методики

Результаты аудита

Классификация угроз Digital Security (Digital Security Classification of Threats)

Технологические угрозы информационной безопасности

Организационные угрозы информационной безопасности

Социальная инженерия

Компьютерные вирусы

Файловые вирусы

«Троянские кони» («трояны»)

Сетевые черви

Загрузочные вирусы

Мобильные («встроенные») вирусы

Полиморфизм вирусов

Противодействие вирусам

Места наиболее вероятного внедрения вирусов

Одноразовые блокноты

Идеальный способ шифрования существует. Он называется одноразовым блокнотом и был изобретен в 1917 году Мэйджором Джозефом Моборном (Major Joseph Mauborgne) и Гилбертом Вернамом (Gilbert Vernam) из AT&T. В классическом понимании одноразовый блокнот является большой неповторяю­щейся последовательностью символов ключа, распределенных случайным образом, написанных на кусочках бумаги и приклеенных к листу блокнота. Первоначально это была одноразовая лента для телетайпов. Отправи­тель использовал каждый символ ключа блокнота для шифрования только одного символа открытого текста. Шифрование представляет собой сложение по модулю 26 символа (зависит от выбранного алфавита символов) открытого текста и символа ключа из одноразового блокнота.

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

ONETIMEPAD

а ключевая последовательность в блокноте:

TBFRGFARFM

то шифротекст будет выглядеть как:

Ipklpsfhgq

так как

Q + Т mod 26 = I

N + В mod 26 = Р

Е + F mod 26 = К и т.д.

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

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

Необходимо напомнить, что символы ключа должны генерироваться случайным образом. Любые попытки вскрыть такую схему сталкиваются со способом, которым создается последовательность символов ключа. Ис­пользование генераторов псевдослучайных чисел не считается, у них всегда неслучайные свойства. Если вы используете действительно случайный источник – это намного труднее, чем кажется на первый взгляд, – это совершенно безопасно.


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

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

Все это хорошо, но существует несколько проблем. Так как ключевые биты должны быть случайными и не могут использоваться снова, длина ключевой последовательности должна равняться длине сообщения. Однора­зовый блокнот удобен для нескольких небольших сообщений, но его нельзя использовать для работы по каналу связи с пропускной способностью 1.544 Мбит/с. Вы можете хранить 650 Мбайт случайных данных на CD-ROM, но и тут есть проблемы. Во первых, вам нужно только две копии случайных битов, но CD-ROM экономичны только при больших тиражах. И во вторых, вам нужно уничтожать использованные биты. Для CD-ROM нет другой возможности удалить информацию кроме как физически разрушить весь диск . Гораздо больше подходит цифровая лента.

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

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



Элементы протоколов

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

Протокол – это порядок действий, предпринимаемых двумя или более сторонами, предназначенный для решения определенной задачи. Это важное определение. "Порядок действий" означает, протокол выполняется в определенной последовательности, с начала до конца. Каждое действие должно выполняться в свою очередь и только после окончания предыдущего. "Предпринимаемых двумя или более сторонами" означает, что для реа­лизации протокола требуется по крайней мере два человека, один человек не сможет реализовать протокол. Че­ловек в одиночку может выполнить некоторые действия, решая задачу (например, покупая торт), но это не протокол. (Для того, чтобы получился настоящий протокол, кто-то должен съесть торт.) Наконец, "предназначенный для решения определенной задачи" означает, что протокол должен приводить к какому-то результату. Что-то, похожее на протокол, но не решающее никакой задачи – это не протокол, это потеря времени. У протоколов есть также и другие характеристики:

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

  2. каждый участник протокола должен согласиться следовать протоколу

  3. протокол должен быть непротиворечивым, каждое действие должно быть определено так, чтобы не было возможности непонимания.

  4. протокол должен быть полным, каждой возможной ситуации должно соответствовать определенное действие

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

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


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