了解HTTPS原理

一丶前言

1.HTTP 協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議):是客戶端瀏覽器或其他程序與Web服務(wù)器之間的應(yīng)用層通信協(xié)議 。

2.HTTPS 協(xié)議(HyperText Transfer Protocol over Secure Socket Layer):可以理解為HTTP+SSL/TLS, 即 HTTP 下加入 SSL 層,HTTPS 的安全基礎(chǔ)是 SSL,因此加密的詳細(xì)內(nèi)容就需要 SSL,用于安全的 HTTP 數(shù)據(jù)傳輸。

Paste_Image.png

3.SSL :(Secure Socket Layer,安全套接字層):1994年為 Netscape 所研發(fā),SSL 協(xié)議位于 TCP/IP 協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。

4.TLS(Transport Layer Security,傳輸層安全):其前身是 SSL,它最初的幾個(gè)版本(SSL 1.0、SSL 2.0、SSL 3.0)由網(wǎng)景公司開(kāi)發(fā),1999年從 3.1 開(kāi)始被 IETF 標(biāo)準(zhǔn)化并改名,發(fā)展至今已經(jīng)有 TLS 1.0、TLS 1.1、TLS 1.2 三個(gè)版本。SSL3.0和TLS1.0由于存在安全漏洞,已經(jīng)很少被使用到。TLS 1.3 改動(dòng)會(huì)比較大,目前還在草案階段,目前使用最廣泛的是TLS 1.1、TLS 1.2。

5.密鑰:密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的參數(shù)。

密鑰分為對(duì)稱密鑰與非對(duì)稱密鑰。

6.對(duì)稱密鑰加密:又稱私鑰加密或會(huì)話密鑰加密算法,即信息的發(fā)送方和接收方使用同一個(gè)密鑰去加密和解密數(shù)據(jù)。它的最大優(yōu)勢(shì)是加/解密速度快,適合于對(duì)大數(shù)據(jù)量進(jìn)行加密,但密鑰管理困難。

例子來(lái)簡(jiǎn)要說(shuō)明一下對(duì)稱加密的工作過(guò)程。甲和乙是一對(duì)生意搭檔,他們住在不同的城市。
由于生意上的需要,他們經(jīng)常會(huì)相互之間郵寄重要的貨物。為了保證貨物的安全,他們商定
制作一個(gè)保險(xiǎn)盒,將物品放入其中。他們打造了兩把相同的鑰匙分別保管,以便在收到包裹
時(shí)用這個(gè)鑰匙打開(kāi)保險(xiǎn)盒,以及在郵寄貨物前用這把鑰匙鎖上保險(xiǎn)盒。

來(lái)源百度百科:


1.png

應(yīng)用:在對(duì)稱加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES等。

7.非對(duì)稱加密算法:需要兩個(gè)密鑰來(lái)進(jìn)行加密和解密,這兩個(gè)秘鑰是公開(kāi)密鑰(public key,簡(jiǎn)稱公鑰)和私有密鑰(private key,簡(jiǎn)稱私鑰)。
來(lái)源百度百科:

如下圖所示,甲乙之間使用非對(duì)稱加密的方式完成了重要信息的安全傳輸。
非對(duì)稱加密工作過(guò)程簡(jiǎn)要示意圖
非對(duì)稱加密工作過(guò)程簡(jiǎn)要示意圖
1、乙方生成一對(duì)密鑰(公鑰和私鑰)并將公鑰向其它方公開(kāi)。
2、得到該公鑰的甲方使用該密鑰對(duì)機(jī)密信息進(jìn)行加密后再發(fā)送給乙方。
3、乙方再用自己保存的另一把專用密鑰(私鑰)對(duì)加密后的信息進(jìn)行解密。乙方只能用其專用密鑰(私鑰)解密由對(duì)應(yīng)的公鑰加密后的信息。
在傳輸過(guò)程中,即使攻擊者截獲了傳輸?shù)拿芪模⒌玫搅艘业墓€,也無(wú)法破解密文,因?yàn)橹挥幸业乃借€才能解密密文。
同樣,如果乙要回復(fù)加密信息給甲,那么需要甲先公布甲的公鑰給乙用于加密,甲自己保存甲的私鑰用于解密。
2.png

應(yīng)用:在非對(duì)稱加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)等。

二丶HTTP訪問(wèn)過(guò)程

Paste_Image.png

HTTP 傳輸面臨的風(fēng)險(xiǎn)有:
① 竊聽(tīng)風(fēng)險(xiǎn):黑客可以獲知通信內(nèi)容。
② 篡改風(fēng)險(xiǎn):黑客可以修改通信內(nèi)容。
③ 冒充風(fēng)險(xiǎn):黑客可以冒充他人身份參與通信。

三丶HTTPS訪問(wèn)過(guò)程

Paste_Image.png

HTTPS 缺點(diǎn):
①SSL 證書(shū)費(fèi)用很高,以及其在服務(wù)器上的部署、更新維護(hù)非常繁瑣
②HTTPS 降低用戶訪問(wèn)速度(多次握手)
③網(wǎng)站改用HTTPS 以后,由HTTP 跳轉(zhuǎn)到 HTTPS 的方式增加了用戶訪問(wèn)耗時(shí)(多數(shù)網(wǎng)站采用302跳轉(zhuǎn))
④HTTPS 涉及到的安全算法會(huì)消耗 CPU 資源,需要增加大量機(jī)器(https訪問(wèn)過(guò)程需要加解密)

四丶參考資料:

百度百科
http://baike.baidu.com/item/%E5%AF%86%E9%92%A5
深度解析HTTPS原理
http://www.toutiao.com/i6403165383427097089/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容