страница 1 | страница 2 страница 3 страница 4
Таблица № 1.
Для того чтобы избежать низкой скорости алгоритмов асимметричного шифрования, генерируется временный симметричный ключ для каждого сообщения и только он шифруется асимметричными алгоритмами. Само сообщение шифруется с использованием этого временного сеансового ключа и алгоритма шифрования/расшифровки, ранее описанного. Затем этот сеансовый ключ шифруется с помощью открытого асимметричного ключа получателя и асимметричного алгоритма шифрования. После этого этот зашифрованный сеансовый ключ вместе с зашифрованным сообщением передается получателю. Получатель использует тот же самый асимметричный алгоритм шифрования и свой секретный ключ для расшифровки сеансового ключа, а полученный сеансовый ключ используется для расшифровки самого сообщения.
В асимметричных криптосистемах важно, чтобы сеансовые и асимметричные ключи были сопоставимы в отношении уровня безопасности, который они обеспечивают. Если используется короткий сеансовый ключ (например, 40-битовый DES), то не имеет значения, насколько велики асимметричные ключи. Асимметричные открытые ключи уязвимы к атакам прямым перебором отчасти из-за того, что их тяжело заменить. Если атакующий узнает секретный асимметричный ключ, то будет скомпрометирован не только текущее, но и все последующие взаимодействия между отправителем и получателем.
Порядок использования систем с асимметричными ключами:
-
Безопасно создаются и распространяются асимметричные открытые и секретные ключи. Секретный асимметричный ключ передается его владельцу. Открытый асимметричный ключ хранится в базе данных и администрируется центром выдачи сертификатов. Подразумевается, что пользователи должны верить, что в такой системе производится безопасное создание, распределение и администрирование ключами. Более того, если создатель ключей и лицо или система, администрирующие их, не одно и то же, то конечный пользователь должен верить, что создатель ключей на самом деле уничтожил их копию.
-
Создается электронная подпись текста с помощью вычисления его хэш-функции. Полученное значение шифруется с использованием асимметричного секретного ключа отправителя, а затем полученная строка символов добавляется к передаваемому тексту (только отправитель может создать электронную подпись).
-
Создается секретный симметричный ключ, который будет использоваться для шифрования только этого сообщения или сеанса взаимодействия (сеансовый ключ), затем при помощи симметричного алгоритма шифрования/расшифровки и этого ключа шифруется исходный текст вместе с добавленной к нему электронной подписью - получается зашифрованный текст (шифр-текст).
-
Теперь нужно решить проблему с передачей сеансового ключа получателю сообщения.
-
Отправитель должен иметь асимметричный открытый ключ центра выдачи сертификатов. Перехват незашифрованных запросов на получение этого открытого ключа является распространенной формой атаки. Может существовать целая система сертификатов, подтверждающих подлинность открытого ключа.
-
Отправитель запрашивает у центра сертификатов асимметричный открытый ключ получателя сообщения. Этот процесс уязвим к атаке, в ходе которой атакующий вмешивается во взаимодействие между отправителем и получателем и может модифицировать трафик, передаваемый между ними. Поэтому открытый асимметричный ключ получателя "подписывается" у центра сертификатов. Это означает, что центр сертификатов использовал свой асимметричный секретный ключ для шифрования асимметричного отркытого ключа получателя. Только центр сертификатов знает асимметричный секретный ключ, поэтому есть гарантии того, что открытый асимметричный ключ получателя получен именно от него.
-
После получения асимметричный открытый ключ получателя расшифровывается с помощью асимметричного открытого ключа и алгоритма асимметричного шифрования/расшифровки. Естественно, предполагается, что центр сертификатов не был скомпрометирован. Если же он оказывается скомпрометированным, то это выводит из строя всю сеть его пользователей. Поэтому можно и самому зашифровать открытые ключи других пользователей, но где уверенность в том, что они не скомпрометированы?
-
Теперь шифруется сеансовый ключ с использованием асимметричного алгоритма шифрования-расшифровки и асимметричного ключа получателя (полученного от центр сертификатов и расшифрованного).
-
Зашифрованный сеансовый ключ присоединяется к зашифрованному тексту (который включает в себя также добавленную ранее электронную подпись).
-
Весь полученный пакет данных (зашифрованный текст, в который входит помимо исходного текста его электронная подпись, и зашифрованный сеансовый ключ) передается получателю. Так как зашифрованный сеансовый ключ передается по незащищенной сети, он является очевидным объектом различных атак.
-
Получатель выделяет зашифрованный сеансовый ключ из полученного пакета.
-
Теперь получателю нужно решить проблему с расшифровкой сеансового ключа.
-
Получатель должен иметь асимметричный открытый ключ центра выдачи сертификатов.
-
Используя свой секретный асимметричный ключ и тот же самый асимметричный алгоритм шифрования получатель расшифровывает сеансовый ключ.
-
Получатель применяет тот же самый симметричный алгоритм шифрования-расшифровки и расшифрованный симметричный (сеансовый) ключ к зашифрованному тексту и получает исходный текст вместе с электронной подписью.
-
Получатель отделяет электронную подпись от исходного текста.
-
Получатель запрашивает у центр сертификатов асимметричный открытый ключ отправителя.
-
Как только этот ключ получен, получатель расшифровывает его с помощью открытого ключа центр сертификатов и соответствующего асимметричного алгоритма шифрования-расшифровки.
-
Затем расшифровывается хэш-функция текста с использованием открытого ключа отправителя и асимметричного алгоритма шифрования-расшифровки.
-
Повторно вычисляется хэш-функция полученного исходного текста.
-
Две эти хэш-функции сравниваются для проверки того, что текст не был изменен.
2.2 Алгоритмы шифрования
Алгоритмы шифрования с использованием ключей предполагают, что данные не сможет прочитать никто, кто не обладает ключом для их расшифровки. Они могут быть разделены на два класса, в зависимости от того, какая методология криптосистем напрямую поддерживается ими.
2.2.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' бит из массива случайно созданных бит, хранящихся в этом устройстве. У отправителя и получателя имеются одинаковые устройства. После использования биты разрушаются, и в следующий раз используются другие биты.
|
Поточные шифры
|
Быстрые алгоритмы симметричного шифрования, обычно оперирующие битами (а не блоками бит).
Разработаны как аналог устройства с одноразовыми ключами, и хотя не являются такими же безопасными, как оно, по крайней мере практичны.
|
страница 1 | страница 2 страница 3 страница 4
|