Главная идея технологии SSL/TLS — обеспечить безопасное общение между разными браузерами и серверами. Чтобы эта безопасность была возможной, в работу вступают сложные технологии. Шифры — часть этих сложных технологий.
Что такое шифры?
Шифры существуют очень давно. Они стали популярными после того, как их использовали во время Первой и Второй мировых войн в целях общения. Нужно было передавать сообщения военным подразделениям так, что даже если их перехватят враги, они не смогли бы их расшифровать.
Шифр — это метод, который используется для кодировки сообщений. При кодировке только получатель может понять смысл сообщения. Это потому, что он знает шифр, с помощью которого он расшифровывает сообщение.
Пример:
- Я создам шифр, где К будет означать Т, О будет означать О, а Т будет означать К. Отправлю сообщение «кот» коллеге, а он поймет скрытый смысл сообщения — «ток», потому что я поделился с ним шифром заранее.
Шифры до сих пор с нами, и их логика не поменялась. Только технологии здорово усложнились.
Шифры в терминологии SSL
Итак, шифр — это последовательность шагов по кодировке сообщения. В цифровом мире мы называем эту последовательность шагов алгоритмами.
Шифры в цифровом мире — это алгоритмы (или последовательности шагов), с помощью которых компьютеры шифруют и расшифровывают сообщения. Это позволяет им безопасно общаться в интернете.
В SSL-технологии, когда браузер взаимодействует с сайтом, защищенным SSL-сертификатом, происходит вот что:
- Сначала проверяется SSL-сертификат сайта.
- Затем проходит SSL-рукопожатие, о котором мы рассказывали в предыдущей статье.
- После этого стороны обмениваются ключами сессии и безопасно общаются.
Обмен ключами сессии зависит от вида шифрования на сайте. Оно может быть симметричным или асимметричным.
При симметричном шифровании у двух сторон один ключ для шифрования и расшифровки сообщений. Такой ключ называется общим секретным ключом – у всех пользователей, которые обмениваются данными, один и тот же ключ.
При асимметричном шифровании используется два ключа — один открытый (публичный) и один закрытый (секретный). Открытый ключ отсылается всем людям. Закрытый ключ остается на стороне сервера или другого приемника.
Сообщение, зашифрованное одним из ключей, можно расшифровать только с помощью другого ключа.
Наборы шифров менялись со временем. В зависимости от вида шифрования они задают то, как две стороны должны обмениваться конфиденциальной информацией.
Напоследок:
Наборы шифров, которые разрабатывают сейчас, критично изменятся с выпуском протокола TLS 1.3. Как обещают, протокол начнет публично использоваться в начале-середине 2018 года. Структура шифров в новом протоколе значительно изменится, равно, как и их функции. Так как эти наборы шифров будут сильно отличаться от предшественников, они не будут взаимозаменяемы старыми версиями TLS.
Источник: статья в блоге Instant SSL Blog