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

?

TrustZone架構(gòu)下基于優(yōu)化RSA的食品追溯可信采集方法

2022-08-10 08:22王朝陽汪顥懿張青川
關(guān)鍵詞:密文加密算法非對稱

王朝陽 汪顥懿 左 敏 張青川

(北京工商大學(xué)農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國家工程實(shí)驗(yàn)室 北京 100048)

0 引 言

隨著人民生活水平的不斷提高,消費(fèi)者對食品品質(zhì)以及安全的要求也越來越高,大眾對食品的關(guān)注點(diǎn)已經(jīng)轉(zhuǎn)變?yōu)槭巢牡脑搭^,食品加工過程、倉儲(chǔ)、運(yùn)輸?shù)?。同時(shí)近年來食品安全問題頻發(fā),從最早的三聚氰胺、地溝油到現(xiàn)如今的臺灣“塑化劑”風(fēng)波、湖南大米鎘元素超標(biāo)、天津獨(dú)流調(diào)料造假等事件,當(dāng)前食品安全隱患愈發(fā)嚴(yán)重。另一方面,大多數(shù)食品對于加工、運(yùn)輸、倉儲(chǔ)等環(huán)節(jié)中的溫度、濕度、光強(qiáng)等環(huán)境因素有較高要求,一旦這些因素未達(dá)標(biāo),食品變質(zhì)的可能性增大,若這樣的食品流向市場,將會(huì)嚴(yán)重危害公眾的健康。因此,亟需采用安全、可信、透明的食品安全溯源系統(tǒng)來加強(qiáng)對食品產(chǎn)業(yè)鏈的監(jiān)管與效率,提高食品安全水平,保障國民飲食健康。隨著信息科學(xué)的飛速發(fā)展,在食品安全溯源系統(tǒng)中融入智能技術(shù)、物聯(lián)網(wǎng)技術(shù),極大地促進(jìn)了我國食品安全溯源體系的發(fā)展,使得公眾能參與到食品安全監(jiān)管中。在服務(wù)器端,以去中心化的分布式結(jié)構(gòu)應(yīng)用、不可篡改的時(shí)間戳、安全信任機(jī)制為核心的區(qū)塊鏈技術(shù)成為了信息技術(shù)的研究熱點(diǎn)。區(qū)塊鏈具有去中心化、唯一性、自治性、不可篡改性、匿名性等特性[1],是目前搭建食品安全追溯系統(tǒng)的不二之選,在實(shí)現(xiàn)追溯透明化的同時(shí)可以有效地保證服務(wù)器端的數(shù)據(jù)安全性。

但是,區(qū)塊鏈等技術(shù)并不能保證追溯信息在上“鏈”前的數(shù)據(jù)安全,若追溯信息在上傳至服務(wù)器端前就遭到篡改,后續(xù)的追溯過程將毫無意義。為此,如何杜絕企業(yè)上傳虛假或被篡改的追溯信息已經(jīng)是目前亟需解決的問題。針對這一問題,本文設(shè)計(jì)實(shí)現(xiàn)了一種TrustZone[2-3]架構(gòu)下基于優(yōu)化RSA的食品追溯可信采集方法,利用可信執(zhí)行環(huán)境、時(shí)間戳、非對稱加密算法等技術(shù),并設(shè)計(jì)加密機(jī)制,可部署在養(yǎng)殖場、運(yùn)輸車輛、銷售貨柜等嵌入式環(huán)境,對上傳至服務(wù)器端前的追溯數(shù)據(jù)提供安全保障。此外,由于食品安全追溯數(shù)據(jù)量極大,且嵌入式環(huán)境硬件計(jì)算能力有限,運(yùn)算速度較慢,為了防止出現(xiàn)數(shù)據(jù)堆積的問題,本文對RSA算法進(jìn)行優(yōu)化,在保證安全性的同時(shí)提高運(yùn)算速度。

1 相關(guān)工作

1.1 國內(nèi)外研究現(xiàn)狀

