自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么有 HTTPS?因?yàn)?HTTP 不安全!HTTPS 如何實(shí)現(xiàn)安全通信?

開(kāi)發(fā) 前端 安全
HTTPS 其實(shí)是一個(gè)“非常簡(jiǎn)單”的協(xié)議,規(guī)定了新的協(xié)議名“Https”,默認(rèn)端口號(hào) 443,至于其他的什么請(qǐng)求 - 應(yīng)答模式、報(bào)文結(jié)構(gòu)、請(qǐng)求方法、URI、頭字段、連接管理等等都完全沿用 HTTP,沒(méi)有任何新的東西。唯一的差別就是端口號(hào)不同、去掉明文傳輸。

為什么有 HTTPS?因?yàn)?HTTP 不安全! 現(xiàn)在的互聯(lián)網(wǎng)已經(jīng)不再是 “田園時(shí)代”,“黑暗森林” 已經(jīng)到來(lái)。上網(wǎng)的記錄會(huì)被輕易截獲,網(wǎng)站是否真實(shí)也無(wú)法驗(yàn)證,黑客可以偽裝成銀行網(wǎng)站,盜取真實(shí)姓名、密碼、銀行卡等敏感信息,威脅人身安全和財(cái)產(chǎn)安全。

上網(wǎng)的時(shí)候必須步步為營(yíng)、處處小心,否則就會(huì)被不知道埋伏在哪里的黑客所“獵殺”。

HTTPS 如何實(shí)現(xiàn)安全通信?如何構(gòu)建出固若金湯的網(wǎng)絡(luò)城堡?主要涉及的知識(shí)點(diǎn)如下:

  • 了解什么是 HTTPS
  • 什么樣的才是安全的通信
  • 對(duì)稱加密與非對(duì)稱加密、摘要算法、數(shù)字簽名、完整性校驗(yàn)到底是什么
  • 遷移 HTTPS 的必要性

什么是安全

做事要穩(wěn),老司機(jī)【碼哥字節(jié)】開(kāi)車要安全!不管是戴杜蕾斯還是安全氣囊,“安全至關(guān)重要”!

在通信過(guò)程中,具備以下特性則認(rèn)為安全:機(jī)密性、完整性、不可否認(rèn)、身份認(rèn)證

機(jī)密性

數(shù)據(jù)必須保密,只能有信任的人讀取,其他人是不可見(jiàn)的秘密。諸葛亮的密報(bào)總不能讓司馬懿知道呀,不然還玩?zhèn)€蛋。通俗的說(shuō):就是不能讓不相關(guān)的人看到不該看的東西。

完整性

也叫作一致性,也就是數(shù)據(jù)在傳輸過(guò)程中沒(méi)有被非法篡改,內(nèi)容不能多也不能少,一五一十的保持原狀。

打個(gè)比方,原本張無(wú)忌說(shuō):“趙敏,么么噠?!?,傳信的飛鴿被周芷若抓到了,截取了消息,改成了 “趙敏,去死吧!”。這么子搞,倚天屠龍記可能就會(huì)被改寫了。

不可否認(rèn)

也就做不可抵賴,不能否認(rèn)已經(jīng)發(fā)生過(guò)的事情。所謂 “君子一言,駟馬難追”?!袄蠎小?這種事情不能發(fā)生。

就像尹志平親密接觸了小龍女,事后一直隱瞞否認(rèn),裝作不知道,這是萬(wàn)萬(wàn)不可的。所以最終就嗝屁了。

身份驗(yàn)證

也就是確認(rèn)對(duì)方的真實(shí)身份,“證明你是真的是你”,保證消息發(fā)送到可信的人,而不是非法之徒。

比如令狐沖寫了一份情書給任盈盈:“盈盈,沖哥哥愛(ài)你喲”,但是岳不群看到快遞小哥,冒充是令狐沖,截取了情書后回復(fù):“傻逼,白日做夢(mèng)”。令狐沖不知道這是岳不群的回復(fù),以為是任盈盈的,笑傲江湖又要重寫了……

