国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于SM2簽名的密鑰檢測(cè)方法及其系統(tǒng)與流程

      文檔序號(hào):12751376閱讀:894來源:國(guó)知局
      用于SM2簽名的密鑰檢測(cè)方法及其系統(tǒng)與流程

      本發(fā)明涉及的是一種計(jì)算機(jī)安全領(lǐng)域的技術(shù),具體是一種用于SM2簽名的密鑰檢測(cè)方法及其系統(tǒng)。



      背景技術(shù):

      在現(xiàn)實(shí)中,密碼系統(tǒng)通常是以硬件或以硬件為表現(xiàn)形式的軟件來實(shí)現(xiàn)的,譬如:智能卡、RFID、密碼協(xié)處理器、SoC密碼芯片、密碼機(jī)。在這些密碼系統(tǒng)的實(shí)現(xiàn)環(huán)境中,攻擊者可以觀察和測(cè)量密碼變換的能量消耗、電磁輻射等信息,利用這些額外的信息有可能實(shí)現(xiàn)比傳統(tǒng)的數(shù)學(xué)分析更有效的密碼破譯。這種環(huán)境下的攻擊通常被人們稱為”旁路攻擊”(Side Channel Attack)。旁路攻擊通常包括簡(jiǎn)單功耗分析(SPA)和差分功耗分析(DPA)。

      其中,DPA攻擊是通過記錄密碼設(shè)備對(duì)大量不同數(shù)據(jù)進(jìn)行加密或解密操作時(shí)的功耗曲線,利用統(tǒng)計(jì)方法從功耗曲線中恢復(fù)出密碼設(shè)備中的密鑰,其分析效果也相對(duì)更加有效。DPA的思想能夠應(yīng)用于各種密碼算法的分析中,包括對(duì)稱密碼算法和公鑰密碼算法。通常來說公鑰密碼算法執(zhí)行時(shí)間更長(zhǎng),其泄露的功耗信息也越多,功耗信息利用方式也呈現(xiàn)多樣化。但目前針對(duì)公鑰ECC方案的分析,大都針對(duì)于其核心運(yùn)算:標(biāo)量乘運(yùn)算。

      由于標(biāo)量乘運(yùn)算是SM2乃至所有ECC方案安全性的基礎(chǔ),研究者們也提出了許多種針對(duì)標(biāo)量乘運(yùn)算的分析方法,包括:傳統(tǒng)的DPA分析、水平分析以及水平碰撞分析等。為了防護(hù)這些分析方法,標(biāo)量乘運(yùn)算的實(shí)現(xiàn)方案也越來越安全,使得分析者很難從標(biāo)量乘運(yùn)算上獲得有用信息。

      如圖1所示,基于橢圓曲線簽名方案的SM2包含三大部分:標(biāo)量乘運(yùn)算、生成簽名部分值r、生成整個(gè)簽名對(duì)(r,s)。在生成整個(gè)簽名對(duì)的過程中,存在針對(duì)密鑰的求逆操作,即:(d+1)-1mod n,其中:d為簽名的私鑰且為不少于160bytes的大數(shù),n為已知的SM2簽名方案的公共參數(shù)。求逆操作(d+1)-1mod n有兩種實(shí)現(xiàn)方式,一種為擴(kuò)展歐幾里德算法,該實(shí)現(xiàn)方式需消耗更多的硬件資源包括寄存器和電路面積;另一種通過模冪實(shí)現(xiàn),即:(d+1)-1mod n=(d+1)n-2mod n。該方法能夠復(fù)用原電路中的模乘模塊,節(jié)省電路面積。

      在傳統(tǒng)的DPA分析下,針對(duì)SM2簽名的分析一般分為兩種:一是針對(duì)標(biāo)量乘運(yùn)算進(jìn)行分析,恢復(fù)標(biāo)量,但由于SM2簽名方案的標(biāo)量為隨機(jī)數(shù),因此該分析僅在單條曲線下分析才有意義;二是針對(duì)生成整個(gè)簽名對(duì)中的運(yùn)算r×d進(jìn)行DPA分析。而這兩種分析又非常易于防護(hù):對(duì)于標(biāo)量乘的分析在單條曲線下實(shí)現(xiàn)針對(duì)SPA的防護(hù)及水平攻擊防護(hù);針對(duì)r×d分析,可通過修改生成整個(gè)簽名對(duì)中的求逆操作實(shí)現(xiàn),即:(d+1)-1*(k-r×d)mod n=(d+1)-1*(k-r×(d+1-1))mod n=((d+1)-1(k-r)-r)mod n,其中:k為SM2標(biāo)量乘運(yùn)算中的隨機(jī)數(shù);如此一來,r×d運(yùn)算就在求逆操作中消失了,也無法進(jìn)行分析;而大多數(shù)SM2防護(hù),都是針對(duì)標(biāo)量乘和簽名生成階段r×d進(jìn)行設(shè)計(jì),而往往忽略了(d+1)-1的防護(hù)。

      經(jīng)過對(duì)現(xiàn)有技術(shù)的檢索發(fā)現(xiàn),中國(guó)專利文獻(xiàn)號(hào)CN104683102A,公布日2015.6.3,公開了一種SM2簽名計(jì)算方法和裝置,方法包括:獲取簽名r、未知的臨時(shí)密鑰k、私鑰d和模數(shù)n;計(jì)算第一值,所述第一值為私鑰d加1后的值;計(jì)算第二值,所述第二值為所述第一值的模逆;計(jì)算第三值,所述第三值為簽名r和所述未知的臨時(shí)密鑰k的和;計(jì)算第四值,所述第四值為第三值和所述第二值的乘積;獲取SM2的簽名結(jié)果S,所述簽名結(jié)果S為所述第四值減去r后對(duì)n取模的值。但該技術(shù)的分析對(duì)象在于第四值的產(chǎn)生過程,適用性較窄,在應(yīng)用防護(hù)措施時(shí),第四值有可能已經(jīng)變化。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明針對(duì)現(xiàn)有技術(shù)存在的上述不足,提出一種用于SM2簽名的密鑰檢測(cè)方法及其系統(tǒng),能夠在密鑰未知的情況下通過其公共信息建立模板,進(jìn)而恢復(fù)完整的密鑰。

      本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:

      本發(fā)明涉及一種用于SM2簽名的功耗分析方法,通過將待測(cè)密碼系統(tǒng)生成的SM2簽名的部分公共信息定位到簽名求逆階段,得到該部分公共信息在求逆階段的泄露位置;確定簽名輸出階段r或s的位置,然后根據(jù)r或s的單字節(jié)值對(duì)泄露位置的功耗曲線進(jìn)行分類,建立每一類功耗曲線的單字節(jié)值的模板;再將待測(cè)密鑰的部分公共信息在求逆輸出階段的功耗曲線與模板進(jìn)行匹配,匹配正確后即得待測(cè)密鑰的求逆結(jié)果,完成模板攻擊;最后根據(jù)求逆結(jié)果恢復(fù)所有字節(jié)信息,對(duì)所有字節(jié)信息求逆后減1,恢復(fù)密鑰信息。

      所述的定位是指:確定求逆位置和r或s輸出后將完成標(biāo)量乘運(yùn)算后生成的部分與r或s的功耗曲線做相關(guān)性分析。

      所述的單字節(jié)模板為:hi=(mi,Ci),i∈[0,255],其中:hi為值為i的模板,mi為功耗曲線的均值,Ci為功耗曲線的協(xié)方差矩陣。

      所述的匹配的依據(jù)為:其中:p為功耗曲線與模板的匹配概率,t為被測(cè)功耗曲線。

      所述的匹配候選正確值為:v*=argmaxi(p(t;hi)),其中:v*為匹配候選正確值,maxi()為所有i中概率最大值。

      本發(fā)明涉及一種實(shí)現(xiàn)上述方法的檢測(cè)系統(tǒng),包括:定位模塊、模板處理模塊、匹配計(jì)算模塊和密鑰恢復(fù)模塊,其中:定位模塊將隨機(jī)輸入簽名結(jié)果中的公共信息通過相關(guān)性進(jìn)行定位,并通過簽名結(jié)果輸出部分的功耗特征定位至簽名的求逆階段;模板處理模塊對(duì)定位模塊中的功耗曲線進(jìn)行分類,并對(duì)每一類功耗曲線建立模板,計(jì)算模板信息;模板匹配模塊根據(jù)模板處理模塊中的模板信息與待測(cè)密鑰對(duì)應(yīng)的功耗曲線進(jìn)行匹配,將匹配正確的結(jié)果輸入至密鑰恢復(fù)模塊,通過密鑰恢復(fù)模塊得到正確的密鑰信息。

      技術(shù)效果

      與現(xiàn)有技術(shù)相比,本發(fā)明通過模板攻擊和線下計(jì)算,不需要知道密鑰或者攻擊者控制一臺(tái)與待測(cè)密碼系統(tǒng)完全相同或類似的設(shè)備,即可通過其公共信息建立模板進(jìn)行模板攻擊,恢復(fù)最終密鑰;本發(fā)明關(guān)注點(diǎn)在于SM2簽名算法中防護(hù)方案的短板,即在標(biāo)量乘運(yùn)算與簽名生成階段添加了防護(hù),針對(duì)求逆結(jié)果的分析仍然能夠恢復(fù)出簽名的私鑰;為SM2簽名算法的安全防護(hù)提供新的方向。

      附圖說明

      圖1為SM2簽名流程圖;

      圖2為密鑰檢測(cè)方法示意圖;

      圖3為SM2簽名的生成與求逆的存儲(chǔ)功耗曲線;

      圖4為SM2簽名的生成與求逆的存儲(chǔ)功耗曲線部分放大圖;

      圖5為求逆結(jié)果單字節(jié)功耗噪聲分布圖;

      圖6為簽名結(jié)果單字節(jié)功耗噪聲分布圖;

      圖7為恢復(fù)成功率圖;

      圖8為檢測(cè)系統(tǒng)示意圖。

      具體實(shí)施方式

      下面對(duì)本發(fā)明的實(shí)施例作詳細(xì)說明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。

      實(shí)施例1

      如圖2所示,本實(shí)施例包括以下步驟:

      步驟1、向密碼系統(tǒng)中隨機(jī)輸入明文,循環(huán)執(zhí)行SM2簽名,將部分公共信息r定位到簽名的求逆階段,得到r在求逆階段的泄露位置。

      所述的定位是指:確定求逆位置和r或s輸出后將完成標(biāo)量乘運(yùn)算后生成的部分與r或s的功耗曲線做相關(guān)性分析。

      由于r或s的輸出與求逆輸出具有相同模式,因此兩者都較易識(shí)別定位。

      如圖3和圖4所示,求逆輸出階段和簽名輸出階段的功耗曲線具有相似的行為模式,即”計(jì)算‐存儲(chǔ)”,并且兩者在功耗表現(xiàn)上模式也相同。在[1950,2150]的區(qū)間范圍內(nèi),兩者功耗體現(xiàn)出高度相似,而該處細(xì)微的差異則是由于噪聲以及數(shù)據(jù)值不同造成的。

      步驟2、根據(jù)單字節(jié)值對(duì)步驟1中的泄露位置的功耗曲線進(jìn)行分類,建立每一類功耗曲線的單字節(jié)值的模板。

      所述的單字節(jié)模板為:hi=(mi,Ci),i∈[0,255],其中:hi為值為i的模板,mi為功耗曲線的均值,Ci為功耗曲線的協(xié)方差矩陣。

      步驟3、將待測(cè)密鑰的部分公共信息r′在求逆階段的功耗曲線與模板進(jìn)行匹配,匹配正確后即得待測(cè)密鑰的求逆結(jié)果。

      所述的匹配的依據(jù)為:其中:p為功耗曲線與模板的匹配概率,t為被測(cè)功耗曲線。

      所述的匹配候選正確值為:v*=argmaxi(p(t;hi)),其中:v*為匹配候選正確值,maxi()為所有i中概率最大值。

      步驟4、根據(jù)步驟3得到的求逆結(jié)果恢復(fù)所有字節(jié)信息,結(jié)合已知模數(shù)進(jìn)行線下計(jì)算,恢復(fù)待測(cè)密鑰信息。

      如圖8所示,本實(shí)施例涉及上述密鑰檢測(cè)方法的系統(tǒng),包括:定位模塊、模板處理模塊、匹配計(jì)算模塊和密鑰恢復(fù)模塊,其中:定位模塊將隨機(jī)輸入簽名結(jié)果中的公共信息通過相關(guān)性進(jìn)行定位,并通過簽名結(jié)果輸出部分的功耗特征定位至簽名的求逆階段;模板處理模塊對(duì)定位模塊中的功耗曲線進(jìn)行分類,并對(duì)每一類功耗曲線建立模板,計(jì)算模板信息;模板匹配模塊根據(jù)模板處理模塊中的模板信息與待測(cè)密鑰對(duì)應(yīng)的功耗曲線進(jìn)行匹配,將匹配正確的結(jié)果輸入至密鑰恢復(fù)模塊,通過密鑰恢復(fù)模塊得到正確的密鑰信息。

      本實(shí)施例提出了一種新的信息利用方式,并尋找到了該信息利用的基礎(chǔ),即:SM2簽名算法中不同位置的存儲(chǔ)操作具有相同的存儲(chǔ)模式及存儲(chǔ)硬件。相同的存儲(chǔ)模式及存儲(chǔ)硬件是指在同一平臺(tái)上實(shí)現(xiàn)的SM2簽名算法如ASIC或FGPA,它們?cè)诖鎯?chǔ)器的硬件結(jié)構(gòu)及存儲(chǔ)模式上是相同的,只是在不同的時(shí)間發(fā)生存儲(chǔ)行為。

      所述的在不同的時(shí)間發(fā)生存儲(chǔ)行為,是指在標(biāo)量乘運(yùn)算后存儲(chǔ)結(jié)果坐標(biāo)、計(jì)算得到簽名部分公共信息r并進(jìn)行存儲(chǔ)、大數(shù)求逆結(jié)果存儲(chǔ)及其他中間值計(jì)算的存儲(chǔ)行為。基于不同時(shí)間的存儲(chǔ)行為,其硬件表現(xiàn)形式相同,那么其功耗泄露情況也相似。

      所述的功耗泄露情況相似,是指其在不同位置的泄露符合模板攻擊的基本假設(shè),即高斯噪聲符合相同的分布,如圖5和6所示。其中圖5展示了簽名輸出階段單點(diǎn)泄露最大值的噪聲分布情況,而圖6展示了求逆輸出階段單點(diǎn)泄露最大值的噪聲分布情況??梢钥吹剑瑑商帋缀醴南嗤姆植?,因此模板攻擊能夠發(fā)揮作用。

      基于模板攻擊,可以利用部分簽名結(jié)果r的信息來建立模板,恢復(fù)(d+1)-1mod n結(jié)果后,再執(zhí)行線下計(jì)算(((d+1)-1)-1mod n)-1,即可得到全部簽名密鑰。

      所述的SM2簽名方案中大數(shù)求逆,針對(duì)固定密鑰值,其求逆結(jié)果相同。這意味著,對(duì)于SM2簽名算法中大數(shù)求逆的模板匹配,能夠運(yùn)用多條曲線進(jìn)行分析,能夠保障其匹配的成功率,如圖7所示,在實(shí)驗(yàn)情況下100條曲線即可達(dá)到95%的成功率。

      本實(shí)施例對(duì)于SM2簽名方案中高階防護(hù)如標(biāo)量運(yùn)算的防護(hù)及簽名生成時(shí)的防護(hù)都能產(chǎn)生有效攻擊。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1