針對攻擊者在數(shù)據(jù)采集端的竊取、篡改、破壞等惡意行為,國內(nèi)外已有研究者基于國產(chǎn)密碼算法、ARMA的無線傳感器網(wǎng)絡(luò)、數(shù)字水印等技術(shù),展開研究并提出了可行的防護(hù)方案。馮云等[4]提出了基于國產(chǎn)密碼算法的可信計(jì)算體系,將基于國產(chǎn)密碼算法的可信技術(shù)應(yīng)用于采集終端的安全加固。王海元等[5]提出了基于ARMA的無線傳感器網(wǎng)絡(luò)可信數(shù)據(jù)采集方法,在保證采集數(shù)據(jù)的高度可信的同時(shí)顯著提高了網(wǎng)絡(luò)的整體性能。李紅濤等[6]提出了一種全新的數(shù)字水印嵌入方法,保障涉密圖像在傳輸過程中的安全性、可靠性和完整性。Zhao等[7]利用靜態(tài)隨機(jī)存取存儲(chǔ)器在不添加安全硬件的前提下生成可信根,來得到加密數(shù)據(jù)的安全密鑰,通過將加密后的數(shù)據(jù)存儲(chǔ)在系統(tǒng)硬件上來保證數(shù)據(jù)安全。Hein等[8]設(shè)計(jì)實(shí)現(xiàn)了一種基于安全密鑰和Merkle-Tree認(rèn)證加密的安全設(shè)備,可有效防止攻擊者對數(shù)據(jù)的篡改、竊取、破壞。

1.2 非對稱加密算法

非對稱加密算法中包含公開密鑰(Public Key,PK)和私有密鑰(Private Key,SK)。公鑰與私鑰是一對,如果用公鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私鑰才能解密,非對稱加密算法強(qiáng)度復(fù)雜,安全性主要由算法和密鑰管理決定。對稱密碼體制則是單一密鑰,并且是非公開的,所以保證其安全性就是保證密鑰的安全,但在解密時(shí)必須將密鑰向?qū)Ψ焦_,而非對稱密鑰體制有兩種密鑰,其中一個(gè)是公開的,這樣就可以不需要像對稱密碼那樣將密鑰傳輸給對方,確保了密鑰對的安全性,因此非對稱加密算法安全性更好。本文列出了RSA、DSA、ECC、RABIN這4種目前應(yīng)用最多的非對稱加密算法[9-13],并從成熟度、安全性、運(yùn)算速度、資源消耗等特點(diǎn)進(jìn)行對比,對比結(jié)果如表1所示。

表1 算法對比結(jié)果

2 TrustZone架構(gòu)下的食品追溯可信采集方法

本文設(shè)計(jì)的TrustZone架構(gòu)下的食品追溯可信采集方法主要包括數(shù)據(jù)采集層、加密層、存儲(chǔ)三部分。通過設(shè)計(jì)基于非對稱加密算法和時(shí)間戳的加密機(jī)制,在可信執(zhí)行環(huán)境中對追溯信息進(jìn)行加密,以確保追溯信息的可信性。

2.1 數(shù)據(jù)采集類型

追溯數(shù)據(jù)采集,是指從傳感器和其他待測設(shè)備等模擬和數(shù)字被測單元中自動(dòng)采集追溯信息(非電量或者電信號),送到上位機(jī)中進(jìn)行分析、處理。由于傳統(tǒng)的采集系統(tǒng)存在響應(yīng)慢、精度低、可靠性差、效率低、操作繁瑣等弊端,已經(jīng)不能完全適應(yīng)當(dāng)前追溯領(lǐng)域的需求。如今嵌入式技術(shù)已經(jīng)相對成熟,因此,基于嵌入式的追溯信息采集設(shè)備是目前最優(yōu)的選擇方案。經(jīng)過對現(xiàn)有的食品安全追溯領(lǐng)域的調(diào)研,本文對追溯環(huán)節(jié)以及數(shù)據(jù)類型進(jìn)行了總結(jié),并確定了本文方法所采集的數(shù)據(jù)類型;食品安全追溯可以分為生產(chǎn)環(huán)節(jié)、倉儲(chǔ)環(huán)節(jié)、運(yùn)輸環(huán)節(jié)三部分,具體追溯對象以及追溯信息如表2所示。

表2 追溯對象與追溯信息

2.2 方法與加密機(jī)制設(shè)計(jì)

