国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SM2智能安全芯片的高檔酒防偽系統(tǒng)設(shè)計(jì)

2019-02-25 13:21:50左黎明陳祚松湯鵬志易傳佳
關(guān)鍵詞:防偽公鑰瓶蓋

左黎明,陳祚松,湯鵬志,易傳佳

(1.華東交通大學(xué) 理學(xué)院,江西 南昌 330013;2.華東交通大學(xué) 系統(tǒng)工程與密碼學(xué)研究所,江西 南昌 330013)

0 引 言

隨著國(guó)民經(jīng)濟(jì)的高速發(fā)展和人民生活水平的不斷提高,人們對(duì)于商品的檔次有了更高的追求。但由于受到暴利的驅(qū)使,高檔商品的假冒偽劣行為屢禁不止。其中高檔酒類的仿冒行為極其嚴(yán)重。1998年的“山西朔州假酒案”,造成27人死亡,200多人住院治療[1]。2016年6月,湖南常德警方破獲涉案金額逾兩千萬(wàn)元的特大假酒案。2017年6月,南陽(yáng)市警方偵破的特大制售假酒案,涉案總價(jià)值2.8億元。這些假冒偽劣產(chǎn)品不僅嚴(yán)重影響著國(guó)家的經(jīng)濟(jì)發(fā)展,還危及著合法企業(yè)和消費(fèi)者的切身利益[2]。這也不斷地推動(dòng)著防偽技術(shù)的發(fā)展。

目前大多數(shù)防偽技術(shù)主要分為結(jié)構(gòu)防偽和防偽標(biāo)志認(rèn)證兩種形式。其中結(jié)構(gòu)防偽如1996年付正華[3]提出的防偽瓶蓋注射模的設(shè)計(jì),公開了一種結(jié)構(gòu)型的防偽技術(shù),但因?yàn)榻Y(jié)構(gòu)無(wú)法還原的特性使得瓶中酒沒有及時(shí)飲用而導(dǎo)致酒精揮發(fā)后影響酒的品質(zhì)。通過防偽標(biāo)志進(jìn)行認(rèn)證防偽的如1993年Tirkel等[4]提出的數(shù)字水印技術(shù)[5-7]。1994年,日本Denso-Wave公司發(fā)明了二維條碼技術(shù)[8-9]。2010年,法國(guó)Prooftag公司推出氣泡防偽技術(shù)[10]以及一些其他的印刷防偽技術(shù)[11-12]。但由于這些信息都是靜態(tài)的,每次防偽識(shí)別時(shí)都是相同的內(nèi)容,所以很難做到完全防止被惡意復(fù)制。而隨著高級(jí)印刷技術(shù)的普及,以及電子信息技術(shù)的進(jìn)步,這些靜態(tài)的防偽標(biāo)志的仿造變得非常容易。

針對(duì)這些問題,文中提出了一種基于SM2智能安全芯片的高檔酒防偽系統(tǒng),以智能安全芯片為核心,通過智能安全芯片與防偽認(rèn)證服務(wù)系統(tǒng)之間的雙向數(shù)字簽名認(rèn)證,并且每次認(rèn)證后都更新產(chǎn)品防偽信息保證防偽信息的新鮮性,以實(shí)現(xiàn)產(chǎn)品防偽的安全性、可靠性和易用性。

1 SM2公鑰密碼算法

1.1 SM2算法簡(jiǎn)介

SM2橢圓曲線公鑰密碼算法(elliptic curve cryptography,ECC)是國(guó)內(nèi)于2010年12月公開的商用密碼算法標(biāo)準(zhǔn)[13-14]。ECC的求解是基于求解橢圓曲線離散對(duì)數(shù)問題(elliptic curve discrete logarithm problem,ECDLP),而將橢圓曲線應(yīng)用于公鑰密碼系統(tǒng)的思想是由Koblitz[15]和Miller[16]各自獨(dú)立提出的。ECDLP與大數(shù)分解和有限域上離散對(duì)數(shù)問題相比求解難度大得多。

