Проверка подлинности информации. Цифровая подпись
При передаче информации должны быть обеспечены вместе или по отдельности:
1. Конфиденциальность (privacy) - злоумышленник не должен иметь возможности узнать содержание передаваемого сообщения.
2. Подлинность (authenticity), которая включает два понятия
- целостность (integrity) - сообщение должно быть защищено от случайного или умышленного изменения;
- идентификация отправителя (проверка авторства) - получатель должен иметь возможность проверить, кем отправлено сообщение.
Шифрование может обеспечить конфиденциальность, а в некоторых системах и целостность.
Целостность сообщения проверяется вычислением контрольной функции (check function) от сообщения - некоего числа небольшой длины. Эта контрольная функция должна с высокой вероятностью изменяться даже при малых изменениях сообщения (удаление, включение, перестановки или переупорядочивание информации). Называют и вычисляют контрольную функцию по-разному:
- код подлинности сообщения (Message Authentical Code, MAC);
- квадратичный конгруэнтный алгоритм (Quadratic Congruentical Manipulation Detection Code, QCMDС);
- Manipulation Detection Code (MDС);
- Message Digest Algorithm (MD5);
- контрольная сумма;
- символ контроля блока (Block Check Character, BCC);
- циклический избыточный код (ЦИК, Cyclic Redundancy Check, CRC);
- хеш-функция (hash);
- имитовставка в ГОСТ 28147-89;
- алгоритм с усечением до n битов (n-bit Algorithm with Truncation).
При вычислении контрольной функции может использоваться какой-либо алгоритм шифрования. Возможно шифрование самой контрольной суммы.
Широко применяется цифровая подпись (цифровое дополнение к передаваемой информации, гарантирующее целостность последней и позволяющее проверить ее авторство). Известны модели цифровой подписи (digital signature) на основе алгоритмов симметричного шифрования, но при использовании систем с открытыми ключами цифровая подпись осуществляется более удобно.
Для использования алгоритма RSA сообщение следует сжать функцией хеширования (алгоритм MD5 - Message Digest Algorithm) до 256-битового хеша (H). Сигнатура сообщения S вычисляется следующим образом:
Сигнатура пересылается вместе с сообщением.
Процесс идентификации заключается в получении хеш-функции сообщения (H') и сравнении с
- где H - хеш сообщения,
- S - его сигнатура,
- d - секретный ключ,
- e - открытый ключ.
Проверке подлинности посвящены стандарты:
- проверка подлинности (аутентификация, authentication) - ISO 8730-90, ISO/IES 9594-90 и ITU X.509;
- целостность - ГОСТ 28147-89, ISO 8731-90;
- цифровая подпись - ISO 7498, P 34.10-94 (Россия), DSS (Digital Signature Standard, США).
ISO - Международная организация по стандартизации /МОС/,
ITU - Международный союз электросвязи /МСЭ/.