本文方法所需的硬件設(shè)備主要包括:電源、ARM核心控制模塊、傳感器、存儲(chǔ)設(shè)備等模塊,系統(tǒng)框架如圖1所示。通過調(diào)用溫度傳感器、濕度傳感器、位置傳感器、光強(qiáng)傳感器、氣壓傳感器等傳感器對食品追溯環(huán)境中的環(huán)境信息進(jìn)行數(shù)據(jù)采集。采集到的追溯數(shù)據(jù)在ARM核心控制模塊中由CA端傳入TA端,在TrustZone技術(shù)構(gòu)建的可信執(zhí)行環(huán)境中,通過基于時(shí)間戳和優(yōu)化后的非對稱加密算法的加密機(jī)制,對數(shù)據(jù)加密,最后將追溯信息與密文共同存儲(chǔ)。在上傳至服務(wù)器前,可通過公鑰對數(shù)據(jù)進(jìn)行解密驗(yàn)證,進(jìn)一步確保數(shù)據(jù)的可信性。由于全部加密過程均在可信執(zhí)行環(huán)境中進(jìn)行,不僅可以確保私鑰的可信性,由于私鑰存放在安全的永久存儲(chǔ)器中,還可以防止遭受來自外界攻擊者的竊取與篡改。

在追溯過程中,追溯信息通常由數(shù)據(jù)、采集時(shí)間兩部分構(gòu)成。對于傳統(tǒng)的追溯系統(tǒng),不法分子可以在數(shù)據(jù)上傳服務(wù)器或區(qū)塊鏈之前,在本地對追溯數(shù)據(jù)以及采集時(shí)間進(jìn)行篡改,以此來欺騙公眾及監(jiān)管部門,對此文章將通過加密機(jī)制來保證追溯信息的可信性以及時(shí)效性(時(shí)間的遞推)。加密機(jī)制如圖2所示。

圖2 加密機(jī)制設(shè)計(jì)

(1) 在可信執(zhí)行環(huán)境內(nèi)生成公鑰私鑰對(PK,SK),私鑰將永久存儲(chǔ)在可信執(zhí)行環(huán)境中。

(2) 將傳感器采集到的追溯信息(m)傳輸至可信執(zhí)行環(huán)境。

(3) 在可信執(zhí)行環(huán)境內(nèi)對追溯信息加蓋時(shí)間戳(time),以確保追溯信息中時(shí)間參數(shù)的單一性。

(4) 加蓋時(shí)間戳的若干條追溯信息將在內(nèi)存中組成數(shù)據(jù)塊,等待處理。

(5) 使用非對稱加密算法,通過私鑰對追溯信息進(jìn)行加密。

(6) 將原始追溯信息、時(shí)間戳、密文組成新的追溯信息(M),并進(jìn)行存儲(chǔ)。

(7) 在上傳至區(qū)塊鏈或服務(wù)器前,需要用公鑰(PK)對密文(C)進(jìn)行驗(yàn)證,以確保追溯信息上鏈前的可信性。

2.3 基于TrustZone技術(shù)的方法實(shí)現(xiàn)

TrustZone是ARM提出的一種提供基于硬件的隔離機(jī)制,為需要高安全性的代碼構(gòu)建安全可靠的環(huán)境[14-15]。它將系統(tǒng)的硬件和軟件資源分為兩部分,一個(gè)是可信執(zhí)行環(huán)境,另一個(gè)是普通環(huán)境。所有的敏感操作都應(yīng)該在可信執(zhí)行環(huán)境中被保護(hù),其余安全性要求較低的操作在普通執(zhí)行環(huán)境中執(zhí)行,例如Rich OS和大多數(shù)應(yīng)用程序。核心狀態(tài)由安全配置寄存器(SCR)中的NS位區(qū)分,NS位只能由安全核心修改。通過安全監(jiān)控呼叫(SMC),無論在何種環(huán)境中,它都可以進(jìn)入監(jiān)控模式并切換到其他環(huán)境。

2.3.1可信執(zhí)行環(huán)境

