群簽名,環(huán)簽名,盲簽名,數(shù)字簽名

互聯(lián)網(wǎng)世界簽名

數(shù)字簽名

類似在紙質(zhì)合同上簽名確認(rèn)合同內(nèi)容,數(shù)字簽名用于證實某數(shù)字內(nèi)容的完整性(integrity)和來源(或不可抵賴,non-repudiation)。

實際應(yīng)用中,由于直接對原消息進行簽名有安全性問題,而且原消息往往比較大,直接使用RSA算法進行簽名速度會比較慢,所以我們一般對消息計算其摘要(使用SHA-256等安全的摘要算法),然后對摘要進行簽名。只要使用的摘要算法是安全的(MD5、SHA-1已經(jīng)不安全了),那么這種方式的數(shù)字簽名就是安全的。

數(shù)字摘要

顧名思義,數(shù)字摘要是對數(shù)字內(nèi)容進行 Hash 運算,獲取唯一的摘要值來指代原始數(shù)字內(nèi)容。 數(shù)字摘要是解決確保內(nèi)容沒被篡改過的問題(利用 Hash 函數(shù)的抗碰撞性特點)。數(shù)字摘要是 Hash 算法最重要的一個用途。在網(wǎng)絡(luò)上下載軟件或文件時,往往同時會提供一個 數(shù)字摘要值,用戶下載下來原始文件可以自行進行計算,并同提供的摘要值進行比對,以確 保內(nèi)容沒有被修改過。

看一個具體場景:

1,小明對外發(fā)布公鑰,并聲稱對應(yīng)的私鑰在自己手上

2,小明對消息M計算摘要,得到摘要D(digest)

3,小明使用私鑰對D進行簽名,得到簽名S(signature)

4,小明將M和S一起發(fā)送出去

接收方,驗證過程如下:

1,接收者先對消息M使用跟小明一樣的摘要計算方法,得到摘要D‘

2,使用小明的公鑰對S進行解簽,得到摘要D

3,如果D和D’相同,那么證明M確實是小明發(fā)出的,并且沒有被篡改過

數(shù)字證書

數(shù)字證書用來證明某個公鑰是誰的,并且內(nèi)容是正確的。

對于非對稱加密算法和數(shù)字簽名來說,很重要的一點就是公鑰的分發(fā)。一旦公鑰被人替換(典型的如中間人攻擊),則整個安全體系將被破壞掉。

怎么確保一個公鑰確實是某個人的原始公鑰?

這就需要數(shù)字證書機制。

顧名思義,數(shù)字證書就是像一個證書一樣,證明信息的合法性。由證書認(rèn)證機構(gòu)(Certification Authority,CA)來簽發(fā),權(quán)威的 CA 包括 verisign 等。

數(shù)字證書內(nèi)容可能包括版本、序列號、簽名算法類型、簽發(fā)者信息、有效期、被簽發(fā)人、簽發(fā)的公開密鑰、CA 數(shù)字簽名、其它信息等等,一般使用最廣泛的標(biāo)準(zhǔn)為 ITU 和 ISO 聯(lián)合制定的 X.509 規(guī)范。

其中,最重要的包括 簽發(fā)的公開密鑰、CA 數(shù)字簽名 兩個信息。因此,只要通過這個證書就能證明某個公鑰是合法的,因為帶有 CA 的數(shù)字簽名。

接著上次的應(yīng)用場景做假設(shè):

1,現(xiàn)在有第三者小紅,小紅想欺騙接收者,她偷偷使用了接收者的電腦,用自己的公鑰換走了小明的公鑰

2,此時接收者實際擁有的是小紅的公鑰,但是還以為是小明的公鑰,因此,小紅就可以冒充小明,用自己的 私鑰做成“數(shù)字簽名”,發(fā)消息給接收者,讓接收者用假的小明公鑰進行解密

3,后來,接收者感覺不對勁,發(fā)現(xiàn)自己無法確定公鑰是否真的屬于小明。他想到了一個辦法,要求小明去“證書中心”(Certification authority, CA),為公鑰做認(rèn)證。

4,證書中心用自己的私鑰,對小明的公鑰和一些相關(guān)信息一起加密,生成數(shù)字證書(Digital Certificate),小明再發(fā)消息,只要在簽名的同事,再附上數(shù)字證書就可以了

5,接收者收到消息后,用CA的公鑰解開數(shù)字證書,拿到小明的真實公鑰,然后就能證明“數(shù)字簽名”是否真的是小明的。

下面看一個應(yīng)用“數(shù)字證書”的實例:https協(xié)議,這個協(xié)議主要用于網(wǎng)頁加密。

1.首先,客戶端向服務(wù)器發(fā)出加密請求。

2.服務(wù)器用自己的私鑰加密網(wǎng)頁以后,連同本身的數(shù)字證書,一起發(fā)送給客戶端。

3. 客戶端(瀏覽器)的”證書管理器”,有”受信任的根證書頒發(fā)機構(gòu)”列表??蛻舳藭鶕?jù)這張列表,查看解開數(shù)字證書的公鑰是否在列表之內(nèi)。

