ПРАКТИЧЕСКАЯ РАБОТА 15. Криптографические методы защиты информации.

Варианты заданий:

1. Разработать алгоритм шифрования с использованием шифров замены

2. Разработать алгоритм шифрования с использованием шифра перестановки

3. Разработать алгоритм шифрования с использованием квадрата Полибия

4. Разработать алгоритм шифрования с использованием метода прямой замены

5. Разработать алгоритм шифрования с использованием алгоритма моноалфавитной замены

6. Разработать алгоритм шифрования с использованием методов полиалфавитной замены

7. Разработать алгоритм шифрования с использованием (матрицы) Вижинера

8. Разработать алгоритм шифрования с использованием методов перестановки

9. Разработать алгоритм шифрования с использованием маршрутов Гамильтона

10. Разработать алгоритм шифрования с использованием аналитических методов шифрования

11. Разработать алгоритм шифрования с использованием методов шифрования, основанных на использовании матричной алгебры

12. Разработать алгоритм шифрования с использованием аддитивных методов шифрования

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

14. Разработать алгоритм шифрования с использованием системы шифрования с открытым ключом

15. Разработать алгоритм шифрования с использованием RSA

 

Криптографические методы защиты информации.

 

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

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

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

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

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

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

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

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

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

Существует довольно много различных алгоритмов криптографической защиты информации. Среди них можно назвать алгоритмы DES, Rainbow (CIIJA); FEAL-4 и FEAL-8 (Япония); В-Crypt (Великобритания); алгоритм шифрования по ГОСТ 28147 — 89 (Россия) и ряд других, реализованных зарубежными и отечественными поставщиками программных и аппаратных средств защиты

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

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

Известно несколько криптосистем с открытым ключом. Наиболее разработана на сегодня система RSA. RSA— это система коллективного пользования, в которой каждый из пользователей имеет свои ключи зашифровывания и расшифровывания данных, причем секретен только ключ расшифровывания.

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

Асимметричные криптосистемы наиболее перспективны, так как в них не используется передача ключей другим пользователям и они легко реализуются как аппаратным, так и программным способами. Однако системы типа RSA работают приблизительно в тысячу раз медленнее, чем классические, и требуют длины ключа порядка 300— 600 бит. Поэтому все их достоинства сводятся на нет низкой скоростью работы. Кроме того, для ряда функций найдены алгоритмы инвертирования, т. е. доказано, что они не являются необратимыми. Для функций, используемых в системе RSA, такие алгоритмы не найдены, но нет и строгого доказательства необратимости используемых функций. В последнее время все чаще возникает вопрос о замене в системах передачи и обработки информации рукописной подписи, подтверждающей подлинность того или иного документа, ее электронным аналогом — электронной цифровой подписью (ЭЦП). Ею могут скрепляться всевозможные электронные документы, начиная с различных сообщений и кончая контрактами. ЭЦП может применяться также для контроля доступа к особо важной ин- формации. К ЭЦП предъявляются два основных требования: высокая сложность фальсификации и легкость проверки.

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

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

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

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

• Процедуры зашифровывания и расшифровывания должны быть «прозрачны» для пользователя.

• Дешифрование закрытой информации должно быть максимально затруднено.

• Содержание передаваемой информации не должно сказываться на эффективности криптографического алгоритма.

• Надежность криптозащиты не должна зависеть от содержания в секрете самого алгоритма шифрования (примерами этого являются как алгоритм DES, так и алгоритм ГОСТ 28147 — 89).

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

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

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

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

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

I. Алгоритмы шифрования

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

 

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

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

Таблица № 2

