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

哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名

這篇具有很好參考價(jià)值的文章主要介紹了哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名

這一小節(jié),我們繼續(xù)介紹網(wǎng)絡(luò)完全中的另一個(gè)重要內(nèi)容,就是消息完整性,也為后面的數(shù)字簽名打下基礎(chǔ)。

報(bào)文完整性

首先來看一下什么是報(bào)文完整性。

報(bào)文完整性,也稱為消息完整性(message integrity),有時(shí)也稱為報(bào)文/消息認(rèn)證(或報(bào)文鑒別),目標(biāo):

  • 證明報(bào)文確實(shí)來自聲稱的發(fā)送方

    比如接收端在收到報(bào)文時(shí)能夠確認(rèn),報(bào)文是由指定發(fā)送方發(fā)送的。這一過程也是與我們上一節(jié)中介紹的身份認(rèn)證相關(guān)的。

  • 驗(yàn)證報(bào)文在傳輸過程中沒有被篡改。

  • 預(yù)防報(bào)文的時(shí)間、順序被篡改。

  • 預(yù)防報(bào)文持有期被修改。

    比如Bob給Alice發(fā)報(bào)文,還應(yīng)該預(yù)防Alice在持有報(bào)文時(shí),有意或無意修改報(bào)文。

  • 預(yù)防報(bào)文在發(fā)送/接收時(shí)對(duì)報(bào)文本身的抵賴

    • 發(fā)送方否認(rèn)。比如發(fā)送方否認(rèn)發(fā)送過這個(gè)報(bào)文,或否認(rèn)發(fā)送報(bào)文的內(nèi)容。
    • 接收方否認(rèn)。比如接收方否認(rèn)收到過這個(gè)報(bào)文,或否認(rèn)接收?qǐng)?bào)文的內(nèi)容。

密碼散列函數(shù)

在解決報(bào)文完整性的問題中,需要使用到一個(gè)非常重要的概念,就是密碼散列函數(shù)。

密碼散列函數(shù)(Cryptographic Hash Function):H(m)。

用H(m)來表示利用密碼散列函數(shù)對(duì)報(bào)文m進(jìn)行的散列運(yùn)算。

作為密碼散列函數(shù),與我們一般性的散列函數(shù),具有以下一些特征:

  • 散列算法公開

  • H(m)能夠快速計(jì)算

  • 對(duì)任意長度報(bào)文進(jìn)行多對(duì)一映射,均產(chǎn)生定長輸出

  • 對(duì)于任意報(bào)文無法預(yù)知其散列值

  • 不同報(bào)文不能產(chǎn)生相同的散列值

  • 單向性:無法根據(jù)散列值倒推出報(bào)文

    • 即對(duì)于給定散列值h,無法計(jì)算找到滿足h=H(m)的報(bào)文m
  • 抗弱碰撞性(Weak Collision Resistence-WCR)

    • 對(duì)于給定報(bào)文x,計(jì)算上不可能找到y(tǒng)且y不等于x,使用H(x) = H(y)
  • 抗強(qiáng)碰撞性(Strong Collision Resistence-SCR)

    • 在計(jì)算中,不可能找到任意兩個(gè)不同報(bào)文x和y(x≠y),使得H(x) = H(y)。

密碼散列函數(shù)對(duì)報(bào)文完整性的校驗(yàn)是至關(guān)重要的。

作為與一般性的散列函數(shù)的對(duì)比,我們來看一個(gè)例子。

在之前講解IP協(xié)議中,會(huì)有一個(gè)16比特的checksum校驗(yàn)和來在接收端判斷數(shù)據(jù)報(bào)是否有修改。在這種校驗(yàn)和的計(jì)算中,其實(shí)也具備散列函數(shù)的某些屬性:

  • 多對(duì)一映射
  • 對(duì)于任意報(bào)文,產(chǎn)生固定長度的散列值(16-bit校驗(yàn)和)

但是它并不能作為密碼散列函數(shù),因?yàn)閷?duì)于給定的報(bào)文及其散列值,很容易找到另一個(gè)具有相同散列值的不同報(bào)文。比如下面這個(gè)例子:

哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名,計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),web安全,安全

散列函數(shù)算法

