Выбери любимый жанр

Выбрать книгу по жанру

Фантастика и фэнтези

Детективы и триллеры

Проза

Любовные романы

Приключения

Детские

Поэзия и драматургия

Старинная литература

Научно-образовательная

Компьютеры и интернет

Справочная литература

Документальная литература

Религия и духовность

Юмор

Дом и семья

Деловая литература

Жанр не определен

Техника

Прочее

Драматургия

Фольклор

Военное дело

Последние комментарии
оксана2018-11-27
Вообще, я больше люблю новинки литератур
К книге
Professor2018-11-27
Очень понравилась книга. Рекомендую!
К книге
Vera.Li2016-02-21
Миленько и простенько, без всяких интриг
К книге
ст.ст.2018-05-15
 И что это было?
К книге
Наталья222018-11-27
Сюжет захватывающий. Все-таки читать кни
К книге

Американская криптология
(История спецсвязи) - Гребенников Вадим Викторович - Страница 42


42
Изменить размер шрифта:

Алгоритм шифрования «SKIPJACK» имеет три режима работы: «ЕСВ» (англ. Electronic Codebook — электронная кодовая книга), «OFB» (англ. Output Feedback — исходный отзыв) и «СВС» (англ. Cipher Block Chaining — шифроблочная цепь). Как правило, алгоритм «Fortezza» использует режим «СВС». В этом режиме все 8-байтные блоки открытого текста, кроме первого, используются для выполнения операции «XOR» (побитовое сложение по модулю 2) с блоком зашифрованного текста, полученным на предыдущем шаге работы алгоритма с использованием «МЕК». Вектор «IV» применяется для шифрования первого блока открытого текста.

Для того, чтобы злоумышленник смог дешифровать сообщение, ему необходимо знать не только «МЕК», но и «IV». При этом компрометация «IV» не настолько существенна, если злоумышленник не обладает «МЕК».

Распределение ключей шифрования «МЕК» основано на применении разработанного в АНБ алгоритма обмена ключами «КЕА» (англ. Key Exchange Algorithm), посылающего зашифрованный «МЕК» с каждым сообщением. Поскольку обмен ключами «КЕА» интегрирован в технологию «Fortezza», ключи шифрования могут меняться от сообщения к сообщению или от сеанса к сеансу.

Алгоритм «КЕА» использует для шифрования «МЕК» специальный ключ, названный «ТЕК» (англ. Token Encryption Key — ключ полуторного шифрования). Необходимо иметь в виду, что в дополнениях, использующих технологию «Fortezza», «ТЕК» может быть использован при шифровании данных как альтернатива ключа шифрования «МЕК», однако «МЕК» не может быть использован для защиты «ТЕК» в процессе обмена ключами.

Шифрование с открытым ключом в стандартном режиме алгоритма «Fortezza» используется только для обмена ключами с использованием «КЕА» и для цифровой подписи сообщений (включая временные метки). В описании алгоритма «Fortezza» обычно используют такие обозначения: 20-байтный закрытый ключ называется «X», 128-байтный открытый ключ называется «Y», «Р» и «Q» — большие простые числа (секретные), «G» — простое число по модулю «PXQ» (общедоступное).

Общий процесс шифрования сообщений с использованием открытого ключа абонента выглядит таким образом. Отправитель шифрует сообщение для получателя, используя открытый ключ получателя «Y» и алгоритм шифрования с открытым ключом. Получатель дешифрует сообщение отправителя с помощью своего закрытого ключа «X». Каждый, кто получит доступ к месту хранения открытых ключей, сможет зашифровать данные для получателя, но только получатель сможет дешифровать эти данные, поскольку никто не знает его закрытого ключа. Генерация и распределение пар открытого и закрытого ключей для организации обмена ключами «КЕА» и цифровой подписи производится для каждого пользователя отдельно в соответствии со специальной процедурой.

Как отмечено выше, алгоритм обмена ключами «КЕА» разработан специалистами АНБ и используется для организации распределения ключей шифрования «МЕК» при информационном обмене и для рассылки секретных ключей пользователям. Основным преимуществом «КЕА» является тот факт, что обе стороны могут вычислить один и тот же «ТЕК» самостоятельно, используя два случайных числа (А и В), собственные параметры Р, Q, G и открытый ключ абонента. Когда «КЕА» используется при информационном обмене, принимающая сторона может получить все значения, необходимые для дешифровки сообщения, вместе с принятым сообщением.

