Реферат: Защита электронной почты в Internet
5. Получатель генерирует новый хэш-код полученного сообщения и сравнивает его с дешифрованным хэш-кодом. Если хэш-коды совпадают, сообщение считается подлинным.
Схема шифрования сообщения.
Шаги:
1. Отправитель генерирует сообщение и случайное 128-битовое число, которое выступает в качестве сеансового ключа только для этого сообщения.
2. Сообщение шифруется с помощью алгоритма CAST-128 (или IDEA, или 3DES) и данного сеансового ключа.
3. Сеансовый ключ шифруется с помощью алгоритма RSA и открытого ключа получателя и присоединятся к началу сообщения.
4. Получатель использует RSA c личным ключом, чтобы дешифровать и тем самым восстановить сеансовый ключ.
5. Сеансовый ключ применяется для дешифрования сообщения.
Схема использования обоих служб (подписи сообщения с помощью личного ключа и его шифровки с помощью сеансового ключа).
Отправитель сообщения:
1. Для сообщения генерируется подпись (хэш-вектор, зашифрованный личным ключом отправителя объединяется с открытым текстом сообщения).
2. Подпись и открытый текст сообщения сжимаются zip-ом
3. Сжатый открытый текст сообщения и подпись шифруются с помощью алгоритма CAST -128 (или IDEA, или 3DES), а сеансовый ключ шифруется с помощью RSA(или алгоритма Эль-Гамаля) при этом используется открытый ключ получателя.
Получатель сообщения
1. Cеансовый ключ дешифруется с помощью личного ключа получателя.
2. С помощью полученного сеансового ключа дешифрует сообщение
3. Распаковка сообщения
4. Открытым ключом отправителя дешифрует хэш-вектор и генерирует новый хэш-вектор.
5. Сравнивает их. Если совпадают - сообщение не было изменено.
Идентификаторы ключей.
Так как получатель сообщения имеет возможность получать зашифрованные и подписанные сообщения от многих участников переписки, следовательно он должен иметь несколько пар личный/открытый ключей. Для того, чтобы получателю определить какой личный ключ (алгоритма RSA) надо использовать для расшифровки сеансового ключа (алгоритма CAST-128) он получает идентификатор открытого ключа (вместо самого ключа пересылается его идентификатор, так как сам открытый ключ для RSAможет иметь длину в сотни десятичных разрядов). Идентификатор, связываемый с каждым открытым ключом, размещается в младших 64 разрядах ключа.
Идентификатор ключа требуется и для цифровой подписи PGP. Из-за того что отправитель может воспользоваться одним из нескольких личных ключей для шифрования профиля сообщения, получатель должен знать, какой открытый ключ ему следует использовать. Поэтому раздел цифровой подписи сообщения включает 64-битовый идентификатор соответствующего открытого ключа. При получении сообщения получатель проверяет, что идентификатор соответствует известному ему открытому ключу отправителя, а затем продолжает проверку подписи.
Формат передаваемого сообщения .
Сообщение | Подпись | Компонент сеансового ключа | Содержимое | ||||||
Данные | Метка даты-времени | Имя файла | Профиль сообщения | Ведущие два октета профиля сообщения | Идентификатор открытого ключа отправителя (KUa) | Метка даты-времени | Сеансовый ключ (Ks) | Идентификатор открытого ключа получателя (Rub) | |
EkRa | EkUa | Операция | |||||||
ZIP
| |||||||||
Eкs
| |||||||||
R64 |
ERUb–шифрование с использованием личного ключа пользователя B
EKRa–шифрование с использованием открытого ключа пользователя А
EКs– шифрование с использованием сеансового ключа