предисловие
Всем привет, я Линь Сансинь,Расскажите о самых сложных вопросах знаний самыми простыми и понятными словамимой девиз,Основа является предпосылкой передовыхЭто мое первоначальное намерение.
Я считаю, что вы всегда должны следоватьHTTPS
иметь дело, например请求接口、访问网站
и т.п. . Тогда мы будем часто думать о:
-
HTTPS
Что это такое? -
HTTPS
Какое отношение он имеет к HTTP? - Почему текущий сайт
HTTPS
вместоHTTP
Шерстяная ткань?
Что такое HTTPS?
HTTPS
На самом деле этоHTTP + SSL/TLS
, а что такоеHTTP
, что не является предметом нашего сегодняшнего обсуждения, и то, чтоSSL/TLS
Шерстяная ткань? На самом деле этоSSL或TLS
, оба из которых加密安全协议
,а такжеSSL
даTLS
Предшественник, сейчас большинство браузеров не поддерживаетSSL
а сейчасTLS
широко используется, но посколькуSSL
Он довольно известен, поэтому его до сих пор собирательно называютSSL/TLS
. Тогда зачем использоватьHTTPS
Да, потому чтоHTTP
передается открытым текстом, который не является безопасным, иHTTP + SSL/TLS
безопаснее, т.HTTPS
безопаснее
Симметричное шифрование
что это такое?
что对称加密
Шерстяная ткань? Приведу пример, вы болтаете со своей девушкой и не хотите, чтобы другие знали, о чем вы говорите, поэтому вы договариваетесь со своей девушкой: сообщения, отправленные обеими сторонами, идут в обратном порядке. настоящие новости:
Это так называемое约定
, по сути, это эквивалентно тому же钥匙
, только это钥匙
Чтобы узнать, какое сообщение отправляется между двумя сторонами, из-за钥匙
то же самое, так еще называют对称加密
:
недостаток?
Вначале обе стороны должны договориться об этом.钥匙(秘钥)
Каким он должен быть, и за этим процессом могут следить хакеры, раз об этом знает третье лицо钥匙
, то информация о вас двоих может быть легко взломана хакерами посередине и подделана информация.В этом случае другая сторона может не получить вашу информацию, а получить информацию, подделанную хакерами.Например, в следующем примере, то, что вы отправили哈哈哈哈哈哈
, другая сторона получила действительно嘻嘻嘻
:
Асимметричное шифрование
открытые и закрытые ключи
Теперь на стороне сервера сгенерируйте два ключа钥匙A、钥匙B
, и между этими двумя ключами есть связь:钥匙A
Зашифрованные вещи можно использовать только钥匙B
расшифровать, а затем сервер помещает это钥匙A
Отправлено клиенту, каждый раз, когда клиент отправляет сообщение, ему необходимо использовать钥匙A
Зашифруйте его, затем отправьте на сервер, и сервер будет использовать его снова.钥匙B
Расшифруйте, чтобы получить информацию, отправленную клиентом:
На самом деле здесь钥匙A
то есть公钥
, потому что и клиент, и сервер знают, и钥匙B
то есть私钥
, потому что от начала до конца,钥匙B
Все на стороне сервера, очень безопасно
Асимметричное шифрование
非对称加密
основывается на公钥、私钥
метод шифрования,非对称加密
в сравнении с对称加密
Повышенная безопасность, потому что хакеры могут только знать公钥
, это невозможно узнать私钥
,а также公钥
Зашифрованные данные могут быть использованы только私钥
расшифровать, чтобы хакеры украли公钥
После этого информация, отправленная клиентом клиенту, не может быть расшифрована.
недостаток
мы только что сказали非对称加密
в сравнении с对称加密
Надежная защита, но非对称加密
Есть и недостатки. Мы сказали, в начале сервер сгенерировал公钥、秘钥
, затем поставьте公钥
отправляется клиенту и私钥
Всегда на стороне сервера. затем положить公钥
Процесс перехода к клиенту может быть перехвачен хакерами для получения этого公钥
, а хакер подделал黑客版公钥、黑客版私钥
, и положи黑客版公钥
Отправить его клиенту, клиент не знает, и он используется при передаче данных.黑客版公钥
Зашифруйте данные и отправьте их, в это время хакеру нужно только использовать黑客版私钥
Расшифруйте информацию, отправленную клиентом, и подделайте свою黑客信息
, и используйте оригинал公钥
Зашифровать и отправить на сервер, а сервер использует оригинал私钥
расшифровать, чтобы получить黑客信息
Что за шифрование HTTPS?
фактическиHTTPS
это использовать对称加密 + 非对称加密
, давайте продолжать смотреть вниз!
Сертификат
мы только что сказали非对称加密
Есть и недостаток, так как же предотвратить этот недостаток? В это время нам необходимо证书颁发机构(CA)
Применять证书
охватывать
Состав сертификата
шаг
1. Сервер будет公钥
Отправить证书颁发机构
,К证书颁发机构
Подать заявку на сертификат
2,证书颁发机构
иметь пару公钥、秘钥
,использовать公钥
зашифрованныйkey1
, и создайте证书签名
, а также использовать秘钥
зашифровать это证书签名
. и превратился в证书
, это证书
отправить на сервер
3. Когда клиент общается с сервером, сервер больше не напрямую服务端公钥
передано клиенту, но просто证书
передать клиенту
4. Когда клиент получает证书
позже будет证书
Для определения подлинности. Заранее примечание: современные браузеры хранят имена основных центров сертификации и соответствующие им открытые ключи. Так клиент получает证书
После этого вам нужно только найти соответствующий机构公钥
,правильно证书签名
Расшифруйте, а затем клиент по этому расшифрованному签名规则
, который также генерирует证书签名
, если оба签名
согласен, проходи. После прохождения клиент снова использует机构公钥
расшифровать服务端公钥key1
5. Клиент генерирует对称秘钥key2
, то используйте то, что у вас уже есть服务端公钥key1
правильноkey2
Зашифруйте и отправьте его на сервер.После того, как сервер получит его, используйте服务端秘钥
Расшифровка, в это время клиент и сервер имеют оба对称秘钥key2
6. С этого момента клиент и сервер проходят через对称秘钥key2
для осуществления симметричной зашифрованной связи, то есть вернуться к первой сцене до того, как вы и ваша девушка используете倒序算法
совершать зашифрованные звонки, но это倒序算法
существует证书
По гарантии, это не будет известно сторонним хакерам, пока вы и ваша девушка, и证书颁发机构
знание:
Будет ли перехвачен сертификат?
На самом деле, даже если证书
Блокировать бесполезно, потому что证书
середина签名
генерируется из URL-адреса сервера и использует证书颁发机构
из秘钥
Он зашифрован и не может быть изменен. Либо хакер напрямую создает поддельный сертификат и отправляет его клиенту, но это бесполезно, ведь браузер уже давно поддерживает легальную证书颁发机构
Коллекция , хакеров нет в этой коллекции~~~~~~
SSL/TLS
сказал раньшеHTTPS = HTTP + SSL/TLS
, а вышеупомянутый ряд операций происходит вSSL层
Примечание. Недавно запущенный протокол TLS представляет собой обновленную версию протокола SSL 3.0, и общий принцип такой же, как у протокола SSL.
Ссылаться на
Эпилог
Я Линь Саньсинь, новичок-энтузиаст клиентского интерфейса. Если вы мотивированы, как и интерфейс, и хотите изучить интерфейс, тогда мы можем подружиться и порыбачить вместе, ха-ха, порыбачить, нажмите здесь -->коснуться точки кипения рыбы