物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

一種讀寫器參與計算的RFID認(rèn)證協(xié)議

作者:袁 達(dá),王懷瑞,黎彤亮
來源:21ic
日期:2016-01-27 14:55:57
摘要:伴隨著物聯(lián)網(wǎng)技術(shù)的興起,射頻識別(RFID)技術(shù)受到更為廣泛的關(guān)注,其安全特性與面臨的隱私問題制約了其應(yīng)用。針對這些問題,學(xué)者提出諸多安全協(xié)議以應(yīng)對,然而現(xiàn)有協(xié)議大都將RFID讀寫器作為傳遞數(shù)據(jù)的工具,而沒有充分開發(fā)讀寫器在協(xié)議中的運算作用。本文設(shè)計了一個讀寫器參與識別計算的協(xié)議,標(biāo)簽和后端數(shù)據(jù)庫存儲不同的秘密并通過讀寫器建立聯(lián)系,這樣不僅可以抵抗常見的攻擊,而且可以抵抗因后端數(shù)據(jù)庫所存儲的識別表意外失竊所帶來的對整個系統(tǒng)的危險。

一種讀寫器參與計算的RFID認(rèn)證協(xié)議

  射頻識別RFID(Radio Frequency Identification)技術(shù)是支撐物聯(lián)網(wǎng)(The Internet of Things)發(fā)展的重要技術(shù)之一,它是一種利用射頻信號和空間耦合(電感或電磁耦合)傳輸特性實現(xiàn)非接觸、自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù)的技術(shù)。

  RFID系統(tǒng)一般由讀寫器(Reader)、天線(Antenna)和標(biāo)簽(Tag)組成,通常還包括用來記錄標(biāo)簽更多信息的后端服務(wù)器或后端數(shù)據(jù)庫(Backend Database)。讀寫器通過天線發(fā)送射頻信號到電子標(biāo)簽并接收電子標(biāo)簽回傳的信號,獲讀取標(biāo)簽的標(biāo)識性信息,然后讀寫器將標(biāo)簽的應(yīng)答消息發(fā)送給后端數(shù)據(jù)庫進(jìn)行判斷識別。

  正是由于RFID技術(shù)具有無需人工干預(yù)、自動、無接觸的傳遞數(shù)據(jù)等特性的識別過程,在諸多應(yīng)用實現(xiàn)高效、智能化的識別、定位、跟蹤、監(jiān)控和管理,但該技術(shù)在為數(shù)據(jù)采集提供靈活、方便的同時也將通過無線方式傳遞的數(shù)據(jù)信息暴露出來,造成了信息安全方面的一個隱患。隨著RFID技術(shù)應(yīng)用的迅速推廣,其系統(tǒng)中數(shù)據(jù)安全問題甚至已經(jīng)超過了計算機(jī)信息系統(tǒng)的安全邊界,引起了業(yè)界的普遍關(guān)注。

  讀寫器一旦發(fā)出讀取請求,在其天線信號覆蓋范圍中的標(biāo)簽會自動應(yīng)答,但是這一應(yīng)答并不會通知其持有者。因讀寫器與標(biāo)簽之間的無線通信信道是通用的工業(yè)頻段,如果有人攜帶RFID標(biāo)簽進(jìn)入該范圍,在通用協(xié)議下,讀寫器可以輕易讀取標(biāo)簽信息,這時攜帶者的位置隱私就受到了威脅。如果標(biāo)簽信息被讀寫器惡意篡改,則導(dǎo)致更為嚴(yán)重的安全問題,當(dāng)RFID標(biāo)簽傳出自身專有信息時,專有信息同樣可能被侵犯。RFID技術(shù)應(yīng)用的一些潛在用戶抵制RFID技術(shù)應(yīng)用推廣的原因多在于此。

  目前,RFID系統(tǒng)應(yīng)用存在各式各樣的安全威脅,攻擊手段主要包括:1)通過竊聽等手段獲取相關(guān)信息;2)根據(jù)已有消息進(jìn)行數(shù)據(jù)統(tǒng)計分析,做出對秘密的判斷;3)構(gòu)造消息(包括重放消息)對入侵系統(tǒng)進(jìn)行攻擊。

  隱私和安已經(jīng)成為制約RFID技術(shù)推廣應(yīng)用的兩個主要因素,對于這兩個問題,人們可以采取了主動干擾、靜電屏蔽等物理防范措施保證系統(tǒng)的安全與隱私,但是這些措施在提高系統(tǒng)安全性的同時增加了系統(tǒng)成本,降低了標(biāo)簽使用的靈活性。密碼機(jī)制在RFID系統(tǒng)中的引入相對于物理防范而言,由于不需增加成本而更易于用戶接受,因此越來越多的研究人員將計算機(jī)信息技術(shù)中的密碼機(jī)制引入到RFID的安全協(xié)議中進(jìn)行研究,并提供應(yīng)對隱私和安全問題的解決方案。

  RFID的技術(shù)特性決定了與傳統(tǒng)認(rèn)證(例如口令認(rèn)證)方式不同,標(biāo)簽的唯一標(biāo)識信息ID與標(biāo)簽所附著的物品之間存在一定的對應(yīng)關(guān)系,識別RFID標(biāo)簽的背后是對其所附著物的識別,并且:1)RFID識別是被動的;2)RFID標(biāo)簽應(yīng)答讀寫器時,標(biāo)識其ID的應(yīng)答消息與隱私相關(guān)。因此從信息安全的角度,對于標(biāo)簽的應(yīng)答信息,協(xié)議需要有一定的保護(hù)手段,保護(hù)所傳遞的信息不能夠被截取、篡改和重放;對于標(biāo)簽的ID信息,同樣需要保護(hù),以防對指定標(biāo)簽的定位跟蹤等涉及隱私的威脅發(fā)生,以達(dá)到機(jī)密性、完整性、可用性、真實性和隱私性的要求。

  在RFID認(rèn)證協(xié)議中,普遍借助隨機(jī)數(shù)將RFID標(biāo)簽所發(fā)送的ID信息匿名化,當(dāng)讀寫器讀取標(biāo)簽信息時,讀寫器生成一個隨機(jī)數(shù)并發(fā)送給標(biāo)簽,標(biāo)簽接收到隨機(jī)數(shù)后,利用該隨機(jī)數(shù)與標(biāo)簽ID結(jié)合處理,生成一個新的消息代替標(biāo)簽ID,實現(xiàn)標(biāo)簽ID的匿名化,之后將該消息回傳給讀寫器作為系統(tǒng)認(rèn)證的依據(jù)。

  基于密碼機(jī)制的RFID安全協(xié)議可分為靜態(tài)和動態(tài)ID協(xié)議。在靜態(tài)ID協(xié)議中,標(biāo)簽的ID始終保持不變;在動態(tài)ID協(xié)議中,每次認(rèn)證完成后,標(biāo)簽和后端數(shù)據(jù)庫中的ID信息需要同步更新。相對于靜態(tài)ID協(xié)議,動態(tài)ID協(xié)議更加安全。

  文獻(xiàn)對一些經(jīng)典協(xié)議進(jìn)行了分析,文獻(xiàn)利用隨機(jī)數(shù)實現(xiàn)了標(biāo)簽所發(fā)出ID的動態(tài)化,但是沒有利用隨機(jī)數(shù)對標(biāo)簽ID進(jìn)行保護(hù),攻擊者較容易獲得標(biāo)簽ID信息。文獻(xiàn)中用metaID代替標(biāo)簽ID,但由于metaID是固定不變的,當(dāng)攻擊者得知metaID與標(biāo)識物的對應(yīng)關(guān)系后,仍可對其進(jìn)行跟蹤和定位。文獻(xiàn)利用 Hash函數(shù)與標(biāo)簽ID相結(jié)合,雖然具有一定的隱蔽性,但不具備隨機(jī)性,給攻擊者提供了重放攻擊的機(jī)會。文獻(xiàn)所述安全協(xié)議,在文獻(xiàn)所提出的強(qiáng)攻擊模型 (Strong Attacker)下,存在被擊破的可能。對于文獻(xiàn),攻擊者根據(jù)異或操作的特點,通過選用特定的隨機(jī)數(shù)可對協(xié)議進(jìn)行分析,進(jìn)而破解協(xié)議。文獻(xiàn)所給出的 LCSS協(xié)議,包含了秘密的消息但缺乏校驗機(jī)制,不能保證消息的完整性,而且入侵者有機(jī)會篡改消息,危害更為嚴(yán)重。在文獻(xiàn)中,研究人員試圖使攻擊者在無標(biāo)簽ID時,不能構(gòu)造應(yīng)答消息,但是若攻擊者能給標(biāo)簽發(fā)送特定的隨機(jī)數(shù),并利用之前搜集的消息數(shù)據(jù)便可能構(gòu)造出關(guān)鍵消息。

  以上協(xié)議,都強(qiáng)調(diào)“無需人工干預(yù)”這一條件下進(jìn)行,讀寫器只負(fù)責(zé)傳遞數(shù)據(jù),不對數(shù)據(jù)進(jìn)行處理,也不參與識別認(rèn)證。在不增加標(biāo)簽制作成本的條件下,通過在讀寫器增加數(shù)據(jù)處理操作來提升RFID系統(tǒng)的安全性,從而保障標(biāo)簽可以僅可被合法的讀寫器所讀取,下面給出這一新協(xié)議。

  1 認(rèn)證協(xié)議的設(shè)計與分析

  1.1 協(xié)議設(shè)計

  在介紹本協(xié)議前,將下文所用符號在表1中給出并進(jìn)行說明。

