Некоторые знания о протоколах безопасности сетевых коммуникаций (ssl, tls, CA, https)

Сначала разберитесь с изменениями в протоколе http.
http1.0 по умолчанию использует короткое соединение, 1.1 по умолчанию использует длинное соединение и может передаваться по конвейеру, но есть проблема блокировки заголовка строки;
https — это уровень SSL/TLS, добавленный между tcp и http.
http2 тоже безопасен, улучшение - это бинарный файл hpack и сжатие кодировки для уменьшения размера, поток не блокируется головой очереди (уровень TCP все еще существует), и сервер активно проталкивает функцию; http3 превращает TCP в
udp , и использует протокол QUIC, чтобы гарантировать его на верхнем уровне Надежная передача, более высокая скорость и QUIC, TLS могут быть объединены на первом уровне, поэтому для соединения требуется только 1RTT, а миграция соединения также может быть реализована на основе идентификатора соединения .

SSL/TLS
tls — это обновленная версия ssl. После того, как ssl достигнет версии 3.0, он будет переименован в tls1.0. SSL делится на два уровня: протокол записи SSL и протокол квитирования SSL. Протокол записи в основном отвечает за инкапсуляцию, сжатие и шифрование данных TCP, что эквивалентно уровню представления. Протокол рукопожатия часто называют четырехсторонним процессом рукопожатия https (установление соединения, согласование секретного ключа и согласование алгоритма шифрования), но четырехстороннее рукопожатие также включает проверку сертификата ЦС. ssl называется использованным

Улучшение tls заключается в следующем: алгоритм HMAC гарантирует более безопасную работу MAC, больше кодов аварийных сигналов и другие поддерживаемые алгоритмы шифрования.

Пока кажется, что https включает ssl/tls, а затем протокол ssl будет включать процесс проверки сертификатов CA для обеспечения надежности обеих сторон. А шифрование и цифровые дайджесты гарантируют, что сообщения не отслеживаются и не подделываются.
(Об алгоритме шифрования
Алгоритм симметричного шифрования: используйте один тип шифрования и дешифрования, DES, DES3 и т. д., но, поскольку возможно, что процесс передачи симметричного ключа будет украден, это небезопасно; асимметричное шифрование: шифрование с открытым ключом
, Расшифровка закрытого ключа.Такой как RSA, потому что закрытый ключ не будет передан, поэтому информация не может быть украдена.Но скорость низкая, поэтому он обычно используется для шифрования секретного ключа.Общий процесс четырехэтапного
рукопожатия : Здравствуйте, отправьте номер версии списка паролей и случайное число на сервер, сервер также сгенерирует случайное число, чтобы определить список паролей для клиента; в середине есть процесс проверки сертификата ЦС, чтобы убедиться, что сервер является законным ; последние два раза клиент шифрует случайное число с помощью открытого ключа сервера и использует эти три случайных числа. Генерирует симметричный ключ, затем пытается зашифровать сообщение и переварить сообщение, чтобы проверить, работает ли оно.
)

CA:
Это орган, выдающий цифровые сертификаты . Примеры включают GlobalSign, DigiCert и GoDaddy. Сертификаты ЦС, используемые обычными браузерами, существуют в браузере и операционной системе, поэтому безопасность сертификатов ЦС может быть гарантирована.
Роль ЦС: подтвердить надежность сервера, а открытый ключ внутри может генерировать симметричный секретный ключ из трех случайных чисел, а затем комбинировать его с закрытым ключом сервера для реализации шифрования данных .
Структура цепочки сертификатов C, каждый ЦС имеет несколько суб-ЦС, цепочку доверия, поэтому, если браузер не обращается к операционной системе, чтобы найти цепочку корневых сертификатов во время программирования, иначе это займет время.
Что такое сертификаты ЦС:
существуют разные форматы, некоторые из них редактируемые PEM и двоичные DEM Среди них X.509 является одним из редактируемых.
Конкретный сертификат ЦС имеет формат X509. В основном он включает в себя следующие три файла:
key, csr, crt.
key — закрытый ключ сервера, который не передается и используется для шифрования и дешифрования.
csr — это файл запроса подписи, который ЦС должен подписать, и подпись действительна;
crt: подписанный или самозаверяющий (rusttls) сертификат: включая открытый ключ сервера, информацию об идентификаторе сервера и информацию о подписывающей стороне.

Как rusttls реализует подпись?
1. Библиотека сертификации в основном использует внутренние алгоритмы для создания организации CA, а затем подписывает csr клиентского сервера в CA. Получите
файл crt и сохраните его в каталоге.
2. Сгенерируйте clientconfig и serverconfig в соответствии с полученным выше сертификатом
3. Используйте функцию соединения внутри двух частей, чтобы преобразовать поток в tlsstream. (на самом деле из в черты)

В среде разработки и тестирования общие инструменты с открытым исходным кодом для создания SSL-сертификатов включают openssl, rusttls и т. д. Последний, который я использую, по сравнению с openssl проще в компиляции и подключении, и быстрее.

Supongo que te gusta

Origin blog.csdn.net/weixin_53344209/article/details/131920674
Recomendado
Clasificación