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