謝海寶,呂 磊
1(河南省市場監督管理局 信息中心,鄭州 450008)
2(河南工業大學 信息科學與工程學院,鄭州 450008)
進入新世紀之后,伴隨著科技不斷發展,新技術也不斷產生,工業體系逐步進入“工業4.0”時代[1,2].在“工業4.0”時代,每個國家都在發展建設智能工廠.智能工廠的研究主要是將新產生的區塊鏈、物聯網等技術與傳統的工業系統進行深層次的融合,從而實現生產線能夠以無線方式與互聯網設備互聯,使得制造業可以呈現出數值化、網聯化[3-5].
在智能工廠中采用到最多的技術當屬射頻識別技術,因射頻識別系統中電子標簽具有體積小、成本低、壽命長等優勢,廣泛使用在智能工廠中[6-8].但因電子標簽受限于低成本要求,使得電子標簽一端計算能力非常有限,無法進行傳統的加解密運算,要保證電子標簽中存放的用戶隱私信息[9,10],需設計低計算量安全的協議方案.
文中章節按照如下方式安排:第1節介紹文中研究內容已有的相關工作及優缺點; 第2節介紹文中設計的加密算法具體實現步驟; 第3節介紹文中方案實現方法; 第4節對文中設計方案的安全性展開討論; 第5節采用基于GNY邏輯形式化分析推理證明文中方案; 第6節從計算時間復雜度等方面分析文中方案性能; 第7節總結全文工作.
在2016年,文獻[11]中詳細分析了區塊鏈技術在不同行業中的應用,并強調了區塊鏈技術與物聯網相結合將會產生重大變革及影響.在2017年,文獻[12]中首次提出了將區塊鏈作為物聯網服務的思想.同年,文獻[13]中設計一個將區塊鏈運用在物聯網場景的輕量級架構,同時實現了網絡的可擴展性等優勢.
在2018年,文獻[14]中首次提出物聯網鏈的概念,為物聯網資源的安全授權訪問提供了一種端到端的解決機制,實現了物聯網設備的訪問權限管理理念.在2019年,文獻[15]中設計了一個基于區塊鏈的RFID輕量級認證機制方案,該機制方案能夠抵抗常見類型的攻擊,同時具備較低的通信和計算成本,但機制方案對標簽一端提出一些其他要求,使得機制方案推廣性受到制約.
在2020年,文獻[16]中將射頻識別技術與區塊鏈技術相結合提出一個輕量級認證機制,該認證機制具有一定的安全需求,同時也滿足低計算量的標準,但協議在每輪通信后,對于共享秘密值及假名的更新操作過于復雜,使得整體計算時間復雜度較大.
文中在分析眾多機制方案的基礎之上,設計一個超輕量級的認證方案.方案不僅可滿足安全需求,同時可適用于低計算量智能工廠系統中.具體的,方案采用循環移動運算對隱私信息進行加密,循環移動運算可基于按位運算方式實現,從而使得整體計算量得到一定程度降低; 同時為減少參數引入,充分利用加密信息自身攜帶的漢明權重變量,不僅節約了存儲量,也可增加破解難度.
循環移動運算分為循環左移運算、循環右移運算兩種,用符號ROTL(X,Y)表示循環左移運算、ROTR(X,Y)表示循環右移運算.發送方若采用循環左移運算對重要信息加密,則接收到可用循環右移運算對消息進行解密.


可通過如下例子解釋循環移動運算含義及實現過程.

該章節將從方案的符號含義及實現步驟等角度展開對方案的描述.
文中認證方案出現的各符號含義如下:
BN 表示智能工廠系統中的區塊鏈結點.
R表示智能工廠系統中的讀卡器.
T 表示智能工廠系統中嵌有電子標簽的產品.
tR表示智能工廠系統中的讀卡器端產生的時間戳(使用在T端).
tr表示智能工廠系統中的讀卡器端產生的時間戳(使用在BN端).
tT表示智能工廠系統中嵌有電子標簽的產品端產生的時間戳.
tBN表示智能工廠系統中的區塊鏈結點端產生的時間戳.
ΔT表示該智能工廠系統中所允許的最大傳輸時延.
IDS表示智能工廠系統中嵌有電子標簽的產品的假名.
IDSnext表示智能工廠系統中嵌有電子標簽的產品的下輪通信假名.
ID表示智能工廠系統中嵌有電子標簽的產品的標識符.
K表示智能工廠系統中嵌有電子標簽的產品與智能工廠系統中的區塊鏈結點間的共享密鑰值.
Knext表示智能工廠系統中嵌有電子標簽的產品與智能工廠系統中的區塊鏈結點間的下輪通信共享密鑰值.
x表示智能工廠系統中的讀卡器端產生的隨機數.
y表示智能工廠系統中嵌有電子標簽的產品端產生的隨機數.
z表示智能工廠系統中的區塊鏈結點端產生的隨機數.
⊕表示異或運算.
ROTL(X,Y)表示循環左移運算.
ROTR(X,Y)表示循環右移運算.
認證方案可分為兩個階段,第1個階段是初始化階段,主要完成產品出廠之前各參數的初始化;第2個階段是認證階段,主要實現產品與區塊鏈結點之間的彼此驗證.待初始化階段完成,產品端存放的信息有IDS、ID、K、ΔT;區塊鏈結點端存放的信息有IDS、ID、K、ΔT;讀卡器端存放的信息有ΔT.
與其他方案一致,做出下面約定:智能工廠系統中嵌有電子標簽的產品與智能工廠系統中的讀卡器間通信不安全,易被攻擊者監聽; 智能工廠系統中的讀卡器與智能工廠系統中的區塊鏈結點間通信安全.
本文認證方案的流程可見圖1所示.