通過上面的介紹可以看出,密碼散列函數(shù)的要求是比較嚴(yán)格的,需要經(jīng)過精心設(shè)計(jì)。目前,在網(wǎng)絡(luò)安全領(lǐng)域,使用的比較常見的有以下兩個(gè)函數(shù):

  • MD5:被廣泛應(yīng)用的散列函數(shù)(RFC 1321)
    • 通過4個(gè)步驟,對(duì)任意長度的報(bào)文輸入,計(jì)算輸出128位的散列值。
    • MD5不是足夠安全。在1996年,Dobbertin找到了兩個(gè)不同的512-bit塊,在MD5計(jì)算下產(chǎn)生了相同的散列值。
  • SHA-1(Secure Hash Algorithm)
    • 另一個(gè)相對(duì)更安全的散列函數(shù)
    • US標(biāo)準(zhǔn)
    • SHA-1要求輸入消息長度<264
    • SHA-1的散列值為160位
    • 速度慢于MD5,安全性優(yōu)于MD5

報(bào)文摘要

報(bào)文摘要實(shí)際上是利用上面的密碼散列函數(shù),作用于某一任意長度的報(bào)文m,得到一個(gè)固定長度的散列值,通常把這個(gè)散列值稱為報(bào)文摘要(message digest),記為H(m)。

哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名,計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),web安全,安全

這個(gè)報(bào)文摘要對(duì)原報(bào)文來說,是具有非常重要的意義的。重要的意義在于,報(bào)文摘要可以作為報(bào)文m的數(shù)字指紋(fingerprint)。

報(bào)文認(rèn)證

有了上面的基礎(chǔ)概念后,接下來我們就著重討論下如何實(shí)現(xiàn)報(bào)文完整性的認(rèn)證。

簡單方案

簡單方案:報(bào)文+報(bào)文摘要—>擴(kuò)展報(bào)文(m, H(M))

上述簡單方案利用了密碼散列函數(shù)和報(bào)文摘要來實(shí)現(xiàn)。實(shí)際上,就是在給對(duì)方發(fā)送報(bào)文時(shí),利用密碼散列函數(shù)根據(jù)該報(bào)文內(nèi)容,計(jì)算出一個(gè)報(bào)文摘要。此時(shí),發(fā)送的報(bào)文內(nèi)容除了其本身原有內(nèi)容外,還包含一個(gè)報(bào)文摘要。兩者構(gòu)造出一個(gè)擴(kuò)展報(bào)文,發(fā)送給對(duì)方。

接收方在收到該擴(kuò)展報(bào)文后,根據(jù)同樣的密碼散列函數(shù),根據(jù)報(bào)文內(nèi)容計(jì)算得到一個(gè)散列值,然后跟報(bào)文摘要進(jìn)行比對(duì)。如果一致,說明報(bào)文在傳輸過程中沒有被修改,如果不一致,則說明已經(jīng)被修改。

整體的大致過程如下所示:

哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名,計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),web安全,安全

為了在報(bào)文認(rèn)證中,除了確保報(bào)文在傳輸過程中沒有發(fā)生過改變外,還要認(rèn)證報(bào)文的發(fā)送方確實(shí)是指定的真實(shí)發(fā)送方,而不是第三方入侵者或偽造的(身份認(rèn)證),還需要對(duì)上述方案進(jìn)行改進(jìn)。

報(bào)文認(rèn)證碼MAC

報(bào)文認(rèn)證碼MAC:(Message Authentication Code)

實(shí)現(xiàn)原理:

  • 引入了一個(gè)報(bào)文認(rèn)證密碼的概念
  • 此時(shí),一個(gè)擴(kuò)展報(bào)文(m, H(m+s))包括了:原始報(bào)文m + 認(rèn)證密鑰s + 密碼散列函數(shù)H

在使用這種方案下,報(bào)文認(rèn)證過程大致如下所示:

  • 發(fā)送端在發(fā)送報(bào)文中,利用密碼散列函數(shù)H,對(duì)原始報(bào)文內(nèi)容m和認(rèn)證密碼s(一般就是一個(gè)字符串或比特串)一起共同生成一個(gè)報(bào)文摘要H(m+s)。
  • 該報(bào)文摘要與原始報(bào)文一起構(gòu)成一個(gè)擴(kuò)展報(bào)文(m ,H(m,s))
  • 接收端收到該報(bào)文后,分離出原始報(bào)文和報(bào)文摘要兩部分。
  • 對(duì)于原始報(bào)文,利用相同的密碼散列函數(shù)和認(rèn)證密鑰s,得到一個(gè)散列值H(m,s)
  • 同樣的,將該散列值與報(bào)文摘要的值比對(duì),如果匹配,則報(bào)文完整性成功認(rèn)證。否則,認(rèn)證失敗。

哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名,計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),web安全,安全