一種讀寫器參與計算的RFID認(rèn)證協(xié)議

  1. 1.1 基本假設(shè)及系統(tǒng)初始狀態(tài)

  RFID讀寫器工作時,需要從一個設(shè)備上獲取其工作密鑰KR,例如一張預(yù)先分配給這一讀寫器的智能IC卡,操作者需要使用該卡啟動讀寫器工作。如果讀寫器和后端數(shù)據(jù)庫都具備強(qiáng)大的數(shù)據(jù)處理和存儲能力,采用類似公鑰密碼算法的高強(qiáng)度密碼技術(shù)保障它們之間的通信安全是最佳選擇,但是實際情況并非如此,本協(xié)議僅要求標(biāo)簽具有一個偽隨機(jī)數(shù)發(fā)生器,可以進(jìn)行XOR運算和一個函數(shù)F(x,y)運算,F(xiàn)(x,y)≠F(y,x)。F(x,y)必須是適合在有限資源的標(biāo)簽上可以實現(xiàn)的輕計算型函數(shù)。

  對于一個標(biāo)簽,它所持有的秘密為ID和Key,對應(yīng)的后端數(shù)據(jù)庫信息為{ID’,Key’,IDold’,Keyold’,LRd}。ID,Key和ID’,Key’,為當(dāng)前認(rèn)證所使用的數(shù)據(jù),ID old’,Keyold’為上一次認(rèn)證所使用的數(shù)據(jù),LRd為以隨機(jī)數(shù),ID與Key以及ID,Key和ID’,Key’的關(guān)系為:

