成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何解析HTTPS與SSL原理

如何解析HTTPS與SSL原理,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

成都創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)公司|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋混凝土攪拌站等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身定制品質(zhì)網(wǎng)站。

HTTPS是指結(jié)合HTTP和SSL來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)瀏覽器和服務(wù)器之間的安全通信。HTTPS被融合到當(dāng)今網(wǎng)絡(luò)操作系統(tǒng)和網(wǎng)絡(luò)瀏覽器中,他依賴于網(wǎng)絡(luò)服務(wù)器是否支持HTTPS協(xié)議。本文重點(diǎn)是闡述HTTPS和SSL證書(shū)的原理,不涉及具體實(shí)現(xiàn)。在開(kāi)始敘述原理之前,先明確幾個(gè)網(wǎng)絡(luò)安全方面的基礎(chǔ)概念。

一.基礎(chǔ)概念

1. 對(duì)稱加密算法

一個(gè)對(duì)稱加密算法由五個(gè)部分組成:

  • 明文:原始消息或數(shù)據(jù)

  • 加密算法

  • 密鑰

  • 密文:使用密鑰通過(guò)加密算法對(duì)明文計(jì)算后的結(jié)果

  • 解密算法:使用密文和相同密鑰通過(guò)解密算法產(chǎn)生原文

2. 非對(duì)稱加密算法

與對(duì)稱加密算法不同的是,非對(duì)稱加密算法使用的加密密鑰和解密密鑰是不同的。

3. 公鑰密碼與RSA

公鑰密碼屬于對(duì)稱加密算法中的一種,公鑰密碼體系中有一個(gè)公鑰和一個(gè)密鑰,公鑰是公開(kāi)給所有人使用的,密鑰只有自己知道,通常公鑰根據(jù)一個(gè)密鑰進(jìn)行加密,根據(jù)另一個(gè)密鑰進(jìn)行解密。

RSA公鑰密碼算法是公鑰密碼算法中的一種,RSA中的加密和解密都可以使用公鑰或者私鑰,但是用公鑰加密的密文只能使用私鑰解密,用私鑰加密的密文智能使用公鑰解密。

二.SSL證書(shū)的原理

這里只敘述SSL證書(shū)的原理,至于如何申請(qǐng)證書(shū),如何生成證書(shū),如何部署證書(shū)可以Google得到。在介紹SSL證書(shū)前,需要先知道證書(shū)的指紋和指紋算法。

指紋是在證書(shū)信息(證書(shū)機(jī)構(gòu),公司名,證書(shū)有效期等)后面加上一段內(nèi)容,保證信息沒(méi)有被修改過(guò)。具體操作是將將原來(lái)的信息通過(guò)指紋算法算法(一個(gè)hash算法)計(jì)算得到指紋與原信息一起發(fā)出去。用戶收到這份數(shù)據(jù)后,首先將原信息用同樣的指紋算法計(jì)算結(jié)果,將得到的結(jié)果與指紋對(duì)比,如果一致,則說(shuō)明信息沒(méi)有被修改過(guò)。當(dāng)然這個(gè)過(guò)程是有危險(xiǎn)的,黑客完全可以修改內(nèi)容并重新通過(guò)指紋算法生成指紋。這里需要使用加密算法來(lái)解決這個(gè)隱患。

假設(shè)一個(gè)公司B company向證書(shū)機(jī)構(gòu)xxx CA申請(qǐng)SSL證書(shū),他會(huì)得到一張類似下面這張圖的證書(shū)

B company得到這張證書(shū)后,會(huì)在與用戶通信的過(guò)程中將證書(shū)發(fā)送給用戶,用戶首先會(huì)檢測(cè)辦法證書(shū)的機(jī)構(gòu),如果是大家都公認(rèn)的證書(shū)機(jī)構(gòu),操作系統(tǒng)在出廠時(shí)會(huì)內(nèi)置這個(gè)機(jī)構(gòu)的機(jī)構(gòu)信息和公鑰,例如xxx CA,如果是一個(gè)不受信任的證書(shū)機(jī)構(gòu),應(yīng)用程序(比如瀏覽器)會(huì)發(fā)出警告,如果是受信任的證書(shū)機(jī)構(gòu),應(yīng)用程序會(huì)使用預(yù)置的xxx CA的公鑰去解密最后的指紋內(nèi)容和指紋算法,然后再把前面的證書(shū)內(nèi)容用指紋算法計(jì)算后與指紋內(nèi)容比對(duì),由于指紋內(nèi)容是由證書(shū)機(jī)構(gòu)唯一的私鑰加密的,因此只要比對(duì)成功說(shuō)明證書(shū)是沒(méi)有人被人修改過(guò)的。接下來(lái)用戶就可以放心使用該公司的公鑰了。

三.HTTPS的原理

HTTPS的出現(xiàn)是為了解決網(wǎng)絡(luò)通信中數(shù)據(jù)傳輸不安全的問(wèn)題,下面我們以登陸為例,先看一個(gè)網(wǎng)絡(luò)通信最簡(jiǎn)單的過(guò)程,再一步步分析這個(gè)過(guò)程中不安全的因素以及解決辦法。

1.最簡(jiǎn)單的通信過(guò)程

這個(gè)通信過(guò)程槽點(diǎn)太多,這樣一個(gè)網(wǎng)絡(luò)通信過(guò)程屬于小學(xué)生水準(zhǔn),首先最明顯一個(gè)錯(cuò)誤是作為客戶端如何知道給予回應(yīng)一定是目標(biāo)服務(wù)器,黑客可以有一百種辦法來(lái)偽裝這個(gè)服務(wù)器,輕輕松松就拿到用戶的用戶名和密碼,所以圖中也只能無(wú)奈的使用“某個(gè)地址”來(lái)標(biāo)識(shí)服務(wù)器。為了解決這個(gè)問(wèn)題,首先需要讓瀏覽器確認(rèn)對(duì)方的身份,于是有了下面的通信過(guò)程。

