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

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

數(shù)字簽名

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

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

數(shù)字摘要

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

看一個具體場景:

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

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

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

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

接收方,驗(yàn)證過程如下:

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

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

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

數(shù)字證書

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

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

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

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

顧名思義,數(shù)字證書就是像一個證書一樣,證明信息的合法性。由證書認(rèn)證機(jī)構(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ù)字簽名 兩個信息。因此,只要通過這個證書就能證明某個公鑰是合法的,因?yàn)閹в?CA 的數(shù)字簽名。

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

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

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

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

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

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

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

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

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

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

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

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

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

多重簽名

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

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

群簽名

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

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

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

環(huán)簽名

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

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

盲簽名

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

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

HMAC

全稱是 Hash-based Message Authentication Code,即“基于 Hash 的消息認(rèn)證碼”。基本過程為對某個消息,利用提前共享的對稱密鑰和 Hash 算法進(jìn)行加密處理,得到 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ā)送隨機(jī)串給 B,B 對稱加密處理后把 HMAC 值發(fā)給 A,A 收到了自己再重新算一遍,只要相同說明對方確實(shí)是 B。

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

-

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內(nèi)容