專利名稱:密碼消息簽名及校驗方法,對應的裝置和計算機程序產品的制作方法
密碼消息簽名及校驗方法,對應的裝置和計算機程序產品技術領域
本發(fā)明的領域是數字消息簽名系統(tǒng),且明確地說是“公共密鑰數字簽名”型密 碼系統(tǒng)。
更明確地說,本發(fā)明適用于對數字簽名的保護,明確地說是應對蓄意偽造數字 簽名的攻擊。
背景技術:
公共密鑰數字簽名系統(tǒng)
數字消息簽名系統(tǒng)是基于一對不對稱密鑰的使用,所述不對稱密鑰包括公共校 驗密鑰pk和私人或保密簽名密鑰sk。
此類系統(tǒng)常規(guī)上包含簽名裝置(例如,支付卡)和校驗裝置(例如,支付終 端)。消息的簽名可僅由簽名裝置產生,其是唯一擁有Sk的裝置。另一方面,數字簽名 的校驗可由任何裝置實行,用于校驗的公共密鑰依據定義是每個人已知的。
更確切地說,數字簽名系統(tǒng)包含三個裝置{K,S,V},其分別實施用于密鑰產 生裝置K的密鑰產生算法、用于簽名裝置S的簽名算法和用于校驗裝置V的簽名校驗算 法。
下文中,將該組算法一般地稱為一組簽名算法。
密鑰產生裝置K使得能夠產生密鑰對{pk,sk},使得公共密鑰數學上鏈接到保 密密鑰sk。
簽名裝置S具有一方面對應于待簽名的消息m且另一方面對應于保密密鑰Sk的 兩個輸入,以及對應于消息m的簽名的一個輸出(參考為S = S(m,sk)),其是借助保密 密鑰sk產生。
校驗裝置V具有對應于經簽名消息m、由簽名裝置產生的簽名s和公共密鑰pk 的三個輸入,以及一個二進制輸出b = V(m,s, pk)(b取值“真”或值“假”)。b對 應于借助公共密鑰pk對消息m的簽名s的確認或不確認。
此類簽名系統(tǒng)特別地用于信息系統(tǒng)和電子交易的保護。
對數字簽名系統(tǒng)的安全性的攻擊
數字簽名系統(tǒng)的安全性(如上所述)是此類系統(tǒng)的提供者的重大關注,此類系統(tǒng) 可用于(例如)保護銀行交易、存取控制或電信,且其因此(尤其)在面對可能試圖偽造 此類系統(tǒng)產生的數字簽名的攻擊者的情況下必須具有最大安全級別。
偽造物是(m',s')對,其盡管是由除簽名裝置S以外的實體產生(因此不具 有sk),但被校驗裝置V接受。
常規(guī)上,對數字簽名系統(tǒng)的偽造攻擊包括向簽名裝置S提供大量待簽名的消息 (簽名請求),以及在將下一待簽名的消息提交給簽名裝置S之前觀察每一所產生的簽名 以便獲取(完全或部分地)偽造(即,仿制)簽名裝置的操作的能力。
當成功時,此類攻擊因此使得能夠獲得某些消息的有效偽造物,而不必將這些消息提交給簽名裝置S。
傳統(tǒng)的用于評估數字簽名系統(tǒng)的安全性的技術包括限制(估計)攻擊者在獲取偽 造能力(即,在沒有合法簽名人的輔助的情況下產生簽名)之前所需的簽名請求的數目。
加強數字簽名系統(tǒng)的安全性的常規(guī)方式包括增加簽名裝置中使用的算法的數學 復雜性,以便使其對攻擊者做出的極大量簽名請求具有更大抵抗力。
此技術的一個缺點在于以下事實現代簽名算法因此設計和執(zhí)行起來較復雜, 借此致使此數字簽名保護方法實施起來在時間和電子組件方面代價較大。
本發(fā)明的目的
明確地說,本發(fā)明的目的是減輕現有技術的這些缺點。
更確切地說,本發(fā)明的一個目的是提供一種使得能夠有效、可靠且便宜地以易 于實施的方式加強數字簽名系統(tǒng)的安全性的技術。發(fā)明內容
本發(fā)明提出一種新穎的解決方案,其不具有現有技術的所有這些缺點,且其采 取具有加強安全性的密碼簽名方法的形式。
根據本發(fā)明,此具有加強安全性的簽名方法實施兩組簽名算法SAl = {K1, Si,VI}和SA2 = {K2,S2,V2},其中Ki、Si和Vi分別是密鑰產生算法、簽名產生算 法和簽名校驗算法,且所述方法包含
使用所述算法Kl產生永久密鑰從而遞送一對私人和公共密鑰{skl,pkl}的步 驟;
以及,對于待簽名的至少一個消息m:
簽名步驟,其包含以下子步驟
接收待簽名的所述消息m ;
使用所述算法K2產生暫時密鑰對{sk2,pk2};
借助所述簽名算法幻,借助私人密鑰sk2計算所述消息m的簽名s2 ;
借助所述簽名算法Si,借助所述私人密鑰Skl計算所述公共密鑰pk2的簽名Cl ;
提供加強的簽名{S2,cl, pk2}。
本發(fā)明因此是基于一種保護密碼消息簽名系統(tǒng)的新穎且獨創(chuàng)的方法,且明確地 說使用一對不對稱密鑰的系統(tǒng),其實施暫時不對稱密鑰對從而使得有可能不提供關于保 密密鑰ski的信息。
根據本發(fā)明的一個實施例,針對待簽名的每一消息m或根據所需安全性級別周 期性地實施所述簽名步驟。
因此,如果所需安全性級別非常高,那么根據本發(fā)明的此實施例的方法使得能 夠針對待簽名的每一消息m產生暫時密鑰對丨sk2,pk2},使得暫時保密密鑰僅使用一次 且不重復用于對另一消息簽名。
以此方式,可能試圖通過提交待簽名的消息(稱為簽名請求)和通過觀察所產 生的簽名而偽造此系統(tǒng)產生的簽名的潛在攻擊者將不能通過利用這些連續(xù)的簽名請求來 影響系統(tǒng),因為針對待簽名的每一消息產生新的暫時密鑰對。兩個連續(xù)的簽名之間不可存在推理。因此致使此類攻擊無效。
如果安全性級別較低,那么暫時密鑰對{sk2,pk2丨的產生可周期性地發(fā)生,例 如每η個待簽名的消息m。此實施例在密鑰產生方面代價較小,且在單一暫時保密密鑰 僅使用有限次數的限度內提供加強的安全性,借此不允許潛在攻擊者通過利用連續(xù)的簽 名請求來影響系統(tǒng)。
根據本發(fā)明的一個實施例,所述簽名算法S2實施散列函數H,且所述提供步驟 同樣提供至少一個隨機數r,其由所述散列函數H使用。
這使得能夠通過針對消息簽名實施散列函數來進一步加強安全性。
根據本發(fā)明的一個特定方面,算法Kl和K2、31和幻和/或Vl和V2成對相 同。
根據本發(fā)明的一個實施例,SAl和/或SA2包含RSA型算法(針對“公鑰加密 算法(Rivest ShamirAdleman) ” )。
根據本發(fā)明的另一實施例,SAl和/或SA2包含DSA型算法(針對“數字簽名算法”)。
根據本發(fā)明的一個特定方面,簽名方法同樣包含借助由校驗算法Vi中的一者實 施的產生算法Kh產生一對公共和保密密鑰{skh,pkh丨的步驟,且所述簽名步驟實施校驗 算法Vi已知的散列函數Pi,使得h = HpkhCm ; r),其中r是隨機數。所述加強簽名對 應于三元組(S2(h),cl,pk2)。
明確地說,所述散列函數為“可變”型。
借助產生算法Kh和使用散列函數H實施這些密鑰丨skh,pkh}使得能夠進一步 加強簽名的安全性。
本發(fā)明同樣涉及一種具有加強安全性的密碼消息簽名校驗方法,其實施兩個簽 名校驗算法Vl和V2,且包含針對依據根據權利要求1所述的具有加強安全性的密碼消息 簽名方法產生的簽名的聯合校驗階段,所述校驗階段針對待校驗的經簽名消息m包含以 下步驟
接收加強簽名三元組{s2,cl, pk2};
使用校驗算法V2和公共密鑰pk2校驗消息m的簽名S2,借此遞送第一正或負結 果;
使用校驗算法Vl和公共密鑰pkl校驗公共密鑰pk2的簽名Cl,借此遞送第二正 或負結果;
在第一和第二結果為正的情況下遞送正結果。
因此,在以加強簽名三元組的形式接收到通過上述簽名方法產生的簽名之后, 根據本發(fā)明的校驗方法必須在確認或不確認消息m的簽名之前實施兩個校驗。
根據本發(fā)明的一個實施例,所述接收步驟進一步包含接收至少一個隨機數r。
事實上,當簽名方法如上所述實施散列函數時,隨機數!·用于簽名且同樣需要用 于校驗簽名。
本發(fā)明的另一方面涉及一種具有加強安全性的密碼消息簽名裝置,其實施兩組 簽名算法SAl = {K1,Si,VI}和SA2 = {K2,S2,V2},其中Ki、Si和Vi分別是密鑰產生算法、簽名產生算法和簽名校驗算法,借此遞送一對私人和公共密鑰{skl,pkl}。根據本發(fā)明,針對待簽名的至少一個消息m,此方法同樣實施簽名構件,包含
接收待簽名的所述消息m的構件;
使用所述算法K2產生暫時密鑰對{sk2,pk2}的構件;
借助所述簽名算法幻借助私人密鑰sk2計算所述消息m的簽名s2的構件;
借助所述簽名算法Sl借助所述私人密鑰Skl計算公共密鑰pk2的簽名Cl的構 件;
提供加強的簽名{s2, cl, pk2}的構件。
此裝置明確地說能夠實施如上所述的簽名方法的步驟。此簽名裝置例如為支付 卡。
本發(fā)明同樣涉及一種具有加強安全性的密碼消息簽名校驗裝置,其實施兩個簽 名校驗算法Vl和V2,以及針對如上所述具有加強安全性的密碼消息簽名裝置產生的簽 名的聯合校驗構件。
根據本發(fā)明,針對待校驗的經簽名消息m,所述校驗構件實施
接收加強簽名三元組{s2,cl, pk2}的構件;
使用校驗算法V2和公共密鑰pk2校驗消息m的簽名S2借此遞送第一正或負結 果的構件;
使用校驗算法Vl和公共密鑰pkl校驗公共密鑰pk2的簽名cl借此遞送第二正或 負結果的構件;
在第一和第二結果為正的情況下遞送正結果的構件。
此校驗裝置明確地說能夠實施如上所述的校驗方法的步驟。此校驗裝置可為支 付終端。
本發(fā)明同樣進一步涉及一種具有加強安全性的密碼消息簽名校驗系統(tǒng),其包含 如上所述的密碼簽名裝置和密碼簽名校驗裝置。
最后,本發(fā)明涉及一種計算機程序產品,其可從通信網絡下載且/或記錄于計 算機可讀媒體上且/或可由處理器執(zhí)行,所述計算機程序產品包含用于實施如上所述的 密碼簽名方法的程序代碼指令;以及涉及一種計算機程序產品,其可從通信網絡下載且 /或記錄于計算機可讀媒體上且/或可由處理器執(zhí)行,所述計算機程序產品的特征在于其 包含用于實施如上所述的具有加強安全性的密碼消息簽名校驗方法的程序代碼指令。
閱讀僅出于說明性而非限定性目的給出的一個特定實施例的以下描述后且從附 圖中將更加了解本發(fā)明的其它特性和優(yōu)點,附圖中
圖1展示根據本發(fā)明的一個特定實施例的密碼簽名方法的主要步驟;
圖2展示根據本發(fā)明的一個特定實施例根據圖1的方法產生的密碼簽名的校驗方 法的主要步驟;
圖3展示根據本發(fā)明的一個特定實施例實施本發(fā)明的示范性系統(tǒng);
圖4展示本發(fā)明的示范性實施例;
圖5和6分別展示根據本發(fā)明的一個實施例分別實施簽名和校驗技術的簽名裝置 和校驗裝置的結構。
具體實施方式
一般原理
本發(fā)明的一般原理是基于在數字消息簽名系統(tǒng)中除了常規(guī)上用于每一消息的簽 名的一對永久不對稱密鑰{skl,pkl}外且出于加強此簽名系統(tǒng)的安全性的目的還實施一 對暫時不對稱密鑰{sk2,pk2}。
根據圖3所示的本發(fā)明的一個實施例,此簽名系統(tǒng)包含密鑰產生KK裝置30、簽 名SS或簽名人SS裝置31,和校驗VV裝置32。
因此,針對待簽名的每一消息m,由密鑰產生KK裝置使用算法K2產生暫時公 共密鑰pk2和暫時私人密鑰sk2。私人密鑰sk2由簽名SS的簽名算法S2使用,以便對消 息m簽名并產生簽名S2 = S2 (m,sk2)。
在計算簽名S2之后立即擦除暫時密鑰sk2。因此一對暫時密鑰{sk2,pk2}僅 使用一次,且算法K2在運行中產生與所存在的經提交供簽名的消息一樣多的對{sk2, pk2}。
簽名人SS同樣通過用其永久密鑰ski對pk2簽名而計算證書cl = Sl(pk2, ski)。
所述簽名(稱為加強簽名)包括三個元素Cl、pk2和S2。
簽名的接收者(校驗裝置VV)使用校驗算法Vl和V2校驗V2 (m,s2, pk2)= 真,且 Vl(pk2,cl,pkl)=真。
通過兩個觀察產生改進的安全性
暫時密鑰對僅使用一次,且因此不能成為攻擊者的多個簽名請求的對象;
永久保密密鑰skl僅用于對pk2簽名,pk2是不在可能的攻擊者的控制下的數據項目。
因此,使用兩組常規(guī)簽名算法{K1,Si,VI}禾P{K2,S2,V2},根據本發(fā)明的 此實施例的方法使得有可能構建一組新的加強數字簽名算法丨KK,SS, W}.
如所屬領域的技術人員將了解,算法選擇的非常大的組合對于丨Κ1,Si,VI[和 {Κ2, S2,V2}是可能的。另外,如已指示,不排除Kl= Κ2、Sl = S2禾Π Vl = V2的 選擇。
圖1和2分別針對簽名方法和簽名校驗方法更詳細地展示本發(fā)明的此實施例。
在第一階段中,在密鑰產生步驟10期間,算法Kl產生永久不對稱密鑰對{skl, pkl}。
在接收待簽名的消息m的步驟11之后,算法K2在產生步驟12期間產生一對暫 時不對稱密鑰{sk2,pk2}。
簽名人SS接著在步驟131期間實施簽名算法S2,其計算消息m的簽名s2,使 得s2 = S2(m,sk2);且在步驟132期間實施簽名算法Si,其計算證書cl = Sl (pk2, ski),同時使用永久密鑰ski對pk2簽名。
最后,在提供步驟14期間,考慮到校驗,遞送加強簽名丨Cl,pk2,s2}0
此加強簽名因此由校驗裝置在接收步驟20期間接收,所述校驗裝置實施校驗算 法Vl和V2以便遞送正或負校驗結果,借此確認或不確認所接收的加強簽名。
在校驗步驟211和212期間,校驗簽名s2和cl,即算法V2和Vl分別校驗 V2(m,s2, pk2)=真,且 Vl(pk2,cl, pkl)=真。
如果這兩個結果為真,那么校驗結果22為“OK”。如果兩個校驗中的至少一 者已失敗,那么校驗結果為“KO”。
以下段落描述以特定簽名算法實施本發(fā)明的某些實例。
基于“可變簽名”的實施例
可變簽名方案的一般原理
“可變”簽名方案使用可變散列函數和“常規(guī)”(RSA、DSA、...)簽名方案。
在圖4所示的根據本發(fā)明的此實施例的此簽名方案中,認為存在實施簽名算法 Sl和幻的簽名人SS,以及實施校驗算法Vl和V2的校驗裝置W。此校驗裝置VV同 樣包含密鑰產生算法Kh。簽名方案進一步包含密鑰產生算法Kl和K2,其分別產生一對 公共pkl和私人ski密鑰以及一對公共暫時pk2和私人sk2密鑰,如上文已描述。
此簽名方案的原理是基于將可變散列函數應用于待簽名的消息m,借此遞送消 息m的指紋h,且接著基于簽名算法Sl對此指紋h的簽名。
可變散列函數(明確地說,如文獻“H.ICrawczyk和T.RaWn??勺兩⒘泻秃灻?。 2000年網絡和分布式系統(tǒng)安全性研討會(NDSS' 00),2000年2月”中描述)可視為單 一用途簽名可變函數H使用公共密鑰pkh計算指紋h = Hpkh(m; r),其中m是待簽名 的消息且r是隨機變量。保密密鑰skh與公共密鑰pkh相關聯。這兩個密鑰pkh和skh 由校驗裝置VV的算法Kh產生。因此校驗裝置VV 了解skh。
可變函數的特性如下
抗沖突能力(即,兩個不同消息必須具有非常小的機會產生相同簽名)給定公 共密鑰pkh,難以找到與一對(m2 ; r2)不同的一對(ml ; rl),使得Hpkh(ml ; rl)= Hpkh (m2 ; r2);
均勻性給定保密陷門信息skh,容易在給定一對(ml; rl)和m2的情況下計算 r2,使得 HpkhCml ; rl) = Hpkh (m2 ; r2)。
在第一階段中,可變函數的密鑰產生算法Kh在步驟40期間產生保密skh和公共 pkh密鑰,步驟40跟隨在已結合圖1描述的步驟10、11和12之后。
接下來,在步驟41期間,簽名人SS選擇隨機消息ml和隨機變量rl,且通過應 用散列函數計算指紋h = Hpkh (ml ; rl)。
當簽名人SS接收到待簽名的消息時,其使用保密密鑰skh和所述對(ml ; rl)構 建數字 r,使得 h = Hpkh (ml ; rl) = Hpkh (m ; r)。
在步驟421期間,使用簽名算法幻,其同樣計算指紋h的簽名sigh2,使得sigh2 =S2 (h),且通過使用私人密鑰sk2 (其立即擦除),如先前在一般原理中所指示。
消息m的簽名在此對應于三元組(m,r,sigh2)。 此簽名可由于關系h = Hpkh (m ; r)且借助公共密鑰pkh和pk2而通過校驗算法VV校驗。
在步驟422期間,簽名人SS同樣使用算法Sl和永久私人密鑰ski計算證書Cl =Sl(pk2, ski)。
根據本發(fā)明的此實施例的加強簽名因此由三元組(cl,pk2,sigh2)組成,其是 在步驟43期間提供以用于校驗目的。
校驗裝置接收此三元組,借此使其能夠在第一階段期間校驗簽名Cl的有效性 (使用校驗算法Vl以及公共密鑰pkl和pW)。由簽名人SS構建的隨機數r同樣發(fā)射到 校驗裝置,從而使其能夠在第二階段中校驗sigh2的有效性(使用校驗算法幻、消息m, 以及公共密鑰pkh和pk2)。
因此,本發(fā)明的目的是通過將公共密鑰部分或完全包含在待簽名的消息的散列 部分中來加強所提出的構造。根據此實施例,發(fā)明性方法中使用的兩個簽名算法{K, S,ν}中的至少一者將用以下方式修改。
密鑰產生裝置K使得能夠產生密鑰對{pk,sk},使得公共密鑰pk數學上鏈接到 保密密鑰。
簽名裝置S具有一方面對應于待簽名的消息m且另一方面對應于保密密鑰Sk的 兩個輸入,以及對應于消息m的簽名的一個輸出(參考為s = SCh (m,pk), sk)),其借 助保密密鑰sk與散列函數h產生。
校驗裝置V具有對應于經簽名消息m和公共密鑰的散列部分、對應于由簽名裝 置產生的簽名s且對應于公共密鑰pk的三個輸入,以及一個二進制輸出b = V(h(m, pk), S, pk)(b取值“真”或值“假”)。b對應于借助公共密鑰pk對消息m的簽名S 的確認或不確認。
下文呈現本發(fā)明的基于可變散列函數的示范性實施例。
基于離散對數問題的可變散列函數的實例
論文“H.Krawczyk和T.Rabin??勺兩⒘泻秃灻?。2000年網絡和分布式系統(tǒng)安 全性研討會(NDSS' 00),2000年2月”特別地描述此散列函數。
必須使用以下參數
素數ρ和q,使得p = kq+l,其中q是足夠大的素數;
Zp*中次數為q的元素g(即,其是次數為q的群組G = <g>的生成元);
私人密鑰sk = X是選自Zq'的隨機數,且
公共密鑰pk = y由y = gx以ρ取模來界定。
根據此實施例,可變散列函數(針對屬于Zq'的消息m和屬于Zq'的隨機數r)界 定如下h = Hpk(m ; r) = gmy以ρ取模。
此散列函數具有完美的均勻性,因為y也是生成元。事實上,即使顯然沖突使 得能夠對以g為底數的y的離散對數問題求解,但給定離散對數χ、指紋Ii = Iiml./1和消 息 m2,同樣顯然 r2 = rl+(ml_m2)/x 以 q 取模意味著 Hpk(ml ; rl) = Hpk(m2 ; r2)。 因此,/針對隨機數r將m完全“隱藏”。
基于RSA對數問題的可變散列函數的實例
考慮如論文“Rivest,R. ; A.Shamir ; L.Adleman(1978)。 “獲得數字簽名和公共密鑰密碼系統(tǒng)的方法”。通信學ACM 21 O) 120-1 頁”中描述的RSA系統(tǒng),其具 有公共模數η和公共指數e。
保密密鑰和公共密鑰為sk = χ,其分別隨機選自Zn'和pk = y = Xe以η取模。
散列函數由h = Hpk (m ; r) = me.yr以η取模界定。
沖突意味著h = mr.yrl = m2e.yr2,其致使 y6^1) = (ml/m2)e 以 η 取模。
如果(r2-rl)與e互素,那么變得有可能計算y的eth根。因此,e = η必須固定。
基于GHR簽名系統(tǒng)的實施例
此簽名系統(tǒng)明確地說在論文“R.Gennaro、S.Halevi和T.RaWn,在無隨機諭示的情況下安全的散列與簽名的簽名,歐密會'99學報,LNCS第1592卷,德國施普林格出 版公司,1999年,第123-139頁”中描述。
在此實施例中,密鑰產生裝置KK產生強RSA模數η = pq且從Zn'中隨機選擇 隨機變量y。公共密鑰pk因而對應于對(n ; y),且保密密鑰Sk對應于對(p ; q)。
當簽名人SS接收到消息m時,其應用任何散列函數H以便計算參數e = H(m), 所述參數隨后將用作指數。
消息m的簽名對應于y的eth根以η取模,參考為S。因此必須校驗以下關系 = y以η取模。
簽名人可容易地計算簽名s 事實上,其知道參數phi(n) = (p-1) (q-1)且因此 可計算元素d以使得d與e的乘積等于1以phi (η)取模。簽名s因而為yd以η取模。
注意,當參數e不可逆(其在e為偶數的情況下可能發(fā)生)時,減輕此問題的一 種方法可以是將預定值與e相加(例如,1)直到相反條件經校驗為止。
簽名和校驗裝置的結構
最后,結合圖5和6,呈現根據本發(fā)明的一個實施例分別實施簽名技術和簽名校 驗技術的簽名裝置和簽名校驗裝置的簡化結構。
此簽名裝置包含存儲器51,其由緩沖存儲器組成;處理單元52,其例如裝備 有微處理器μ P且由計算機程序53驅動,所述計算機程序53實施根據本發(fā)明的簽名方法。
在初始化后,計算機程序代碼指令53例如載入到RAM存儲器中,之后由處理 單元52的處理器執(zhí)行。待簽名的至少一個消息m輸入到處理單元52中。處理單元52 的微處理器根據計算機程序指令53實施上述簽名方法的步驟。為了實現此目的,除緩沖 存儲器51外,簽名裝置還包含永久密鑰產生構件、簽名構件,所述簽名構件包含接收待 簽名的消息m的構件、產生暫時密鑰對的構件、計算消息m的簽名S2的構件、計算公共 密鑰的簽名Cl的構件和提供加強簽名{s2,cl, pk2丨的構件。這些構件由處理單元52 的微處理器驅動。
處理單元52因此將加強簽名發(fā)射到校驗裝置。
此校驗裝置包含存儲器61,其由緩沖存儲器組成;處理單元62,其例如裝備 有微處理器μ P且其由計算機程序63驅動,所述計算機程序63實施根據本發(fā)明的校驗方法。
在初始化后,計算機程序代碼指令63例如載入到RAM存儲器中,之后由處理 單元62的處理器執(zhí)行。由上述簽名裝置產生的加強簽名輸入到處理單元62中。處理單 元62的微處理器根據計算機程序指令63實施校驗方法的上述步驟。為了實現此目的, 除緩沖存儲器61外,校驗裝置還包含聯合簽名校驗構件,其包含接收加強簽名{s2,cl, pk2}的構件以及校驗簽名s2和cl的構件。這些構件由處理單元62的微處理器驅動。
處理單元62遞送加強簽名校驗結果。
權利要求
1.一種具有加強安全性的密碼消息簽名方法,其特征在于,其實施兩組簽名算法 SAl = {K1,Si,VI}禾Π SA2 = {K2,S2,V2},其中 Ki、Si 和 Vi 分別是密鑰產生算 法、簽名產生算法和簽名校驗算法,且所述方法包含使用所述算法Kl產生永久密鑰從而遞送一對私人和公共密鑰{skl,pkl}的步驟;以及,對于待簽名的至少一個消息m:簽名步驟,其包含以下子步驟接收待簽名的所述消息m;使用所述算法K2產生暫時密鑰對{sk2,pk2};借助所述簽名算法S2,借助私人密鑰sk2計算所述消息m的簽名s2 ;借助所述簽名算法Si,借助所述私人密鑰ski計算公共密鑰pk2的簽名cl ;提供加強的簽名{s2,cl, pk2}。
2.根據權利要求1所述的具有加強安全性的密碼消息簽名方法,其特征在于,針對待 簽名的每一消息m或根據所需安全性級別周期性地實施所述簽名步驟。
3.根據權利要求1所述的具有加強安全性的密碼消息簽名方法,其特征在于,所述簽 名算法S2實施散列函數,且所述提供步驟同樣提供至少一個隨機數r,所述隨機數r由所 述散列函數使用。
4.根據權利要求1所述的具有加強安全性的密碼消息簽名方法,其特征在于,所述算 法Kl和K2、Sl和S2和/或Vl和V2成對相同。
5.根據權利要求1所述的具有加強安全性的密碼消息簽名方法,其特征在于,SAl和 /或SA2包含RSA型算法(針對“公鑰加密算法”)。
6.根據權利要求1所述的具有加強安全性的密碼消息簽名方法,其特征在于,SAl和 /或SA2包含DSA型算法(針對“數字簽名算法”)。
7.根據權利要求3所述的具有加強安全性的密碼消息簽名方法,其特征在于,其同樣 包含借助由校驗算法Vi中的一者實施的產生算法Kh產生一對公共和保密密鑰{skh,pkh} 的步驟,且所述簽名步驟實施所述校驗算法Vi已知的散列函數H,使得h = HpkhCm ; r),其中r是隨機數。
8.根據權利要求7所述的具有加強安全性的密碼消息簽名方法,其特征在于,所述散 列函數為“可變”型。
9.根據權利要求8所述的具有加強安全性的密碼消息簽名方法,其特征在于,所述加 強簽名對應于三元組(S2(h),cl,pk2)。
10.—種具有加強安全性的密碼消息簽名校驗方法,其特征在于,其實施兩個簽名校 驗算法Vl和V2,且其包含針對依據根據權利要求1所述的具有加強安全性的密碼消息簽 名方法產生的簽名的聯合校驗階段,所述校驗階段針對待校驗的經簽名消息m包含以下步驟 接收加強簽名三元組{s2,cl, pk2};使用校驗算法V2和公共密鑰pk2校驗所述消息m的簽名s2,借此遞送第一正或負結果;使用校驗算法Vl和公共密鑰pkl校驗所述公共密鑰pk2的簽名cl,借此遞送第二正 或負結果;在所述第一和第二結果為正的情況下遞送正結果。
11.根據權利要求10所述的具有加強安全性的密碼消息簽名校驗方法,其特征在于, 所述接收步驟進一步包含接收至少一個隨機數r。
12.—種具有加強安全性的密碼消息簽名裝置,其特征在于,其實施兩組簽名算法 SAl = {K1,Si,VI}禾Π SA2 = {K2,S2,V2},其中 Ki、Si 和 Vi 分別是密鑰產生算 法、簽名產生算法和簽名校驗算法,且其實施使用所述算法Kl產生永久密鑰從而遞送一對私人和公共密鑰{skl,pkl}的構件;以及,針對待簽名的至少一個消息m:簽名構件,其包含接收待簽名的所述消息m的構件;使用所述算法K2產生暫時密鑰對{sk2,pk2}的構件;借助所述簽名算法S2借助私人密鑰sk2計算所述消息m的簽名s2的構件;借助所述簽名算法Sl借助所述私人密鑰ski計算公共密鑰pk2的簽名cl的構件;提供加強的簽名{s2,cl, pk2}的構件。
13.—種具有加強安全性的密碼消息簽名校驗裝置,其特征在于,其實施兩個簽名校 驗算法Vl和V2,且其實施針對根據權利要求12所述的具有加強安全性的密碼消息簽名 裝置產生的簽名的聯合校驗構件,所述校驗構件針對待校驗的經簽名消息m實施接收加強簽名三元組{s2,cl, pk2}的構件;使用校驗算法V2和公共密鑰pk2校驗所述消息m的簽名s2借此遞送第一正或負結 果的構件;使用校驗算法Vl和公共密鑰pkl校驗所述公共密鑰pk2的簽名cl借此遞送第二正或 負結果的構件;在所述第一和第二結果為正的情況下遞送正結果的構件。
14.一種具有加強安全性的密碼消息簽名校驗系統(tǒng),其特征在于,其包含根據權利要 求12所述的密碼簽名裝置和根據權利要求13所述的密碼簽名校驗裝置。
15.一種計算機程序產品,其可從通信網絡下載且/或記錄于計算機可讀媒體上且/ 或可由處理器執(zhí)行,所述計算機程序產品的特征在于其包含用于實施根據權利要求1到9 中任一權利要求所述的密碼簽名方法的程序代碼指令。
16.一種計算機程序產品,其可從通信網絡下載且/或記錄于計算機可讀媒體上且/ 或可由處理器執(zhí)行,所述計算機程序產品的特征在于其包含用于實施根據權利要求10和 11中任一權利要求所述的具有加強安全性的密碼消息簽名校驗方法的程序代碼指令。
全文摘要
本發(fā)明涉及一種具有加強安全性的密碼消息簽名方法,其特征在于其實施兩組簽名算法SA1={K1,S1,V1}和SA2={K2,S2,V2},其中Ki、Si和Vi分別是密鑰產生算法、簽名產生算法和簽名校驗算法,且所述方法包含使用所述算法K1產生永久密鑰從而遞送一對私人和公共密鑰{sk1,pk1}的步驟;以及,對于待簽名的至少一個消息m簽名步驟,其包含以下子步驟接收待簽名的所述消息m;使用所述算法K2產生暫時密鑰對{sk2,pk2};借助所述簽名算法S2,借助私人密鑰sk2計算所述消息m的簽名s2;借助所述簽名算法S1,借助所述私人密鑰sk1計算公共密鑰pk2的簽名c1;提供加強的簽名{s2,c1,pk2}。
文檔編號H04L9/30GK102025502SQ201010283799
公開日2011年4月20日 申請日期2010年9月15日 優(yōu)先權日2009年9月15日
發(fā)明者大衛(wèi)·珀爾薩瓦, 大衛(wèi)·納卡什, 帕威爾·波列修克 申請人:安智金融與工業(yè)公司