發(fā)布源:深圳維創(chuàng)信息技術(shù)發(fā)布時(shí)間:2020-09-24 瀏覽次數(shù): 次
像這三種類型,它們硬件不同,系統(tǒng)不同,服務(wù)端處理的編程語(yǔ)言不同。
它們之間卻可以在網(wǎng)絡(luò)的世界了自由聯(lián)通。
靠的是什么呢?靠的是它們遵守相同的規(guī)則(如:HTTP)。
應(yīng)用層用什么格式(語(yǔ)言編碼,報(bào)文字段)封裝報(bào)文、傳輸層如何將大量的數(shù)據(jù)分段,并給每幀數(shù)據(jù)添加編號(hào)和端口信息、網(wǎng)絡(luò)層如何給沒(méi)幀數(shù)據(jù)添加IP地址,目標(biāo)MAC地址、數(shù)據(jù)鏈路層如何將數(shù)字信息通過(guò)網(wǎng)卡發(fā)出去。
HTTPS是傳輸協(xié)議嗎?目前常見(jiàn)的應(yīng)用層協(xié)議好像沒(méi)有看到HTTPS啊?沒(méi)錯(cuò),HTTPS并非TCP/IP協(xié)議族中的一員,它其實(shí)是HTTP協(xié)議+SSL協(xié)議的組合體,是披著SSL外衣的HTTP。
HTTPS與HTTP有什么關(guān)系?HTTP實(shí)現(xiàn)的功能:一種機(jī)制簡(jiǎn)單(這也是從早期眾多傳輸協(xié)議中走出來(lái)的原因)的超文本傳輸協(xié)議,為客戶端和服務(wù)器通信服務(wù),是處在TCP/IP協(xié)議族中的應(yīng)用層協(xié)議。
HTTP在發(fā)送請(qǐng)求時(shí),采用四層架構(gòu)。
應(yīng)用層:提供多種應(yīng)用服務(wù),如:HTTP FTP DNS等,可以直接提供給開(kāi)發(fā)者使用。
傳輸層:網(wǎng)絡(luò)間數(shù)據(jù)的傳輸,如:TCP TDP,報(bào)文數(shù)據(jù)分割打包成幀網(wǎng)絡(luò)層:處理網(wǎng)絡(luò)中流動(dòng)的數(shù)據(jù)包,在復(fù)雜的網(wǎng)絡(luò)段中選擇一條傳輸路線,將數(shù)據(jù)包送到目的地。
將現(xiàn)實(shí)中的寄快遞(在快遞上寫上收件地址等信息,送到快遞點(diǎn)(類似于路由器))數(shù)據(jù)鏈路層:處理鏈接網(wǎng)絡(luò)的硬件部分,如:網(wǎng)絡(luò)適配器,硬件驅(qū)動(dòng),操作系統(tǒng),光纖。
HTTP請(qǐng)求過(guò)程中的重要概念!1.數(shù)據(jù)包在網(wǎng)絡(luò)層怎么走的呢?在數(shù)據(jù)包傳輸過(guò)程中,需要不斷使用地址解析協(xié)議(IP和MAC地址對(duì)應(yīng)的表,互相反查),進(jìn)行路由選擇(將數(shù)據(jù)包丟給一個(gè)路由器,路由器會(huì)根據(jù)數(shù)據(jù)包上帶的地址,自動(dòng)分揀,傳給它認(rèn)為比較好的下一站路,直到到達(dá)目的地)2.TCP通訊三次握手客戶端先發(fā)送一個(gè)SYN(synchronize)服務(wù)端收到后,返回一個(gè)SYN(synchronize)/ACK(acknowledgement)客戶端發(fā)送一個(gè)ACK(acknowledgement)3.DNS域名解析服務(wù):在瀏覽器輸入url后,點(diǎn)擊enter。
網(wǎng)絡(luò)首先會(huì)拿填寫的域名到dns服務(wù)器查詢對(duì)應(yīng)的IP地址。
瀏覽器將請(qǐng)求傳給返回的IP地址。
4.HTTP與HTTPS通信的區(qū)別只是在應(yīng)用層與傳輸層之間添加了一個(gè)SSL層HTTPS為什么會(huì)安全?既然HTTPS是披著SSL外衣的HTTP,那SSL是什么呢?SSL是安全套接字層,是目前比較成熟的提供可靠數(shù)據(jù)傳輸?shù)陌踩珔f(xié)議。
SSL可以提供證書(shū)認(rèn)證,數(shù)據(jù)加密,完整性保護(hù)等保護(hù)性策略。
數(shù)據(jù)加密原理SSL采用的加密策略是:非對(duì)此加密+對(duì)稱加密的混合加密方式對(duì)成加密:?jiǎn)渭兊膶?duì)稱加密,加密解密的效率高,但是在客戶端于服務(wù)端共享密鑰時(shí),容易被中間劫持泄露,不夠安全非對(duì)稱加密:是新一代加密方案,加密解密銷量低,但是可以實(shí)現(xiàn)密鑰的安全傳輸,想通過(guò)公鑰解出私鑰難道極大,基本不可能。
最中采用在第一次交換共享密鑰時(shí),使用非對(duì)稱加密。
然后用共享密鑰加密。
這樣既避免了密鑰被劫持,又保證了效率數(shù)據(jù)完整性策略采用報(bào)文摘要的策略,防止報(bào)文主題被修改。
在報(bào)文發(fā)送前,先通過(guò)md5-base64加密,得到一個(gè)報(bào)文主體的摘要,把這個(gè)摘要放到請(qǐng)求首部中,等服務(wù)器收到信息,采用同樣的算法,加密報(bào)文主體,根據(jù)得到的結(jié)果是否和報(bào)文摘要一致來(lái)判斷數(shù)據(jù)的完整性。
SSL和TLS的關(guān)系目前常見(jiàn)的加密協(xié)議有兩個(gè)SSL3.0和TLS1.0,它們之間有什么區(qū)別呢?SSL(Secure Socket Layer):是有瀏覽器開(kāi)發(fā)商網(wǎng)景通信公司發(fā)起并開(kāi)發(fā)到了SSL3.0版本TLS(Transport Layer Security):后面主導(dǎo)權(quán)移交給了IETF組織,他們?cè)赟SL3.0基礎(chǔ)上開(kāi)發(fā)了 TLS一系列版本。
它們是“父子”關(guān)系。
HTTPS協(xié)議安全通信步驟HTTPS協(xié)議安全通信步驟中有三個(gè)主角元素:客戶端,服務(wù)器,第三方可信任的證書(shū)頒發(fā)機(jī)構(gòu)。
過(guò)程如下:服務(wù)器的運(yùn)維人員向“第三方可信任的證書(shū)頒發(fā)機(jī)構(gòu)”提供公司的有效信息+公鑰。
“第三方可信任的證書(shū)頒發(fā)機(jī)構(gòu)”認(rèn)證公司有效,就用“第三方可信任的證書(shū)頒發(fā)機(jī)構(gòu)”的私鑰給服務(wù)器的公鑰簽名,然后創(chuàng)建一個(gè)證書(shū),證書(shū)中加入了公鑰+公鑰簽名結(jié)果,發(fā)給服務(wù)器。
服務(wù)器運(yùn)營(yíng)人員需要支付一定的費(fèi)用。
客服端安裝瀏覽器,瀏覽器內(nèi)部?jī)?nèi)置了“第三方可信任的證書(shū)頒發(fā)機(jī)構(gòu)”的根證書(shū),里面包含了“第三方可信任的證書(shū)頒發(fā)機(jī)構(gòu)”的公鑰信息//正式開(kāi)始SSL通信客戶端發(fā)送請(qǐng)求給CpentHello到服務(wù)器,請(qǐng)求報(bào)文中包含客戶端支持的SSL指定版本號(hào),加密組件列表(使用的加密算法和密鑰長(zhǎng)度)服務(wù)端收到請(qǐng)求后,也回發(fā)生個(gè)CpentHello回應(yīng),里面包含了使用的SSL版本和加密組件(該加密組件是從客戶端發(fā)生的列表中篩選出來(lái)的)緊接著服務(wù)器發(fā)生證書(shū)報(bào)文(Certificate),將服務(wù)器申請(qǐng)的公鑰證書(shū)傳給客戶端然后服務(wù)器發(fā)生一個(gè)Server Hello Done報(bào)文給客戶端,表示初期階段的SSL握手協(xié)商結(jié)束。
客戶端收到服務(wù)器發(fā)來(lái)的公鑰證書(shū)后,拿本地存儲(chǔ)的第三方機(jī)構(gòu)根證書(shū)中的公鑰對(duì)證書(shū)中的簽名信息解密,如果解密的結(jié)構(gòu)同證書(shū)中的原始服務(wù)器公鑰信息一樣,證明服務(wù)器可信。
接著客戶端在本地生成一個(gè)隨機(jī)密碼字符串。
用服務(wù)器的公鑰加密這個(gè)字符串,將得到的結(jié)果傳遞給服務(wù)器器。
然后客戶端再發(fā)送一個(gè)Change Cipher Spec報(bào)文(修改加密規(guī)則說(shuō)明)給服務(wù)器,告訴服務(wù)器下面的通信將采用剛才的隨機(jī)密碼字符串作為加密密鑰。
最后客戶端發(fā)生一個(gè)Finish報(bào)文,報(bào)文中包含了從連接到現(xiàn)在所有報(bào)文的整體校驗(yàn)碼,上面一系列的握手協(xié)商是否能最后成功,就看服務(wù)器能否正確解密這個(gè)Finish報(bào)文了。
服務(wù)器正確解密后,也發(fā)送個(gè)Change Cipher Spec報(bào)文(修改加密規(guī)則說(shuō)明)給客戶端。
最后服務(wù)端也發(fā)送個(gè)Finish報(bào)文讓客戶端解密驗(yàn)證。
等客戶端、服務(wù)器兩者的Finished報(bào)文都正常交換后,SSL連接算是正式建立完成。
下面的通信就會(huì)受到SSL的加密保護(hù)。
現(xiàn)在客戶端就可以安全的給服務(wù)器發(fā)送簡(jiǎn)單的應(yīng)用層協(xié)議(http)了,并得到受保護(hù)的響應(yīng)最后通訊完成,由客戶端發(fā)送close_notify報(bào)文,通知服務(wù)器斷開(kāi)鏈接。
/
Copyright © 2021 深圳市維創(chuàng)信息技術(shù)有限公司 版權(quán)所有