可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE)[16-17]首先由Global Platform(GP)提出,并制定技術(shù)規(guī)范,它是與設(shè)備上的Rich OS(通常是Android等)并存的運(yùn)行環(huán)境,并且給Rich OS提供安全服務(wù)??尚艌?zhí)行環(huán)境可分為硬件層與軟件層兩部分,其中軟件層包括系統(tǒng)層、接口層、應(yīng)用層,如圖3所示。TEE所需的軟硬件資源通過TrustZone技術(shù)與Rich OS分離,為了保護(hù)TA的資源和數(shù)據(jù)的保密性,完整性和訪問權(quán)限,安全性需求較高的應(yīng)用(可信應(yīng)用,TA)需要在TEE中得到授權(quán)后才能通過客戶端應(yīng)用(CA)端進(jìn)行調(diào)用,每個(gè)TA是相互獨(dú)立的,而且不能在未授權(quán)的情況下互相訪問。為了保證TEE本身的可信根,TEE在安全啟動(dòng)過程中是要通過驗(yàn)證并且與Rich OS隔離[18]。

圖3 可信執(zhí)行環(huán)境框架

TEE內(nèi)部API主要包含了密鑰管理、密碼算法、安全存儲(chǔ)、安全時(shí)鐘資源和服務(wù),還有擴(kuò)展的可信UI等API??尚臮I是指當(dāng)有關(guān)涉密或關(guān)鍵信息需要顯示或輸入時(shí),顯示器和鍵盤等硬件資源將全部由TEE接管,Rich OS中的應(yīng)用不能對其進(jìn)行訪問。在進(jìn)行TA程序開發(fā)時(shí),TEE內(nèi)部API是提供給TA的編程接口,而TEE外部API則是讓運(yùn)行在Rich OS中的CA訪問TA服務(wù)和數(shù)據(jù)的底層通信接口。

2.3.2時(shí)間戳認(rèn)證

在傳統(tǒng)的食品安全追溯領(lǐng)域中存在這樣一種現(xiàn)象,有一些不法分子在篡改食品安全追溯信息時(shí),通過偽造數(shù)據(jù)中的時(shí)間信息等方法,使用篡改后的數(shù)據(jù)對真實(shí)信息進(jìn)行覆蓋,來欺騙數(shù)據(jù)庫以及數(shù)據(jù)認(rèn)證。針對這一問題,本文將根據(jù)TrustZone的內(nèi)置時(shí)鐘,對追溯信息加蓋無法篡改的時(shí)間戳,進(jìn)一步確保追溯信息的可信性。

時(shí)間戳是指一個(gè)能表示一份數(shù)據(jù)在某個(gè)特定時(shí)間之前已經(jīng)存在的、完整的、可驗(yàn)證的數(shù)據(jù),通常是一個(gè)字符序列,唯一地標(biāo)識某一刻的時(shí)間?;赥rustZone技術(shù)的可信執(zhí)行環(huán)境具有自己獨(dú)特的時(shí)間機(jī)制,該時(shí)鐘具有唯一且連貫性。在可信執(zhí)行環(huán)境中,當(dāng)可信時(shí)鐘源產(chǎn)生中斷或某些受監(jiān)控的系統(tǒng)行為發(fā)生時(shí)都將會(huì)觸發(fā)安全指令,任何對時(shí)間信息的篡改、插入或刪除都將被系統(tǒng)拒絕,以保證系統(tǒng)內(nèi)全部數(shù)據(jù)時(shí)間的真實(shí)性以及時(shí)序單一性,因此即使攻擊者侵入可信執(zhí)行環(huán)境或破解了密鑰對,也無法對已經(jīng)加蓋時(shí)間戳的追溯數(shù)據(jù)進(jìn)行篡改。本文將使用絕對時(shí)間戳,以便用戶以及監(jiān)管部門在服務(wù)器端的食品安全追溯系統(tǒng)中通過時(shí)間信息對系統(tǒng)中的數(shù)據(jù)進(jìn)行檢索。

2.3.3加密機(jī)制的實(shí)現(xiàn)

在OP-TEE中進(jìn)行TA程序的編寫,實(shí)現(xiàn)追溯信息加密。

(1) 在TA中使用Privkey Generator生成密鑰對,并將私鑰永久存儲(chǔ)在TA中。

(2) 創(chuàng)建CA-TA通話,將追溯信息傳入TA端,并使用command ID調(diào)用TA端的加密程序。

(3) 應(yīng)用TrustZone技術(shù)中可信執(zhí)行環(huán)境時(shí)間不可篡改這一特點(diǎn),為追溯信息加蓋時(shí)間戳。

(4) 加蓋時(shí)間戳的追溯信息將在內(nèi)存中暫時(shí)存儲(chǔ),每當(dāng)數(shù)據(jù)累計(jì)至256 KB時(shí)將組成一個(gè)數(shù)據(jù)塊。

