本發(fā)明電子簽名驗證方法,尤其是一種用于校驗紙質(zhì)證照內(nèi)容是否被篡改的方法。
背景技術(shù):
目前,在電子證照使用過程中,需要將電子證照打印輸出為紙質(zhì)證照,但是在輸出紙質(zhì)證照后文檔內(nèi)容真實性和有效性如何驗證成了問題,所以有必要設(shè)計出一種專門應(yīng)用于校驗紙質(zhì)證照內(nèi)容是否被篡改的方法。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是:現(xiàn)有技術(shù)中缺少對電子證照打印輸出的紙質(zhì)證照的篡改驗證方法。
為了解決上述技術(shù)問題,本發(fā)明提供了一種校驗紙質(zhì)證照內(nèi)容是否被篡改的方法,包括如下步驟:
步驟1,電子證照的生成,具體步驟為:
步驟1.1,為每一種類型的電子證照生成其固定格式的模板,每個模板給予唯一的模板編號并將電子證照模板形成摘要,再利用私鑰對摘要加密形成模板簽名;
步驟1.2,選擇一種電子證照模板,向模板里填寫電子證照的所有填充項生成完整的電子證照文件;
步驟1.3,將步驟1.2里填寫的所有填充項形成摘要,再利用私鑰對摘要加密形成填充項簽名;
步驟1.4,將模板編號、模板簽名、所有填充項以及填充項簽名以規(guī)定格式形成電子數(shù)據(jù),再將電子數(shù)據(jù)形成二維碼,并將二維碼放置在步驟1.2生成的電子證照文件的空白處,形成帶有二維碼的電子證照;
步驟1.5,將步驟1.4形成的電子證照打印輸出為紙質(zhì)證照;
步驟2,紙質(zhì)證照的真?zhèn)悟炞C,具體步驟為:
步驟2.1,導(dǎo)入步驟1.1中的電子證照模板形成證照模板庫;
步驟2.2,掃描紙質(zhì)證照上的二維碼,從二維碼保存的數(shù)據(jù)中獲取模板編號、模板簽名、所有填充項以及填充項簽名;
步驟2.3,將步驟2.2中獲取的所有填充項進(jìn)行處理形成摘要h;
步驟2.4,根據(jù)步驟2.2中獲取的填充項簽名中的私鑰標(biāo)識獲取對應(yīng)的公鑰,使用公鑰對步驟2.2中獲取的填充項簽名數(shù)據(jù)解密得到h1;
步驟2.5,比較h和h1,如果相同,則表示紙質(zhì)證照二維碼中保存的所有填充項沒有被篡改過,如果不相同,則表示紙質(zhì)證照二維碼中保存的所有填充項被篡改過;
步驟2.6,根據(jù)步驟2.2中獲取的模板編號從證照模板庫中取得對應(yīng)的電子證照模板,并對電子證照模板內(nèi)容進(jìn)行處理形成摘要h2;
步驟2.7,根據(jù)步驟2.4中獲取的公鑰,使用公鑰對步驟2.2中獲取的模板簽名進(jìn)行數(shù)據(jù)解密,得到h3;
步驟2.8,比較h2和h3,如果相同,則表示紙質(zhì)證照二維碼中保存的電子證照模板內(nèi)容沒有被篡改過,如果不相同,則表示紙質(zhì)證照二維碼中保存的電子證照模板內(nèi)容被篡改過;
步驟2.9,若步驟2.5和步驟2.8比較均相同,將步驟2.6中取得的電子證照模板和步驟2.2中獲取的所有填充項組合生成一份新電子證照文件;
步驟2.10,將步驟2.9生成的新電子證照文件與紙質(zhì)證照文檔內(nèi)容進(jìn)行比對,如果相同,則表示紙質(zhì)文檔內(nèi)容沒有被篡改過,驗證紙質(zhì)文檔通過,如果不相同,則表示紙質(zhì)文檔內(nèi)容被篡改過,驗證紙質(zhì)文檔不通過。
采用為每一種類型的電子證照生成其固定格式的模板并給予每個模板唯一編號,并根據(jù)唯一標(biāo)號取得模板,減小生成的二維碼數(shù)據(jù)容量,減少電子證照的存儲容量,方便存儲;采用二維碼進(jìn)行一個電子紙質(zhì)的數(shù)據(jù)傳遞,便于實現(xiàn)紙質(zhì)證照內(nèi)容的紙質(zhì)驗證。
作為本發(fā)明的進(jìn)一步限定方案,步驟1.1中將電子證照模板形成摘要,具體是將電子證照模板上的所有內(nèi)容作為輸入,進(jìn)行哈希運算,得到摘要信息。
作為本發(fā)明的進(jìn)一步限定方案,步驟1.1中所述的用私鑰對摘要加密形成模板簽名,具體是指使用數(shù)字證書中的簽名私鑰對摘要進(jìn)行加密而得到的數(shù)字簽名值。
作為本發(fā)明的進(jìn)一步限定方案,數(shù)字證書是指存儲在智能key中用于加密和數(shù)字簽名運算的數(shù)字證書。
作為本發(fā)明的進(jìn)一步限定方案,步驟2.3中將步驟2.2中獲取的所有填充項進(jìn)行處理形成摘要h,具體是將獲取的所有填充項作為輸入,進(jìn)行哈希運算,得到摘要h。
作為本發(fā)明的進(jìn)一步限定方案,步驟1.3中利用私鑰對摘要加密形成填充項簽名以及步驟2.4中使用公鑰對填充項簽名數(shù)據(jù)解密得到h1,具體是通過非對稱密鑰算法,實現(xiàn)私鑰的加密和公鑰的解密。
作為本發(fā)明的進(jìn)一步限定方案,步驟2.4中根據(jù)步驟2.2中獲取的填充項簽名中的私鑰標(biāo)識獲取對應(yīng)的公鑰,具體是指從填充項簽名信息的數(shù)字證書中提取的公鑰信息。
作為本發(fā)明的進(jìn)一步限定方案,步驟2.9中將步驟2.6中取得的模板和步驟2.2中獲取的所有填充項組合生成一份新電子證照文件,具體是指利用文檔合成技術(shù)將所有填充項字段填充到模板上生成新的文件。
本發(fā)明的有益效果在于:采用為每一種類型的電子證照生成其固定格式的模板并給予每個模板唯一編號,并根據(jù)唯一標(biāo)號取得模板,減小生成的二維碼數(shù)據(jù)容量,減少電子證照的存儲容量,方便存儲;采用二維碼進(jìn)行一個電子紙質(zhì)的數(shù)據(jù)傳遞,便于實現(xiàn)紙質(zhì)證照內(nèi)容的紙質(zhì)驗證。
附圖說明
圖1為本發(fā)明的方法流程圖;
圖2為本發(fā)明的具體執(zhí)行流程圖。
具體實施方式
如圖1和2所示,本發(fā)明公開的校驗紙質(zhì)證照內(nèi)容是否被篡改的方法,包括如下步驟:
步驟1,電子證照的生成,具體步驟為:
步驟1.1,為每一種類型的電子證照生成其固定格式的模板,每個模板給予唯一編號并將電子證照模板形成摘要用私鑰對摘要加密形成簽名;
步驟1.2,選擇一種電子證照模板,向模板里填寫電子證照的所有填充項,如企業(yè)法人營業(yè)執(zhí)照里的名稱、企業(yè)類型、法定代表人等信息,生成完整的電子證照文件;
步驟1.3,將步驟1.2里填寫電子證照的所有填充項形成摘要用私鑰對摘要加密形成簽名;
步驟1.4,將步驟1.1的里電子證照模板唯一編號、步驟1.1里的簽名、步驟1.2里的所有填充項、步驟1.3里的簽名以固定格式形成電子數(shù)據(jù),將電子數(shù)據(jù)形成二維碼,放置在步驟1.2生成的完整電子證照文件空白處,形成帶有二維碼的電子證照;
步驟1.5,將步驟1.4形成的電子證照打印輸出成紙質(zhì)文檔;
步驟2,紙質(zhì)證照的真?zhèn)悟炞C,具體步驟為:
步驟2.1,將步驟1.1的電子證照模板庫導(dǎo)入到真?zhèn)悟炞C軟件中;
步驟2.2,使用真?zhèn)悟炞C軟件掃描紙質(zhì)證照上的二維碼,經(jīng)過處理從圖像二維碼保存的數(shù)據(jù)中獲取電子證照模板的唯一編號、模板簽名數(shù)據(jù)、填充的所有填充項、填充的填充項簽名數(shù)據(jù);
步驟2.3,將步驟2.2中獲取的所有填充項進(jìn)行處理形成摘要h;
步驟2.4,根據(jù)步驟2.2中獲取的填充項簽名中的私鑰標(biāo)識獲取對應(yīng)的公鑰,使用公鑰對步驟2.2中獲取的填充項簽名數(shù)據(jù)解密,得到h1;
步驟2.5,比較h和h1;如果相同,則表示紙質(zhì)證照二維碼中保存的所有填充項沒有被篡改過;
步驟2.6,根據(jù)步驟2.2中獲取的模板唯一編號從真?zhèn)悟炞C軟件中取得對應(yīng)的模板,并對模板內(nèi)容進(jìn)行處理形成摘要h2;
步驟2.7,根據(jù)步驟2.4中獲取的公鑰,使用公鑰對步驟2.2中獲取的模板簽名數(shù)據(jù)解密,得到h3;
步驟2.8,比較h2和h3,如果相同,則表示紙質(zhì)證照二維碼中保存的模板內(nèi)容沒有被篡改過;
步驟2.9,步驟2.5和步驟2.8比較通過后,將步驟2.6中取得的模板和步驟2.2中獲取的所有填充項組合生成可視化的一份新的電子證照文件;
步驟2.10,將步驟2.9生成的新的電子證照文件與紙質(zhì)證照文檔內(nèi)容進(jìn)行比對;如果相同,則表示紙質(zhì)文檔內(nèi)容沒有被篡改過,驗證紙質(zhì)文檔通過。
其中,步驟1.1中為每一種類型的電子證照生成其固定格式的模板并給予每個模板唯一編號,并在步驟2.6中根據(jù)唯一標(biāo)號取得模板,所述方法減小步驟1.4中生成的二維碼數(shù)據(jù)容量,減少電子證照的存儲容量,方便存儲。
步驟1.1中將電子證照模板形成摘要是指將電子模板上的所有內(nèi)容作為輸入,進(jìn)行哈希運算,得到摘要信息。步驟1.1中的用私鑰對摘要加密形成簽名是指使用數(shù)字證書中的簽名私鑰對權(quán)利要求3中的摘要信息進(jìn)行加密而得到的數(shù)字簽名值。數(shù)字證書是指存儲在智能key中用于加密和數(shù)字簽名運算的數(shù)字證書,具有簽名私鑰不出key的特點,可有效保護(hù)簽名私鑰的安全。
步驟1.4中所述以固定格式形成電子數(shù)據(jù)是指,利用自定義的特有固定格式存儲所需的內(nèi)容信息。步驟1.4中所述將電子數(shù)據(jù)形成二維碼,放置在步驟1.2生成的完整電子證照文件空白處是指利用二維碼具有數(shù)據(jù)存儲功能的特點,將電子數(shù)據(jù)轉(zhuǎn)為二維碼形式存儲。所述的二維碼是指具有數(shù)據(jù)存儲功能的不限定格式二維碼。
步驟2.2中使用真?zhèn)悟炞C軟件掃描紙質(zhì)證照上的二維碼,經(jīng)過處理從圖像二維碼保存的數(shù)據(jù)中獲取電子證照模板的唯一編號、模板簽名數(shù)據(jù)、填充的所有填充項、填充的填充項簽名數(shù)據(jù)是指利用二維碼識別技術(shù),將存儲于二維碼中的內(nèi)容進(jìn)行還原,從而分離出電子證照模板的唯一編號、模板簽名數(shù)據(jù)、填充的所有填充項、填充的填充項簽名數(shù)據(jù)。
步驟2.3中將步驟2.2中獲取的所有填充項進(jìn)行處理形成摘要h是指將還原的所有填充項作為輸入,進(jìn)行哈希運算,得到摘要。
步驟2.4中根據(jù)步驟2.2中獲取的填充項簽名中的私鑰標(biāo)識獲取對應(yīng)的公鑰是指從簽名信息的數(shù)字證書中提取的公鑰信息。步驟2.4中使用公鑰對步驟2.2中獲取的填充項簽名數(shù)據(jù)解密,得到h1是指根據(jù)非對稱密鑰算法,使用私鑰進(jìn)行加密,使用該私鑰對應(yīng)的公鑰也可以進(jìn)行解密。
步驟2.9中將步驟2.6中取得的模板和步驟2.2中獲取的所有填充項組合生成可視化的一份新的電子證照文件是指利用文檔合成技術(shù)將所有填充項字段填充到模板上生成新的文件。
本發(fā)明公開的校驗紙質(zhì)證照內(nèi)容是否被篡改的方法的使用效果具備:
1、促進(jìn)電子證照系統(tǒng)的建設(shè)和發(fā)展,化解業(yè)務(wù)風(fēng)險。本發(fā)明提供的檢驗紙質(zhì)證照內(nèi)容是否被篡改的方法利用基于公鑰基礎(chǔ)設(shè)施(publickeyinfrastructure,pki)技術(shù)及第三方數(shù)字證書認(rèn)證中心頒發(fā)的電子簽名制作數(shù)據(jù)對文檔內(nèi)容等相關(guān)信息進(jìn)行可靠電子簽名,能方便地作為司法訴訟中的證據(jù)使用,為建立糾紛解決、責(zé)任認(rèn)定機(jī)制提供可靠的技術(shù)基礎(chǔ),促進(jìn)電子證照系統(tǒng)的建設(shè)和發(fā)展,為電子證照的打印輸出提供有效的司法保障。
2、為廣大群眾帶來業(yè)務(wù)便利,本發(fā)明提供的檢驗紙質(zhì)證照內(nèi)容是否被篡改的方法,推動跨地域、跨部門、跨層級信息共享和業(yè)務(wù)協(xié)同,解決當(dāng)前政務(wù)活動中群眾多次往返、反復(fù)提交紙質(zhì)材料的頑疾,減少社會成本與資源浪費,減輕群眾負(fù)擔(dān);杜絕假證、假照泛濫的現(xiàn)象,解決證照查驗工作難的問題。