這里為什么就能夠確認(rèn)報(bào)文是來自指定的真實(shí)發(fā)送方,而不是偽造或第三方入侵者呢?因?yàn)?,這里引入了密鑰的概念,而這對(duì)密鑰只有發(fā)送方和接收方所持有。由于密碼散列函數(shù)的特殊性,只有該密鑰才能生成相應(yīng)的報(bào)文摘要,從而保證了報(bào)文認(rèn)證的可靠性。

報(bào)文驗(yàn)證碼MAC在一定程度上解決了報(bào)文完整性校驗(yàn)和身份認(rèn)證問題,但是報(bào)文完整性里涉及的其他問題,還很難解決。比如,接收端在持有報(bào)文時(shí),由于它有密碼s,因此,它可以任意構(gòu)造一個(gè)報(bào)文內(nèi)容m’,并利用該密鑰s生成相應(yīng)的報(bào)文摘要,然后偽造說這是發(fā)送方發(fā)送的報(bào)文。這里的問題,就涉及到我們開篇報(bào)文完整性要求中說的,預(yù)防報(bào)文持有期被修改和預(yù)防抵賴。

為了解決這些問題,就需要引入我們接下來介紹的數(shù)字簽名概念。

數(shù)字簽名

上面我們最后說到,作為報(bào)文驗(yàn)證碼MAC實(shí)際上有一些其他的報(bào)文完整性問題還未解決。比如,涉及到下面這些問題。

Q:如何解決下列與報(bào)文完整性相關(guān)的問題?

  • 否認(rèn):發(fā)送方不承認(rèn)自己發(fā)送過某一報(bào)文。
  • 偽造:接收方自己偽造一份報(bào)文,并聲稱來自發(fā)送方
  • 冒充:某個(gè)用戶冒充另一個(gè)用戶接收后發(fā)送報(bào)文
  • 篡改:接收方對(duì)收到的信息進(jìn)行篡改。

這些問題,簡單依賴單一的報(bào)文認(rèn)證碼是很難解決的。目前比較有效的,也是在網(wǎng)絡(luò)安全中使用比較廣泛的解決方案,就是數(shù)字簽名(Digital signatures)。

  • 數(shù)字簽名技術(shù)是實(shí)現(xiàn)安全電子交易的核心技術(shù)之一。
  • 可驗(yàn)證性(verifiable),驗(yàn)證報(bào)文是否被修改過。
  • 不可偽造性(unforgeable)
  • 不可抵賴性(non-repudiation)

數(shù)字簽名的簡單實(shí)現(xiàn)原理

顯然我們很容易想到,**簽名的主要目的是為了預(yù)防修改,即簽名本身是不能被修改的,被簽名的內(nèi)容是不能被修改的。**就跟我們?nèi)粘I钪?,?duì)一個(gè)文件的簽名,往往就是簽上自己的姓名,甚至手印,而且要保存原件,就是為了簽名后,簽名和文件內(nèi)容都是不能被修改的。

因此,與日常生活中的簽名行為聯(lián)系起來的話,網(wǎng)絡(luò)安全中的數(shù)字簽名技術(shù),實(shí)際上就是在發(fā)送的報(bào)文(相當(dāng)于文件),簽上一個(gè)數(shù)字名稱,這個(gè)名稱保證了報(bào)文的完整性,同時(shí)也標(biāo)識(shí)著身份認(rèn)證。同時(shí),這個(gè)簽名一定是唯一特殊,不可被修改的,從而保證不可偽造和不可抵賴性。

因此,為了實(shí)現(xiàn)數(shù)字簽名,就需要借助于上面介紹的加密技術(shù)。報(bào)文加密技術(shù)是數(shù)字簽名的基礎(chǔ)。

同時(shí),對(duì)于加密技術(shù),首先不能選取對(duì)稱加密算法,因?yàn)閷?duì)稱加密算法接收和發(fā)送雙方使用的是同一個(gè)密鑰,也就是說接收方是可以利用這個(gè)密碼對(duì)接收?qǐng)?bào)文進(jìn)行修改的,也就是我們上面說的報(bào)文驗(yàn)證碼的問題。

因此,對(duì)于加密算法的算法一定需要選擇非對(duì)稱加密算法(公鑰技術(shù))。此時(shí),假設(shè)Bob要想Alice發(fā)送帶有數(shù)字簽名的信息,就可以利用其私鑰對(duì)報(bào)文m進(jìn)行加密,創(chuàng)建簽名報(bào)文,KB-(m)。

整體流程如下所示:

哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名,計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),web安全,安全

