Проверка подлинности информации. Цифровая подпись
При передаче информации должны быть обеспечены вместе или по отдельности:
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 вычисляется следующим образом:
d
S = H mod n
Сигнатура пересылается вместе с сообщением.
Процесс идентификации заключается в получении хеш-функции сообщения (H') и сравнении с
e
H = S mod n
где 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 - Международный союз электросвязи /МСЭ/.