Алгоритм шифрования «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).
Читать дальше
Конец ознакомительного отрывка
Купить книгу