Rumah Operasi dan penyelenggaraan Keselamatan HTTPS怎么保证安全?(详解)

HTTPS怎么保证安全?(详解)

Jun 17, 2020 am 10:59 AM
https

本篇文章带大家了解一下HTTP存在的问题,介绍HTTPS是怎么保证安全的。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

HTTPS怎么保证安全?(详解)

HTTP存在的问题

1、窃听风险:通信使用明文(不加密),内容可能会被窃听(第三方可能获知通信内容)

2、冒充风险:不验证通信方的身份,因此有可能遭遇伪装

3、篡改风险:无法证明报文的完整性,所以有可能已遭篡改

HTTPS

1.png

可以看到 HTTPS的网站,在浏览器的地址栏内会出现一个带锁的标记。

HTTPS并非是应用层一个新的协议,通常 HTTP 直接和 TCP 通信,HTTPS则先和安全层(SSL/TLS)通信,然后安全层再和 TCP 层通信。

2.png

SSL/TLS协议就是为了解决上面提到的HTTP存在的问题而生的,下面我们来看一下它是怎么解决的:

1、所有的信息都是加密传输的,第三方无法窃听

2、配备身份验证,防止身份被冒充

3、具有校验机制,一旦被篡改,通信双方会立刻发现

加密

对称加密

加密和解密同用一个秘钥的方式称为 共享秘钥加密,也被叫做对称秘钥加密。

3.png

  • 浏览器发送给服务端 client_random 和一系列加密方法

  • 服务端发送给浏览器 server_random和加密方法

现有浏览器和服务器有了三个相同的凭证:client_randomserver_random和加密方法
用加密方法把 client_randomserver_random 两个随机数混合起来,生成秘钥,这个密钥就是浏览器和服务端通信的暗号。

存在的问题:第三方可以在中间获取到client_randomserver_random和加密方法,由于这个加密方法同时可以解密,所以中间人可以成功对暗号进行解密,拿到数据,很容易就将这种加密方式破解了。

非对称加密

4.png

  • 浏览器发送给服务端 一系列加密方法

  • 服务端发送给浏览器 加密方法以及公钥

之后浏览器通过公钥将数据加密传输给服务端,服务端收到数据使用私钥进行解密。服务端给浏览器发送数据,则使用私钥进行加密,浏览器收到服务端发送过来的数据,使用公钥进行解密。

存在的问题:

  • 非对称加密效率太低, 这会严重影响加解密的速度,进而影响到用户打开页面的速度。

  • 无法保证服务器发送给浏览器的数据安全, 服务器的数据只能用私钥进行加密(因为如果它用公钥那么浏览器也没法解密啦),中间人一旦拿到公钥,那么就可以对服务端传来的数据进行解密了,就这样又被破解了。

HTTPS使用对称加密和非对称加密结合

传输数据阶段依然使用对称加密,但是对称加密的秘钥我们采用非对称加密传输。

5.png

  • 浏览器向服务器发送client_random和加密方法列表。

  • 服务器接收到,返回server_random、加密方法以及公钥。

  • 浏览器接收,接着生成另一个随机数pre_master, 并且用公钥加密,传给服务器。(重点操作!)

  • 服务器用私钥解密这个被加密后的pre_master。

到此为止,服务器和浏览器就有了相同的  client_randomserver_randompre_master, 然后服务器和浏览器会使用这三组随机数生成对称秘钥。有了对称秘钥之后,双方就可以使用对称加密的方式来传输数据了。

CA (数字证书)

使用对称和非对称混合的方式,实现了数据的加密传输。但是这种仍然存在一个问题,服务器可能是被黑客冒充的。这样,浏览器访问的就是黑客的服务器,黑客可以在自己的服务器上实现公钥和私钥,而对浏览器来说,它并不完全知道现在访问的是这个是黑客的站点。

服务器需要证明自己的身份,需要使用权威机构颁发的证书,这个权威机构就是 CA(Certificate Authority), 颁发的证书就称为数字证书 (Digital Certificate)。