(5) 使用優(yōu)化后的加密算法對追溯信息進(jìn)行加密。

(6) 將原始追溯信息、時(shí)間戳、密文組成新的追溯信息,并傳回CA端進(jìn)行存儲(chǔ)。

(7) 將公鑰存入數(shù)據(jù)庫或區(qū)塊鏈的智能合約中,在數(shù)據(jù)傳入服務(wù)器前進(jìn)行驗(yàn)證。

3 非對稱加密算法的選取與優(yōu)化

3.1 加密算法的選取

在嵌入式環(huán)境下,開發(fā)難度較高,因此需要選擇安全性高且更加成熟的非對稱加密算法,便于根據(jù)具體的應(yīng)用需求做進(jìn)一步優(yōu)化。另一方面,嵌入式環(huán)境下硬件水平較低,而且由于非對稱加密算法較為復(fù)雜,使得其運(yùn)算速度較慢,系統(tǒng)負(fù)載過大,資源消耗問題比較嚴(yán)重。因此需要針運(yùn)算效率、密文大小、資源需求等方面對算法進(jìn)行優(yōu)化。通過對比表1中RSA、DSA、ECC、RABIN四種算法,根據(jù)成熟度、安全性、運(yùn)算速度、資源消耗等特點(diǎn),最終選擇RSA算法。

3.2 算法優(yōu)化

針對嵌入式環(huán)境下運(yùn)算能力較差,食品安全追溯信息量較大,追溯平臺負(fù)載較重等問題,本文中將引入Rabin算法、霍夫曼編碼和隨機(jī)分量s,對RSA算法進(jìn)行優(yōu)化。

3.2.1霍夫曼編碼

為了提高加密速度,可以使用霍夫曼編碼[19]來對數(shù)據(jù)進(jìn)行壓縮,它是一種用于無損數(shù)據(jù)壓縮的算法,可以從壓縮數(shù)據(jù)中精確恢復(fù)原始數(shù)據(jù)。該算法用于壓縮數(shù)據(jù)(符號或字母)以生成可變長度代碼而不是每個(gè)符號的固定長度代碼。該算法通過對內(nèi)容中符號或字母的統(tǒng)計(jì)分析以構(gòu)造頻率表,并通過頻率表來構(gòu)建霍夫曼樹,用于每個(gè)符號分配其適當(dāng)?shù)拇a長度。在數(shù)據(jù)文件上應(yīng)用霍夫曼編碼將生成兩個(gè)文件:二進(jìn)制文件(B)和頭文件(H)。二進(jìn)制文件取決于用于檢索原始數(shù)據(jù)的頭文件,因此,如果頭文件丟失,則無法檢索真實(shí)數(shù)據(jù)。頭文件包含原始數(shù)據(jù)文件的所有符號或其相應(yīng)的ASCII代碼。頭文件包含為其出現(xiàn)分配的唯一符號,其中沒有符號重復(fù)兩次,二進(jìn)制文件包含每個(gè)符號的代碼。例如原文:Beijing Technology and Business University,e表示為110,t表示為010等。

頭文件為:

u00bdu00b4u00d1u00e7u00efu00e0u00e2u00b2u00a9u0082u00d1u0088u0094u00d3u0091u00c48

二進(jìn)制文件為:

0000100110111101101101000000001011010001111

00111000010111110111111100000111000101011001010

10100100000110100000101101000110001000100101001

101001110010001110001000101110000111000

要解壓縮消息,通過頭文件來構(gòu)建霍夫曼樹,從樹的根開始逐位讀取二進(jìn)制文件,找到0位時(shí),向左移動(dòng)到樹上;找到1位時(shí),在樹上向右移動(dòng),直到找到葉節(jié)點(diǎn),然后對所有剩余位重復(fù)該過程,直到檢索到所有消息字符。

3.2.2隨機(jī)分量s