因此,ECC在密鑰規(guī)模小得多的情況下能夠達(dá)到其他公鑰密碼算法相同的安全程度。正是由于ECC的密鑰規(guī)模小、安全程度高的優(yōu)勢(shì),使其在國(guó)內(nèi)商用密碼行業(yè)得到了大規(guī)模的應(yīng)用和推廣。

1.2 SM2簽名算法

1.2.1 系統(tǒng)參數(shù)

元素?cái)?shù)目為q的有限域Fq;橢圓曲線E(Fq),屬于方程E(Fq)的兩個(gè)元素a和b(a,b∈Fq);E(Fq)上的無(wú)窮遠(yuǎn)點(diǎn)或零點(diǎn)O;E(Fq)上階為n的基點(diǎn)G=(xG,yG)(G!= 且xG,yG∈Fq)。

1.2.2 用戶公/私鑰的建立

用戶A隨機(jī)選取整數(shù)dA(1≤sA≤n-1),并計(jì)算pA=dAG=(xA,yA)。其中dA作為用戶私鑰,pA作為用戶公鑰對(duì)外公開。

1.2.3 簽名生成

對(duì)于消息M的簽名生成過程如下:

(1)使用雜湊函數(shù)對(duì)待簽名消息M進(jìn)行處理得到e;

(2)選擇隨機(jī)數(shù)k∈[1,n-1],然后計(jì)算橢圓曲線點(diǎn)(x1,y1)=kG;

(3)計(jì)算r=(e+x1)modn,若r=0或r+k=n則返回第二步;

(4)計(jì)算s=((1+dA)-1(k-r.dA))modn,若s=0則返回第二步;

(5)將(r,s)作為消息M的數(shù)字簽名輸出。

1.2.4 簽名驗(yàn)證

對(duì)于簽名信息(r,s)進(jìn)行以下驗(yàn)證:

(1)驗(yàn)證r∈[1,n-1]和s∈[1,n-1]是否成立,若不成立則驗(yàn)證不過;

(2)使用雜湊函數(shù)對(duì)待簽名消息M進(jìn)行處理得到e';

(3)計(jì)算t=(r+s)modn,若t=0,則驗(yàn)證不通過;

2 系統(tǒng)架構(gòu)設(shè)計(jì)

如圖1所示,整個(gè)防偽系統(tǒng)由三部分組成:內(nèi)嵌SM2智能安全芯片的瓶蓋體、配套驗(yàn)證器、防偽認(rèn)證服務(wù)系統(tǒng)。首先使用配套驗(yàn)證器讀取瓶蓋體上內(nèi)嵌的SM2智能安全芯片中的產(chǎn)品身份標(biāo)識(shí)碼的簽名信息及其他基本信息;然后通過配套驗(yàn)證器間接發(fā)送到防偽認(rèn)證服務(wù)系統(tǒng)進(jìn)行簽名驗(yàn)證,簽名驗(yàn)證通過后,防偽認(rèn)證服務(wù)系統(tǒng)產(chǎn)生新的產(chǎn)品身份標(biāo)識(shí)碼和該產(chǎn)品身份標(biāo)識(shí)碼的簽名信息,并通過配套驗(yàn)證器間接發(fā)送到瓶蓋上的SM2智能安全芯片上進(jìn)行簽名驗(yàn)證。通過雙向簽名信息的驗(yàn)證過程來(lái)達(dá)到產(chǎn)品防偽的效果。每一次防偽驗(yàn)證后,SM2智能安全芯片和防偽認(rèn)證服務(wù)系統(tǒng)都會(huì)更新防偽認(rèn)證信息以保證防偽信息的新鮮性。

圖1 防偽系統(tǒng)架構(gòu)

2.1 瓶蓋結(jié)構(gòu)設(shè)計(jì)

