国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
數(shù)字證書

看過很多次數(shù)字證書的知識(shí),總是看了忘,忘了再看,看了又忘,是時(shí)候好好總結(jié)一下了。
感謝敏捷的水大哥,講得很生動(dòng)很透徹。但我覺得也有不足的地方,那就是對指紋,指紋算法,簽名,簽名算法這幾個(gè)概念沒有梳理得很透徹。

簽名與加密
在這里,首先要說一下簽名和加密的知識(shí)。這里主要解釋一下簽名,簽名就是在信息的后面再加上一段內(nèi)容,可以證明信息沒有被修改過,怎么樣可以達(dá)到這個(gè)效果呢?一般是對信息做一個(gè)hash計(jì)算得到一個(gè)hash值,注意,這個(gè)過程是不可逆的,也就是說無法通過hash值得出原來的信息內(nèi)容。在把信息發(fā)送出去時(shí),把這個(gè)hash值加密后做為一個(gè)簽名和信息一起發(fā)出去。 接收方在收到信息后,會(huì)重新計(jì)算信息的hash值,并和信息所附帶的hash值(解密后)進(jìn)行對比,如果一致,就說明信息的內(nèi)容沒有被修改過,因?yàn)檫@里hash計(jì)算可以保證不同的內(nèi)容一定會(huì)得到不同的hash值,所以只要內(nèi)容一被修改,根據(jù)信息內(nèi)容計(jì)算的hash值就會(huì)變化。一般來說,我們的項(xiàng)目里面就是這么做的。

先讓我們來考慮一個(gè)問題?假如不懷好意的人修改信息內(nèi)容的同時(shí)也修改hash值,從而讓它們可以相匹配。為了防止這種情況發(fā)生,我們可以做到的就是為我們的簽名做升級,那就是對簽名加密,然后連同我們的信息一起發(fā)送。

中間人攻擊
先來看看中間人攻擊的概念。假如劉冬和黃麗之間要互換小情書,總要有一個(gè)信使,那就是張叔叔。這個(gè)人可能就是中間人,對所加密對內(nèi)容進(jìn)行攻擊。下面來看看步驟:

  1. 張叔叔自己生成一個(gè)公私鑰,和冬冬以及麗麗交換
  2. 張叔叔冒充麗麗把自己的公鑰發(fā)給冬冬
  3. 冬冬用張叔叔的公鑰對信件加密
  4. 張叔叔用自己的私鑰解密就可以看到冬冬給麗麗的郵件
  5. 張叔叔冒充冬冬把自己的公鑰發(fā)給麗麗
  6. 麗麗用王叔叔的公鑰對信件加密
  7. 張叔叔用自己的私鑰解密就可以看到麗麗給冬冬內(nèi)容

以上的步驟是原文的解釋,我認(rèn)為是錯(cuò)的,應(yīng)該改成下面的說法:

  1. 張叔叔自己生成一個(gè)公私鑰,用公鑰和冬冬以及麗麗交換,此時(shí)張叔叔擁有自己的公鑰私鑰以及冬冬和麗麗的公鑰
  2. 冬冬用自己的私鑰加密,張叔叔就可以用冬冬的公鑰查看冬冬的郵件了,然后重新用自己的私鑰加密發(fā)給麗麗,此時(shí)麗麗用以為是冬冬的公鑰實(shí)際是張叔叔的公鑰去解密查看,經(jīng)過信息的發(fā)送流程后麗麗查看到了冬冬的郵件,完全沒有什么疑問
  3. 麗麗發(fā)送消息也是一樣的原理,在這個(gè)過程中張叔叔擔(dān)當(dāng)查看并轉(zhuǎn)發(fā)的功能
  4. 為什么說原文是錯(cuò)的呢,因?yàn)榘l(fā)送消息的原理是:發(fā)送方冬冬用自己的私鑰加密麗麗用冬冬的公鑰解密的,這只有用私鑰加密公鑰解密才能確定這個(gè)郵件是冬冬發(fā)送的而不是張叔叔修改操作過的。

數(shù)字證書
那么張叔叔要讓冬冬相信他給的公鑰就是麗麗的公鑰,那么他可以開一個(gè)證明,比如找權(quán)威機(jī)構(gòu)“小陳”給開個(gè)介紹信,介紹信上給加個(gè)公章。那么這里的介紹信就是數(shù)字證書, 公章就是數(shù)字簽名, 那么”小陳”就是頒發(fā)證書的機(jī)構(gòu)CA(Certificate Authority),也就是證書授權(quán)中心。

CA: CA 是“Certificate Authority”的縮寫,也叫“證書授權(quán)中心”。
它是負(fù)責(zé)管理和簽發(fā)證書的第三方機(jī)構(gòu),就好比例子里面的“小陳”。一般來說,CA 必須是大家都信任的、認(rèn)可的。因此它必須具有足夠的權(quán)威性。只有冬冬和麗麗都信任的人才能來證明。

CA證書: CA 證書,就是CA頒發(fā)的證書。

證書之間的信任關(guān)系: 用一個(gè)證書來證明另一個(gè)證書是真實(shí)可信。

證書信任鏈: 證書之間的信任關(guān)系,是可以嵌套的。比如,A 信任 A1,A1 信任 A2,A2 信任 A3……,這就是證書的信任鏈。只要你信任鏈上的第一個(gè)證書,那后續(xù)的證書,都是可以信任的。

