最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

用于保護(hù)密碼資產(chǎn)免受白盒攻擊的系統(tǒng)和方法

文檔序號(hào):7548148閱讀:347來源:國知局
專利名稱:用于保護(hù)密碼資產(chǎn)免受白盒攻擊的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及密碼。更具體地,本發(fā)明涉及用于保護(hù)密碼資產(chǎn)例如私鑰和其他秘密參數(shù)的方法和系統(tǒng)。
背景技術(shù)
在FIPS PUB 186-3 (美國商務(wù)部)和ANS X9.62-2005 (美國國家金融服務(wù)標(biāo)準(zhǔn))的標(biāo)準(zhǔn)中描述了數(shù)字簽名算法(DSA)和橢圓曲線數(shù)字簽名算法(ECDSA),其全部內(nèi)容通過引用并入本文。這些簽名算法使用公鑰密碼來創(chuàng)建及驗(yàn)證數(shù)字消息上的數(shù)字簽名。DSA和ECDSA中的簽名者擁有私鑰和公鑰;私鑰被用于生成數(shù)字簽名(即對(duì)消息簽名),公鑰被第三方用來驗(yàn)證該簽名。DSA和ECDSA廣泛應(yīng)用(例如,在ssh、SSL/TLS、加拿大郵政數(shù)字郵戳、DTCP、AACS、MS-DRM)并可被用于提供數(shù)據(jù)源認(rèn)證、數(shù)據(jù)完整性和不可抵賴性。然而,對(duì)DSA和E⑶SA簽名可能提供的任何保證總是受到這樣的假設(shè),即簽名者的私鑰保持私有(即私鑰不會(huì)泄露至攻擊者)。下面的引用文獻(xiàn)提供了另外的背景信息,其全部內(nèi)容通過引用并入本文:[I]美國國家金融服務(wù)標(biāo)準(zhǔn)(American National Standard for FinancialServices) , ANS X9.62-2005, Public Key Cryptography for the Financial ServicesIndustry, The Elliptic Curve Digital Signature Algorithm(ECDSA)(金融服務(wù)產(chǎn)業(yè)的公鑰密碼、橢圓曲線數(shù)字簽名算法(E⑶SA)),2005年11月16日;[2]D.Hankerson, A.Menezes, S.Vanstone, Guide to Elliptic CurveCryptography (橢圓曲線密碼指南),2003 ;[3]信息技術(shù)實(shí)驗(yàn)室、標(biāo)準(zhǔn)和技術(shù)國家局(Information TechnologyLaboratory, National Institute of Standards and Technology), FIPS PUB186-3,Digital Signature Standard(DSS)(數(shù)字簽名標(biāo)準(zhǔn)(DSS)),2009 年 6 月;[4] Standards for Efficient Cryptography, SEC I !Elliptic CurveCryptography (高效密碼標(biāo)準(zhǔn)、SECl:橢圓曲線密碼),2.0版,2009年5月21日;[5]National Security Agency, NSA Suite B Cryptography, available fromhttp://www.nsa.gov/ia/programs/suiteb cryptography/ (可從 http://www.nsa.gov/ia/programs/suiteb cryptography/ 獲得的國家安全局 NSA B 套密碼)[6]Digital Transmission Content Protection Specification (數(shù)字傳輸內(nèi)容保護(hù)規(guī)范),卷I (信息版),1.51修訂版,2007年10月I日。DSA和E⑶SA的簽名生成操作通常在計(jì)算機(jī)軟件中實(shí)現(xiàn),而這樣的計(jì)算機(jī)軟件在特定的計(jì)算裝置(例如手機(jī)、機(jī)頂盒、智能卡)上運(yùn)行。在許多應(yīng)用中,這種操作發(fā)生在簽名者控制之外的環(huán)境中一可能存在對(duì)手(即對(duì)手可能在當(dāng)簽名被計(jì)算時(shí)觀察裝置)。僅對(duì)簽名生成的輸入和輸出進(jìn)行分析的對(duì)手利用類似黑盒的方式有效地對(duì)該實(shí)現(xiàn)進(jìn)行處理。DSA和E⑶SA被設(shè)計(jì)成抗這樣的黑盒攻擊者。然而,除了輸入和輸出之外常常還存在更多可用的信息。其他信息例如裝置功率消耗、執(zhí)行時(shí)間、電磁發(fā)射以及對(duì)數(shù)據(jù)錯(cuò)誤的響應(yīng)都會(huì)給攻擊者提供關(guān)于軟件執(zhí)行的線索;已經(jīng)證明這會(huì)泄露私鑰的位并完全危及簽名方案。一種更魯棒的安全模型抗白盒攻擊者。白盒攻擊者對(duì)計(jì)算簽名的軟件執(zhí)行具有完全可視性??拱缀泄粽呤歉叨壤硐氲哪繕?biāo),但目前還沒有提出DSA和ECDSA的任何白盒實(shí)現(xiàn)。作為該問題的實(shí)例,考慮用于保護(hù)音頻/視頻內(nèi)容的DTCP協(xié)議。下述引文來自DTCP規(guī)范,如在上述參考文獻(xiàn)[6]中限定的那樣:4.3兼容裝置的制造支持完全認(rèn)證的所有兼容裝置(即所有個(gè)體均無關(guān)品牌和模型地被制造)被分配有由DTLA生成的唯一的裝置ID (XID)和裝置EC-DSA公鑰/私鑰對(duì)。私鑰必須以防止其公開的方式存儲(chǔ)在裝置內(nèi)。DTLA還必須給兼容裝置提供裝置證書(XCERT)。該證書存儲(chǔ)在兼容裝置中并在認(rèn)證過程中使用。此外,兼容裝置需要存儲(chǔ)實(shí)現(xiàn)密碼協(xié)議所必需的其他常數(shù)和密鑰。上文所強(qiáng)調(diào)的句子指出DTCP兼容裝置必須采取步驟來保護(hù)其E⑶SA私鑰。然而,這樣的裝置在完全認(rèn)證協(xié)議期間必須利用其私鑰來創(chuàng)建ECDSA簽名。雖然看上去私鑰可能通過以加密狀態(tài)進(jìn)行存儲(chǔ)而受到了簡單的保護(hù),但實(shí)際上要執(zhí)行簽名操作,私鑰會(huì)首先被解密以被使用,由此私鑰可能被白盒攻擊者提取。為了解決這個(gè)問題,所需要的是一種保護(hù)過程,其保持私鑰機(jī)密并允許數(shù)字簽名操作在不將私鑰泄露給攻擊者的情況下進(jìn)行。