防偽瓶蓋的結(jié)構(gòu)如圖2所示。SM2智能安全芯片內(nèi)嵌在瓶蓋頂部中心,用于射頻感應(yīng)供電的線圈兩端連接芯片的同時(shí)以芯片為中心向外繞圈,并且與瓶蓋的下端連通。在瓶蓋開啟時(shí)瓶蓋體與下端分離,線圈也隨之?dāng)嚅_,智能芯片受損從而無(wú)法進(jìn)行防偽認(rèn)證。這種設(shè)計(jì)的目的是防止不法分子回收瓶蓋進(jìn)行產(chǎn)品仿冒行為,但在輕微結(jié)構(gòu)損壞的情況下仍然保證了瓶蓋原有的密封產(chǎn)品的功能。

圖2 防偽瓶蓋結(jié)構(gòu)

該方案中的SM2智能安全芯片采用深圳華視微電子有限公司設(shè)計(jì)的型號(hào)為CVF1040D的安全芯片。其擁有唯一的ID,可重復(fù)擦寫10萬(wàn)次,最大可達(dá)8 MB程序存儲(chǔ)器映射和8 MB數(shù)據(jù)存儲(chǔ)器映射,并且含了SM2協(xié)處理器,支持ISO/IEC 7816和ISO/IEC 14443接口。

2.2 配套驗(yàn)證器

配套驗(yàn)證器主要分為兩類:一類是由顯示屏模塊、用于網(wǎng)絡(luò)連接的無(wú)線模塊和GPRS模塊組成的配套讀卡器;另一類是含有NFC功能并安裝了配套APP的移動(dòng)終端[17-18]。

2.3 防偽認(rèn)證服務(wù)系統(tǒng)

防偽認(rèn)證服務(wù)系統(tǒng)由數(shù)據(jù)中心、簽名服務(wù)模塊和產(chǎn)品管理模塊組成,并通過防火墻保證對(duì)外數(shù)據(jù)交互的安全。數(shù)據(jù)中心存儲(chǔ)了產(chǎn)品防偽認(rèn)證所需的關(guān)鍵信息(如表1所示)和其他產(chǎn)品信息,為產(chǎn)品防偽認(rèn)證和產(chǎn)品管理提供了數(shù)據(jù)支持。

簽名服務(wù)模塊包括了SM2系列算法的插件,提供了密鑰對(duì)生成、簽名信息生成、簽名信息驗(yàn)證等功能,并為其他應(yīng)用提供了遠(yuǎn)程接口調(diào)用服務(wù)。

產(chǎn)品管理模塊對(duì)外提供產(chǎn)品信息查詢服務(wù),對(duì)內(nèi)提供產(chǎn)品信息新增、修改、刪除、出入庫(kù)管理以及各類報(bào)表統(tǒng)計(jì)服務(wù)。

3 防偽認(rèn)證流程

防偽認(rèn)證流程主要分為兩個(gè)階段:SM2智能安全芯片的防偽信息初始化階段;產(chǎn)品流通和消費(fèi)者購(gòu)買時(shí)的產(chǎn)品防偽認(rèn)證階段。

3.1 防偽認(rèn)證協(xié)議

在防偽認(rèn)證協(xié)議中C(Client)為待防偽認(rèn)證產(chǎn)品,S(Server)為防偽認(rèn)證服務(wù)器,V(Validator)為配套驗(yàn)證器,該協(xié)議的具體過程如下:

(1)V→C:{APDUCommand};

(2)C→V:{SM2_Sign(SystemPKey||CardID),CardID,SystemID,SM2_Sign(CardID)};

(3)V→S:{SM2_Sign(SystemPKey||CardID),CardID,SystemID,SM2_Sign(CardCode)};

(4)S→V:{SM2_Sign(NewCardCode),NewCardCode};

(5)V→C:{APDUCommand,SM2_Sign(NewCardCode),NewCardCode};

(6)C→V:{Result};

3.2 SM2智能安全芯片初始化階段

