日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

由于HTTP協(xié)議存在著明文傳輸、不能很好的驗證通信方的身份和無法驗證報文的完整性等一些安全方面的確點,才誕生了HTTPS。嚴(yán)格來時HTTPS不是一種協(xié)議而是HTTP + SSL (TSL)的結(jié)合體。

1、RSA與AES簡述

先來學(xué)習(xí)一下AES和RSA的相關(guān)知識。

1.1、對稱加密算法AES

AES全稱:Advanced Encryption Standard----高級加密標(biāo)準(zhǔn),屬于對稱加密的范疇。該加密算法有一個密鑰,該密鑰可以用來加密,也可以用來解密。Client端與Server端有一個共同的Key, 這個Key是用來加密和解密的。如果報文在傳輸?shù)倪^程中被竊取了,沒有這個key, 對加密的內(nèi)容進(jìn)行破解是非常困難的,當(dāng)然竊取者如果有key的話,也是可以輕而易舉的解密的。所以在AES中,key是關(guān)鍵。。

為了更安全,每次加密的Key都是從一個密碼本中動態(tài)生成的,而這個密碼本服務(wù)端和客戶端都有同一本,每次傳輸?shù)氖且恍﹨?shù)。這些參數(shù)在經(jīng)過一些算法的映射,從密碼本中取出相應(yīng)的key用來解密。相當(dāng)于給AES加了一層防盜門,加大了破解的難度。這樣做的好處是每次加密的key都是不同的,但是需要密碼本以及映射算法的支持更加耗時。

 

HTTPS和加密算法

 

1.2、不對稱加密算法RSA

RAS這個名字,就是該算法三位發(fā)明者的名字的首字母的組合。RAS是非對稱加密,其在加密和解密的過程中,需要兩個Key,一個公鑰(public key),一個是私鑰(private key)。公鑰負(fù)責(zé)加密,而私鑰負(fù)責(zé)解密。公鑰是可以開放出去的,任何人都可以持有公鑰進(jìn)行加密。而私鑰要重點保護(hù),因為是用來解密的。

加密和解密就可以用不同的鑰匙來處理。對于加密放來說,你盡管可以對報文進(jìn)行加密,如果沒有私有的話也是不可以對你加密的內(nèi)容進(jìn)行解密的。你可以把東西放進(jìn)去,然后再鎖上盒子。但是如果你沒有鑰匙的話,也是打不開這把鎖的。

如下圖Client內(nèi)置了一個公鑰,該公鑰與Server端的私鑰是配對的,所以Client端可以使用這個內(nèi)置的Public key加密,而服務(wù)端就可以使用這個private key進(jìn)行解密。目前最常用的是服務(wù)端單向認(rèn)證機(jī)制。

 

HTTPS和加密算法

 

2、第三方公認(rèn)CA

CA就是第三方公認(rèn)機(jī)構(gòu),就像我們在淘寶買商品的時候,支付寶起到監(jiān)管作用一樣,是我們可以信賴的第三方。比如你自己通過RAS算法生成了一個私鑰和公鑰,在公鑰發(fā)送給客戶端的過程中有可能被篡改成其他的公鑰,而客戶端在沒有其他措施的保護(hù)下是不知道該公鑰是否就是服務(wù)器那邊的私鑰對應(yīng)的公鑰的,公鑰和私鑰有可能在公鑰分發(fā)的過程中被篡改。

HTTPS和加密算法

 

所以說頒布一個公正機(jī)構(gòu)來證明是很重要的!在RAS加密中也有一個第三方機(jī)構(gòu)來充當(dāng)這個角色,負(fù)責(zé)證明客戶端收到的證書就是你發(fā)送的證書,中間沒有被篡改。這個中間認(rèn)證機(jī)構(gòu),就是數(shù)組證書認(rèn)證機(jī)構(gòu), 其頒發(fā)的證書也就是我們常說的CA證書(CA , Certificate Authority)。

流程一般來說是這樣的:

第一步:服務(wù)端人員使用RSA算法生成兩個密鑰,一個用來加密一個用來解密。將負(fù)責(zé)加密的那個密鑰公布出去,所以我們稱之為公鑰(Public Key),而用來解密的那個密鑰,不能對外公布,只有服務(wù)端持有,所以我們稱之為私鑰(Private Key)。服務(wù)端在將Public Key進(jìn)行分發(fā)證書之前需要向CA機(jī)構(gòu)申請給將要分發(fā)的公鑰進(jìn)行數(shù)字簽名。(服務(wù)器公鑰負(fù)責(zé)加密,服務(wù)器私鑰負(fù)責(zé)解密)

