Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Подготовка к экзамену ИБ

.docx
Скачиваний:
10
Добавлен:
17.06.2023
Размер:
667.38 Кб
Скачать

Тематический блок, экзаменационный вопрос № 17

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

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

Рисунок 17.1

где:

М – открытый текст,

К – секретный ключ (Key), передаваемый по закрытому каналу,

Ек(М) – операция зашифрования (Encrypt),

Dk(M) – операция расшифрования (Decrypt).

Обмен информацией осуществляется в 3 этапа:

1) Отправитель передает получателю ключ (в случае сети с несколькими абонентами у каждой пары абонентов должен быть свой ключ, отличный от ключей других пар);

2) Отправитель, используя ключ, зашифровывает сообщение, которое пересылается получателю;

3) Получатель получает сообщение и расшифровывает его.

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

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

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

Кроме того, прозрачность алгоритма шифрования позволяет пользователям алгоритма проверить его надежность.

Тематический блок, экзаменационный вопрос № 18

Поточные шифры.

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

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

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

Для расшифровывания та же гамма накладывается на зашифрованные данные.

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

Рисунок 18.1

Поточные шифры классифицируют следующим образом:

- синхронные;

- самосинхронизирующиеся (асинхронные).

Тематический блок, экзаменационный вопрос № 19

Свойства синхронных и асинхронных поточных шифров.

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

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

Блок, вырабатывающий гамму, называется генератором гаммы или псевдослучайным генератором (гаммы) – PRG (Pseudo Random Generator).

