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

Kriptografia

.pdf
Скачиваний:
21
Добавлен:
13.02.2015
Размер:
850.35 Кб
Скачать

Сообщение

Хеш-функция

 

RED

DKJD 1242 AACB 788B 761A

 

696C

24D9 7009

CA99 2D17

THE COLOUR RED CORRESPONDS

0896 56BB ZC7D CBE2 823C

TO THE LOWEST FREQUENCY

ADD7 8CD1 9AB2 JJ6J 8ABC

THE COLOUR RED CORRESPONDS

FCD3 7FDB D588

4C75 4BF4

TO THE LOWEST FREQUENCY

1799 7D88 ACDE 92B9 6A6C

THE COLOUR RED CORRESPONDS

D401 COA9 7D9A 46AF FB45

TO THE LOWEST FREQUENCY

76B1 79A9 ODA4 AEFE 4819

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

11. Цифровые подписи. Дополнительные методы повышения надежности цифровой подписи.

Цифровая подпись = электронная подпись

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

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

Требования к ЭЦП ЭЦП должна отвечать следующим требованиям:

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

Неподдельность. Она доказывает, что именно подписавший, и никто иной, сознательно подписал документ.

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

Подписанный документ нельзя изменить. После того, как документ подписан, его невозможно изменить.

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

На данный момент асимметричное шифрование на основе открытого ключа RSA (расшифровывается, как Rivest, Shamir and Aldeman - создатели алгоритма) использует большинство продуктов на рынке информационной безопасности.

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

Рассмотрим алгоритм RSA с практической точки зрения:

1.Для начала необходимо сгенерировать открытый и секретные ключи:

2.Возьмем два больших простых числа p and q.

3.Определим n, как результат умножения p on q (n= p*q).

4.Выберем случайное число, которое назовем d. Это число должно быть взаимно простым (не иметь ни одного общего делителя, кроме 1) с результатом умножения (p-1)*(q-1).

5.Определим такое число е, для которого является истинным следующее соотношение (e*d) mod ((p-1)*(q-1))=1.

6.Hазовем открытым ключом числа e и n, а секретным - d и n.

12.Генерация случайных и псевдослучайных последовательностей. Применение ГСЧ в криптографии.

Последовательность называется no-настоящему случайной, если ее нельзя воспроизвести.

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

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

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

КСГПСЧ должен удовлетворять «тесту на следующий бит». В свою очередь Тест на следующий бит гласит: при известных К-членах последовательности не должно быть возможно определение К+1-члена с вероятностью более 50%

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

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

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

13. Генерация ключей. Механизмы распределения и передачи ключей.

Распределение ключей - процесс управления ключами. К нему предъявляются два требования:

Оперативность и точность распределения;

Скрытность распределяемых ключей.

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

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

2.Прямой обмен ключами между пользователями информационной системы. В этом случае проблема состоит в том, чтобы надежно удостоверить подлинность субъектов. Для обмена ключами можно использовать криптосистемы с открытым ключом, используя тот же алгоритм RSA.

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

возможность отказа от центра распределения ключей;

взаимное подтверждение подлинности участников сеанса;

подтверждение достоверности сеанса механизмом запроса-ответа, использование для этого программных или аппаратных средств;

использование при обмене ключами минимального числа сообщений.

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

1.А. обращается к ЦРС и запрашивает сеансовый ключ для связи с Б.

2.ЦРС генерирует случайный сеансовый ключ и зашифровывает 2 копии ключа: 1 для А., 2 для Б.. Затем ЦРС посылает оба ключа А.

3.А. расшифровывает свою копию ключа.

4.А. посылает Б. его копию ключа.

5.Б. расшифровывает свою копию сеансового ключа.

6. А. и Б. используют сеансовый ключ для безопасного обмена информации.

Данный протокол основывается на абсолютной надежности ЦРС. Если злоумышленник получит доступ к ЦРС, то скомпрометированной окажется вся сеть.

Проблема: ЦРС должен участвовать в каждом обмене ключами. Если он не будет справляться с этой функцией, то пользователи будут простаивать.

Обмен ключами используя криптографию с открытым ключом:

1.А. получает открытый ключ Б. из ЦРС.

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

3.Б. расшифровывает сообщение А. с помощью своего закрытого ключа.

4.А. и Б. шифруют сообщение полученным сеансовым ключом.

Протокол «Держась за руки»: протокол, который избегает вскрытия «человек в середине».

1.А. посылает Б. свой открытый ключ.

2.Б. посылает А. свой открытый ключ.

3.А. шифрует сообщение открытым ключом Б. Половину зашифрованного сообщения А. отправляет Б..

4.Б. шифрует свое сообщение открытым ключом А. и отправляет половину сообщения А..

5.А. отправляет вторую половину сообщения.

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

7.А. складывает две части сообщения Б. и расшифровывает его с помощью своего закрытого ключа.

Обмен ключами с помощью цифровых подписей: обеспечивает вскрытие от использования «человек в середине». ЦРС подписывает открытые ключи А. и Б.. Получив ключи, А. и Б. проверяют подлинность ЦРС, затем выполняют протокол обмена ключами. Злоумышленник не может выдать себя за А. или Б. и не может подменить ключи.

Широковещательная рассылка ключей и сообщений.

1.А. генерирует случайный сеансовый ключ k и шифрует им сообщение М. Еk(М).

2.А. получает из БД открытые ключи Б., Кэрролла и Дэйва.

