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

РАЗДЕЛ 4

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

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

Основные понятия криптографической защиты информации

Для обеспечения безопасности данных необходимо поддерживать три основные функции:

¨ защиту конфиденциальности передаваемых или хранимых в памяти данных;

¨ подтверждение целостности и подлинности данных;

¨ аутентификацию абонентов при входе в систему и при установлении соединения.

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

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

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

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

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

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

Обобщенная схема криптосистемы шифрования показана на рис. 4.1. Исходный текст передаваемого сообщения (или хранимой информации) М зашифровывается с помощью криптографического преобразования криптографическая защита информации - student2.ru с получением в результате шифртекста С:

криптографическая защита информации - student2.ru , (4.1)

где криптографическая защита информации - student2.ru – ключ шифрования (параметр функции Е).

криптографическая защита информации - student2.ru

Рис. 4.1. Обобщенная схема криптосистемы шифрования

Шифртекст С, или криптограмма, содержит исходную информацию М в полном объеме, однако последовательность знаков в нем внешне пред­ставляется случайной и не позволяет восстановить исходную информацию без знания ключа шифрования криптографическая защита информации - student2.ru .

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

криптографическая защита информации - student2.ru (4.2)

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

Преобразование шифрования может быть симметричным или асимметричным относительно преобразования расшифрования. Соответственно различают два основных класса криптосистем:

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

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

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

¨ бесключевые криптоалгоритмы – не используют в вычислениях никаких ключей;

¨ одноключевые криптоалгоритмы – работают с одним ключевым параметром (секретным ключом);

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

Более детальная классификация показана на рис. 4.2.

криптографическая защита информации - student2.ru

Рис. 4.2. Классификация криптоалгоритмов защиты информации

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

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

Симметричное шифрование подразделяется на два вида: блочное и поточное; поточное шифрование – это шифрование блоков единичной длины.

Блочное шифрование характеризуется тем, что информация предварительно разбивается на блоки фиксированной длины (например, 64 или 128 бит). При этом в различных криптоалгоритмах или даже в разных режимах работы одного и того же алгоритма блоки могут шифроваться как независимо друг от друга, так и «со сцеплением» – результат шифрования текущего блока данных зависит от значения предыдущего блока или от результата шифрования предыдущего блока.

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

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

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

Стандарт шифрования AES

Криптоалгорит AES обладает следующими свойствами:

¨ алгоритм является симметричным;

¨ алгоритм является блочным шифром;

¨ алгоритм имеет длину блока 128 бит и поддерживать три длины ключа: 128, 192 и 256 бит.

¨ алгоритм использует операции, реализуемые как аппаратно (в микрочипах), так и программно (на персональных компьютерах и серверах);

¨ алгоритм ориентироваться на 32-разрядные процессоры;

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

В отличие от отечественного стандарта шифрования ГОСТ 28147-89, алгоритм AES представляет каждый блок обрабатываемых данных в виде двухмерного байтного массива размером 4´4, 4´6 или 4´8 в зависимости от установленной длины блока. Далее на соответствующих этапах производятся преобразования либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами.

Алгоритм AES состоит из определенного количества раундов (от 10 до 14 – это зависит от размера блока и длины ключа) и выполняет четыре преобразования:

¨ BS (ByteSub) – табличная замена каждого байта массива (рис. 4.9). Преобразование BS является нелинейной байтовой подстановкой которая воздействует независимо на каждый байт массива, используя таблицу замен (подстановок) S-box;

¨ SR (ShiftRow) – сдвиг строк массива (рис. 4.10). При этой операции первая строка остается без изменений, а остальные циклически побайтно сдвигаются влево на фиксированное число байтов, зависящее от размера массива. Например, для массива размером 4´4 строки 2, 3 и 4 сдвигаются соответственно на 1, 2 и 3 байта;

¨ МС (MixColumn) – операция над независимыми столбцами массива (рис. 4.11) – каждый столбец по определенному правилу умножается на фиксированную матрицу с(х);

¨ АК (AddRoundKey) – добавление ключа. Каждый бит массива складывается по модулю 2 с соответствующим битом ключа раунда, который, в свою очередь, определенным образом вычисляется из ключа шифрования (рис. 4.12).

криптографическая защита информации - student2.ru

Рис. 4.9. Преобразование BS (ByteSub) использует таблицу замен