所以同時(shí)具備了機(jī)密性、完整性、身份認(rèn)證、不可夠人四個(gè)特性,通信雙方的安全才有保證,才是真正的安全。

什么是 HTTPS

到這里,終于輪到 HTTPS 上臺(tái)了,也就是它為 HTTP 增加了剛剛說(shuō)的四大安全特性。

HTTPS 其實(shí)是一個(gè)“非常簡(jiǎn)單”的協(xié)議,規(guī)定了新的協(xié)議名“https”,默認(rèn)端口號(hào) 443,至于其他的什么請(qǐng)求 - 應(yīng)答模式、報(bào)文結(jié)構(gòu)、請(qǐng)求方法、URI、頭字段、連接管理等等都完全沿用 HTTP,沒(méi)有任何新的東西。唯一的差別就是端口號(hào)不同、去掉明文傳輸。

那 HTTPS 憑啥就變得安全了呢?

就是因?yàn)樗?TCP/IP 與 HTTP 之間加上了 SSL/TLS ,從原來(lái)的 HTTP over TCP/IP 變成了 HTTP over SSL/TLS,讓 HTTP 運(yùn)行在 安全的 SSL/TLS 協(xié)議上,安全開(kāi)車。

http與https

所以重點(diǎn)就是去掌握 SSL/TLS 到底是什么玩意成就了安全。

SSL/TLS

SSL 即安全套接層(Secure Sockets Layer),在 OSI 模型中處于第 5 層(會(huì)話層),由網(wǎng)景公司于 1994 年發(fā)明,有 v2 和 v3 兩個(gè)版本,而 v1 因?yàn)橛袊?yán)重的缺陷從未公開(kāi)過(guò)。

SSL 發(fā)展到 v3 時(shí)已經(jīng)證明了它自身是一個(gè)非常好的安全通信協(xié)議,于是互聯(lián)網(wǎng)工程組 IETF 在 1999 年把它改名為 TLS(傳輸層安全,Transport Layer Security),正式標(biāo)準(zhǔn)化,版本號(hào)從 1.0 重新算起,所以 TLS1.0 實(shí)際上就是 SSLv3.1。

TLS 由記錄協(xié)議、握手協(xié)議、警告協(xié)議、變更密碼規(guī)范協(xié)議、擴(kuò)展協(xié)議等幾個(gè)子協(xié)議組成,綜合使用了對(duì)稱加密、非對(duì)稱加密、身份認(rèn)證等許多密碼學(xué)前沿技術(shù)。

瀏覽器與服務(wù)器在使用 TLS 建立連接的時(shí)候?qū)嶋H上就是選了一組加密算法實(shí)現(xiàn)安全通信,這些算法組合叫做 “密碼套件(cipher suite)”。

套件命名很有規(guī)律,比如“ECDHE-RSA-AES256-GCM-SHA384”。按照 密鑰交換算法 + 簽名算法 + 對(duì)稱加密算法 + 摘要算法”組成的.

所以這個(gè)套件的意思就是:使用 ECDHE 算法進(jìn)行密鑰交換,使用 RSA 簽名和身份驗(yàn)證,握手后使用 AES 對(duì)稱加密,密鑰長(zhǎng)度 256 位,分組模式 GCM,消息認(rèn)證和隨機(jī)數(shù)生成使用摘要算法 SHA384。

對(duì)稱加密與非對(duì)稱加密

前面提到四個(gè)實(shí)現(xiàn)安全的必要條件,先說(shuō) 機(jī)密性,也就是消息只能給想給的人看到并且看得懂。

實(shí)現(xiàn)機(jī)密性的手段就是 加密(encrypt),也就是將原本明文消息使用加密算法轉(zhuǎn)換成別人看不懂的密文,只有掌握特有的 密鑰 的人才能解密出原始內(nèi)容。就好像是諸葛亮將發(fā)給關(guān)二爺密報(bào)的內(nèi)容通過(guò)一種轉(zhuǎn)換算法轉(zhuǎn)成其他的內(nèi)容,司馬懿看不懂。關(guān)二爺持有解密該內(nèi)容的關(guān)鍵鑰匙。