3.А. шифрует k открытыми ключами Б., К. и Д. соответственно.

4.А. широковещательно рассылает сообщение и все шифрованные ключи свои корреспондентам.

5.Только Б., К. и Д. могут при помощи своего закрытого ключа расшифровать сеансовый ключ k.

6. Только Б., К. и Д. могут расшифровать сообщение М с помощью kю сеансовый ключ k.

14.Использование ключей. Время жизни ключей. Скомпрометированные ключи.

Ключ — секретная информация, используемая криптографическим алгоритмом при

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

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

Для современных симметричных алгоритмов (AES, CAST5, IDEA, Blowfish, Twofish) основной характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается сильным, так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров. Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема факторизации — RSA, проблема дискретного логарифма — Elgamal) в силу их особенностей минимальная надёжная длина ключа в настоящее время — 1024 бит. Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.

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

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

Случаи компрометации:

Физическая утеря носителя информации

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

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

сигнализации, повреждение устройств контроля НСД (слепков печатей), повреждение замков, взлом учётной записи пользователя и т. п.)

Скимминг и шимминг банковских карт

Перехват информации вредоносным ПО

Перехват (подслушивание) звуковой информации

Перехват ключа при распределении ключей

Перехват побочных электромагнитных излучений и наводок

Перехват информации с электрических каналов утечки

Сознательная передача информации постороннему лицу

и другие, в зависимости от вида носителя защищаемой информации и способов работы с ним.

Действия при компрометации ключа:

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

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

15.Блочное шифрование. Схема Фейстеля. Модификации схемы Фейстеля.

Криптографическое преобразование составляет основу любого блочного шифра. Прян криптографическое преобразование (шифрование) переводит блок открытого текста в блок шифротекста той же длины. Обратное криптографическое преобразование дешифрование переводит блок шифротекста в исходный блок открытого текста. Необходимое условие выполнения как прямого, так и обратного криптографического преобразования — наличие каретного ключа. Шифры, в которых прямое и обратное преобразования выполняются над блоками фиксированной длины, называются блочными. Для многих блочных шифров раз рядность блока составляет 64 бита. Прямое криптографическое преобразование обладает дующим свойством: различные блоки открытого текста отображаются в различные блоки шифротекста. При обратном преобразовании соответствие сохраняется. Прямое преобразований можно рассматривать как перестановку на множестве сообщений с фиксированным размером блока. Результат перестановки носит секретный характер, что обеспечивается секретным компонентом — ключом.

При большом размере блоков шифрования реализация такой сети Фейстеля на 32-разрядных архитектурах может вызвать затруднения, поэтому применяются модифицированные варианты этой конструкции. Обычно используются сети с 4 ветвями. На рисунке показаны наиболее распространенные модификации. Также существуют схемы, в которых длины половинок L0 и R0 не совпадают. Они называются несбалансированными.

Модификации сети Фейстеля

16.Криптографические режимы. Режим электронной шифровальной книги (ECB), режим сцепления блоков шифра(CBC).

Electronic Codebook (ECB).

Каждый блок открытого текста заменяется блоком шифротекста. Шифрование может быть описано следующим образом: где i — номера блоков, Ci и Pi — блоки зашифрованного и открытого текстов соответственно, а Ek — функция блочного шифрования. Расшифровка аналогична:

Преимущества:

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

Недостатки:

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

Блоки могут пропадать или появляться. Злоумышленник может перехватить блок и продублировать его, и со стороны приёмника он будет воспринят как «правильный».

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

Cipher Block Chaining (CBC)

Режим сцепления блоков шифротекста (англ. Cipher Block Chaining, CBC) — один из режимов шифрования для симметричного блочного шифра с использованием механизма обратной связи. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 (операция XOR) с предыдущим результатом шифрования. Шифрование может быть описано следующим образом:

=

= ( −1)

где — номера блоков, — вектор инициализации (синхропосылка), Ci и Pi — блоки зашифрованного и открытого текстов соответственно, а Ek — функция блочного шифрования. Расшифровка:

= −1 ( )

Шифрование в режиме CBC

Расшифрования в режиме CBC

Особенности:

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

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

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

Для очень крупных сообщений (32 Гбайта при длине блока 64 бита) всё-таки возможно применение атак, основанных на структурных особенностях открытого текста (следствие парадокса дней рождений).

17.Потоковые шифры. Самосинхронизирующиеся потоковые шифры. Синхронные потовые шифры.

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

Генератор ключевой последовательности, иногда называемый генератором бегущего ключа, выдает последовательность бит k1, k2, ..., ki, Эта ключевая последовательность складывается по модулю 2 с последовательностью бит исходного текста p1, p2, ..., pi, ... для получения шифрованного текста:

=

На приемной стороне шифрованный текст складывается по модулю 2 с идентичной ключевой последовательностью для получения исходного текста:

= =

Синхронные потоковые шифры – шифры, при которых выходные значения генератора не зависят от открытого или шифрованных текстов.

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

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

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

Плюсы синхронных потоковых шифров:

отсутствие эффекта распространения ошибок (только искажённый бит будет расшифрован неверно);

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

Минусы синхронных потоковых шифров:

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

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

Самосинхронизирующиеся потоковые шифры (асинхронные потоковые шифры (АПШ)) – шифры, в которых ключевой поток создаётся функцией ключа и фиксированного числа знаков шифротекста.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]