(подстановок) для обработки каждого байта массива State

криптографическая защита информации - student2.ru

Рис. 4.10. Преобразование SR (ShiftRow) циклически сдвигает

три последних строки в массиве State

криптографическая защита информации - student2.ru

Рис. 4.11. Преобразование МС (MixColumn) поочередно обрабатывает

столбцы массива State

криптографическая защита информации - student2.ru

Рис. 4.12. Преобразование АК (AddRoundKey) производит сложение XOR

каждого столбца массива State со словом из ключевого набора

В каждом раунде над шифруемыми данными поочередно выполняются перечисленные преобразования (рис. 4.13). Исключения касаются первого и последнего раундов: перед первым раундом дополнительно выполняется операция АК, а в последнем раунде отсутствует МС.

криптографическая защита информации - student2.ru

Рис. 4.13. Раунд алгоритма AES

В результате последовательность операций при зашифровании выглядит так: АК, {BS, SR, МС, АК} (повторяется R - 1 раз), BS, SR, АК.

Количество раундов шифрования R в алгоритме AES переменное (10, 12 или 14 раундов) и зависит от размеров блока и ключа шифрования (для ключа также предусмотрено несколько фиксированных размеров).

Расшифрование выполняется с помощью следующих обратных операций:

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

2. Обратной операцией к SR является циклический сдвиг строк вправо.

3. Обратная операция для МС – умножение по тем же правилам на другую матрицу d(x), удовлетворяющую условию с(х) * d(x) = 1.

4. Добавление ключа АК является обратным самому себе, поскольку в нем используется только операция XOR.

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

Алгоритм имеет ряду преимуществ перед другими алгоритмами:

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

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

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

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

Криптоалгоритм RSA был разработан в 1978 году тремя авторами: Р. Райвестом (Rivest), A. Шамиром (Shamir) и Л. Эйдельманом (Adleman). Алгоритм получил свое название по первым буквам фамилий его авторов. Алгоритм RSA стал первым алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи.

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

В алгоритме RSA открытый ключ КB, секретный ключ kB, сообщение М и криптограмма С принадлежат множеству целых чисел

криптографическая защита информации - student2.ru , (4.10)

где N – модуль:

криптографическая защита информации - student2.ru . (4.11)

Здесь Р и Q – случайные большие простые числа. Для обеспечения максимальной безопасности выбирают Р и Q равной длины и хранят их в секрете.

Множество криптографическая защита информации - student2.ru с операциями сложения и умножения по модулю N образует арифметику по модулю N.

Открытый ключ КB выбирают случайным образом так, чтобы выполнялись условия

криптографическая защита информации - student2.ru , (4.12)

криптографическая защита информации - student2.ru . (4.13)

где криптографическая защита информации - student2.ru – функция Эйлера.

Функция Эйлера криптографическая защита информации - student2.ru указывает количество положительных целых чисел в интервале от 1 до N, которые взаимно просты с N.

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

Далее, используя расширенный алгоритм Евклида, вычисляют секретный ключ kB, такой, что

криптографическая защита информации - student2.ru (4.14)

или

криптографическая защита информации - student2.ru . (4.15)

Это можно осуществить, так как получатель В знает пару простых чисел (Р, Q) и может легко найти криптографическая защита информации - student2.ru . Заметим, что kB и N должны быть взаимно простыми.

Открытый ключ КB используют для шифрования данных, а секретный ключ kB – для расшифрования.

Процедура шифрования определяет криптограмму С через пару (открытый ключ КB, сообщение М) в соответствии со следующей формулой:

криптографическая защита информации - student2.ru . (4.16)

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

Расшифрование криптограммы С выполняют, используя пару (секретный ключ kB, криптограмма С) по следующей формуле:

криптографическая защита информации - student2.ru . (4.17)

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

Пользователи В и А должны выполнить следующие действия:

1. Пользователь В выбирает два произвольных больших простых числа Р и Q.

2. Пользователь В вычисляет значение модуля криптографическая защита информации - student2.ru .

3. Пользователь В вычисляет функцию Эйлера

криптографическая защита информации - student2.ru

и выбирает случайным образом значение открытого ключа КB с учетом выполнения условий

криптографическая защита информации - student2.ru .

4. Пользователь В вычисляет значение секретного ключа kB, используя расширенный алгоритм Евклида при решении сравнения