对于浏览器来说,数字证书有两个作用:

  • 通过数字证书向浏览器证明服务器的身份

  • 数字证书里面包含了服务器公钥

下面我们来看一下含有数字证书的HTTPS的请求流程

6.png

相对于不含数字证书的HTTPS请求流程,主要以下两点改动

  • 服务器没有直接返回公钥给浏览器,而是返回了数字证书,而公钥正是包含数字证书中的;

  • 在浏览器端多了一个证书验证的操作,验证了证书之后,才继续后序流程。

参考

推荐教程:web服务器安全

Atas ialah kandungan terperinci HTTPS怎么保证安全?(详解). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan proksi terbalik di bawah protokol HTTPS Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan proksi terbalik di bawah protokol HTTPS Sep 26, 2023 am 08:40 AM

Cara menggunakan NginxProxyManager untuk melaksanakan proksi terbalik di bawah protokol HTTPS Dalam beberapa tahun kebelakangan ini, dengan populariti Internet dan kepelbagaian senario aplikasi, kaedah capaian laman web dan aplikasi menjadi semakin kompleks. Untuk meningkatkan kecekapan dan keselamatan akses laman web, banyak tapak web telah mula menggunakan proksi terbalik untuk mengendalikan permintaan pengguna. Proksi terbalik untuk protokol HTTPS memainkan peranan penting dalam melindungi privasi pengguna dan memastikan keselamatan komunikasi. Artikel ini akan memperkenalkan cara menggunakan NginxProxy

Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan lompatan automatik dari HTTP ke HTTPS Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan lompatan automatik dari HTTP ke HTTPS Sep 26, 2023 am 11:19 AM

Cara menggunakan NginxProxyManager untuk melaksanakan lompatan automatik dari HTTP ke HTTPS Dengan perkembangan Internet, semakin banyak laman web mula menggunakan protokol HTTPS untuk menyulitkan penghantaran data untuk meningkatkan keselamatan data dan perlindungan privasi pengguna. Memandangkan protokol HTTPS memerlukan sokongan sijil SSL, sokongan teknikal tertentu diperlukan semasa menggunakan protokol HTTPS. Nginx ialah pelayan HTTP yang berkuasa dan biasa digunakan dan pelayan proksi terbalik, dan NginxProxy

Nginx dengan SSL: Konfigurasikan HTTPS untuk melindungi pelayan web anda Nginx dengan SSL: Konfigurasikan HTTPS untuk melindungi pelayan web anda Jun 09, 2023 pm 09:24 PM