第二步:生成數(shù)字簽名公鑰證書:對于CA機(jī)構(gòu)來說,其也有兩個密鑰,我們暫且稱之為CA私鑰和CA公鑰。CA機(jī)構(gòu)將服務(wù)端的Public Key作為輸入?yún)?shù)將其轉(zhuǎn)換為一個特有的Hash值。然后使用CA私鑰將這個Hash值進(jìn)行加密處理,并與服務(wù)端的Public Key綁定在一起,生成數(shù)字簽名證書。其實數(shù)字簽名證書的本質(zhì)就是服務(wù)端的公鑰+CA私鑰加密的Hash值。(CA私鑰負(fù)責(zé)簽名,CA公鑰負(fù)責(zé)驗證)

第三步:服務(wù)器獲取到這個已經(jīng)含有數(shù)字簽名并帶有公鑰的證書,將該證書發(fā)送給客戶端。當(dāng)客戶端收到該公鑰數(shù)字證書后,會驗證其有效性。大部分客戶端都會預(yù)裝CA機(jī)構(gòu)的公鑰,也就是CA公鑰??蛻舳耸褂肅A公鑰對數(shù)字證書上的簽名進(jìn)行驗證,這個驗證的過程就是使用CA公鑰對CA私鑰加密的內(nèi)容進(jìn)行解密,將解密后的內(nèi)容與服務(wù)端的Public Key所生成的Hash值進(jìn)行匹配,如果匹配成功,則說明該證書就是相應(yīng)的服務(wù)端發(fā)過來的。否則就是非法證書

HTTPS和加密算法

 

下圖是公鑰以及數(shù)字簽名的具體內(nèi)容,當(dāng)對下方公共密鑰進(jìn)行驗證時,需要使用內(nèi)置的CA公鑰將數(shù)字簽名進(jìn)行解密。然后將解密后的內(nèi)容,與公鑰生成的Hash值進(jìn)行比較,如果匹配成功,那么該證書就是CA機(jī)構(gòu)頒布的合法證書。

 

HTTPS和加密算法

 

3、HTTPS安全通信機(jī)制的建立

接下來就學(xué)習(xí)一下HTTP+SSL是如何進(jìn)行數(shù)據(jù)傳輸?shù)摹?/p>

3.1、HTTPS簡介

HTTPS不是一個新的通信協(xié)議,而是HTTP與SSL(或TSL)的組合。SSL--安全套節(jié)層(Secure Socket Layer), TSL(Transport Layer Security 安全傳輸層)是以SSL為原型開發(fā)的協(xié)議。HTTPS就是在HTTP與TCP層中間添加了一個SSL層。因為HTTPS被HTTP多了這層加密的流程,所以HTTPS的速度要比HTTP緩慢的多。

 

HTTPS和加密算法

 

3.2、HTTPS的通信過程

SSL的加密過程是RSA與AES混合進(jìn)行的,也就是通過RSA加密方式來交換AES加解密的密鑰,然后使用AES加密的方式來傳輸報文,也就是簡稱的握手。下方是圖解。

第一步:有客戶端發(fā)起的第一次握手,此次握手過程的主要目的是從服務(wù)端獲取數(shù)字簽名證書,服務(wù)端在發(fā)送數(shù)字簽名證書之前要先確認(rèn)客戶端的SSL版本、加密算法等信息。

第二步:完成第一次握手后,接著進(jìn)行第二次握手。第二次握手是在客戶端收到證書后發(fā)起的,主要目的是將AES加解密使用的Key (Pre-master secret)發(fā)送給服務(wù)端。當(dāng)然這個AES_KEY是使用第一次握手獲取的公鑰進(jìn)行加密的??蛻舳耸盏竭@個使用公鑰加密后的AES_KEY,使用服務(wù)端的私鑰進(jìn)行解密。這樣客戶端和服務(wù)端經(jīng)過二次握手后都持有了AES加解密的KEY。

第三步:當(dāng)Client與Server端都持有AES_KEY后,就可以對HTTP報文進(jìn)行加解密了。

第四步: 最后就是斷開連接了。具體如下圖所示:

 

HTTPS和加密算法

 

4、總結(jié)

HTTP是在不斷完善的,HTTPS和加密算法也是在不斷更新的,唯一不變的是我們對計算機(jī)知識的學(xué)習(xí),聽首歌再來學(xué)習(xí)吧!

分享到:
標(biāo)簽:HTTPS
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定