圖1 認證方案的流程圖
結合圖1可將文中方案具體實現步驟描述如下:
(1)智能工廠系統中的讀卡器端產生隨機數x、時間戳tR,并將隨機數x、時間戳tR發送給智能工廠系統中嵌有電子標簽的產品,開啟認證方案.

若不成立,表示通信延遲已超出系統所能允許的最大延時,方案停止.
若成立,智能工廠系統中嵌有電子標簽的產品端產生隨機數y、時間戳tT,然后取出自身存放的ID、K分別進行計算可得到消息N1、N2,最后將N1、N2、IDS、tT發送給智能工廠系統中的讀卡器.
若不成立,表示通信延遲已超出系統所能允許的最大延時,方案停止.
若成立,智能工廠系統中的讀卡器端產生時間戳tr,最后將N1、N2、IDS、tr、x發送給智能工廠系統中的區塊鏈結點.
若不成立,表示通信延遲已超出系統所能允許的最大延時,方案停止.
若成立,區塊鏈結點開始搜索存放的數據中是否有與接收到的IDS相等的數據信息.未找到,表明消息的來源方是第三方偽造的,方案停止.找到,區塊鏈結點則取出與IDS相對應的ID、K參數,接著分別對N1、N2進行解密運算,通過解密N1可以得到一個隨機數y1、通過解密N2可以得到一個隨機數y2,然后判斷y1=y2是否成立.
若y1=y2不成立,表明消息來源方是第三方偽造的,方案停止.