2.確認(rèn)服務(wù)器身份

確認(rèn)服務(wù)器身份就需要用到前面說(shuō)過(guò)的RSA算法了,由于RSA算法有下面這幾個(gè)特性,所以是可以用來(lái)唯一確認(rèn)服務(wù)器身份的:

  • 私鑰的唯一性

  • 私鑰的保密性(只有服務(wù)器知道這個(gè)私鑰)

  • 只能用公鑰解密用私鑰加密過(guò)的密文(對(duì)稱加密算法的特點(diǎn))

其中“()”里的內(nèi)容是服務(wù)器用私鑰加密后的內(nèi)容,一般服務(wù)器會(huì)將明文加密,瀏覽器在收到消息后首先會(huì)用公鑰解密密文,由前面特性3可以知道,公鑰和解密算法是可以解出明文的,如果解不出來(lái)說(shuō)明對(duì)方不是目標(biāo)服務(wù)器,瀏覽器解密后會(huì)與明文做比對(duì),如果比對(duì)成功,由私鑰的唯一性和保密性就可以確認(rèn)對(duì)方是目標(biāo)服務(wù)器。然而確認(rèn)服務(wù)器身份后,在向服務(wù)器發(fā)送數(shù)據(jù)的過(guò)程中,如果數(shù)據(jù)被黑客截獲,我們的用戶名和密碼也會(huì)落入黑客之手,于是下一步我們需要對(duì)發(fā)送的數(shù)據(jù)進(jìn)行加密。

3.通信內(nèi)容加密

瀏覽器對(duì)用戶名和密碼用公鑰進(jìn)行加密,由于

  • 只能用私鑰解密用公鑰加密過(guò)的密文

于是密文只能由服務(wù)器用私鑰解密,黑客即使拿到密文,也是無(wú)法解密的。但是在服務(wù)器向客戶返回信息的過(guò)程中就出現(xiàn)問(wèn)題了,由于公鑰是公有的,任何人都可以拿到這份數(shù)據(jù)并使用公鑰解密,所以這里還是存在不安全因素。于是客戶和瀏覽器的通信過(guò)程多了一個(gè)步驟。

4.使用用戶定義的對(duì)稱加密算法對(duì)信息加密

為了使瀏覽器和服務(wù)器發(fā)出的信息都無(wú)法被別人解密,這里使用了一個(gè)對(duì)稱加密算法,而算法和密鑰的加密是在瀏覽器用公鑰來(lái)加密的,這樣可以保證只有服務(wù)器才能用私鑰來(lái)解密這個(gè)內(nèi)容,也就是保證對(duì)稱加密算法和密鑰只能被服務(wù)器拿到。當(dāng)服務(wù)器拿到對(duì)稱加密算法和密鑰后,后面的通信都能使用這個(gè)對(duì)稱加密算法來(lái)完成,由于對(duì)稱加密算法和密鑰只有客戶和服務(wù)器知道,后面的通信加密過(guò)程都是無(wú)法被破解的。

到這里,基本就是HTTPS通信的整個(gè)過(guò)程了,似乎整個(gè)過(guò)程都很難被黑客破解,但是注意到前面的所有過(guò)程都默認(rèn)了一個(gè)前提,那就是客戶手里已經(jīng)擁有公鑰。公鑰的獲取如果只是在客戶和服務(wù)器之間進(jìn)行的話,是存在很大的安全隱患的,最直接的問(wèn)題就是用戶怎么確定拿到的公鑰就是目標(biāo)服務(wù)器的公鑰,類似“證明‘能證明你身份’的憑證是你的”這樣的命題,最好的解決辦法是引入一個(gè)大家都信任的第三方來(lái)“證明這個(gè)憑證”是服務(wù)器的,于是這里就使用了SSL證書(shū)。前面提到,通過(guò)發(fā)送SSL證書(shū)服務(wù)器可以將公鑰安全的交給用戶,而這里的第三方就是證書(shū)機(jī)構(gòu)。于是我們得到了一個(gè)完整的HTTPS通信過(guò)程。

到這里已經(jīng)基本講完了SSL證書(shū)與HTTPS的原理,當(dāng)然實(shí)際通信過(guò)程中還有很多細(xì)節(jié)沒(méi)有說(shuō)到,但是不妨礙理解原理。實(shí)際開(kāi)發(fā)和生產(chǎn)過(guò)程中很多信息敏感的操作都可以參照這種思想來(lái)實(shí)現(xiàn),文中有不合理的和錯(cuò)誤的地方歡迎指正。

看完上述內(nèi)容,你們掌握如何解析HTTPS與SSL原理的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站欄目:如何解析HTTPS與SSL原理
當(dāng)前網(wǎng)址:http://jinyejixie.com/article28/podhcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版商城網(wǎng)站、建站公司、App設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)公司、小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)
浦城县| 德格县| 抚顺县| 环江| 贞丰县| 兴和县| 安达市| 朔州市| 西昌市| 平山县| 北碚区| 故城县| 贡嘎县| 扶余县| 银川市| 太和县| 兴义市| 出国| 安陆市| 台湾省| 乌兰察布市| 曲靖市| 娱乐| 榆树市| 武宁县| 闸北区| 高平市| 潞城市| 房山区| 肃宁县| 涞源县| 晴隆县| 荣昌县| 黎川县| 金山区| 迁西县| 渝北区| 宣武区| 工布江达县| 渝中区| 汝州市|