鑰匙也就是 密鑰(key),未加密的消息叫做 明文 (plain text/clear text),加密后的內(nèi)容叫做 密文(cipher text),通過(guò)密鑰解密出原文的過(guò)程叫做 解密(decrypt),而加解密的整個(gè)過(guò)程就是 加密算法。

由于 HTTPS、TLS 都運(yùn)行在計(jì)算機(jī)上,所以“密鑰”就是一長(zhǎng)串的數(shù)字,但約定俗成的度量單位是“位”(bit),而不是“字節(jié)”(byte)。比如,說(shuō)密鑰長(zhǎng)度是 128,就是 16 字節(jié)的二進(jìn)制串,密鑰長(zhǎng)度 1024,就是 128 字節(jié)的二進(jìn)制串。

加密算法通常有兩大類:對(duì)稱加密和非對(duì)稱加密。

對(duì)稱加密

加密和解密使用的密鑰都是同一個(gè),是 “對(duì)稱的”。雙方只要保證不會(huì)有泄露其他人知道這個(gè)密鑰,通信就具有機(jī)密性。

對(duì)稱加密算法常見(jiàn)的有 RC4、DES、3DES、AES、ChaCha20 等,但前三種算法都被認(rèn)為是不安全的,通常都禁止使用,目前常用的只有 AES 和 ChaCha20。

AES 的意思是“高級(jí)加密標(biāo)準(zhǔn)”(Advanced Encryption Standard),密鑰長(zhǎng)度可以是 128、192 或 256。它是 DES 算法的替代者,安全強(qiáng)度很高,性能也很好,而且有的硬件還會(huì)做特殊優(yōu)化,所以非常流行,是應(yīng)用最廣泛的對(duì)稱加密算法。

加密分組模式

對(duì)稱算法還有一個(gè) “分組模式”的概念,目的是通過(guò)算法用固定長(zhǎng)度的密鑰加密任意長(zhǎng)度的明文。

最新的分組模式被稱為 AEAD(Authenticated Encryption with Associated Data),在加密的同時(shí)增加了認(rèn)證的功能,常用的是 GCM、CCM 和 Poly1305。

非對(duì)稱加密

有對(duì)稱加密,為何還搞出一個(gè)非對(duì)稱加密呢?

對(duì)稱加密確實(shí)解決了機(jī)密性,只有相關(guān)的人才能讀取出信息。但是最大的問(wèn)題是:如何安全的把密鑰傳遞對(duì)方,專業(yè)術(shù)語(yǔ) “密鑰交換”。

這個(gè)很容易理解,對(duì)稱加密的密鑰在飛鴿傳書過(guò)程中被打鳥(niǎo)的敵軍捕獲竊取,那么就能隨意加解密收發(fā)作戰(zhàn)密報(bào)數(shù)據(jù)了,諸葛亮的密報(bào)沒(méi)有機(jī)密可言。

所以非對(duì)稱加密誕生了。

由兩個(gè)密鑰組成,分別是 公鑰(public key) 和 “私鑰(private key)”,兩個(gè)密鑰是不一樣的,這也就是不對(duì)稱的由來(lái),公鑰可以任何人使用,私鑰則自己保密。

這里需要注意的是:公鑰和私鑰都可以用來(lái)加密解密,公鑰加密的密文只能用私鑰解密,反之亦然。

服務(wù)端保存私鑰,在互聯(lián)網(wǎng)上分發(fā)公鑰,當(dāng)訪問(wèn)服務(wù)器網(wǎng)站的時(shí)候使用授予的公鑰加密明文即可,服務(wù)端則使用對(duì)應(yīng)的私鑰來(lái)解密。敵軍沒(méi)有私鑰也就無(wú)法破解密文了。

非對(duì)稱加密

