pki數(shù)字簽名原理_第1頁(yè)
pki數(shù)字簽名原理_第2頁(yè)
pki數(shù)字簽名原理_第3頁(yè)
pki數(shù)字簽名原理_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

pki數(shù)字簽名原理

基于pmi(公共密鑰基礎(chǔ)設(shè)施)的數(shù)字簽名技術(shù)是解決信息完整性和公鑰基礎(chǔ)設(shè)施的主要技術(shù)之一。本文所實(shí)現(xiàn)的基于PKI技術(shù)的電子簽章能夠?qū)?shù)字簽名與印章圖像相結(jié)合,有效解決網(wǎng)絡(luò)信息的完整性、可認(rèn)證性和不可否認(rèn)性等信息安全問(wèn)題。1統(tǒng)一技術(shù)框架PKI的概念是由美國(guó)學(xué)者于20世紀(jì)80年代提出的,它是一種遵循標(biāo)準(zhǔn)的、利用公鑰密碼理論和技術(shù)建立的提供安全服務(wù)的基礎(chǔ)設(shè)施,是一種在開放的網(wǎng)絡(luò)環(huán)境中提供安全服務(wù)的統(tǒng)一技術(shù)框架。PKI主要由權(quán)威認(rèn)證機(jī)構(gòu)CA中心、證書庫(kù)、密鑰備份與恢復(fù)系統(tǒng)、證書作廢系統(tǒng)和客戶端應(yīng)用接口系統(tǒng)等基本部分組成。其中,CA中心是PKI體系的核心,是數(shù)字證書的簽發(fā)機(jī)構(gòu)。它通過(guò)對(duì)實(shí)體身份信息和相應(yīng)公鑰數(shù)據(jù)的數(shù)字簽名,來(lái)捆綁該實(shí)體的公鑰和身份,以證明各實(shí)體在網(wǎng)上身份的真實(shí)性。數(shù)字證書,用于標(biāo)識(shí)網(wǎng)絡(luò)用戶的身份,是由CA中心簽發(fā)的,包含公開密鑰擁有者相關(guān)信息、頒發(fā)者(CA中心)相關(guān)信息以及公開密鑰相關(guān)信息等的一種電子文件。2哈希值數(shù)字簽名數(shù)字簽名是指電文中以電子形式所含、所附用于識(shí)別簽名人身份并表明簽名人認(rèn)可其中內(nèi)容的數(shù)據(jù)。它實(shí)際上是一個(gè)加密的信息摘要,即用簽名者的私鑰加密哈希值就構(gòu)成了一個(gè)數(shù)字簽名,可用來(lái)保證網(wǎng)絡(luò)信息在傳輸過(guò)程中的完整性、信息發(fā)送者的身份可認(rèn)證性和不可抵賴性,是保證網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)沒有被非法篡改的主要手段,可以解決否認(rèn)、偽造、篡改及冒充等問(wèn)題。其原理如圖1所示:3電子印章的電子簽名我們通過(guò)MicrosoftVisualC++6.0和MicrosoftVisualBasic6.0開發(fā)工具,采用COM組件技術(shù)實(shí)現(xiàn)了電子簽章與WORD應(yīng)用程序的無(wú)縫鏈接,利用CryptoAPI函數(shù)庫(kù)實(shí)現(xiàn)的數(shù)字簽名技術(shù)與數(shù)字圖像處理技術(shù)有機(jī)地結(jié)合在一起,實(shí)現(xiàn)對(duì)WORD文檔內(nèi)容的電子簽名與驗(yàn)證,并且將驗(yàn)證的結(jié)果通過(guò)印章圖像直觀地顯示出來(lái)。3.1下一步的程序整個(gè)電子簽章系統(tǒng)劃分為WORD嵌入模塊、公章圖像模塊、數(shù)字簽名及驗(yàn)證模塊和證書信息模塊四個(gè)模塊,各個(gè)模塊設(shè)計(jì)方法及功能如下:1.WORD嵌入模塊采用了COM控件的形式,直接調(diào)用WORD的函數(shù)庫(kù)。此模塊主要負(fù)責(zé)整個(gè)簽章與WORD的信息交換,是簽章和WORD之間的橋梁,數(shù)字簽名的數(shù)據(jù)以及驗(yàn)證時(shí)候的數(shù)據(jù)都由此模塊負(fù)責(zé)提供,并且它還有一個(gè)重要的作用,就是載入公章圖像模塊。實(shí)現(xiàn)該模塊的COM組件為WordCert.dll,其中,對(duì)外接口IWordCert是實(shí)現(xiàn)整個(gè)電子簽章模塊與WORD交互的接口。在運(yùn)行程序后,WordCertdll就已經(jīng)嵌入WORD中,進(jìn)行簽章、驗(yàn)證和其他操作的時(shí)候,其他模塊即可調(diào)用IWordCert的方法和屬性和WORD實(shí)現(xiàn)交互。2.公章圖像模塊是整個(gè)簽章的可見部分,主要負(fù)責(zé)浮透顯示印章圖象,以及提供功能菜單,可以看作是整個(gè)簽章模塊的中樞。它負(fù)責(zé)調(diào)用各個(gè)功能模塊的應(yīng)用,同時(shí)也是與用戶交互的模塊。此模塊采用了OCX控件技術(shù),無(wú)對(duì)外接口,保證了數(shù)據(jù)的安全性以及系統(tǒng)的穩(wěn)定性。3.簽名與驗(yàn)證模塊完成WORD文檔內(nèi)容的數(shù)字簽名以及需要時(shí)候的驗(yàn)證。既保證了電子文檔在網(wǎng)絡(luò)傳輸當(dāng)中的完整性,同時(shí)也保證了簽名的不可抵賴性。實(shí)現(xiàn)該模塊的COM組件為CertSignVerify.dll,它調(diào)用CryptoAPI函數(shù)庫(kù)進(jìn)行開發(fā),采用的算法為SHA-1摘要算法和RSA簽名算法。主要的兩個(gè)接口分別為ICertSign接口(實(shí)現(xiàn)數(shù)字簽名)和ICertVerify接口(實(shí)現(xiàn)驗(yàn)證)。這兩個(gè)接口都由公章圖像模塊的彈出式菜單的菜單項(xiàng)調(diào)用。4.證書信息模塊主要是實(shí)現(xiàn)讓用戶可以查看簽章使用的數(shù)字證書。GetCertificate.dll就是此模塊的COM實(shí)現(xiàn)組件,通過(guò)調(diào)用IGetCert接口,從電子令牌里面獲取簽章所用的數(shù)字證書,查看相應(yīng)信息。各個(gè)模塊之間是相互作用的,首先安裝電子簽章系統(tǒng),WORD嵌入模塊WordCertdll被嵌入到WORD當(dāng)中。其次,實(shí)現(xiàn)電子簽章,用戶通過(guò)簽章按鈕將圖像模塊插入到WORD文檔,圖像模塊通過(guò)WordCert.dll的IWordCert接口的方法和屬性與WORD交互,然后再將獲取的信息提交給電子簽名模塊實(shí)現(xiàn)電子簽名,最后將簽名數(shù)據(jù)保存到圖像模塊中以便以后驗(yàn)證。它們之間的關(guān)系如圖2所示:3.2數(shù)字簽名驗(yàn)證模塊的實(shí)現(xiàn)前面我們已對(duì)簽章各個(gè)模塊的功能設(shè)計(jì)進(jìn)行了簡(jiǎn)述,下面我們主要闡述電子簽章中簽名與驗(yàn)證模塊的實(shí)現(xiàn)原理及方法。1.簽名與驗(yàn)證模塊實(shí)現(xiàn)的原理(1)數(shù)據(jù)的簽名在實(shí)際應(yīng)用中,簽名的實(shí)現(xiàn)主要是通過(guò)簽名證書來(lái)完成的。圖3給出了利用簽名證書實(shí)現(xiàn)數(shù)據(jù)簽名的主要過(guò)程,其主要步驟如下:①獲取要簽名的數(shù)據(jù);②打開包含簽名者證書的證書庫(kù);③獲取與證書公鑰相對(duì)應(yīng)的簽名私鑰,并從證書屬性中判斷所使用的哈希算法;④利用哈希函數(shù)對(duì)數(shù)據(jù)進(jìn)行散列,產(chǎn)生數(shù)據(jù)的摘要(哈希值);⑤利用從簽名證書屬性中獲取的私鑰加密摘要,產(chǎn)生數(shù)字簽名。所以,在一個(gè)數(shù)字簽名中,要包含如下信息:要簽名的數(shù)據(jù)、哈希算法、簽名、簽名標(biāo)識(shí)(證書發(fā)布者和序列號(hào))和簽名者證書(可選,包括簽名者公鑰)等。(2)簽名的驗(yàn)證簽名的驗(yàn)證剛好相反,圖4給出了利用證書實(shí)現(xiàn)一個(gè)數(shù)字簽名的驗(yàn)證過(guò)程。2.程序?qū)崿F(xiàn)簽名與驗(yàn)證模塊CertSignVerify.dll的兩個(gè)主要接口分別為ICertSign接口(簽名接口)和ICertVerify接口(驗(yàn)證接口),其方法分別為:STDMETHODIMPCCertSign::SignData(BSTRsigneddata,BSTRpk,BSTR*signature)該方法實(shí)現(xiàn)數(shù)據(jù)的簽名,其參數(shù)的定義為:Signeddata:電子簽名的原始數(shù)據(jù);pk:簽名數(shù)字證書的公鑰;signature:電子簽名結(jié)果;STDMETHODIMPCCertVerify::VerifySign(BSTRsigneddata,BSTRsignature,BSTR*signer),該方法實(shí)現(xiàn)簽名的驗(yàn)證,其參數(shù)的定義為:Signeddata:電子簽名的原始數(shù)據(jù);signature:電子簽名的結(jié)果;signer:驗(yàn)證結(jié)果。這兩個(gè)方法主要是通過(guò)調(diào)用MicrosoftCryptoAPI函數(shù)庫(kù)來(lái)實(shí)現(xiàn)。其涉及到的CryptoAPI函數(shù)主要有:CryptAcquireContext(獲得CSP的句柄)CertOpenStore(取得本地系統(tǒng)證書庫(kù)句柄)CertFindCertificateInStore(在本地證書庫(kù)中查找簽名者的證書)CryptSignMessage(簽名原始數(shù)據(jù))CryptVerifyMessageSignature(對(duì)簽名進(jìn)行驗(yàn)證)3.實(shí)現(xiàn)結(jié)果為驗(yàn)證該電子簽章的實(shí)際效果,筆者利用該電子簽章對(duì)軍用文書分別進(jìn)行簽章、驗(yàn)證和篡改后的驗(yàn)證,實(shí)驗(yàn)結(jié)果如圖5所示。4電子基礎(chǔ)簽使用基于PKI技術(shù)的電子簽章的安全性主要表現(xiàn)在以下幾個(gè)方面:1.數(shù)字證書和用戶印章本身的安全。本電子簽章中,用戶證書和印章圖像綁定在一起,采用USB接口的硬件設(shè)備一電子令牌作為存儲(chǔ)介質(zhì)。數(shù)字證書及其對(duì)應(yīng)的私鑰、用戶印章圖像都存儲(chǔ)在電子令牌中,私鑰由電子令牌內(nèi)置CPU生成,不可導(dǎo)出數(shù)據(jù),使得電子令牌無(wú)法被復(fù)制及仿冒;同時(shí),電子令牌中數(shù)據(jù)由用戶可以定期修改的PIN碼提供保護(hù),可有效地防止電子令牌丟失后被他人冒用。2.信息的完整性。由Hash函數(shù)(散列函數(shù))的特性可知,若信息在傳輸過(guò)程中被篡改,完整性受到破壞,接收方重新計(jì)算出的摘要必然不同于用發(fā)送方的公鑰解密出的摘要,則接收方得知其得到的信息并非發(fā)送方最初發(fā)送的信息。3.信源確認(rèn)(信息可認(rèn)證性)。因?yàn)楣€和私鑰間存在對(duì)應(yīng)關(guān)系,既然接收方能用發(fā)送方的公鑰解開加密的摘要,并且其值與接收方重新計(jì)算出的摘要一致,則該信息必然是發(fā)送方發(fā)出的。4.信息的不可抵賴性。由于只有信息的發(fā)送方持有自己的私鑰

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論