SSL
SSL (Secure Sockets Layer) — мощный криптографический протокол, созданный для того, чтобы трафик нельзя было перехватить так просто, как кажется. На SSL-сертификатах работает фактически современный интернет, где почти весь трафик идёт по зашифрованным каналам, а пожилой HTTP похрюкивает всё меньше и как бы слабо.
Описание[править]
Первая версия SSL была разработана в 1994 году, но никогда не была выпущена публично, ибо интернет был ещё мелким. SSL 2.0 был выпущен в 1995 году, но также не начал серьёзно внедряться. Однако уже в 1996 году появилась версия SSL 3.0, в которой были завершены все необходимые приуготовления к умощнению интернетыча. В 1999 году протокол был стандартизирован под новым названием TLS версии 1.0, который по сути является просто обновлённой версией SSL 3.0. При этом и оригинальное название SSL всё ещё регулярно применяется.
SSL функционирует на сетевом уровне между транспортным протоколом (обычно TCP) и прикладными протоколами (вроде HTTP).
Когда потужный решает возжужжать в паутине, он инициирует соединение, отправляя серверу информацию о поддерживаемых версиях протокола и алгоритмах шифрования. Сервер выбирает параметры соединения и отправляет свой цифровой сертификат, содержащий открытый ключ. Клиент проверяет подлинность сертификата сервера, убеждаясь, что он выдан реальным источником. После этого генерируется общий секретный ключ сессии, который используется для симметричного шифрования данных. Затем происходит обмен данными.
Для достижения реальной скорости SSL использует комбинацию асимметричного и симметричного шифрования. Асимметричное шифрование с открытым и закрытым ключами применяется вначале для безопасного обмена ключами. После этого для шифрования передаваемых данных используется более быстрое симметричное шифрование.
Важным элементом являются цифровые сертификаты. Сертификат содержит информацию о владельце, открытый ключ, срок действия и цифровую подпись удостоверяющего центра. Это позволяет клиенту удостовериться в подлинности сервера, чтобы кто попало не мог восраться и сделать вид, что он готовится принять в себя ключ, дык взломать систему-ту.
Современные системы используют протокол TLS версий 1.2 и 1.3.