国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HTTPS加密原理,搞懂什么是對稱加密、非對稱加密、證書、數(shù)字簽名

這篇具有很好參考價值的文章主要介紹了HTTPS加密原理,搞懂什么是對稱加密、非對稱加密、證書、數(shù)字簽名。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

眾所周知,http協(xié)議是一種未加密的協(xié)議,我們未加密的數(shù)據(jù),在傳輸?shù)倪^程中會經(jīng)過一個又一個的物理節(jié)點(diǎn),如果被人通過抓包的方式拿到了我們的數(shù)據(jù),將會給我們造成無法估量的損失。
為了解決解決這個問題,https應(yīng)運(yùn)而生。https通過加密的手段,保障的數(shù)據(jù)的安全性。那https的怎么加密的呢?這就是我們接下來需要討論的內(nèi)容。

1、對稱加密

什么是對稱加密?
簡單說就是有一個密鑰,它可以加密一段信息,也可以對加密后的信息進(jìn)行解密,和我們?nèi)粘I钪杏玫蔫€匙作用差不多。
比如說小明需要給小紅發(fā)送一條:Hello World,為了保證數(shù)據(jù)安全,小明把所有字母往后移動了一位,發(fā)送時的消息就變成了:Ifmmp Xpsm。

小紅收到消息后,再把字母順序往前移動一位,就得到了Hello World。

這樣,即使攻擊人拿到密文,他不知道怎么解密的密鑰,也無法得到密文內(nèi)容。

  • 小明需要給小紅發(fā)送一條:Hello World
  • 小明使用對稱加密得到密文Ifmmp Xpsm
  • 傳輸密文
  • 小紅收到密文,進(jìn)行解密,得到Hello World

瀏覽器無服務(wù)器之間使用了非對稱加密嗎,https,http,安全
使用對稱加密,即使數(shù)據(jù)被截獲,但是他沒有密鑰,他無法得到密文內(nèi)容,也無法修改。
但是對稱加密有一個問題,如何讓雙方都用同一個密鑰進(jìn)行數(shù)據(jù)加密,同時不被別人知道
如果瀏覽器內(nèi)部就預(yù)存了網(wǎng)站A的密鑰,且可以確保除了瀏覽器和網(wǎng)站A,不會有任何外人知道該密鑰,那理論上用對稱加密是可以的,這樣瀏覽器只要預(yù)存好世界上所有HTTPS網(wǎng)站的密鑰就行了!這么做顯然不現(xiàn)實(shí)。

2、非對稱加密

