Средства обеспечения безопасности
CP Assist for Cryptographic Function (CPACF)
Каждый из центральных процессоров имеет спецпроцессор поддержки криптографии, обеспечивающий функции высокопроизводительного шифрования/дешифрации. В моделях z800 и z900 таких сопроцессоров может быть не более двух на систему. Для поддержки специальных функций криптографии в систему команд CPACF z990 включены пять новых инструкций:
- KMAC (Compute Message Authentic Code) - вычисление МАС-кода;
- KM (Cipher Message) - шифрование сообщений;
- KMC (Cipher Message with chaining) - шифрование сообщений со сцеплением;
- KIMD (Compute Intermediate Message Digest) - вычисление промежуточных хэш-кодов;
- KLDM (Compute Last Message Digest) - вычисление последнего хэш-кода.
Хэш-код (или профиль сообщения) представляет собой короткую цифровую строку (обычно 128 или 160 битов), формируемую из более длинного сообщения (message) с использованием специального алгоритма. Обычно используемыми алгоритмами являются MD5 (описан в RFC 1321), SHA-1 (описан в стандарте FIPS PUB 180-1), SHA-256 и SHA-512 (разработаны национальным агентством по безопасности правительства США). Алгоритм MD5 для входных сообщений произвольной длины генерирует на выходе 128-битовый алгоритм SHA-1 и, соответственно, 160-битовый хэш-код. Поскольку защита от атак хэш-алгоритма SHA-1 обеспечивается 80 битами, разработаны усовершенствованные алгоритмы SHA-256 и SHA-512, генерирующие строки, соответственно, в 256 и 512 бит, в большей степени отвечающие условиям применения нового стандарта шифрования AES (с предусматриваемыми длинами ключей до 256 бит). Для предотвращения подделок передаваемых сообщений хэш-код шифруется обычно по принципам асимметричного шифрования. Получаемая при этом информационная структура обозначается как МАС-код (Message Authentication Code) и является основой цифровой подписи (Digital Signature), обеспечивающей решение задач целостности документов (сообщений) и идентификации их отправителей.
Рис. 4.17 иллюстрируют процессы создания и верификации цифровой подписи. Сначала отправитель и получатель должны договориться об алгоритме шифрования общим ключом, создать пары общих/частных ключей и обменяться общими ключами. Им также нужно прийти к согласию в выборе алгоритма хэширования (например, MD5).
Перечисленные инструкции сопроцессора ориентированы на использование нового метода формирования МАС-кода НМАС (Keyed Hashing for Message Authentication Code), изобретенного сотрудниками IBM Г. Кравчиком и Р. Канетти (описан в REC 2104 как предлагаемый Internet-стандарт). НМАС устраняет такие недостатки алгоритма MD5 как возможность преобразования различающихся сообщений в одинаковый хэш-код.
Базовые возможности CPACF представлены выбором криптографических функций, повышающих производительность операций шифрования/дешифрации для приложений протоколов SSL и VPN, не требующих безопасности уровня 4 по классификатору FIPS 140-2. Архитектурное решение при этом включает шифрование и дешифрацию по алгоритмам DES, Triple-DES, авторизацию на основе МАС-кода и алгоритм хэширования SHA-1. Эти функции непосредственно доступны приложениям.