криптографическая защита информации - student2.ru .

5. Пользователь В пересылает пользователю А пару чисел (N, КB) по незащищенному каналу.

Если пользователь А хочет передать пользователю В сообщение М, он выполнить следующие действия:

6. Пользователь А разбивает исходный открытый текст М на блоки, каждый из которых может быть представлен в виде числа

криптографическая защита информации - student2.ru .

7. Пользователь А шифрует текст, представленный в виде последовательности чисел криптографическая защита информации - student2.ru , по формуле

криптографическая защита информации - student2.ru

и отправляет криптограмму

криптографическая защита информации - student2.ru

пользователю В.

8. Пользователь В расшифровывает принятую криптограмму

криптографическая защита информации - student2.ru

используя секретный ключ kB, по формуле

криптографическая защита информации - student2.ru .

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

Пример: Шифрование сообщения CAB. Для простоты вычислений будут использоваться небольшие числа. На практике применяются очень большие числа (длиной 250÷300 десятичных разрядов).

Действия пользователя В:

1. Выбирает Р = 3 и Q = 11.

2. Вычисляет модуль криптографическая защита информации - student2.ru .

3. Вычисляет значение функции Эйлера для N = 33:

криптографическая защита информации - student2.ru .

Выбирает в качестве открытого ключа КB произвольное число с учетом выполнения условий

криптографическая защита информации - student2.ru

т.е. ключ должен быть взаимно простым с криптографическая защита информации - student2.ru (целым числом, которое не имеет общих делителей с криптографическая защита информации - student2.ru – 3, 7, 9 и т.д.). Пусть криптографическая защита информации - student2.ru .

4. Вычисляет значение секретного ключа kB, используя расширенный алгоритм Евклида при решении сравнения

криптографическая защита информации - student2.ru ;

криптографическая защита информации - student2.ru ;

криптографическая защита информации - student2.ru

Решение дает криптографическая защита информации - student2.ru .

5. Пересылает пользователю А пару чисел (N = 33, КB = 7).

Действия пользователя А:

6. Представляет шифруемое сообщение как последовательность целых чисел в диапазоне 0...32. Пусть буква А представляется как число 1, буква В – как число 2, буква С – как число 3. Тогда сообщение CAB можно представить как последовательность чисел 312, то есть М1 = 3, М2 = 1, М3 = 2.

7. Шифрует текст, представленный в виде последовательности чисел М1, М2 и М3 используя ключ КB = 7 и N = 33, по формуле

криптографическая защита информации - student2.ru .

Получает

криптографическая защита информации - student2.ru ,

криптографическая защита информации - student2.ru ,

криптографическая защита информации - student2.ru .

Отправляет пользователю В криптограмму

С1, С2, С3 = 9, 1, 29.

Действия пользователя В:

8. Расшифровывает принятую криптограмму С1, С2, С3 используя секретный ключ kB = 3, по формуле

криптографическая защита информации - student2.ru .

Получает

криптографическая защита информации - student2.ru ,

криптографическая защита информации - student2.ru ,

криптографическая защита информации - student2.ru .

Таким образом, восстановлено исходное сообщение: CAB

Криптоалгоритм RSA всесторонне исследован и признан стойким при достаточной длине ключей. В настоящее время длина ключа 1024 бит считается приемлемым вариантом. Некоторые авторы утверждают, что с ростом мощности процессоров криптоалгоритм RSA потеряет стойкость к атаке полного перебора. Однако увеличение мощности процессоров позволит применить более длинные ключи, что повышает стойкость RSА. Следует отметить, что алгоритм RSА можно применять как для шифрования сообщений, так и для электронной цифровой подписи.

Нетрудно видеть, что в асимметричной криптосистеме RSA количество ис­пользуемых ключей связано с количеством абонентов линейной зависимостью (в системе из N пользователей используются 2 ´ N ключей), а не квадратичной, как в симметричных системах.

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

Функции хэширования

Функция хэширования (хэш-функция) представляет собой преобразование, на вход которого подается сообщение переменной длины М, а выходом является строка фиксированной длины h(M). Иначе говоря, хэш-функция криптографическая защита информации - student2.ru принимает в качестве аргумента сообщение (документ) М произвольной длины и возвращает хэш-значение (хэш) фиксированной длины (рис. 4.19).

криптографическая защита информации - student2.ru