TLS 中常見(jiàn)的加密算法有 DH、RSA、ECC、DSA 等。其中的 RSA 最常用,它的安全性基于“整數(shù)分解”的數(shù)學(xué)難題,使用兩個(gè)超大素?cái)?shù)的乘積作為生成密鑰的材料,想要從公鑰推算出私鑰是非常困難的。

ECC(Elliptic Curve Cryptography)是非對(duì)稱加密里的“后起之秀”,它基于“橢圓曲線離散對(duì)數(shù)”的數(shù)學(xué)難題,使用特定的曲線方程和基點(diǎn)生成公鑰和私鑰,子算法 ECDHE 用于密鑰交換,ECDSA 用于數(shù)字簽名。

比起 RSA,ECC 在安全強(qiáng)度和性能上都有明顯的優(yōu)勢(shì)。160 位的 ECC 相當(dāng)于 1024 位的 RSA,而 224 位的 ECC 則相當(dāng)于 2048 位的 RSA。因?yàn)槊荑€短,所以相應(yīng)的計(jì)算量、消耗的內(nèi)存和帶寬也就少,加密解密的性能就上去了,對(duì)于現(xiàn)在的移動(dòng)互聯(lián)網(wǎng)非常有吸引力。

現(xiàn)在我們?yōu)榱藱C(jī)密性從對(duì)稱加密到非對(duì)稱加密,而非對(duì)稱加密還解決了密鑰交換不安全的問(wèn)題。那么是否可以直接使用非對(duì)稱加密來(lái)實(shí)現(xiàn)機(jī)密性呢?

答案是否定的!

因?yàn)榉菍?duì)稱加密運(yùn)算速度比較慢。所以需要兩者結(jié)合,混合模式實(shí)現(xiàn)機(jī)密性問(wèn)題,同時(shí)又有很好的性能。

加密流程如下所示:

  • 先創(chuàng)建一個(gè)隨機(jī)數(shù)的對(duì)稱加密密鑰,會(huì)話密鑰(session key);
  • 使用會(huì)話密鑰加密需要傳輸?shù)拿魑南?,因?yàn)閷?duì)稱加密性能較好,接著再使用非對(duì)稱加密的公鑰對(duì)會(huì)話密鑰加密,因?yàn)闀?huì)話密鑰很短,通常只有 16 字節(jié)或 32 字節(jié),所以加密也不會(huì)太慢。這里主要就是解決了非對(duì)稱加密的性能問(wèn)題,同時(shí)實(shí)現(xiàn)了會(huì)話密鑰的機(jī)密交換。
  • 另一方接收到密文后使用非對(duì)稱加密的私鑰解密出上一步加密的 會(huì)話密鑰,接著使用會(huì)話密鑰解密出加密的消息明文。

混合加密

總結(jié)一下就是使用非對(duì)稱加密算法來(lái)加密會(huì)話密鑰,使用對(duì)稱加密算法來(lái)加密消息明文,接收方則使用非對(duì)稱加密算法的私鑰解密出會(huì)話密鑰,再利用會(huì)話密鑰解密消息密文。

這樣混合加密就解決了對(duì)稱加密算法的密鑰交換問(wèn)題,而且安全和性能兼顧,完美地實(shí)現(xiàn)了機(jī)密性。

后面還有完整性、身份認(rèn)證、不可否認(rèn)等特性沒(méi)有實(shí)現(xiàn),所以現(xiàn)在的通信還不是絕對(duì)安全。

摘要算法與完整性

摘要算法的主要目的就是實(shí)現(xiàn)完整性,通過(guò)常見(jiàn)的散列函數(shù)、哈希函數(shù)實(shí)現(xiàn)。

我們可以簡(jiǎn)單理解成這事一種特殊的壓縮算法,將任意長(zhǎng)度的明文數(shù)據(jù)處理成固定長(zhǎng)度、又是獨(dú)一無(wú)二的“摘要”字符串,就是該數(shù)據(jù)的指紋。

同時(shí)摘要算法是單向加密算法,沒(méi)有密鑰,加密后的數(shù)據(jù)也無(wú)法解密,也就是不能從“摘要”推導(dǎo)出明文。