當(dāng)一個(gè)產(chǎn)品生產(chǎn)完成時(shí),生產(chǎn)廠商在防偽認(rèn)證服務(wù)系統(tǒng)中為該產(chǎn)品生成相應(yīng)的產(chǎn)品防偽認(rèn)證關(guān)鍵信息及其他基本信息,其中產(chǎn)品唯一ID、產(chǎn)品公鑰、產(chǎn)品私鑰、產(chǎn)品身份標(biāo)識(shí)碼存儲(chǔ)到數(shù)據(jù)中心,而系統(tǒng)唯一ID、產(chǎn)品唯一ID、產(chǎn)品公鑰、產(chǎn)品簽名信息、系統(tǒng)簽名信息則通過配套工具寫入到智能安全芯片中。

3.3 產(chǎn)品防偽認(rèn)證階段

如圖3所示,在產(chǎn)品流通或者消費(fèi)者購(gòu)買后需要驗(yàn)證產(chǎn)品的真?zhèn)螘r(shí)可以通過以下步驟進(jìn)行防偽認(rèn)證:

步驟1:使用配套驗(yàn)證器靠近瓶蓋體向SM2智能安全芯片發(fā)送APDU指令,SM2智能安全芯片響應(yīng)指令,將基本信息返回給配套驗(yàn)證器,然后配套驗(yàn)證器將該基本信息發(fā)送到防偽認(rèn)證服務(wù)系統(tǒng)的簽名服務(wù)模塊。

步驟2:簽名服務(wù)模塊接收到產(chǎn)品基本信息后,根據(jù)系統(tǒng)唯一ID從數(shù)據(jù)中心獲得系統(tǒng)公鑰,并使用系統(tǒng)公鑰、產(chǎn)品唯一ID、系統(tǒng)公鑰驗(yàn)證系統(tǒng)簽名信息,驗(yàn)證通過則進(jìn)行下一步驗(yàn)證,否則返回驗(yàn)證失敗并結(jié)束防偽認(rèn)證;根據(jù)產(chǎn)品唯一ID從數(shù)據(jù)中心查找產(chǎn)品身份標(biāo)識(shí)碼、產(chǎn)品公鑰和產(chǎn)品私鑰,使用產(chǎn)品公鑰、產(chǎn)品身份標(biāo)識(shí)碼驗(yàn)證產(chǎn)品簽名信息,驗(yàn)證通過則簽名服務(wù)模塊產(chǎn)生一個(gè)新的產(chǎn)品身份標(biāo)識(shí)碼并使用產(chǎn)品私鑰對(duì)新的產(chǎn)品身份標(biāo)識(shí)碼簽名后得到新的產(chǎn)品簽名信息,將新的產(chǎn)品身份標(biāo)識(shí)碼和新的產(chǎn)品簽名信息返回,同時(shí)將新的產(chǎn)品身份標(biāo)識(shí)碼更新到數(shù)據(jù)中心,驗(yàn)證失敗則直接返回驗(yàn)證失敗并結(jié)束防偽認(rèn)證。

步驟3:配套驗(yàn)證器接收到防偽認(rèn)證服務(wù)系統(tǒng)的簽名服務(wù)模塊返回認(rèn)證信息后,如果驗(yàn)證失敗則結(jié)果直接顯示給用戶并結(jié)束認(rèn)證,如果接收到的是新的產(chǎn)品身份標(biāo)識(shí)碼和新的產(chǎn)品簽名信息則結(jié)合相應(yīng)的APDU指令發(fā)送給SM2智能安全芯片。

步驟4:SM2智能安全芯片接收到新的產(chǎn)品身份標(biāo)識(shí)碼和新的產(chǎn)品簽名信息后使用產(chǎn)品公鑰、新的產(chǎn)品身份標(biāo)識(shí)碼、新的產(chǎn)品簽名信息進(jìn)行簽名驗(yàn)證,并將驗(yàn)證結(jié)果返回到配套驗(yàn)證器中同時(shí)將新的產(chǎn)品簽名信息更新到SM2智能安全芯片中。

