При заполнении пользователем контактной информации на сайте с сертификатом, браузер превращает набранный текст в случайный набор символов и передает это сообщение на сервер. Далее специальная программа преобразовывает полученное сообщение в обычный текст.
Для кодирования текста используются два вида шифрования:
- Симметричное – для шифровки/расшифровки используется один ключ.
- Ассиметричное – используется публичный и приватный ключ. Публичный только кодирует сообщения, его видит любой браузер. Приватный участвует только в расшифровке и хранится в секрете на сервере.
Симметричное кодирование более удобно, но ключ необходимо знать обеим сторонам. Реализовать это сложно, так как браузеров много, а сервер, где установлен SSL-сертификат, один. В этом случае серверу каждый раз пришлось бы отправлять ключ в открытом виде, что ненадежно. Для этого и необходимо ассиметричное шифрование – чтобы передать симметричный ключ.
Каждый раз, когда пользователь заходит на сайт, браузер создает единственно возможный симметричный ключ, зашифровывает его публичным ключом и передает на сервер. Компьютер сопоставляет приватный ключ с публичным и расшифровывает сообщение. Весь процесс занимает не более одной секунды.
Благодаря шифрованию, посторонние лица не могут получить доступ к информации, которой обмениваются пользователи сайта, а также отследить их действия на других страницах.