比如我們聽(tīng)過(guò)或者用過(guò)的 MD5(Message-Digest 5)、SHA-1(Secure Hash Algorithm 1),它們就是最常用的兩個(gè)摘要算法,能夠生成 16 字節(jié)和 20 字節(jié)長(zhǎng)度的數(shù)字摘要。

完整性實(shí)現(xiàn)

有了摘要算法生成的數(shù)字摘要,那么我們只需要在明文數(shù)據(jù)附上對(duì)應(yīng)的摘要,就能保證數(shù)據(jù)的完整性。

但是由于摘要算法不具有機(jī)密性,不能明文傳輸,否則黑客可以修改消息后把摘要也一起改了,網(wǎng)站還是鑒別不出完整性。

所以完整性還是要建立在機(jī)密性上,我們結(jié)合之前提到的混合加密使用 ”會(huì)話密鑰“ 加密明文消息 + 摘要,這樣的話黑客也就無(wú)法得到明文,無(wú)法做修改了。這里有個(gè)專業(yè)術(shù)語(yǔ)叫“哈希消息認(rèn)證碼(HMAC)”。

哈希消息認(rèn)證碼(HMAC)

比如諸葛亮使用上面提到的混合加密過(guò)程給關(guān)二爺發(fā)消息:“明天攻城” + “SHA-2 摘要”,關(guān)二爺收到后使用密鑰將解密出來(lái)的會(huì)話密鑰解密出明文消息,同時(shí)對(duì)明文消息使用解密出來(lái)的摘要算法進(jìn)行摘要計(jì)算,接著比對(duì)兩份“摘要”字符串是否一致,如果一致就說(shuō)明消息完整可信,沒(méi)有被敵軍修改過(guò)。

消息被修改是很危險(xiǎn)的,要以史為鑒,比如趙高與李斯偽造遺詔,直接把扶蘇給送西天了,這太可怕了。

總結(jié)下就是通過(guò)摘要比對(duì)防止篡改,同時(shí)利用混合加密實(shí)現(xiàn)密文與摘要的安全傳輸。

數(shù)字簽名和 CA

到這里已經(jīng)很安全了,但是還是有漏洞,就是通信的兩頭。黑客可以偽裝成網(wǎng)站來(lái)竊取信息。而反過(guò)來(lái),他也可以偽裝成你,向網(wǎng)站發(fā)送支付、轉(zhuǎn)賬等消息,網(wǎng)站沒(méi)有辦法確認(rèn)你的身份,錢可能就這么被偷走了。

現(xiàn)在如何實(shí)現(xiàn)身份認(rèn)證呢?

現(xiàn)實(shí)生活中,解決身份認(rèn)證的手段是簽名和印章,只要在紙上寫下簽名或者蓋個(gè)章,就能夠證明這份文件確實(shí)是由本人而不是其他人發(fā)出的。

非對(duì)稱加密依然可以解決此問(wèn)題,只不過(guò)跟之前反過(guò)來(lái)用,使用私鑰再加上摘要算法,就能夠?qū)崿F(xiàn)“數(shù)字簽名”,同時(shí)實(shí)現(xiàn)“身份認(rèn)證”和“不可否認(rèn)”。

就是把公鑰私鑰的用法反過(guò)來(lái),之前是公鑰加密、私鑰解密,現(xiàn)在是私鑰加密、公鑰解密。但又因?yàn)榉菍?duì)稱加密效率太低,所以私鑰只加密原文的摘要,這樣運(yùn)算量就小的多,而且得到的數(shù)字簽名也很小,方便保管和傳輸。

重點(diǎn)就是使用非對(duì)稱加密的“私鑰”加密原文的摘要,對(duì)方則使用非對(duì)稱加密的公鑰解密出摘要,再比對(duì)解密出的原文通過(guò)摘要算法計(jì)算摘要與解密出的摘要比對(duì)是否一致。這樣就能像簽署文件一樣證明消息確實(shí)是你發(fā)送的。

