專利名稱:基于輕量級(jí)數(shù)字簽名方案的證書防偽方法
技術(shù)領(lǐng)域:
基于輕量級(jí)數(shù)字簽名方案的證書防偽方法屬于密碼技術(shù)和計(jì)算機(jī)技術(shù)領(lǐng)域,和信息安全 技術(shù)密切相關(guān)。
背景技術(shù):
數(shù)字簽名方案是公開密鑰密碼技術(shù)的一種,可用于計(jì)算機(jī)中或互聯(lián)網(wǎng)(Internet)上數(shù)據(jù) 文件的簽名,其目的是防止發(fā)送方假冒他人身份進(jìn)行數(shù)據(jù)傳輸或?qū)鬏敂?shù)據(jù)進(jìn)行抵賴,因此, 數(shù)字簽名具有抗抵賴性和可鑒別性。
其過程是這樣的,用戶先得到數(shù)據(jù)文件或消息的Hash摘耍,然后用自己的私鑰與Hash 摘要運(yùn)算,就生成了簽名碼。任何人可以對(duì)簽名碼進(jìn)行驗(yàn)證,因?yàn)樵撚脩舻墓€是公開的。 驗(yàn)證時(shí),驗(yàn)證者也是先得到同一個(gè)數(shù)據(jù)文件或消息的Hash摘要,然后,用該用戶的公鑰與 Hash摘要運(yùn)算,看結(jié)果是否滿足某一預(yù)先設(shè)定的判別式。
Hash函數(shù)也叫單項(xiàng)散列函數(shù),它的輸入是一個(gè)消息或文件,輸出是80、 96、 128、 160、 192或256 二進(jìn)制比特,只要輸入不同,輸出就會(huì)不同,且在多項(xiàng)式時(shí)間內(nèi)不可能從輸出偽 造另外一個(gè)具有相同輸出的輸入.因此,Hash函數(shù)的輸出(也叫消息摘要或Hash摘要)就 相當(dāng)于那個(gè)消息或文件的"指紋",具有唯一性。
近年來,隨著社會(huì)各個(gè)方面的發(fā)展與進(jìn)步,人們考取了各種各樣的證書。例如,為了找 到一個(gè)更好的工作,更多的人接受了大學(xué)、研究生等髙等教育,領(lǐng)取了畢業(yè)證書和學(xué)歷證書。
然而,在利益的驅(qū)使下,文憑、證書等造假的違法活動(dòng)愈演愈烈,甚至出現(xiàn)了偽造文憑、 證書的"行業(yè)"。畢業(yè)證書造假是潛伏在社會(huì)中的一種不道德的違法現(xiàn)象.假文憑一方面對(duì) 學(xué)校的學(xué)術(shù)聲譽(yù)造成了極大的損害,使真正的文憑"貶值";另一方面各個(gè)單位、企業(yè)在選擇 人才時(shí)也提心吊膽,降低了真正人才的就業(yè)機(jī)會(huì);同時(shí),一些踏踏實(shí)實(shí),通過自己不懈努力 拿到學(xué)歷的人才被忽視,甚至還會(huì)被拿著假文憑的人搶走錄用機(jī)會(huì),這是極為不公平的。廣 大學(xué)子和用人單位對(duì)此都深惡痛絕.還有汽車駕證.房地產(chǎn)證等的偽造行為也給社會(huì)的穩(wěn)定 和經(jīng)濟(jì)的正當(dāng)運(yùn)行造成了極大破壞。
目前的防偽方法,例如,文字和圖象比較、物理方法、光學(xué)方法等,并不能從根本上杜 絕偽造現(xiàn)象,因此,有必要研究新的更有效的防偽方法。
發(fā)明內(nèi)容
如果把公鑰簽名技術(shù)用到網(wǎng)下現(xiàn)實(shí)世界中各種證書的防偽,那么證書的安全性就能和公 鑰數(shù)字簽名方案的安全性等價(jià),就能從根本上解決各種證書的造假與可信問速。數(shù)字簽名方 案是完全公開的,它能經(jīng)受起各種多項(xiàng)式時(shí)間的攻擊,它的防偽性能完全來自私鑰的保密*
然而,現(xiàn)在常用的數(shù)字簽名方案,例如RSA和ECC,因模數(shù)太大而沒有實(shí)用價(jià)值.
假設(shè)簽名碼用64進(jìn)制表示(即6位比特用一個(gè)字符來代替)。字符包括數(shù)字0、 ...、 9, a、...、
z, A.....Z,這些字符個(gè)數(shù)為26 x 2+10 = 62。因?yàn)樽帜竜、 O與數(shù)字0容易混淆,因此,
用+、-取代字母o、 0,另外,再添加字符*、 \,這樣,剛好湊齊64個(gè)字狩。這些字符都可以 從計(jì)算機(jī)上或手機(jī)上輸入。
如果采用1024比特的RSA算法(其安全性相當(dāng)于0(280)指令數(shù),運(yùn)算時(shí)間為0(236)MIPS 年),則簽名碼的長度為1024比特,其64進(jìn)制長度為171個(gè)字符。顯然,驗(yàn)證時(shí)手工錄入171 個(gè)字符是不現(xiàn)實(shí)的。如果采用160比特的ECC算法(其安全性等價(jià)于1024比特的RSA),則 簽名碼的長度為4 x 160比特,其64進(jìn)制長度為108個(gè)字符。顯然,這個(gè)"fe度對(duì)于手工錄入 來講仍然過長。注意,證書作為一種低成本的物品不必要被嵌入IC芯片來存儲(chǔ)簽名碼,而且, IC芯片一旦損壞,就無法驗(yàn)證證書。
2006年,我們提交了發(fā)明申請(qǐng)"一種基于超對(duì)數(shù)難題和雙同余定理的數(shù)字簽名方法"(申 請(qǐng)?zhí)枮?00610145647.9,簡稱為REESSEl+簽名方案)。這是一種完全原始創(chuàng)新的公鑰簽名方 法,與常用的RSA和ECC相比,它有一個(gè)優(yōu)勢(shì),即模數(shù)的長度可以降低到與明文分組的長 度n相等,而安全性可以維持在0(2")。
本發(fā)明利用輕量級(jí)、即小模數(shù)REESSEl+數(shù)字簽名方案設(shè)計(jì)了一種用于各種證書防偽的 安全方法,簽名與驗(yàn)證均快捷、方便、不需要額外成本,可以完全保證各種證書在個(gè)人和企 業(yè)間的安全和可信使用。
3.1 REESSEl+簽名的輕量級(jí)化
REESSEl+是一個(gè)多變量、多難題公鑰體制,多變量排列組合難題保證了私鑰的安全性、 子集模乘積難題保證了加密的安全性、超對(duì)數(shù)難題保證了數(shù)字簽名的安全性。
所謂"輕量級(jí)化"就是把模數(shù)長度盡可能降低,且不影響體制的安全性。
如果REESSEl+只用于數(shù)字簽名,則密鑰生成算法中的約束^^nr-,l^l可以去掉,從而, 模數(shù)長度可以降至"個(gè)比特,但而安全性仍保持在0(2"),這里,ii 80或#1>抑。可以進(jìn)一 步分析,參數(shù)^、仏r的大小并不影響體制的安全性。例如,當(dāng)/1 = 78時(shí),簽名碼為2x78 比特,其64進(jìn)制字符為26個(gè),僅比身份證多8個(gè)字符,達(dá)到了實(shí)用的長度。
在證書防偽方法中,還可以選擇w-84、卯或96,此時(shí),簽名碼的第一個(gè)參數(shù)做適當(dāng)選
擇,使之滿足一定的壓縮比例,從而保證簽名碼的長度不大于26個(gè)字符,
3.2證書防偽的密鑰生成部分
本部分供單位或?qū)W??偛渴褂茫灰B網(wǎng),用于生成本單位或?qū)W校的一對(duì)私鑰和公鑰。
(1) 設(shè)置參數(shù)11 = 78、 84、卯或96,
(2) 輸入單位或?qū)W校代碼,
(3) 調(diào)用輕量級(jí)REESSEl+密鑰生成模塊,得到一對(duì)私鑰和公鑰,
(4) 把私鑰寫入一個(gè)USB閃存中,
(5) 公鑰存于單位或?qū)W校驗(yàn)證數(shù)據(jù)庫中,與單位或?qū)W校代碼相對(duì)應(yīng)。
注意,存儲(chǔ)公鑰的數(shù)據(jù)庫可以存放在一臺(tái)連入互聯(lián)網(wǎng)的計(jì)算機(jī)中,以便用戶能夠通過互 聯(lián)網(wǎng)來驗(yàn)證簽名碼。
33證書防偽的數(shù)字簽名部分
本部分供單位或?qū)W??偛渴褂?,不要連網(wǎng),它根據(jù)證書關(guān)鍵信息生成和輸出64進(jìn)制簽名 碼(其長度小于26字符)。
所謂關(guān)鍵信息是指與發(fā)證機(jī)關(guān)和持證者身份、狀態(tài)、條件等密切相關(guān)的且需要防止偽造 的信息。例如,對(duì)于一個(gè)畢業(yè)證書來講,關(guān)鍵信息應(yīng)該包括證書編號(hào)、身份證號(hào)、姓名、畢 業(yè)學(xué)校、畢業(yè)時(shí)間等。
假設(shè)所有證書的書面信息已經(jīng)存儲(chǔ)在一個(gè)數(shù)據(jù)庫中。
(1) 根據(jù)證書編號(hào),從數(shù)據(jù)庫中輸出某個(gè)證書的關(guān)鍵信息,
(2) 得到關(guān)鍵信息的Hash摘要,
(3) 以私鑰和Hash摘要作為參數(shù),調(diào)用輕量級(jí)REESSEl+數(shù)字簽名模塊, 得到簽名碼,
(4) 把二進(jìn)制簽名碼轉(zhuǎn)化為64進(jìn)制可打印字符,
(5) 把可打印簽名碼連同其它證書信息打印到證書上。
注意,這種證書打印機(jī)或印刷機(jī)或者與計(jì)算機(jī)直接相連,或者與計(jì)算機(jī)可進(jìn)行數(shù)據(jù)交換。 有了簽名碼后,單位或?qū)W校的公章可有可無,因?yàn)楹灻a本身就是一個(gè)印章,一個(gè)數(shù)字
印章,不過,為了保持與傳統(tǒng)一致,單位或?qū)W校的公章還是蓋上,此時(shí),再偽造單位或?qū)W校
的公章已無意義。
3.4證書防偽的身份驗(yàn)證部分
本部分供査詢單位使用,在互聯(lián)網(wǎng)或移動(dòng)通信網(wǎng)上運(yùn)行,用來驗(yàn)證某個(gè)證書是否為真、 并返回結(jié)果。
(1) 査詢單位從客戶端或手機(jī)輸入證書編號(hào)和簽名碼,
(2) 査詢單位發(fā)送輸入信息到驗(yàn)證服務(wù)器,
(3) 根據(jù)證書編號(hào)找到數(shù)據(jù)庫中的證書記錄,生成關(guān)鍵信息的Hash摘要,
(4) 以公鑰、簽名碼和Hash摘要作為參數(shù),調(diào)用輕量級(jí)REESSEl+身份驗(yàn)證模塊, 并得到"真"或"假"的結(jié)論,
(5) 把結(jié)論返回給網(wǎng)絡(luò)客戶端或手機(jī).
注意,"真"表示證書為真,"假"表示簽名碼無效、證書為假,股務(wù)器上的公鑰數(shù)據(jù)庫要周 期性刷新或防止被修改。
如果是采用手機(jī)發(fā)送和接收信息,則發(fā)證機(jī)構(gòu)的手機(jī)服務(wù)端應(yīng)該能與其相應(yīng)的訃算機(jī)系 統(tǒng)實(shí)現(xiàn)數(shù)據(jù)通信與交換.
3.5優(yōu)點(diǎn)和積極效果 3.5.1安全性高
證書的安全性與所使用的公鑰簽名體制即REESSEl+具有同樣的安全性。當(dāng)明文分組為 80比特時(shí),破譯它的時(shí)間復(fù)雜度為0(236)MIPS年,即每秒運(yùn)算一百萬條指令的計(jì)算機(jī)日夜不 停地工作,完成破譯的時(shí)間需要2M年。
3.S.2防止發(fā)證機(jī)構(gòu)內(nèi)部人員作案
公鑰簽名體制不同于對(duì)稱密碼體制,它具有私鑰和公鑰兩個(gè)密鑰,私鑰由發(fā)證機(jī)構(gòu)核心 人員保管,任何外人(包括發(fā)證機(jī)構(gòu)工作人員)均不知道。
而對(duì)稱密碼體制,例如AES,只有一個(gè)密鑰,簽名與驗(yàn)證都采用同一個(gè)密鑰,完全有可 能引發(fā)發(fā)證機(jī)構(gòu)內(nèi)部人員作案問題。從嚴(yán)格意義上來講,這不是一種簽名(簽名必須具有不 可假冒、偽造的獨(dú)特性)。
3.53用私鑰產(chǎn)生的簽名相當(dāng)于單位公章
每個(gè)發(fā)證機(jī)構(gòu)都有自己的私鑰,與證書書面信息結(jié)合起來用于簽名,相當(dāng)于發(fā)證機(jī)構(gòu)的 公章。因此,有了這種不可偽造的數(shù)字簽名以后,從本質(zhì)上講,發(fā)證機(jī)構(gòu)的公章不是再霈要 的。不過,考慮到一種象征意義,它們?nèi)匀豢梢岳^續(xù)存在和使用.
3.S.4驗(yàn)證方便
上面提到,對(duì)簽名碼的驗(yàn)證可以通過連網(wǎng)計(jì)算機(jī)或手機(jī)進(jìn)行。因此,査詢單位只要有手 機(jī)而無需另外的設(shè)備就能進(jìn)行驗(yàn)證、且輸入的字符數(shù)量較少,不需要太多時(shí)間,使得驗(yàn)證方 便、快捷。 3.5.S防偽成本低
由于證書無霜嵌入IC芯片,印上簽名碼后成本并沒有明顯增加,因此,這種方法的防偽 成本極低。
3.5.6有利于和諧社會(huì)的構(gòu)建
本發(fā)明可以從根本上杜絕證書的造假行為,極大地維護(hù)了發(fā)證機(jī)關(guān)的權(quán)威和持證者的利 益,從而,對(duì)和諧社會(huì)的構(gòu)建是一個(gè)促進(jìn)。
具體實(shí)施例方式
本發(fā)明闡述了一種基于輕量級(jí)數(shù)字簽名方案的證書防偽方法,它結(jié)合了密碼技術(shù)和編碼
技術(shù),包括3個(gè)部分證書防偽的密鑰生成部分、證書防偽的數(shù)字簽名部分、證書防偽的身
份驗(yàn)證部分。其中,密鑰生成部分供發(fā)證機(jī)構(gòu)總部使用,用來生成自己的一對(duì)私鑰和公鑰。 數(shù)字簽名部分供發(fā)證機(jī)構(gòu)使用,用來產(chǎn)生證書的簽名碼。身份驗(yàn)證部分供客戶端査詢單位使 用,用來驗(yàn)證簽名碼是否有效和鑒別證書的真?zhèn)巍?br>
這三部分可以作為子程序分別用邏輯電路芯片或程序語言來實(shí)現(xiàn),得到電路模塊或程序 模塊,它們可運(yùn)行于計(jì)算機(jī)系統(tǒng)中。
如果是采用手機(jī)發(fā)送和接收信息,則發(fā)證機(jī)構(gòu)的手機(jī)服務(wù)端應(yīng)該能與其相應(yīng)的計(jì)算機(jī)系 統(tǒng)實(shí)現(xiàn)數(shù)據(jù)通信與交換。
權(quán)利要求
1、基于輕量級(jí)數(shù)字簽名方案的證書防偽方法,由證書防偽的密鑰生成、證書防偽的數(shù)字簽名和證書防偽的身份驗(yàn)證等三個(gè)部分組成,其中,密鑰生成部分供發(fā)證機(jī)構(gòu)用來生成自己的一對(duì)私鑰和公鑰,數(shù)字簽名部分供發(fā)證機(jī)構(gòu)用來產(chǎn)生簽名碼,身份驗(yàn)證部分供客戶端查詢單位用來鑒別證書是否有真,其特征在于●證書防偽的密鑰生成部分采用了下列步驟(1)設(shè)置參數(shù)n=78、84、90或96,(2)輸入單位或?qū)W校代碼,(3)調(diào)用輕量級(jí)REESSE1+密鑰生成模塊,得到一對(duì)私鑰和公鑰,(4)把私鑰寫入一個(gè)USB閃存中,(5)公鑰存于單位或?qū)W校驗(yàn)證數(shù)據(jù)庫中,與單位或?qū)W校代碼相對(duì)應(yīng);●證書防偽的數(shù)字簽名部分采用了下列步驟(1)根據(jù)證書編號(hào),從數(shù)據(jù)庫中輸出某個(gè)證書的關(guān)鍵信息,(2)得到關(guān)鍵信息的Hash摘要,(3)以私鑰和Hash摘要作為參數(shù),調(diào)用輕量級(jí)REESSE1+數(shù)字簽名模塊,得到簽名碼,(4)把二進(jìn)制簽名碼轉(zhuǎn)化為64進(jìn)制可打印字符,(5)把可打印簽名碼連同其它證書信息打印到證書上;●支票防偽的身份驗(yàn)證部分采用了下列步驟(1)查詢單位從客戶端或手機(jī)輸入證書編號(hào)和簽名碼,(2)查詢單位發(fā)送輸入信息到驗(yàn)證服務(wù)器,(3)根據(jù)證書編號(hào)找到數(shù)據(jù)庫中的證書記錄,生成關(guān)鍵信息的Hash摘要,(4)以公鑰、簽名碼和Hash摘要作為參數(shù),調(diào)用輕量級(jí)REESSE1+身份驗(yàn)證模塊,并得到“真”或“假”的結(jié)論,(5)把結(jié)論返回給網(wǎng)絡(luò)客戶端或手機(jī)。
全文摘要
基于輕量級(jí)數(shù)字簽名方案的證書防偽方法,屬于密碼技術(shù)和計(jì)算機(jī)領(lǐng)域;本發(fā)明使得證書的不可偽造性與公鑰數(shù)字簽名方案的安全性相對(duì)應(yīng),包括證書防偽的密鑰生成、數(shù)字簽名和身份驗(yàn)證三個(gè)部分;其中,密鑰生成部分用來生成發(fā)證機(jī)構(gòu)的一對(duì)私鑰和公鑰,數(shù)字簽名部分用于發(fā)證機(jī)構(gòu)來對(duì)證書關(guān)鍵信息的Hash摘要產(chǎn)生簽名碼,身份驗(yàn)證部分用于客戶端查詢單位來鑒別證書的真?zhèn)危辉摲椒ò踩愿?、成本低、可防止發(fā)證機(jī)構(gòu)內(nèi)部人員作案、可取代單位的公章,可廣泛應(yīng)用于各種證書的發(fā)放業(yè)務(wù)中。
文檔編號(hào)H04L9/32GK101388767SQ20081016720
公開日2009年3月18日 申請(qǐng)日期2008年10月14日 優(yōu)先權(quán)日2008年10月14日
發(fā)明者呂述望, 張建標(biāo), 健 李, 沈昌祥, 蘇盛輝, 蔡永泉 申請(qǐng)人:蘇盛輝;李 健;沈昌祥