一種讀寫器參與計算的RFID認(rèn)證協(xié)議

  1.1.2 識別過程

  讀寫器與數(shù)據(jù)庫之間同樣需要認(rèn)證,認(rèn)證方式可采用成熟的認(rèn)證方式,同時也需要對操作者所控制的IC進(jìn)行認(rèn)證。在讀取標(biāo)簽之前,讀寫器需要從IC卡中獲取KR。

一種讀寫器參與計算的RFID認(rèn)證協(xié)議

  標(biāo)簽的識別過程如圖1所示。

一種讀寫器參與計算的RFID認(rèn)證協(xié)議

一種讀寫器參與計算的RFID認(rèn)證協(xié)議

  1. 2 協(xié)議分析

  1.2.1 安全性

  隨著計算機(jī)處理能力的增強(qiáng),攻擊者能力也不斷提升,未受保護(hù)的通信容易受到如:竊聽攻擊(Eavesdrop Attack),偽造攻擊(Forgery Attack),重放攻擊(Replay Atta ck),哄騙攻擊(Spoofing Attack),扮演攻擊(Imropersonation,Attack),中間人攻擊(Man—in—Middle Attack),不同步攻擊(De-Synchronization Attack),拒絕服務(wù)(Den ial of Service)等安全方面的攻擊,以及定位(Locate),跟蹤(Trace),隱私信息(Information Privacy)等隱私方面的攻擊。

  在上述攻擊中,一部分是通過對攻擊所致結(jié)果來命名,典型的如不同步攻擊和拒絕服務(wù)攻擊;還有一部分是利用認(rèn)證雙方所傳遞的信息,如重放攻擊、扮演攻擊、中間人攻擊等,它們是利用協(xié)議的漏洞,提供給認(rèn)證方認(rèn)為“合法”的數(shù)據(jù)對其進(jìn)行欺騙。

  無論哪種攻擊,其核心為通過采用一定的手段、方式或方法獲取信息、分析信息背后所保護(hù)的信息、構(gòu)造出認(rèn)證所需的數(shù)據(jù)進(jìn)而破壞協(xié)議執(zhí)行。當(dāng)攻擊者要攻擊的 RFID系統(tǒng),一般有以下3種途徑,一種是通過竊聽到的消息數(shù)據(jù)計算秘密,另一種在獲取一系列數(shù)據(jù)信息(監(jiān)聽標(biāo)簽和讀寫器之間的通信,竊取后端數(shù)據(jù)數(shù)據(jù)庫等)的基礎(chǔ)上,構(gòu)造可通過識別的消息,還有一種就是通過諸如旁道攻擊(Side-Channel Attack)等方式從標(biāo)簽獲取秘密。

  為了抵抗攻擊,協(xié)議提供以下特性:

  1)消息的新鮮性(Message Freshness):如其他諸多RFID協(xié)議一樣,為了實現(xiàn)RFID認(rèn)證中對隱私保護(hù)的支持,最基本的方法是使得在開放信道中傳遞的消息是隨機(jī)的,所設(shè)計的協(xié)議使用了隨機(jī)數(shù)來使消息呈現(xiàn)新鮮性,并且Rt,Rd作為秘密處理。

  2)機(jī)密性(Confidentiality):ID和Key以密文形式進(jìn)行傳遞,并通過包含Rt,Rd在內(nèi)的隨機(jī)秘密進(jìn)行保護(hù),保障ID和Key的機(jī)密性。

  3)匿名性(Anonymity):在RFID識別過程中,通過隨機(jī)數(shù)對標(biāo)簽的應(yīng)答消息進(jìn)行保護(hù),這樣就保障了標(biāo)簽的匿名性,并且應(yīng)答的消息不與任何之前的消息有因果關(guān)系。

  4)重放攻擊(Replay attack):在每次認(rèn)證過程中,都用新的隨機(jī)數(shù)對密碼進(jìn)行保護(hù),即使同一標(biāo)簽在不同認(rèn)證過程中的應(yīng)答消息也是不一樣的,重放上次的認(rèn)證消息是行不通的。

  5)跟蹤(Traceability):RFID標(biāo)簽持有者攜標(biāo)簽進(jìn)入某讀寫器覆蓋范圍時,標(biāo)簽將自動相應(yīng)讀寫器的請求,如果直接用如ID信息等固有消息進(jìn)行相應(yīng),則標(biāo)簽持有者極易被定位跟蹤。在本協(xié)議中,標(biāo)簽ID變成了秘密,協(xié)議運行時隨機(jī)數(shù)保護(hù)了應(yīng)答的消息,因此可以防止跟蹤。

  6)不可區(qū)分性(Indistinguishability):如果在某一時刻是多個標(biāo)簽在應(yīng)答讀寫器,由于消息的隨機(jī)性,攻擊者無法區(qū)分到底是哪個標(biāo)簽在應(yīng)答讀寫器。

  7)計算秘密(Calculatethe Secret):Rr,M1,M2,M3,M4,M5通過公開的公用信道進(jìn)行傳遞,對具有強(qiáng)大攻擊能力的攻擊者來說可視作明文。但是攻擊者要求解秘密,必須求解如下形式的方程:

一種讀寫器參與計算的RFID認(rèn)證協(xié)議

  然而,這對攻擊者來說是有一定困難的。

  8)構(gòu)造消息(Message Construction):哄騙攻擊,扮演攻擊,偽造攻擊,中間人攻擊都要求攻擊者利用所截獲的消息,或?qū)ο⑦M(jìn)行組合,或創(chuàng)造新消息,或綜合構(gòu)造出符合驗證的消息,但方程(e)求解的困難性決定攻擊者要構(gòu)造出假消息是困難的。例如攻擊者要構(gòu)造

滿足服務(wù)器的驗證。即便攻擊者利用XOR運算的特性,選擇特定的數(shù)0作為Rr,但包含Rr的消息M2中ID,Key均未知,因此構(gòu)造出能通過服務(wù)器的檢查,依然是困難的。同樣在沒有破解標(biāo)簽的情況構(gòu)造M3,M4,M5也是困難的。

  9)拒絕服務(wù)(DoS):協(xié)議中,數(shù)據(jù)庫保存了上次運行所需數(shù)據(jù)信息,以防止當(dāng)同步不成功時,后端數(shù)據(jù)庫不再識別標(biāo)簽,呈現(xiàn)拒絕服務(wù)的狀況。

  10)標(biāo)簽數(shù)據(jù)泄露(Tag Data,Leakage)與服務(wù)器扮演攻擊(Impersonate the Sever):依照文獻(xiàn),服務(wù)器扮演攻擊定義為攻擊者破解并竊取了標(biāo)簽的內(nèi)部狀況,進(jìn)而可以模仿服務(wù)器使標(biāo)簽更新數(shù)據(jù),而真實的服務(wù)器卻沒有更新。這個協(xié)議標(biāo)簽更新數(shù)據(jù)前要驗證Key=F(ID,LRd)。因此,如果攻擊者僅僅破解內(nèi)部狀態(tài),依然不能構(gòu)造M3,M4,M5消息欺騙標(biāo)簽。但是,如果攻擊者不但破解了標(biāo)簽,此外還獲取了Rr,M1,M2,同時阻止M3,M4,M5,發(fā)送給標(biāo)簽,則攻擊者可以得手,不過這一條件比較苛刻。

  11)后端數(shù)據(jù)庫信息泄露風(fēng)險(Sever Data Leakage):如果后端數(shù)據(jù)庫提供識別服務(wù)的數(shù)據(jù)泄露,將給系統(tǒng)帶來巨大的風(fēng)險,攻擊者可以根據(jù)數(shù)據(jù)克隆標(biāo)簽,獲取非法利益。為此本協(xié)議通過在讀寫器中增加操作,可以降低風(fēng)險的發(fā)生。這是因為后端數(shù)據(jù)庫中沒有存儲讀寫器的運行密鑰KR。

  1.2.2 性能

  總所周知,在RFID系統(tǒng)中相對于標(biāo)簽而言,端讀寫器和服務(wù)器具有更強(qiáng)的計算能力,標(biāo)簽的信息處理能力影響整個系統(tǒng)性能的關(guān)鍵因素,因此,在系統(tǒng)性能分析是主要分析標(biāo)簽端的計算、通信及存儲三部分。

  計算:標(biāo)簽無需承擔(dān)高強(qiáng)度的計算,但是應(yīng)能夠完成異或運算、生成隨機(jī)數(shù)、實現(xiàn)輕量的F(x,y)函數(shù)運算。

  通信:在一次完整的標(biāo)簽讀取過程中,標(biāo)簽接收2條消息,發(fā)送1條消息。

  存儲:標(biāo)簽端需要存儲用來完成識別過程的兩個秘密數(shù)據(jù)標(biāo)簽ID和Key。

  1.2.3 可擴(kuò)展性

  協(xié)議運行時,后端的數(shù)據(jù)庫需要進(jìn)行一個線性的查找過程,其所需時間的復(fù)雜度為O(n),顯然這面臨可擴(kuò)展性問題。為了實現(xiàn)可擴(kuò)展性需求,可以將數(shù)據(jù)分布于多個后端數(shù)據(jù)庫,讀寫器認(rèn)證連接后,可以有選擇的連接到其工作數(shù)據(jù)庫。當(dāng)然,數(shù)據(jù)庫要維護(hù)好式ID,Key和ID’,Key’的關(guān)系。

  1.2.4 討論

  在分析認(rèn)證協(xié)議時,常常假設(shè)所使用的密碼算法是“完美無缺”的,忽略其可能存在的缺點,但是對于解決RFID安全問題而進(jìn)行協(xié)議設(shè)計時,不能不考慮所使用的密碼算法的各種特性。

  RFID標(biāo)簽可分為主動式標(biāo)簽(Active Tag)及被動式標(biāo)簽(Passive Tag)兩種。被動式的標(biāo)簽也叫無源標(biāo)簽,它身沒有電池的裝置,所需電流來源于讀寫器的無線電波電磁感應(yīng)產(chǎn)生,因此標(biāo)簽只有在接收到讀寫器發(fā)出的信號才會被動的應(yīng)答讀寫器。這一類型的標(biāo)簽成本相對較低并具有較長的使用壽命,同時比有源標(biāo)簽更小也更輕。主動式的標(biāo)簽也叫有源標(biāo)簽,內(nèi)置有電池,可以主動傳送信號供讀寫器讀取,但體積較大,與無源標(biāo)簽相比成本也會高出很多。

  RFID標(biāo)簽是整個RFID系統(tǒng)中最為“弱”得一個環(huán)節(jié),特別是對于低成本的RFID標(biāo)簽來說沒有足夠的計算能力,存儲能力以及電源供給能力。一般來說,低成本被動標(biāo)簽只有5K-10K邏輯門,并且可用于安全算法的更少。傳統(tǒng)的密碼技術(shù)難以在這些標(biāo)簽上實現(xiàn),例如公鑰密碼ECC(Ellipic- based Public Key Encryption)需要15K邏輯門。傳統(tǒng)的Hash函數(shù)需要超過16K邏輯門,這遠(yuǎn)遠(yuǎn)超出了一般低成本標(biāo)簽的能力。

  因此,針對不同特性的RFID標(biāo)簽,需要對F(x,y)進(jìn)行選擇,使用可以在低成本標(biāo)簽中實現(xiàn)的算法。

  2 結(jié)論

  安全是相對的,它取決于多種因素,在基本不增加系統(tǒng)成本的前提下,將系統(tǒng)的安全級別進(jìn)行提升,意義尤為重要。本文所提出的協(xié)議是針對被動式低成本RFID 標(biāo)簽,通過增加讀寫器數(shù)據(jù)處理操作來提高整體的安全性,同時所使用的函數(shù)可以根據(jù)RFID標(biāo)簽?zāi)芰M(jìn)行選擇,適用性較廣。