什么是非對稱加密?
簡單說就是有兩把密鑰,通常一把叫做公鑰、一把叫私鑰,用公鑰加密的內(nèi)容必須用私鑰才能解開,同樣,私鑰加密的內(nèi)容只有公鑰能解開。
如何使用非對稱加密呢?
假如,客戶端需要向服務(wù)器發(fā)送一條數(shù)據(jù),瀏覽器需要保障數(shù)據(jù)的安全性,加密流程如下:

  1. 某網(wǎng)站服務(wù)器擁有公鑰A與對應(yīng)的私鑰A’;客戶端擁有公鑰B與對應(yīng)的私鑰B’。
  2. 客戶端請求服務(wù)器的公鑰A,公鑰A是公開的,可以明文傳輸
  3. 客戶端使用公鑰A進(jìn)行加密,將加密的數(shù)據(jù)發(fā)送給服務(wù)器
  4. 服務(wù)器收到數(shù)據(jù),使用私鑰A`進(jìn)行解密,拿到數(shù)據(jù)
    反之,服務(wù)器向客戶端發(fā)送數(shù)據(jù)也是同樣的流程。
    瀏覽器無服務(wù)器之間使用了非對稱加密嗎,https,http,安全
    非對稱加密算法在解決了雙方交換密鑰的問題,但非對稱加密算法非常耗時,而對稱加密快很多。那我們能不能運(yùn)用非對稱加密的特性解決前面提到的對稱加密的漏洞?

3、非對稱加密+對稱加密

非對稱加密能讓雙方進(jìn)行數(shù)據(jù)交換,但性能不行,對稱加密性能不錯,但是無法確認(rèn)雙方的加密密鑰,那用非對稱加密完成對稱加密的密鑰交換,之后再用對稱加密進(jìn)行加密不就可以了嗎?
流程如下:

  1. 某網(wǎng)站擁有用于非對稱加密的公鑰A、私鑰A’。
  2. 瀏覽器向網(wǎng)站服務(wù)器請求,服務(wù)器把公鑰A明文給傳輸瀏覽器。
  3. 瀏覽器隨機(jī)生成一個用于對稱加密的密鑰X,用公鑰A加密后傳給服務(wù)器。
  4. 服務(wù)器拿到后用私鑰A’解密得到密鑰X。
  5. 這樣雙方就都擁有密鑰X了,且別人無法知道它。之后雙方所有數(shù)據(jù)都通過密鑰X加密解密即可。

完美!這樣非對稱加密的性能問題也解決了。
但是,這里面還是有漏洞。
瀏覽器無服務(wù)器之間使用了非對稱加密嗎,https,http,安全

如果在數(shù)據(jù)傳輸過程中,中間人劫持到了數(shù)據(jù),此時他的確無法得到瀏覽器生成的密鑰X,這個密鑰本身被公鑰A加密了,只有服務(wù)器才有私鑰A’解開它,然而中間人卻完全不需要拿到私鑰A’就能干壞事了。請看:

  1. 某網(wǎng)站有用于非對稱加密的公鑰A、私鑰A’。
  2. 瀏覽器向網(wǎng)站服務(wù)器請求,服務(wù)器把公鑰A明文給傳輸瀏覽器。
  3. 中間人劫持到公鑰A,保存下來,把數(shù)據(jù)包中的公鑰A替換成自己偽造的公鑰B(它當(dāng)然也擁有公鑰B對應(yīng)的私鑰B’)。
  4. 瀏覽器生成一個用于對稱加密的密鑰X,用公鑰B(瀏覽器無法得知公鑰被替換了)加密后傳給服務(wù)器。
  5. 中間人劫持后用私鑰B’解密得到密鑰X,再用公鑰A加密后傳給服務(wù)器
  6. 服務(wù)器拿到后用私鑰A’解密得到密鑰X。

通過這一通操作,攻擊者就知道服務(wù)器和瀏覽器之間的公鑰了,這樣,對稱加密就形同虛設(shè)了。
為什么會發(fā)生這樣的事?因?yàn)闉g覽器拿到公鑰的時候,他無法確定這個公鑰是服務(wù)器的。在傳輸過程中,公鑰被篡改,一方用篡改后的公鑰加密,非對稱加密形同虛設(shè)。

4、數(shù)字證書

如何證明瀏覽器收到的公鑰一定是該網(wǎng)站的公鑰?這個時候,就要引入第三方機(jī)構(gòu)了,也被稱作CA機(jī)構(gòu)。
CA機(jī)構(gòu)怎么解決瀏覽器無法確認(rèn)收到的公鑰是不是網(wǎng)站自己的問題呢?
網(wǎng)站只需要向CA機(jī)構(gòu)申領(lǐng)一份數(shù)字證書,這份證書里面,包括了網(wǎng)站的公鑰,網(wǎng)站的域名和其他一些網(wǎng)站基本信息。
然后CA機(jī)構(gòu)用自己的私鑰對證書進(jìn)行加密,同時生成一段密文,這段密碼就叫做數(shù)字簽名

數(shù)字證書的生成過程如下:

  1. CA機(jī)構(gòu)擁有非對稱加密的私鑰和公鑰。
  2. 網(wǎng)站需要申請數(shù)字證書,只需將自己網(wǎng)站的數(shù)據(jù)給CA機(jī)構(gòu)(網(wǎng)站公鑰,網(wǎng)站域名等)
  3. CA機(jī)構(gòu)對證書明文數(shù)據(jù)進(jìn)行hash。
  4. 對hash后的值用私鑰加密,得到數(shù)字簽名

瀏覽器無服務(wù)器之間使用了非對稱加密嗎,https,http,安全
證書的內(nèi)容大概長這樣
瀏覽器無服務(wù)器之間使用了非對稱加密嗎,https,http,安全

之后的瀏覽器驗(yàn)證流程如下:

  • 拿到證書,從證書中得到公鑰,數(shù)字簽名等數(shù)據(jù)。
  • 用CA機(jī)構(gòu)的公鑰對數(shù)字簽名解密(瀏覽器內(nèi)置CA機(jī)構(gòu)的公鑰),得到S。
  • 用hash算法對明文進(jìn)行hash得到T。
  • 顯然通過以上步驟,T’應(yīng)當(dāng)?shù)扔赟‘,除非明文或簽名被篡改。所以此時比較S’是否等于T’,等于則表明證書可信。如果證書的數(shù)據(jù)沒有被改動過,S和T應(yīng)該是相同的,則證書可信任,瀏覽器就用證書中的公鑰加密數(shù)據(jù)。
  • 如果S和T,則說明證書已被篡改,證書不可信,從而終止向服務(wù)器傳輸信息,防止信息泄露給中間人。

** 為什么S和T不一樣,說明證書就被篡改了呢?**
這里是理解證書認(rèn)證的關(guān)鍵,仔細(xì)思考,數(shù)字簽名是用CA機(jī)構(gòu)的私鑰加密的,CA機(jī)構(gòu)的私鑰只有CA機(jī)構(gòu)自己知道,如果證書被中間人劫持,他拿到證書,修改了證書中的公鑰,因?yàn)楣€修改后,數(shù)據(jù)的Hash值,就和數(shù)字簽名解密后的Hash值不同了,瀏覽器就知道證書被動過,而中間人無法偽造數(shù)字簽名,因?yàn)閿?shù)字簽名是用CA機(jī)構(gòu)的私鑰加密的,他要偽造,就必須拿到CA機(jī)構(gòu)的私鑰!

中間人有可能把證書掉包嗎
假設(shè)有另一個網(wǎng)站B也拿到了CA機(jī)構(gòu)認(rèn)證的證書,它想劫持網(wǎng)站A的信息。于是它成為中間人攔截到了A傳給瀏覽器的證書,然后替換成自己的證書,傳給瀏覽器,之后瀏覽器就會錯誤地拿到B的證書里的公鑰了,這確實(shí)會導(dǎo)致上文“中間人攻擊”那里提到的漏洞?

其實(shí)這并不會發(fā)生,因?yàn)樽C書里包含了網(wǎng)站A的信息,包括域名,瀏覽器把證書里的域名與自己請求的域名比對一下就知道有沒有被掉包了。

瀏覽器怎么得到CA機(jī)構(gòu)的公鑰
CA機(jī)構(gòu)的公鑰去通過網(wǎng)絡(luò)獲取,如果通過網(wǎng)絡(luò)去獲取,那CA機(jī)構(gòu)生成的證書就沒意義了。
一般瀏覽器會內(nèi)置主流的CA機(jī)構(gòu)的公鑰。文章來源地址http://www.zghlxwxcb.cn/news/detail-790850.html

到了這里,關(guān)于HTTPS加密原理,搞懂什么是對稱加密、非對稱加密、證書、數(shù)字簽名的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 什么是HTTPS加密協(xié)議?HTTPS安全傳輸原理,SSL和TLS介紹,NGINX如何配置SSL證書

    HTTPS是超文本傳輸協(xié)議(HTTP)的安全版本。它使用SSL(安全套接層)或TLS(傳輸層安全)加密協(xié)議來保護(hù)數(shù)據(jù)傳輸?shù)陌踩院蜋C(jī)密性,以防止未經(jīng)授權(quán)的訪問和竊聽。HTTPS協(xié)議通常用于處理敏感信息,如在線支付或登錄憑證等??梢酝ㄟ^URL的前綴來識別一個網(wǎng)站是否使用了H

    2024年02月03日
    瀏覽(105)
  • 對稱加密 非對稱加密 AC認(rèn)證 https原理

    對稱加密 非對稱加密 AC認(rèn)證 https原理

    對稱加密是一種加密算法,使用相同的密鑰(也稱為對稱密鑰)用于加密和解密數(shù)據(jù)。在對稱加密中,發(fā)送方使用密鑰對要發(fā)送的數(shù)據(jù)進(jìn)行加密,接收方使用相同的密鑰對接收到的密文進(jìn)行解密,從而還原成原始的明文數(shù)據(jù)。 對稱加密的特點(diǎn)包括: 快速高效:對稱加密算法

    2024年02月10日
    瀏覽(16)
  • 區(qū)塊鏈:對稱加密、非對稱加密和數(shù)字簽名

    本篇博客僅從區(qū)塊鏈的角度介紹加密算法及數(shù)字簽名,重在使用,至于加密算法的內(nèi)部原理這里不會詳細(xì)介紹。 1 對稱加密 1.1 定義 ??對稱加密,指的是信息發(fā)送者和接收者通過使用的相同的密鑰來完成數(shù)據(jù)的加密和解密。常用的對稱加密算法有:AES、DES、3DES等。 1.2 AES算

    2024年02月10日
    瀏覽(19)
  • 【Https協(xié)議】http的孿生兄弟,你了解多少呢,認(rèn)識Https,Https工作原理之對稱加密與非對稱加密

    【Https協(xié)議】http的孿生兄弟,你了解多少呢,認(rèn)識Https,Https工作原理之對稱加密與非對稱加密

    前言: 大家好,我是 良辰丫 ,這篇文章我們就來學(xué)習(xí)一下Https協(xié)議,了解Https的工作原理,對稱加密以及非對稱加密.?????? ??個人主頁:良辰針不戳 ??所屬專欄:javaEE初階 ??勵志語句:生活也許會讓我們遍體鱗傷,但最終這些傷口會成為我們一輩子的財富。 ??期待大家三

    2024年02月10日
    瀏覽(25)
  • 軟考:中級軟件設(shè)計(jì)師:信息系統(tǒng)的安全屬性,對稱加密和非對稱加密,信息摘要,數(shù)字簽名技術(shù),數(shù)字信封與PGP

    軟考:中級軟件設(shè)計(jì)師:信息系統(tǒng)的安全屬性,對稱加密和非對稱加密,信息摘要,數(shù)字簽名技術(shù),數(shù)字信封與PGP

    提示:系列被面試官問的問題,我自己當(dāng)時不會,所以下來自己復(fù)盤一下,認(rèn)真學(xué)習(xí)和總結(jié),以應(yīng)對未來更多的可能性 關(guān)于互聯(lián)網(wǎng)大廠的筆試面試,都是需要細(xì)心準(zhǔn)備的 (1)自己的科研經(jīng)歷, 科研內(nèi)容 ,學(xué)習(xí)的相關(guān)領(lǐng)域知識,要熟悉熟透了 (2)自己的實(shí)習(xí)經(jīng)歷,做了 什

    2024年02月10日
    瀏覽(23)
  • 軟考:中級軟件設(shè)計(jì)師-信息系統(tǒng)的安全屬性,對稱加密和非對稱加密,信息摘要,數(shù)字簽名技術(shù),數(shù)字信封與PGP

    軟考:中級軟件設(shè)計(jì)師-信息系統(tǒng)的安全屬性,對稱加密和非對稱加密,信息摘要,數(shù)字簽名技術(shù),數(shù)字信封與PGP

    提示:系列被面試官問的問題,我自己當(dāng)時不會,所以下來自己復(fù)盤一下,認(rèn)真學(xué)習(xí)和總結(jié),以應(yīng)對未來更多的可能性 關(guān)于互聯(lián)網(wǎng)大廠的筆試面試,都是需要細(xì)心準(zhǔn)備的 (1)自己的科研經(jīng)歷, 科研內(nèi)容 ,學(xué)習(xí)的相關(guān)領(lǐng)域知識,要熟悉熟透了 (2)自己的實(shí)習(xí)經(jīng)歷,做了 什

    2024年04月22日
    瀏覽(58)
  • 算法2_非對稱加密算法之ECDSA(橢圓曲線數(shù)字簽名算法)

    算法2_非對稱加密算法之ECDSA(橢圓曲線數(shù)字簽名算法)

    ECDSA(橢圓曲線數(shù)字簽名算法) AES(高級加密標(biāo)準(zhǔn)): =對稱加密 ? 對業(yè)務(wù)數(shù)據(jù)進(jìn)行加密,防止他人可以看見 ECDSA(橢圓曲線數(shù)字簽名算法):=非對稱加密算法(公鑰和私鑰) ? 驗(yàn)證數(shù)據(jù)的真實(shí)性,防止業(yè)務(wù)數(shù)據(jù)被篡改 SHA(安全哈希算法)=哈希算法 1. 作用: 因?yàn)镋CDSA橢圓曲線數(shù)字簽名算法獲得

    2024年02月02日
    瀏覽(60)
  • 數(shù)字證書:簽名證書&加密證書

    數(shù)字證書是基于認(rèn)證機(jī)構(gòu)(可信第三方)實(shí)現(xiàn)的,若不懂請復(fù)習(xí)PKI相關(guān)知識,我國為了加強(qiáng)對數(shù)據(jù)機(jī)密性的管控,采用雙證書體系(簽名證書加密證書),簽名密鑰對由用戶自己產(chǎn)生,而加密密鑰對則是由KMC(密鑰管理中心)生成。 ———————————————————

    2024年02月08日
    瀏覽(19)
  • 什么是https 加密協(xié)議?https證書安裝部署

    什么是https 加密協(xié)議?https證書安裝部署

    HTTPS協(xié)議是安全超文本傳輸協(xié)議,是一個安全通信通道,它基于HTTP開發(fā)用于在客戶計(jì)算機(jī)和服務(wù)器之間交換信息。它使用安全套接字層(SSL)進(jìn)行信息交換,簡單來說它是HTTP的安全版,是使用TLS/SSL加密的HTTP協(xié)議。 HTTP協(xié)議采用明文傳輸信息,存在信息竊聽、信息篡改和信息劫持

    2024年02月04日
    瀏覽(26)
  • Https、CA證書、數(shù)字簽名

    Https、CA證書、數(shù)字簽名

    Https Http協(xié)議 Http協(xié)議是目前應(yīng)用比較多應(yīng)用層協(xié)議,瀏覽器對于Http協(xié)議已經(jīng)實(shí)現(xiàn)。Http協(xié)議基本的構(gòu)成部分有 請求行 : 請求報文的第一行 請求頭 : 從第二行開始為請求頭內(nèi)容的開始部分。每一個請求頭都是由K-V鍵值對組成。 請求體: 請求頭完成后以空行結(jié)束、從空行開始

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包