步驟5:配套驗(yàn)證器根據(jù)SM2智能安全芯片返回的驗(yàn)證結(jié)果顯示防偽認(rèn)證結(jié)果。

4 實(shí)驗(yàn)仿真與效率分析

4.1 智能安全芯片初始化

根據(jù)系統(tǒng)設(shè)計(jì),需要對(duì)產(chǎn)品內(nèi)嵌的智能安全芯片進(jìn)行初始化,這個(gè)過程中將產(chǎn)品基本信息寫入到智能安全芯片中,其部分核心代碼如下:

public staticSmartSecurityChip CardInit()

{

SmartSecurityChip ssc=new SmartSecurityChip();//生成芯片對(duì)象

ssc.SystemID=SystemID;//將系統(tǒng)唯一ID初始化

ssc.CardID=GetCardID();//讀取產(chǎn)品唯一ID

ssc.CardCode=GenerateCardCode();//生成產(chǎn)品身份標(biāo)識(shí)碼

SM2.TanGenSM2KeyPair(out ssc.CardPublicKey, out CardPrivateKey);//生成公鑰/私鑰

SM2.TanSM2Sign(ssc.CardCode, out ssc.CardSign);//生成產(chǎn)品身簽名信息

SM2.TanSM2Sign(ssc.CardID+ssc.CardPublicKey,SystemSKey,out ssc.InfoSign);//生成系統(tǒng)簽名信息

WirteToCard(ssc);//基本信息寫入智能安全芯片中

returnssc;

}

圖4所示為智能安全芯片初始化過程生成的基本信息,同時(shí)將基本信息寫入到智能安全芯片中。

圖4 智能安全芯片初始化產(chǎn)生的基本信息

4.2 產(chǎn)品防偽認(rèn)證模擬

在產(chǎn)品防偽認(rèn)證時(shí),服務(wù)器接收到產(chǎn)品基本信息后分別對(duì)InfoSign和CardSign進(jìn)行驗(yàn)證,然后生成NewCardCode、NewCardSign,其部分核心代碼如下:

//服務(wù)端根據(jù)System、CardID、CardPublicKey驗(yàn)證InfoSign

SCServiceSystem.VerifyInfoSign(ssc.CardID+ssc.CardPublicKey,ssc.InfoSign,SCServiceSystem.SystemPKey);

//服務(wù)端根據(jù)CardPublicKey、CardCode驗(yàn)證CardSign

SCServiceSystem.VerifyCardSign (ssc.CardCode,ssc.CardSign, ssc.CardPublicKey);

stringNewCardCode=string.Empty;

stringNewCardSign=string.Empty;

//服務(wù)端生成NewCardCode和NewCardSign;

SCServiceSystem.GenNewCardCodeAndSign(out NewCardCode, out NewCardSign);

圖5所示為產(chǎn)品認(rèn)證模擬中服務(wù)端根據(jù)產(chǎn)品發(fā)送的認(rèn)證信息進(jìn)行InfoSign和CardSign驗(yàn)證的具體過程和內(nèi)容,以及生成的NewCardCode和NewCardSign。

圖5 防偽認(rèn)證階段各認(rèn)證步驟結(jié)果

防偽認(rèn)證服務(wù)器端對(duì)產(chǎn)品基本信息認(rèn)證通過后,通過配套驗(yàn)證器間接發(fā)送NewCardCode和NewCardSign至產(chǎn)品內(nèi)嵌的智能安全芯片中,智能安全芯片根據(jù)CardPublicKey和NewCardCode驗(yàn)證NewCardSign,其部分核心代碼如下:

//根據(jù)newCardCode、CardPublicKey驗(yàn)證newCardSign

publicbool Verify(string newCardCode,string newCardSign)