Тип Описание
DES (Data 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 64-битный блочный шифратор, использует DES 3 раза с тремя различными 56-битными ключами. Достаточно стоек ко всем атакам
Каскадный 3-DES Стандартный тройной DES, к которому добавлен механизм обратной связи, такой как CBC, OFB или CFB Очень стоек ко всем атакам.
FEAL (быстрый алгоритм шифрования) Блочный шифратор, используемый как альтернатива DES Вскрыт, хотя после этого были предложены новые версии.
IDEA (международный алгоритм шифрования) 64-битный блочный шифратор, 128-битовый ключ, 8 проходов Предложен недавно; хотя до сих пор не прошел полной проверки, чтобы считаться надежным, считается более лучшим, чем 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 до 64 бит, 8 проходов Неизвестно способов вскрыть его иначе как путем прямого перебора.
Blowfish. 64-битный блочный шифратор, ключ переменного размера до 448 бит, 16 проходов, на каждом проходе выполняются перестановки, зависящие от ключа, и подстановки, зависящие от ключа и данных. Быстрее, чем DES Разработан для 32-битных машин
Устройство с одноразовыми ключами Шифратор, который нельзя вскрыть. Ключом (который имеет ту же длину, что и шифруемые данные) являются следующие 'n' бит из массива случайно созданных бит, хранящихся в этом устройстве. У отправителя и получателя имеются одинаковые устройства. После использования биты разрушаются, и в следующий раз используются другие биты.
Поточные шифры Быстрые алгоритмы симметричного шифрования, обычно оперирующие битами (а не блоками бит). Разработаны как аналог устройства с одноразовыми ключами, и хотя не являются такими же безопасными, как оно, по крайней мере практичны.

 

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

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

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

Таблица №2

Тип Описание
RSA Популярный алгоритм асимметричного шифрования, стойкость которого зависит от сложности факторизации больших целых чисел.
ECC (криптосистема на основе эллиптических кривых) Использует алгебраическую систему, которая описывается в терминах точек эллиптических кривых, для реализации асимметричного алгоритма шифрования. Является конкурентом по отношению к другим асимметричным алгоритмам шифрования, так как при эквивалентной стойкости использует ключи меньшей длины и имеет большую производительность. Современные его реализации показывают, что эта система гораздо более эффективна, чем другие системы с открытыми ключами. Его производительность приблизительно на порядок выше, чем производительность RSA, Диффи-Хеллмана и DSA.
Эль-Гамаль. Вариант Диффи-Хеллмана, который может быть использован как для шифрования, так и для электронной подписи.

 

II. Хэш-функции

 

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

Таблица № 3

Тип Описание
MD2 Самая медленная, оптимизирована для 8-битовых машин
MD4 Самая быстрая, оптимизирована для 32-битных машин Не так давно взломана
MD5 Наиболее распространенная из семейства MD-функций. Похожа на MD4, но средства повышения безопасности делают ее на 33% медленнее, чем MD4 Обеспечивает целостность данных Считается безопасной
SHA (Secure Hash Algorithm) Создает 160-битное значение хэш-функции из исходных данных переменного размера. Предложена NIST и принята правительством США как стандарт Предназначена для использования в стандарте DSS

 

III. Механизмы аутентификации

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

Таблица №4

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

 

IV. Электронные подписи и временные метки

 

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

Таблица №5

Тип Комментарии
DSA (Digital Signature Authorization) Алгоритм с использованием открытого ключа для создания электронной подписи, но не для шифрования. Секретное создание хэш-значения и публичная проверка ее - только один человек может создать хэш-значение сообщения, но любой может проверить ее корректность. Основан на вычислительной сложности взятия логарифмов в конечных полях.
RSA Запатентованная RSA электронная подпись, которая позволяет проверить целостность сообщения и личность лица, создавшего электронную подпись. Отправитель создает хэш-функцию сообщения, а затем шифрует ее с использованием своего секретного ключа. Получатель использует открытый ключ отправителя для расшифровки хэша, сам рассчитывает хэш для сообщения, и сравнивает эти два хэша.
MAC (код аутентификации сообщения) Электронная подпись, использующая схемы хэширования, аналогичные MD или SHA, но хэш-значение вычисляется с использованием как данных сообщения, так и секретного ключа.
DTS (служба электронных временных меток) Выдает пользователям временные метки, связанные с данными документа