簽名驗(yàn)簽

只要你和網(wǎng)站互相交換公鑰,就可以用“簽名”和“驗(yàn)簽”來(lái)確認(rèn)消息的真實(shí)性,因?yàn)樗借€保密,黑客不能偽造簽名,就能夠保證通信雙方的身份。

CA

到這里似乎已經(jīng)大功告成,可惜還不是。

綜合使用對(duì)稱加密、非對(duì)稱加密和摘要算法,我們已經(jīng)實(shí)現(xiàn)了安全的四大特性,是不是已經(jīng)完美了呢?

不是的,這里還有一個(gè)“公鑰的信任”問(wèn)題。因?yàn)檎l(shuí)都可以發(fā)布公鑰,我們還缺少防止黑客偽造公鑰的手段,也就是說(shuō),怎么來(lái)判斷這個(gè)公鑰就是你或者張三豐的公鑰呢?

這個(gè)“第三方”就是我們常說(shuō)的CA(Certificate Authority,證書認(rèn)證機(jī)構(gòu))。它就像網(wǎng)絡(luò)世界里的公安局、教育部、公證中心,具有極高的可信度,由它來(lái)給各個(gè)公鑰簽名,用自身的信譽(yù)來(lái)保證公鑰無(wú)法偽造,是可信的。

CA 對(duì)公鑰的簽名認(rèn)證也是有格式的,不是簡(jiǎn)單地把公鑰綁定在持有者身份上就完事了,還要包含序列號(hào)、用途、頒發(fā)者、有效時(shí)間等等,把這些打成一個(gè)包再簽名,完整地證明公鑰關(guān)聯(lián)的各種信息,形成“數(shù)字證書”(Certificate)。

OpenSSL

它是一個(gè)著名的開(kāi)源密碼學(xué)程序庫(kù)和工具包,幾乎支持所有公開(kāi)的加密算法和協(xié)議,已經(jīng)成為了事實(shí)上的標(biāo)準(zhǔn),許多應(yīng)用軟件都會(huì)使用它作為底層庫(kù)來(lái)實(shí)現(xiàn) TLS 功能,包括常用的 Web 服務(wù)器 Apache、Nginx 等。

由于 OpenSSL 是開(kāi)源的,所以它還有一些代碼分支,比如 Google 的 BoringSSL、OpenBSD 的 LibreSSL,這些分支在 OpenSSL 的基礎(chǔ)上刪除了一些老舊代碼,也增加了一些新特性,雖然背后有“大金主”,但離取代 OpenSSL 還差得很遠(yuǎn)。

總結(jié)下就是:OpenSSL 是著名的開(kāi)源密碼學(xué)工具包,是 SSL/TLS 的具體實(shí)現(xiàn)。

遷移 HTTPS 必要性

如果你做移動(dòng)應(yīng)用開(kāi)發(fā)的話,那么就一定知道,Apple、Android、某信等開(kāi)發(fā)平臺(tái)在 2017 年就相繼發(fā)出通知,要求所有的應(yīng)用必須使用 HTTPS 連接,禁止不安全的 HTTP。

在臺(tái)式機(jī)上,主流的瀏覽器 Chrome、Firefox 等也早就開(kāi)始“強(qiáng)推”HTTPS,把 HTTP 站點(diǎn)打上“不安全”的標(biāo)簽,給用戶以“心理壓力”。

Google 等搜索巨頭還利用自身的“話語(yǔ)權(quán)”優(yōu)勢(shì),降低 HTTP 站點(diǎn)的排名,而給 HTTPS 更大的權(quán)重,力圖讓網(wǎng)民只訪問(wèn)到 HTTPS 網(wǎng)站。

這些手段都逐漸“擠壓”了純明文 HTTP 的生存空間,“遷移到 HTTPS”已經(jīng)不是“要不要做”的問(wèn)題,而是“要怎么做”的問(wèn)題了。HTTPS 的大潮無(wú)法阻擋,如果還是死守著 HTTP,那么無(wú)疑會(huì)被沖刷到互聯(lián)網(wǎng)的角落里。

