專利名稱:一種實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息系統(tǒng)安全專用技術(shù)領(lǐng)域,特別是提供了一種實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)的方法。
背景技術(shù):
電子數(shù)字簽章系統(tǒng)是伴隨著信息化建設(shè)而出現(xiàn)的高新技術(shù)。電子數(shù)字簽章系統(tǒng)主要用于解決電子文件的簽字蓋章問(wèn)題,用于辨識(shí)電子文件簽署者的身份,保證文件的完整性,確保文件的真實(shí)性、可靠性和不可抵賴性。
電子數(shù)字簽章并不僅僅是普遍采用的書(shū)面簽字蓋章的數(shù)字圖像化。在電子數(shù)字簽章系統(tǒng)中,簽章的完整性、真實(shí)性、可靠性和不可抵賴性以一種電子代碼的形式同電子文件綁定在一起。利用電子數(shù)字簽章,收件人得到通過(guò)網(wǎng)絡(luò)傳輸(或者其他傳輸方式)的文件后,可以驗(yàn)證發(fā)件人的身份和發(fā)件人簽章的有效性;收件人還可以驗(yàn)證出源文件在傳輸過(guò)程中有無(wú)變動(dòng);此外,通過(guò)電子數(shù)字簽章,發(fā)件人也無(wú)法否認(rèn)自己已經(jīng)對(duì)該電子文件實(shí)施過(guò)簽章這個(gè)行為的事實(shí)。電子數(shù)字簽章系統(tǒng)通過(guò)一套標(biāo)準(zhǔn)化、規(guī)范化的軟硬結(jié)合系統(tǒng),使用戶可以在電子文件上完成簽字蓋章和驗(yàn)證。電子數(shù)字簽章系統(tǒng)是電子時(shí)代的印章和印信。
目前,電子數(shù)字簽章所采用的模式主要包括三種。第一種為智能卡式。智能卡是一種集成電路(Integrated Circuit,IC)卡,具有一定的運(yùn)算功能。用戶的智能卡中存放有個(gè)人信息(圖章或簽名)、證書(shū)信息以及密鑰信息等。智能卡使用個(gè)人身份號(hào)碼(Personal IdentificationNumber,PIN)進(jìn)行保護(hù)。用戶簽章時(shí)需要提供自己的智能卡并提供自己的PIN碼;第二種為密碼式。用戶設(shè)定一個(gè)密碼,由數(shù)字或字符組成,來(lái)代表用戶的身份,也可以有相應(yīng)的硬件設(shè)施(比如電子筆)配合使用;第三種為生物測(cè)定式。這種模式以用戶的身體特征為基礎(chǔ),通過(guò)某種設(shè)備對(duì)用戶的指紋、面部、視網(wǎng)膜或虹膜等進(jìn)行數(shù)字識(shí)別,從而確定對(duì)象是否與原使用者相同。
本發(fā)明的電子數(shù)字簽章系統(tǒng)采用第一種智能卡的模式來(lái)實(shí)現(xiàn),使用的安全技術(shù)主要是數(shù)字簽名技術(shù)。對(duì)數(shù)字簽名技術(shù)的描述如下。
數(shù)字簽名技術(shù)是信息安全中不可或缺的一部分。信息安全是一項(xiàng)具有多種功能需求的系統(tǒng)工程。信息系統(tǒng)應(yīng)當(dāng)保障信息的機(jī)密性、完整性、不可抵賴性、可用性及可控性等功能特性。數(shù)字簽名技術(shù)能夠保證信息的完整性和不可抵賴性。
典型的數(shù)字簽名技術(shù)使用非對(duì)稱密碼體制。非對(duì)稱密碼體制不同于對(duì)稱密碼體制。對(duì)稱密碼體制的加密和解密過(guò)程使用的密鑰是相同的,其過(guò)程如圖2-1所示。
非對(duì)稱密碼體制的加密和解密使用不同的密鑰。每一個(gè)用戶擁有一對(duì)密鑰,即公鑰和私鑰。其中,私鑰必須秘密保存,不能泄漏;而公鑰是可以公開(kāi)發(fā)布的。由證書(shū)鑒權(quán)中心(Certificate Authority,CA)頒發(fā)的數(shù)字證書(shū)信息中就包含有公鑰信息。非對(duì)稱密碼體制的加密過(guò)程如圖2所示。
使用對(duì)稱密碼體制雖然能夠保證信息的機(jī)密性,但并不能夠保證所傳輸?shù)男畔](méi)有被篡改,即不能夠保證原始信息的完整性。在公鑰密碼體制中,數(shù)字簽名技術(shù)可以用來(lái)保證原始信息的真實(shí)性,而且能夠保證原始信息的完整性。數(shù)字簽名的過(guò)程是加密過(guò)程的逆過(guò)程。利用非對(duì)稱密碼體制的數(shù)字簽名過(guò)程如圖3所示。
在發(fā)送一個(gè)文檔前,文檔的簽發(fā)者需要產(chǎn)生原始文檔的唯一“指印”。這個(gè)“指印”可以通過(guò)對(duì)文檔的雜湊運(yùn)算來(lái)產(chǎn)生。雜湊運(yùn)算算法通常使用單向Hash函數(shù)。Hash函數(shù)是一類特殊的函數(shù),它可以處理任意長(zhǎng)度的數(shù)據(jù),生成唯一的固定長(zhǎng)度的數(shù)據(jù)串。這個(gè)數(shù)據(jù)串被稱為文檔的消息或摘要。對(duì)原始文檔的任何一點(diǎn)修改都將導(dǎo)致產(chǎn)生不同的文檔消息,而且找到兩個(gè)不同的文檔使它們生成相同的消息是非常困難的。當(dāng)驗(yàn)證方接收到包含數(shù)字簽名的文檔時(shí),就可以對(duì)文檔信息使用相同的Hash函數(shù)(和文件的簽發(fā)者相同的Hash函數(shù))進(jìn)行運(yùn)算。只有未經(jīng)改動(dòng)的文檔才能夠產(chǎn)生出相同的消息信息,從而可以驗(yàn)證文檔的真實(shí)性和完整性。
通過(guò)數(shù)字簽名技術(shù),可以為原始信息的真實(shí)性和完整性提供有力的證明,同時(shí)數(shù)字簽名技術(shù)在提供不可抵賴性的服務(wù)中起到了至關(guān)重要的作用。通過(guò)數(shù)字簽名技術(shù),可以解決否認(rèn)、偽造、篡改及身份冒充等問(wèn)題,即能夠達(dá)到以下要求●信息發(fā)送者即簽名者事后不能否認(rèn)所發(fā)送的信息的簽名;●接收者能夠驗(yàn)證發(fā)送者所發(fā)送信息的簽名的真實(shí)性;●由于非對(duì)稱密碼體制的安全性是基于密鑰的。因此,只要保證簽名方私鑰信息的秘密性,就能夠保證任何其他人都無(wú)法對(duì)簽名進(jìn)行偽造;●任何人都不能對(duì)發(fā)送者的原始信息進(jìn)行任何篡改,因?yàn)槿魏未鄹亩伎梢詫?dǎo)致簽名的無(wú)效。
非對(duì)稱密碼體制涉及到一對(duì)密鑰——公鑰和私鑰。由于每個(gè)人的公鑰是公開(kāi)的,因此需要對(duì)每個(gè)人的公鑰及其身份提供一個(gè)權(quán)威的保證,這就引入了數(shù)字證書(shū)的機(jī)制。數(shù)字證書(shū)是公開(kāi)密鑰體制的一種密鑰管理媒介,是一種權(quán)威性的電子文檔,用于證明某一主體的身份以及其公開(kāi)密鑰的合法性。在任何使用非對(duì)稱密碼體制的環(huán)境中,必須有一個(gè)可信的機(jī)構(gòu)來(lái)對(duì)任何一個(gè)主體的公鑰進(jìn)行公證,來(lái)證明主體的身份以及他與公鑰的匹配關(guān)系。這一可信的機(jī)構(gòu)通常是證書(shū)鑒權(quán)中心,即通常所說(shuō)的CA。數(shù)字證書(shū)中包括的主要內(nèi)容有證書(shū)擁有者的個(gè)人信息、證書(shū)擁有者的公鑰、公鑰的有效期、頒發(fā)數(shù)字證書(shū)的CA信息等。數(shù)字證書(shū)將主體的身份及其公鑰信息綁定在一起,從而為主體的身份提供了一個(gè)權(quán)威的保證。
實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)的傳統(tǒng)方法及其缺點(diǎn)實(shí)現(xiàn)電子數(shù)字簽名的加解密算法有很多,例如RSA(Ron.Rivest,Adi Shamirh andLenAdleman,RSA)公鑰密碼算法,ECC(Elliptic Curve Cryptography,ECC)橢圓曲線公鑰加密算法等。下面以傳統(tǒng)的基于智能卡的采用ECC橢圓曲線公鑰加密算法實(shí)現(xiàn)電子數(shù)字簽名系統(tǒng)的方法為例,說(shuō)明傳統(tǒng)的軟硬件實(shí)現(xiàn)方法的缺點(diǎn)。
傳統(tǒng)的實(shí)現(xiàn)ECC數(shù)字簽名的軟硬件實(shí)現(xiàn)方法傳統(tǒng)的實(shí)現(xiàn)ECC數(shù)字簽名的軟硬件方法如圖4所示。在圖4中,傳統(tǒng)的數(shù)字簽名方法分為如下4個(gè)步驟1、在軟件系統(tǒng)中,獲得源文件二進(jìn)制比特流S。圖4中,源文件二進(jìn)制比特流F即為以二進(jìn)制形式表示的源文件,如MS Word版本的文件(后綴為*.doc),MS Excel版本的文件(后綴為*.xls),MS Powerpoint版本的文件(后綴為*.ppt),MS Outlook版本的文件(后綴為*.eml),Adobe Acrobat版本的文件(后綴為*.pdf),或網(wǎng)頁(yè)格式的文件(后綴為*.htm或*.xml)等。更簡(jiǎn)單的來(lái)說(shuō),只要是一個(gè)二進(jìn)制的比特流(無(wú)論它是什么格式),就可以作為源文件S;2、在軟件系統(tǒng)中,S經(jīng)過(guò)函數(shù)F的運(yùn)算以后,得到m,并把它傳遞給硬件。在軟件中(如計(jì)算機(jī)操作系統(tǒng)等軟件環(huán)境),源文件二進(jìn)制比特流S經(jīng)過(guò)Hash函數(shù)F的運(yùn)算以后,被轉(zhuǎn)化為比特長(zhǎng)度為232位的消息m。(注意有些文章也把消息m稱作摘要);3、在硬件系統(tǒng)中(如印制電路板、專用集成電路等硬件環(huán)境),m和kA經(jīng)過(guò)ECC數(shù)字簽名后得到簽名值r和s。m即為第二步得到的233位的消息,kA為232位的私鑰,存儲(chǔ)于硬件的存儲(chǔ)器中,r和s分別為232位的簽名值;4、硬件將r和s分別傳回軟件,并在軟件當(dāng)中,將r和s插入到源文件S中,得到S’(S′=S+r+s)。S’即為S經(jīng)過(guò)了數(shù)字簽名后的文件。
從圖4可以看出,傳統(tǒng)的實(shí)現(xiàn)方法中,在軟件中得到消息m,并傳遞給硬件進(jìn)行簽名運(yùn)算。接著,硬件簽名運(yùn)算完成以后,會(huì)將簽名值r和s傳回給軟件,并在軟件當(dāng)中將簽名值r和s插入到源文件S當(dāng)中,以得到數(shù)字簽名文件S’。
這種實(shí)現(xiàn)方式下,由于消息m在軟件中產(chǎn)生,極易被軟件中的攻擊程序(如黑客程序)篡改。同樣,簽名值r和s經(jīng)過(guò)硬件傳遞到軟件以后,也極易被軟件中的攻擊程序篡改。因此,這種結(jié)構(gòu)下得到的消息和簽名值已經(jīng)無(wú)法保證是正確的,從而大大降低了基于這種軟硬件結(jié)構(gòu)的數(shù)字簽章系統(tǒng)的安全性。
傳統(tǒng)的實(shí)現(xiàn)ECC簽名驗(yàn)證的軟硬件實(shí)現(xiàn)方法傳統(tǒng)的實(shí)現(xiàn)ECC簽名驗(yàn)證的軟硬件方法如圖5所示。在圖5中,傳統(tǒng)的簽名驗(yàn)證方法分為如下4個(gè)步驟1、在軟件系統(tǒng)中,將嵌入了232位r和232位s的簽名信息的二進(jìn)制碼流S’中的r和s單獨(dú)取出;2、在軟件系統(tǒng)中,將去除了r和s的碼流S(S=S’-(r+s))通過(guò)Hash函數(shù)F的運(yùn)算,得到232位的消息m;3、在硬件中,將233位的公鑰PAx,PAy,232位的消息m以及232位的r和s送到ECC簽名驗(yàn)證模塊進(jìn)行簽名驗(yàn)證,并將驗(yàn)證的結(jié)果(例如,用一個(gè)比特表示正確或者錯(cuò)誤)傳回軟件部分;4、在軟件中判斷驗(yàn)證的結(jié)果。
同簽名時(shí)存在的問(wèn)題一樣,在這種實(shí)現(xiàn)方式下,由于大量的操作在軟件中完成,這就大大降低了簽名驗(yàn)證系統(tǒng)的安全性。例如,惡意攻擊程序可以在軟硬件接口處截獲硬件的驗(yàn)證結(jié)果,并對(duì)其進(jìn)行篡改,從而讓軟件無(wú)法獲得正確的驗(yàn)證結(jié)果。
綜上所述,傳統(tǒng)的實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)的軟硬件方法的存在一定的安全漏洞。本發(fā)明正是針對(duì)這種安全漏洞而提出的。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)的方法,解決了傳統(tǒng)的實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)方法中的安全漏洞問(wèn)題。
本發(fā)明采用一種軟硬件結(jié)合的方法實(shí)現(xiàn)了電子數(shù)字簽章系統(tǒng),在實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)時(shí)將所有的數(shù)字簽名和簽名驗(yàn)證的運(yùn)算都放在硬件(如印刷電路板和專用集成電路等)當(dāng)中進(jìn)行。這就解決了傳統(tǒng)的實(shí)現(xiàn)方法中,將一部分關(guān)鍵運(yùn)算放在軟件中,將另一部分關(guān)鍵運(yùn)算放在硬件當(dāng)中進(jìn)行,從而造成簽章系統(tǒng)容易遭到惡意軟件代碼攻擊的安全隱患。相對(duì)軟件實(shí)現(xiàn)來(lái)說(shuō),硬件實(shí)現(xiàn)的運(yùn)算邏輯不會(huì)遭到任何惡意代碼的攻擊。因此,本發(fā)明提出的方法,會(huì)大大增強(qiáng)電子數(shù)字簽章系統(tǒng)的安全性。
本發(fā)明提出的實(shí)現(xiàn)電子數(shù)字簽名的軟硬件方法如圖6所示,該方法分為如下4個(gè)步驟(仍以基于ECC橢圓曲線算法的簽名系統(tǒng)為例)1、在軟件系統(tǒng)中,獲得源文件比特流S并將源文件比特流S傳給硬件。同樣,源文件二進(jìn)制比特流F即為以二進(jìn)制形式表示的源文件,如MS Word版本的文件(后綴為*.doc),MSExcel版本的文件(后綴為*.xls),MS Powerpoint版本的文件(后綴為*.ppt),MS Outlook版本的文件(后綴為*.eml),Adobe Acrobat版本的文件(后綴為*.pdf),或者網(wǎng)頁(yè)格式的文件(后綴為*.htm或*.xml)等等;2、在硬件系統(tǒng)中,二進(jìn)制比特流S經(jīng)過(guò)函數(shù)F的運(yùn)算后得到消息m。在硬件中,源文件二進(jìn)制比特流S經(jīng)過(guò)Hash函數(shù)F的運(yùn)算后,被轉(zhuǎn)化為比特長(zhǎng)度為232位的消息m;3、在硬件系統(tǒng)中(如印制電路板、專用集成電路等硬件環(huán)境),m和kA經(jīng)過(guò)ECC數(shù)字簽名后得到簽名值r和s。m為第二步得到的233位的消息,kA為232位的私鑰。r和s分別為232位的簽名值;4、在硬件系統(tǒng)中,r和s被插入到源文件二進(jìn)制比特流S當(dāng)中,得到S’(S’=S+r+s)。S’即為二進(jìn)制比特流S經(jīng)過(guò)了數(shù)字簽名后的文件。這之后,硬件系統(tǒng)把S’傳遞回軟件。至此完成了對(duì)源文件比特流S的數(shù)字簽章。
本發(fā)明提出的實(shí)現(xiàn)電子數(shù)字簽名驗(yàn)證的軟硬件方法如圖7所示,該方法分為如下4個(gè)步驟(仍然以基于ECC橢圓曲線算法的簽名系統(tǒng)為例)1、在軟件系統(tǒng)中獲得簽過(guò)名的二進(jìn)制比特流S’和233位的公鑰PAx,PAy,并它們傳給硬件;2、在硬件系統(tǒng)中,將嵌入了232位r和s簽名信息的二進(jìn)制比特流S’中的r和s單獨(dú)取出,然后對(duì)去除了r和s的二進(jìn)制比特流S(S=S’-(r+s))進(jìn)行Hash函數(shù)F的運(yùn)算,得到232位的消息m;3、在硬件系統(tǒng)中,將233位的公鑰PAx,PAy,232位的消息m和232位的r和s送到簽名驗(yàn)證模塊進(jìn)行簽名驗(yàn)證;4、在硬件系統(tǒng)中,用顯示屏或指示燈顯示驗(yàn)證結(jié)果。
本發(fā)明相對(duì)傳統(tǒng)方法的優(yōu)點(diǎn)為1、本發(fā)明把電子數(shù)字簽章過(guò)程中用到的所有核心運(yùn)算,如簽名運(yùn)算、驗(yàn)證運(yùn)算、雜湊函數(shù)運(yùn)算等都放到硬件系統(tǒng)中進(jìn)行,從而杜絕了惡意軟件代碼的攻擊。而傳統(tǒng)的用軟件實(shí)現(xiàn)部分核心運(yùn)算,用硬件實(shí)現(xiàn)另外一部分核心運(yùn)算的方法,比較容易遭到惡意軟件代碼的攻擊;2、用本發(fā)明的方法實(shí)現(xiàn)的電子數(shù)字簽章系統(tǒng)的簽名驗(yàn)證的速度,以及成本都同用傳統(tǒng)的方法相當(dāng)。
3、本發(fā)明可以同絕大多數(shù)主流編輯軟件,如MS Word,MS Excel,MS Powerpoint,AdobeAcrobat,Internet Explorer等連接,實(shí)現(xiàn)數(shù)字簽名和簽名驗(yàn)證,并大大減小此類系統(tǒng)遭受軟件攻擊的可能性。
圖1為本發(fā)明的對(duì)稱密碼體制示意圖。
圖2為本發(fā)明的非對(duì)稱密碼體制的加密過(guò)程示意圖。
圖3為本發(fā)明的非對(duì)稱密碼體制的數(shù)字簽名過(guò)程示意圖。
圖4傳統(tǒng)的實(shí)現(xiàn)ECC數(shù)字簽名的軟硬件方法示意圖。
圖5傳統(tǒng)的實(shí)現(xiàn)ECC簽名驗(yàn)證的軟硬件方法示意圖。
圖6為本發(fā)明實(shí)現(xiàn)數(shù)字簽名的軟硬件方法示意圖。
圖7為本發(fā)明實(shí)現(xiàn)簽名驗(yàn)證的軟硬件方法示意圖。
圖8為基于ECC的數(shù)字簽名/驗(yàn)證系統(tǒng)的硬件結(jié)構(gòu)示意圖。
圖9為基于ECC的數(shù)字簽名/驗(yàn)證系統(tǒng)的軟件結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明的電子簽章系統(tǒng)中的硬件系統(tǒng)的實(shí)現(xiàn)方式基于ECC橢圓曲線算法的簽名系統(tǒng)為例的硬件系統(tǒng)方案如圖8所示,它包括如下幾個(gè)核心的功能模塊1、FPGA模塊主要完成基于ECC的數(shù)字簽名、簽名驗(yàn)證、多倍點(diǎn)運(yùn)算和密鑰對(duì)生成這4個(gè)主要的運(yùn)算;2、PROM模塊主要在加電以后,對(duì)FPGA模塊進(jìn)行配置;3、FLASH模塊主要用于存儲(chǔ)私鑰數(shù)據(jù)、圖章數(shù)據(jù)(如GIF格式的圖像)和CA中心頒發(fā)的證書(shū)等;4、USB2.0模塊(內(nèi)嵌8051核)之所以選擇嵌入了8051核的USB2.0芯片,是為了能夠方便的實(shí)現(xiàn)USB2.0的控制。該模塊主要用于在FPGA模塊和PC機(jī)的軟件之間傳遞數(shù)據(jù)。
5、電源轉(zhuǎn)換芯片組對(duì)硬件系統(tǒng)中用到的電壓進(jìn)行穩(wěn)壓力,升壓或者降壓。該模塊可能會(huì)結(jié)合電池來(lái)使用;6、晶振為硬件系統(tǒng)中需要時(shí)鐘的地方提供時(shí)鐘;7、USB插槽連接USB2.0芯片和USB傳輸線;8、顯示屏和指示燈。
本發(fā)明的電子簽章系統(tǒng)中的軟件系統(tǒng)的實(shí)現(xiàn)方式基于ECC橢圓曲線算法的簽名系統(tǒng)為例的軟件件系統(tǒng)方案如圖9所示,它包括如下幾個(gè)核心的功能模塊1、應(yīng)用程序的界面程序;2、應(yīng)用程序同驅(qū)動(dòng)程序的接口函數(shù)API(Application Programming Interface,API);3、軟件系統(tǒng)同硬件系統(tǒng)的接口程序——驅(qū)動(dòng)程序。
本發(fā)明的電子簽章系統(tǒng)軟硬件系統(tǒng)的工作過(guò)程數(shù)字簽名的過(guò)程如下
1、軟件部分的應(yīng)用程序調(diào)用API函數(shù),并將源文件比特流S通過(guò)驅(qū)動(dòng)程序傳給硬件的USB2.0芯片;2、硬件的USB2.0芯片將軟件傳遞來(lái)源文件S和命令字(如00,即通知FPGA需要進(jìn)行數(shù)字簽名)傳遞給FPGA;3、硬件的FPGA根據(jù)命令字從FLASH中讀出圖章數(shù)據(jù)和私鑰kA,并對(duì)S進(jìn)行雜湊運(yùn)算(Hash)和簽名運(yùn)算,然后產(chǎn)生簽名值r和s;硬件中,F(xiàn)PGA將得到的r和s插入到源文件S中,得到S’,并通過(guò)USB2.0將S’傳回軟件。
簽名驗(yàn)證的過(guò)程如下1、軟件部分的應(yīng)用程序調(diào)用API函數(shù),將簽過(guò)名的源文件比特流S’和公鑰PA.x和PA.y通過(guò)驅(qū)動(dòng)程序傳給硬件的USB2.0芯片;2、硬件的USB2.0芯片將軟件傳遞來(lái)的源文件S’,公鑰PA.x、PA.y和命令字(如01,即通知FPGA需要進(jìn)行簽名驗(yàn)證)傳遞給FPGA。
3、硬件的FPGA對(duì)這些數(shù)據(jù)進(jìn)行運(yùn)算,并產(chǎn)生0(驗(yàn)證未通過(guò))或者1(驗(yàn)證通過(guò))的結(jié)果;4、硬件顯示屏或指示等顯示出驗(yàn)證結(jié)果。
權(quán)利要求
1.一種實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)的方法,其特征在于采用一種軟硬件結(jié)合的方法實(shí)現(xiàn)了電子數(shù)字簽章系統(tǒng),在實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)時(shí)將所有的數(shù)字簽名和簽名驗(yàn)證的運(yùn)算都放在硬件印刷電路板和專用集成電路中進(jìn)行,實(shí)現(xiàn)電子數(shù)字簽名的軟硬件方法分為步驟一、在軟件系統(tǒng)中,獲得源文件比特流S并傳給硬件,源文件二進(jìn)制比特流S為以二進(jìn)制形式表示的源文件,包括MS Word版本的文件,其后綴為*.doc,MS Excel版本的文件,其后綴為*.xls,MS Powerpoint版本的文件,其后綴為*.ppt,MS Outlook版本的文件,其后綴為*.eml,Adobe Acrobat版本的文件,其后綴為*.pdf,或者網(wǎng)頁(yè)格式的文件,其后綴為*.htm或*.xml;步驟二、在硬件系統(tǒng)中,二進(jìn)制比特流S經(jīng)過(guò)函數(shù)F的運(yùn)算后得到消息m;在硬件中,源文件二進(jìn)制比特流S經(jīng)過(guò)Hash函數(shù)F的運(yùn)算后,被轉(zhuǎn)化為比特長(zhǎng)度為232位的消息m;步驟三、在硬件系統(tǒng)中,印制電路板、專用集成電路硬件環(huán)境,m和kA經(jīng)過(guò)ECC數(shù)字簽名后得到簽名值r和s,m為第二步得到的233位的消息,kA為232位的私鑰,r和s分別 步驟四、在硬件系統(tǒng)中,r和s被插入到源文件二進(jìn)制比特流S當(dāng)中,得到S’(S’=S+r+s),S’為二進(jìn)制比特流S經(jīng)過(guò)了數(shù)字簽名后的文件,這之后,硬件系統(tǒng)把S’傳遞回軟件,至此完成了對(duì)源文件二進(jìn)制比特流S的數(shù)字簽章;實(shí)現(xiàn)電子數(shù)字簽名驗(yàn)證的軟硬件方法為步驟一、在軟件系統(tǒng)中獲得簽過(guò)名的二進(jìn)制比特流S’和233位的公鑰PAx,PAy,并它們傳給硬件;步驟二、在硬件系統(tǒng)中,將嵌入了232位r和s簽名信息的二進(jìn)制比特流S’中的r和s單獨(dú)取出,然后對(duì)去除了r和s的二進(jìn)制比特流S(S=S’-(r+s))進(jìn)行Hash函數(shù)F的運(yùn)算,得到232位的消息m;步驟三、在硬件系統(tǒng)中,將233位的公鑰PAx,PAy,232位的消息m和232位的r和s送到簽名驗(yàn)證模塊進(jìn)行簽名驗(yàn)證;步驟四、在硬件系統(tǒng)中,用顯示屏或指示燈顯示驗(yàn)證結(jié)果。
全文摘要
本發(fā)明提供了一種實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)的方法,屬于信息系統(tǒng)安全專用技術(shù)領(lǐng)域。采用一種軟硬件結(jié)合的方法實(shí)現(xiàn)了電子數(shù)字簽章系統(tǒng),在實(shí)現(xiàn)電子數(shù)字簽章系統(tǒng)時(shí)將所有的數(shù)字簽名和簽名驗(yàn)證的運(yùn)算都放在硬件印刷電路板和專用集成電路中進(jìn)行,這就解決了傳統(tǒng)的實(shí)現(xiàn)方法中,將一部分關(guān)鍵運(yùn)算放在軟件中,將另一部分關(guān)鍵運(yùn)算放在硬件當(dāng)中進(jìn)行,從而造成簽章系統(tǒng)容易遭到惡意軟件代碼攻擊的安全隱患,增強(qiáng)電子數(shù)字簽章系統(tǒng)的安全性。
文檔編號(hào)G06F21/00GK101079086SQ20061004673
公開(kāi)日2007年11月28日 申請(qǐng)日期2006年5月26日 優(yōu)先權(quán)日2006年5月26日
發(fā)明者李魁剛, 陳文杰 申請(qǐng)人:大連海盛達(dá)科技有限公司