Заметим, что в данном алгоритме значения Р, Q и G, использованные отправителем для первоначальной генерации «ТЕК», а получателем для генерации «ТЕК» при получении сообщения, не передаются по каналам связи и одинаковые для всех пользователей.

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

Необходимо отметить, что то же сообщение, адресованное разным абонентам, шифруется с использованием одного ключа «МЕК», однако этот ключ должен быть свёрнут с помощью разных «ТЕК», которые отвечают получателям данного сообщения. Дополнение: адресат должен пересмотреть сообщение и найти «ТЕК», предназначенный для данного пользователя, развернуть «МЕК» и дешифровать полученное сообщение.

Для контроля целостности переданных сообщений, обеспечения подлинности и невозможности отрицания авторства технология «Fortezza» использует алгоритм цифровой подписи «DSA» и алгоритм безопасного хэширования «SHA-1» (англ. Secure Hash Algorithm), отвечающий стандарту цифровой подписи «DSS» (англ. Digital Signature Standard).

После вычисления хэш-функции сообщения, 20-байтний хэш-блок превратится с помощью алгоритма «DSA» в цифровую подпись сообщения размером 40 байт. Необходимо обратить внимание на расхождение в использовании параметров Р, Q и G в алгоритмах распределения ключей «КЕА» и цифровой подписи «DSA». При проверке цифровой подписи сообщения отправителя получатель должен иметь доступ к значениям Р, Q и G отправителя. Эти параметры должны распространяться или в заглавии сообщения, или вместе с открытым ключом отправителя.

С целью снабжения каждого пользователя набором собственных значений Р, Q и G прикладная библиотека «CI Library» имеет соответствующие функции загрузки этих значений. Такое расхождение в использовании этих параметров связано с возможностью «DSA», в отличие от «КЕА», поддерживать информационный обмен между пользователями разных доменов, которые могут различаться процедурами распространения и сертификации ключей.

На момент создания технологии «Fortezza» не существовало правительственных или промышленных стандартов временных меток цифровой подписи. Для «привязки» сообщений ко времени их создания применяется дополнительная процедура вычисления хэш-функции от хэш-блока сообщения и текущего времени, взятого из надёжного источника (например, криптокарты «Fortezza»).

Необходимо отметить, что значения Р, Q и G, используемые алгоритмом «DSA» при вычислении подписи с применением временных меток, являются общими для всех карт «Fortezza» и записываются в память производителем криптокарты. Поскольку проверка цифровой подписи в случае применения временной метки связана с необходимостью синхронизации источников времени, вычислением времени доставки сообщения и другими сложностями, использование временных меток в технологии «Fortezza» не является обязательным.

Как следует из сказанного выше, в технологии «Fortezza» должен существовать протокол, регламентирующий выдачу и распространение открытых ключей пользователей. Открытые ключи ассоциируются с их владельцами с помощью так называемых «сертификатов». Сертификат представляет собой структуру данных, связывающую идентификатор пользователя, открытые ключи, предназначенные для алгоритмов «КЕА» и «DSA», а также информацию о лице, выдавшем сертификат. С целью защиты от подделки сертификат защищается цифровой подписью лица, выдавшего сертификат. Сертификаты и пары закрытых/открытых ключей образуют основу системы управления ключами технологии «Fortezza».

Как основу системы аутентификации «Fortezza» использует схему аутентификации сертификатов «Х.509» и соглашения о наименовании объектов «Х.500». Технология «Fortezza» различает две структуры сертификатов. Под сертификатом «Fortezza» понимается внутренняя структура данных технологии «Fortezza», под сертификатом «Х.509» — блок данных стандарта «Х.509», содержащихся в сертификате «Fortezza».

Каждый сертификат «Fortezza» состоит из двух пар закрытых/открытых ключей (одна из них предназначена для использования в «КЕА», другая — в «DSA») и соответствующих им значений параметров Р, Q и G. Сертификат «Х.509» содержит открытые составляющие этих ключей. Открытые ключи всегда доступны пользователю карты. Ключи сохраняются в закодированном виде: закрытые — с помощью локальных ключей пользователя «Ks» (он имеет размер 80 бит, находится в специальном регистре криптокарты и становится доступным после успешного введения «РIII»-кода пользователя), открытые — с помощью «ASN.1».