林 涌,盧江海,姚 軍
(福建省標(biāo)準(zhǔn)化研究院,福建 福州 350013)
基于RSA數(shù)字簽名的二維碼檢驗(yàn)報(bào)告防偽平臺(tái)構(gòu)建
林 涌,盧江海,姚 軍
(福建省標(biāo)準(zhǔn)化研究院,福建 福州 350013)
當(dāng)前,檢驗(yàn)報(bào)告造假呈日趨上升趨勢(shì),防偽鑒別技術(shù)已引起越來越多民眾的重視。文中通過將RSA數(shù)字簽名和二維碼技術(shù)相結(jié)合,構(gòu)建一個(gè)基于RSA數(shù)字簽名的二維碼防偽系統(tǒng)平臺(tái),方便公眾查驗(yàn)報(bào)告真?zhèn)?,為?shù)據(jù)安全提供有效的保障。
RSA數(shù)字簽名;二維碼;防偽;檢驗(yàn)報(bào)告
檢驗(yàn)質(zhì)量標(biāo)準(zhǔn)的檢驗(yàn)報(bào)告因其具有公正性、準(zhǔn)確性和法律性逐漸成為了企業(yè)和消費(fèi)者關(guān)注的焦點(diǎn)。由于目前法定檢驗(yàn)機(jī)構(gòu)的檢驗(yàn)報(bào)告多數(shù)是以紙質(zhì)文件并加蓋公章的形式出具。一些不法分子利用篡改技術(shù)擅自更改檢驗(yàn)報(bào)告內(nèi)容,這種情況不僅降低了檢驗(yàn)機(jī)構(gòu)的可信度,同時(shí)也給社會(huì)帶來極壞的負(fù)面影響。
為了加強(qiáng)檢驗(yàn)報(bào)告的防偽功能,致力于在檢驗(yàn)機(jī)構(gòu)和公眾之間搭建溝通的橋梁,文中擬構(gòu)建一個(gè)基于RSA數(shù)字簽名的二維碼防偽認(rèn)證平臺(tái),為公眾提供動(dòng)態(tài)驗(yàn)證服務(wù),以提升檢驗(yàn)機(jī)構(gòu)在社會(huì)中的公信力。
2.1 RSA算法
RSA算 法[1]是 1978年 由R.L.Rivest,A. Shamir和L.Adleman提出的一種基于歐拉定理[2]構(gòu)造的非對(duì)稱密碼算法。是目前為止理論上最為成熟完善的公鑰密碼體制,也是第一個(gè)能同時(shí)用于加密和數(shù)字簽名的算法且易于理解和操作,其算法如下:
公鑰:N,e
私鑰:d
當(dāng)p和q是一對(duì)大素?cái)?shù)的時(shí)候,從它們的乘積pq去分解因子p和q,這是一個(gè)公認(rèn)的數(shù)學(xué)難題。比如當(dāng)pq大到1024位時(shí),迄今為止還沒有人能夠利用任何計(jì)算工具去完成分解因子的任務(wù)。因此它成為了目前最流行的公開密鑰算法。
2.2 數(shù)字簽名
數(shù)字簽名[3]就是對(duì)電子形式的文件或信息進(jìn)行簽名的方法。要使簽名的消息能在通信網(wǎng)絡(luò)中傳輸,信息的發(fā)送方用單向散列函數(shù)(如MD5函數(shù)、HASH函數(shù)等)對(duì)要發(fā)送的信息生成新的信息摘要并用自己的私密加密,接收方以發(fā)送方的公鑰進(jìn)行解密,使用同一散列函數(shù)算法生成信息摘要進(jìn)行驗(yàn)證,以確認(rèn)信息的來源以及完整性和發(fā)送者不可抵賴性。
RSA算法即能于數(shù)據(jù)加密,也可用于數(shù)字簽名,且可以同時(shí)使用。如圖1所示發(fā)送方用接收方的公鑰對(duì)信息進(jìn)行加密,然后用自己的私鑰加密摘要生成簽名;接受方先用自己的私鑰解密信息,以同一散列算法生成摘要,然后用發(fā)送方的公鑰解密簽名,最后比較驗(yàn)證。數(shù)字簽名過程可分為數(shù)字簽名和驗(yàn)證數(shù)字簽名兩個(gè)子過程。
圖1 數(shù)字簽名的實(shí)現(xiàn)過程
2.3 防偽原理
二維碼加密防偽原理就是將二維碼編碼技術(shù)和RSA簽名原理結(jié)合起來,對(duì)檢驗(yàn)報(bào)告的內(nèi)容進(jìn)行數(shù)字簽名,利用二維碼承載信息量大、保密性好、容錯(cuò)能力強(qiáng)、易識(shí)讀等優(yōu)點(diǎn),以二維碼圖形作為防偽載體,通過手機(jī)掃描和互聯(lián)網(wǎng)進(jìn)行交互在后臺(tái)實(shí)現(xiàn)驗(yàn)證,從而得到查詢結(jié)果,保證數(shù)據(jù)的真實(shí)可靠。
3.1 框架
在結(jié)構(gòu)上,該防偽系統(tǒng)主要包括法定檢測(cè)機(jī)構(gòu)、用戶兩大部分,框架圖如下:
圖2 二維碼防偽系統(tǒng)框架
檢驗(yàn)機(jī)構(gòu):儲(chǔ)存檢測(cè)報(bào)告原始信息資料,通過RSA數(shù)字簽名算法生成二維碼,驗(yàn)證用戶端發(fā)送信息的真實(shí)性。
用戶:手機(jī)掃描二維碼通過網(wǎng)頁(yè)驗(yàn)證,比對(duì)傳回的頁(yè)面是否和紙質(zhì)報(bào)告相同。
系統(tǒng)加密和解密過程都在檢驗(yàn)機(jī)構(gòu)服務(wù)器端處理,安全性得到有效的保障。用戶端只需通過回傳的網(wǎng)頁(yè)信息對(duì)照紙質(zhì)檢驗(yàn)報(bào)告進(jìn)行驗(yàn)證,而不必另外加裝第三方軟件,避免帶來不必要的麻煩。
3.2 流程
如圖2所示,檢驗(yàn)機(jī)構(gòu)首先從數(shù)據(jù)庫(kù)中將報(bào)告編碼作為唯一的標(biāo)識(shí)符,采用任意摘要算法,提取該檢測(cè)報(bào)告中的內(nèi)容(如規(guī)格、型號(hào)、鑒定結(jié)論等)形成信息摘要,并附上時(shí)間戳,然后通過RSA算法用私鑰加密信息摘要和時(shí)間戳生成數(shù)字簽名,附上加密的報(bào)告內(nèi)容通過二維碼生成軟件形成二維碼圖形。用戶通過手機(jī)掃描檢測(cè)報(bào)告上的二維碼,發(fā)送到檢測(cè)機(jī)構(gòu)服務(wù)器端。服務(wù)器端驗(yàn)證時(shí)先解密報(bào)告內(nèi)容,以相同摘要算法提取信息摘要,然后用公鑰解密數(shù)字簽名,對(duì)比計(jì)算的信息摘要與解密簽名后的信息摘要是否一致,并查看時(shí)間戳。如果一致就讀取數(shù)據(jù)庫(kù)內(nèi)報(bào)告編碼對(duì)應(yīng)的詳細(xì)信息返回到用戶的手機(jī)端,用戶將紙質(zhì)報(bào)告對(duì)照手機(jī)端的內(nèi)容,鑒別真?zhèn)巍?/p>
3.3 安全機(jī)制
系統(tǒng)綜合應(yīng)用了二維碼編碼技術(shù)和RSA數(shù)字簽名原理,對(duì)防偽系統(tǒng)進(jìn)行了創(chuàng)新,用RSA算法對(duì)信息摘要和時(shí)間戳用私鑰加密生成數(shù)字簽名,在服務(wù)器端用公鑰進(jìn)行解密,加密解密都在服務(wù)器端運(yùn)行,保證了信息的真實(shí)性、準(zhǔn)確性和安全性。另外在用戶與檢驗(yàn)機(jī)構(gòu)服務(wù)器端之間應(yīng)用SSL協(xié)議[4]進(jìn)行數(shù)據(jù)傳輸交換,為信息安全和數(shù)據(jù)的完整性提供了更有力的保障。
此系統(tǒng)平臺(tái)是在二維碼的基礎(chǔ)上,運(yùn)用密碼學(xué)的原理,對(duì)檢測(cè)報(bào)告予以數(shù)字簽名加密,防止報(bào)告?zhèn)卧旎虮淮鄹?。用先進(jìn)的技術(shù)提供防偽認(rèn)證查詢的功能,同時(shí)在平臺(tái)的構(gòu)建上,提供實(shí)驗(yàn)室標(biāo)準(zhǔn)、實(shí)驗(yàn)室檢測(cè)資質(zhì)的動(dòng)態(tài)查詢系統(tǒng),為公眾提供更為專業(yè)、優(yōu)質(zhì)的服務(wù),同時(shí)對(duì)檢驗(yàn)機(jī)構(gòu)的監(jiān)管提供了新的技術(shù)手段。
[1]張淑芬,陳學(xué)斌,劉春風(fēng).RSA公鑰密碼體制的安全性分析及其算法實(shí)現(xiàn).計(jì)算機(jī)應(yīng)用與軟件[J],2005,22(7):108.1-10.
[2] 賀令亞. RSA加密算法的研究與實(shí)現(xiàn)[D]. 長(zhǎng)沙:中南大學(xué)計(jì)算機(jī)系,2009:7-10.
[3] 雷超陽(yáng)基于RSA的數(shù)字簽名技術(shù)研究與實(shí)現(xiàn)[J].長(zhǎng)沙:長(zhǎng)沙通信職業(yè)技術(shù)學(xué)院學(xué)報(bào),2008,7(4):22-23.
[4]史春光.淺析基于SSL協(xié)議的VPN技術(shù). 信息技術(shù)[J], 2009(3):121-123
Structure for Two-Dimensional Barcode in Test Reports of Anti-Fake Platform Based on RSA Digital Signature
LIN-Yong, LU Jinag-Hai, YAO Jun
(Fujian Standardization Institute, Fuzhou 350013, Fujian,China)
At present, the test report fraud shows a rising trending, so the security identification technology arouses more and more people's attention. In this paper, the RSA digital signature and the two-dimensional barcode technology are combined to build a security identification system platform based on two-dimensional barcode. This system can be used to identify test report authenticity and provide effective protection for data security.
RSA digital signature; Two-dimensional barcode; Anti-fake; Test report
2015-05-28
林 涌,男,福建省標(biāo)準(zhǔn)化研究院,物品編碼部,技術(shù)負(fù)責(zé)人,工程師
盧江海,男,福建省標(biāo)準(zhǔn)化研究院,副院長(zhǎng),高級(jí)工程師
姚 軍,男,福建省標(biāo)準(zhǔn)化研究院,助理工程師