чаще используют гамму, получаемую с помощью генератора псевдослучайных чисел (ПСЧ

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

Свойства синхронных поточных шифров:

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

2. Отсутствие размножающейся ошибки – изменение какого-либо знака в шифротексте не вызывает ошибок при расшифровании друг знаков в шифротексте.

3. Свойство активной атаки – вставка или удаление какого-то символа в шифротексте противником сразу же обнаруживается получателем.

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

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

Свойства асинхронных алгоритмов:

1. Самосинхронизация (в случае удаления знака из шифротекста в первый момент появляются ошибки, далее процесс идет без ошибок.).

2 – Ограниченное размножение ошибок.

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

4. Рассеивание статистики ОТ. Статистические свойства ОТ не сохраняются в шифротексте.

Тематический блок, экзаменационный вопрос № 20

Шифры подстановки и перестановки.

Шифры подстановки заменяют элементы открытых данных на другие элементы. Шифры делятся на 2 группы: моноалфавитные и полиалфавитные. В моноалфавитных (Цезарь) символ исходного текста заменяется на другой заранее определенный символ ЗТ = (ОТ + ключ) mod N, N=32. Ключ можно определить, зная особенности языка. Существуют способы усложнения моноалфавитных шифров, которые искажают характеристику зашифрованного текста. Тут замещаются целые комбинации символов. В полиалфавитных используют несколько моноалфавитных подстановок, в зависимости от выбора алгоритма. Шифр Вижинера базируется на наборе из N цифр Цезаря со сдвигом от 0 до N-1. Шифр Вернома – шифрованный текст генерируется путем побитного выполнения логических операций XOR над открытым текстом и закрытым ключом, при этом ключ циклически повторяется после своего завершения. Абсолютно устойчивый ключ к расшифрованию предложил Меборн, усовершенствовав алгоритм Вернома, предложив ключ не повторять, при этом возникло понятие идеального ключа. Его признаки: длина ключа должна быть больше или равна длины шифра. Ключ должен вырабатываться случайным образом. Полностью соблюсти не получается.

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

Тематический блок, экзаменационный вопрос № 21

Блочные шифры.

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

При этом схема С = Ек(М), М= Dк(С), где М – блок открытого текста, С – блок зашифрованного текста, K - открытый ключ, Е – операция кодирования, D – декодирование. Ключ в данном случае представляет собой некоторый блок двоичной информации фиксированного размера. Исходный и зашифрованный блоки имеют фиксированную разрядность равную между собой. При блочном шифровании преобразуемый блок может быть представлен в виде целого некоторого числа, из диапазона, соответствующего его разрядности. Блоки могут быть разбиты на подблоки и соответствующих им чисел. Над этими числами блочный алгоритм по определенной схеме производит некоторые элементарные действия: M = (M+V)mod(2n) – сложение по модулю 2;

M = M XOR V; M = (M*V) mod(2n) – умножение по модулю 2;

M = M SHL V – арифметический сдвиг.

M = M SHR V – арифметический сдвиг вправо.

M’= M ROL V – циклический сдвиг влево.

M’ = M ROR V – циклический сдвиг вправо. S - подстановка, P – перестановка.

Все современные блочные шифры представляют собой композицию элементарных преобразований. F = F1*F2*…Fi – называется простым преобразованием. Количество циклов может быть разным. DES – 16 циклов. Характерным признаком блочных алгоритмов является многократное использование ключа, при этом для каждого цикла вырабатывается свой ключ цикла, основанный на главном уникальном ключе. Блочные шифры являются очень высокопроизводительными и высоконадежными, поэтому нашли применение в различных областях. DES – размер ключа 56, блока 64, циклов 16. ГОСТ – размер ключа 256, блока 64, циклов 32.

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

Схему работы блочного шифра можно описать функциями:

C=Ek(M);

M=Dk(C).

М – блок открытого текста, С - блок зашифрованного текста, К – секретный ключ (Key), Ек(М) – операция зашифрования (Encrypt), Dk(M) – операция расшифрования (Decrypt).

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

Требования, предъявляемые к блочным шифрам.

К блочным криптосистемам (как, впрочем, и к любым криптосистемам) предъявляются следующие требования:

- достаточная криптостойкость;

- простота процедур зашифрования и расшифрования;

- приемлемая надежность.

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

Надежность - доля информации, поддающаяся дешифровке при помощи какого-то криптоаналитического алгоритма.

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

идеально стойкого криптоалгоритма с ключом длины N потребуется в среднем 2N-1 проверок.

Основные методы построения блочных шифров.

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

Так, например, 32-битный блок данных можно интерпретировать как число из диапазона 0…4 294 967 295. Над этими числами блочным криптоалгоритмом по определенной схеме производятся элементарные действия (например, исключающее ИЛИ (XOR), сложение по модулю 2 в степени n и т.п.).

Характерным признаком блочных алгоритмов является многократное и косвенное использование материала ключа.

Ключ имеет фиксированную длину. Однако при прокрутке хотя бы 8 циклов шифрования с размером блока, скажем, 128 бит даже при простом прибавлении посредством XOR потребуется 8*128=1024 бита ключа, поскольку нельзя добавлять в каждом цикле одно и то же значение – это ослабляет шифр.

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

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

Тематический блок, экзаменационный вопрос № 22

Шифр Файстеля.

Шифр Файстеля является структурой, на которой построены все практически значимые симметричные схемы блочного шифрования.

Структура шифра Файстеля опирается на идею Клода Шеннона (Claude Shannon), высказанную им в 1945 году, о том, что преобразование шифра должно использовать принципы диффузии и конфузии, основное назначение которых – усложнить (в идеале сделать невозможным) криптоанализ, основанный на исследовании статистических характеристик закрытого текста.

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

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

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

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

Шифр Файстеля использует следующий алгоритм:

1. Входной блок для каждого преобразования разбивается на две половины: L-левую, R-правую;

2. Используется преобразование вида

Li+1=Ri

Ri+1=Li XOR fi (Ri,Ki) ,

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

Это преобразование прокручивается несколько раз (несколько циклов) и выходом шифра является получившаяся в конце пара (L, R). Графически все выглядит следующим образом:

Рисунок 22.1

Тематический блок, экзаменационный вопрос № 23

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

Асимметричные криптосистемы (системы открытого шифрования, с открытым ключом, public key systems) разработан в середине 560 годов, изложен в 76- смысл данных криптосистем состоит в том, что для зашифрования и расшифрования используются разные преобразования. Одно из них – зашифрование – является абсолютно открытым для всех. Другое же - расшифрование - остается секретным. Таким образом, любой, кто хочет что-либо зашифровать, пользуется открытым преобразованием. Но расшифровать и прочитать это сможет лишь тот, кто владеет секретным преобразованием.

Асимметричная криптография изначально задумана как средство передачи сообщений от одного объекта к другому.

Основное ее достоинство: пропадает проблема передачи секретного ключа (как у симметричных систем).

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

Наибольшее распространение и практическое применение нашла схема шифрования с открытым ключом RSA. Алгоритм RSA защищен патентом США N 4405829. Разработан в 1978 году в Массачусетском технологическом институте (США). Получил название по первым буквам фамилий авторов: Рон Райверст (Rivest), Ади Шамир (Shamir) и Лен Адлеман (Adleman). Криптостойкость основана на вычислительной сложности задачи разложении большого числа на простые множители.

Алгоритм ELGamal разработан в 1985 году. Назван по фамилии автора - Эль-Гамаль. Используется в стандарте США на цифровую подпись DSS (Digital Signature Standard). Криптостойкость основана на вычислительной сложности задачи логарифмирования целых чисел в конечных полях.

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

С = Eku(M), M = Dkr(C). У каждого пользователя имеется секретный ключ и открытый.

Тематический блок, экзаменационный вопрос № 24

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

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

1) Выбираются простые большие числа p,q.

