吳成偉++熊燕玲++吳靜++彭慧珺
摘要 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的傳統(tǒng)行業(yè)正不斷尋求轉(zhuǎn)型的機(jī)會(huì),試圖通過微信平臺(tái)開發(fā)新的業(yè)務(wù)模式。農(nóng)產(chǎn)品的生產(chǎn)、加工、銷售等各個(gè)環(huán)節(jié)同樣需要結(jié)合物聯(lián)網(wǎng)技術(shù),得到溯源系統(tǒng)的監(jiān)控和管理。本文利用商密算法二維碼技術(shù),設(shè)計(jì)農(nóng)產(chǎn)品溯源系統(tǒng)微信平臺(tái),可通過掃碼快速查詢到相關(guān)產(chǎn)品生產(chǎn)信息,滿足消費(fèi)者知情權(quán),有效進(jìn)行產(chǎn)品的防偽鑒別,同時(shí)平臺(tái)內(nèi)還開展兌換禮品、抽獎(jiǎng)等活動(dòng),使消費(fèi)者享受到購(gòu)買產(chǎn)品的優(yōu)惠政策。微信平臺(tái)的設(shè)計(jì)實(shí)現(xiàn)了對(duì)產(chǎn)品的追根溯源,使消費(fèi)者能夠放心采購(gòu)農(nóng)產(chǎn)品,同時(shí)提供便利。
關(guān)鍵詞 農(nóng)產(chǎn)品溯源系統(tǒng);商密二維碼;微信平臺(tái);物聯(lián)網(wǎng);設(shè)計(jì)
中圖分類號(hào) TP391;F322 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1007-5739(2017)17-0287-03
Abstract With the rapid development of the IOT(Internet of Things)technology,more and more traditional industries are constantly seeking opportunities for developing new business model by WeChat platform.The production,processing and marketing of the agricultural products also need to be integrated with the IOT technology and be monitored and managed by the traceability system.In this paper,a WeChat platform for agricultural products traceability system has been designed based on the commercial cipher two-dimensional code technology and the production information of the products could be searched quickly by means of code scanning by this WeChat platform to meet consumers′ right to know and effectively realize the anti-fake identification of the products;at the same time, the platform itself could also hold such activities as gifts exchange and lottery drawing,thus consumers could enjoy preferential policies for products purchase.The design of this WeChat platform has realized the traceability of the products,thus consumers could be able to buy agricultural products at ease and simultaneously enjoy sufficient convenience.
Key words agricultural product traceability system;commercial cipher two-dimensional code;WeChat platform;Internet of things;design
隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,大量信息化技術(shù)被應(yīng)用于商品的銷售與管理之中,對(duì)農(nóng)產(chǎn)品的監(jiān)管溯源也不例外。其中,二維碼技術(shù)存儲(chǔ)量大、制作成本低,常常被應(yīng)用到產(chǎn)品的溯源系統(tǒng)[1]之中。國(guó)內(nèi)武夷山巖上茶業(yè)就利用二維碼技術(shù)構(gòu)建溯源系統(tǒng),來整合茶業(yè)產(chǎn)品的生產(chǎn)日期、銷售渠道等相關(guān)信息,而國(guó)外也常在商品上添加溯源二維碼,通過掃描二維碼了解商品信息。因此,利用掃描二維碼,構(gòu)建農(nóng)產(chǎn)品溯源系統(tǒng)微信平臺(tái)[2],能夠有效整合農(nóng)產(chǎn)品信息,做到防偽鑒別,實(shí)現(xiàn)產(chǎn)品的追根溯源,同時(shí)能夠加快產(chǎn)業(yè)優(yōu)化升級(jí),促進(jìn)傳統(tǒng)農(nóng)業(yè)向現(xiàn)代農(nóng)業(yè)的加速轉(zhuǎn)變。
在此背景下,本文提出一種基于商密二維碼的農(nóng)產(chǎn)品溯源系統(tǒng)微信平臺(tái)設(shè)計(jì)方案,利用掃描商密二維碼來對(duì)農(nóng)產(chǎn)品信息溯源,安全性更高,同時(shí)微信平臺(tái)還開展積分兌換和抽獎(jiǎng)等活動(dòng),使用戶更便捷地享受到購(gòu)買產(chǎn)品的優(yōu)惠政策,是一種低成本、安全、可操作性強(qiáng)的溯源方案。
1 商密二維碼的應(yīng)用概況
本節(jié)介紹了國(guó)家商用密碼算法以及本農(nóng)產(chǎn)品溯源系統(tǒng)所使用的商密二維碼的生成算法,使用商密二維碼技術(shù)的農(nóng)產(chǎn)品溯源微信平臺(tái)具有更高的安全性與可操作性。
1.1 國(guó)家商用密碼算法
目前常用的RSA[3]、DES[4]算法由美國(guó)安全局發(fā)布,是國(guó)際上主流的加密算法,然而各項(xiàng)理論技術(shù)日趨成熟,曾經(jīng)難以攻破的國(guó)際算法漸漸出現(xiàn)了安全隱患。為了解決加密算法的安全性問題,國(guó)家密碼局發(fā)布了一系列國(guó)家商用密碼[5]算法標(biāo)準(zhǔn),包括SM1、SM2、SM3、SM4、祖沖之密碼算法等,并分為3種種類,即散列算法、非對(duì)稱加密算法、對(duì)稱加密算法。本系統(tǒng)所用的商密二維碼采用了SM2、SM3、SM4 3種加密算法,保障了二維碼信息的安全,下面將重點(diǎn)介紹這3種國(guó)家商用密碼算法。
1.1.1 SM2算法。SM2算法[6]是由國(guó)家密碼管理局發(fā)布的一種基于橢圓曲線公鑰密碼機(jī)制的加密算法。該算法采用了一條 256 bit的曲線作為標(biāo)準(zhǔn)曲線,可以應(yīng)用在數(shù)字簽名、公鑰加密等場(chǎng)景。其應(yīng)用的橢圓曲線方程為y2+a1xy+a3y=x3+a2x2+a4x+a6。該加密算法的安全性即是基于橢圓曲線的離散對(duì)數(shù)問題,而它與橢圓曲線數(shù)字簽名算法相比 ECDSA更安全。endprint
1.1.2 SM3算法。SM3算法[7]是一種罕見的散列算法[8],可生成消息認(rèn)證碼和隨機(jī)數(shù)。SM3算法常常應(yīng)用在數(shù)字簽名和數(shù)據(jù)完整性檢測(cè)等場(chǎng)合,是SHA-256的一種改進(jìn)算法,在通過與、或、非等運(yùn)算后,產(chǎn)生由壓縮函數(shù)、迭代過程所組成的256 bit長(zhǎng)度的散列值,是我國(guó)商密算法中唯一的散列算法。
1.1.3 SM4算法。SM4算法[9]是一種對(duì)稱加密算法,擁有128位的分組和密鑰長(zhǎng)度。SM4算法以字為單位,每個(gè)字32 bit,進(jìn)行32輪的迭代運(yùn)算,即32輪的加密變換,其解密過程也與加密過程類似,與加密過程唯一不同的地方在于解密過程使用相反的輪密鑰順序,SM4算法在計(jì)算過程中增加非線性變換,能夠在很大程度上提高算法的安全性能。
1.2 農(nóng)產(chǎn)品溯源系統(tǒng)商密二維碼的應(yīng)用
本系統(tǒng)采用的商密二維碼數(shù)據(jù)格式包括版本編號(hào)、密文長(zhǎng)度、隨機(jī)編號(hào)SID、密文數(shù)據(jù)區(qū)、數(shù)字簽名區(qū)。其中,隨機(jī)編號(hào)是用于生成密鑰的二維碼隨機(jī)數(shù),在經(jīng)過加密后形成的密文通過SM2算法計(jì)算生成數(shù)字簽名,并放置在數(shù)字簽名區(qū)。
該商密二維碼生成過程:首先,服務(wù)器生成一個(gè)16字節(jié)的隨機(jī)編號(hào),并通過SM4算法進(jìn)行計(jì)算,得到二維碼的密鑰;緊接著用該密鑰為數(shù)據(jù)進(jìn)行加密,該加密過程為長(zhǎng)度不足的數(shù)據(jù)填充無效字符,得到密文數(shù)據(jù);在獲得密文之后,利用SM2算法對(duì)該密文進(jìn)行數(shù)字簽名,計(jì)算其SM3數(shù)字摘要Hash,SM2算法利用服務(wù)器的私鑰計(jì)算得出Hash的數(shù)字簽名,并將該簽名填入數(shù)據(jù)尾部的數(shù)字簽名區(qū);最后對(duì)該數(shù)字簽名與加密之后的密文調(diào)用二維碼編碼模塊,按圖碼版本生成商密二維碼,同時(shí)用打印機(jī)等設(shè)備將其展示在目標(biāo)農(nóng)產(chǎn)品上。
商密二維碼的驗(yàn)證過程先經(jīng)過密碼載入,識(shí)別二維碼之后,在數(shù)字簽名區(qū)進(jìn)行驗(yàn)證,用SM3算法對(duì)密文數(shù)據(jù)區(qū)的數(shù)據(jù)計(jì)算數(shù)字摘要,如果能夠驗(yàn)證通過,則說明了數(shù)據(jù)的完整性。最后,用SM4算法對(duì)數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)。
商密二維碼的設(shè)計(jì)提高了二維碼的安全性,并能夠保障信息的可靠性與完整性,具有一定的創(chuàng)新性。
2 農(nóng)產(chǎn)品溯源系統(tǒng)微信平臺(tái)設(shè)計(jì)
基于商密二維碼的生成與實(shí)現(xiàn),設(shè)計(jì)了農(nóng)產(chǎn)品溯源微信平臺(tái),用戶可在該微信平臺(tái)通過掃描商密二維碼,了解產(chǎn)品信息,同時(shí)獲取積分兌換抵用券。
2.1 總體設(shè)計(jì)
在假設(shè)所有用戶是新農(nóng)戶且會(huì)使用掃碼工具,在此前提下,結(jié)合“掃碼幾次,積分幾次”的思想,本設(shè)計(jì)方案采用如圖1所示的方式,進(jìn)行農(nóng)產(chǎn)品掃碼積分以及積分兌換禮品、抽獎(jiǎng)等活動(dòng)。
用戶登錄該微信公眾號(hào)后,通過掃描二維碼獲得積分后,可在微信公眾號(hào)的個(gè)人中心查詢本人已有的積分,并且可以通過積分商城兌換抵用券,進(jìn)行兌換或者消費(fèi)抵現(xiàn)??紤]到直接利用微信公眾號(hào)內(nèi)個(gè)人中心積分購(gòu)買商品的復(fù)雜性,本方案采用O2O模式,即所有積分只能兌換物品抵用券,并且到鄰近的經(jīng)銷商處進(jìn)行兌換。
2.2 掃碼及防偽
用戶購(gòu)買了農(nóng)產(chǎn)品后,對(duì)該產(chǎn)品進(jìn)行微信掃碼。該掃碼將彈出Web界面,該界面有一個(gè)兌獎(jiǎng)碼輸入欄,一個(gè)手機(jī)號(hào)輸入欄,點(diǎn)擊要積分該兌獎(jiǎng)碼將被傳入后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行對(duì)比操作。此處同時(shí)進(jìn)行防偽鑒別。
若該兌獎(jiǎng)碼存在于數(shù)據(jù)庫(kù),首先取出兌獎(jiǎng)碼的Flag,若未被兌換過(即Flag為0),則將原Flag處的0置為1,并且將M個(gè)積分放入該手機(jī)號(hào)的用戶賬戶中,并彈出界面告知用戶兌換成功,并告知用戶該產(chǎn)品是正品;若Flag為1,則彈出界面告知用戶已經(jīng)兌換過,并且該產(chǎn)品是正品;若該兌獎(jiǎng)碼不存在于數(shù)據(jù)庫(kù)中,則彈出頁(yè)面告知用戶該產(chǎn)品是偽造品。具體過程見圖2所示。
為了防止偽造商家惡意收集本農(nóng)產(chǎn)品的兌獎(jiǎng)碼,在本兌獎(jiǎng)碼的數(shù)據(jù)庫(kù)表中,添加一個(gè)時(shí)間屬性,該屬性將記錄該用戶將Flag從0置為1的時(shí)刻,并且在2周內(nèi)自動(dòng)將該兌獎(jiǎng)碼從數(shù)據(jù)庫(kù)中刪除。需要說明的是,彈回的頁(yè)面分別顯示的是該商品是否為正品,該積分是否被兌換過,并且顯示該用戶賬戶中的總積分。
3 結(jié)語(yǔ)
基于商密算法的二維碼技術(shù),設(shè)計(jì)了一種農(nóng)產(chǎn)品溯源微信平臺(tái),該平臺(tái)能夠通過掃描二維碼,使用戶能夠快速了解產(chǎn)品的信息和防偽鑒別;同時(shí)用戶還可在該微信平臺(tái),通過掃碼獲取購(gòu)買產(chǎn)品的積分,并使用積分進(jìn)行抵用券兌換,使用戶能放心采購(gòu)農(nóng)產(chǎn)品,更便捷地享受商品的優(yōu)惠活動(dòng),具有一定的實(shí)用價(jià)值。
4 參考文獻(xiàn)
[1] 朱婉芳.基于二維碼的生豬溯源系統(tǒng)關(guān)鍵技術(shù)研究[D].長(zhǎng)沙:湖南農(nóng)業(yè)大學(xué),2015.
[2] 葉崑.基于微信公眾平臺(tái)下的智能農(nóng)業(yè)管理系統(tǒng)[D].長(zhǎng)春:吉林大學(xué),2015.
[3] 陳財(cái)森,王韜,郭世澤,等.針對(duì)RSA算法的蹤跡驅(qū)動(dòng)數(shù)據(jù)Cache計(jì)時(shí)攻擊研究[J].計(jì)算機(jī)學(xué)報(bào),2014(5):1039-1051.
[4] 爨玉偉,阮曉宏.基于DES及其改進(jìn)算法的文件加密系統(tǒng)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014(7):166-169.
[5] 尹隆.基于商密算法二維碼的研究與應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2016.
[6] 趙宇亮.國(guó)家商用密碼算法綜述[C]//中國(guó)電機(jī)工程學(xué)會(huì)電力信息化專業(yè)委員會(huì)、國(guó)家電網(wǎng)公司信息通信分公司.2016電力行業(yè)信息化年會(huì)論文集.北京:中國(guó)電機(jī)工程學(xué)會(huì)電力信息化專業(yè)委員會(huì)、國(guó)家電網(wǎng)公司信息通信分公司,2016:3.
[7] 孟帥.HASH函數(shù)BMW和SM3算法的分析[D].濟(jì)南:山東師范大學(xué),2014.
[8] 王國(guó)澎,胡向東,尹飛,等.BTB索引散列算法的研究與設(shè)計(jì)[J].計(jì)算機(jī)研究與發(fā)展,2014(9):2003-2011.
[9] 陳君.二維碼技術(shù)在移動(dòng)終端的安全應(yīng)用研究[D].廣州:廣東工業(yè)大學(xué),2015.endprint