若不成立,表示通信延遲已超出系統所能允許的最大延時,方案停止.
若成立,智能工廠系統中的讀卡器將N3、N4轉發給智能工廠系統中嵌有電子標簽的產品.
(6)智能工廠系統中嵌有電子標簽的產品端收到信息,分別對N3、N4進行解密運算,通過解密N3可以得到一個隨機數z1、通過解密N4可以得到一個隨機數z2,然后判斷z1=z2是否成立.
若z1=z2成立,表明消息來源方通過產品驗證,同時說明z1=z2=z.待驗證通過,智能工廠系統中嵌有電子標簽的產品端開始更新信息IDSnext=ROTL(IDS⊕y,z)、Knext=ROTL(K⊕z,y),待信息更新完成,則正常的認證方案過程順利結束.
本小節將從不同角度分析文中超輕量級方案安全指標.
(1)雙向鑒別
雖然文中方案中有3個會話實體,但仔細分析發現,智能工廠系統中的讀卡器更多的像是一個轉發實體,因此,方案中主要是要實現智能工廠系統中嵌有電子標簽的產品與智能工廠系統中的區塊鏈結點間實現雙向鑒別性.其中智能工廠系統中嵌有電子標簽的產品是基于N3、N4實現對智能工廠系統中的區塊鏈結點的鑒別,而智能工廠系統中的區塊鏈結點是基于N1、N2實現對智能工廠系統中嵌有電子標簽的產品的鑒別.故方案可提供實體間雙向鑒別.
(2)匿名性
文中方案引入智能工廠系統中嵌有電子標簽的產品的假名,每次通信時傳遞的都是假名,且每次通信介紹后,假名會進行更新,使得每輪假名都不同; 其他需要發送的隱私信息都是加密之后再發送,使得攻擊者無法獲取有用有效信息,因此攻擊者無法獲知智能工廠系統中嵌有電子標簽的產品的真實身份信息.故方案可提供實體的匿名性.
(3)重放攻擊
攻擊者可以通過竊聽的方式,獲悉第i輪通信的所有信息,比如:N1、N2、N3、N4等.當通信實體間進行第i+1輪通信時,攻擊者可以向智能工廠系統中嵌有電子標簽的產品重放竊聽獲取第i輪通信信息N3、N4,以企圖通過該產品的驗證;或攻擊者向智能工廠系統中的區塊鏈結點重放竊聽獲取第i輪通信信息N1、N2,以企圖通過區塊鏈節點的驗證,進而獲取更多隱私信息.
文中通信信息N1、N2在加密過程中混有隨機數y和隨機數x,通信信息N3、N4在加密過程中混有隨機數y和隨機數z.上述隨機數全部都是隨機數產生器隨機產生得到,且前一輪與后一輪隨機數間沒有任何關聯.當攻擊者在第i+1輪通信中重放竊聽獲取的第i輪通信信息時,攻擊者必然失敗,因第i+1輪通信信息雖加密方法未發生變動,但加密用到的隨機數卻發生變化,而攻擊者重放的信息卻還是上輪信息,故重放失敗.
基于上述,攻擊者發起的重放攻擊失敗告終.
(4)異步攻擊
在本文方案中,智能工廠系統中的區塊鏈結點一端不僅存放有當前正在通信用到的共享秘密值,同時還存放有上輪通信用到的共享秘密值.當智能工廠系統中的區塊鏈結點對智能工廠系統中嵌有電子標簽的產品進行鑒別時,區塊鏈節點會先用存放的當前通信用到的共享秘密值來驗證消息來源的真假.
若驗證成功,則進行后續操作步驟.若驗證失敗,則區塊鏈節點將會調用存放的上輪通信用到的共享秘密值重新發起對消息來源真偽的驗證.只有在當且僅當上述兩次驗證都失敗的情況下,區塊鏈結點才會認定消息來源方是偽造的; 如果第1次驗證失敗,而第2次驗證成功,則區塊鏈結點仍會認為消息來源方真實可靠,會繼續進行后續操作步驟.
基于上述,文中方案可抵抗攻擊者發起的異步攻擊.
(5)暴力破解
攻擊者獲取方案中任意消息可采用窮舉的方式獲取該消息中加密的隱私信息,從而發起后續其他攻擊,以獲取更多隱私信息.選擇以消息N1=ROTL(K⊕y,x)為例進行詳細分析,在消息N1=ROTL(K⊕y,x)中,隱私信息便是共享秘密值,攻擊者竊聽可以獲取隨機數x和消息N1,其他參數攻擊者無法獲取,共享秘密值K和隨機數y于攻擊者來說均不知曉,因此攻擊者無法窮舉出共享秘密值K的正確數值.故方案可抵御暴力破解.
(6)前向/后向安全
方案中所有消息加密之時全部混入隨機數,隨機數是隨機產生,且具有前后無法預測性及不一樣特征,使得攻擊者無法從截獲當前消息中分析出下輪通信消息值或逆推出上輪通信消息中用戶隱私信息,使得方案較為安全.故方案可以提供前向/后向安全.
文中消息加密時混入的隨機數,都是采用密文的方式發送的,在整個通信過程中,未出現明文隨機數,因此,對于攻擊者來說,攻擊者想要破解某個通信消息的話,攻擊者需要先想辦法獲取隨機數.基于密文方式傳送隨機數,使得攻擊者無法直接得到隨機數,則攻擊者又需要借助其他參量來破解獲取隨機數,從而使得攻擊者陷入一個死循環,既無法破解消息,也無法破解得到隨機數.而對于通信實體一方來說,得到加密的隨機數比較簡單,因通信實體雙方會共享一些參數信息,發送方會用這些共享的參數信息與隨機數共同加密,再發送給接收者; 接收者收到信息后,按照相同的運算法則,再結合事前共享的參數信息,即可計算得到發送者產生的隨機數,再進行其他后續操作.綜上,混入隨機數,對正常的通信實體來說,加密及解密時間開銷都在可接受范圍內,而對于攻擊者來說,則無法進行可接受范圍內的時間開銷破解.
本小節將采用基于GNY形式邏輯化對文中方案進行邏輯形式推理.
(1)形式化模型
基于GNY邏輯形式化分析方案,需對方案進行形式化,約定T表示智能工廠系統中嵌有電子標簽的產品,BN表示智能工廠系統中的區塊鏈結點,R表示智能工廠系統中的讀卡器,方案形式化之后如下:

將上述章節中有關具體通信消息計算帶入上述形式化中,可得到:

(2)初始化假設

