КРИПТОГРАФИЯ PDF Print E-mail
Written by Administrator   
Sunday, 19 August 2012 20:43

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

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

Симметричное шифрование

Симметричное шифрование, которое часто называют шифрованием с помощью секретных ключей, в основном используется для обеспечения конфиденциальности данных. Для того чтобы обеспечить конфиденциальность данных абоненты должны совместно выбрать единый математический алгоритм, который будет использоваться для шифрования и расшифровки данных. Кроме того, им нужно выбрать общий ключ (секретный ключ), который будет использоваться с принятым ими алгоритмом шифрования/расшифровки.Сегодня широко используются такие алгоритмы секретных ключей, как Data Encryption Standard (DES), 3DES (или «тройной DES») и International Data Encryption Algorithm (IDEA). Эти алгоритмы шифруют сообщения блоками по 64 бита. Если объем сообщения превышает 64 бита (как это обычно и бывает), необходимо разбить его на блоки по 64 бита в каждом, а затем каким-то образом свести их воедино. Такое объединение, как правило, происходит одним из следующих четырех методов:

-    электронной кодовой книги (Electronic Code Book, ECB);

-    цепочки зашифрованных блоков (Cipher Block Changing, CBC);

-    x-битовой зашифрованной обратной связи (Cipher FeedBack, CFB-x);

-    выходной обратной связи (Output FeedBack, OFB).

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

-    Необходимо часто менять секретные ключи, поскольку всегда существует риск их случайного раскрытия;

-    Трудно обеспечить безопасное генерирование и распространение секретных ключей.

Асимметричное шифрование

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

-    обеспечение конфиденциальности данных;

-    аутентификация отправителя;

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

Механизмы генерирования пар общих/частных ключей являются достаточно

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

Среди наиболее известных алгоритмов общих ключей можно назвать RSA (Rivest-Shamir-Adleman, Ривест-Шамир-Адельман) и ElGamal (Эль-Гамал).
Безопасная хэш-функция
Безопасной хэш-функцией называется функция, которую легко рассчитать, но обратное восстановление практически невозможно, так как требует непропорционально больших усилий. Входящее сообщение пропускается через математическую функцию (хэш-функцию), и в результате на выходе мы получаем некую последовательность битов (рис. 2.7). Эта последовательность называется «хэш» (или «результат обработки сообщения»). Хэш-функция принимает сообщение любой длины и выдает на выходе хэш фиксированной длины.
Обычные хэш-функции включают:

-    алгоритм Message Digest 4 (MD4);

-    алгоритм Message Digest 5 (MD5);

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

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

-    номер версии;

-    серийный номер сертификата;

-    эмитент информации об алгоритме;

-    эмитент сертификата;

-    даты начала и окончания действия сертификата;

-    информацию об алгоритме общего ключа субъекта сертификата;

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

1)    отправитель создаёт сертификат, в который включает общий ключ;

2)    получатель запрашивает у центра сертификации сертификат отправителя;

3)    центр сертификации подписывает сертификат отправителя;

4)    центр сертификации посылает подписанный сертификат получателю;

5)    получатель проверяет подпись центра сертификации и извлекает общий ключ отправителя.

Для реализации этой схемы необходима надежная система распространения общего ключа CA среди пользователей. Для этого создана инфраструктура открытых ключей PKI (Public Key Infrastructure). Использование PKI позволяет упростить управление безопасностью путём автоматизации, усилить режим безопасности благодаря значительной сложности компрометации цифровых сертификатов, усовершенствовать и интегрировать управление защитой, усилить контроль защищенного доступа к бизнес-ресурсам.

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

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