王朝陽 汪顥懿 左 敏 張青川
(北京工商大學(xué)農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國家工程實驗室 北京 100048)
隨著人民生活水平的不斷提高,消費者對食品品質(zhì)以及安全的要求也越來越高,大眾對食品的關(guān)注點已經(jīng)轉(zhuǎn)變?yōu)槭巢牡脑搭^,食品加工過程、倉儲、運輸?shù)?。同時近年來食品安全問題頻發(fā),從最早的三聚氰胺、地溝油到現(xiàn)如今的臺灣“塑化劑”風(fēng)波、湖南大米鎘元素超標、天津獨流調(diào)料造假等事件,當(dāng)前食品安全隱患愈發(fā)嚴重。另一方面,大多數(shù)食品對于加工、運輸、倉儲等環(huán)節(jié)中的溫度、濕度、光強等環(huán)境因素有較高要求,一旦這些因素未達標,食品變質(zhì)的可能性增大,若這樣的食品流向市場,將會嚴重危害公眾的健康。因此,亟需采用安全、可信、透明的食品安全溯源系統(tǒng)來加強對食品產(chǎn)業(yè)鏈的監(jiān)管與效率,提高食品安全水平,保障國民飲食健康。隨著信息科學(xué)的飛速發(fā)展,在食品安全溯源系統(tǒng)中融入智能技術(shù)、物聯(lián)網(wǎng)技術(shù),極大地促進了我國食品安全溯源體系的發(fā)展,使得公眾能參與到食品安全監(jiān)管中。在服務(wù)器端,以去中心化的分布式結(jié)構(gòu)應(yīng)用、不可篡改的時間戳、安全信任機制為核心的區(qū)塊鏈技術(shù)成為了信息技術(shù)的研究熱點。區(qū)塊鏈具有去中心化、唯一性、自治性、不可篡改性、匿名性等特性[1],是目前搭建食品安全追溯系統(tǒng)的不二之選,在實現(xiàn)追溯透明化的同時可以有效地保證服務(wù)器端的數(shù)據(jù)安全性。
但是,區(qū)塊鏈等技術(shù)并不能保證追溯信息在上“鏈”前的數(shù)據(jù)安全,若追溯信息在上傳至服務(wù)器端前就遭到篡改,后續(xù)的追溯過程將毫無意義。為此,如何杜絕企業(yè)上傳虛假或被篡改的追溯信息已經(jīng)是目前亟需解決的問題。針對這一問題,本文設(shè)計實現(xiàn)了一種TrustZone[2-3]架構(gòu)下基于優(yōu)化RSA的食品追溯可信采集方法,利用可信執(zhí)行環(huán)境、時間戳、非對稱加密算法等技術(shù),并設(shè)計加密機制,可部署在養(yǎng)殖場、運輸車輛、銷售貨柜等嵌入式環(huán)境,對上傳至服務(wù)器端前的追溯數(shù)據(jù)提供安全保障。此外,由于食品安全追溯數(shù)據(jù)量極大,且嵌入式環(huán)境硬件計算能力有限,運算速度較慢,為了防止出現(xiàn)數(shù)據(jù)堆積的問題,本文對RSA算法進行優(yōu)化,在保證安全性的同時提高運算速度。
針對攻擊者在數(shù)據(jù)采集端的竊取、篡改、破壞等惡意行為,國內(nèi)外已有研究者基于國產(chǎn)密碼算法、ARMA的無線傳感器網(wǎng)絡(luò)、數(shù)字水印等技術(shù),展開研究并提出了可行的防護方案。馮云等[4]提出了基于國產(chǎn)密碼算法的可信計算體系,將基于國產(chǎn)密碼算法的可信技術(shù)應(yīng)用于采集終端的安全加固。王海元等[5]提出了基于ARMA的無線傳感器網(wǎng)絡(luò)可信數(shù)據(jù)采集方法,在保證采集數(shù)據(jù)的高度可信的同時顯著提高了網(wǎng)絡(luò)的整體性能。李紅濤等[6]提出了一種全新的數(shù)字水印嵌入方法,保障涉密圖像在傳輸過程中的安全性、可靠性和完整性。Zhao等[7]利用靜態(tài)隨機存取存儲器在不添加安全硬件的前提下生成可信根,來得到加密數(shù)據(jù)的安全密鑰,通過將加密后的數(shù)據(jù)存儲在系統(tǒng)硬件上來保證數(shù)據(jù)安全。Hein等[8]設(shè)計實現(xiàn)了一種基于安全密鑰和Merkle-Tree認證加密的安全設(shè)備,可有效防止攻擊者對數(shù)據(jù)的篡改、竊取、破壞。
非對稱加密算法中包含公開密鑰(Public Key,PK)和私有密鑰(Private Key,SK)。公鑰與私鑰是一對,如果用公鑰對數(shù)據(jù)進行加密,只有用對應(yīng)的私鑰才能解密,非對稱加密算法強度復(fù)雜,安全性主要由算法和密鑰管理決定。對稱密碼體制則是單一密鑰,并且是非公開的,所以保證其安全性就是保證密鑰的安全,但在解密時必須將密鑰向?qū)Ψ焦_,而非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣將密鑰傳輸給對方,確保了密鑰對的安全性,因此非對稱加密算法安全性更好。本文列出了RSA、DSA、ECC、RABIN這4種目前應(yīng)用最多的非對稱加密算法[9-13],并從成熟度、安全性、運算速度、資源消耗等特點進行對比,對比結(jié)果如表1所示。
表1 算法對比結(jié)果
本文設(shè)計的TrustZone架構(gòu)下的食品追溯可信采集方法主要包括數(shù)據(jù)采集層、加密層、存儲三部分。通過設(shè)計基于非對稱加密算法和時間戳的加密機制,在可信執(zhí)行環(huán)境中對追溯信息進行加密,以確保追溯信息的可信性。
追溯數(shù)據(jù)采集,是指從傳感器和其他待測設(shè)備等模擬和數(shù)字被測單元中自動采集追溯信息(非電量或者電信號),送到上位機中進行分析、處理。由于傳統(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ù)類型進行了總結(jié),并確定了本文方法所采集的數(shù)據(jù)類型;食品安全追溯可以分為生產(chǎn)環(huán)節(jié)、倉儲環(huán)節(jié)、運輸環(huán)節(jié)三部分,具體追溯對象以及追溯信息如表2所示。
表2 追溯對象與追溯信息
本文方法所需的硬件設(shè)備主要包括:電源、ARM核心控制模塊、傳感器、存儲設(shè)備等模塊,系統(tǒng)框架如圖1所示。通過調(diào)用溫度傳感器、濕度傳感器、位置傳感器、光強傳感器、氣壓傳感器等傳感器對食品追溯環(huán)境中的環(huán)境信息進行數(shù)據(jù)采集。采集到的追溯數(shù)據(jù)在ARM核心控制模塊中由CA端傳入TA端,在TrustZone技術(shù)構(gòu)建的可信執(zhí)行環(huán)境中,通過基于時間戳和優(yōu)化后的非對稱加密算法的加密機制,對數(shù)據(jù)加密,最后將追溯信息與密文共同存儲。在上傳至服務(wù)器前,可通過公鑰對數(shù)據(jù)進行解密驗證,進一步確保數(shù)據(jù)的可信性。由于全部加密過程均在可信執(zhí)行環(huán)境中進行,不僅可以確保私鑰的可信性,由于私鑰存放在安全的永久存儲器中,還可以防止遭受來自外界攻擊者的竊取與篡改。
在追溯過程中,追溯信息通常由數(shù)據(jù)、采集時間兩部分構(gòu)成。對于傳統(tǒng)的追溯系統(tǒng),不法分子可以在數(shù)據(jù)上傳服務(wù)器或區(qū)塊鏈之前,在本地對追溯數(shù)據(jù)以及采集時間進行篡改,以此來欺騙公眾及監(jiān)管部門,對此文章將通過加密機制來保證追溯信息的可信性以及時效性(時間的遞推)。加密機制如圖2所示。
圖2 加密機制設(shè)計
(1) 在可信執(zhí)行環(huán)境內(nèi)生成公鑰私鑰對(PK,SK),私鑰將永久存儲在可信執(zhí)行環(huán)境中。
(2) 將傳感器采集到的追溯信息(m)傳輸至可信執(zhí)行環(huán)境。
(3) 在可信執(zhí)行環(huán)境內(nèi)對追溯信息加蓋時間戳(time),以確保追溯信息中時間參數(shù)的單一性。
(4) 加蓋時間戳的若干條追溯信息將在內(nèi)存中組成數(shù)據(jù)塊,等待處理。
(5) 使用非對稱加密算法,通過私鑰對追溯信息進行加密。
(6) 將原始追溯信息、時間戳、密文組成新的追溯信息(M),并進行存儲。
(7) 在上傳至區(qū)塊鏈或服務(wù)器前,需要用公鑰(PK)對密文(C)進行驗證,以確保追溯信息上鏈前的可信性。
TrustZone是ARM提出的一種提供基于硬件的隔離機制,為需要高安全性的代碼構(gòu)建安全可靠的環(huán)境[14-15]。它將系統(tǒng)的硬件和軟件資源分為兩部分,一個是可信執(zhí)行環(huán)境,另一個是普通環(huán)境。所有的敏感操作都應(yīng)該在可信執(zhí)行環(huán)境中被保護,其余安全性要求較低的操作在普通執(zhí)行環(huán)境中執(zhí)行,例如Rich OS和大多數(shù)應(yīng)用程序。核心狀態(tài)由安全配置寄存器(SCR)中的NS位區(qū)分,NS位只能由安全核心修改。通過安全監(jiān)控呼叫(SMC),無論在何種環(huá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等)并存的運行環(huán)境,并且給Rich OS提供安全服務(wù)。可信執(zhí)行環(huán)境可分為硬件層與軟件層兩部分,其中軟件層包括系統(tǒng)層、接口層、應(yīng)用層,如圖3所示。TEE所需的軟硬件資源通過TrustZone技術(shù)與Rich OS分離,為了保護TA的資源和數(shù)據(jù)的保密性,完整性和訪問權(quán)限,安全性需求較高的應(yīng)用(可信應(yīng)用,TA)需要在TEE中得到授權(quán)后才能通過客戶端應(yīng)用(CA)端進行調(diào)用,每個TA是相互獨立的,而且不能在未授權(quán)的情況下互相訪問。為了保證TEE本身的可信根,TEE在安全啟動過程中是要通過驗證并且與Rich OS隔離[18]。
圖3 可信執(zhí)行環(huán)境框架
TEE內(nèi)部API主要包含了密鑰管理、密碼算法、安全存儲、安全時鐘資源和服務(wù),還有擴展的可信UI等API。可信UI是指當(dāng)有關(guān)涉密或關(guān)鍵信息需要顯示或輸入時,顯示器和鍵盤等硬件資源將全部由TEE接管,Rich OS中的應(yīng)用不能對其進行訪問。在進行TA程序開發(fā)時,TEE內(nèi)部API是提供給TA的編程接口,而TEE外部API則是讓運行在Rich OS中的CA訪問TA服務(wù)和數(shù)據(jù)的底層通信接口。
2.3.2時間戳認證
在傳統(tǒng)的食品安全追溯領(lǐng)域中存在這樣一種現(xiàn)象,有一些不法分子在篡改食品安全追溯信息時,通過偽造數(shù)據(jù)中的時間信息等方法,使用篡改后的數(shù)據(jù)對真實信息進行覆蓋,來欺騙數(shù)據(jù)庫以及數(shù)據(jù)認證。針對這一問題,本文將根據(jù)TrustZone的內(nèi)置時鐘,對追溯信息加蓋無法篡改的時間戳,進一步確保追溯信息的可信性。
時間戳是指一個能表示一份數(shù)據(jù)在某個特定時間之前已經(jīng)存在的、完整的、可驗證的數(shù)據(jù),通常是一個字符序列,唯一地標識某一刻的時間?;赥rustZone技術(shù)的可信執(zhí)行環(huán)境具有自己獨特的時間機制,該時鐘具有唯一且連貫性。在可信執(zhí)行環(huán)境中,當(dāng)可信時鐘源產(chǎn)生中斷或某些受監(jiān)控的系統(tǒng)行為發(fā)生時都將會觸發(fā)安全指令,任何對時間信息的篡改、插入或刪除都將被系統(tǒng)拒絕,以保證系統(tǒng)內(nèi)全部數(shù)據(jù)時間的真實性以及時序單一性,因此即使攻擊者侵入可信執(zhí)行環(huán)境或破解了密鑰對,也無法對已經(jīng)加蓋時間戳的追溯數(shù)據(jù)進行篡改。本文將使用絕對時間戳,以便用戶以及監(jiān)管部門在服務(wù)器端的食品安全追溯系統(tǒng)中通過時間信息對系統(tǒng)中的數(shù)據(jù)進行檢索。
2.3.3加密機制的實現(xiàn)
在OP-TEE中進行TA程序的編寫,實現(xiàn)追溯信息加密。
(1) 在TA中使用Privkey Generator生成密鑰對,并將私鑰永久存儲在TA中。
(2) 創(chuàng)建CA-TA通話,將追溯信息傳入TA端,并使用command ID調(diào)用TA端的加密程序。
(3) 應(yīng)用TrustZone技術(shù)中可信執(zhí)行環(huán)境時間不可篡改這一特點,為追溯信息加蓋時間戳。
(4) 加蓋時間戳的追溯信息將在內(nèi)存中暫時存儲,每當(dāng)數(shù)據(jù)累計至256 KB時將組成一個數(shù)據(jù)塊。
(5) 使用優(yōu)化后的加密算法對追溯信息進行加密。
(6) 將原始追溯信息、時間戳、密文組成新的追溯信息,并傳回CA端進行存儲。
(7) 將公鑰存入數(shù)據(jù)庫或區(qū)塊鏈的智能合約中,在數(shù)據(jù)傳入服務(wù)器前進行驗證。
在嵌入式環(huán)境下,開發(fā)難度較高,因此需要選擇安全性高且更加成熟的非對稱加密算法,便于根據(jù)具體的應(yīng)用需求做進一步優(yōu)化。另一方面,嵌入式環(huán)境下硬件水平較低,而且由于非對稱加密算法較為復(fù)雜,使得其運算速度較慢,系統(tǒng)負載過大,資源消耗問題比較嚴重。因此需要針運算效率、密文大小、資源需求等方面對算法進行優(yōu)化。通過對比表1中RSA、DSA、ECC、RABIN四種算法,根據(jù)成熟度、安全性、運算速度、資源消耗等特點,最終選擇RSA算法。
針對嵌入式環(huán)境下運算能力較差,食品安全追溯信息量較大,追溯平臺負載較重等問題,本文中將引入Rabin算法、霍夫曼編碼和隨機分量s,對RSA算法進行優(yōu)化。
3.2.1霍夫曼編碼
為了提高加密速度,可以使用霍夫曼編碼[19]來對數(shù)據(jù)進行壓縮,它是一種用于無損數(shù)據(jù)壓縮的算法,可以從壓縮數(shù)據(jù)中精確恢復(fù)原始數(shù)據(jù)。該算法用于壓縮數(shù)據(jù)(符號或字母)以生成可變長度代碼而不是每個符號的固定長度代碼。該算法通過對內(nèi)容中符號或字母的統(tǒng)計分析以構(gòu)造頻率表,并通過頻率表來構(gòu)建霍夫曼樹,用于每個符號分配其適當(dāng)?shù)拇a長度。在數(shù)據(jù)文件上應(yīng)用霍夫曼編碼將生成兩個文件:二進制文件(B)和頭文件(H)。二進制文件取決于用于檢索原始數(shù)據(jù)的頭文件,因此,如果頭文件丟失,則無法檢索真實數(shù)據(jù)。頭文件包含原始數(shù)據(jù)文件的所有符號或其相應(yīng)的ASCII代碼。頭文件包含為其出現(xiàn)分配的唯一符號,其中沒有符號重復(fù)兩次,二進制文件包含每個符號的代碼。例如原文:Beijing Technology and Business University,e表示為110,t表示為010等。
頭文件為:
u00bdu00b4u00d1u00e7u00efu00e0u00e2u00b2u00a9u0082u00d1u0088u0094u00d3u0091u00c48
二進制文件為:
0000100110111101101101000000001011010001111
00111000010111110111111100000111000101011001010
10100100000110100000101101000110001000100101001
101001110010001110001000101110000111000
要解壓縮消息,通過頭文件來構(gòu)建霍夫曼樹,從樹的根開始逐位讀取二進制文件,找到0位時,向左移動到樹上;找到1位時,在樹上向右移動,直到找到葉節(jié)點,然后對所有剩余位重復(fù)該過程,直到檢索到所有消息字符。
3.2.2隨機分量s
通過引入隨機分量s,每次加密消息時都會獲得不同的密文,因此攻擊者很難從關(guān)于原始消息的密文中進行破解。本文使用字母s來表示隨機分量,其中s是通過使用加密安全偽隨機數(shù)生成器生成的隨機數(shù),并且對于每個消息(隨機數(shù))使用一次。本文使用s來隱藏頭文件的密文并使二進制文件失效。在s小于密文的情況下,多s進行多次疊加來作為密文的長度,如果s大于密文,則把s的個位數(shù)除去后為密文的相同長度,在使二進制文件失效時應(yīng)用相同的方法。為了使加密過程在語義上安全,本文選擇隨機分量s并計算新的密文C′=C×s。同樣,為了使二進制文件B在語義上安全,使用s對B進行盲化,例如B′=B×s。另一方面,隨機分量s應(yīng)該受到保護,本次本文將使用Rabin加密算法對s進行加密。
3.2.3優(yōu)化實現(xiàn)
要解壓縮消息,通過頭文件來構(gòu)建霍夫曼樹,從樹的根開始逐位讀取二進制文件,找到0位時,向左移動到樹上;找到1位時,在樹上向右移動,直到找到葉節(jié)點,然后對所有剩余位重復(fù)該過程,直到檢索到所有消息字符。
優(yōu)化后的RSA算法依靠霍夫曼編碼來增強安全性并加速加密和解密過程。為了增強執(zhí)行速度,加密算法僅加密頭文件并使二進制文件保密,而不是加密整個消息。通過s參數(shù)對二進制文件進行盲化使得加密消息在語義上是安全的,具體優(yōu)化算法如下:
步驟1在接收端生成公鑰/私鑰對。
1) 計算RSA算法公鑰/私鑰對。
2) 計算Rabin算法公鑰/私鑰對。
步驟2發(fā)送端的加密準備。
1) 為每一條加密信息生成隨機分量s。
2) 使用霍夫曼代碼壓縮信息。輸出:二進制文件(B)和頭文件(H)。
步驟3發(fā)送端加密過程。
1) 使用RSA算法對H進行加密,任取大整數(shù)N和e,加密結(jié)果為:C=HemodN,0 2) 使用s對C進行盲化,生成C′=C×s。 3) 使用s對B進行盲化,生成B′=B×s。 4) 使用Rabin算法對s進行加密,得到s′=s2modN。 步驟4接收端的解密過程。 1) 使用Rabin算法對s解密。 2) 計算C=C′×s。 3) 計算B′=B×s。 4) 使用RSA算法對C進行解密,任取大整數(shù)d,生成H=CdmodN。 步驟5在接收端解壓縮信息。 1) 將H、B傳入霍夫曼代碼獲得解密結(jié)果。 原型系統(tǒng)試點部署在北京市農(nóng)業(yè)農(nóng)村局與北京市畜牧總站合作建立的智能禽舍中,位于北京市順義區(qū)。禽舍環(huán)境監(jiān)測系統(tǒng)將數(shù)據(jù)監(jiān)測節(jié)點分為前部節(jié)點、中部節(jié)點和尾部節(jié)點三個區(qū)域,每個區(qū)域獨立采集、傳輸數(shù)據(jù),實現(xiàn)了不同分區(qū)不同情況的差異化處理,可以針對性地對禽舍中環(huán)境信息進行監(jiān)控,為后續(xù)的追溯提供數(shù)據(jù)支持。 實驗環(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ā)語言,進行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)控管理平臺。 實驗數(shù)據(jù)通過在四個禽舍部署的各不同分區(qū)的傳感器設(shè)備采集,傳感器均安置在雞舍中的百葉窗中,實驗環(huán)境如圖4所示。每個雞舍安裝6個傳感器,傳感器數(shù)據(jù)采集頻率為每30 s一次,每個雞舍單日產(chǎn)生約1.7萬條數(shù)據(jù)樣本。實驗數(shù)據(jù)通過CA端傳入TA端,加蓋時間戳后進行加密操作,隨后由實驗數(shù)據(jù)、時間戳(Time)、密文(Ciphertext)組成追溯信息,由TA端傳回CA端并進行存儲。嵌入式環(huán)境最終輸出的追溯信息如表3所示。 圖4 實驗環(huán)境 表3 數(shù)據(jù)加密結(jié)果 加密后的數(shù)據(jù)將上傳至基于聯(lián)盟區(qū)塊鏈的北京市畜牧總站智能雞舍監(jiān)控管理平臺,通過智能合約中的公鑰對密文進行檢驗,由于數(shù)據(jù)量巨大,系統(tǒng)將對一小時內(nèi)采集到的驗證無誤的數(shù)據(jù)取平均值上傳至聯(lián)盟區(qū)塊鏈追溯系統(tǒng)供應(yīng)用查詢使用,通過Ganache可視化應(yīng)用觀察到追溯數(shù)據(jù)成功上傳到系統(tǒng)后,區(qū)塊數(shù)正常增加且交易記錄增長。在該系統(tǒng)中輸入追溯目標的追溯ID,即可對數(shù)據(jù)進行查詢,如圖5所示。 圖5 追溯數(shù)據(jù)查詢結(jié)果 在測試中,本文將分別使用RSA算法以及優(yōu)化后的RSA算法對10個不同尺寸的文件進行加密,每個文件加密三次,并對單位時間運算次數(shù)取均值,測試文件大小從1 MB到10 MB。圖6顯示了RSA算法優(yōu)化前后對不同尺寸的文件的加密過程。此外,由圖7可以看出,對于相同的明文,優(yōu)化后的RSA算法所生成的密文大小明顯小于優(yōu)化前。 圖6 運算效率對比 圖7 密文大小對比 由原型系統(tǒng)的試點效果可知,TrustZone架構(gòu)下基于優(yōu)化RSA的食品追溯可信采集方法可以有效地確保智能禽舍所采集的追溯信息在上傳服務(wù)器前的信息安全,實現(xiàn)追溯數(shù)據(jù)可信采集同時在嵌入式環(huán)境下也可以高效工作,并部署在更多的工作環(huán)境中。加密后的追溯數(shù)據(jù)可以通過北京市畜牧總站智能雞舍監(jiān)控管理平臺進行數(shù)據(jù)驗證,從而確保追溯數(shù)據(jù)從采集端到存儲端的全過程數(shù)據(jù)安全。在優(yōu)化后的算法中使用隨機分量s可以保證加密過程中的語義安全,每次加密消息時都會獲得不同的密文,同時二進制文件也通過隨機分量s進行了盲化,攻擊者無法逆向破解密鑰對于密文,進一步提了RSA算法的安全性。圖6顯示加密速度與兩個密碼系統(tǒng)加密的文件大小成正比,但優(yōu)化后的RSA算法明顯更快,較優(yōu)化前平均提高了94.9%,這是由于優(yōu)化后的RSA算法并不加密全部信息,而是通過霍夫曼編碼對數(shù)據(jù)進行壓縮后再運行加密算法,這在確保信息安全的同時提高了運算速度。另一方面,在追溯過程中信息量極大,由圖7可以看出改進后的RSA算法生成的密文的大小較優(yōu)化前平均減少55.5%,這將有利于減輕本地以及服務(wù)器端的存儲壓力,降低追溯成本。 本文提出并實現(xiàn)一種TrustZone架構(gòu)下基于優(yōu)化RSA的食品追溯可信采集方法,對TrustZone技術(shù)進行研究并首次將其應(yīng)用在食品安全追溯領(lǐng)域,有效地解決了追溯數(shù)據(jù)在上傳至服務(wù)器端之前的數(shù)據(jù)安全隱患,填補了當(dāng)前的行業(yè)空白。本文根據(jù)嵌入式環(huán)境以及應(yīng)用需求設(shè)計了基于優(yōu)化RSA算法的追溯信息加密機制,在可信執(zhí)行環(huán)境中對追溯數(shù)據(jù)進行加蓋時間戳和加密保護,加密后的追溯數(shù)據(jù)可以在服務(wù)器端通過公鑰進行驗證。通過原型系統(tǒng)試點測試以及分析可以看出,本文方法可以高效、安全地對食品追溯數(shù)據(jù)進行加密,防止攻擊者對數(shù)據(jù)進行篡改,并適合應(yīng)用在數(shù)據(jù)量大且硬件計算能力有限的嵌入式環(huán)境中,同時該方法可以與區(qū)塊鏈等新興技術(shù)相結(jié)合,實現(xiàn)食品生產(chǎn)全流程數(shù)據(jù)的可信追溯,未來可根據(jù)不同種類食品的生產(chǎn)業(yè)務(wù)邏輯,進一步豐富食品的可信追溯種類。4 方法的實現(xiàn)與分析
4.1 原型系統(tǒng)部署
4.2 數(shù)據(jù)采集與加密
4.3 數(shù)據(jù)追溯
4.4 RSA算法優(yōu)化性能測試
4.5 結(jié)果分析
5 結(jié) 語