2) Вычисляем произведение.

3) Вычисляется функция Эйлера Э(n) = (p-1)(q-1).

4) Выбирается число Е (1 < E < Э(n)), такое что НОД = 1, т.е число и значение функции взаимопросты. Если есть 2 числа, С явл делителем А и В, то любой делитель А и В является делителем С. НОД можно выбрать из простых чисел, при этом число должно быть меньше чем значение функции Эйлера и не явл его делителем.

5) Из уравнения с*d =1 mod Э(n) находят число с. A=BmodN → A mod N = B mod N. Для того чтобы решить уравнение можно воспользоваться следующим равенством с*d =к Э(n) + 1, приэтом подбирая значения К можно найти d, при этом оно должно оставаться целым и меньшим чем функция Эйлера.

6) Открытый ключ KU ={e,n}. Закрытый ключ KR = {d,n}. Рекомендации по выбору откр и закр ключа. Длина ключа выбирается из диапазона 1024-2048 бит. Значения p и q не должны сильно различаться по величине и должны попадать в диапазон 1075 – 10100. Числа p-1 и q-1 должны содержать в своих разложениях достаточно простой большой множитель.

Процедура зашифрования.

1. Отправитель разбивает свое сообщение на отдельные блоки по К бит. К = [Log2(n)], [] - взятие целой части. Каждый блок может быть интерпретирован как число из диапазона 0-2К-1. Величина n фактически ограничивается количеством различных символов в наборе открытого текста. Для каждого числа открытого текста вычисляется выражение Сi = (mi)emod n. Для расшифрования – выражение Mi = (Ci)dmod n. Так как криптосистема работает с большим числом и выполн медленная процедура возведения в степень, то применяют разл подходы для увеличения производительности, например число Е стараются выбирать большим, при этом естественный d становится громадным, а оно участвует в процедуре расшифрования. Применение небольшой Е приводит к проблемам по защите небольших сообщений.

Тематический блок, экзаменационный вопрос № 25

Сравнительная характеристика симметричных и асимметричных алгоритмов шифрования.

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

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

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

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

3 – получив сеансовый ключ получатель расшифровывает его используют свой секретный ключ.

4 – отправитель, зашифровывая все сообщения сеансовыми ключами и шлет получателю. 5- все расшифровывается секретными ключами. Симметричные криптосистемы используются только для передачи секретного ключа.

Тематический блок, экзаменационный вопрос № 26

Реализация алгоритмов шифрования.

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

Известен пакет PGP (Pretty Good Privacy, автор Филипп Зиммерман, Philip Zimmermann), в котором комплексно решены практически все проблемы защиты передаваемой информации:

- применены сжатие данных перед шифрованием,

- мощное управление ключами,

- симметричный (IDEA) и асимметричный (RSA) алгоритмы шифрования,

- вычисление контрольной функции для цифровой подписи,

