Допуск пользователя и предоставление прав доступа.
Необходимы идентификация (определение «кто это» – группы и, возможно, имени для выяснения на какие действия он имеет право) и аутентификация (проверка подлинности, действительно ли «он это он») пользователя.
Например, при входе в систему пользователь вводит свое имя (идентификация) и пароль (аутентификация). В банкоматах: идентификация – ввод карточки, аутентификация – набор PIN (PersonaI Identification Number) кода.
Могут использоваться токены – физические ключи или магнитные карты, которые пользователь вставляет в считывающее устройство (token – опозновательный знак).
Шифрование сообщений.
Для шифрования используются методы криптографии, для вскрытия (взлома) зашифрованных данных – методы криптоанализа.
Нужно использовать общеизвестные и проверенные алгоритмы шифрования (свой алгоритм может оказаться легко взламываемым) и промышленно выпускаемые пакеты программ (разработка своей программы очень трудоемка). При этом нельзя допустить расшифровку посторонними, знающими алгоритм и имеющими аналогичный пакет.
Традиционные методы шифрования (симметричное шифрование, шифрование с одним ключом, шифрование с закрытым ключом) – составитель и получатель сообщения знают секретный ключ (большое двоичное число), который используют для шифровки и расшифровки текста.
Упрощенно, можно представить ключ как матрицу, на которую умножаются блоки определенной длины двоичного представления исходного текста. Для расшифровки достаточно умножить на обратную матрицу. В реальных алгоритмах используют операции сдвига (блоки цифр увеличиваются на определенные величины) и перестановки (фрагменты блока меняются местами), последовательность и характеристики которых задаются ключом.
Наиболее распространен стандарт (алгоритм) симметричного шифрования DES (Data Encryption Standard), использующий 56-битовый закрытый ключ (реальная длина ключа 64 бита за счет информации для контроля) и опубликованный в 1977 году. При шифровании используются 16 проходов текста так, что каждый бит блока зашифрованного текста зависит от каждого бита блока исходного текста и каждого бита ключа.
Недостаток любой системы симметричного шифрования – нужен личный контакт обеих сторон (не по сети, не компьютерный) для передачи каждого секретного ключа без угрозы перехвата.
Ассиметричные системы шифрования (нетрадиционные системы, шифрование с двумя ключами, шифрование с открытым ключом) – будущий получатель сообщения создает два ключа: закрытый (секретный), который сохраняет только у себя и открытый, который по любому каналу, не скрывая, передает будущему отправителю. Зашифрованное отправителем с помощью открытого ключа сообщение нельзя расшифровать, не зная закрытый ключ.
С помощью открытого ключа выполняются математические преобразования с блоками исходного текста. Для нахождения обратного преобразования нужно либо знать закрытый ключ, либо решить уравнение в целых числах, требующее перебора большого числа вариантов, не выполнимого за реальное время на самых мощных компьютерах. Условный иллюстрационный пример приведен в приложении.
Наиболее широко применяется для шифрования с открытым ключом алгоритм (система) RSA (по фамилиям авторов – Rivest, Shamir, Adleman), предложенный в 1978 году.
Алгоритмы ассиметричного шифрования требуют значительно больших затрат машинного времени. Поэтому используются комбинированное (гибридное) шифрование с созданием электронного цифрового конверта RSA (RSA digital envelope) – пользователь создает секретный ключ, шифрует им все большое сообщение по DES, сам (относительно короткий) секретный ключ шифрует своим открытым ключом по RSA и отправляет адресату в одном пакете. Получатель своим секретным ключом по RSA расшифровывает секретный ключ отправителя, а с его помощью по DES основное сообщение.
При использовании открытого ключа (в том числе цифровых конвертов), доступного посторонним, имеется опасность фальсификации – отправки сообщения третьим лицом от имени пользователя.
Приложение 1. Схемы функционирования систем
шифрования и цифровой подписи.
1.СИММЕТРИЧНОЕ ШИФРОВАНИЕ
2.АСИММЕТРИЧНОЕ ШИФРОВАНИЕ
3.ЦИФРОВАЯ ПОДПИСЬ
Цифровая подпись (ЭЦП – электронная цифровая подпись).
Задача заключается в добавлении к основному сообщению дополнительных данных (в виде дополнительного документа или в текст самого сообщения) так чтобы: (а)гарантировалось авторство; (б)автор не мог отказаться, сославшись на отправку кем-то от его имени; (в)гарантировалась целостность сообщения (никто не изменил, прехватив «по дороге»).
Первые две задачи решаются применением ассиметричного шифрования «в обратной последовательности» – отправитель создает секретный ключ (оставляет только себе) и открытый ключ, который открыто помещает в справочнике, в Интернет и т.п. С помощью секретного ключа он шифрует открытое кодовое слово (свое название или тот же открытый ключ) и прилагает к сообщению. Любой получатель может расшифровать эту часть сообщения с помощью открытого ключа. Если при этом действительно получается кодовое слово, значит шифрование могло быть выполнено только определенным секретным ключом, который может быть известен только предполагаемому автору.
Для гарантии целостности документа в дополнительную шифруемую секретным ключом информацию (цифровую подпись) включается дайджест основного документа, например, контрольная сумма или более сложная функция образующих его двоичных цифр. Если после расшифровки она совпадает с реальной характеристикой полученного сообщения, – значит оно не было подменено «по дороге».
Таким образом, для формирования цифровой подписи нужна специальная информация отправителя (секретный и открытый ключ, кодовое слово) и сам файл исходного документа (для получения дайджеста).