HTTPS和HTTP有什么區(qū)別,安全性如何?
在互聯(lián)網(wǎng)獲取信息的過(guò)程中,HTTPS是常用的加密信息傳輸方式。當(dāng)訪問(wèn)某個(gè)站點(diǎn)時(shí),瀏覽器的地址欄中出現(xiàn)一個(gè)綠色標(biāo),表示該站點(diǎn)支持HTTPS信息傳輸。HTTPs是我們常用的HTTP協(xié)議和某種加密協(xié)議(即HTTP+s)的混合體,它可以是TLS(安全傳輸層協(xié)議)或SSL(安全套接字層),但我同意另一個(gè)抽象的泛化,HTTP+security。
首先,HTTPS不是這項(xiàng)加密技術(shù)的正式名稱。HTTPS表示“在TLS/SSL上實(shí)現(xiàn)的HTTP協(xié)議”。因此,HTTP下的TLS/SSL層實(shí)際上是用來(lái)實(shí)現(xiàn)加密的。
讓我們看看TLS/SSL實(shí)現(xiàn)的主要機(jī)制:
1、證書(shū):通過(guò)第三方有名證書(shū)頒發(fā)機(jī)構(gòu)(如VeriSign)驗(yàn)證和保證網(wǎng)站的身份,防止他人偽造網(wǎng)站身份,與未知用戶建立加密連接。
2、密鑰交換:通過(guò)公鑰(非對(duì)稱)加密,由網(wǎng)站服務(wù)器與用戶協(xié)商生成公共會(huì)話密鑰。
3、會(huì)話加密:通過(guò)機(jī)制協(xié)商的會(huì)話密鑰,使用對(duì)稱加密算法對(duì)會(huì)話內(nèi)容進(jìn)行加密。
4、消息驗(yàn)證:消息驗(yàn)證算法用于防止加密信息在傳輸過(guò)程中被篡改。
通過(guò)上述機(jī)制,保護(hù)用戶與網(wǎng)站之間的傳輸內(nèi)容,從而獲得高安全性。然而,任何加密方法都不是安全的。事實(shí)上,上述機(jī)制可能存在風(fēng)險(xiǎn):
1、證書(shū):如果有人偽造證書(shū),瀏覽器會(huì)發(fā)出警告,提醒用戶該網(wǎng)站的證書(shū)可能是偽造的,用戶應(yīng)停止訪問(wèn),但如果忽略瀏覽器的警告,您的會(huì)話信息可能會(huì)被偽造者竊取。此外,如果第三方證書(shū)頒發(fā)機(jī)構(gòu)受到攻擊,攻擊者竊取頒發(fā)的證書(shū)密鑰,就可以偽造相應(yīng)的網(wǎng)站證書(shū),完全欺騙瀏覽器的安全機(jī)制。這樣的例子確實(shí)發(fā)生過(guò)。
2、密鑰交換:RSA是常用的公鑰加密算法,通常非常安全。
3、會(huì)話加密:AES-256(cbcmode)是一種應(yīng)用非常廣泛的加密算法,使用256位密鑰來(lái)表示其高安全性,如果使用128位密鑰(AES-128),則安全性較差。
4、消息驗(yàn)證:SHA1,這是一個(gè)哈希算法。SHA1比MD5有更好的安全性,但是如果使用sha256,安全性會(huì)更好。
很抽象,不是嗎?讓我們用“通行證”來(lái)描述每個(gè)人年輕時(shí)的所作所為。
HTTPS協(xié)議
為了解決這個(gè)問(wèn)題,HTTPS采用了“加密”的方式。出名的原始加密方法是對(duì)稱加密算法,即雙方約定一個(gè)密碼,用哪個(gè)字母代替哪個(gè)字母等?,F(xiàn)在我們通常使用一種稱為AES(高級(jí)加密算法)的對(duì)稱算法。
對(duì)稱加密算法是指用于加密和解密的密鑰是相同的。
AES從數(shù)學(xué)上保證,只要你使用的密鑰足夠長(zhǎng),就幾乎不可能破解它(除非光子計(jì)算機(jī)能破解)
我們先假設(shè)沒(méi)有鑰匙密文是不能破解的,然后再回到這個(gè)教室。你把AES加密的內(nèi)容寫(xiě)在紙上,就要發(fā)出去了,你突然想,ta沒(méi)有密鑰怎么解密內(nèi)容,或者怎么把密鑰給ta?
如果密鑰也寫(xiě)在便條上,中間人仍然可以破解***便條的內(nèi)容。也許在現(xiàn)實(shí)環(huán)境中,你有其他的方法通過(guò)某種安全的渠道把密鑰發(fā)送給ta,但是在Internet上實(shí)現(xiàn)起來(lái)比較困難。畢竟,不管怎樣,數(shù)據(jù)都必須經(jīng)過(guò)這些路線。
所以聰明人發(fā)明了另一種加密算法——非對(duì)稱加密算法。此加密算法生成兩個(gè)密鑰(key1和key2)。對(duì)于key1加密數(shù)據(jù),key1本身無(wú)法解密,key2需要解密;對(duì)于key2加密數(shù)據(jù),key2本身無(wú)法解密,只有key1可以解密。
想了解更多建站百科的內(nèi)容,請(qǐng)?jiān)L問(wèn):建站百科
本文來(lái)源:http://www.sonygallery.com.cn/seojianzhan/10909.html