4.如果數(shù)字證書記載的網(wǎng)址,與你正在瀏覽的網(wǎng)址不一致,就說明這張證書可能被冒用,瀏覽器會發(fā)出警告。

5. 如果這張數(shù)字證書不是由受信任的機構(gòu)頒發(fā)的,瀏覽器會發(fā)出另一種警告。

6. 如果數(shù)字證書是可靠的,客戶端就可以使用證書中的服務(wù)器公鑰,對信息進行加密,然后與服務(wù)器交換加密信息。

多重簽名

n 個持有人中,收集到至少 m 個(n≥1)的簽名,即認(rèn)為合法,這種簽名被稱為多重簽名。

其中,n 是提供的公鑰個數(shù),m 是需要匹配公鑰的最少的簽名個數(shù)。

群簽名

1991 年由 Chaum 和 van Heyst 提出。群簽名屬于群體密碼學(xué)的一個課題。

群簽名有如下幾個特點:只有群中成員能夠代表群體簽名(群特性);接收者可以用公鑰驗證群簽名(驗證簡單性);接收者不能知道由群體中哪個成員所簽(無條件匿名保護);發(fā)生爭議時,群體中的成員或可信賴機構(gòu)可以識別簽名者(可追查性)。

Desmedt 和 Frankel 在 1991 年提出了基于門限的群簽名實現(xiàn)方案。在簽名時,一個具有 n 個成員的群體共用同一個公鑰,簽名時必須有 t 個成員參與才能產(chǎn)生一個合法的簽名,t 稱為門限或閾值。這樣一個簽名稱為(n, t)不可抵賴群簽名。

環(huán)簽名

環(huán)簽名由 Rivest,shamir 和 Tauman 三位密碼學(xué)家在 2001 年首次提出。環(huán)簽名屬于一種簡化的群簽名。

簽名者首先選定一個臨時的簽名者集合,集合中包括簽名者自身。然后簽名者利用自己的私鑰和簽名集合中其他人的公鑰就可以獨立的產(chǎn)生簽名,而無需他人的幫助。簽名者集合中的其他成員可能并不知道自己被包含在其中。

盲簽名

1983 年由 David Chaum 提出。簽名者在無法看到原始內(nèi)容的前提下對信息進行簽名。

盲簽名主要是為了實現(xiàn)防止追蹤(unlinkability),簽名者無法將簽名內(nèi)容和結(jié)果進行對應(yīng)。典型的實現(xiàn)包括 RSA 盲簽名)。

HMAC

全稱是 Hash-based Message Authentication Code,即“基于 Hash 的消息認(rèn)證碼”?;具^程為對某個消息,利用提前共享的對稱密鑰和 Hash 算法進行加密處理,得到 HMAC 值。該 HMAC 值提供方可以證明自己擁有共享的對稱密鑰,并且消息自身可以利用 HMAC 確保未經(jīng)篡改。

HMAC(K, H, Message)

其中,K 為提前共享的對稱密鑰,H 為提前商定的 Hash 算法(一般為公認(rèn)的經(jīng)典算法),Message 為要處理的消息內(nèi)容。如果不知道 K 和 H,則無法根據(jù) Message 得到準(zhǔn)確的 HMAC 值。

HMAC 一般用于證明身份的場景,如 A、B 提前共享密鑰,A 發(fā)送隨機串給 B,B 對稱加密處理后把 HMAC 值發(fā)給 A,A 收到了自己再重新算一遍,只要相同說明對方確實是 B。

HMAC 主要問題是需要共享密鑰。當(dāng)密鑰可能被多方擁有的場景下,無法證明消息確實來自某人(Non-repudiation)。反之,如果采用非對稱加密方式,則可以證明。

-

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 摘要 本白皮書介紹了加密和公鑰基本結(jié)構(gòu)(PKI)的概念和使用 Microsoft Windows 2000 Ser...
    陳sir的知識圖譜閱讀 1,184評論 0 1
  • PKI 基礎(chǔ)知識 (摘自Microsoft Windows 2000 Server白皮書,2000年7月5日發(fā)布)...
    right_33cb閱讀 1,017評論 0 1
  • 前言 文中首先解釋加密解密的一些基礎(chǔ)知識和概念,然后通過一個加密通信過程的例子說明了加密算法的作用,以及數(shù)字證書的...
    sunny沖哥閱讀 3,200評論 0 2
  • 每一個物業(yè)人員剛剛進入物業(yè)行業(yè)的時候,全都是雄心萬丈,一心想有一番作為,并且他們也為他們的夢想付出努力了。...
    丿火花灬閱讀 1,421評論 0 1
  • 1、早上跟我媽嘮叨:“老周昨天給我買了兩兜子掛面,買那玩兒干啥,我又不會下” 我媽沉默了一會……“掛面都不會下,吃...
    丿佐沉閱讀 316評論 0 0

友情鏈接更多精彩內(nèi)容