為什麼 HTTPS 比 HTTP 安全

2022-02-04 06:28:17 字數 2082 閱讀 5518

http(超文字傳輸協議)是目前網際網路應用最廣泛的協議,伴隨著人們網路安全意識的加強,https 被越來越多地採納。不論是訪問一些購物**,或是登入一些部落格、論壇等,我們都被 https 保護著,甚至 google chrome、firefox 等主流瀏覽器已經將所有基於 http 的站點都標記為不安全。

為什麼 https 比 http 安全?在回答這個問題之前,首先我們得了解 http 和 https 是什麼。

http 請求過程中,客戶端與伺服器之間沒有任何身份確認的過程,資料全部明文傳輸,「裸奔」在網際網路上,所以很容易遭到黑客的攻擊。

從上圖中可以看到,客戶端發出的請求很容易被黑客截獲,如果此時黑客冒充伺服器,則其可返回任意資訊給客戶端,而不被客戶端察覺,所以我們經常會聽到一詞「劫持」。

而 https 實際上是帶有 ssl 的 http(http + ssl=https)。當您在瀏覽器的位址列中看到 https 時,這就意味著與該**的所有通訊都將被加密,整個訪問過程更加安全。

https 的安全性往往體現在三個方面:

請求會以明文的形式直接傳送,既然是明文的形式,對於協議命令和語法有基本了解的人,只要監控了請求傳送的過程,就能獲取並讀懂請求的意義。因此用 http 的方式傳送密碼一類的資料時,安全性極低。

相對的,https 使用了 ssl(或 tls)來加密 http 請求和響應,因此在上面的示例中,監控請求的人將會看到一串隨機的數字,而不是可讀性的文字。

gserhg9ydmpyk0vvdirvw1h5miniejej/fnujgh0bmvawii6+t4mndwmcmzui/orxp3hgwycsivyzs3mpmmse4iawkcohh==

其中加密過程採用的 ssl(安全套接字層)這一標準的安全技術,涵蓋了非對稱金鑰和對稱金鑰。

對稱加密

對稱加密是指加密與解密使用同乙個金鑰的加密演算法。

目前常見的加密演算法有:des、aes、idea 等

非對稱加密

非對稱加密使用的是兩個金鑰,公鑰與私鑰,我們會使用公鑰對**賬號密碼等資料進行加密,再用私鑰對資料進行解密。這個公鑰會發給檢視**的所有人,而私鑰是只有**伺服器自己擁有的。

目前常見非對稱加密演算法:rsa,dsa,dh 等。

而常用的套件,例如 chacha20-poly1305 加密套件就使用了這兩種演算法,其中 chacha20 是指對稱加密演算法,而poly1305 是指身份認證演算法。

參考 rfc 文件,我們可以了解 chacha20 提供了 256 位的加密強度,這作為對稱加密演算法來保障 https 安全性是足夠了。

而 poly1305 作為身份認證演算法提供身份驗證,可以防止攻擊者在 tls 握手過程中,將虛假資訊插入到安全的資料流中,poly1305 演算法提供了大約 100 位的安全性加密強度,足以阻止這類攻擊。

總的來看,https 相比 http ,它作為一種加密手段不僅加密了資料,還給了**一張安全可信賴的身份證。

整體來看 https 有以下五個優點:

相對的,缺點也是必不可少的:

如何將**從 http 公升級成 https 呢?相比起常規的公升級步驟,又拍雲提供一套更為簡潔明瞭的流程,從 ssl 證書的申購、管理到部署,三步即可完成。同時,又拍雲與國際頂級 ca 機構合作,證書型別豐富,操作流程簡單方便。

夜空中最靚的二狗子是如何讓 https 快上加快的?

從 http/1 到 http/2,以及即將到來的 http/3

為什麼HTTPS比HTTP更安全?

http超文字傳輸協議是網際網路上應用最為廣泛的一種網路協議。所有的www檔案都必須遵守這個標準。設計http最初的目的是為了提供一種發布和接收html頁面的方法。http是乙個很偉大的通訊協議,但http也有很多不足之處,例如 1.使用明文傳輸,可能會被竊取不安全 2.不驗證通訊方身份 3.無法證...

為什麼HTTPS比HTTP安全性更高?

http 超文字傳輸協議 是目前網際網路應用最廣泛的協議,伴隨著人們網路安全意識的加強,https 被越來越多地採納。不論是訪問一些購物 或是登入一些部落格 論壇等,我們都被 https 保護著,甚至 google chrome firefox 等主流瀏覽器已經將所有基於 http 的站點都標記為不...

SSL延遲計算 為什麼HTTPs比HTTP要慢?

https鏈結比不加密的http鏈結慢很多。另乙個原因好像是,https鏈結預設不能快取。首先我解釋一下,為什麼https鏈結比較慢。https鏈結和http鏈結都建立在tcp協議之上。http鏈結比較單純,使用三個握手資料報建立連線之後,就可以傳送內容資料了。上圖中,客戶端首先傳送syn資料報,然...