HTTPS如何保證數(shù)據(jù)安全?講得很細(xì)!
雖然現(xiàn)在許多網(wǎng)站都會(huì)用到HTTP傳輸協(xié)議和HTTPS協(xié)議,但是大家極力倡導(dǎo)使用的卻是更為安全的HTTPS,今天我們就來了解一下HTTPS是如何保證數(shù)據(jù)傳輸?shù)陌踩缘摹?/span>
本篇概要:
1.HTTP的缺點(diǎn)
2.HTTPS如何保證數(shù)據(jù)安全性
3.對稱加密和非對稱加密
一、為什么說HTTP不安全?
HTTP本質(zhì)上就是一個(gè)TCP連接,只不過協(xié)議規(guī)定了使用80端口,以及發(fā)送命令或數(shù)據(jù)的格式,而TCP本身是沒有加密的功能。致命的是,HTTP在數(shù)據(jù)傳輸過程中,數(shù)據(jù)就是以明文的方式傳輸?shù)?,由于?shù)據(jù)沒有被加密,所以很容易出現(xiàn)數(shù)據(jù)竊聽、篡改或者是身份偽造的不安全的行為。
有什么優(yōu)化的方法?
既然使用明文進(jìn)行數(shù)據(jù)傳輸不安全,那我們可以嘗試一下對數(shù)據(jù)進(jìn)行加密處理。比如,通信雙方可以約定一種算法,首先將需要發(fā)送的數(shù)據(jù)按照一定的規(guī)則進(jìn)行加密,然后對方接收到消息后按照相同的規(guī)則進(jìn)行解密。這個(gè)就是對稱加密的體現(xiàn)形式了。
所謂對稱加密,即原文和密文可使用一個(gè)相同的密鑰進(jìn)行加密和解密,即使用同一把密匙對原文加密得到密文或者是對密文解密獲取到原文。其優(yōu)點(diǎn)是加密解密效率較高。
但是使用對稱加密有一個(gè)關(guān)鍵點(diǎn),那就是這個(gè)對稱密鑰,應(yīng)該如何來確定呢?在HTTP請求中,加密密鑰協(xié)商,還是個(gè)難題。
二、HTTPS如何保證數(shù)據(jù)安全的呢?
在HTTPS數(shù)據(jù)傳輸過程中對數(shù)據(jù)進(jìn)行加密處理,HTTPS是使用對稱加密和非對稱加密、簽名算法(簽名算法不是用來做加密的)以及證書機(jī)制來對消息進(jìn)行處理,以此達(dá)到一個(gè)安全的有效傳輸。
HTTPS是基于HTTP的上層添加了一個(gè)叫做TLS的安全層,對數(shù)據(jù)的加密等操作都是在這個(gè)安全層中進(jìn)行處理的,其底層還是應(yīng)用的HTTP。HTTPS通信先是使用非對稱加密進(jìn)行密鑰的協(xié)商,協(xié)商出一個(gè)對稱加密的密鑰,之后的通信則采用這個(gè)對稱密鑰進(jìn)行對稱加密密文傳輸。因?yàn)榉菍ΨQ加密其算法極其復(fù)雜,導(dǎo)致解密效率低下,而對稱加密效率則明顯高出百倍。
在上面我們提到過,對明文使用同一把密鑰進(jìn)行加密和解密是屬于對稱加密。那么非對稱加密又是怎樣的呢?
非對稱加密
非對稱加密,即原文加密和密文加密使用的是兩個(gè)不同的密鑰,一把稱之為公鑰,一把稱之為私鑰,使用公鑰加密的內(nèi)容可以通過私鑰進(jìn)行解密,同樣,使用私鑰加密的內(nèi)容使用公鑰可以進(jìn)行解密。公鑰和私鑰是相對而言的,通常而言,保留在己方不對外泄露稱之為私鑰,可公布公開的稱之為公鑰。
非對稱加密對明文進(jìn)行加密和解密是使用的不同的密鑰。但是,我們在上面提過,在使用加密時(shí),其難點(diǎn)就在于密鑰協(xié)商過程,那么,HTTPS是如何處理這個(gè)密鑰協(xié)商過程呢。
在這里,我們需要引入一個(gè)新的名詞:數(shù)字證書。
數(shù)字證書
所謂數(shù)字證書,就是一份類似于身份證一樣的網(wǎng)絡(luò)通信憑證,以證明所請求對象的身份信息不被篡改并且是真實(shí)有效的,當(dāng)我們請求某個(gè)網(wǎng)站時(shí),先去請求網(wǎng)站的數(shù)字證書,然后檢查證書的真實(shí)性和有效性,從而一步步進(jìn)行身份驗(yàn)證,具體過程會(huì)在后面進(jìn)行圖解。
所謂證書,就是服務(wù)端從網(wǎng)站公證處備案申請的一個(gè)身份證這樣的一個(gè)東西,里面包含有有效期開始時(shí)間、結(jié)束時(shí)間、證書持有人、簽名以及最關(guān)鍵的持有人的公鑰信息等。通常情況下,我們會(huì)為服務(wù)端配置SSL證書,SSL證書是數(shù)字證書的一種,由受信任的數(shù)字證書頒發(fā)機(jī)構(gòu)(簡稱CA)頒發(fā),具有服務(wù)器身份驗(yàn)證和數(shù)據(jù)傳輸加密的功能。
就好比我們訪問億佰特網(wǎng)站,我們怎么知道我們訪問的億佰特網(wǎng)站是否是一個(gè)假的呢,所以我們通常在訪問時(shí),先去獲取對方網(wǎng)站的證書信息,然后和本地瀏覽器載入的證書進(jìn)行比較看是否是安全的。
HTTPS通信在客戶端請求服務(wù)端時(shí),先去獲取服務(wù)端的證書,然后將證書在本地進(jìn)行對比校驗(yàn)(通常瀏覽器中會(huì)內(nèi)置很多證書,如上圖);當(dāng)驗(yàn)證通過時(shí),則表示是一個(gè)安全的證書,否則瀏覽器狀態(tài)欄會(huì)提示“不安全”。
查看技術(shù)文章和免費(fèi)咨詢技術(shù)問題可以訪問成都億佰特電子科技有限公司官網(wǎng)及各官方平臺(tái):
微信號:cdebyte
今日頭條:億佰特
新浪微博:成都億佰特
相關(guān)文章推薦:防止數(shù)據(jù)泄露的10個(gè)策略
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺(tái)座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3