顧慮

阻礙 HTTPS 實(shí)施的因素還有一些這樣、那樣的顧慮,我總結(jié)出了三個(gè)比較流行的觀點(diǎn):“慢、貴、難”。

而“慢”則是慣性思維,拿以前的數(shù)據(jù)來(lái)評(píng)估 HTTPS 的性能,認(rèn)為 HTTPS 會(huì)增加服務(wù)器的成本,增加客戶端的時(shí)延,影響用戶體驗(yàn)。

其實(shí)現(xiàn)在服務(wù)器和客戶端的運(yùn)算能力都已經(jīng)有了很大的提升,性能方面完全沒(méi)有擔(dān)心的必要,而且還可以應(yīng)用很多的優(yōu)化解決方案

所謂“貴”,主要是指證書申請(qǐng)和維護(hù)的成本太高,網(wǎng)站難以承擔(dān)。

這也屬于慣性思維,在早幾年的確是個(gè)問(wèn)題,向 CA 申請(qǐng)證書的過(guò)程不僅麻煩,而且價(jià)格昂貴,每年要交幾千甚至幾萬(wàn)元。

但現(xiàn)在就不一樣了,為了推廣 HTTPS,很多云服務(wù)廠商都提供了一鍵申請(qǐng)、價(jià)格低廉的證書,而且還出現(xiàn)了專門頒發(fā)免費(fèi)證書的 CA,其中最著名的就是“Let’s Encrypt”。

所謂的“難”,是指 HTTPS 涉及的知識(shí)點(diǎn)太多、太復(fù)雜,有一定的技術(shù)門檻,不能很快上手。

總結(jié)

從什么是安全我們延展出 HTTPS,解釋了什么是 HTTPS,以及與 HTTP 的區(qū)別。HTTPS 主要就是通過(guò) SSL/TLS 實(shí)現(xiàn)安全,而安全我們又接觸了什么是對(duì)稱加密與非對(duì)稱加密,非對(duì)稱加密性能較弱,所以我們使用非對(duì)稱加密來(lái)加密對(duì)稱加密的“會(huì)話密鑰”,利用會(huì)話密鑰加密明文解決了性能問(wèn)題。

通過(guò)混合加密實(shí)現(xiàn)了機(jī)密性,利用摘要算法實(shí)現(xiàn)了完整性,通過(guò)數(shù)字簽名使用非對(duì)稱加密的“私鑰”加密原文的摘要,對(duì)方則使用非對(duì)稱加密的公鑰解密出摘要,再比對(duì)解密出的原文通過(guò)摘要算法計(jì)算摘要與解密出的摘要比對(duì)是否一致實(shí)現(xiàn)了身份認(rèn)證與不可否認(rèn)。

責(zé)任編輯:姜華 來(lái)源: 碼哥字節(jié)
相關(guān)推薦

2016-11-28 09:56:56

2017-02-16 08:50:00

2019-04-24 08:00:00

HTTPSHTTP前端

2019-09-08 18:03:53

HTTPHTTPS加密

2021-05-12 08:15:53

HTTPSHTTP安全

2021-05-13 07:58:05

HTTPSHTTP安全

2018-11-27 15:09:36

HTTPS網(wǎng)絡(luò)安全攻擊

2024-01-19 08:42:45

Java線程字符串

2022-12-22 21:01:11

2020-04-22 20:35:02

HashMap線程安全

2022-02-16 11:56:28

HTTPHTTPS數(shù)據(jù)傳輸

2024-07-11 10:41:07

HTTPSHTTP文本傳輸協(xié)議

2024-03-22 12:29:03

HashMap線程

2019-03-30 14:39:11

2017-06-12 15:48:26

2023-06-01 19:24:16

2021-02-19 10:02:57

HTTPSJava安全

2019-08-01 17:38:39

2019-02-22 08:11:13

2012-04-16 10:12:54

Java線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)