初始化假設A1是智能工廠系統中的讀卡器R所擁有的,初始化假設A2、A3、A4是智能工廠系統中嵌有電子標簽的產品T所擁有的,初始化假設A5、A6、A7是智能工廠系統中的區塊鏈結點BN所擁有的,初始化假設A8是智能工廠系統中的讀卡器R對擁有信息新鮮性的相信,初始化假設A9是智能工廠系統中嵌有電子標簽的產品T對擁有信息新鮮性的相信,初始化假設A10是智能工廠系統中的區塊鏈結點BN對擁有信息新鮮性的相信,初始化假設A11、A12、A13是智能工廠系統中嵌有電子標簽的產品T與智能工廠系統中的區塊鏈結點BN間彼此相信共享信息,初始化假設A14、A15、A16是智能工廠系統中的區塊鏈結點BN與智能工廠系統中嵌有電子標簽的產品T間彼此相信共享信息.
(3)證明目標
結合上述,可以分析得出,方案中需要推理證明的目標有4個,即:

(4)推理證明

將文中方案與其他經典方案進行性能對比,選擇智能工廠系統中嵌有電子標簽的產品為對象,對比結果見表1所示.

表1 不同方案對比性能
對表1中符號的含義說明如下:PUF符號表示的含義是物理不可克隆函數的計算量; AND符號表示的含義是按位運算的計算量(比較常見的按位運算有:按位與運算、按位異或運算等); PRT符號表示的含義是產生隨機數的計算量; MOD符號表示的含義是模運算的計算量; HASH符號表示的含義是哈希函數的計算量; PNG符號表示的含義是偽隨機數函數的計算量;ROT符號表示的含義是循環移動運算的計算量.
約定通信量長度與存儲參數的長度都是一致的,文中方案智能工廠系統中嵌有電子標簽的產品一端存放的信息有IDS、ID、K、ΔT,因此存儲量大小為4.文中方案一個完整的會話過程中一共有14個會話消息,因此通信量大小為14.不論是從通信量角度出發,還是從存儲量角度出發,文中方案與其他方案相比較,并未有優勢,甚至比某些方案開銷還大,但文中方案主要優勢在于能夠提供較高的安全性及低計算量成本.
從智能工廠系統中嵌有電子標簽的產品一端的計算量角度出發分析,除了文獻[16]中方案與文中方案加密算法屬于超輕量級的,其他文獻中采用的算法都屬于輕量級的,因此文中計算量有較大降低及優勢.重點比較文獻[16]中方案與文中方案,因文獻[16]中方案在共享密鑰及假名更新時計算復雜,使得ROT運算次數增多,從而整體計算量也高于文中方案,故文中方案仍存在一定優勢.
文中方案智能工廠系統中嵌有電子標簽的產品一端計算量的由來如下描述:因需要產生一個隨機數x,故需要一個PRT運算.在計算消息N1、N2過程中,分別需要用到第1次ROT運算、第2次ROT運算; 在對消息N3、N4解密過程時,分別需要用到第3次ROT運算、第4次ROT運算; 在最后更新共享秘密值、假名時,分別需要用到第5次ROT運算、第6次ROT運算,故一共需要6個ROT運算.在對消息N3、N4解密過程時,分別需要用到第1次AND運算、第2次AND運算,故一共需要兩個AND運算.基于上述,文中方案智能工廠系統中嵌有電子標簽的產品一端計算量為6ROT+2AND+1PRT.
循環移動運算可以確保加密隱私信息的安全性,能夠達到用戶需要的認證效果.具體分析原因如下:其一,循環移動運算分為循環左移運算和循環右移運算兩種,通信實體在進行加密時,到底選擇哪種方式進行加密,是不對外公開的,這點可以增加外界破解的難度; 其二,不論通信實體選擇哪種方式進行加密,都會用到加密參數自身具備的漢明權重,加密參數未明文出現過,攻擊者因此無法獲取,攻擊者只能采用窮盡的方法一個一個嘗試漢明重量去破解,但可以肯定,此種方法時間開銷巨大; 其三,所有消息加密時混入隨機數,每輪加密用到隨機數都發生變更,即便是攻擊者僥幸窮舉出某輪加密用到的部分信息,但當前正在通信的輪次與攻擊者破解的通信輪次間,早已相隔甚遠,因此,于攻擊者而言,窮舉出的信息早已過時,失去了原本的意義.
文中將傳統的射頻識別技術與新產生的區塊鏈技術相結合,提出一種可適用于智能工廠的超輕量級認證方案.方案采用超輕量級的循環移動運算實現對隱私信息加密,在確保安全的前提下,結合加密隱私信息自身特有的漢明權重參數,可增加破解難度的同時,也能減少參量引入,減低存儲開銷.對方案從不同的攻擊角度分析,方案能夠達到預期的安全要求; 采用GNY邏輯形式化分析,對方案進行嚴謹的邏輯形式化推理證明分析; 最后從性能角度出發,分析文中方案在計算時間復雜度方面優于其他經典方案.