通過引入隨機(jī)分量s,每次加密消息時(shí)都會(huì)獲得不同的密文,因此攻擊者很難從關(guān)于原始消息的密文中進(jìn)行破解。本文使用字母s來表示隨機(jī)分量,其中s是通過使用加密安全偽隨機(jī)數(shù)生成器生成的隨機(jī)數(shù),并且對于每個(gè)消息(隨機(jī)數(shù))使用一次。本文使用s來隱藏頭文件的密文并使二進(jìn)制文件失效。在s小于密文的情況下,多s進(jìn)行多次疊加來作為密文的長度,如果s大于密文,則把s的個(gè)位數(shù)除去后為密文的相同長度,在使二進(jìn)制文件失效時(shí)應(yīng)用相同的方法。為了使加密過程在語義上安全,本文選擇隨機(jī)分量s并計(jì)算新的密文C′=C×s。同樣,為了使二進(jìn)制文件B在語義上安全,使用s對B進(jìn)行盲化,例如B′=B×s。另一方面,隨機(jī)分量s應(yīng)該受到保護(hù),本次本文將使用Rabin加密算法對s進(jìn)行加密。

3.2.3優(yōu)化實(shí)現(xiàn)

要解壓縮消息,通過頭文件來構(gòu)建霍夫曼樹,從樹的根開始逐位讀取二進(jìn)制文件,找到0位時(shí),向左移動(dòng)到樹上;找到1位時(shí),在樹上向右移動(dòng),直到找到葉節(jié)點(diǎn),然后對所有剩余位重復(fù)該過程,直到檢索到所有消息字符。

優(yōu)化后的RSA算法依靠霍夫曼編碼來增強(qiáng)安全性并加速加密和解密過程。為了增強(qiáng)執(zhí)行速度,加密算法僅加密頭文件并使二進(jìn)制文件保密,而不是加密整個(gè)消息。通過s參數(shù)對二進(jìn)制文件進(jìn)行盲化使得加密消息在語義上是安全的,具體優(yōu)化算法如下:

步驟1在接收端生成公鑰/私鑰對。

1) 計(jì)算RSA算法公鑰/私鑰對。

2) 計(jì)算Rabin算法公鑰/私鑰對。

步驟2發(fā)送端的加密準(zhǔn)備。

1) 為每一條加密信息生成隨機(jī)分量s。

2) 使用霍夫曼代碼壓縮信息。輸出:二進(jìn)制文件(B)和頭文件(H)。

步驟3發(fā)送端加密過程。

1) 使用RSA算法對H進(jìn)行加密,任取大整數(shù)N和e,加密結(jié)果為:C=HemodN,0

2) 使用s對C進(jìn)行盲化,生成C′=C×s。

3) 使用s對B進(jìn)行盲化,生成B′=B×s。

4) 使用Rabin算法對s進(jìn)行加密,得到s′=s2modN。

步驟4接收端的解密過程。

1) 使用Rabin算法對s解密。

2) 計(jì)算C=C′×s。

3) 計(jì)算B′=B×s。

4) 使用RSA算法對C進(jìn)行解密,任取大整數(shù)d,生成H=CdmodN。

步驟5在接收端解壓縮信息。

1) 將H、B傳入霍夫曼代碼獲得解密結(jié)果。

4 方法的實(shí)現(xiàn)與分析

4.1 原型系統(tǒng)部署

原型系統(tǒng)試點(diǎn)部署在北京市農(nóng)業(yè)農(nóng)村局與北京市畜牧總站合作建立的智能禽舍中,位于北京市順義區(qū)。禽舍環(huán)境監(jiān)測系統(tǒng)將數(shù)據(jù)監(jiān)測節(jié)點(diǎn)分為前部節(jié)點(diǎn)、中部節(jié)點(diǎn)和尾部節(jié)點(diǎn)三個(gè)區(qū)域,每個(gè)區(qū)域獨(dú)立采集、傳輸數(shù)據(jù),實(shí)現(xiàn)了不同分區(qū)不同情況的差異化處理,可以針對性地對禽舍中環(huán)境信息進(jìn)行監(jiān)控,為后續(xù)的追溯提供數(shù)據(jù)支持。

實(shí)驗(yàn)環(huán)境主要分為硬件與軟件兩部分。

(1) 硬件部分:系統(tǒng)硬件部分采用基于ARM的樹莓派3B作為主控板,數(shù)據(jù)采集端使用XL51智能溫濕度傳感器,該設(shè)備支持溫濕度、TVOC、大氣壓力,以及二氧化碳、氨氣、硫化氫、甲醛等氣體濃度的數(shù)據(jù)采集。