Nginx ialah perisian pelayan web berprestasi tinggi dan pelayan proksi terbalik yang berkuasa dan pengimbang beban. Dengan perkembangan pesat Internet, semakin banyak laman web mula menggunakan protokol SSL untuk melindungi data pengguna yang sensitif, dan Nginx juga menyediakan sokongan SSL yang kuat, menjadikan prestasi keselamatan pelayan web lebih jauh. Artikel ini akan memperkenalkan cara mengkonfigurasi Nginx untuk menyokong protokol SSL dan melindungi prestasi keselamatan pelayan web. Apakah protokol SSL? SSL (SecureSocket

Apakah rupa aliran kerja https? Apakah rupa aliran kerja https? Apr 07, 2024 am 09:27 AM

Aliran kerja https termasuk langkah-langkah seperti permintaan yang dimulakan oleh klien, respons pelayan, jabat tangan SSL/TLS, penghantaran data dan pemaparan sisi klien Melalui langkah ini, keselamatan dan integriti data semasa penghantaran dapat dipastikan.

Bagaimana untuk mengkonfigurasi https dalam tomcat Bagaimana untuk mengkonfigurasi https dalam tomcat Jan 05, 2024 pm 05:15 PM

Langkah-langkah konfigurasi: 1. Dapatkan sijil SSL; 2. Konfigurasikan sijil SSL 3. Edit fail konfigurasi Tomcat; Pengenalan terperinci: 1. Anda perlu mendapatkan sijil SSL, sama ada sijil yang ditandatangani sendiri atau sijil SSL yang sah daripada agensi pensijilan (seperti Let's Encrypt); 2. Letakkan sijil SSL yang diperolehi dan fail kunci peribadi pada pelayan dan memastikan bahawa fail ini Terletak di lokasi yang selamat, hanya pengguna yang mempunyai kebenaran yang mencukupi boleh mengakses; 3. Edit fail konfigurasi Tomcat, dsb.

Penyelesaian: urllib3 ProxySchemeUnknown(proxy.scheme) Penyelesaian: urllib3 ProxySchemeUnknown(proxy.scheme) Feb 29, 2024 pm 07:01 PM

Sebab ralat ialah ralat ProxySchemeUnknown(proxy.scheme) urllib3 biasanya disebabkan oleh penggunaan protokol proksi yang tidak disokong. Dalam kes ini, urllib3 tidak mengenali jenis protokol pelayan proksi dan oleh itu tidak boleh menggunakan proksi untuk sambungan rangkaian. Untuk menyelesaikan isu ini, anda perlu memastikan bahawa anda menggunakan protokol proksi yang disokong, seperti HTTP atau https Cara menyelesaikan Untuk menyelesaikan isu ini, anda perlu memastikan bahawa anda menggunakan protokol proksi yang disokong, seperti HTTP atau HTTPS . Anda boleh menyelesaikan masalah ini dengan menetapkan parameter proksi urllib3. Jika anda menggunakan proksi http, contoh kod adalah seperti berikut: importurllib3http

Cara menggunakan Nginx untuk melaksanakan pengesahan dua hala HTTPS Cara menggunakan Nginx untuk melaksanakan pengesahan dua hala HTTPS Jun 03, 2023 pm 08:38 PM

Perbezaan antara pengesahan sehala dan pengesahan dua hala: Pengesahan sehala: merujuk kepada pelanggan yang mengesahkan sijil sisi pelayan dan pelayan tidak perlu mengesahkan sijil pelanggan. Pengesahan dua hala: merujuk kepada pelanggan yang mengesahkan sijil sisi pelayan, dan pelayan juga perlu mengesahkan sijil pelanggan melalui sijil kunci awam CA. Proses jabat tangan terperinci: Pengesahan sehala Penyemak imbas menghantar permintaan sambungan kepada pelayan keselamatan. 1. Pelayan menghantar sijil sendiri dan maklumat berkaitan sijil kepada pelayar klien. 2. Pelayar klien menyemak sama ada sijil yang dihantar oleh pelayan dikeluarkan oleh pusat CA yang dipercayainya. Jika ya, teruskan melaksanakan perjanjian jika tidak, penyemak imbas pelanggan akan memberi pelanggan mesej amaran: memberi amaran kepada pelanggan bahawa sijil ini tidak boleh dipercayai dan bertanya kepada pelanggan jika ia perlu diteruskan. 3. Ambil pelanggan

Bagaimana tembok api Nginx memastikan komunikasi selamat HTTPS Bagaimana tembok api Nginx memastikan komunikasi selamat HTTPS Jun 10, 2023 am 10:16 AM

Dalam era Internet hari ini, komunikasi yang selamat telah menjadi bahagian yang sangat diperlukan. Terutamanya dalam komunikasi HTTPS, cara memastikan keselamatannya amat penting. Sebagai pelayan web popular dan pelayan proksi terbalik, tembok api Nginx juga boleh memainkan peranan penting dalam memastikan komunikasi selamat HTTPS. Artikel ini akan membincangkan tembok api Nginx dari aspek berikut. Penyulitan TLS/SSL Keselamatan komunikasi HTTPS terutamanya berdasarkan teknologi penyulitan TLS/SSL, yang boleh menghalang data daripada dihantar semasa penghantaran.

See all articles