作為Alice,實(shí)際上接收了兩份報(bào)文:一份是明文原始報(bào)文m,另一份是Bob用私鑰加密的簽名報(bào)文。之后,Alice的響應(yīng)幀流程大致如下所示:

  • Alice利用Bob的公鑰KB+解密KB-(m),并檢驗(yàn)KB+(KB-(m))= m來證實(shí)報(bào)文m確實(shí)是由Bob簽名的。

  • 如果KB+(KB-(m))= m成立,則簽名m的一定是Bob的私鑰

  • 于是:

    Alice可以證實(shí):

    • Bob簽名了m
    • 沒有其他人簽名m的可能
    • Bob簽名的是報(bào)文m而不是其他報(bào)文m‘

    不可抵賴:

    • Alice可以持有報(bào)文m和簽名KB-(m),必要是可以提交給法院證明是Bob簽名的報(bào)文m。

實(shí)際上,通過上面的介紹我們細(xì)想就能發(fā)現(xiàn),實(shí)際上報(bào)文驗(yàn)證碼MAC和數(shù)字簽名技術(shù)的實(shí)現(xiàn)區(qū)分,實(shí)際上也就是對(duì)稱加密算法和非對(duì)稱加密算法實(shí)現(xiàn)原理的區(qū)別。因?yàn)橛辛朔菍?duì)稱加密算法,使得每個(gè)用戶都可以保留自己的私鑰,同時(shí)公開一個(gè)公鑰來進(jìn)行解密。而這個(gè)私鑰就成了身份認(rèn)證的唯一標(biāo)識(shí),比如身份證ID,或指紋。從而保證了報(bào)文傳輸過程中的消息完整性和身份認(rèn)證。

簽名報(bào)文摘要

上述簡單數(shù)字簽名的方案有一個(gè)較大的缺點(diǎn),就是在利用私鑰對(duì)報(bào)文加密后(簽名后),該簽名要跟著報(bào)文一起發(fā)送給接收端。一來,傳輸?shù)膱?bào)文量相當(dāng)于是兩倍的報(bào)文,造成信道資源消耗。二來,接收方在對(duì)簽名解密時(shí),原始報(bào)文往往比較大,解密速度也會(huì)比較慢。因此,可以設(shè)計(jì)一些方案來改進(jìn)這個(gè)簽名過程。

怎么做呢?可以聯(lián)想到上面提到過的報(bào)文摘要,對(duì)于報(bào)文摘要來說,它可以作為報(bào)文的數(shù)字指紋這樣一個(gè)特征,也就是可以唯一標(biāo)識(shí)一個(gè)報(bào)文。換句話說,報(bào)文摘要其實(shí)就與原始報(bào)文一一對(duì)應(yīng)。

因此,顯而易見,我們?cè)诤灻臅r(shí)候可以不對(duì)整個(gè)原始報(bào)文進(jìn)行簽名,而改為對(duì)這個(gè)報(bào)文摘要進(jìn)行簽名,也可以實(shí)現(xiàn)同樣的效果。

因此,目前大部分的數(shù)字簽名,使用的都是報(bào)文摘要簽名的方法。

接下來我們來看一下,利用報(bào)文摘要數(shù)字簽名的實(shí)現(xiàn)流程:

Bob發(fā)送數(shù)字簽名的報(bào)文:

  • Bob在發(fā)送報(bào)文時(shí),利用密碼散列函數(shù),對(duì)報(bào)文生成報(bào)文摘要H(m)
  • Bob利用自己的私鑰,對(duì)報(bào)文摘要進(jìn)行簽名,得到簽名后的報(bào)文摘要:KB-(H(m))
  • 把該簽名后的報(bào)文摘要和報(bào)文一起,組成擴(kuò)展報(bào)文(m, KB-(H(m)))發(fā)送給接收端。

Alice核實(shí)簽名以及數(shù)字簽名報(bào)文的完整性:

  • Alice分離出原始報(bào)文本身,和簽名報(bào)文摘要
  • Alice利用相同的密碼散列函數(shù),根據(jù)原始報(bào)文,生成報(bào)文摘要
  • 再利用Bob的公鑰對(duì)簽名報(bào)文摘要進(jìn)行解密
  • 將解密后的報(bào)文摘要與剛剛生成的報(bào)文摘要進(jìn)行比對(duì),判斷兩者是否相同。

哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名,計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),web安全,安全文章來源地址http://www.zghlxwxcb.cn/news/detail-618850.html

到了這里,關(guān)于哈工大計(jì)算機(jī)網(wǎng)絡(luò)課程網(wǎng)絡(luò)安全基本原理詳解之:消息完整性與數(shù)字簽名的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包