(2) 系統(tǒng)部分:樹莓派使用Linux操作系統(tǒng), 基于此環(huán)境搭建Python語言、C語言、OP-TEE的軟件環(huán)境,數(shù)據(jù)采集中使用Python語言操作GPIO。使用OP-TEE作為trust OS,C語言作為開發(fā)語言,進(jìn)行CA-TA程序的開發(fā),并部署在樹莓派3B上,安全操作系統(tǒng)以及開發(fā)環(huán)境均遵循GP TEE系統(tǒng)開發(fā)架構(gòu)規(guī)范,追溯系統(tǒng)使用基于Truffle框架和Ganache可視化應(yīng)用的北京市畜牧總站智能雞舍監(jiān)控管理平臺。

4.2 數(shù)據(jù)采集與加密

實(shí)驗(yàn)數(shù)據(jù)通過在四個(gè)禽舍部署的各不同分區(qū)的傳感器設(shè)備采集,傳感器均安置在雞舍中的百葉窗中,實(shí)驗(yàn)環(huán)境如圖4所示。每個(gè)雞舍安裝6個(gè)傳感器,傳感器數(shù)據(jù)采集頻率為每30 s一次,每個(gè)雞舍單日產(chǎn)生約1.7萬條數(shù)據(jù)樣本。實(shí)驗(yàn)數(shù)據(jù)通過CA端傳入TA端,加蓋時(shí)間戳后進(jìn)行加密操作,隨后由實(shí)驗(yàn)數(shù)據(jù)、時(shí)間戳(Time)、密文(Ciphertext)組成追溯信息,由TA端傳回CA端并進(jìn)行存儲(chǔ)。嵌入式環(huán)境最終輸出的追溯信息如表3所示。

圖4 實(shí)驗(yàn)環(huán)境

表3 數(shù)據(jù)加密結(jié)果

4.3 數(shù)據(jù)追溯

加密后的數(shù)據(jù)將上傳至基于聯(lián)盟區(qū)塊鏈的北京市畜牧總站智能雞舍監(jiān)控管理平臺,通過智能合約中的公鑰對密文進(jìn)行檢驗(yàn),由于數(shù)據(jù)量巨大,系統(tǒng)將對一小時(shí)內(nèi)采集到的驗(yàn)證無誤的數(shù)據(jù)取平均值上傳至聯(lián)盟區(qū)塊鏈追溯系統(tǒng)供應(yīng)用查詢使用,通過Ganache可視化應(yīng)用觀察到追溯數(shù)據(jù)成功上傳到系統(tǒng)后,區(qū)塊數(shù)正常增加且交易記錄增長。在該系統(tǒng)中輸入追溯目標(biāo)的追溯ID,即可對數(shù)據(jù)進(jìn)行查詢,如圖5所示。

圖5 追溯數(shù)據(jù)查詢結(jié)果

4.4 RSA算法優(yōu)化性能測試

在測試中,本文將分別使用RSA算法以及優(yōu)化后的RSA算法對10個(gè)不同尺寸的文件進(jìn)行加密,每個(gè)文件加密三次,并對單位時(shí)間運(yùn)算次數(shù)取均值,測試文件大小從1 MB到10 MB。圖6顯示了RSA算法優(yōu)化前后對不同尺寸的文件的加密過程。此外,由圖7可以看出,對于相同的明文,優(yōu)化后的RSA算法所生成的密文大小明顯小于優(yōu)化前。

圖6 運(yùn)算效率對比

圖7 密文大小對比

4.5 結(jié)果分析

