На самом деле, в протоколе HTTPS асимметричное шифрование применяется, но оно используется в очень начальной стадии установления соединения — в процессе ТLS/SSL handshake (рукопожатии). Проблемы асимметричного шифрования включают в себя относительно низкую скорость работы по сравнению с симметричным шифрованием и сложность в управлении ключами.
В процессе TLS/SSL handshake клиент и сервер используют асимметричное шифрование для безопасного обмена симметричным ключом, который затем будет использоваться для шифрования всех данных, передаваемых по HTTPS в данном сеансе связи.
Вот как это работает:
1. Клиент отправляет серверу сообщение, которое содержит данные о поддерживаемых алгоритмах шифрования и создает случайное число (client random).
2. Сервер отвечает, выбирая набор шифров из предложенных клиентом, отправляя сертификат с публичным ключом и генерируя свое собственное случайное число (server random).
3. Клиент проверяет сертификат сервера с помощью цепочки доверия (сертификаты удостоверяющих центров), чтобы удостовериться в подлинности публичного ключа сервера.
4. Клиент использует публичный ключ сервера для шифрования сгенерированного номера сессии или Pre-Master Secret и отправки его серверу.
5. После получения зашифрованного Pre-Master Secret сервер использует свой приватный ключ для его расшифровки.
6. Как только клиент и сервер имеют Pre-Master Secret, они используют его совместно с client random и server random для генерации симметричного ключа шифрования (Master Secret), который будет использоваться для защиты данных во время сессии.
Асимметричное шифрование играет ключевую роль в процессе обеспечения информационной безопасности:
- Обеспечивает конфиденциальность: защищает информацию от чтения третьими лицами во время передачи.
- Подтверждение подлинности: позволяет удостовериться в том, что данные источника являются актуальными и не были изменены.
- Целостность данных: используя механизмы, как цифровая подпись, асимметричное шифрование помогает гарантировать, что данные не были изменены с момента их отправления.
- Невозможность отказа: создатель подписанных асимметричным ключом данных не может отрицать факт их создания.
Итак, во время работы протокола HTTPS, асимметричное шифрование используется только на начальном этапе для обмена ключами, после чего все последующее шифрование осуществляется с использованием более быстрых методов симметричного шифрования.