Struchkov Mark
d0a4acf39c
All checks were successful
continuous-integration/drone/push Build is passing
38 lines
3.7 KiB
Markdown
38 lines
3.7 KiB
Markdown
---
|
||
aliases:
|
||
- HTTP over SSL/TLS
|
||
- HTTPS
|
||
tags:
|
||
- maturity/🌱
|
||
date: 2024-11-27
|
||
---
|
||
Для обеспечения безопасности данных используется HTTPS (HTTP over SSL/TLS). Это расширение HTTP, которое добавляет шифрование данных, чтобы защитить их от перехвата.
|
||
|
||
![[photo_2024-10-29 18.27.09.jpeg]]
|
||
|
||
![[Pasted image 20241103035804.png]]
|
||
**Как происходит шифрование и дешифрование данных**
|
||
- **Шаг 1** — Клиент (браузер) и сервер устанавливают [[../../../../../knowledge/dev/network/TCP|TCP]]-соединение.
|
||
- **Шаг 2** — Клиент отправляет серверу сообщение «client hello». Это сообщение содержит набор поддерживаемых алгоритмов шифрования (наборов шифров) и последнюю версию TLS, которую клиент может поддерживать. Сервер отвечает сообщением «server hello», чтобы сообщить клиенту, какие алгоритмы и версия TLS поддерживаются.
|
||
- Затем сервер отправляет клиенту SSL-сертификат, который содержит публичный ключ, имя хоста, срок действия сертификата и другую информацию. Клиент проверяет подлинность сертификата.
|
||
- **Шаг 3** — После успешной проверки SSL-сертификата клиент генерирует сеансовый ключ и шифрует его с помощью публичного ключа. Сервер получает зашифрованный сеансовый ключ и дешифрует его с использованием своего приватного ключа.
|
||
- **Шаг 4** — Теперь, когда и клиент, и сервер обладают одним и тем же сеансовым ключом (симметричное шифрование), данные передаются в зашифрованном виде по защищённому двустороннему каналу.
|
||
|
||
**Почему HTTPS переключается на симметричное шифрование для передачи данных?**
|
||
1. **Безопасность**: Асимметричное шифрование работает только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой сможет расшифровать их, используя публичный ключ.
|
||
2. **Ресурсы сервера**: Асимметричное шифрование требует значительных вычислительных ресурсов из-за сложных математических операций. Это делает его непригодным для передачи данных в долгих сессиях.
|
||
|
||
***
|
||
## Мета информация
|
||
**Область**:: [[../../meta/zero/00 Сети|00 Сети]]
|
||
**Родитель**:: [[HyperText Transfer Protocol|HyperText Transfer Protocol]]
|
||
**Источник**::
|
||
**Создана**:: [[2024-11-27]]
|
||
**Автор**::
|
||
### Дополнительные материалы
|
||
-
|
||
|
||
### Дочерние заметки
|
||
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||
|