由原型系統(tǒng)的試點(diǎn)效果可知,TrustZone架構(gòu)下基于優(yōu)化RSA的食品追溯可信采集方法可以有效地確保智能禽舍所采集的追溯信息在上傳服務(wù)器前的信息安全,實(shí)現(xiàn)追溯數(shù)據(jù)可信采集同時(shí)在嵌入式環(huán)境下也可以高效工作,并部署在更多的工作環(huán)境中。加密后的追溯數(shù)據(jù)可以通過北京市畜牧總站智能雞舍監(jiān)控管理平臺進(jìn)行數(shù)據(jù)驗(yàn)證,從而確保追溯數(shù)據(jù)從采集端到存儲(chǔ)端的全過程數(shù)據(jù)安全。在優(yōu)化后的算法中使用隨機(jī)分量s可以保證加密過程中的語義安全,每次加密消息時(shí)都會(huì)獲得不同的密文,同時(shí)二進(jìn)制文件也通過隨機(jī)分量s進(jìn)行了盲化,攻擊者無法逆向破解密鑰對于密文,進(jìn)一步提了RSA算法的安全性。圖6顯示加密速度與兩個(gè)密碼系統(tǒng)加密的文件大小成正比,但優(yōu)化后的RSA算法明顯更快,較優(yōu)化前平均提高了94.9%,這是由于優(yōu)化后的RSA算法并不加密全部信息,而是通過霍夫曼編碼對數(shù)據(jù)進(jìn)行壓縮后再運(yùn)行加密算法,這在確保信息安全的同時(shí)提高了運(yùn)算速度。另一方面,在追溯過程中信息量極大,由圖7可以看出改進(jìn)后的RSA算法生成的密文的大小較優(yōu)化前平均減少55.5%,這將有利于減輕本地以及服務(wù)器端的存儲(chǔ)壓力,降低追溯成本。

5 結(jié) 語

本文提出并實(shí)現(xiàn)一種TrustZone架構(gòu)下基于優(yōu)化RSA的食品追溯可信采集方法,對TrustZone技術(shù)進(jìn)行研究并首次將其應(yīng)用在食品安全追溯領(lǐng)域,有效地解決了追溯數(shù)據(jù)在上傳至服務(wù)器端之前的數(shù)據(jù)安全隱患,填補(bǔ)了當(dāng)前的行業(yè)空白。本文根據(jù)嵌入式環(huán)境以及應(yīng)用需求設(shè)計(jì)了基于優(yōu)化RSA算法的追溯信息加密機(jī)制,在可信執(zhí)行環(huán)境中對追溯數(shù)據(jù)進(jìn)行加蓋時(shí)間戳和加密保護(hù),加密后的追溯數(shù)據(jù)可以在服務(wù)器端通過公鑰進(jìn)行驗(yàn)證。通過原型系統(tǒng)試點(diǎn)測試以及分析可以看出,本文方法可以高效、安全地對食品追溯數(shù)據(jù)進(jìn)行加密,防止攻擊者對數(shù)據(jù)進(jìn)行篡改,并適合應(yīng)用在數(shù)據(jù)量大且硬件計(jì)算能力有限的嵌入式環(huán)境中,同時(shí)該方法可以與區(qū)塊鏈等新興技術(shù)相結(jié)合,實(shí)現(xiàn)食品生產(chǎn)全流程數(shù)據(jù)的可信追溯,未來可根據(jù)不同種類食品的生產(chǎn)業(yè)務(wù)邏輯,進(jìn)一步豐富食品的可信追溯種類。

猜你喜歡
密文加密算法非對稱
后發(fā)技術(shù)非對稱趕超策略及其情境依賴機(jī)制研究
基于微動(dòng)磨損理論的非對稱雙流道增壓器平衡閥軸磨損失效分析與改進(jìn)
非對稱腹板束設(shè)計(jì)方法在地鐵大跨變寬變高連續(xù)梁中的應(yīng)用
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
加密文檔排序中保序加密算法的最優(yōu)化選取
交錯(cuò)群與旗傳遞點(diǎn)本原非對稱2(v,k,4)-設(shè)計(jì)
一種新的密文策略的屬性基加密方案研究
一種抗攻擊的網(wǎng)絡(luò)加密算法研究
教育云平臺的敏感信息保護(hù)技術(shù)研究
條件型非對稱跨加密系統(tǒng)的代理重加密方案
鸡东县| 峨山| 海宁市| 古蔺县| 卫辉市| 文化| 广州市| 怀仁县| 即墨市| 邢台县| 驻马店市| 宁夏| 东莞市| 滨海县| 即墨市| 卢湾区| 新巴尔虎右旗| 新泰市| 慈利县| 汶上县| 肇庆市| 平邑县| 永泰县| 鹤壁市| 海林市| 白水县| 微山县| 正定县| 易门县| 望奎县| 石渠县| 武乡县| 太康县| 滦南县| 建宁县| 油尖旺区| 商丘市| 富民县| 庆城县| 沙田区| 汉源县|