- надежная генерация ключей.

Проект PGP начинался в 1991 году как бесплатный, с августа 2002 года коммерческими правами на программу обладает специально созданная для этих целей компания PGP Corporation (http://www.pgp.com/). В настоящее время разработана версия 8.0, полностью совместимая с Windows XP.

PGP существует также как популярный протокол криптографической защиты, основанный на алгоритме RSA, что обусловило появление большого количества свободно распространяемых PGP-программ (CD «Компьютер Пресс», № 3, 2002).

Публикации журнала «Монитор» с подробными описаниями различных алгоритмов и соответствующими листингами дают возможность каждому желающему написать свою программу (или воспользоваться готовым листингом).

Аппаратная реализация алгоритмов возможна с помощью специализированных микросхем (производятся кристаллы для алгоритмов RSA, DES, ГОСТ 28147-89) или с использованием компонентов широкого назначения (ввиду дешевизны и высокого быстродействия перспективны цифровые сигнальные процессоры - ЦСП, Digital Signal Processor, DSP).

Среди российских разработок следует отметить платы «Криптон» (фирма «Анкад») и «Грим» (методология и алгоритмы фирмы «ЛАН-Крипто», техническая разработка НПЦ «ЭЛиПС»).

«Криптон» - одноплатные устройства, использующие криптопроцессоры (специализированные 32-разрядные микроЭВМ, которые также называются «блюминг»).

Блюминги аппаратно реализуют алгоритмы ГОСТ 28147-89, они состоят из вычислителя и ОЗУ для хранения ключей. Причем в криптопроцессоре есть три области для хранения ключей, что позволяет строить многоуровневые ключевые системы. Для большей надежности шифрования одновременно работают два криптопроцессора, и блок данных в 64 битов считается правильно зашифрованным, только если совпадает информация на выходе обоих блюмингов. Скорость шифрования - 250 КБ/c.

В плате «Грим» используются цифровые сигнальные процессоры фирмы Analog Devices ADSP-2105 и ADSP-2101, что дает скорость шифрования соответственно 125 и 210 КБ/c. На плате есть физический ДСЧ и ПЗУ с программами начального теста, проверки прав доступа, загрузки и генерации ключей. Ключи хранятся на нестандартно форматированной дискете. Плата реализует алгоритмы ГОСТ 28147-89 и цифровой подписи. Для защиты информации, передаваемой по каналам связи, служат устройства канального шифрования, которые изготовляются в виде интерфейсной карты или автономного модуля. Скорость шифрования различных моделей до 100 Мбит/c.

Тематический блок, экзаменационный вопрос № 27

Электронная цифровая подпись.

Это специальное средство, подтверждающее что подпись, стоящая на том или ином электронном документе поставлена именно его автором, а не другим путем. ЭЦП позволяет убедиться, что подписанная информация не была изменена в процессе пересылки и была подписана отправителем именно в том виде, в котором вы ее получили. Наиболее просто организовать ЭЦП можно, используя методы криптографии с открытым ключом. Последовательность: Источник сообщения шифрует его с помощью секретного ключа – Получатель расшифровывает сообщение с помощью публичной базы открытых ключей, тем самым, подтверждая подлинность. Секретный ключ есть у каждого отправителя, имеющего право ЭЦП. Открытые ключи размещаются в публичной базе ключей. Процедура реализации ЭЦП должна обязательно реализовываться с помощью специального сертифицированного ПО ФЗ №1 ст. 10.01.02 об ЭЦП, что регламентирует процедуру сертификации средств ЭЦП, при этом соответствующий государственный орган должен подтвердить, что: 1 – ПО для генерации ЭЦП действительно вырабатывает только ЭЦП и не выполняет никаких посторонних функций. 2 – соответствующее ПО не передает несанкционированную информацию налево и гарантирует невозможность взлома. Фактически этот документ является тем третьим лицом, которое затем при судебных разбирательствах может выступать в качестве свидетеля.

Атаки на ЭЦП.

Стойкость большинства схем ЭЦП во многом зависит от стойкости ассиметричных алгоритмов шифрования и хэш-функций.