發(fā)明內(nèi)容
本發(fā)明的目的是消除或減少現(xiàn)有的數(shù)字簽名過程中的至少一個(gè)缺點(diǎn)。具體地,本發(fā)明的一個(gè)方面提出了更安全地保護(hù)簽名者的密鑰不被能夠觀察操作中的數(shù)字簽名過程的對(duì)手推算出的過程。因此,本發(fā)明的方面提出了用于實(shí)現(xiàn)抗白盒攻擊者的數(shù)字簽名生成(DSG)過程的方法和系統(tǒng)。這通過將特別選擇的數(shù)據(jù)變換應(yīng)用于算法的輸入、輸出和內(nèi)部參數(shù)來進(jìn)行。具體地,簽名者的私鑰不會(huì)清楚地出現(xiàn)在我們保護(hù)的實(shí)現(xiàn)中。我們的新白盒實(shí)現(xiàn)產(chǎn)生與由傳統(tǒng)實(shí)現(xiàn)創(chuàng)建的簽名兼容的簽名;因此,我們的解決方案便于互操作性并可被用作傳統(tǒng)實(shí)現(xiàn)的替代實(shí)現(xiàn)。具體地,我們描述了數(shù)字簽名生成過程的密鑰(d)和生成器域參數(shù)(通常用G或g表示)的變換,使得本發(fā)明的實(shí)施方式可產(chǎn)生簽名的消息,在驗(yàn)證者看起來就像使用了密鑰(d)而實(shí)際上沒有使用密鑰(d)。這使得對(duì)手不可能觀察到密鑰(d),因?yàn)閷?shí)際上并沒有使用密鑰(d)。其他實(shí)施方式包括使對(duì)手難于通過觀察生成數(shù)字簽名的過程推算出密鑰
(d)的另外的保護(hù)。本發(fā)明的一個(gè)方面提供了用于通過基于隨機(jī)整數(shù)f變換d來產(chǎn)生變換的密鑰(d )的方法和系統(tǒng),變換的密鑰J可與變換的生成器(例如(5或f)以及f本身一同使用來產(chǎn)生兼容的簽名消息。根據(jù)該方面,變換的生成器根據(jù)生成器、f的逆對(duì)η求模來產(chǎn)生。DSG可稍稍進(jìn)行修改以使用所述變換的生成器(例如.0或f)和5來代替所述生成器(G或g)和d,與包括f 一同在所述DSG過程中來產(chǎn)生數(shù)字簽名,該數(shù)字簽名可由所述驗(yàn)證過程使用公鑰Q進(jìn)行驗(yàn)證,就像在所述DSG過程中實(shí)際使用了 d和所述生成器一樣。一方面,本發(fā)明提供了保護(hù)加密密鑰(d)不被能夠在利用d的加密數(shù)字簽名生成(DSG)過程的執(zhí)行期間觀察計(jì)算設(shè)備A的對(duì)手B獲得的計(jì)算機(jī)實(shí)現(xiàn)方法,該密鑰(d)具有相應(yīng)的加密公鑰Q,其中,Q和d均涉及η階生成器,其中,d存儲(chǔ)且用于計(jì)算設(shè)備A上,所述DSG過程具有已知的利用Q的簽名驗(yàn)證過程,所述方法包括:a)在I至η-1的間隔中選擇隨機(jī)整數(shù)f ;b)基于所述生成器和f的逆對(duì)η求模產(chǎn)生變換的生成器;c)通過基于f變換d產(chǎn)生變換的密鑰(J );以及d)利用所述變換的生成器和J替代所述生成器和d,連同包括f在所述DSG過程中產(chǎn)生數(shù)字簽名,所產(chǎn)生的數(shù)字簽名可由所述驗(yàn)證過程使用Q進(jìn)行驗(yàn)證,就像在所述DSG過程中實(shí)際使用了 d和所述生成器一樣。另一方面,提供了保護(hù)加密密鑰(d)不被能夠在利用d的加密數(shù)字簽名生成(DSG)過程的執(zhí)行期間觀察計(jì)算設(shè)備A的對(duì)手B獲得的計(jì)算機(jī)實(shí)現(xiàn)方法,該密鑰(d)具有相應(yīng)的加密公鑰Q,其中,Q和d均涉及η階生成器,其中,d存儲(chǔ)且用于計(jì)算設(shè)備A上,所述加密過程具有已知的利用Q的簽名驗(yàn)證過程,所述方法包括:a)在I至η-1的間隔中選擇隨機(jī)整數(shù)f ;b)基于所述生成器和f的逆對(duì)η求模產(chǎn)生變換的生成器;c)通過基于f變換d產(chǎn)生變換的密鑰(3 );以及d)產(chǎn)生在機(jī)器可讀媒介中實(shí)施的計(jì)算機(jī)程序產(chǎn)品,所述機(jī)器可讀媒介存儲(chǔ)機(jī)器可執(zhí)行指令,使得當(dāng)機(jī)器可執(zhí)行指令由A執(zhí)行時(shí),A利用所述變換的生成器和.J替代所述生成器和d,連同增加f在所述DSG過程中產(chǎn)生數(shù)字簽名,所產(chǎn)生的數(shù)字簽名可由所述驗(yàn)證過程使用Q進(jìn)行驗(yàn)證,就像在所述DSG過程中實(shí)際使用了 d和所述生成器一樣。另一方面,本發(fā)明提供了包括有形計(jì)算機(jī)可讀媒介的計(jì)算機(jī)程序產(chǎn)品,所述有形計(jì)算機(jī)可讀媒介存儲(chǔ)計(jì)算機(jī)可讀指令,當(dāng)計(jì)算機(jī)可讀指令由處理器執(zhí)行時(shí)使所述處理器實(shí)現(xiàn)保護(hù)加密密鑰(d)不被能夠在利用d的加密數(shù)字簽名生成(DSG)過程的執(zhí)行期間觀察計(jì)算設(shè)備A的對(duì)手B獲得的計(jì)算機(jī)實(shí)現(xiàn)方法,該密鑰(d)具有相應(yīng)的加密公鑰Q,其中,Q和d均涉及η階生成器,其中,d存儲(chǔ)于計(jì)算設(shè)備A上并且在計(jì)算設(shè)備A上使用,所述加密過程具有已知的利用Q的簽名驗(yàn)證過程,所述計(jì)算機(jī)可讀指令包括:a)用于在I至η-1的間隔中選擇隨機(jī)整數(shù)f的指令;b)用于基于f的逆對(duì)η求模來計(jì)算所述生成器的變換的生成器值的指令;c)用于通過基于f計(jì)算d的變換值J的指令;以及d)存儲(chǔ)f值,所述變換的生成器和J以安全的方式用于變換的加密過程的后續(xù)使用,所述變換的加密過程使用f、所述變換的生成器和J產(chǎn)生數(shù)字簽名,所產(chǎn)生的數(shù)字簽名可由所述驗(yàn)證過程使用Q進(jìn)行驗(yàn)證,就像在所述加密過程中實(shí)際使用了 d和所述生成器一樣。另一方面,本發(fā)明提供了包括有形計(jì)算機(jī)可讀媒介的計(jì)算機(jī)程序產(chǎn)品,所述有形計(jì)算機(jī)可讀媒介存儲(chǔ)計(jì)算機(jī)可讀指令,當(dāng)計(jì)算機(jī)可讀指令由計(jì)算設(shè)備(A)執(zhí)行時(shí)使所述計(jì)算設(shè)備在消息M上產(chǎn)生數(shù)字簽名(r,S),所述數(shù)字簽名可通過用于對(duì)據(jù)稱由私鑰d持有者發(fā)起的對(duì)消息M的簽名(r,S)進(jìn)行驗(yàn)證的標(biāo)準(zhǔn)ECDSA數(shù)字簽名驗(yàn)證過程驗(yàn)證,其中,所述私鑰d具有相應(yīng)的加密公鑰Q,其中,Q和d均涉及η階生成器,所述簽名產(chǎn)生并且保護(hù)d不被能夠在所述計(jì)算機(jī)可讀指令的執(zhí)行期間觀察A的對(duì)手獲得,所述計(jì)算機(jī)可讀指令包括:i)用于在間隔[1,η-1]中選擇隨機(jī)整數(shù)j的指令;ii)用于將1:C Mnltiplyik ,(;)的結(jié)果賦予點(diǎn)R的指令,其中,
EC—句表示使橢圓曲線點(diǎn)G本身增加 倍,所述橢圓曲線點(diǎn)G已通過使用先前在I至η-1的間隔中選擇的隨機(jī)整數(shù)f基于所述生成器G的變換被預(yù)先生成;iii)用于將Rx modn的結(jié)果賦予r的指令,其中Rx為R的x坐標(biāo);iv)用于如果r=0則再次回到i)的指令,否則;V)用于將消息M上的哈希操作值賦予e的指令;vi)用于計(jì)算+的值以及將該值賦予s的指令,其中j是基于f被預(yù)先確定的d的變換值;vii)用于如果S=O則再次回到i)的指令,否則;V)用于將數(shù)字簽名的消息M連同簽名(r,s)傳輸至第三方用于驗(yàn)證的指令;以及其中,所述消息M上的所述簽名(r,s)等同于由標(biāo)準(zhǔn)E⑶SA過程通過使用私鑰d生成的簽名(r,s),除了私鑰d實(shí)際并沒有被使用并因此在執(zhí)行過程中未被加載至存儲(chǔ)器之外。另一方面,本發(fā)明提供`了包括有形計(jì)算機(jī)可讀媒介的計(jì)算機(jī)產(chǎn)品,所述有形計(jì)算機(jī)可讀媒介存儲(chǔ)計(jì)算機(jī)可讀指令,當(dāng)計(jì)算機(jī)可讀指令由計(jì)算設(shè)備(A)執(zhí)行時(shí)使所述計(jì)算設(shè)備使用離線變換的值進(jìn)行簽名從而在消息M上產(chǎn)生數(shù)字簽名(r,S),如本文所公開的那樣。通過參照附圖閱讀下面對(duì)本發(fā)明的具體實(shí)施方式
的描述,對(duì)于本領(lǐng)域技術(shù)人員而言,本發(fā)明的其他方面和特征將變得顯而易見。


下面將參照附圖通過僅示例對(duì)本發(fā)明的實(shí)施方式進(jìn)行描述,在附圖中:圖1是示出數(shù)字簽名生成的一般過程的流程圖;圖2是示出數(shù)字簽名驗(yàn)證的一般過程的流程圖;圖3是示出E⑶SA簽名生成的步驟的流程圖;圖4是示出根據(jù)本發(fā)明的實(shí)施方式的預(yù)備程序的步驟的流程圖;圖5是示出根據(jù)本發(fā)明實(shí)施方式生成ECDSA簽名的過程的步驟的流程圖;圖6是示出根據(jù)本發(fā)明實(shí)施方式的創(chuàng)建用于使這樣的E⑶SA簽名生成過程更魯棒的過程的步驟的流程圖;圖7是示出本發(fā)明的實(shí)施方式可在其上執(zhí)行的計(jì)算機(jī)系統(tǒng)的簡化示例。
具體實(shí)施例方式一般而言,本發(fā)明提供了用于保護(hù)數(shù)字簽名生成過程中的密碼資產(chǎn)的方法和系統(tǒng),其中密碼資產(chǎn)包括私鑰、秘密參數(shù)等。在圖1中示出了一般的數(shù)字簽名生成過程,其中,通過使用簽名生成算法104利用私鑰(d)對(duì)消息(m)進(jìn)行簽名以產(chǎn)生數(shù)字簽名(S)。在圖2中示出了一般的數(shù)字簽名驗(yàn)證過程,其中,對(duì)據(jù)稱已由私鑰(d)的持有者簽名的消息(m)上的數(shù)字簽名(S)通過利用簽名驗(yàn)證算法(206)使用持有者的公鑰(Q)進(jìn)行驗(yàn)證。上述過程的有利之處在于,任何人都可使用公鑰(Q)來驗(yàn)證簽名,該過程將根據(jù)實(shí)際上是否由私鑰(d)的持有者簽名來接受或拒絕208簽名。本發(fā)明的一個(gè)方面提供了一種方法和系統(tǒng),其可產(chǎn)生簽名(S)并且保護(hù)與現(xiàn)存的驗(yàn)證過程兼容的d。換言之,本發(fā)明的實(shí)施方式將在計(jì)算設(shè)備A上產(chǎn)生S,計(jì)算設(shè)備A上可能存在對(duì)手B,對(duì)手B積極地嘗試通過觀察簽名生成過程來獲取d,其可由206通過使用Q進(jìn)行驗(yàn)證而不需要驗(yàn)證者改變過程206。在下文中,我們描述了根據(jù)本發(fā)明的實(shí)施方式的用于將DSA或ECDSA簽名生成實(shí)現(xiàn)轉(zhuǎn)換成抗白盒攻擊者的實(shí)現(xiàn)的示例性過程。應(yīng)注意,我們使用的用語“光滑(smooth ) ”指的是傳統(tǒng)的、未受保護(hù)的簽名生成實(shí)現(xiàn)(易受白盒攻擊的實(shí)現(xiàn)),我們使用的用語“魯棒(robust)”指的是根據(jù)本發(fā)明的實(shí)施方式的受保護(hù)的實(shí)現(xiàn)。符號(hào)下面我們使用在參考文獻(xiàn)[2]中描述的類似符號(hào)定義一些與橢圓曲線密碼學(xué)(ECC)相關(guān)的用語和符號(hào):
權(quán)利要求
1.一種保護(hù)加密密鑰d不被能夠在利用d的加密數(shù)字簽名生成(DSG)過程的執(zhí)行期間觀察計(jì)算設(shè)備A的對(duì)手B獲得的計(jì)算機(jī)實(shí)現(xiàn)方法,其中,d具有相應(yīng)的加密公鑰Q,Q和d均涉及η階生成器,d存儲(chǔ)于A上并在A上使用,所述DSG過程具有已知的利用Q的簽名驗(yàn)證過程,所述方法包括: a)在I至η-1的間隔中選擇隨機(jī)整數(shù)f; b)基于所述生成器和f的逆對(duì)η求模產(chǎn)生變換的生成器; c)通過基于f變換d產(chǎn)生變換的密鑰3;以及 d)利用所述變換的生成器和^替代所述生成器和d,連同包括f,在所述DSG過程中產(chǎn)生數(shù)字簽名,所產(chǎn)生的數(shù)字簽名能夠通過使用Q的所述驗(yàn)證過程進(jìn)行驗(yàn)證,就像在所述DSG過程中實(shí)際使用了 d和所述生成器一樣。
2.如權(quán)利要求1所述的方法,其中,所述步驟a、b和c以不能被B觀察的一些方式執(zhí)行,所述步驟d由A在能被B觀察的情況下執(zhí)行。
3.如權(quán)利要求2所述的方法,其中,所述步驟a、b和c通過離線執(zhí)行以不能被B觀察的一些方式執(zhí)行。
4.如權(quán)利要求1至3中任一項(xiàng)所述的方法,其中,所述生成器為用于生成具有基數(shù)η的橢圓曲線群的橢圓曲線上的點(diǎn)G,其中,所述變換的生成器為所述橢圓曲線群中的另一點(diǎn)G ,其中步驟b)包括將f的逆對(duì)η求模的結(jié)果賦予Γ1,以及將使G本身增加Γ1倍的結(jié)果賦予δ ;以及其中步驟c)包 括將df modn的結(jié)果賦予J。
5.如權(quán)利要求4所述的方法,其中,所述數(shù)字簽名驗(yàn)證過程為用于對(duì)由私鑰d持有者發(fā)起的對(duì)消息M的簽名(r,S)進(jìn)行驗(yàn)證的標(biāo)準(zhǔn)ECDSA數(shù)字簽名驗(yàn)證過程,其中,所述步驟d)包括: i)在間隔[l,n-l]中選擇隨機(jī)整數(shù)[; ii)MEC—Multiply(k, Gj的結(jié)果賦予點(diǎn)R,其中,EC Multiply(k, G j表示使橢圓曲線點(diǎn)占本身增加[倍,; iii)將Rxmodn的結(jié)果賦予r,其中Rx為R的x坐標(biāo); iv)如果r=0,則再次從步驟i)開始,否則; V)將消息M上的哈希操作值賦予e ; vi)計(jì)算P+ 力的值以及將該值賦予s ; vii)如果s=0,則再次從步驟i)開始,否則; V)輸出簽名(r,s) 其中,消息M上的所述簽名(r,s)等同于通過使用所述私鑰d的所述標(biāo)準(zhǔn)E⑶SA過程生成的簽名(r,s),除了實(shí)際的私鑰d并沒有被使用并因此在執(zhí)行期間未被加載至存儲(chǔ)器之外。
6.如權(quán)利要求1至3中任一項(xiàng)所述的方法,其中,所述數(shù)字簽名驗(yàn)證過程為用于對(duì)由私鑰d持有者發(fā)起的對(duì)消息M的簽名(r,s)進(jìn)行驗(yàn)證的標(biāo)準(zhǔn)DSA數(shù)字簽名驗(yàn)證過程,所述標(biāo)準(zhǔn)DSA數(shù)字簽名驗(yàn)證過程利用域參數(shù)p、q和g,其中,所述生成器為g并且q=n,其中所述步驟b)包括將f的逆對(duì)q求模的結(jié)果賦予Γ1,以及將modi 的結(jié)果賦予蒼,其中對(duì)疒計(jì)算模q,其中步驟c)包括將df modq的結(jié)果賦予0
7.如權(quán)利要求6所述的方法,其中,所述步驟d)包括: i)在間隔[l,n-l]中選擇隨機(jī)整數(shù)務(wù); ii)將fmod的結(jié)果賦予rp ; iii)將rpmod q的結(jié)果賦予r ; iv)如果r=0,則再次從步驟i)開始,否則; V)將消息M上的哈希操作值賦予e ; vi )計(jì)算
8.如權(quán)利要求5或7所述的方法,其中,步驟vi)包括利用通過使用一系列查找表模糊的軟件例程來計(jì)算ef modn的值,使得f的值不被加載至存儲(chǔ)器并因此不會(huì)在計(jì)算期間泄露。
9.如權(quán)利要求8所述的方法,其中,步驟vi)還包括利用通過使用一系列查找表模糊的軟件例程來計(jì)算
10.如權(quán)利要求8或9所述的方法,其中,軟件例程包括在離線階段構(gòu)造的字方式的重新編碼表。
11.如權(quán)利要求5或7所述的方法,其中,哈希函數(shù)H由函數(shù)Hf替代,所述函數(shù)Hf因此產(chǎn)生值
12.如權(quán)利要求1至11中任一項(xiàng)所述的方法,還包括在執(zhí)行所述方法步驟的軟件上執(zhí)行的控制流和數(shù)據(jù)模糊。
13.一種保護(hù)加密密鑰d不被能夠在利用d的加密數(shù)字簽名生成(DSG)過程的執(zhí)行期間觀察計(jì)算設(shè)備A的對(duì)手B獲得的計(jì)算機(jī)實(shí)現(xiàn)方法,其中,d具有相應(yīng)的加密公鑰Q,Q和d均涉及η階生成器,其中,d存儲(chǔ)于A上并且在A上使用,所述加密過程具有已知的利用Q的簽名驗(yàn)證過程,所述方法包括: a)在I至η-1的間隔中選擇隨機(jī)整數(shù)f; b)基于所述生成器和f的逆對(duì)η求模產(chǎn)生變換的生成器; c)通過基于f變換d產(chǎn)生變換的密鑰J;以及 d)產(chǎn)生在機(jī)器可讀媒介中實(shí)施的計(jì)算機(jī)程序產(chǎn)品,所述機(jī)器可讀媒介存儲(chǔ)機(jī)器可執(zhí)行指令,所述機(jī)器可執(zhí)行指令在由A執(zhí)行時(shí)使A利用所述變換的生成器和J替代所述生成器和d,連同添加f,在所述DSG過程中產(chǎn)生數(shù)字簽名,所產(chǎn)生的數(shù)字簽名能夠通過使用Q的所述驗(yàn)證過程進(jìn)行驗(yàn)證,就像在所述DSG過程中實(shí)際使用了 d和所述生成器一樣。
14.如權(quán)利要求13所述的方法,其中,所述數(shù)字簽名驗(yàn)證過程為用于對(duì)由私鑰d持有者發(fā)起的對(duì)消息M的簽名(r,s)進(jìn)行驗(yàn)證的標(biāo)準(zhǔn)E⑶SA數(shù)字簽名驗(yàn)證過程;以及其中,所述生成器為用于生成具有基數(shù)η的橢圓曲線群的橢圓曲線上的點(diǎn)G,其中,所述變換的生成器為所述橢圓曲線群中的另一點(diǎn)O,其中步驟b)包括將f的逆對(duì)η求模的結(jié)果賦予Γ1,以及將使G本身增加Γ1倍的結(jié)果賦予O ;以及其中步驟c)包括將dfmodn的結(jié)果賦予J。
15.如權(quán)利要求13所述的方法,其中,所述數(shù)字簽名驗(yàn)證過程為用于對(duì)由私鑰d持有者發(fā)起的對(duì)消息M的簽名(r,s)進(jìn)行驗(yàn)證的標(biāo)準(zhǔn)DSA數(shù)字簽名驗(yàn)證過程,所述標(biāo)準(zhǔn)DSA數(shù)字簽名驗(yàn)證過程利用域參數(shù)P、q和g,其中,所述生成器為g并且q=n,其中所述步驟b)包括將f的逆對(duì)q求模的結(jié)果賦予Γ1,以及將' mod的結(jié)果賦予豆,其中對(duì)Γ1計(jì)算模q,其中步驟c)包括將df modq的結(jié)果賦予。
16.一種包括有形計(jì)算機(jī)可讀媒介的計(jì)算機(jī)程序產(chǎn)品,所述有形計(jì)算機(jī)可讀媒介存儲(chǔ)計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令在由處理器執(zhí)行時(shí)使所述處理器實(shí)現(xiàn)保護(hù)加密密鑰d不被能夠在利用d的加密過程的執(zhí)行期間觀察計(jì)算設(shè)備A的對(duì)手B獲得的方法,其中,d具有相應(yīng)的加密公鑰Q,Q和d均涉及η階生成器,d存儲(chǔ)于A上并在A上使用,所述加密過程具有已知的利用Q的表達(dá)過程,所述計(jì)算機(jī)可讀指令包括: a)用于在I至η-1的間隔中選擇隨機(jī)整數(shù)f的指令; b)用于基于f的逆對(duì)η求模來計(jì)算所述生成器的變換的生成器值的指令; c)用于基于f計(jì)算d的變換值S的指令;以及 d)以安全的方式存儲(chǔ)f的值,所述變換的生成器和^用于變換的加密過程的后續(xù)使用,所述變換的加密過程使用f、所述變換的生成器和^來產(chǎn)生數(shù)字簽名,所產(chǎn)生的數(shù)字簽名能夠通過使用Q的所述表達(dá)過程進(jìn)行驗(yàn)證,就像在所述加密過程中實(shí)際使用了 d和所述生成器一樣。
17.—種包括有形計(jì)算機(jī)可讀媒介的計(jì)算機(jī)程序產(chǎn)品,所述有形計(jì)算機(jī)可讀媒介存儲(chǔ)計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令在由計(jì)算設(shè)備A執(zhí)行時(shí)使所述計(jì)算設(shè)備在消息M上產(chǎn)生數(shù)字簽名(r,S),所述數(shù)字簽名可通過用于對(duì)據(jù)稱由私鑰d持有者發(fā)起的對(duì)消息M的簽名(r,s)進(jìn)行驗(yàn)證的標(biāo)準(zhǔn)ECDSA數(shù)字簽名驗(yàn)證過程進(jìn)行驗(yàn)證,其中,所述私鑰d具有相應(yīng)的加密公鑰Q,Q和d均涉及η階生成器,所述簽名產(chǎn)生并且保護(hù)d不被能夠在所述計(jì)算機(jī)可讀指令的執(zhí)行期間觀察A的對(duì)手所獲得,所述計(jì)算機(jī)可讀指令包括: i)用于在間隔[l,n-l]中選擇隨機(jī)整數(shù)左的指令; ii)用于將幻的結(jié)果賦予點(diǎn)R的指令,其中句表示使橢圓曲線點(diǎn)6本身增加$倍,所述橢圓曲線點(diǎn)G已通過使用先前在I至η-1的間隔中選擇的隨機(jī)整數(shù)f基于所述生成器G的變換被預(yù)先生成; iii)用于將Rxmod η的結(jié)果賦予r的指令,其中Rx為R的x坐標(biāo); iv)用于如果r=0則再次回到i)的指令,否則; V)用于將消息M上的哈希操作值賦予e的指令; vi)用于計(jì)算$+〃的值以及將該值賦予s的指令,其中j是基于f被預(yù)先確定的d的變換值; vii)用于如果s=0則 再次回到i)的指令,否則; V)用于將數(shù)字簽名的消息M連同簽名(r,s)傳輸至第三方用于驗(yàn)證的指令;以及其中,所述消息M上的所述簽名(r,s)等同于由標(biāo)準(zhǔn)E⑶SA過程使用私鑰d生成的簽名(r,s),除了實(shí)際的私鑰d并沒有被使用并因此在執(zhí)行期間未被加載至存儲(chǔ)器之外。
18.—種包括有形計(jì)算機(jī)可讀媒介的計(jì)算機(jī)產(chǎn)品,所述有形計(jì)算機(jī)可讀媒介存儲(chǔ)計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令在由計(jì)算設(shè)備A執(zhí)行時(shí)使所述計(jì)算設(shè)備使用離線變換的值進(jìn)行簽名從而在消息M上產(chǎn)生數(shù)字簽名(r,S),如本文所公開的那樣。
19.通過如本文所教導(dǎo)或所要求保護(hù)的任何方法和系統(tǒng)實(shí)現(xiàn)的機(jī)頂盒。
20.通過如本文所 教導(dǎo)或所要求保護(hù)的任何方法和系統(tǒng)實(shí)現(xiàn)的計(jì)算機(jī)設(shè)備。
全文摘要
公開了一種抗白盒攻擊者的數(shù)字簽名生成(DSG)過程。這通過將特別選擇的數(shù)據(jù)變換應(yīng)用于算法的輸入、輸出和內(nèi)部參數(shù)來實(shí)現(xiàn)。具體地,簽名者的私鑰不會(huì)清楚地出現(xiàn)在我們保護(hù)的實(shí)現(xiàn)中。我們的新白盒實(shí)現(xiàn)產(chǎn)生與由傳統(tǒng)實(shí)現(xiàn)創(chuàng)建的簽名兼容的簽名;因此,我們的解決方案便于互操作性并可被用作傳統(tǒng)實(shí)現(xiàn)的替代實(shí)現(xiàn)。具體地,我們描述了數(shù)字簽名生成過程的密鑰(d)和生成器域參數(shù)(通常用G或g表示)的變換,使得本發(fā)明的實(shí)施方式可產(chǎn)生簽名的消息,在驗(yàn)證者看起來就像使用了密鑰(d)而實(shí)際上沒有使用密鑰(d)。這使得對(duì)手不可能觀察到密鑰(d),因?yàn)閷?shí)際上并沒有使用密鑰(d)。其他實(shí)施方式包括使對(duì)手難于通過觀察生成數(shù)字簽名的過程推算出密鑰(d)的另外的保護(hù)。
文檔編號(hào)H04L9/32GK103081398SQ201080065944
公開日2013年5月1日 申請日期2010年3月31日 優(yōu)先權(quán)日2010年3月31日
發(fā)明者詹姆士·繆爾, 隋家元, 丹尼爾·艾利·穆多克, 菲利普·艾倫·埃森 申請人:埃德圖加拿大公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1