謝海寶,呂 磊
(1.河南省市場監(jiān)督管理局 信息中心,河南 鄭州 450008;2.河南工業(yè)大學 信息科學與工程學院,河南 鄭州 450008)
射頻識別技術是一種不用與特定物品相接觸即可讀出該物品存放信息的通信技術。該技術雖在20世紀早已產生,但在20世紀并未得到充分的發(fā)展,進入新世紀后,伴隨著云計算、物聯(lián)網、大數據等新技術的產生,射頻識別技術得到了廣泛的推廣運用。
射頻識別系統(tǒng)經典的組成模塊包含讀寫器、電子標簽、后臺服務器,其中讀寫器主要用來轉發(fā)電子標簽發(fā)送給后臺服務器、后臺服務器發(fā)送給電子標簽的消息。在一般的通信模型中,電子標簽與讀寫器間基于無線鏈路通信,易被第三方人員竊聽,存在一定隱患,一般認定為不安全;讀寫器與后臺服務器間基于有線鏈路通信,一般認定為安全,故經常將二者看成一個整體對待。電子標簽常見的有兩種類型,一種是無源被動式電子標簽,因自身不攜帶電源,無法主動向讀寫器發(fā)送信息;另一種是有源主動式電子標簽,因自身攜帶有電源,因此具備主動向讀寫器發(fā)送消息的能力。在絕大多數射頻識別系統(tǒng)中,前者類型的電子標簽更常見,即無源被動式電子標簽運用更為廣泛。
正是因為無源被動式電子標簽與讀寫器間基于無線鏈路通信,因無線鏈路固有的開放性,才使得會話消息易被第三方人員竊聽獲取,存在一定的安全隱患。為保證隱私信息的安全性,文中提出一種基于偽隨機數發(fā)生器的雙向認證協(xié)議。該協(xié)議選擇時鐘周期數及門電路數均較少的偽隨機數發(fā)生器進行信息的加密操作,可降低成本;為保障消息的新鮮性,在消息加密過程中全部插入隨機數。最后從不同的安全性角度及性能角度出發(fā)對文中協(xié)議進行分析,表明文中協(xié)議具備較高的安全需求,且同時滿足成本開銷低的優(yōu)勢。
文中內容按照如下方式展開:第一節(jié),介紹文中研究的背景,從而引出文中研究的問題所在。第二節(jié),介紹近年來部分經典的認證協(xié)議,并指出其優(yōu)缺之處。第三節(jié),詳細介紹了文中協(xié)議的設計實現(xiàn)步驟。第四節(jié),從多個不同攻擊類型分析文中協(xié)議的安全性。第五節(jié),從電子標簽一端的計算量、存儲量等角度分析文中協(xié)議的性能特征。第六節(jié),總結全文工作。
為能夠確保電子標簽與讀寫器間消息傳遞的安全性,國內外專家學者提出眾多認證協(xié)議。2016年,SHI等人基于偽隨機散列函數設計一個認證協(xié)議,該協(xié)議能夠提供比較理想的安全需求,但第三方人員仍可以發(fā)起窮舉攻擊,從而窮舉出部分隱私信息。
2017年,TEWARI等人基于按位運算設計出一個超輕量級的認證協(xié)議,因協(xié)議采用按位運算實現(xiàn),在極大程度上降低了整體計算量,但根據已有的研究成果顯示,超輕量級的按位運算本身仍存在一定的不足或缺陷,故該協(xié)議的使用范圍受到制約。
2018年,XIE等人基于經典的哈希函數設計出一個協(xié)議,能夠抵抗經典的重放攻擊、異步攻擊等類型的攻擊,但深層次分析協(xié)議,協(xié)議在電子標簽一端需多次進行哈希函數運算,使得電子標簽一端整體計算量大幅度上升,無法推廣運用。
2019年,PANG等人基于RRAM PUF設計出一個認證協(xié)議,能夠抵抗克隆等類型的攻擊,但分析協(xié)議發(fā)現(xiàn),該協(xié)議僅能提供最后一步讀寫器對電子標簽的認證,無法提供電子標簽對讀寫器最后一步的認證,從而存在假冒攻擊的安全隱患。
2020年,F(xiàn)EI等人利用Universal Hash函數提出一個協(xié)議,協(xié)議具備一定的安全需求,但協(xié)議設計過程中,在讀寫器或后臺服務器一端未存放前后會話共享密鑰,使得協(xié)議無法抵抗異步攻擊。
2021年,CHEN等人利用RRAM PUF提出一種認證協(xié)議,協(xié)議能夠提供較好的安全保障,但仍無法抵抗第三方人員發(fā)起的定位攻擊,即電子標簽發(fā)送的消息在加密時,部分消息加密中未插入隨機數,前后多次會話產生的會話消息值保持不變,第三方人員可通過多次竊聽手段定位電子標簽具體位置,從而進行其他破壞操作。
鑒于現(xiàn)有的經典協(xié)議或多或少存在計算量大或存在安全隱患等諸多問題,文中設計出一個輕量級的雙向認證協(xié)議。協(xié)議設計過程中,考慮到電子標簽一端的成本受到制約的因素,因此選擇在時鐘周期及門電路數實現(xiàn)成本均較低的偽隨機數發(fā)生器來對發(fā)送的信息進行加密。通過后續(xù)性能分析對比可發(fā)現(xiàn),文中協(xié)議在電子標簽一端的時鐘周期數及門電路數均是最少的,能夠有效降低電子標簽一端的成本;同時將文中協(xié)議與其他協(xié)議進行安全性分析對比,表明文中協(xié)議能夠抵抗第三方人員發(fā)起的諸如假冒攻擊、窮舉攻擊、異步攻擊等常見類型的攻擊,使得協(xié)議具備良好的安全性能。
本章節(jié)將先介紹協(xié)議相關符號含義,再介紹協(xié)議具體實現(xiàn)步驟。
(1)協(xié)議符號含義。
文中協(xié)議出現(xiàn)的部分符號具體所要表達的含義解釋如下:
DB/R:后臺服務器與讀寫器組合成的一個整體(該整體具備足量的存儲空間、強大的計算能力及搜索能力);
T:電子標簽(側重于無源被動式電子標簽種類);
IDT:電子標簽的假名;
IDT:更新之前的電子標簽假名;
IDT:更新之后的電子標簽假名;
IDT:電子標簽標識符的左半邊;
IDT:電子標簽標識符的右半邊;
K
:電子標簽與DB/R間的共享密鑰值;K
:更新之后的電子標簽與DB/R間的共享密鑰值;K
:更新之前的電子標簽與DB/R間的共享密鑰值;g
():偽隨機數發(fā)生器;a
:電子標簽產生的隨機數;b
:DB/R產生的隨機數;⊕:異或運算;
&:與運算;
A
、B
、C
、D
、E
、Hello、ACK:通信會話消息。(2)協(xié)議具體實現(xiàn)。
文中協(xié)議與其他協(xié)議一樣,做出下面假設約定:后臺服務器與讀寫器間基于有線信道方式交換數據,可認定為安全,故兩者看成一個整體;讀寫器與電子標簽間基于無線信道完成數據交換,無線信道固有的開放性,易被第三方人員竊聽,存在一定的安全缺陷,故不安全。
協(xié)議正式開始之前,分為初始化階段、雙向認證階段、密鑰信息更新階段。初始化階段主要完成各通信實體在出場之前信息的初始化操作;雙向認證階段實現(xiàn)DB/R與電子標簽之間的彼此認證;密鑰信息更新階段是對共享秘密值及假名進行更新,為下次認證做好準備工作。
初始化階段完成,DB/R端存放的信息有所有合法電子標簽的IDT、IDT、IDT、K
;電子標簽T端存放的信息有自身的IDT、IDT、IDT、K
。文中協(xié)議雙向認證示意圖可參見圖1。
圖1 雙向認證協(xié)議示意圖
結合圖1,可將文中協(xié)議詳細實現(xiàn)步驟描述如下:
第一步:DB/R整體向電子標簽發(fā)送Hello消息,開啟認證協(xié)議。
第二步:電子標簽收到消息,利用偽隨機數發(fā)生器產生一個隨機數a
,并通過約定好的規(guī)則計算得到會話消息A
、B
,最后將A
、B
、IDT發(fā)送給DB/R整體。其中有關會話消息A
、B
的具體計算方式如下:A
=a
⊕IDT、B
=g
(a
,IDT)。發(fā)送電子標簽假名IDT的作用如下:其一,假名即便是明文發(fā)送,第三方人員可竊聽獲取,但第三方人員仍無法獲取隱私信息;其二,假名與電子標簽的標識符間無任何關聯(lián),第三方人員無法通過假名推到標識符;其三,假名可在每次認證后進行更新,使得前后兩輪認證中,假名值保持變動之中,使得第三方人員無法對電子標簽實施追蹤定位攻擊。
第三步:DB/R整體收到消息,先查找自身存放的眾多假名數據中是否存在與接收到的IDT相同的數值。
未找到,則表明電子標簽可能由第三方人員偽造,為安全著想,協(xié)議終止。
找到,僅能說明電子標簽暫時通過驗證,可進行后續(xù)操作。DB/R整體取出與IDT相對應的IDT、IDT參數信息,接著先對消息A
進行變形處理,可得到一個隨機數a
=A
⊕IDT,并將變形所得隨機數帶入消息B
中,可得到DB/R整體計算所得到的B
=g
(a
,IDT)=g
(A
⊕IDT,IDT),然后DB/R整體開始對比接收到的B
與計算得到的B
是否相等。不相等,則說明電子標簽雖之前通過了DB/R整體驗證,但無法通過DB/R整體更進一步驗證,電子標簽仍可能是第三方人員假冒,協(xié)議終止。
相等,則表明電子標簽真實可靠,DB/R整體可接著進行后續(xù)操作。DB/R整體將產生一個隨機數b
,并按照約定好的規(guī)則計算得到消息C
、D
,最終將C
、D
發(fā)送給電子標簽。其中有關消息C
、D
的計算方式具體如下:C
=b
⊕IDT、D
=g
(a
,b
)。第四步:電子標簽收到消息,將先對消息C
進行變形處理,變形處理之后可得到一個隨機數b
=C
⊕IDT,接著將變形處理得到的隨機數帶入消息D
中,可計算得到一個D
=g
(a
,b
)=g
(a
,C
⊕IDT),然后對比計算所得D
與接收到的D
是否相等。不相等,表明消息來源方無法通過電子標簽驗證,出于安全考慮,協(xié)議終止。
相等,可說明消息來源方真實可靠,通過電子標簽驗證,協(xié)議可繼續(xù)進行。電子標簽接著按照約定的規(guī)則計算得到消息E
,最終將E
發(fā)送給DB/R整體。待電子標簽將消息E
發(fā)送給DB/R整體后,電子標簽開始更新相關信息,具體更新方式如下:IDT=g
(b
,IDT)、K
=g
(a
,K
)。其中會話消息E
計算的方式如下:E
=g
(a
⊕K
,b&K
)。第五步:DB/R整體收到消息,將先用當前通信的共享密鑰按照約定的規(guī)則計算得到一個E
=g
(a
⊕K
,b&K
),并對比接收到的E
與自身計算所得E
值是否相同。不相同,還未能說明電子標簽是偽造,有可能是電子標簽與DB/R整體間共享密鑰失去一致性而造成。為避免該情況發(fā)生,DB/R整體將再次用上輪通信的共享密鑰按照約定的規(guī)則計算得到一個E
=g
(a
⊕K
,b&K
),并再次對比接收到的E
與自身計算所得E
值是否相等。若仍不相等,則說明電子標簽可能是第三方人員假冒,出于安全考慮,協(xié)議終止;反之,表明通過此步驟后,不僅電子標簽通過了DB/R整體的驗證,同時也使得DB/R整體與電子標簽間再次恢復共享密鑰一致性,接著DB/R整體將進行操作一。相同,可表明消息來源方通過DB/R整體驗證,接著DB/R整體將進行操作一。
操作一:DB/R整體將向電子標簽發(fā)送ACK消息,以表示電子標簽通過DB/R整體的驗證,同時DB/R整體開始更新信息。
DB/R整體在更新信息的時候,將按照下面方式進行:若DB/R整體用K
驗證電子標簽成功,則信息更新方式為IDT=IDT、IDT=g
(b
,IDT)、K
=K
、K
=g
(a
,K
);若DB/R整體用K
驗證電子標簽成功,則信息更新方式為IDT=IDT、IDT=g
(b
,IDT)、K
=g
(a
,K
)。第六步:電子標簽收到消息,ACK消息表示電子標簽與DB/R整體間雙向認證正常完成,協(xié)議可正常結束。
本章節(jié)主要從不同的攻擊類型角度出發(fā),對文中協(xié)議安全性進行分析。
(1)雙向認證。
協(xié)議需要能夠提供最基本的認證安全需求,以保證消息的來源方是安全可靠的。文中協(xié)議能夠確保會話實體雙方實現(xiàn)對彼此的認證,具體的:
DB/R整體對電子標簽的驗證如下:在第三步中,DB/R整體將先通過IDT對電子標簽進行驗證,為實現(xiàn)對電子標簽的更進一步驗證,DB/R整體將再次通過A
、B
對電子標簽進行驗證,兩次驗證均通過,才表明電子標簽通過DB/R整體的驗證;在第五步中,DB/R整體將借助第三步中獲取的隨機數,同時結合消息E
驗證電子標簽身份,并且為確保兩者間因失去一致性而錯過相互認證,DB/R整體將會采用前后兩輪共享密鑰對電子標簽進行驗證。電子標簽對DB/R整體的驗證如下:在第四步中,電子標簽將通過C
、D
實現(xiàn)對DB/R整體的驗證。基于上述分析,文中協(xié)議能夠提供DB/R整體與電子標簽間的雙向認證需求。
(2)假冒攻擊。
從理論上來講,第三方人員可以假冒成任何一個會話實體,比如:第三方人員可以假冒成DB/R整體、第三方人員可以假冒成電子標簽。文中這里僅選擇第三方人員假冒成電子標簽進行分析。
第三方人員假冒成電子標簽向合法的DB/R整體發(fā)送消息,以企圖通過DB/R整體的驗證,進而分析出部分隱私信息。但面對文中協(xié)議,第三方人員無法成功,具體原因是:第三方人員無法獲取合法電子標簽的標識符參數,同時也無法獲取DB/R整體與電子標簽間的共享密鑰值參數,使得第三方人員無法計算得到正確的消息A
、B
或E
。當DB/R整體收到第三方人員發(fā)送來的消息后,依據協(xié)議中的第三步或第五步即可識別出消息來源方是第三方人員假冒的,協(xié)議即可終止。對于第三方人員來說,第三方人員并未獲取任何有用的隱私信息。基于上述分析,文中協(xié)議能夠抵抗第三方人員發(fā)起的假冒攻擊。
(3)窮舉攻擊。
第三方人員可以對竊聽獲取的消息進行窮舉方式的破解分析,比如:利用超級計算機窮舉出所有可能的某些隱私信息的參數取值,從而確定該隱私信息具體數值。但對于文中協(xié)議來說,第三方人員無法采用窮舉的方式獲取任何隱私信息,下面將具體以消息A
、B
為例展開分析。比如第三方人員先單獨對消息A
發(fā)起窮舉攻擊,在消息A
=a
⊕IDT中,對于第三方人員來講,第三方人員有a
和IDT兩個參數信息不知道,且第三方人員竊聽獲悉的消息中也沒有出現(xiàn)上述兩個參數值,因此,第三方人員無法窮舉出任何有用隱私信息。再比如說第三方人員對消息A
、B
同時進行窮舉攻擊分析,第三方人員可以先對消息A
變形,然后將變形之后的結果帶入消息B
可得到B
=g
(a
,IDT)=g
(A
⊕IDT,IDT),在上述公式中,第三方人員雖然獲悉了A
,但第三方人員仍有IDT和IDT兩個參量值不知曉,因此,第三方人員仍還是無法窮舉出任何有用隱私信息。基于上述分析,文中協(xié)議可抵抗第三方人員發(fā)起的窮舉攻擊。
(4)定位攻擊。
第三方人員可通過持續(xù)不斷的竊聽方式,定位電子標簽的具體位置,從而實施追蹤攻擊。對于文中協(xié)議來講,第三方人員無法跟蹤電子標簽成功,具體原因如下:其一,整個協(xié)議過程中,并沒有出現(xiàn)電子標簽的標識符,故第三方人員無法獲取電子標簽唯一標識的信息;其二,協(xié)議中引入電子標簽假名,用假名代替標識符出現(xiàn)在協(xié)議通信過程中,即便是第三方人員可獲取假名信息,但假名與標識符間無任何關聯(lián);其三,協(xié)議在每輪認證正常結束之后,會話實體端將進行假名的更新操作,且假名更新時插入隨機數,使得前后兩輪用到的假名無關聯(lián)性,使得第三方人員無法定位電子標簽位置。
基于上述分析,文中協(xié)議可抵抗第三方人員發(fā)起的定位攻擊。
(5)前/后向安全性。
文中協(xié)議為能夠提供前后向安全性,所采用的措施是:混入隨機數。所有通信消息加密過程中全部混入隨機數,使得前后會話消息值存在差異性,這樣第三方人員就無法進行前后向破解分析。隨機數由偽隨機數發(fā)生器產生,產生的隨機數具備隨機性、互異性、無法預測性等優(yōu)點,使得第三方人員無法通過當前的隨機數預測下輪會話時用到的隨機數值,同時也使得第三方人員無法通過當前的隨機數逆推出上輪會話用到的隨機數值。在隨機數安全的情況下,第三方人員更加無法逆推出或預測出之前或下輪的隱私信息。
基于上述分析,文中協(xié)議可以提供前后向安全性。
(6)異步攻擊。
異步攻擊是指第三方人員破解會話實體間共享密鑰的一致性,比如其中一方進行信息更新,而另一方不進行信息更新,造成兩者間信息更新不同步,而出現(xiàn)后續(xù)無法相互認證的情況。
文中協(xié)議在DB/R整體一端不僅存放有當前會話用到的共享密鑰值,同時也存放之前若干輪次會話用到的共享密鑰值,當DB/R整體用當前會話的共享密鑰值對電子標簽驗證失敗之時,DB/R整體將會依次用之前若干輪次會話的共享密鑰值逐一對電子標簽進行驗證,從而可恢復兩者間的一致性。當且僅當,所有存儲的共享密鑰值均驗證電子標簽失敗時,電子標簽才算沒有通過驗證。
基于上述分析,文中協(xié)議可以肯定第三方人員發(fā)起的異步攻擊。
(7)重放攻擊。
重放攻擊主要是將第三方人員通過竊聽的方式獲取之前某輪會話的通信消息,然后在之后的某輪會話過程中,第三方人員重放竊聽獲取的之前某輪會話的通信消息,以企圖通過合法會話實體的驗證。
但對于文中協(xié)議來說,第三方人員發(fā)起的重放攻擊只能以失敗而告終,原因在于:其一,文中協(xié)議所有消息全部采用密文方式發(fā)送,即隱私信息全部先加密再發(fā)送,攻擊者竊聽獲取的值全都是密文,而非明文;其二,所有信息加密過程中均插入隨機數,隨機數的插入可使得所有消息每輪均保持新鮮性,當攻擊者在第i
+1輪會話過程中重放竊聽獲取的第i
輪會話消息時,第i
+1輪會話消息值早已發(fā)生變更,因此,第三方人員重放的消息無法通過合法實體的驗證。基于上述分析,文中協(xié)議可抵抗第三方人員發(fā)起的重返攻擊。
將文中協(xié)議與其他經典協(xié)議進行安全性對比,對比結果可參見表1。
表1 協(xié)議間安全性對比
本節(jié)內容將從電子標簽一端存儲量大小、計算量大小等分析文中協(xié)議與其他經典協(xié)議的性能,具體分析結果見表2。
表2 協(xié)議間性能對比
對表2中出現(xiàn)的符號所表示的含義解釋如下:and符號所表示的含義為異或運算的計算量;g符號所表示的含義為偽隨機數發(fā)生器的計算量;PUF符號所表示的含義為物理不可克隆函數的計算量;HASH符號所表示的含義為基于m
×1階Toeplitz矩陣實現(xiàn)的Uinversal Hash函數的計算量。約定存儲的信息,以及會話消息長度均為L
位,但類似于Hello、ACK這樣的會話消息僅需1 bit即可存放。文中協(xié)議在電子標簽一端存放的參數有IDT、IDT、K
,因此,電子標簽一端的存儲量大小為3L
。文中協(xié)議中,DB/R整體向電子標簽發(fā)送消息次數一共有3次,電子標簽向DB/R整體發(fā)送消息次數一共有2次,因此文中協(xié)議一個完整的會話過程中會話次數為5次。
文中協(xié)議一個完整的會話過程中包含的消息如下:Hello、IDT、A
、B
、C
、D
、E
、ACK。其中Hello、ACK長度各為1 bit,IDT、A
、B
、C
、D
、E
長度各為1L
,因此,文中協(xié)議一個完整的會話過程中會話量為6L
+2 bits。文中協(xié)議電子標簽一端的計算量為2and+5g,詳細分析過程如下:電子標簽在計算消息A
的時候,第一次用到and運算;電子標簽在對消息C
進行變形處理時,第二次用到and運算;電子標簽在計算消息B
的時候,第一次用到g運算;電子標簽在計算消息D
的時候,第二次用到g運算;電子標簽在計算消息E
的時候,第三次用到g運算;電子標簽在更新信息的時候,第四次、第五次用到g運算。基于上述分析,電子標簽一端總共2次用到and運算,總共5次用到g運算,故文中協(xié)議電子標簽一端的計算量為2and+5g。有關時鐘周期數及門電路數的詳細計算過程可以參考文獻[16]中“5.2 效率比較”章節(jié)內容,這里僅分析文中協(xié)議的過程。文中協(xié)議在電子標簽一端僅僅只有偽隨機數發(fā)生器裝備,異或運算實現(xiàn)的時鐘周期數及門電路數相對于上述來說均可忽略,故文中協(xié)議電子標簽一端的時鐘周期數為104、門電路數為1 294。
結合表2,綜合分析各協(xié)議性能指標,在存儲量、會話量、會話次數方面,文中協(xié)議與其他協(xié)議的存儲量大小、會話量大小、會話次數大小基本相當;但在計算量、時鐘周期數、門電路數方面,文中協(xié)議有一定的優(yōu)勢。具體分析,在計算量方面,文中協(xié)議僅選擇偽隨機數發(fā)生器作為加密函數及隨機數的產生設備,一定程度上降低了電子標簽一端的計算量;在時鐘周期數及門電路數方面,因文中協(xié)議在電子標簽一端僅需要實現(xiàn)偽隨機數發(fā)生器,使得時鐘周期數及門電路數均較少?;谏鲜龇治?,文中協(xié)議具備低成本、成本開銷低等優(yōu)勢,具備推廣使用的價值意義。
文中在介紹射頻識別技術應用過程中遇到安全缺陷問題后,分析了近些年來部分經典協(xié)議的優(yōu)缺點,在綜合各協(xié)議特點之上,設計一個基于偽隨機數發(fā)生器的RFID雙向認證協(xié)議。該協(xié)議為能夠抵抗常見類型的攻擊,所有需發(fā)送信息先加密再傳送,可使得第三方人員無法獲悉明文信息;信息加密過程中,始終保持至少有兩個參數于第三方人員無法知曉,可使得第三方人員無法進行窮舉攻擊。從不同的攻擊類型對協(xié)議進行分析,表明協(xié)議可以提供較高的安全性能需求;從電子標簽一端的時鐘周期數、門電路數等角度對協(xié)議進行分析,表明協(xié)議各成本開銷均滿足現(xiàn)有低成本的要求,能夠使用在現(xiàn)有低成本RFID系統(tǒng)中。