Рис. 4.19. Схема формирования хэша криптографическая защита информации - student2.ru

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

Функция хэширования позволяет сжать подписываемый документ М до 128 и более битов (в частности, 128 или 256 бит), тогда как М может быть размером d Мегабайт или более. Следует отметить, что значение хэш-функции h(M) зависит сложным образом от документа М и не позволяет восстановить сам документ М.

Функция хэширования должна обладать следующими свойствами:

1. Хэш-функция может быть применена к аргументу любого размера.

2. Выходное значение хэш-функции имеет фиксированный размер.

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

4. Хэш-функция должна быть чувствительна к всевозможным изменениям в тексте М, таким как вставки, удаления, перестановки и т.п.

5. Хэш-функция должна быть однонаправленной, то есть обладать свойством необратимости; иными словами, задача подбора документа М', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима.

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

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

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

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

Широко применяются следующие функции хэширования:

¨ отечественный стандарт ГОСТ Р34.11-94. Вычисляет хэш размером 256 бит;

¨ MD (Message Digest) – ряд алгоритмов хэширования, наиболее распространенных в мире. Каждый из них вырабатывает 128-битный хэш-код. Алгоритм MD2 – самый медленный из них, MD4 – самый быстрый. Алгоритм MD5 является модификацией MD4, при которой пожертвовали скоростью ради увеличения безопасности. Алгоритм MD5 применяется в последних версиях Microsoft Windows для преобразования пароля пользователя в 16-байтное число;

¨ SHA-1 (Secure Hash Algorithm Version 1) – алгоритм вычисления дайджеста сообщений, вырабатывающий 160-битный хэш-код входных данных; широко распространен в мире, используется во многих сетевых протоколах защиты информации;

¨ SHA-2 (Secure Hash Algorithm Version 2) – безопасный алгоритм хэширования версии 2, представляющий собой семейство более стойких хеш-функций SHA-224, SHA-256, SHA-384 и SHA-512 с длинами хэша соответс­твенно 224, 256, 384 и 512 бит. Алгоритмы семейства SHA-2 работают в 2÷3 раза медленнее популярных хэш-алгоритмов MD5 и SHA-1.

Управление криптоключами

Управление ключами включает реализацию таких функций как генерация, хранение и распределение ключей. Распределение ключей – самый ответственный процесс в управлении ключами.

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

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

К распределению ключей предъявляются следующие требования:

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

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

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

1. Использование одного или нескольких центров распределения ключей.

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

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

Задача распределения ключей сводится к построению такого протокола распределения ключей, который обеспечивает:

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

· подтверждение достоверности сеанса;

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

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

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

Для решения этой проблемы можно применить два основных способа:

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

2. Использование системы открытого распределения ключей Диффи-Хеллмана.

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

Второй способ безопасного распространения секретных ключей основан на применении алгоритма открытого распределения ключей Диффи-Хеллмана. Этот алгоритм позволяет пользователям обмениваться ключами по незащищенным каналам связи.

РАЗДЕЛ 4

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

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

Основные понятия криптографической защиты информации

Для обеспечения безопасности данных необходимо поддерживать три основные функции:

¨ защиту конфиденциальности передаваемых или хранимых в памяти данных;

¨ подтверждение целостности и подлинности данных;

¨ аутентификацию абонентов при входе в систему и при установлении соединения.

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

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

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

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

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

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

Обобщенная схема криптосистемы шифрования показана на рис. 4.1. Исходный текст передаваемого сообщения (или хранимой информации) М зашифровывается с помощью криптографического преобразования криптографическая защита информации - student2.ru с получением в результате шифртекста С:

криптографическая защита информации - student2.ru , (4.1)

где криптографическая защита информации - student2.ru – ключ шифрования (параметр функции Е).

криптографическая защита информации - student2.ru

Рис. 4.1. Обобщенная схема криптосистемы шифрования

Шифртекст С, или криптограмма, содержит исходную информацию М в полном объеме, однако последовательность знаков в нем внешне пред­ставляется случайной и не позволяет восстановить исходную информацию без знания ключа шифрования криптографическая защита информации - student2.ru .

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

криптографическая защита информации - student2.ru (4.2)

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

Преобразование шифрования может быть симметричным или асимметричным относительно преобразования расшифрования. Соответственно различают два

Наши рекомендации