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