{

bool result=SM2.TanSM2Verify (newCardCode,this.CardPublicKey,newCardSign);

ShowDetails(newCardCode,newCardSign,result);

return result;

}

圖6所示為智能安全芯片根據(jù)CardPublicKey和NewCardCode驗(yàn)證NewCardSign的具體過程及結(jié)果。

圖6 智能安全芯片簽名認(rèn)證信息及結(jié)果

4.3 效率分析

經(jīng)過20組防偽認(rèn)證仿真后,得到智能安全芯片的初始化平均耗時(shí)為0.239 518 8 s,防偽認(rèn)證服務(wù)系統(tǒng)的認(rèn)證平均耗時(shí)為0.339 992 9 s,智能安全芯片的簽名認(rèn)證平均耗時(shí)為0.142 21 s。智能安全芯片的0.239 518 8 s的產(chǎn)品初始化時(shí)間相較于整個(gè)產(chǎn)品生產(chǎn)流程而言是非??焖俚?,而模擬的整個(gè)產(chǎn)品防偽認(rèn)證過程時(shí)間合計(jì)為0.482 202 9 s,對(duì)于消費(fèi)者和經(jīng)銷商而言產(chǎn)品的防偽認(rèn)證過程可以實(shí)現(xiàn)“所見即所得”的效果。

5 結(jié)束語(yǔ)

基于SM2智能安全芯片的高檔酒防偽系統(tǒng)是一個(gè)由防偽瓶蓋、配套驗(yàn)證器、防偽認(rèn)證服務(wù)系統(tǒng)組成的防偽解決方案。采用SM2智能安全芯片內(nèi)嵌瓶蓋頂部,線圈連通開蓋結(jié)構(gòu)的設(shè)計(jì),在瓶蓋開啟時(shí)的結(jié)構(gòu)輕微損壞,既保證了瓶蓋原有的封口功能又使智能安全芯片因結(jié)構(gòu)損壞而失去防偽功能,從而杜絕了不法商家回收瓶蓋來(lái)制造偽冒產(chǎn)品的行為。以SM2系列算法為防偽認(rèn)證核心并通過防偽產(chǎn)品與防偽認(rèn)證服務(wù)系統(tǒng)之間的雙向身份認(rèn)證保證了防偽認(rèn)證的安全性和可靠性。并且每次防偽驗(yàn)證后SM2智能安全芯片和防偽認(rèn)證服務(wù)系統(tǒng)都會(huì)更新防偽認(rèn)證信息,充分保證了認(rèn)證信息的新鮮性。通過仿真模擬證明了防偽認(rèn)證在高安全性的前提下保證了防偽驗(yàn)證的高效性。

猜你喜歡
防偽公鑰瓶蓋
瓶蓋配對(duì)
幼兒100(2022年23期)2022-12-27 04:48:55
設(shè)計(jì)巧妙的瓶蓋
INTEGRITYTM ECO100再生縫紉線引入防偽技術(shù)
你知道古代圣旨和紙鈔是怎樣防偽的嗎
一種基于混沌的公鑰加密方案
開瓶蓋
民國(guó)時(shí)期紙鈔上的防偽暗記
HES:一種更小公鑰的同態(tài)加密算法
SM2橢圓曲線公鑰密碼算法綜述
一種具有防偽功能的卷煙紙
天津造紙(2015年2期)2015-01-04 08:18:15
赣州市| 罗甸县| 绥滨县| 孟村| 新营市| 于田县| 青川县| 牙克石市| 余姚市| 安泽县| 浦城县| 泸西县| 山西省| 漳州市| 三亚市| 潮安县| 关岭| 朝阳区| 崇文区| 交口县| 河西区| 白朗县| 大足县| 勃利县| 宁强县| 西宁市| 淅川县| 久治县| 韶山市| 淮北市| 德昌县| 磐安县| 垫江县| 徐水县| 青岛市| 四川省| 剑河县| 文山县| 邵阳县| 舞钢市| 长泰县|