根證書(Root Certificate): 下圖,處于最頂上的樹根位置的那個(gè)證書,就是“根證書”。除了根證書,其它證書都要依靠上一級的證書來證明自己。那誰來證明“根證書”?根證書自己證明自己,這時(shí)候我們用戶就需要自己選擇是否相信某個(gè)根證書。根證書是整個(gè)證書體系安全的根本。如果某個(gè)證書體系中,根證書不再可信了,那么所有被根證書所信任的其它證書,也就不再可信了。

證書內(nèi)容

我們來看看國內(nèi)百度的證書,點(diǎn)擊綠色瀏覽器綠色的鎖就可以看到證書。


然后我們需要解釋一這個(gè)證書的內(nèi)容:

1 . 組織 (證書的發(fā)布機(jī)構(gòu))
指出是什么機(jī)構(gòu)發(fā)布的這個(gè)證書,也就是指明這個(gè)證書是哪個(gè)公司創(chuàng)建的(只是創(chuàng)建證書,不是指證書的使用者)。對于上面的這個(gè)證書來說,就是指”GlobalSign nv-sa”這個(gè)機(jī)構(gòu)。

2 . Public key (公鑰)
首先,我們先給出自己論斷,公鑰就是用來對消息進(jìn)行加密的,但是公鑰在數(shù)字證書里面充當(dāng)什么角色呢?這里的公鑰通俗一點(diǎn)說留給冬冬和麗麗之間通信用的,跟我們的數(shù)字證書認(rèn)證關(guān)聯(lián)不大。

3 . Thumbprint, Thumbprint algorithm (指紋以及指紋算法)
這個(gè)是用來保證證書的完整性的,也就是說確保證書沒有被修改過,其原理就是在發(fā)布證書時(shí),發(fā)布者根據(jù)指紋算法(一個(gè)hash算法)計(jì)算整個(gè)證書的hash值(指紋)并和證書放在一起,這個(gè)hash值就是我們在上面所說的hash串。使用者在打開證書時(shí),自己也根據(jù)指紋算法計(jì)算一下證書的hash值(指紋),如果兩者一致,就說明證書沒有被修改過,因?yàn)樽C書的內(nèi)容被修改后,根據(jù)證書的內(nèi)容計(jì)算的出的hash值(指紋)是會(huì)變化的。 注意,這個(gè)指紋會(huì)使用CA這個(gè)證書機(jī)構(gòu)的私鑰用簽名算法(Signature algorithm)加密后和證書放在一起,只有用CA的公鑰才能解開這個(gè)簽名。

所以在這里,要非常明確指紋和指紋算法的區(qū)別。指紋算法是指一種hash的方法,是一種加密的算法(我們一般使用MD5或者SHA1,而且一般沒有秘鑰,所以是不可逆的。指紋是指數(shù)字證書內(nèi)容的一個(gè)摘要。這兩樣?xùn)|西合起來的效果是保證證書內(nèi)容不被修改。

數(shù)字證書保證身份認(rèn)證的過程
首先是申請證書:
1. baidu.com 向GlobalSign nv-sa) 申請證書
2. GlobalSign nv-sa 生成一對公鑰A(上文所說的Public key,給客戶用的)和私鑰B(留給baidu)。
3. GlobalSign nv-sa有自己的公鑰C和私鑰D
4. GlobalSign nv-sa 把Issuer, 公鑰A, Subject(一般是網(wǎng)站的域名),Valid from,Valid to等信息以明文的形式寫到證書里面,然后用一個(gè)指紋算法(SHA1或者M(jìn)D5)計(jì)算出這些數(shù)字證書內(nèi)容的一個(gè)指紋(摘要),并把指紋和指紋算法用自己的私鑰D進(jìn)行加密,然后和證書的內(nèi)容一起發(fā)給baidu.com

用戶使用證書
1. 用戶訪問baidu.com 這個(gè)網(wǎng)站
2. baidu.com 把證書發(fā)給用戶
3. 瀏覽器讀取證書, 瀏覽器發(fā)現(xiàn)證書機(jī)構(gòu)是GlobalSign nv-sa,然后會(huì)在操作系統(tǒng)中受信任的發(fā)布機(jī)構(gòu)的證書中去找GlobalSign nv-sa的證書,如果找不到,那說明證書的發(fā)布機(jī)構(gòu)是個(gè)假的,或者不是被權(quán)威機(jī)構(gòu)認(rèn)證的,證書可能有問題,程序會(huì)給出一個(gè)錯(cuò)誤信息
4. 如果在系統(tǒng)中找到了GlobalSign nv-sa的證書,那么應(yīng)用程序就會(huì)從證書中取出GlobalSign nv-sa的公鑰C,然后對baidu.com公司的證書里面的指紋和指紋算法用這個(gè)公鑰C進(jìn)行解密,然后使用這個(gè)指紋算法計(jì)算baidu.com證書的指紋,將這個(gè)計(jì)算的指紋與放在證書中的指紋對比,如果一致,說明baidu.com的證書肯定沒有被修改過并且證書是GlobalSign nv-sa發(fā)布的,證書中的公鑰肯定是baidu.com的公鑰A, 然后我們就可以用這個(gè)公鑰A和baidu.com進(jìn)行通信,因?yàn)橹挥衎aidu.com 有私鑰B, 所以只有baidu.com才能解開信息。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
數(shù)字證書原理
(2)什么是數(shù)字證書?什么是數(shù)字時(shí)間戳?
科普:國產(chǎn)密碼算法
幾幅圖,拿下 HTTPS
你真的了解HTTPS 的工作原理么?
加密-數(shù)字信封-完整性驗(yàn)證-數(shù)字簽名-數(shù)據(jù)加解密以及身份驗(yàn)證流程(1)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服