亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

隱式認(rèn)證的公鑰的制作方法

文檔序號(hào):7991494閱讀:543來(lái)源:國(guó)知局
隱式認(rèn)證的公鑰的制作方法
【專(zhuān)利摘要】描述了使用隱式證書(shū)的方法、系統(tǒng)和計(jì)算機(jī)程序。在一些方面,訪問(wèn)隱式證書(shū)。所述隱式證書(shū)與實(shí)體相關(guān)聯(lián),并且由證書(shū)機(jī)構(gòu)生成。所述隱式證書(shū)包括所述實(shí)體的公鑰重構(gòu)值。訪問(wèn)證書(shū)機(jī)構(gòu)公鑰信息。所述證書(shū)機(jī)構(gòu)公鑰信息與頒發(fā)所述隱式證書(shū)的證書(shū)機(jī)構(gòu)相關(guān)聯(lián)。基于對(duì)散列函數(shù)求值來(lái)生成第一值。所述散列函數(shù)的求值基于所述證書(shū)機(jī)構(gòu)公鑰信息和所述實(shí)體的公鑰重構(gòu)值??梢曰谒龅谝恢瞪苫蛞云渌绞绞褂盟鰧?shí)體的公鑰值。
【專(zhuān)利說(shuō)明】隱式認(rèn)證的公鑰
[0001]優(yōu)先權(quán)要求
[0002]本申請(qǐng)要求在2011年6月10日提交的序列號(hào)為61 / 495,788的美國(guó)臨時(shí)申請(qǐng)的優(yōu)先權(quán),在此通過(guò)弓I用將其全部?jī)?nèi)容并入本文。
【背景技術(shù)】
[0003]本說(shuō)明書(shū)涉及在密碼系統(tǒng)中使用隱式證書(shū)。密碼系統(tǒng)可以在公共信道上提供安全通信。例如,在公鑰密碼系統(tǒng)中可以實(shí)現(xiàn)數(shù)字簽名方案。在一些密碼系統(tǒng)中,用戶基于可信的第三方頒發(fā)的證書(shū)來(lái)驗(yàn)證其他用戶的數(shù)字簽名的真實(shí)性。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0004]圖1是示例數(shù)據(jù)通信系統(tǒng)的示意圖。
[0005]圖2是另一示例數(shù)據(jù)通信系統(tǒng)的示意圖。
[0006]圖3是示例密碼系統(tǒng)的示意圖。
[0007]圖4是示出用于在密碼系統(tǒng)中執(zhí)行操作的示例技術(shù)的流程圖。
[0008]圖5是示出用于使用數(shù)字簽名的示例技術(shù)的流程圖。
[0009]在各個(gè)圖中,類(lèi)似的參考標(biāo)號(hào)和標(biāo)記指示類(lèi)似的要素。
【具體實(shí)施方式】
[0010]可以按照以下技術(shù)來(lái)生成和/或使用公鑰、數(shù)字簽名或這兩者:基于隱式證書(shū)來(lái)降低特定的攻擊將戰(zhàn)勝密碼機(jī)制的可能性的技術(shù)。在一些實(shí)施例中,一種或多種技術(shù)可被實(shí)現(xiàn)為針對(duì)連鎖攻擊或其他類(lèi)型的攻擊的對(duì)策。這些對(duì)策可以代表這樣一類(lèi)解決方案,其中每個(gè)解決方案可被用于有效地阻撓敵手偽造隱式證書(shū)或與隱式認(rèn)證的公鑰相關(guān)聯(lián)的簽名的能力。例如在信賴(lài)方是公鑰基礎(chǔ)設(shè)施內(nèi)的端實(shí)體的情況下,在信賴(lài)方是從屬于另一證書(shū)機(jī)構(gòu)的證書(shū)機(jī)構(gòu)的情況下,或者在其他情況下,可以有效地實(shí)現(xiàn)這種技術(shù)。
[0011]如此,隱式證書(shū)方案可以包括一個(gè)或更多個(gè)對(duì)策組件。在一些實(shí)例中,對(duì)策組件被應(yīng)用在用于根據(jù)其隱式證書(shū)來(lái)重構(gòu)使用者(subject)公鑰的算法中。下文關(guān)于圖2和圖4描述了在公鑰構(gòu)建方案中可以應(yīng)用的一些示例對(duì)策技術(shù)。在一些實(shí)例中,對(duì)策組件被應(yīng)用在用于對(duì)消息上的數(shù)字簽名進(jìn)行基于隱式證書(shū)的驗(yàn)證的算法中。下文關(guān)于圖3和圖5描述了可被應(yīng)用到數(shù)字簽名生成和驗(yàn)證方案的一些示例對(duì)策技術(shù)。在一些示例中,可以使用這些對(duì)策組件與附加的或不同的對(duì)策組件的組合。
[0012]圖1是示例數(shù)據(jù)通信系統(tǒng)100的示意圖,其示出了在其中可以實(shí)現(xiàn)基于隱式證書(shū)的密碼方案和關(guān)聯(lián)的對(duì)策的示例上下文??梢栽谄渌舷挛闹袑?shí)現(xiàn)基于隱式證書(shū)的密碼方案和關(guān)聯(lián)的對(duì)策。數(shù)據(jù)通信系統(tǒng)100包括:證書(shū)機(jī)構(gòu)服務(wù)器104,兩個(gè)終端102、106,以及數(shù)據(jù)網(wǎng)絡(luò)108。數(shù)據(jù)通信系統(tǒng)100可以包括附加的、更少的、或者不同的組件。例如,數(shù)據(jù)通信系統(tǒng)100可以包括附加的存儲(chǔ)設(shè)備、附加的服務(wù)器(包括附加的證書(shū)機(jī)構(gòu)服務(wù)器)、附加的終端、以及圖中未示出的其他特征。[0013]證書(shū)機(jī)構(gòu)服務(wù)器104和終端102、106可以通過(guò)數(shù)據(jù)網(wǎng)絡(luò)108相互通信以及與數(shù)據(jù)通信系統(tǒng)100中的其他組件通信。在圖1示出的示例中,終端102可以向證書(shū)機(jī)構(gòu)服務(wù)器104發(fā)送證書(shū)請(qǐng)求,以及證書(shū)機(jī)構(gòu)服務(wù)器104可以通過(guò)向終端102發(fā)送隱式證書(shū)122來(lái)進(jìn)行響應(yīng)。終端102可以向終端106發(fā)送簽名消息124,以及終端106可以使用證書(shū)機(jī)構(gòu)服務(wù)器104頒發(fā)的隱式證書(shū)122來(lái)驗(yàn)證簽名消息124的真實(shí)性。數(shù)據(jù)通信系統(tǒng)100可以支持附加的或不同類(lèi)型的通信。在一些實(shí)現(xiàn)中,終端102、106還可以在相互之間、與證書(shū)機(jī)構(gòu)服務(wù)器104、以及與數(shù)據(jù)通信系統(tǒng)100的其他組件交換加密的消息和其他類(lèi)型的信息。
[0014]在一些實(shí)現(xiàn)中,簽名消息124包括隱式認(rèn)證的簽名。隱式認(rèn)證的簽名可以是消息上的數(shù)字簽名,或者隱式認(rèn)證的簽名可以是消息的修改版本上的數(shù)字簽名。可以利用隱式認(rèn)證的密鑰對(duì)來(lái)對(duì)消息進(jìn)行簽名和驗(yàn)證。隱式證書(shū)方案以及使用隱式證書(shū)的簽名方案可被基于所期望的安全級(jí)別進(jìn)行參數(shù)化,其中該安全級(jí)別可被例如以比特為單位表示為k。隱式證書(shū)方案的示例包括橢圓曲線Qu-Vanstone (ECQV)隱式證書(shū)方案以及最優(yōu)郵寄證書(shū)(OMC)隱式證書(shū)方案??梢允褂酶郊拥幕虿煌碾[式證書(shū)方案??梢允褂秒[式證書(shū)的數(shù)字簽名方案的示例包括橢圓曲線Pintsov-Vanstone (ECPV)簽名方案,基于密鑰的ECPV簽名方案,以及Schnorr簽名方案??梢允褂酶郊拥幕虿煌臄?shù)字簽名方案。
[0015]ECPV簽名方案是具有部分消息恢復(fù)的簽名方案。標(biāo)準(zhǔn)ANSI X9.62、IEEE P1363a和IS09796-3規(guī)定了 ECPV簽名方案的示例實(shí)現(xiàn)(使用2k比特輸出散列函數(shù))。套件E規(guī)定了具有2k比特輸出的ECPV簽名的示例(具體地,AES128-MM0)。ECPV簽名方案的基于密鑰的變形允許簽名者對(duì)簽名消息的可恢復(fù)部分進(jìn)行加密,使得僅目標(biāo)接收方可以恢復(fù)該可恢復(fù)部分。其他各方仍可以驗(yàn)證消息的公共部分上的簽名。
[0016]ECQV隱式證書(shū)方案是隱式證書(shū)方案的示例。在高效加密標(biāo)準(zhǔn)組(SECG)于2009年5 月公布的第二版 “Standards for Efficient Cryptography4 (SEC4) Standard,,中描述了ECQV機(jī)制的實(shí)現(xiàn)。該SEC4標(biāo)準(zhǔn)規(guī)定使用具有2k比特輸出的散列函數(shù)。套件E也規(guī)定了ECQV,但是具有短的(k比特)散列函數(shù),AES-128-MM0。
[0017]在一些方面,隱式證書(shū)可以使得信賴(lài)方能夠利用公鑰基礎(chǔ)設(shè)施,而不需要向信賴(lài)方顯式地傳輸公鑰。公鑰可被用在密碼協(xié)議中,諸如用于驗(yàn)證據(jù)稱(chēng)已經(jīng)由公鑰的擁有者簽名的消息的完整性和來(lái)源真實(shí)性。與在證書(shū)主體內(nèi)包含使用者公鑰、使用者標(biāo)識(shí)符、以及證書(shū)機(jī)構(gòu)在至少使用者公鑰和使用者標(biāo)識(shí)符上生成的數(shù)字簽名的顯式證書(shū)相比,隱式證書(shū)可以更加簡(jiǎn)潔。在一些實(shí)現(xiàn)中,隱式證書(shū)不顯式包含使用者公鑰,而是使得能夠根據(jù)隱式證書(shū)重構(gòu)使用者公鑰。在一些實(shí)現(xiàn)中,隱式證書(shū)可以顯式包含使用者公鑰。信賴(lài)方可以使用證書(shū)機(jī)構(gòu)的公鑰來(lái)重構(gòu)使用者公鑰。
[0018]在圖1示出的示例中,隱式證書(shū)方案被下述三方使用:證書(shū)機(jī)構(gòu)、證書(shū)請(qǐng)求者、以及證書(shū)處理者。在示出的示例中,請(qǐng)求者實(shí)體從證書(shū)機(jī)構(gòu)實(shí)體獲取隱式證書(shū)。隱式證書(shū)證明請(qǐng)求者的身份,并且允許處理者實(shí)體獲取請(qǐng)求者的公鑰。更普遍地,在一些上下文中,附加的或不同的實(shí)體可以使用隱式證書(shū)方案。
[0019]作為隱式證書(shū)方案的示例,ECQV隱式證書(shū)方案的一些實(shí)現(xiàn)可以按照六個(gè)操作方面進(jìn)行描述。這六個(gè)方面可以以任何合適的順序或組合來(lái)執(zhí)行。而且,可以以更少的、附加的、或者不同的操作方面來(lái)實(shí)現(xiàn)隱式證書(shū)方案。此處作為示例提供六個(gè)操作方面的描述。
[0020]ECQV隱式證書(shū)方案的第一方面是ECQV設(shè)立步驟。在該階段,證書(shū)機(jī)構(gòu)建立橢圓曲線域參數(shù)、散列函數(shù)、證書(shū)加密格式,并且實(shí)體具有隨機(jī)數(shù)生成器。證書(shū)機(jī)構(gòu)生成密鑰對(duì)。實(shí)體接收證書(shū)機(jī)構(gòu)的公鑰和域參數(shù)的真實(shí)副本??梢允褂萌魏魏线m的技術(shù)來(lái)實(shí)現(xiàn)ECQV設(shè)立。
[0021]ECQV隱式證書(shū)方案的第二方面是證書(shū)請(qǐng)求操作。證書(shū)請(qǐng)求者生成針對(duì)證書(shū)的請(qǐng)求。將該請(qǐng)求發(fā)送給證書(shū)機(jī)構(gòu)。該請(qǐng)求的密碼成分是使用與證書(shū)機(jī)構(gòu)在ECQV設(shè)立期間使用的相同過(guò)程生成的公鑰??梢允褂萌魏魏线m的技術(shù)來(lái)實(shí)現(xiàn)證書(shū)請(qǐng)求。
[0022]ECQV隱式證書(shū)方案的第三方面是證書(shū)生成操作。當(dāng)接收到證書(shū)請(qǐng)求時(shí),證書(shū)機(jī)構(gòu)確認(rèn)請(qǐng)求者的身份,并且創(chuàng)建隱式證書(shū)。證書(shū)機(jī)構(gòu)實(shí)體向請(qǐng)求者實(shí)體發(fā)送響應(yīng)??梢允褂萌魏魏线m的技術(shù)來(lái)實(shí)現(xiàn)證書(shū)生成。
[0023]ECQV隱式證書(shū)方案的第四方面是已認(rèn)證公鑰提取操作。給定請(qǐng)求者實(shí)體的隱式證書(shū)、域參數(shù)、以及證書(shū)機(jī)構(gòu)的公鑰,公鑰提取算法計(jì)算請(qǐng)求者的公鑰??梢允褂萌魏魏线m的技術(shù)來(lái)實(shí)現(xiàn)已認(rèn)證公鑰提取。
[0024]ECQV隱式證書(shū)方案的第五方面是證書(shū)接收操作。在接收到對(duì)證書(shū)請(qǐng)求的響應(yīng)之后,請(qǐng)求者計(jì)算其隱式認(rèn)證的密鑰對(duì),并且確保該密鑰對(duì)是有效的??梢允褂萌魏魏线m的技術(shù)來(lái)實(shí)現(xiàn)證書(shū)接收。
[0025]ECQV隱式證書(shū)方案的第六方面是ECQV簽名驗(yàn)證操作。在一些實(shí)現(xiàn)中,可以使用形成請(qǐng)求者的證書(shū)上的顯式簽名的附加信息來(lái)增強(qiáng)ECQV隱式證書(shū)??梢允褂萌魏魏线m的技術(shù)來(lái)實(shí)現(xiàn)簽名驗(yàn)證。
[0026]在一些情形中,隱式證書(shū)頒發(fā)可被實(shí)現(xiàn)為請(qǐng)求者與證書(shū)機(jī)構(gòu)之間的雙行程協(xié)議,其中第一流程是來(lái)自請(qǐng)求者的證書(shū)請(qǐng)求,而第二流程是來(lái)自證書(shū)機(jī)構(gòu)的響應(yīng),該響應(yīng)包含證書(shū)。`
[0027]在一個(gè)示例操作方面,請(qǐng)求者實(shí)體、證書(shū)機(jī)構(gòu)以及驗(yàn)證者(或者處理者)實(shí)體有權(quán)訪問(wèn)橢圓曲線域參數(shù)(包括群的生成器G)、隨機(jī)數(shù)生成器、散列函數(shù)H、證書(shū)編碼方案、有效數(shù)據(jù)類(lèi)型、以及用于執(zhí)行該方案的任何其他參數(shù)或函數(shù)。可以基于密碼系統(tǒng)中的指定安全級(jí)別來(lái)選擇所述參數(shù)和函數(shù)中的一些或全部。請(qǐng)求者已經(jīng)被分配唯一的標(biāo)識(shí)符I。請(qǐng)求者通過(guò)選擇值ku e R[l, n-1]并且計(jì)算Ru ^kuG來(lái)生成請(qǐng)求(I, Ru)。此處,1?可以是整數(shù),G可以是橢圓曲線群的生成器,以及Ru可以是該群中的橢圓曲線點(diǎn)。請(qǐng)求者向證書(shū)機(jī)構(gòu)發(fā)送該請(qǐng)求。證書(shū)機(jī)構(gòu)基于該請(qǐng)求生成隱式證書(shū)Certut5為了生成該請(qǐng)求,證書(shū)機(jī)構(gòu)選擇隨機(jī)值k e R[l,n-1],并且通過(guò)計(jì)算P=RfkG生成公鑰重建數(shù)據(jù)P。此處,k可以是整數(shù),以及P可以是其生成器是G的橢圓曲線群中的橢圓曲線點(diǎn)。證書(shū)機(jī)構(gòu)然后通過(guò)證書(shū)編碼例程Certu:=Encode (P, I,*)來(lái)生成隱式證書(shū)Certut5證書(shū)機(jī)構(gòu)然后通過(guò)計(jì)算e FHn(Certu)生成散列值e,并且通過(guò)計(jì)算r Fek+c^mod η生成私鑰分發(fā)值r。此處,r表示整數(shù),函數(shù)Hn表示散列函數(shù),以及Hn的輸出可以是整數(shù)mod n。Encode O函數(shù)中的自變量可以表示通配符,以允許證書(shū)機(jī)構(gòu)在證書(shū)中包含附加的可選的數(shù)據(jù),下文將進(jìn)行舉例說(shuō)明。
[0028]隱式證書(shū)編碼方案的示例包括固定長(zhǎng)度字段方案、最小ASN.1編碼方案、兼容X.509的ASN.1編碼方案等等。固定長(zhǎng)度字段方案和ASN.1編碼方案可被用于在一些情況下獲得更大帶寬效率。兼容X.509的ASN.1編碼方案生成可被重新編碼為標(biāo)準(zhǔn)X.509證書(shū)(如,具有或不具有顯式簽名值)的隱式證書(shū)。通過(guò)固定長(zhǎng)度字段方案編碼的證書(shū)可以包括一系列字段,每個(gè)字段具有固定長(zhǎng)度。例如,實(shí)體可以都對(duì)證書(shū)中的字段fn的數(shù)目、每個(gè)字段的八位字節(jié)長(zhǎng)度、指示哪個(gè)字段將包含公鑰重構(gòu)數(shù)據(jù)的索引值1、以及針對(duì)每個(gè)字段元素的有效性規(guī)則達(dá)成一致意見(jiàn)。在一些實(shí)現(xiàn)中,證書(shū)中的字段之一是公鑰重構(gòu)數(shù)據(jù),而其他字段可以具有開(kāi)放格式。例如,其他字段可以包括諸如請(qǐng)求者的電子郵件地址或者隱式證書(shū)的期滿日期之類(lèi)的值。
[0029]在一個(gè)示例操作方面,證書(shū)機(jī)構(gòu)向請(qǐng)求者發(fā)送私鑰分發(fā)數(shù)據(jù)r以及隱式證書(shū)Certuo請(qǐng)求者使用該證書(shū)數(shù)據(jù)來(lái)生成請(qǐng)求者的橢圓曲線密鑰對(duì)(b,B)。請(qǐng)求者可以通過(guò)下述方式生成橢圓曲線密鑰對(duì)(b, B):計(jì)算散列值e ^Hn(Certu),計(jì)算私鑰值bzeku+r (modη),以及計(jì)算公鑰值B=eP+C。對(duì)于附加的或不同類(lèi)型的隱式證書(shū)方案,該示例操作可被適配或修改。
[0030]在圖1示出的示例中,證書(shū)機(jī)構(gòu)服務(wù)器104是能夠執(zhí)行密碼系統(tǒng)中的證書(shū)機(jī)構(gòu)的操作的計(jì)算系統(tǒng)。證書(shū)機(jī)構(gòu)服務(wù)器104通??刹僮饔糜诮邮?、發(fā)送、處理和存儲(chǔ)與密碼系統(tǒng)關(guān)聯(lián)的信息。盡管圖1示出單個(gè)證書(shū)機(jī)構(gòu)服務(wù)器104,但是可以使用多個(gè)證書(shū)機(jī)構(gòu)服務(wù)器104(包括服務(wù)器簇)以及使用不同于服務(wù)器的附加的或不同類(lèi)型的計(jì)算設(shè)備來(lái)實(shí)現(xiàn)證書(shū)機(jī)構(gòu)。
[0031]證書(shū)機(jī)構(gòu)服務(wù)器104通常包括數(shù)據(jù)處理裝置、數(shù)據(jù)存儲(chǔ)介質(zhì)和數(shù)據(jù)通信接口。例如,證書(shū)機(jī)構(gòu)服務(wù)器104可以包括處理器、存儲(chǔ)器、輸入/輸出控制器、和/或其他特征。存儲(chǔ)器例如可以包括隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、存儲(chǔ)設(shè)備(如,可寫(xiě)只讀存儲(chǔ)器(ROM)等)、硬盤(pán)、緩沖存儲(chǔ)器、或者其他類(lèi)型的存儲(chǔ)介質(zhì)。存儲(chǔ)器可以存儲(chǔ)與計(jì)算機(jī)應(yīng)用關(guān)聯(lián)的指令(如計(jì)算機(jī)代碼)、程序和計(jì)算機(jī)程序模塊、以及其他資源。處理器可以包括任何類(lèi)型的數(shù)據(jù)處理裝置,如通用微處理器、專(zhuān)用處理器、數(shù)字控制器、或者其他類(lèi)型的設(shè)備。輸入/輸出控制器可以耦合到輸入/輸出設(shè)備(如顯示器、鍵盤(pán)等)以及數(shù)據(jù)網(wǎng)絡(luò)108。輸入/輸出設(shè)備可以通過(guò)通信鏈路接收和發(fā)送模擬或數(shù)字形式的數(shù)據(jù),所述通信鏈路例如是串行鏈路、無(wú)線鏈路(如紅外、射頻等)、并行鏈路、或者其他類(lèi)型的鏈路。
`[0032]數(shù)據(jù)網(wǎng)絡(luò)108可以包括任何合適類(lèi)型的數(shù)據(jù)通信網(wǎng)絡(luò)。例如,數(shù)據(jù)網(wǎng)絡(luò)108可以包括無(wú)線或有線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、電信網(wǎng)絡(luò)、企業(yè)網(wǎng)、專(zhuān)用公共網(wǎng)絡(luò)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、私有網(wǎng)絡(luò)、公共網(wǎng)絡(luò)(如互聯(lián)網(wǎng))、WiFI網(wǎng)絡(luò)、包括衛(wèi)星鏈路的網(wǎng)絡(luò)、或者其他類(lèi)型的數(shù)據(jù)通信網(wǎng)絡(luò)。數(shù)據(jù)網(wǎng)絡(luò)108可以包括通過(guò)防火墻或者實(shí)現(xiàn)各種安全級(jí)別的類(lèi)似特征來(lái)定義的分層結(jié)構(gòu)。
[0033]終端102、106是能夠基于數(shù)據(jù)通信系統(tǒng)100規(guī)定的通信方案進(jìn)行通信的計(jì)算設(shè)備。終端102、106通??刹僮饔糜诮邮铡l(fā)送、處理和存儲(chǔ)信息。盡管圖1示出兩個(gè)終端102、106,但是數(shù)據(jù)通信系統(tǒng)100可以包括任何數(shù)目的終端。數(shù)據(jù)通信系統(tǒng)100可以包括終端的組或子組,子組或組中的終端能夠相互通信,但是不一定能夠與其他組或子組中的終端通信。數(shù)據(jù)通信系統(tǒng)100可以包括不同類(lèi)型的終端,具有不同類(lèi)型的硬件和軟件配置的終端,并且位于各種不同位置的終端。在一些實(shí)例中,可以將多個(gè)設(shè)備或子系統(tǒng)一起識(shí)別為單個(gè)終端。數(shù)據(jù)通信系統(tǒng)100中的終端均可以利用證書(shū)機(jī)構(gòu)服務(wù)器104頒發(fā)的隱式證書(shū)。
[0034]終端102通常包括數(shù)據(jù)處理裝置、數(shù)據(jù)存儲(chǔ)介質(zhì)和數(shù)據(jù)通信接口。例如,終端102可以包括存儲(chǔ)器、處理器和輸入/輸出控制器。終端可以包括用戶接口設(shè)備,如顯示器、觸摸屏、鼠標(biāo)、或鍵盤(pán)。終端的存儲(chǔ)器可以存儲(chǔ)與計(jì)算機(jī)應(yīng)用關(guān)聯(lián)的指令(如計(jì)算機(jī)代碼)、程序和計(jì)算機(jī)程序模塊、以及其他資源。[0035]終端102可被實(shí)現(xiàn)為手持設(shè)備,如智能電話、個(gè)人數(shù)字助理(PDA)、便攜式媒體播放器、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、平板計(jì)算機(jī)等等。終端可以包括工作站、大型機(jī)、非便攜式計(jì)算機(jī)系統(tǒng),在建筑物、交通工具或者其他類(lèi)型的設(shè)施中安裝的設(shè)備。終端可以包括嵌入式通信設(shè)備。例如,終端可以包括消息收發(fā)設(shè)備,其被嵌入在智能能量系統(tǒng)的智能能量表中。也可以使用其他類(lèi)型的終端。
[0036]終端可以與具體的用戶實(shí)體、具體的用戶身份或者其任意組合相關(guān)聯(lián)。一個(gè)或更多個(gè)終端可以與人類(lèi)用戶相關(guān)聯(lián)。在一些實(shí)現(xiàn)中,終端不與任何具體的人類(lèi)用戶相關(guān)聯(lián)。一個(gè)或更多個(gè)終端可以與具體設(shè)備、具體位置、具體設(shè)施、或者其他標(biāo)識(shí)信息相關(guān)聯(lián)。
[0037]在一個(gè)操作方面,終端102向證書(shū)機(jī)構(gòu)服務(wù)器104發(fā)送證書(shū)請(qǐng)求120,以及證書(shū)機(jī)構(gòu)服務(wù)器104生成針對(duì)終端102的隱式證書(shū)122。隱式證書(shū)122將特定的公鑰值與特定的用戶實(shí)體(如,終端102、與終端102關(guān)聯(lián)的用戶、在終端102中實(shí)現(xiàn)的模塊等)相關(guān)聯(lián)。終端102從證書(shū)機(jī)構(gòu)服務(wù)器104接收隱式證書(shū)122。當(dāng)終端102有消息要發(fā)送給終端106時(shí),終端102使用隱式證書(shū)122生成針對(duì)消息的數(shù)字簽名。該數(shù)字簽名與消息組合在一起,以形成簽名消息124,終端102將該簽名消息124發(fā)送給終端106。在一些實(shí)現(xiàn)中,數(shù)字簽名和消息是分開(kāi)發(fā)送的。終端106接收簽名消息124,獲取隱式證書(shū)122,并且基于隱式證書(shū)122驗(yàn)證數(shù)字簽名。隱式證書(shū)還可用于其他類(lèi)型的方案中,例如用于加密方案中。
[0038]數(shù)據(jù)通信系統(tǒng)100實(shí)現(xiàn)的隱式證書(shū)方案允許終端102、106即使當(dāng)數(shù)據(jù)網(wǎng)絡(luò)108上的通信被惡意用戶觀察時(shí),或者當(dāng)惡意用戶(如,通過(guò)篡改誠(chéng)實(shí)終端的通信)干預(yù)通信系統(tǒng)100時(shí),也以安全的方式相互通信。隱式證書(shū)122將與終端102關(guān)聯(lián)的用戶實(shí)體和能夠用于驗(yàn)證終端102生成的數(shù)字簽名的特定公鑰值捆綁在一起。終端106能夠獲取隱式證書(shū)122,以驗(yàn)證數(shù)字簽名是由與終端102關(guān)聯(lián)的用戶實(shí)體生成的,而不是由冒充者生成的。終端106還可以驗(yàn)證隱式證書(shū)122是由可信的第三方在證書(shū)機(jī)構(gòu)服務(wù)器104處生成的。以這種方式,隱式證書(shū)122可以提供可信的第三方做出的確認(rèn):簽名消息124是由與終端102關(guān)聯(lián)的用戶實(shí)體簽名的,而不是由冒充者簽名的。
[0039]示例隱式證書(shū)122包括與終端102關(guān)聯(lián)的用戶實(shí)體的標(biāo)識(shí)。示例隱式證書(shū)122包括能被用于構(gòu)建用戶實(shí)體的公鑰的信息。在一些實(shí)例中,使用隱式證書(shū)122驗(yàn)證數(shù)字簽名還確認(rèn):用戶實(shí)體擁有對(duì)應(yīng)的私鑰。圖1示出的示例隱式證書(shū)122既不包括公鑰的顯式表示,也不包括證書(shū)機(jī)構(gòu)的數(shù)字簽名的顯式表示。因此,在一些實(shí)現(xiàn)中,隱式證書(shū)122比一些其他類(lèi)型的數(shù)字證書(shū)更加簡(jiǎn)潔。在一些實(shí)例中,隱式證書(shū)122包括證書(shū)機(jī)構(gòu)的數(shù)字簽名,其允許用戶實(shí)體(如與終端106關(guān)聯(lián)的用戶實(shí)體)驗(yàn)證隱式證書(shū)122是由可信的證書(shū)機(jī)構(gòu)生成的。在一些實(shí)例中,證書(shū)機(jī)構(gòu)要求用戶實(shí)體證實(shí)用戶實(shí)體的私鑰的知識(shí)。在一些實(shí)例中,隱式證書(shū)122包括用戶的公鑰的顯式表示。
[0040]替代顯式表示終端102的公鑰,圖1中的示例隱式證書(shū)122包括公鑰重構(gòu)數(shù)據(jù),該公鑰重構(gòu)數(shù)據(jù)能夠與其他信息(例如,證書(shū)機(jī)構(gòu)的公鑰等)組合以生成與終端102關(guān)聯(lián)的用戶實(shí)體的公鑰。示例隱式證書(shū)122被構(gòu)建為使得對(duì)終端102生成的數(shù)字簽名的成功驗(yàn)證用作終端102擁有該私鑰的確認(rèn)。因此,根據(jù)一些隱式證書(shū)方案,可以在密鑰使用期間共同驗(yàn)證用戶實(shí)體與其公鑰的捆綁以及用戶實(shí)體關(guān)于其私鑰的知識(shí)。
[0041]因?yàn)槭纠[式證書(shū)122不包括終端102的公鑰的顯式表示,在一些情況下,證書(shū)機(jī)構(gòu)有可能在不曾生成公鑰值的顯式表示的情況下頒發(fā)隱式證書(shū)122,以及終端102、106有可能在不曾生成公鑰值的顯式表示的情況下使用隱式證書(shū)122。例如,在一些橢圓曲線密碼系統(tǒng)中,公鑰的值可被表達(dá)為:B=eP+C,并且替代顯式計(jì)算公鑰B的值,終端102、106在它們例如使用公鑰來(lái)生成或驗(yàn)證數(shù)字簽名時(shí)將值e、P和C并入更大的等式(如,簽名等式或驗(yàn)證等式)。如此,有可能能夠在不顯式計(jì)算公鑰的情況下實(shí)際上使用或生成公鑰。
[0042]圖2是另一示例數(shù)據(jù)通信系統(tǒng)200的示意圖。數(shù)據(jù)通信系統(tǒng)200包括:證書(shū)機(jī)構(gòu)服務(wù)器204a、204b和204x ;終端202和206 ;數(shù)據(jù)網(wǎng)絡(luò)208 ;以及敵手212。數(shù)據(jù)通信系統(tǒng)200可以包括附加的、更少的、或者不同的組件。例如,數(shù)據(jù)通信系統(tǒng)200可以包括附加的存儲(chǔ)設(shè)備、附加的服務(wù)器(包括附加的證書(shū)機(jī)構(gòu)服務(wù)器)、附加的終端、附加的敵手以及圖中未示出的其他特征。在一些示例實(shí)現(xiàn)中,終端202可以實(shí)現(xiàn)為圖1中的終端102,并且終端206可以實(shí)現(xiàn)為圖1中的終端106。在一些示例實(shí)現(xiàn)中,證書(shū)機(jī)構(gòu)服務(wù)器204a、204b、204x中的每一個(gè)可以實(shí)現(xiàn)為圖1中的證書(shū)機(jī)構(gòu)服務(wù)器104。敵手212可以實(shí)現(xiàn)為終端、服務(wù)器或者任意其他合適的計(jì)算設(shè)備或系統(tǒng)。
[0043]終端202、206可以基于隱式證書(shū)方案交換消息。例如,隱式證書(shū)方案可被用于數(shù)據(jù)認(rèn)證、數(shù)據(jù)加密或者這些和其他功能的組合。在一些實(shí)例中,終端202向終端206發(fā)送消息,以及終端202可以基于證書(shū)機(jī)構(gòu)服務(wù)器204a、204b、204x之一頒發(fā)的隱式證書(shū)對(duì)消息加密、對(duì)消息簽名、或者執(zhí)行這兩者。敵手212可以觀察網(wǎng)絡(luò)208上的通信,并且發(fā)起攻擊,從而嘗試損害隱式證書(shū)方案的安全。證書(shū)機(jī)構(gòu)服務(wù)器204a、204b、204x和終端202、206實(shí)現(xiàn)的隱式證書(shū)方案包括能夠挫敗敵手212的某些類(lèi)型的攻擊的對(duì)策。
[0044]在一些實(shí)例中,基于證書(shū)機(jī)構(gòu)服務(wù)器204a、204b、204x生成的隱式證書(shū)鏈來(lái)頒發(fā)與終端202關(guān)聯(lián)的隱式證書(shū)。例如,證書(shū)機(jī)構(gòu)服務(wù)器204a、204b、204x可以包括根證書(shū)機(jī)構(gòu)和多個(gè)從屬證書(shū)機(jī)構(gòu)。隱式證書(shū)鏈可以包括針對(duì)根證書(shū)機(jī)構(gòu)的隱式證書(shū)和針對(duì)每個(gè)從屬證書(shū)機(jī)構(gòu)的隱式證書(shū)。
[0045]在一些示例實(shí)現(xiàn)中,通信系統(tǒng)200中實(shí)現(xiàn)的隱式證書(shū)方案使用基于ECQV隱式證書(shū)鏈導(dǎo)出的公鑰。一般而言,根證書(shū)機(jī)構(gòu)或者任意從屬證書(shū)機(jī)構(gòu)可以頒發(fā)隱式證書(shū)。ECQV隱式證書(shū)鏈可以由根證書(shū)機(jī)構(gòu)和一個(gè)或更多個(gè)從屬證書(shū)機(jī)構(gòu)的組合來(lái)生成,其中每個(gè)從屬證書(shū)機(jī)構(gòu)具有來(lái)自上級(jí)證書(shū)機(jī)構(gòu)的隱式證書(shū)。鏈中的最后一個(gè)證書(shū)機(jī)構(gòu)可以向用戶實(shí)體(如,終端)頒發(fā)隱式證書(shū)。
[0046]可以使用針對(duì)如橢圓曲線群之類(lèi)的群的附加標(biāo)記(additive notation)來(lái)描述通信系統(tǒng)200實(shí)現(xiàn)的示例ECQV隱式證書(shū)方案,在所述群中離散對(duì)數(shù)問(wèn)題被認(rèn)為是困難的。群具有階數(shù)(ordeiOn。在一些實(shí)現(xiàn)中,群具有基本階數(shù)。系統(tǒng)參數(shù)包括群的生成器G,其是已知的并且可用于使用通信系統(tǒng)200的所有實(shí)體。
[0047]在一些實(shí)例中,ECQV隱式證書(shū)被頒發(fā)給終端202所代表的用戶實(shí)體或者與終端202關(guān)聯(lián)的用戶實(shí)體。用戶實(shí)體的ECQV隱式證書(shū)可以由參數(shù)對(duì)(P,I)表示,或者基于參數(shù)對(duì)(P,I)。值P是針對(duì)用戶實(shí)體的公鑰重構(gòu)數(shù)據(jù),以及值I是用戶實(shí)體的標(biāo)識(shí)信息。可以根據(jù)隱式證書(shū)來(lái)重構(gòu)用戶實(shí)體的公鑰B。用戶實(shí)體與證書(shū)機(jī)構(gòu)交互,以獲取ECQV隱式證書(shū)(P,I)和私鑰b,使得B=bG。在一些實(shí)現(xiàn)中,用戶實(shí)體的ECQV隱式證書(shū)(P,I)基于證書(shū)機(jī)構(gòu)形成的ECQV隱式證書(shū)鏈。
[0048]在一些實(shí)例中,每個(gè)從屬證書(shū)機(jī)構(gòu)的重構(gòu)的公鑰充當(dāng)用于驗(yàn)證該從屬證書(shū)機(jī)構(gòu)頒發(fā)的證書(shū)的公鑰。例如,根證書(shū)機(jī)構(gòu)可以具有私鑰C,該私鑰c可以是整數(shù),并且公鑰C=cG。鏈中的每個(gè)隱式證書(shū)由參數(shù)對(duì)(Pj,Ij)表示,其中j從I到m+1,其中m+1是鏈的長(zhǎng)度。對(duì)應(yīng)的公鑰表示為C」。除了 B=Cm+1,每個(gè)公鑰Cj是從屬證書(shū)機(jī)構(gòu)的公鑰。第I個(gè)公鑰可以基于函數(shù)F,根據(jù)下述公式來(lái)生成:
[0049]C1=UF(C, C1, , Ch, P1, , P1, I1, , I1, *!,..., ^1)P1.(Ia)
[0050]這m+1個(gè)等式可以被組合成如下單個(gè)等式:
[0051]B=Cm+1=C+F(C, P1, I1, =^P1+…+F(C, C1, , Cm, P1, , Pm+1, I1, , Im+1, ,...,
*m+1) Pm+1
[0052](lb)
[0053]此處,已經(jīng)包括\ (其中i=l,...,m+1),以贏取在如(P」,Ij, *」)之類(lèi)的隱式證書(shū)結(jié)構(gòu)中包括附加信息的可能性。
[0054]在一些實(shí)例中,等式Ia和Ib中的函數(shù)F的輸出是基于對(duì)散列函數(shù)或另一類(lèi)型的函數(shù)求值而生成的。例如,函數(shù)F可以是散列函數(shù),函數(shù)F可以包括一個(gè)或更多個(gè)散列函數(shù),函數(shù)F可以調(diào)用一個(gè)或更多個(gè)散列函數(shù),或者函數(shù)F可以以其他方式利用散列函數(shù)或其他類(lèi)型的函數(shù)。在一些實(shí)例中,散列函數(shù)是將任意輸入映射到在O與η之間的整數(shù)的隨機(jī)函數(shù),或者接近該隨機(jī)函數(shù)。在一些實(shí)例中,散列函數(shù)是將任意輸入映射到在O與之間的整數(shù)的隨機(jī)函數(shù),或者接近該隨機(jī)函數(shù)。散列函數(shù)的示例包括:SHA散列函數(shù)族(SHA-1,SHA-256,等等),通過(guò)截?cái)嗨鼈兊妮斎雱?chuàng)建的這些函數(shù)的變形,以及其他散列函數(shù)。另一示例散列函數(shù)是MMO散列函數(shù),其是利用塊密碼創(chuàng)建的,通常是利用AES塊密碼創(chuàng)建的(所得函數(shù)稱(chēng)為AES-MM0)。其他基于塊密碼的散列函數(shù)也是合適的。由具有固定密鑰(其在域參數(shù)中公布)的HMAC構(gòu)造來(lái)創(chuàng)建的函數(shù)是另一示例函數(shù)。在一些實(shí)現(xiàn)中,可以使用例示為具有固定密鑰的其他MAC函數(shù),如CBC-MAC。
[0055]等式Ia和Ib是在圖2中實(shí)現(xiàn)的示例隱式證書(shū)方案中使用的公鑰生成公式的通用表示。在各種實(shí)現(xiàn)中,函數(shù)F可以采取各種形式。下面描述若干特定的示例??梢赃x擇函數(shù)F,使得挫敗敵手的攻擊。換言之,在一些實(shí)例中,函數(shù)F可以降低敵手攻擊成功的可能性。例如,在一些實(shí)例中,可以選擇函數(shù)F,使得提供與某些傳統(tǒng)方案相比提高的安全性。
[0056]根據(jù)一些傳統(tǒng)方案,可以如下重構(gòu)每個(gè)公鑰:
[0057]CJ=CJ_1+H(PJ, Ij) Pj, (2)
[0058]其中,H是散列函數(shù),。根據(jù)傳統(tǒng)方案,這m+1個(gè)等式可被組合成如下單個(gè)等式:
[0059]B=Cm+1=C+H(P1; I1) P1+...+H(Pm+1, Im+1)Pm+1 (3)
[0060]在一些實(shí)例中,該傳統(tǒng)方案允許敵手偽造將會(huì)被未覺(jué)察的信賴(lài)方接受的隱式證書(shū)。如此,敵手有可能模仿實(shí)體(如從屬于另一證書(shū)機(jī)構(gòu)的證書(shū)機(jī)構(gòu)實(shí)體)的合法動(dòng)作,從而向上級(jí)證書(shū)機(jī)構(gòu)請(qǐng)求隱式證書(shū),該隱式證書(shū)將使得該從屬證書(shū)機(jī)構(gòu)繼而能夠生成對(duì)于從屬于它的證書(shū)機(jī)構(gòu)而言可接受的證書(shū),或者能夠生成對(duì)于將使用與已認(rèn)證公鑰對(duì)應(yīng)的私鑰來(lái)例如對(duì)消息進(jìn)行數(shù)字簽名(可使用已認(rèn)證公鑰驗(yàn)證該消息)的任何實(shí)體而言可接受的證書(shū),或者能夠?qū)κ褂靡颜J(rèn)證公鑰加密的加密消息進(jìn)行解密。在一些實(shí)例中,敵手的惡意模仿僅需要關(guān)于公共可用信息的被動(dòng)知識(shí),例如敵手冒充要求其產(chǎn)生模仿的隱式證書(shū)的證書(shū)機(jī)構(gòu)的隱式證書(shū)系統(tǒng)參數(shù)和公鑰或隱式證書(shū)。在一些實(shí)例中,上述等式Ia和Ib中表示的方案可被實(shí)現(xiàn)為對(duì)抗這種攻擊的成功對(duì)策。
[0061]在對(duì)上述等式2和3表示的傳統(tǒng)方案的一些示例攻擊中,敵手能夠使用關(guān)于根證書(shū)機(jī)構(gòu)的公鑰的知識(shí)或者關(guān)于從屬于根證書(shū)機(jī)構(gòu)的證書(shū)機(jī)構(gòu)的公鑰的知識(shí)來(lái)向證書(shū)鏈添加四個(gè)附加鏈接,導(dǎo)致敵手知道與添加的第四鏈接的公鑰對(duì)應(yīng)的私鑰。在對(duì)傳統(tǒng)方案的另一示例攻擊中,敵手添加三個(gè)鏈接并且對(duì)選定的任意單個(gè)消息進(jìn)行數(shù)字簽名,并且該數(shù)字簽名使用與第三添加鏈接關(guān)聯(lián)的公鑰正確驗(yàn)證。在一些實(shí)例中,上述等式Ia和Ib中表示的方案可被實(shí)現(xiàn)為對(duì)抗這種攻擊的成功對(duì)策。
[0062]在一些示例實(shí)現(xiàn)中,上述等式Ia和Ib中表示的方案可被用于戰(zhàn)勝鏈?zhǔn)焦簦仁?和3中表示的方案可能易受鏈?zhǔn)焦舻膫?。在鏈?zhǔn)焦糁?,敵手有?quán)訪問(wèn)橢圓曲線域參數(shù),包括G (或者更一般地,離散對(duì)數(shù)群的描述和生成器)、根證書(shū)機(jī)構(gòu)的公鑰C、以及m+1個(gè)標(biāo)識(shí)字符串I1,...,Im+1。成功的鏈?zhǔn)焦舻妮敵鍪莔+1個(gè)公鑰重構(gòu)數(shù)據(jù)值P1,...,Pm+1和與重構(gòu)的公鑰B=Cm+1對(duì)應(yīng)的私鑰b,即bG=B。
[0063]為了實(shí)現(xiàn)針對(duì)示例的長(zhǎng)度為4的鏈的鏈?zhǔn)焦簦瑪呈衷L問(wèn)輸入,包括根證書(shū)機(jī)構(gòu)的公鑰C和四個(gè)標(biāo)識(shí)符I1, I2, I3, I4O該鏈?zhǔn)焦艨梢宰龀鲫P(guān)于上述等式2和3中的散列函數(shù)H的假設(shè),以簡(jiǎn)化對(duì)何時(shí)攻擊會(huì)成功的分析,但是這些假設(shè)不是實(shí)現(xiàn)攻擊所必需的。例如,鏈?zhǔn)焦艨梢约僭O(shè)上述等式2和3中的散列函數(shù)H生成在間隔I到η之間均勻分布的值。該鏈?zhǔn)焦粲锌赡芸梢约僭O(shè)上述等式2和3中的散列函數(shù)H生成不那樣分布的值,如在O與之間的值,或者以某種方式偏差的值。
[0064]鏈?zhǔn)焦舻某晒?shí)現(xiàn)可以生成輸出,包括四個(gè)公鑰重構(gòu)值P1, P2,P3,P4以及使得下式成立的私鑰b:
[0065]bG=C+H(P1; I1) P1+H(P2, I2)P2+H(P3, I3)P3+H(P4,I4) P4.(4)
[0066]為了實(shí)現(xiàn)針對(duì)示例的長(zhǎng)度為4的鏈的鏈?zhǔn)焦簦瑪呈只谳斎雸?zhí)行下述動(dòng)作。令j的范圍為從I到2。計(jì)算Hj,k=H(Pj,k,I」),其中P」,k=C+kG,并且k的范圍為從I到n1/3。將值H^t組裝到列表h中??偟挠?jì)算(針對(duì)j=l和j=2)可能花費(fèi)2η1 /3次標(biāo)量乘法和散列求值的時(shí)間。
[0067]示例的鏈?zhǔn)焦艨梢匀缦吕^續(xù)進(jìn)行。生成值(r, s, 1+1+?,smod n, (H1Jr+(H2,s)s mod n)的列表L1>2,使得1+H^+H^mod n<n2 7 30該列表(其現(xiàn)在可以替代列表L1和列表L2)將具有約η1 13的長(zhǎng)度,因?yàn)槊總€(gè)列表Lj具有尺寸η11 \以及概率H1^H2,smod n〈n213約是rT1/3。不是全部的成對(duì)比較都進(jìn)行。相反,可以使用散列表(高存儲(chǔ))或排序列表(低存儲(chǔ))。注意(非負(fù))I+H1^H2, s最大可以是2n_l。因此,l+H^r+H^smod η或者是I+UH2^,或者是Ι+?^+Ι^-η。對(duì)于Hi1Xn2 / 3-1,滿足O < H2,s〈n2 13-l-H1;r的值是合適的。而且,滿? η-1-H1;r ( H2’s〈min(n, n+n2 'r)的 Hur 值是合適的。
[0068]示例鏈?zhǔn)焦艨梢匀缦吕^續(xù)進(jìn)行。令j的范圍為從3到4。計(jì)算Ημ=Η(Ρμ,Ij),其中Pu=C+kG,并且k的范圍為從I到η1 1 \將值組裝到列表h中??偟挠?jì)算(針對(duì)j=3和j=4)可能花費(fèi)2η1 1 3次標(biāo)量乘法和散列求值的時(shí)間。產(chǎn)生值(t,u,-(H3;t+H4;u)modn, (H3,t)t+(H4,u)u mod n)的列表 L3,4,使得-(H3,t+H4,u)mod n<n2 7 30 該列表現(xiàn)在替代列表 L3和列表L4。
[0069]示例鏈?zhǔn)焦艨梢匀缦吕^續(xù)進(jìn)行。現(xiàn)在找到列表Lu和L3,4.中的沖突(r% s*, t*,u*)。因?yàn)閗2和L3,4中的第三坐標(biāo)值范圍均是從O到η2 7 3,并且每個(gè)列表具有η1 / 3個(gè)表項(xiàng),所以在一些情形下應(yīng)該存在沖突。在一些實(shí)現(xiàn)中,找到?jīng)_突的代價(jià)可被保持在約η1 1 \找到?jīng)_突則識(shí)別出了使得下式成立的值s*, t*, u*):[0070](l+H1;r*+H2;s>1<mod η) + ((H3,t*+H4,u*)mod n) =Omod η。
[0071 ] 可以通過(guò)設(shè)置下式來(lái)完成示例鏈?zhǔn)焦?
[0072]b= ((H1; r*) r*+ (H2; s*) s*mod η) + ((H3, t*) t*+(H4,u*) u*mod n)mod n
[0073]在一些實(shí)現(xiàn)中,上面描述的示例鏈?zhǔn)焦衾昧藦V義生日攻擊方法。例如,DavidWagner 在 Advances in Cryptology—CRYPT02002 上發(fā)表的題目為 “A GeneralizedBirthday Problem”的論文提供對(duì)廣義生日方法的描述。一些傳統(tǒng)攻擊需要nl / 2量級(jí)的時(shí)間(其相當(dāng)?shù)酶?,證實(shí)了攻擊的有效性。例如,在選擇η具有比特長(zhǎng)度256(實(shí)踐中的常見(jiàn)選擇)的情況下比較η1 /2和η1 /3,示出了從128比特級(jí)別(如果最佳攻擊具有代價(jià)η1 12)下降到85比特級(jí)別(當(dāng)最佳攻擊具有代價(jià)η1 1 3)的安全性降低。
[0074]在一些實(shí)例中,鏈?zhǔn)焦艨杀粩U(kuò)展(如下文所示)到后面跟著使用Schnorr算法(其是PVS算法的基礎(chǔ))的消息簽名的長(zhǎng)度為3的鏈,其中由(e=!T(U,M),V)構(gòu)成的消息M上的簽名如下:
[0075]C1=C+H(P1, I1) P1 [0076]C2=C^H (P2, I2) P2
[0077]B=C3=C2+H (P3, I3) P3U=vG-H* (U, Μ) B
[0078]=vG-H* (U, M) (C+H (P1, I1) P^H (P2, I2) P2+H (P3, I3) P3)。
[0079]為了實(shí)現(xiàn)該示例場(chǎng)景下的鏈?zhǔn)焦?,選擇消息M的期望值。令P」=C+PjG,其中j=l, 2,3,以及U=fC+tG。對(duì)下式求值:
[0080]fC=-H*(U, Μ) (1+Η(Ρ!, I1)P^H(P2, I2)P2+H(P3, I3)P3) C。
[0081 ] 或者等價(jià)于對(duì)下式求值:
[0082]-fH*(U, M) _1=1+H(P1, I1) P^H (P2, I2) P2+H(P3, I3) Ρ3。
[0083]示例鏈?zhǔn)焦艨梢匀缦吕^續(xù)進(jìn)行。令f=l,并且如上文針對(duì)長(zhǎng)度為4的鏈所概述地那樣繼續(xù),但是使用H*(U,Mr1Hiod η作為散列函數(shù)值來(lái)替代左側(cè)的H,并且對(duì)下式求值:
[0084]0=1+H*(U, M) +H (P1, I1) P^H (P2, I2) P2+H(P3, I3) P3 (mod η)
[0085]然后相應(yīng)地設(shè)置V。例如,可以根據(jù)下式來(lái)設(shè)置V:
[0086]t=ν-Η*(U, M) (H(P1, I1) P1+!!(P2, I2) p2+H(P3, I3) P3) (mod η)。
[0087]因此,這些示例鏈?zhǔn)焦粲锌赡軗p害隱式證書(shū)方案(諸如上述等式2和3表示的方案)的可靠性。然而,可以通過(guò)對(duì)策來(lái)避免或者降低這種鏈?zhǔn)焦舻某晒?。例如,在一些?shí)現(xiàn)中,下述技術(shù)中的一些或全部可被用于戰(zhàn)勝上文描述的示例鏈?zhǔn)焦簟?br> [0088]下面的示例公鑰生成算法中的每一個(gè)可被用作針對(duì)上述鏈?zhǔn)焦粢约捌渌?lèi)型的攻擊的對(duì)策。下述示例算法是根據(jù)上面描述的ECQV隱式證書(shū)鏈來(lái)表達(dá)的。這些示例也可被修改以適應(yīng)其他隱式證書(shū)方案。而且,所述示例是針對(duì)存在多個(gè)證書(shū)機(jī)構(gòu)(根證書(shū)機(jī)構(gòu)和一個(gè)或更多個(gè)從屬證書(shū)機(jī)構(gòu))的情況,一般性地表達(dá)的。這些示例可以在存在單個(gè)證書(shū)機(jī)構(gòu)(如,僅根證書(shū)機(jī)構(gòu))的情況下有效地實(shí)現(xiàn)。另外,盡管這些技術(shù)被描述為對(duì)策,但是這些技術(shù)即使在不存在敵手或攻擊威脅時(shí)也可能是有用的或者提供優(yōu)點(diǎn)。如此,這些技術(shù)可在任何上下文中例如用作針對(duì)攻擊的對(duì)策或者用于其他目的。
[0089]作為第一示例對(duì)策方案,可以使用下述公式來(lái)生成公鑰,在一些示例方案中該公鑰利用ECQV隱式證書(shū)鏈。下述公式可被用作針對(duì)鏈?zhǔn)焦舻膶?duì)策、用作針對(duì)其他類(lèi)型的攻擊的對(duì)策、或者用于其他目的。[0090]C1=C+H(P1, I1, ^P1
[0091]C2=C^H (P1, I1, P2, I2, *2)P2
[0092]C3=C2+H(P1, I1, P2, I2, *2,P3, I3, *3)P3
[0093].[0094].[0095].[0096]B=Clrt
[0097]_Cm+H (P1, I1,...,Pm+1,Im+1,*m+i)Pm+i
[0098]作為第二示例對(duì)策方案,在一些示例方案中可以使用下述公式來(lái)生成公鑰,該公鑰利用ECQV隱式證書(shū)鏈。下述公式可被用作針對(duì)鏈?zhǔn)焦舻膶?duì)策、用作針對(duì)其他類(lèi)型的攻擊的對(duì)策、或者用于其他目的。
[0099]C1=C+H(P1, I1, ^1) P1^H1P1
[0100]其中H1=HT1, I1J1)
[0101]C2=C^H (H (P1, I1, ^1),P2, I2, *2)P2
[0102]=CfH2P2
[0103]C3=C2+H(H(H(P1, I1, ,P2, I2, *2),P3, I3, *3)P3
[0104]=C2+H3P3
[0105].[0106].[0107].[0108]B=Clrt
[0109]-Cm+H(Hm,Pm+1,Im+1,*m+i) Pm+「Cm+Hm+1Pm+i
[0110]作為第三示例對(duì)策方案,在一些示例方案中可以使用下述公式來(lái)生成公鑰,該公鑰利用ECQV隱式證書(shū)鏈。下述公式可被用作針對(duì)鏈?zhǔn)焦舻膶?duì)策、用作針對(duì)其他類(lèi)型的攻擊的對(duì)策、或者用于其他目的。
[0111]C1=C+!^, P1, IpWP1
[0112]C2=C^H (C1, P2, I2, *2)P2
[0113].[0114].[0115].[0116]B=Cm+1
[0117]-Cm+H(Cm, Pm+1,Im+1,*m+i)Pm+i
[0118]作為第四示例對(duì)策方案,在一些示例方案中可以使用下述公式來(lái)生成公鑰,該公鑰利用ECQV隱式證書(shū)鏈。下述公式可被用作針對(duì)鏈?zhǔn)焦舻膶?duì)策、用作針對(duì)其他類(lèi)型的攻擊的對(duì)策、或者用于其他目的。
[0119]C1=C+H(P1, I1, ^P1
[0120]C2=C^H(C1-C, P2, I2, *2) P2
[0121].[0122].[0123].[0124]B=Cm+i
[0125]-Cm+H ((^-(^氣,Pm+1,Im+1,*m+i)Pm+i
[0126]作為第五示例對(duì)策方案,在一些示例方案中可以使用下述公式來(lái)生成公鑰,該公鑰利用ECQV隱式證書(shū)鏈。下述公式可被用作針對(duì)鏈?zhǔn)焦舻膶?duì)策、用作針對(duì)其他類(lèi)型的攻擊的對(duì)策、或者用于其他目的。如果根據(jù)Merkle-Damgard構(gòu)造來(lái)構(gòu)造散列函數(shù),則其具有使得其變得非隨機(jī)的某種特定(稱(chēng)為長(zhǎng)度擴(kuò)展特性)。如果散列函數(shù)具有Merkle-Damgard(MD)特性,則可以使用下述技術(shù)。下述技術(shù)在其他上下文和情況下也可以是有用的。令故表示用IVi來(lái)替代標(biāo)準(zhǔn)MD特性散列函數(shù)的IV(初始化矢量)。初始化矢量(IV)是對(duì)加密基元(cryptographic primitive)(有時(shí)需要是隨機(jī)的或偽隨機(jī)的)的固定尺寸的輸入。當(dāng)在散列函數(shù)中使用時(shí),IV通常被規(guī)定為函數(shù)的一部分,并且不會(huì)改變。相應(yīng)地,
[0127]IV1=H (P1, I11^1)
[0128]IV2=H1 (P2, I2, *2)
[0129]IV3=H2 (P3,13,*3),
[0130]等等。此外,
[0131]C1=C+H(P1, I1, ^1) P1
[0132]C2=C^H1 (P2, I2, *2)P2
[0133]C3=C2+H2 (P3, I3, *3)P3
[0134].[0135].[0136].[0137]B=Cm+1
[0138]=Cm+Hm(Pm+1,Im+1,*m+1)Pm+i
[0139]在一些實(shí)例中,證書(shū)機(jī)構(gòu)(包括根證書(shū)機(jī)構(gòu)或者從屬證書(shū)機(jī)構(gòu))能夠編碼隱式證書(shū)內(nèi)的任何額外需要的信息,但是如果一方不隱含信任該證書(shū)機(jī)構(gòu),則其可以向上前進(jìn)直到到達(dá)可信的證書(shū)機(jī)構(gòu)或者信賴(lài)方。該信任模型可以是“傳遞性的”,因?yàn)橐环娇梢孕湃芜@樣的實(shí)體,該實(shí)體據(jù)推測(cè)檢查了鏈的上級(jí)部分,并且該實(shí)體繼而可能不是已經(jīng)獨(dú)立檢查到高達(dá)直接可信的(根或者中間)證書(shū)機(jī)構(gòu),而是已經(jīng)檢查到可信的某個(gè)其他實(shí)體,該某個(gè)其他實(shí)體已經(jīng)檢查(或者信任)鏈的更前的部分。作為這種額外信息的示例,證書(shū)機(jī)構(gòu)可以對(duì)與鏈中上級(jí)的隱式證書(shū)對(duì)應(yīng)的信息進(jìn)行編碼。如果某個(gè)證書(shū)機(jī)構(gòu)被某個(gè)信賴(lài)方信任,則這種額外信息可以節(jié)省帶寬和通信。作為示例,在上述第二示例對(duì)策方案中,其包括下述公式:
[0140]C1=C+H(P1, I1, ^1) P1^H1P1
[0141]C2=C^H(H(P1, I1, ,P2, I2, *2)P2
[0142]=C^H(H1, P2, I2, *2)P2=CJH2P2 [0143]C3=C2+H(H(H(P1, I1, ,P2, I2, *2),P3, I3, *3)P3
[0144]=C2+H (H2, P3, I3, *3) P3=C2+H3P3
[0145].[0146].[0147].[0148]B=Cm+1
[0149]-Cm+H(Hm,Pm+1,Im+1,*m+i) Pm+「Cm+Hm+1Pm+i
[0150]一些子證書(shū)機(jī)構(gòu)Cj(其中j=l,...,m)可以在內(nèi)編碼Hj+如果信賴(lài)方不直接信任子證書(shū)機(jī)構(gòu)Cj,則該信賴(lài)方可以查找對(duì)Hp1的獨(dú)立確認(rèn),如通過(guò)與較前的證書(shū)機(jī)構(gòu)通信,以其他方式獲取教前的隱式證書(shū)和/或散列函數(shù)輸出值。
[0151]前面概述的五個(gè)示例對(duì)策以及其他示例對(duì)策中的任何一個(gè)可被修改或適配。更一般地,可以基于函數(shù)F,根據(jù)下述等式來(lái)生成ECQV隱式證書(shū)方案的第I個(gè)公鑰:
[0152]C1=C1^1+? (C, C1, , Ch,P1, , P1, I1, , I1, *”...,^1) P1.(Ia)
[0153]其中F是輸出整數(shù)的某個(gè)函數(shù)。例如,函數(shù)F可以是散列函數(shù)、包括散列函數(shù)、調(diào)用散列函數(shù)、或者以其他方式使用散列函數(shù)。類(lèi)似地,可以基于函數(shù)F,根據(jù)下述等式來(lái)生成OMC隱式證書(shū)方案的第I個(gè)公鑰:
[0154]C1=P 丄+F (C,C1,...,C1_1 j P1 j...? P1? I1,...,I1,*!,...,*i) C1_1。
[0155]圖3是示例密碼系統(tǒng)300的示意圖,該密碼系統(tǒng)300實(shí)現(xiàn)基于隱式證書(shū)的數(shù)字簽名方案。該密碼系統(tǒng)300包括:終端模塊302、306 ;證書(shū)機(jī)構(gòu)模塊304 ;以及可能的附加特征。例如,密碼系統(tǒng)300可以包括一個(gè)或更多個(gè)附加的證書(shū)機(jī)構(gòu)模塊310。密碼系統(tǒng)300可以包括附加的或不同的組件。終端模塊302、306均可以是由一個(gè)或更多個(gè)終端實(shí)現(xiàn)的計(jì)算機(jī)程序t旲塊。例如,終端t旲塊302可以由圖1中的終端102或者圖2中的終端202來(lái)實(shí)現(xiàn);以及終端t旲塊306可以由圖1中的終端106或者圖2中的終端206來(lái)實(shí)現(xiàn)。
[0156]證書(shū)機(jī)構(gòu)模塊304可以是由一個(gè)或更多個(gè)證書(shū)機(jī)構(gòu)服務(wù)器實(shí)現(xiàn)的計(jì)算機(jī)程序模塊。例如,證書(shū)機(jī)構(gòu)模塊304可以由圖1的證書(shū)機(jī)構(gòu)服務(wù)器104或者圖2的證書(shū)機(jī)構(gòu)服務(wù)器204a、204b、204x中的任一個(gè)來(lái)實(shí)現(xiàn)。在一些實(shí)例中,證書(shū)機(jī)構(gòu)模塊304可操作用于執(zhí)行從屬證書(shū)機(jī)構(gòu)的操作,以及附加的證`書(shū)機(jī)構(gòu)模塊310可操作用于執(zhí)行根證書(shū)機(jī)構(gòu)和可能的一個(gè)或更多個(gè)中間證書(shū)機(jī)構(gòu)的操作。在一些實(shí)例中,證書(shū)機(jī)構(gòu)模塊304可操作用于執(zhí)行根證書(shū)機(jī)構(gòu)或者中間證書(shū)機(jī)構(gòu)的操作。
[0157]終端模塊302、306和證書(shū)機(jī)構(gòu)模塊304可以由附加的或不同類(lèi)型的硬件系統(tǒng)來(lái)實(shí)現(xiàn)。例如,證書(shū)機(jī)構(gòu)模塊304 (或者在一些實(shí)例中證書(shū)機(jī)構(gòu)模塊304的各個(gè)模塊、數(shù)據(jù)或者其他方面)可被卸載到非證書(shū)機(jī)構(gòu)設(shè)備。在一些實(shí)例中,例如在對(duì)等計(jì)算環(huán)境中,服務(wù)器功能可以分布在客戶端設(shè)備上。作為另一示例,終端模塊(或者在一些實(shí)例中,終端模塊的各個(gè)模塊、數(shù)據(jù)或其他方面)可配備在服務(wù)器設(shè)備上,如證書(shū)機(jī)構(gòu)服務(wù)器或者其他類(lèi)型的服務(wù)器。
[0158]終端模塊302、306和證書(shū)機(jī)構(gòu)模塊304可以例如通過(guò)數(shù)據(jù)網(wǎng)絡(luò)或者其他類(lèi)型的通信鏈路相互通信。在一些實(shí)現(xiàn)中,終端模塊302、306和證書(shū)機(jī)構(gòu)模塊304可以通過(guò)在圖1的數(shù)據(jù)網(wǎng)絡(luò)108或圖2的數(shù)據(jù)網(wǎng)絡(luò)208上發(fā)送的消息而相互通信。在圖3示出的示例中,終端模塊302可以向證書(shū)機(jī)構(gòu)模塊304發(fā)送證書(shū)請(qǐng)求320。證書(shū)機(jī)構(gòu)模塊304可以從終端模塊302接受該證書(shū)請(qǐng)求320,以及響應(yīng)于該證書(shū)請(qǐng)求320向終端模塊302發(fā)送隱式證書(shū)322。證書(shū)機(jī)構(gòu)模塊304還可以向終端模塊302發(fā)送私鑰分發(fā)數(shù)據(jù)??梢詫⒃撍借€分發(fā)數(shù)據(jù)與隱式證書(shū)322 —起或者分開(kāi)地發(fā)送給終端模塊302。證書(shū)機(jī)構(gòu)模塊304還可以例如向證書(shū)數(shù)據(jù)庫(kù)發(fā)布隱式證書(shū)322。終端模塊302可以從證書(shū)機(jī)構(gòu)模塊304接收隱式證書(shū)322,以及向終端模塊306發(fā)送簽名消息324。終端模塊306可以從終端模塊302接收簽名消息324和隱式證書(shū)322。在一些實(shí)例中,終端模塊306可以從其他源取回隱式證書(shū)322。密碼系統(tǒng)300可以支持附加的或不同類(lèi)型的通信。
[0159]密碼系統(tǒng)300使用允許終端模塊驗(yàn)證從其他終端模塊接收的消息的真實(shí)性的隱式證書(shū)方案。根據(jù)該隱式證書(shū)方案,證書(shū)機(jī)構(gòu)頒發(fā)的隱式證書(shū)將每個(gè)用戶實(shí)體的標(biāo)識(shí)與特定的公鑰值捆綁在一起。用戶實(shí)體可以基于用戶實(shí)體的私鑰來(lái)生成數(shù)字簽名,并且其他用戶能夠基于用戶實(shí)體的公鑰驗(yàn)證該數(shù)字簽名。隱式證書(shū)方案可以基于任何合適類(lèi)型的群來(lái)實(shí)現(xiàn)。例如,ECQV隱式證書(shū)方案以及其他隱式證書(shū)方案可以使用橢圓曲線上的點(diǎn)的群、有限域中的乘法群、或者離散對(duì)數(shù)問(wèn)題在其中可能是困難的其他群來(lái)實(shí)現(xiàn)?;跈E圓曲線的數(shù)字簽名方案的示例包括ECDSA (橢圓曲線數(shù)字簽名算法),ECPV簽名以及ECNR(橢圓曲線Nyberg Rueppel)。可以使用附加的或不同的類(lèi)型的隱式證書(shū)方案,如OMC方案。
[0160]當(dāng)終端模塊302對(duì)消息Mtl簽名時(shí),針對(duì)消息Mtl的簽名可以基于M來(lái)生成,該M是消息的Mtl的修改版本??梢酝ㄟ^(guò)將消息Mtl與附加信息組合來(lái)形成修改后的消息M。例如,可以通過(guò)將消息M0與后綴、前綴或者其與其他附加物的組合進(jìn)行級(jí)聯(lián)來(lái)形成消息M。與消息M0組合的信息可以包括用于驗(yàn)證消息的公鑰、用于驗(yàn)證消息的公鑰的一些部分、用于驗(yàn)證消息的公鑰的函數(shù)、或者其他信息。在一些實(shí)現(xiàn)中,與消息M0組合的信息包括簽名者的隱式證書(shū)或者簽名者的隱式證書(shū)的一些部分或函數(shù)。在一些實(shí)現(xiàn)中,與Mtl組合的信息包括證書(shū)機(jī)構(gòu)的公鑰、證書(shū)機(jī)構(gòu)的公鑰重構(gòu)值、或者與證書(shū)機(jī)構(gòu)關(guān)聯(lián)的其他信息。
[0161]相應(yīng)地,為了對(duì)消息M0進(jìn)行簽名,終端模塊302根據(jù)消息M0生成修改后的消息M。例如,可以根據(jù)下式生成修改后的消息M:
[0162]M=F1 (M0, F2 (P, I, [C], *)),
[0163]其中F1和F2是某些函數(shù)。函數(shù)F2可以是散列函數(shù)或者其他類(lèi)型的函數(shù)。例如,函數(shù)F2可以基于值P,I,[C],*中的一個(gè)或更多個(gè)來(lái)生成整數(shù)值。作為示例,函數(shù)F2可以基于值P,I生成整數(shù)值。在一些示例中,函數(shù)F2可以使用一個(gè)或更多個(gè)SHA散列函數(shù)族。作為另一示例,函數(shù)F2可以將一列輸入進(jìn)行級(jí)聯(lián)(例如,通過(guò)攪亂順序、對(duì)輸入應(yīng)用可逆變換、或者以其他方式混合輸入),并且輸出單個(gè)值。函數(shù)F1可以是附加函數(shù)或者組合輸入值的其他類(lèi)型的函數(shù)。例如,函數(shù)F1可以將函數(shù)F2的輸出作為前綴、后綴或者其與一個(gè)或更多個(gè)其他類(lèi)型的附加物的組合附加到消息作為另一示例,作為補(bǔ)充或備選,函數(shù)F1可以應(yīng)用可逆變換,如字符編碼或者數(shù)據(jù)壓縮。修改后的消息M可被用在簽名函數(shù)中。簽名函數(shù)可以基于修改后的消息Μ、簽名者的私鑰和隱式證書(shū)生成數(shù)字簽名。
[0164]接收者可以接收簽名消息,并且使用簽名者的公鑰來(lái)根據(jù)數(shù)字簽名恢復(fù)修改后的消息Μ。在一些實(shí)例中,簽名消息包括原始消息M0和基于M的數(shù)字簽名。在這種實(shí)例中,接收者可以基于消息M0和發(fā)送者用于生成修改后的消息M的公鑰信息來(lái)生成修改后的消息M0在一些實(shí)例中,簽名消息包括修改后的消息M和基于修改后的M的數(shù)字簽名。在這種實(shí)例中,接收者可以基于修改后的消息M和發(fā)送者用于生成修改后的消息M的公鑰信息來(lái)生成原始消息Mtl。
[0165]在圖3示出的示例中,隱式地認(rèn)證用于驗(yàn)證簽名者的數(shù)字簽名的公鑰。在一些實(shí)例中,可以將基于已經(jīng)根據(jù)公鑰(或者與公鑰有關(guān)的信息)修改的修改后的消息M生成數(shù)字簽名,而不是基于原始消息Mtl來(lái)生成數(shù)字簽名當(dāng)做對(duì)策,以降低偽造攻擊的成功可能性。例如,在一些實(shí)例中,該對(duì)策可以降低某些類(lèi)型的鏈?zhǔn)焦艋蛘呱婕吧諉?wèn)題的其他類(lèi)型的攻擊的可能性。在一些實(shí)例中,該對(duì)策可被用作針對(duì)不涉及生日問(wèn)題的攻擊的對(duì)策。例如,該技術(shù)可以防止對(duì)E⑶SA與ECQV的組合以及E⑶SA與OMC的組合的一些類(lèi)型的攻擊。
[0166]終端模塊302包括修改模塊344、簽名生成模塊342、請(qǐng)求生成模塊340、以及可能的其他模塊。請(qǐng)求生成模塊340可以生成證書(shū)請(qǐng)求320。證書(shū)請(qǐng)求320可以包括特定用戶實(shí)體的標(biāo)識(shí)I。證書(shū)請(qǐng)求320可以包括橢圓曲線點(diǎn)Ru。證書(shū)請(qǐng)求320可以包括附加的或不同的信息。標(biāo)識(shí)值I可以是特定用戶實(shí)體、特定設(shè)備、或者這二者的唯一標(biāo)識(shí)符。請(qǐng)求生成模塊340可以通過(guò)選擇隨機(jī)數(shù)1%以及計(jì)算Ru=IiuG來(lái)生成橢圓曲線點(diǎn)Ru。例如,終端模塊302可以具有生成隨機(jī)數(shù)的隨機(jī)數(shù)生成器模塊。
[0167]修改模塊344可以使用來(lái)自隱式證書(shū)322和消息318的數(shù)據(jù)或者與隱式證書(shū)322和消息318有關(guān)的數(shù)據(jù),以生成修改后的消息319。消息318可以包括任何類(lèi)型的電子文檔、數(shù)據(jù)文件、數(shù)據(jù)對(duì)象、或者其他格式的信息。在一些實(shí)例中,消息318是電子郵件消息、電子文檔、或者可以由合適的軟件應(yīng)用編輯和生成的電子數(shù)據(jù)文件。在一些實(shí)例中,消息318是在硬件組件之間的信令應(yīng)用中使用的數(shù)據(jù)消息或者數(shù)據(jù)消息的組合。例如,在智能能量基礎(chǔ)架構(gòu)中,消息318可以包括來(lái)自智能能量表的狀態(tài)信息。
[0168]修改模塊344可以基于消息318和附加信息生成修改后的消息319。附加信息可以包括隱式證書(shū)322或者從隱式證書(shū)322中提取的或者以其他方式導(dǎo)出的數(shù)據(jù)(例如,公鑰重構(gòu)值P、標(biāo)識(shí)值1、或者這些和其他數(shù)據(jù)的組合)。附加信息可以包括證書(shū)機(jī)構(gòu)公鑰信息。例如,附加信息可以包括證書(shū)機(jī)構(gòu)的公鑰C、任何根證書(shū)機(jī)構(gòu)的公鑰、任何從屬證書(shū)機(jī)構(gòu)的公鑰、或者它們的任意組合。附加信息可以包括證書(shū)機(jī)構(gòu)的隱式證書(shū)或者從任何證書(shū)機(jī)構(gòu)的隱式證書(shū)導(dǎo)出的信息。例如,附加信息可以包括鏈中的任何從屬證書(shū)機(jī)構(gòu)或它們的組合的隱式證書(shū)??梢杂尚薷哪K344通過(guò)組合附加信息與消息318來(lái)生成修改后的消息319。例如,附加信息可被附著到消息318、與消息318混合、或者以其他方式與消息318組合在一起。`
[0169]簽名生成模塊342可以使用隱式證書(shū)322來(lái)基于修改后的消息319生成數(shù)字簽名。用于生成數(shù)字簽名的示例技術(shù)包括ECPV簽名方案、基于密鑰的ECPV簽名方案、Schnorr簽名方案、E⑶SA等等。簽名生成模塊342可以使用終端模塊302的私鑰和隱式證書(shū)322來(lái)生成數(shù)字簽名。簽名生成模塊342可以基于私鑰分發(fā)數(shù)據(jù)r、隱式證書(shū)322和用于生成證書(shū)請(qǐng)求320的隨機(jī)值1?來(lái)生成終端模塊302的私鑰。簽名生成模塊342生成的數(shù)字簽名可被附著到消息318或修改后的消息319、與消息318或修改后的消息319混合、或者以其他方式與消息318或修改后的消息319組合在一起,以創(chuàng)建簽名消息324。數(shù)字簽名可以與消息318分開(kāi)發(fā)送。終端模塊302可以向終端模塊306發(fā)送隱式證書(shū)322。
[0170]終端模塊306包括修改模塊352、簽名驗(yàn)證模塊350、以及可能的其他模塊。簽名驗(yàn)證模塊350可以驗(yàn)證與簽名消息324關(guān)聯(lián)的數(shù)字簽名。用于基于公鑰來(lái)解碼數(shù)字簽名的示例技術(shù)包括ECPV簽名方案、基于密鑰的ECPV簽名方案、Schnorr簽名方案、E⑶SA等等。簽名消息324包括據(jù)稱(chēng)由與標(biāo)識(shí)值I關(guān)聯(lián)的用戶實(shí)體生成的數(shù)字簽名。簽名驗(yàn)證模塊350可以從終端模塊306接收隱式證書(shū)322,或者從其他源取回與標(biāo)識(shí)值I關(guān)聯(lián)的隱式證書(shū)322。簽名驗(yàn)證模塊350可以基于任何適合的信息(如根據(jù)隱式證書(shū)322中的公鑰重構(gòu)數(shù)據(jù)重構(gòu)的公鑰)來(lái)生成修改后的消息319。例如,簽名驗(yàn)證模塊350可以基于公鑰重構(gòu)數(shù)據(jù)P、隱式證書(shū)322和證書(shū)機(jī)構(gòu)的公鑰C來(lái)計(jì)算公鑰B。
[0171]在圖3的示例中,簽名驗(yàn)證模塊350接收作為簽名消息324的一部分的消息318。簽名驗(yàn)證模塊350可以從簽名消息324中提取消息318,并且將消息318提供給修改模塊352。修改模塊352可以基于消息318和被修改模塊344用于生成修改后的消息319的附加信息,生成修改后的消息319。終端模塊306可以將修改模塊352生成的修改后的消息319與使用數(shù)字簽名驗(yàn)證的修改后的消息319進(jìn)行比較。終端模塊可以驗(yàn)證簽名消息324的真實(shí)性,例如,兩個(gè)修改后的消息319是否匹配??梢酝ㄟ^(guò)附加的或者不同的技術(shù)來(lái)驗(yàn)證簽名消息。例如,在一些實(shí)例中,簽名消息324包含修改后的消息319而不是原始消息318。在該實(shí)例中,可以部分地基于例如使用簽名者的公鑰信息從修改后的消息319生成原始消息318來(lái)驗(yàn)證簽名消息。
[0172]證書(shū)機(jī)構(gòu)模塊304包括證書(shū)生成模塊330以及可能的其他模塊。證書(shū)機(jī)構(gòu)模塊304可以執(zhí)行用于頒發(fā)供在密碼系統(tǒng)300中使用的隱式證書(shū)322的一個(gè)或更多個(gè)操作。證書(shū)生成模塊330可以例如響應(yīng)于接收到證書(shū)請(qǐng)求320,生成隱式證書(shū)322。
[0173]證書(shū)生成模塊330基于證書(shū)請(qǐng)求320中的信息生成隱式證書(shū)。例如,證書(shū)生成模塊330可以選擇隨機(jī)值k,并且通過(guò)計(jì)算P=RJkG生成公鑰重構(gòu)數(shù)據(jù)P,其中Ru是請(qǐng)求生成模塊340生成的橢圓曲線點(diǎn),且被包含在證書(shū)請(qǐng)求320中。證書(shū)機(jī)構(gòu)模塊304可以具有生成隨機(jī)數(shù)的隨機(jī)數(shù)生成器模塊。證書(shū)生成模塊330可以將公鑰重構(gòu)數(shù)據(jù)P編碼到隱式證書(shū)Certu中,以及有時(shí)還將其他信息編碼到隱式證書(shū)Certu中。隱式證書(shū)Certu可以通過(guò)證書(shū)編碼方案來(lái)生成,如固定長(zhǎng)度字段方案、最小ASN.1編碼方案、兼容X.509的ASN.1編碼方案,或者其他方案。
[0174]在一些實(shí)例中,證書(shū)機(jī)構(gòu)模塊304中的證書(shū)驗(yàn)證模塊可以接收證書(shū)生成模塊330生成的信息,并且驗(yàn)證隱式證書(shū)Certu服從安全規(guī)則和設(shè)置。如果隱式證書(shū)Certu被認(rèn)可,則隱式證書(shū)Certu可被發(fā)布為隱式證書(shū)322。如果隱式證書(shū)Certu沒(méi)被認(rèn)可,則可以由證書(shū)生成模塊330生成和驗(yàn)證新的隱式證書(shū)Cert1
[0175]圖4是示出用于執(zhí)行密碼系統(tǒng)中的操作的實(shí)例處理400的流程圖。處理400可以由證書(shū)機(jī)構(gòu)、對(duì)應(yīng)機(jī)構(gòu)(correspondent)、或者密碼系統(tǒng)的這些實(shí)體和其他實(shí)體的任何合適的組合來(lái)實(shí)現(xiàn)。在一些實(shí)例中,處理400可以由圖3中示出的終端模塊302、306或者證書(shū)機(jī)構(gòu)模塊304來(lái)實(shí)現(xiàn)。處理400可以包括由計(jì)算系統(tǒng)執(zhí)行的操作。例如,操作可以由圖1和圖2中示出的終端或者證書(shū)機(jī)構(gòu)服務(wù)器執(zhí)行。圖4中示出的實(shí)例400可以使用附加的、更少的、或者不同的操作來(lái)實(shí)現(xiàn),其可以按照示出的順序或者按照不同的順序來(lái)執(zhí)行。在一些實(shí)現(xiàn)中,操作中的一個(gè)或更多個(gè)操作可以重復(fù)或迭代,例如直到達(dá)到終止條件為止。
[0176]在步驟410,訪問(wèn)隱式證書(shū)。例如可以通過(guò)下述方式來(lái)訪問(wèn)隱式證書(shū):從存儲(chǔ)器讀取隱式證書(shū),從遠(yuǎn)程源接收隱式證書(shū),根據(jù)其他數(shù)據(jù)生成隱式證書(shū),或者以其他方式來(lái)訪問(wèn)隱式證書(shū)。隱式證書(shū)可以是證書(shū)機(jī)構(gòu)生成的隱式證書(shū)。該證書(shū)機(jī)構(gòu)可以是任何合適的證書(shū)機(jī)構(gòu),如根證書(shū)機(jī)構(gòu)、中間證書(shū)機(jī)構(gòu)、或者任意從屬證書(shū)機(jī)構(gòu)。
[0177]隱式證書(shū)與實(shí)體相關(guān)聯(lián)。例如,隱式證書(shū)可以與用戶、終端、位置、軟件模塊等相關(guān)聯(lián)。實(shí)體可以是證書(shū)機(jī)構(gòu)服務(wù)器、對(duì)應(yīng)終端、或者任何合適的設(shè)備或系統(tǒng)組件。在一些實(shí)例中,生成隱式證書(shū)的證書(shū)機(jī)構(gòu)是根證書(shū)機(jī)構(gòu)或者中間證書(shū)機(jī)構(gòu),以及實(shí)體是對(duì)應(yīng)機(jī)構(gòu)或者從屬于根證書(shū)機(jī)構(gòu)的另一證書(shū)機(jī)構(gòu)。隱式證書(shū)可以基于隱式證書(shū)鏈。例如,當(dāng)生成隱式證書(shū)的證書(shū)機(jī)構(gòu)是中間證書(shū)機(jī)構(gòu)或其他從屬證書(shū)機(jī)構(gòu)時(shí),隱式證書(shū)可以基于上級(jí)證書(shū)機(jī)構(gòu)頒發(fā)的一個(gè)或更多個(gè)其他隱式證書(shū)。實(shí)體的隱式證書(shū)可以包括實(shí)體的標(biāo)識(shí)符、實(shí)體的公鑰重構(gòu)值、或者這些和其他信息的任意合適組合。
[0178]在步驟420,訪問(wèn)證書(shū)機(jī)構(gòu)公鑰信息。例如可以通過(guò)下述方式訪問(wèn)證書(shū)機(jī)構(gòu)公鑰信息:從存儲(chǔ)器讀取該信息,從遠(yuǎn)程對(duì)應(yīng)機(jī)構(gòu)接收該信息,根據(jù)其他數(shù)據(jù)生成該信息,或者以其他方式來(lái)訪問(wèn)該信息。在一些實(shí)例中,證書(shū)機(jī)構(gòu)公鑰信息包括:頒發(fā)在步驟410處訪問(wèn)的隱式證書(shū)的證書(shū)機(jī)構(gòu)的公鑰值、頒發(fā)在步驟410處訪問(wèn)的隱式證書(shū)的證書(shū)機(jī)構(gòu)的公鑰重構(gòu)值、另一證書(shū)機(jī)構(gòu)公鑰信息、或者這些信息和其他信息的組合。
[0179]在步驟430,對(duì)散列函數(shù)求值。可以使用任意合適的散列函數(shù)。散列函數(shù)的示例包括SHA散列函數(shù)族(SHA-l,SHA-256,等等)以及其他散列函數(shù)??梢杂扇我夂线m的數(shù)據(jù)處理裝置來(lái)對(duì)散列函數(shù)求值。例如,可以由通用處理器、主處理器、專(zhuān)用處理器、或者一個(gè)或更多個(gè)處理器的任意合適組合來(lái)對(duì)散列函數(shù)求值。對(duì)散列函數(shù)求值可以產(chǎn)生散列值。
[0180]可以基于證書(shū)機(jī)構(gòu)公鑰信息和實(shí)體的公鑰重構(gòu)值對(duì)散列函數(shù)求值。在一些實(shí)例中,可以基于證書(shū)機(jī)構(gòu)的公鑰、證書(shū)機(jī)構(gòu)的公鑰重構(gòu)值、或者這些和任意其他證書(shū)機(jī)構(gòu)公鑰信息的組合來(lái)對(duì)散列函數(shù)求值。散列函數(shù)可以采用任意合適的輸入組合。在一些示例中,散列函數(shù)可以表達(dá)為H(P1; I17P2,12),其中P1表示證書(shū)機(jī)構(gòu)的公鑰重構(gòu)值,I1表示證書(shū)機(jī)構(gòu)的標(biāo)識(shí)符,P2表示實(shí)體的公鑰重構(gòu)值,以及I2表示實(shí)體的標(biāo)識(shí)符。作為另一示例,散列函數(shù)可被表達(dá)為散列鏈HOKP1, I1), P2,I2)。作為另一示例,散列函數(shù)可被表達(dá)為H(C1; P2,I2),其中C1表示證書(shū)機(jī)構(gòu)的公鑰值。
[0181]在一些實(shí)現(xiàn)中,散列函數(shù)的求值基于多個(gè)證書(shū)機(jī)構(gòu)公鑰信息。例如,在實(shí)體的隱式證書(shū)是由從屬證書(shū)機(jī)構(gòu)生成的實(shí)例中,可以基于從屬證書(shū)機(jī)構(gòu)公鑰信息以及上級(jí)證書(shū)機(jī)構(gòu)(如根證書(shū)機(jī)構(gòu)或者中間證書(shū)機(jī)構(gòu))的公鑰信息對(duì)散列函數(shù)求值。在一些實(shí)例中,散列函數(shù)可以表達(dá)為HT1, I1, P2, I2, P3, I3),其中P2表不從屬證書(shū)機(jī)構(gòu)的公鑰重構(gòu)值,I2表不從屬證書(shū)機(jī)構(gòu)的標(biāo)識(shí)符,P1表示上級(jí)證書(shū)機(jī)構(gòu)的公鑰重構(gòu)值,I1表示上級(jí)證書(shū)機(jī)構(gòu)的標(biāo)識(shí)符,P3表示實(shí)體的公鑰重構(gòu)值,以及I3表示實(shí)體的標(biāo)識(shí)符。在一些實(shí)例中,散列函數(shù)可以表達(dá)為散列鏈 HOlOKPi,I1), P2,I2), P3, I3)。
[0182]在步驟440,執(zhí)行加密操作??梢曰谠诓襟E430處散列函數(shù)產(chǎn)生的散列值來(lái)執(zhí)行加密操作。例如,加密操作可以使用散列值、根據(jù)散列值導(dǎo)出的或計(jì)算出的值、或者這些和其他輸入的任意合適組合。根據(jù)需要,可以基于附加的或不同的信息執(zhí)行加密操作。
[0183]加密操作可以包括在密碼系統(tǒng)中執(zhí)行的任意合適的操作。例如,加密操作可以是下述協(xié)議的一部分或者可以與下述協(xié)議關(guān)聯(lián)地執(zhí)行:數(shù)據(jù)認(rèn)證協(xié)議、數(shù)據(jù)安全協(xié)議、證書(shū)生成協(xié)議、或者其他類(lèi)型的協(xié)議。在一些實(shí)例中,加密操作可以是下述算法的一部分或者可以產(chǎn)生下述算法使用的信息:加密算法、解密算法、數(shù)字簽名生成算法、數(shù)字簽名驗(yàn)證算法、或者其他類(lèi)型的算法。加密操作可以產(chǎn)生任意合適的輸出。一些加密操作可以產(chǎn)生實(shí)體的公鑰、數(shù)字簽名、對(duì)數(shù)字簽名的驗(yàn)證、加密消息、解密消息、或者其他類(lèi)型的輸出。
[0184]作為示例,加密操作可以包括生成實(shí)體的公鑰值??梢曰诓襟E430中散列函數(shù)產(chǎn)生的散列值來(lái)生成該公鑰值,或者可以基于根據(jù)散列值計(jì)算的或?qū)С龅钠渌祦?lái)生成該公鑰值。在一些實(shí)例中,可以作為下述操作的一部分來(lái)生成實(shí)體的公鑰值:使公鑰值生效、驗(yàn)證據(jù)稱(chēng)由實(shí)體產(chǎn)生的數(shù)字簽名、解密來(lái)自實(shí)體的消息、或者其他加密操作。在一些實(shí)例中,生成公鑰值產(chǎn)生公鑰值來(lái)作為輸出值,該輸出值可被存儲(chǔ)、刪除、發(fā)送、在其他計(jì)算中使用等等。
[0185]在一些實(shí)例中,可以例如通過(guò)對(duì)使用或以其他方式依賴(lài)公鑰值的密碼函數(shù)求值來(lái)生成公鑰值。密碼函數(shù)可以接收公鑰值作為輸入。在一些實(shí)例中,密碼函數(shù)接收可被用于計(jì)算公鑰值的值作為輸入,并且密碼函數(shù)可以使用這些輸入值來(lái)例如以數(shù)學(xué)上等價(jià)的方式替代實(shí)際的公鑰值。如此,密碼函數(shù)可以使用公鑰值,而不需要顯式地接收公鑰值作為輸入。相應(yīng)地,在一些實(shí)例中,對(duì)使用或以其他方式依賴(lài)公鑰值的密碼函數(shù)求值時(shí)不顯式計(jì)算公鑰值。
[0186]圖5是示出用于使用數(shù)字簽名的示例處理500的流程圖。處理500可以由證書(shū)機(jī)構(gòu)、對(duì)應(yīng)機(jī)構(gòu)、或者密碼系統(tǒng)的這些實(shí)體和其他實(shí)體的任何合適的組合來(lái)實(shí)現(xiàn)。在一些實(shí)例中,處理500的方面可以由圖3中示出的終端模塊302、306或者證書(shū)機(jī)構(gòu)模塊304、或者它們的組合來(lái)實(shí)現(xiàn)。處理500可以包括由通信系統(tǒng)中的多個(gè)實(shí)體執(zhí)行的操作。例如,操作可以由圖1和圖2中示出的一個(gè)或更多個(gè)終端或者證書(shū)機(jī)構(gòu)服務(wù)器或者它們的組合來(lái)執(zhí)行。圖5中示出的實(shí)例500可以使用附加的、更少的、或者不同的操作來(lái)實(shí)現(xiàn),其可以按照示出的順序或者按照不同的順序來(lái)執(zhí)行。在一些實(shí)現(xiàn)中,操作中的一個(gè)或更多個(gè)操作可以重復(fù)或迭代,例如直到達(dá)到終止條件為止。
[0187]圖5示出了證書(shū)機(jī)構(gòu)502、發(fā)送者504和驗(yàn)證者506執(zhí)行的操作。作為示例,證書(shū)機(jī)構(gòu)502的操作可以由證書(shū)機(jī)構(gòu)服務(wù)器執(zhí)行,發(fā)送者504的操作可以由第一終端執(zhí)行,以及驗(yàn)證者506的操作可以由第二終端執(zhí)行。在一些實(shí)例中,附加的或不同的組件或者計(jì)算裝置可以執(zhí)行示例處理500的一個(gè)或更多個(gè)操作。
[0188]在步驟510,證書(shū)機(jī)構(gòu)502生成數(shù)字證書(shū)。證書(shū)機(jī)構(gòu)502可以是任意合適的證書(shū)機(jī)構(gòu)(例如,根證書(shū)機(jī)構(gòu)、從屬證書(shū)機(jī)構(gòu)等等)。數(shù)字證書(shū)可以是隱式證書(shū)、顯式證書(shū)、或者任意其他類(lèi)型的數(shù)字證書(shū)。數(shù)字證書(shū)可以包括實(shí)體的公鑰重構(gòu)值、實(shí)體的標(biāo)識(shí)符、或者這些或其他信息的任意合適組合。在圖5示出的示例處理500中,證書(shū)機(jī)構(gòu)502生成的數(shù)字證書(shū)包括發(fā)送者504的公鑰重構(gòu)值。
[0189]在步驟512,數(shù)字證書(shū)被傳送給發(fā)送者504。可以以任意合適的方式傳送數(shù)字證書(shū)。例如,數(shù)字證書(shū)可以通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)傳送、通過(guò)無(wú)線或有線通信鏈路發(fā)送、在盤(pán)上或者其他計(jì)算機(jī)可讀介質(zhì)上運(yùn)送、或者以任意合適組合來(lái)傳送。在圖5示出的示例中,發(fā)送者504從證書(shū)機(jī)構(gòu)502接收數(shù)字證書(shū)。
[0190]在步驟514,發(fā)送者504修改要被簽名的消息。該消息可以基于數(shù)字證書(shū)進(jìn)行修改。發(fā)送者504可以例如通過(guò)下述方式訪問(wèn)數(shù)字證書(shū)和消息:從存儲(chǔ)器讀取它們中的一個(gè)或更多個(gè),從遠(yuǎn)程設(shè)備接收它們中的一個(gè)或更多個(gè),本地生成它們中的一個(gè)或更多個(gè),或者通過(guò)用于訪問(wèn)數(shù)據(jù)的這些和其他技術(shù)的任意合適組合。
[0191]可以通過(guò)任意合適技術(shù)生成第一修改后的消息。發(fā)送者504可以通過(guò)下述方式生成該第一修改后的消息:基于發(fā)送者的數(shù)字證書(shū)生成散列值,以及將散列值與消息進(jìn)行組合。發(fā)送者504可以通過(guò)將消息與發(fā)送者的公鑰重構(gòu)值進(jìn)行組合來(lái)生成第一修改后的消息。發(fā)送者504可以通過(guò)將消息與其他值組合來(lái)生成該第一修改后的消息。所述其他值可以基于簽名者的數(shù)字證書(shū)中的信息以及可能的其他信息。例如,所述其他值可以根據(jù)簽名者的公鑰重構(gòu)值、簽名者的公鑰值、簽名者的標(biāo)識(shí)符、數(shù)字證書(shū)中包括的其他信息或者任意合適組合而產(chǎn)生。
[0192]在一些實(shí)例中,第一修改后的消息是通過(guò)將消息與證書(shū)機(jī)構(gòu)的公鑰信息進(jìn)行組合來(lái)生成的。例如,第一修改后的消息可以基于簽名者的數(shù)字證書(shū)和證書(shū)機(jī)構(gòu)的公鑰二者來(lái)生成。當(dāng)證書(shū)機(jī)構(gòu)502從屬于另一證書(shū)機(jī)構(gòu)(如,根證書(shū)機(jī)構(gòu)、中間證書(shū)機(jī)構(gòu)等)時(shí),第一修改后的消息可以通過(guò)將消息與根據(jù)簽名者的公鑰重構(gòu)值和一個(gè)或更多個(gè)其他值產(chǎn)生的值進(jìn)行組合來(lái)生成。所述其他值可以例如包括:證書(shū)機(jī)構(gòu)502的公鑰、上級(jí)證書(shū)機(jī)構(gòu)的公鑰、證書(shū)機(jī)構(gòu)502的數(shù)字證書(shū)、上級(jí)證書(shū)機(jī)構(gòu)的數(shù)字證書(shū),等等。
[0193]在步驟516,發(fā)送者504生成數(shù)字簽名。可以基于修改后的消息生成數(shù)字簽名。在一些實(shí)例中,可以基于附加的或不同的信息來(lái)生成數(shù)字簽名??梢愿鶕?jù)任意合適的簽名算法或其他合適的技術(shù)來(lái)生成數(shù)字簽名。
[0194]在步驟518,數(shù)字簽名和其他信息被傳送給驗(yàn)證者506。在一些實(shí)例中,傳送給驗(yàn)證者506的信息包括消息(例如,未修改的消息)。在一些實(shí)例中,傳送給驗(yàn)證者506的信息包括第一修改后的消息。在任意情況中,數(shù)字簽名可以與其他信息一起傳送,或者數(shù)字簽名可以單獨(dú)傳送。在一些實(shí)例中,發(fā)送者504還向驗(yàn)證者506發(fā)送發(fā)送者的數(shù)字證書(shū),或者驗(yàn)證者506可以從其他源獲取發(fā)送者的數(shù)字證書(shū)。從發(fā)送者504向驗(yàn)證者506傳送的信息可以以任意合適的方式傳送。例如,該信息可以通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)傳送、通過(guò)無(wú)線或有線通信鏈路發(fā)送、在盤(pán)上或者其他計(jì)算機(jī)可讀介質(zhì)上運(yùn)送、或者以任意合適組合來(lái)傳送。在圖5示出的示例中,驗(yàn)證者506從發(fā)送者504接收該信息。
[0195]驗(yàn)證者506可以直接從發(fā)送者504獲取消息(例如,未修改的消息),或者驗(yàn)證者506可以根據(jù)發(fā)送者504提供的其他信息導(dǎo)出該消息。在一些實(shí)現(xiàn)中,在步驟518,發(fā)送者向驗(yàn)證者506傳送第一修改后的消息,并且驗(yàn)證者506從第一修改后的消息中提取原始的未修改的消息。驗(yàn)證者506可以以任意合適的方式獲取原始的未修改的消息。
[0196]在步驟520,驗(yàn)證者506訪問(wèn)該原始的未修改的消息,并且修改該消息??梢曰诎l(fā)送者的數(shù)字證書(shū)中包含的信息來(lái)修改該消息。驗(yàn)證者506可以例如通過(guò)下述方式訪問(wèn)數(shù)字證書(shū)和消息:從存儲(chǔ)器讀取它們中的一個(gè)或更多個(gè),從遠(yuǎn)程設(shè)備接收它們中的一個(gè)或更多個(gè),本地生成它們中的一個(gè)或更多個(gè),或者通過(guò)用于訪問(wèn)數(shù)據(jù)的這些和其他技術(shù)的任意合適組合。當(dāng)驗(yàn)證者506修改該消息時(shí),驗(yàn)證者506產(chǎn)生第二修改后的消息。
[0197]可以通過(guò)任意合適技術(shù)生成第二修改后的消息。在圖5示出的示例處理500中,在步驟520中,驗(yàn)證者506以與在步驟514處發(fā)送者504修改消息的相同方式來(lái)修改消息。例如,發(fā)送者504和驗(yàn)證者506均能夠根據(jù)預(yù)定的或者預(yù)先布置的算法來(lái)修改消息。如此,步驟520中由驗(yàn)證者506產(chǎn)生的第二修改后的消息可以與步驟514中發(fā)送者504產(chǎn)生的第一修改后的消息相同。
[0198]在一些實(shí)現(xiàn)中,驗(yàn)證者506通過(guò)下述方式生成該第二修改后的消息:基于發(fā)送者的數(shù)字證書(shū)生成散列值,以及將散列值與消息進(jìn)行組合。驗(yàn)證者506可以通過(guò)將消息與發(fā)送者的公鑰重構(gòu)值進(jìn)行組合來(lái)生成第二修改后的消息。驗(yàn)證者506可以通過(guò)將消息與其他值組合來(lái)生成該第二修改后的消息。所述其他值可以基于簽名者的數(shù)字證書(shū)中的信息以及可能的其他信息。例如,可以根據(jù)簽名者的公鑰重構(gòu)值、簽名者的公鑰值、簽名者的標(biāo)識(shí)符、數(shù)字證書(shū)中包括的其他信息或者任意合適組合來(lái)產(chǎn)生所述其他值。[0199]在一些實(shí)現(xiàn)中,第二修改后的消息是通過(guò)將消息與證書(shū)機(jī)構(gòu)公鑰信息進(jìn)行組合來(lái)生成的。例如,可以基于簽名者的數(shù)字證書(shū)和證書(shū)機(jī)構(gòu)的公鑰二者來(lái)生成第二修改后的消息。當(dāng)證書(shū)機(jī)構(gòu)502從屬于另一證書(shū)機(jī)構(gòu)時(shí),第二修改后的消息可以通過(guò)將消息與根據(jù)簽名者的公鑰重構(gòu)值和一個(gè)或更多個(gè)其他值產(chǎn)生的值進(jìn)行組合來(lái)生成。所述其他值可以例如包括:證書(shū)機(jī)構(gòu)502的公鑰、上級(jí)證書(shū)機(jī)構(gòu)的公鑰、證書(shū)機(jī)構(gòu)502的數(shù)字證書(shū)、上級(jí)證書(shū)機(jī)構(gòu)的數(shù)字證書(shū),等等。
[0200]在步驟522,驗(yàn)證者506驗(yàn)證消息。該消息是基于發(fā)送者504在步驟516中生成的數(shù)字簽名以及驗(yàn)證者506在步驟520中生成的第二修改后的消息來(lái)驗(yàn)證的。在一些實(shí)例中,可以基于附加的或不同的信息來(lái)驗(yàn)證消息。可以部分地基于任意合適的簽名驗(yàn)證算法或者其他合適的技術(shù)來(lái)驗(yàn)證消息。對(duì)消息進(jìn)行驗(yàn)證可以向驗(yàn)證者506提供對(duì)消息真實(shí)性的保證。例如,成功地驗(yàn)證消息可以指示消息是來(lái)自發(fā)送者504的真實(shí)通信,并且沒(méi)有被篡改或偽造。
[0201]在一些方面,驗(yàn)證者506使用數(shù)字簽名來(lái)驗(yàn)證發(fā)送者504產(chǎn)生的第一修改后的消息,然后驗(yàn)證者506將第一修改后的消息與第二修改后的消息進(jìn)行比較。在一些實(shí)例中,基于數(shù)字證書(shū),根據(jù)與發(fā)送者在步驟516中生成數(shù)字簽名所使用的數(shù)字簽名算法對(duì)應(yīng)的驗(yàn)證算法,來(lái)驗(yàn)證第一修改后的消息。如果基于數(shù)字簽名可以驗(yàn)證第一修改后的消息,以及如果第一修改后的消息與第二修改后的消息匹配,則驗(yàn)證者506可以接受該消息(S卩,未修改的消息)是真實(shí)的。如果基于數(shù)字簽名不能驗(yàn)證第一修改后的消息,或者如果第一修改后的消息與第二修改后的消息不匹配,則驗(yàn)證者506可以因?yàn)椴豢尚哦芙^該消息。
[0202]本說(shuō)明書(shū)中描述的主題和操作中的一些可被實(shí)現(xiàn)在數(shù)字電子電路中,或者實(shí)現(xiàn)在計(jì)算機(jī)軟件、固件或硬件中,其包括本說(shuō)明書(shū)中公開(kāi)的結(jié)構(gòu)及其等價(jià)結(jié)構(gòu)或者它們中的一個(gè)或更多個(gè)的組合。本說(shuō)明書(shū)中描述的主題和操作中的一些可以實(shí)現(xiàn)為嵌入在非瞬時(shí)計(jì)算機(jī)存儲(chǔ)介質(zhì)上的一個(gè)或更多個(gè)計(jì)算機(jī)程序(即,一個(gè)或更多個(gè)計(jì)算機(jī)程序指令模塊),用于由數(shù)據(jù)處理裝置執(zhí)行或者控制數(shù)據(jù)處理裝置的操作。作為備選或補(bǔ)充,程序指令可被編碼以傳輸給合適的接收機(jī)裝置,用于由數(shù)據(jù)處理裝置執(zhí)行。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是下述設(shè)備中,或者可以包含在下述設(shè)備中:計(jì)算機(jī)可讀存儲(chǔ)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)、隨機(jī)或串行存取存儲(chǔ)器陣列或器件、或者它們中的一個(gè)或更多個(gè)的組合。而且,盡管計(jì)算機(jī)存儲(chǔ)介質(zhì)不是傳播信息,但是計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是編碼在人工生成的傳播信號(hào)中的計(jì)算機(jī)程序指令的源或目的地。計(jì)算機(jī)存儲(chǔ)介質(zhì)還可以是一個(gè)或更多個(gè)單獨(dú)的物理組件或介質(zhì)(例如,多個(gè)卡、盤(pán)或者其他存儲(chǔ)器件),或者可被包括在一個(gè)或更多個(gè)單獨(dú)的物理組件或介質(zhì)(例如,多個(gè)卡、盤(pán)或者其他存儲(chǔ)器件)中。
[0203]本說(shuō)明書(shū)中描述的操作可被實(shí)現(xiàn)為由數(shù)據(jù)處理裝置對(duì)一個(gè)或更多個(gè)計(jì)算機(jī)可讀存儲(chǔ)設(shè)備上存儲(chǔ)的數(shù)據(jù)或者從其他源接收的數(shù)據(jù)執(zhí)行的操作。屬于“數(shù)據(jù)處理裝置”包括用于處理數(shù)據(jù)的所有種類(lèi)的裝置、設(shè)備和機(jī)器,作為示例,其包括可編程處理器、計(jì)算機(jī)、片上系統(tǒng)、或者前述裝置中的多個(gè)或其組合。該裝置可以包括專(zhuān)用邏輯電路,如FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)或者ASIC(專(zhuān)用集成電路)。除了硬件之外,該裝置還可以包括創(chuàng)建所關(guān)注的計(jì)算機(jī)程序的執(zhí)行環(huán)境的代碼,所述代碼例如是構(gòu)建處理器固件、協(xié)議棧、數(shù)據(jù)庫(kù)關(guān)聯(lián)系統(tǒng)、操作系統(tǒng)、跨平臺(tái)運(yùn)行時(shí)環(huán)境、虛擬機(jī)、或者它們中的一個(gè)或更多個(gè)的組合的代碼。該裝置和執(zhí)行環(huán)境可以實(shí)現(xiàn)各種不同的計(jì)算模型基礎(chǔ)設(shè)施,如網(wǎng)站、分布式計(jì)算和網(wǎng)格計(jì)算基礎(chǔ)設(shè)施。
[0204]計(jì)算機(jī)程序(也稱(chēng)為程序、軟件、軟件應(yīng)用、腳本、或者代碼)可以以任何形式的編程語(yǔ)言來(lái)編寫(xiě),包括匯編或解釋語(yǔ)言、聲明或過(guò)程語(yǔ)言,并且其可以以任何形式進(jìn)行部署,包括部署為獨(dú)立程序、或者部署為模塊、組件、子例程、對(duì)象或適合于在計(jì)算環(huán)境中使用的其他單元。計(jì)算機(jī)程序可以與文件系統(tǒng)中的文件對(duì)應(yīng),但這不是必須的。程序可被存儲(chǔ)在保存其他程序或數(shù)據(jù)(如,在標(biāo)記語(yǔ)言文檔中存儲(chǔ)的一個(gè)或更多個(gè)腳本)的文件的一部分中,存儲(chǔ)在專(zhuān)用于所討論的程序的單個(gè)文件中,或者存儲(chǔ)在多個(gè)協(xié)作文件(如,存儲(chǔ)一個(gè)或更多個(gè)模塊、子程序或者代碼部分)中。計(jì)算機(jī)程序可被部署,以在一個(gè)計(jì)算設(shè)備上,或者在位于一個(gè)地點(diǎn)的或分布在多個(gè)地點(diǎn)且通過(guò)通信網(wǎng)絡(luò)互聯(lián)的多個(gè)計(jì)算機(jī)上執(zhí)行。
[0205]在本說(shuō)明書(shū)中描述的處理和邏輯流程可以由一個(gè)或多個(gè)可編程處理器來(lái)執(zhí)行,該一個(gè)或多個(gè)可編程處理器執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序以通過(guò)操作輸入數(shù)據(jù)和生成輸出來(lái)執(zhí)行動(dòng)作。該處理和邏輯流程還可以通過(guò)執(zhí)行專(zhuān)用邏輯電路,如FPGA (現(xiàn)場(chǎng)可編程門(mén)陣列)或ASIC(專(zhuān)用集成電路)來(lái)執(zhí)行,并且裝置可被實(shí)現(xiàn)為所述專(zhuān)用邏輯電路。作為示例,適合于計(jì)算機(jī)程序的執(zhí)行的處理器包括通用和專(zhuān)用微處理器以及任何類(lèi)型的數(shù)字計(jì)算設(shè)備中的任伺一個(gè)或多個(gè)處理器。一般而言,處理器將從只讀存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器或兩者接收指令和數(shù)據(jù)。計(jì)算設(shè)備的基本元件是用于根據(jù)指令執(zhí)行動(dòng)作的處理器以及一個(gè)或多個(gè)用于存儲(chǔ)指令和數(shù)據(jù)的存儲(chǔ)器設(shè)備。通常,計(jì)算設(shè)備還包括用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)設(shè)備,或者可操作地耦合以從用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)設(shè)備接收數(shù)據(jù)和/或?qū)?shù)據(jù)傳送到給用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)設(shè)備。然而,計(jì)算設(shè)備不是必須具有這樣的設(shè)備。此外,計(jì)算機(jī)可被嵌入到另一個(gè)設(shè)備,如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng)音頻或視頻播放器、游戲控制臺(tái)、全球定位系統(tǒng)(GPS)接收器、或便攜式存儲(chǔ)設(shè)備(如通用串行總線(USB)閃存驅(qū)動(dòng)器),這僅是舉出幾例。適于存儲(chǔ)計(jì)算機(jī)程序指令和數(shù)據(jù)的設(shè)備包括所有形式的非易失性存儲(chǔ)器、介質(zhì)和存儲(chǔ)器設(shè)備,例如包括:半導(dǎo)體存儲(chǔ)器設(shè)備,如EPROM、EEPROM和閃存設(shè)備;磁盤(pán),如內(nèi)部硬盤(pán)或可移動(dòng)磁盤(pán);磁光盤(pán);以及CD-ROM和DVD-ROM盤(pán)。處理器和存儲(chǔ)器可被補(bǔ)充專(zhuān)用邏輯電路或者集成在專(zhuān)用邏輯電路中。為了提供與用戶的交互,在本說(shuō)明書(shū)中描述的主題可被實(shí)現(xiàn)在具有顯示設(shè)備以及鍵盤(pán)和指示設(shè)備的計(jì)算機(jī)上,該顯式設(shè)備用于向用戶顯示信息,例如是LCD (液晶顯示器)屏幕,該鍵盤(pán)和指示設(shè)備例如是觸摸屏、觸筆、鼠標(biāo)等,通過(guò)其用戶可以向計(jì)算機(jī)提供輸入。其他種類(lèi)的設(shè)備也可被用于提供與用戶的交互,例如,提供給用戶的反饋可以是任何形式的感官反饋,如視覺(jué)反饋、聽(tīng)覺(jué)反饋或觸覺(jué)反饋;以及,來(lái)自用戶的輸入可以以任何形式接收,包括聲音、語(yǔ)音或觸覺(jué)輸入。另外,計(jì)算設(shè)備可以通過(guò)向用戶使用的設(shè)備發(fā)送文檔以及從其接收文檔來(lái)與用戶進(jìn)行交互;例如,通過(guò)響應(yīng)于接收自Web瀏覽器的請(qǐng)求向用戶的客戶端設(shè)備上的Web瀏覽器發(fā)送網(wǎng)頁(yè)。
[0206]在本說(shuō)明書(shū)中描述的主題中的一些主題可被實(shí)現(xiàn)在包括下述計(jì)算系統(tǒng)中,所述計(jì)算系統(tǒng)包括后端組件(如,作為數(shù)據(jù)服務(wù)器),或者包括中間件組件(如應(yīng)用服務(wù)器),或者包括前端組件(如,具有通過(guò)其用戶可以與本說(shuō)明書(shū)中描述的主題的實(shí)現(xiàn)進(jìn)行交互的圖形用戶界面或Web瀏覽器的客戶端計(jì)算設(shè)備),或者一個(gè)或多個(gè)這種后端、中間件或前端組件的任意組合。該系統(tǒng)的組件可以通過(guò)任何形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(如,數(shù)據(jù)網(wǎng)絡(luò))進(jìn)行互連。該計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器。客戶端和服務(wù)器通常彼此遠(yuǎn)離,并且典型地通過(guò)數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行交互。客戶端和服務(wù)器的關(guān)系是憑借在各自計(jì)算機(jī)上運(yùn)行的并且彼此具有客戶端一服務(wù)器關(guān)系的計(jì)算機(jī)程序而產(chǎn)生。在一些實(shí)現(xiàn)中,服務(wù)器向客戶端設(shè)備發(fā)送數(shù)據(jù)??梢栽诜?wù)器處從客戶端設(shè)備接收在客戶端設(shè)備上生成的數(shù)據(jù)。
[0207]盡管本說(shuō)明書(shū)包含眾多具體的實(shí)現(xiàn)細(xì)節(jié),但是這些不應(yīng)被解釋為對(duì)所要求保護(hù)的范圍的限制,而是作為對(duì)特定實(shí)施方式的具體特征的描述。在本說(shuō)明書(shū)中在不同實(shí)施方案的上下文中描述的某些特征也可以在單個(gè)實(shí)施方案中組合實(shí)現(xiàn)。反之,在單個(gè)實(shí)施方案的上下文中描述的各種特征也可以在多個(gè)實(shí)施方案中單獨(dú)地或以任何合適的子組合進(jìn)行實(shí)現(xiàn)。而且,盡管可能在上文將特征描述為以特定組合行動(dòng),甚至最初也是如此要求的,但是來(lái)自所要求保護(hù)的組合的一個(gè)或多個(gè)特征在一些情況下可以從組合中刪去,并且所要求保護(hù)的組合可以針對(duì)子組合或子組合的變形。類(lèi)似地,盡管在附圖中以特定的順序示出操作,但是這不應(yīng)當(dāng)被解釋為:為了實(shí)現(xiàn)期望的結(jié)果,需要以所示的特定順序或以連續(xù)順序來(lái)執(zhí)行這些操作,或者需要完成所有圖示的操作。在某些情況下,多任務(wù)和并行處理可能是有利的。此外,在上述的實(shí)施方式中的各種系統(tǒng)組件的分離不應(yīng)被理解為在所有實(shí)施方式中都要求這樣的分離,而是應(yīng)該理解為,所描述的程序組件和系統(tǒng)通??梢约稍趩蝹€(gè)軟件產(chǎn)品中或者可以封裝成多個(gè)軟件產(chǎn)品。在一些方面,訪問(wèn)隱式證書(shū)。所述隱式證書(shū)與實(shí)體相關(guān)聯(lián),并且由證書(shū)機(jī)構(gòu)生成。所述隱式證書(shū)包括所述實(shí)體的公鑰重構(gòu)值。訪問(wèn)與證書(shū)機(jī)構(gòu)關(guān)聯(lián)的證書(shū)機(jī)構(gòu)公鑰信息。基于對(duì)散列函數(shù)求值來(lái)生成第一值。所述散列函數(shù)的求值基于所述證書(shū)機(jī)構(gòu)公鑰信息和所述實(shí)體的公鑰重構(gòu)值??梢曰谒龅谝恢瞪伤鰧?shí)體的公鑰值。這些和其它方面的實(shí)現(xiàn)可以包括以下特征中的一個(gè)或多個(gè)。所述證書(shū)機(jī)構(gòu)是根證書(shū)機(jī)構(gòu),并且所述實(shí)體是從屬于所述根證書(shū)機(jī)構(gòu)的第二證書(shū)機(jī)構(gòu)。所述證書(shū)機(jī)構(gòu)是從屬于根證書(shū)機(jī)構(gòu)的中間證書(shū)機(jī)構(gòu),以及所述實(shí)體是從屬于所述中間證書(shū)機(jī)構(gòu)的第二證書(shū)機(jī)構(gòu)。所述隱式證書(shū)基于隱式證書(shū)鏈。所述證書(shū)機(jī)構(gòu)是根證書(shū)機(jī)構(gòu),以及所述實(shí)體是用戶實(shí)體。
[0208]作為補(bǔ)充或備選,這些和其他方面的實(shí)現(xiàn)可以包括以下特征中的一個(gè)或多個(gè)。生成所述公鑰值包括:使所述公鑰值生效,使用所述公鑰值來(lái)驗(yàn)證來(lái)自所述實(shí)體的數(shù)字簽名,或者這二者。生成所述公鑰值包括:作為對(duì)使用公鑰值的密碼函數(shù)求值的一部分,隱式生成所述公鑰值。生成所述公鑰值或者對(duì)所述密碼函數(shù)求值可以顯式計(jì)算所述公鑰值,也可以不顯式計(jì)算所述公鑰值。
[0209]作為補(bǔ)充或備選,這些和其他方面的實(shí)現(xiàn)可以包括以下特征中的一個(gè)或多個(gè)。所述第一值和所述公鑰值是由所述實(shí)體生成的。所述第一值和所述公鑰值是由所述證書(shū)機(jī)構(gòu)生成的。所述第一值和所述公鑰值是由依賴(lài)所述公鑰值的不同的第二實(shí)體生成的。所述證書(shū)機(jī)構(gòu)公鑰信息包括所述證書(shū)機(jī)構(gòu)的公鑰值、所述證書(shū)機(jī)構(gòu)的公鑰重構(gòu)值,或者這兩者。
[0210]作為補(bǔ)充或備選,這些和其他方面的實(shí)現(xiàn)可以包括以下特征中的一個(gè)或多個(gè)。所述證書(shū)機(jī)構(gòu)是從屬證書(shū)機(jī)構(gòu)。訪問(wèn)附加的與根證書(shū)機(jī)構(gòu)關(guān)聯(lián)的證書(shū)機(jī)構(gòu)公鑰信息。所述第一值是基于根據(jù)下述信息對(duì)散列值求值而生成的:從屬證書(shū)機(jī)構(gòu)的證書(shū)機(jī)構(gòu)公鑰信息、根證書(shū)機(jī)構(gòu)的附加證書(shū)機(jī)構(gòu)公鑰信息、以及實(shí)體的公鑰重構(gòu)值。
[0211]在一些方面,訪問(wèn)與實(shí)體關(guān)聯(lián)的隱式證書(shū)。所述隱式證書(shū)包括所述實(shí)體的公鑰重構(gòu)值。訪問(wèn)用于由所述實(shí)體進(jìn)行數(shù)字簽名的消息。通過(guò)將所述消息與基于所述隱式證書(shū)的值進(jìn)行組合來(lái)生成修改后的消息。數(shù)字簽名是基于所述修改后的消息生成的。
[0212]在一些方面,訪問(wèn)實(shí)體生成的數(shù)字簽名。訪問(wèn)要基于所述數(shù)字簽名驗(yàn)證的消息。訪問(wèn)與所述實(shí)體關(guān)聯(lián)的隱式證書(shū)。通過(guò)將所述消息與基于所述隱式證書(shū)的值進(jìn)行組合來(lái)生成修改后的消息?;谒鰯?shù)字簽名和所述修改后的消息來(lái)驗(yàn)證所述消息。
[0213]這些和其他方面的實(shí)現(xiàn)可以包括以下特征中的一個(gè)或多個(gè)。所述修改后的消息是通過(guò)下述方式生成的:基于所述實(shí)體的隱式證書(shū)生成散列值,以及將所述散列值與所述消息進(jìn)行組合。通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)將所述消息和所述數(shù)字簽名發(fā)送給接收者。所述修改后的消息是通過(guò)將所述消息與所述實(shí)體的公鑰重構(gòu)值進(jìn)行組合來(lái)生成的。所述修改后的消息是通過(guò)將所述消息與基于所述實(shí)體的公鑰重構(gòu)值和所述隱式證書(shū)中的附加信息的值進(jìn)行組合生成的。
[0214]作為補(bǔ)充或備選,這些和其他方面的實(shí)現(xiàn)可以包括以下特征中的一個(gè)或多個(gè)。訪問(wèn)所述隱式證書(shū)包括:訪問(wèn)證書(shū)機(jī)構(gòu)頒發(fā)的隱式證書(shū)。所述修改后的消息是通過(guò)將所述消息與基于所述證書(shū)機(jī)構(gòu)的隱式證書(shū)和公鑰值的值進(jìn)行組合而生成的。訪問(wèn)所述隱式證書(shū)包括:訪問(wèn)從屬于第二證書(shū)機(jī)構(gòu)的第一證書(shū)機(jī)構(gòu)頒發(fā)的隱式證書(shū),所述修改后的消息是通過(guò)將所述消息與基于所述實(shí)體的公鑰重構(gòu)值和一個(gè)或更多個(gè)其他值的值進(jìn)行組合而生成的。所述其他值包括所述第一證書(shū)機(jī)構(gòu)的公鑰、所述第二證書(shū)機(jī)構(gòu)的公鑰、所述第一證書(shū)機(jī)構(gòu)的隱式證書(shū)、所述第二證書(shū)機(jī)構(gòu)的隱式證書(shū)、或其組合。
[0215]作為補(bǔ)充或備選,這些和其他方面的實(shí)現(xiàn)可以包括以下特征中的一個(gè)或多個(gè)。驗(yàn)證者通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)從所述實(shí)體接收第一修改后的消息。通過(guò)將所述消息與基于所述隱式證書(shū)的值進(jìn)行組合而生成的修改后的消息是第二修改后的消息。驗(yàn)證所述消息包括:使用所述數(shù)字簽名,根據(jù)驗(yàn)證算法驗(yàn)證所述第一修改后的消息。驗(yàn)證所述消息包括:將所述第一修改后的消息與所述第二修改后的消息進(jìn)行比較。訪問(wèn)所述消息包括根據(jù)所述第一修改后的消息導(dǎo)出所述消息。
[0216]因此,已經(jīng)描述了所述主題的實(shí)施方式。其他實(shí)施方式在所附權(quán)利要求的范圍內(nèi)。在一些實(shí)例中,權(quán)利要求中記載的動(dòng)作是以不同順序執(zhí)行的,并且仍然獲得期望的結(jié)果。另夕卜,附圖中描述的處理不是必須按照示出的特定順序或者按照連續(xù)順序才能獲得期望結(jié)果。在一些實(shí)現(xiàn)中,多任務(wù)和并行處理可能是有利的。
【權(quán)利要求】
1.一種方法,包括: 訪問(wèn)隱式證書(shū),所述隱式證書(shū)與實(shí)體相關(guān)聯(lián)并且由證書(shū)機(jī)構(gòu)生成,其中所述隱式證書(shū)包括所述實(shí)體的公鑰重構(gòu)值; 訪問(wèn)與所述證書(shū)機(jī)構(gòu)相關(guān)聯(lián)的證書(shū)機(jī)構(gòu)公鑰信息; 基于對(duì)散列函數(shù)求值來(lái)生成第一值,其中所述散列函數(shù)的求值基于所述證書(shū)機(jī)構(gòu)公鑰信息和所述實(shí)體的公鑰重構(gòu)值;以及 基于所述第一值生成所述實(shí)體的公鑰值。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述證書(shū)機(jī)構(gòu)包括:根證書(shū)機(jī)構(gòu),以及所述實(shí)體包括從屬于所述根證書(shū)機(jī)構(gòu)的第二證書(shū)機(jī)構(gòu)。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述證書(shū)機(jī)構(gòu)包括從屬于根證書(shū)機(jī)構(gòu)的中間證書(shū)機(jī)構(gòu),以及所述實(shí)體包括從屬于所述中間證書(shū)機(jī)構(gòu)的第二證書(shū)機(jī)構(gòu),以及所述隱式證書(shū)基于隱式證書(shū)鏈。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述證書(shū)機(jī)構(gòu)包括根證書(shū)機(jī)構(gòu),以及所述實(shí)體包括對(duì)應(yīng)機(jī)構(gòu)。
5.根據(jù)權(quán)利要求1所述的方法,其中,生成所述公鑰值包括以下至少之一: 使所述公鑰值生效;或者 使用所述公鑰值驗(yàn)證來(lái)自所述實(shí)體的數(shù)字簽名。
6.根據(jù)權(quán)利要求1所述的方法,其中,生成所述公鑰值包括:對(duì)使用所述公鑰值的密碼函數(shù)求值。
7.根據(jù)權(quán)利要求6所述的方法,其中,對(duì)所述密碼函數(shù)求值不顯式地計(jì)算所述公鑰值。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述第一值和所述公鑰值是由所述實(shí)體生成的。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述第一值和所述公鑰值是由所述證書(shū)機(jī)構(gòu)生成的。
10.根據(jù)權(quán)利要求1所述的方法,其中,所述第一值和所述公鑰值是由依賴(lài)所述公鑰值的不同的第二實(shí)體生成的。
11.根據(jù)權(quán)利要求1所述的方法,其中,所述證書(shū)機(jī)構(gòu)公鑰信息包括下述值中的至少一個(gè):所述證書(shū)機(jī)構(gòu)的公鑰值或者所述證書(shū)機(jī)構(gòu)的公鑰重構(gòu)值。
12.根據(jù)權(quán)利要求1所述的方法,其中,所述證書(shū)機(jī)構(gòu)包括從屬證書(shū)機(jī)構(gòu),所述方法還包括:訪問(wèn)與根證書(shū)機(jī)構(gòu)相關(guān)聯(lián)的附加證書(shū)機(jī)構(gòu)公鑰信息,以及所述第一值是基于根據(jù)下述信息對(duì)所述散列函數(shù)求值來(lái)生成的: 所述從屬證書(shū)機(jī)構(gòu)的證書(shū)機(jī)構(gòu)公鑰信息; 所述根證書(shū)機(jī)構(gòu)的附加證書(shū)機(jī)構(gòu)公鑰信息;以及 所述實(shí)體的公鑰重構(gòu)值。
13.一種存儲(chǔ)指令的非瞬時(shí)計(jì)算機(jī)可讀介質(zhì),所述指令在由數(shù)據(jù)處理裝置執(zhí)行時(shí)能夠操作用于執(zhí)行下述操作: 訪問(wèn)隱式證書(shū),所述隱式證書(shū)與實(shí)體相關(guān)聯(lián)并且由證書(shū)機(jī)構(gòu)生成,其中所述隱式證書(shū)包括所述實(shí)體的 公鑰重構(gòu)值; 訪問(wèn)與所述證書(shū)機(jī)構(gòu)相關(guān)聯(lián)的證書(shū)機(jī)構(gòu)公鑰信息; 基于對(duì)散列函數(shù)求值來(lái)生成第一值,其中所述散列函數(shù)的求值基于所述證書(shū)機(jī)構(gòu)公鑰信息和所述實(shí)體的公鑰重構(gòu)值;以及 基于所述第一值生成所述實(shí)體的公鑰值。
14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述證書(shū)機(jī)構(gòu)包括從屬于根證書(shū)機(jī)構(gòu)的中間證書(shū)機(jī)構(gòu),以及所述實(shí)體包括從屬于所述中間證書(shū)機(jī)構(gòu)的第二證書(shū)機(jī)構(gòu),以及所述隱式證書(shū)基于隱式證書(shū)鏈。
15.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,生成所述公鑰值包括以下至少之 使所述公鑰值生效;或者 使用所述公鑰值來(lái)驗(yàn)證所述實(shí)體生成的數(shù)字簽名。
16.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,生成所述公鑰值包括:對(duì)使用所述公鑰值的密碼函數(shù)求值,以及對(duì)所述密碼函數(shù)求值不顯式地計(jì)算所述公鑰值。
17.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述證書(shū)機(jī)構(gòu)包括從屬證書(shū)機(jī)構(gòu),所述操作還包括:訪問(wèn)與根證書(shū)機(jī)構(gòu)相關(guān)聯(lián)的附加證書(shū)機(jī)構(gòu)公鑰信息,以及所述第一值是基于根據(jù)下述信息對(duì)所述散列函數(shù)求值來(lái)生成的: 所述從屬證書(shū)機(jī)構(gòu)的證書(shū)機(jī)構(gòu)公鑰信息; 所述根證書(shū)機(jī)構(gòu)的附加證書(shū)機(jī)構(gòu)公鑰信息;以及 所述實(shí)體的公鑰重構(gòu)值。
18.—種包括密碼模塊的計(jì)算系統(tǒng),所述密碼模塊能夠操作用于執(zhí)行操作,所述操作包括: 訪問(wèn)隱式證書(shū),所述隱式證書(shū)與實(shí)體相關(guān)聯(lián)并且由證書(shū)機(jī)構(gòu)生成,其中所述隱式證書(shū)包括所述實(shí)體的公鑰重構(gòu)值; 訪問(wèn)與所述證書(shū)機(jī)構(gòu)相關(guān)聯(lián)的證書(shū)機(jī)構(gòu)公鑰信息; 基于對(duì)散列函數(shù)求值來(lái)生成第一值,其中所述散列函數(shù)的求值基于所述證書(shū)機(jī)構(gòu)公鑰信息和所述實(shí)體的公鑰重構(gòu)值;以及 基于所述第一值生成所述實(shí)體的公鑰值。
19.根據(jù)權(quán)利要求18所 述的計(jì)算系統(tǒng),其中,所述密碼模塊包括簽名生成模塊。
20.根據(jù)權(quán)利要求18所述的計(jì)算系統(tǒng),其中,所述密碼模塊包括簽名驗(yàn)證模塊。
21.根據(jù)權(quán)利要求18所述的計(jì)算系統(tǒng),其中,所述密碼模塊包括證書(shū)生成模塊。
【文檔編號(hào)】H04L9/00GK103765809SQ201280039062
【公開(kāi)日】2014年4月30日 申請(qǐng)日期:2012年5月4日 優(yōu)先權(quán)日:2011年6月10日
【發(fā)明者】大衛(wèi)·威廉·卡拉維茲, 格雷戈里·馬克·扎韋魯哈, 丹尼爾·理查德·L·布朗 申請(qǐng)人:塞爾蒂卡姆公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1