射頻識別RFID(Radio Frequency Identification)技術(shù)是支撐物聯(lián)網(wǎng)(The Internet of Things)發(fā)展的重要技術(shù)之一,它是一種利用射頻信號和空間耦合(電感或電磁耦合)傳輸特性實現(xiàn)非接觸、自動識別目標對象并獲取相關(guān)數(shù)據(jù)的技術(shù)。
RFID系統(tǒng)一般由讀寫器(Reader)、天線(Antenna)和標簽(Tag)組成,通常還包括用來記錄標簽更多信息的后端服務器或后端數(shù)據(jù)庫(Backend Database)。讀寫器通過天線發(fā)送射頻信號到電子標簽并接收電子標簽回傳的信號,獲讀取標簽的標識性信息,然后讀寫器將標簽的應答消息發(fā)送給后端數(shù)據(jù)庫進行判斷識別。
正是由于RFID技術(shù)具有無需人工干預、自動、無接觸的傳遞數(shù)據(jù)等特性的識別過程,在諸多應用實現(xiàn)高效、智能化的識別、定位、跟蹤、監(jiān)控和管理,但該技術(shù)在為數(shù)據(jù)采集提供靈活、方便的同時也將通過無線方式傳遞的數(shù)據(jù)信息暴露出來,造成了信息安全方面的一個隱患。隨著RFID技術(shù)應用的迅速推廣,其系統(tǒng)中數(shù)據(jù)安全問題甚至已經(jīng)超過了計算機信息系統(tǒng)的安全邊界,引起了業(yè)界的普遍關(guān)注。
讀寫器一旦發(fā)出讀取請求,在其天線信號覆蓋范圍中的標簽會自動應答,但是這一應答并不會通知其持有者。因讀寫器與標簽之間的無線通信信道是通用的工業(yè)頻段,如果有人攜帶RFID標簽進入該范圍,在通用協(xié)議下,讀寫器可以輕易讀取標簽信息,這時攜帶者的位置隱私就受到了威脅。如果標簽信息被讀寫器惡意篡改,則導致更為嚴重的安全問題,當RFID標簽傳出自身專有信息時,專有信息同樣可能被侵犯。RFID技術(shù)應用的一些潛在用戶抵制RFID技術(shù)應用推廣的原因多在于此。
目前,RFID系統(tǒng)應用存在各式各樣的安全威脅,攻擊手段主要包括:1)通過竊聽等手段獲取相關(guān)信息;2)根據(jù)已有消息進行數(shù)據(jù)統(tǒng)計分析,做出對秘密的判斷;3)構(gòu)造消息(包括重放消息)對入侵系統(tǒng)進行攻擊。
隱私和安已經(jīng)成為制約RFID技術(shù)推廣應用的兩個主要因素,對于這兩個問題,人們可以采取了主動干擾、靜電屏蔽等物理防范措施保證系統(tǒng)的安全與隱私,但是這些措施在提高系統(tǒng)安全性的同時增加了系統(tǒng)成本,降低了標簽使用的靈活性。密碼機制在RFID系統(tǒng)中的引入相對于物理防范而言,由于不需增加成本而更易于用戶接受,因此越來越多的研究人員將計算機信息技術(shù)中的密碼機制引入到RFID的安全協(xié)議中進行研究,并提供應對隱私和安全問題的解決方案。
RFID的技術(shù)特性決定了與傳統(tǒng)認證(例如口令認證)方式不同,標簽的唯一標識信息ID與標簽所附著的物品之間存在一定的對應關(guān)系,識別RFID標簽的背后是對其所附著物的識別,并且:1)RFID識別是被動的;2)RFID標簽應答讀寫器時,標識其ID的應答消息與隱私相關(guān)。因此從信息安全的角度,對于標簽的應答信息,協(xié)議需要有一定的保護手段,保護所傳遞的信息不能夠被截取、篡改和重放;對于標簽的ID信息,同樣需要保護,以防對指定標簽的定位跟蹤等涉及隱私的威脅發(fā)生,以達到機密性、完整性、可用性、真實性和隱私性的要求。
在RFID認證協(xié)議中,普遍借助隨機數(shù)將RFID標簽所發(fā)送的ID信息匿名化,當讀寫器讀取標簽信息時,讀寫器生成一個隨機數(shù)并發(fā)送給標簽,標簽接收到隨機數(shù)后,利用該隨機數(shù)與標簽ID結(jié)合處理,生成一個新的消息代替標簽ID,實現(xiàn)標簽ID的匿名化,之后將該消息回傳給讀寫器作為系統(tǒng)認證的依據(jù)。
基于密碼機制的RFID安全協(xié)議可分為靜態(tài)和動態(tài)ID協(xié)議。在靜態(tài)ID協(xié)議中,標簽的ID始終保持不變;在動態(tài)ID協(xié)議中,每次認證完成后,標簽和后端數(shù)據(jù)庫中的ID信息需要同步更新。相對于靜態(tài)ID協(xié)議,動態(tài)ID協(xié)議更加安全。
文獻對一些經(jīng)典協(xié)議進行了分析,文獻利用隨機數(shù)實現(xiàn)了標簽所發(fā)出ID的動態(tài)化,但是沒有利用隨機數(shù)對標簽ID進行保護,攻擊者較容易獲得標簽ID信息。文獻中用metaID代替標簽ID,但由于metaID是固定不變的,當攻擊者得知metaID與標識物的對應關(guān)系后,仍可對其進行跟蹤和定位。文獻利用 Hash函數(shù)與標簽ID相結(jié)合,雖然具有一定的隱蔽性,但不具備隨機性,給攻擊者提供了重放攻擊的機會。文獻所述安全協(xié)議,在文獻所提出的強攻擊模型 (Strong Attacker)下,存在被擊破的可能。對于文獻,攻擊者根據(jù)異或操作的特點,通過選用特定的隨機數(shù)可對協(xié)議進行分析,進而破解協(xié)議。文獻所給出的 LCSS協(xié)議,包含了秘密的消息但缺乏校驗機制,不能保證消息的完整性,而且入侵者有機會篡改消息,危害更為嚴重。在文獻中,研究人員試圖使攻擊者在無標簽ID時,不能構(gòu)造應答消息,但是若攻擊者能給標簽發(fā)送特定的隨機數(shù),并利用之前搜集的消息數(shù)據(jù)便可能構(gòu)造出關(guān)鍵消息。
以上協(xié)議,都強調(diào)“無需人工干預”這一條件下進行,讀寫器只負責傳遞數(shù)據(jù),不對數(shù)據(jù)進行處理,也不參與識別認證。在不增加標簽制作成本的條件下,通過在讀寫器增加數(shù)據(jù)處理操作來提升RFID系統(tǒng)的安全性,從而保障標簽可以僅可被合法的讀寫器所讀取,下面給出這一新協(xié)議。
1 認證協(xié)議的設(shè)計與分析
1.1 協(xié)議設(shè)計
在介紹本協(xié)議前,將下文所用符號在表1中給出并進行說明。
1. 1.1 基本假設(shè)及系統(tǒng)初始狀態(tài)
RFID讀寫器工作時,需要從一個設(shè)備上獲取其工作密鑰KR,例如一張預先分配給這一讀寫器的智能IC卡,操作者需要使用該卡啟動讀寫器工作。如果讀寫器和后端數(shù)據(jù)庫都具備強大的數(shù)據(jù)處理和存儲能力,采用類似公鑰密碼算法的高強度密碼技術(shù)保障它們之間的通信安全是最佳選擇,但是實際情況并非如此,本協(xié)議僅要求標簽具有一個偽隨機數(shù)發(fā)生器,可以進行XOR運算和一個函數(shù)F(x,y)運算,F(xiàn)(x,y)≠F(y,x)。F(x,y)必須是適合在有限資源的標簽上可以實現(xiàn)的輕計算型函數(shù)。
對于一個標簽,它所持有的秘密為ID和Key,對應的后端數(shù)據(jù)庫信息為{ID’,Key’,IDold’,Keyold’,LRd}。ID,Key和ID’,Key’,為當前認證所使用的數(shù)據(jù),ID old’,Keyold’為上一次認證所使用的數(shù)據(jù),LRd為以隨機數(shù),ID與Key以及ID,Key和ID’,Key’的關(guān)系為:
1.1.2 識別過程
讀寫器與數(shù)據(jù)庫之間同樣需要認證,認證方式可采用成熟的認證方式,同時也需要對操作者所控制的IC進行認證。在讀取標簽之前,讀寫器需要從IC卡中獲取KR。
標簽的識別過程如圖1所示。
1. 2 協(xié)議分析
1.2.1 安全性
隨著計算機處理能力的增強,攻擊者能力也不斷提升,未受保護的通信容易受到如:竊聽攻擊(Eavesdrop Attack),偽造攻擊(Forgery Attack),重放攻擊(Replay Atta ck),哄騙攻擊(Spoofing Attack),扮演攻擊(Imropersonation,Attack),中間人攻擊(Man—in—Middle Attack),不同步攻擊(De-Synchronization Attack),拒絕服務(Den ial of Service)等安全方面的攻擊,以及定位(Locate),跟蹤(Trace),隱私信息(Information Privacy)等隱私方面的攻擊。
在上述攻擊中,一部分是通過對攻擊所致結(jié)果來命名,典型的如不同步攻擊和拒絕服務攻擊;還有一部分是利用認證雙方所傳遞的信息,如重放攻擊、扮演攻擊、中間人攻擊等,它們是利用協(xié)議的漏洞,提供給認證方認為“合法”的數(shù)據(jù)對其進行欺騙。
無論哪種攻擊,其核心為通過采用一定的手段、方式或方法獲取信息、分析信息背后所保護的信息、構(gòu)造出認證所需的數(shù)據(jù)進而破壞協(xié)議執(zhí)行。當攻擊者要攻擊的 RFID系統(tǒng),一般有以下3種途徑,一種是通過竊聽到的消息數(shù)據(jù)計算秘密,另一種在獲取一系列數(shù)據(jù)信息(監(jiān)聽標簽和讀寫器之間的通信,竊取后端數(shù)據(jù)數(shù)據(jù)庫等)的基礎(chǔ)上,構(gòu)造可通過識別的消息,還有一種就是通過諸如旁道攻擊(Side-Channel Attack)等方式從標簽獲取秘密。
為了抵抗攻擊,協(xié)議提供以下特性:
1)消息的新鮮性(Message Freshness):如其他諸多RFID協(xié)議一樣,為了實現(xiàn)RFID認證中對隱私保護的支持,最基本的方法是使得在開放信道中傳遞的消息是隨機的,所設(shè)計的協(xié)議使用了隨機數(shù)來使消息呈現(xiàn)新鮮性,并且Rt,Rd作為秘密處理。
2)機密性(Confidentiality):ID和Key以密文形式進行傳遞,并通過包含Rt,Rd在內(nèi)的隨機秘密進行保護,保障ID和Key的機密性。
3)匿名性(Anonymity):在RFID識別過程中,通過隨機數(shù)對標簽的應答消息進行保護,這樣就保障了標簽的匿名性,并且應答的消息不與任何之前的消息有因果關(guān)系。
4)重放攻擊(Replay attack):在每次認證過程中,都用新的隨機數(shù)對密碼進行保護,即使同一標簽在不同認證過程中的應答消息也是不一樣的,重放上次的認證消息是行不通的。
5)跟蹤(Traceability):RFID標簽持有者攜標簽進入某讀寫器覆蓋范圍時,標簽將自動相應讀寫器的請求,如果直接用如ID信息等固有消息進行相應,則標簽持有者極易被定位跟蹤。在本協(xié)議中,標簽ID變成了秘密,協(xié)議運行時隨機數(shù)保護了應答的消息,因此可以防止跟蹤。
6)不可區(qū)分性(Indistinguishability):如果在某一時刻是多個標簽在應答讀寫器,由于消息的隨機性,攻擊者無法區(qū)分到底是哪個標簽在應答讀寫器。
7)計算秘密(Calculatethe Secret):Rr,M1,M2,M3,M4,M5通過公開的公用信道進行傳遞,對具有強大攻擊能力的攻擊者來說可視作明文。但是攻擊者要求解秘密,必須求解如下形式的方程:
然而,這對攻擊者來說是有一定困難的。
8)構(gòu)造消息(Message Construction):哄騙攻擊,扮演攻擊,偽造攻擊,中間人攻擊都要求攻擊者利用所截獲的消息,或?qū)ο⑦M行組合,或創(chuàng)造新消息,或綜合構(gòu)造出符合驗證的消息,但方程(e)求解的困難性決定攻擊者要構(gòu)造出假消息是困難的。例如攻擊者要構(gòu)造
滿足服務器的驗證。即便攻擊者利用XOR運算的特性,選擇特定的數(shù)0作為Rr,但包含Rr的消息M2中ID,Key均未知,因此構(gòu)造出能通過服務器的檢查
,依然是困難的。同樣在沒有破解標簽的情況構(gòu)造M3,M4,M5也是困難的。
9)拒絕服務(DoS):協(xié)議中,數(shù)據(jù)庫保存了上次運行所需數(shù)據(jù)信息,以防止當同步不成功時,后端數(shù)據(jù)庫不再識別標簽,呈現(xiàn)拒絕服務的狀況。
10)標簽數(shù)據(jù)泄露(Tag Data,Leakage)與服務器扮演攻擊(Impersonate the Sever):依照文獻,服務器扮演攻擊定義為攻擊者破解并竊取了標簽的內(nèi)部狀況,進而可以模仿服務器使標簽更新數(shù)據(jù),而真實的服務器卻沒有更新。這個協(xié)議標簽更新數(shù)據(jù)前要驗證Key=F(ID,LRd)。因此,如果攻擊者僅僅破解內(nèi)部狀態(tài),依然不能構(gòu)造M3,M4,M5消息欺騙標簽。但是,如果攻擊者不但破解了標簽,此外還獲取了Rr,M1,M2,同時阻止M3,M4,M5,發(fā)送給標簽,則攻擊者可以得手,不過這一條件比較苛刻。
11)后端數(shù)據(jù)庫信息泄露風險(Sever Data Leakage):如果后端數(shù)據(jù)庫提供識別服務的數(shù)據(jù)泄露,將給系統(tǒng)帶來巨大的風險,攻擊者可以根據(jù)數(shù)據(jù)克隆標簽,獲取非法利益。為此本協(xié)議通過在讀寫器中增加操作,可以降低風險的發(fā)生。這是因為后端數(shù)據(jù)庫中沒有存儲讀寫器的運行密鑰KR。
1.2.2 性能
總所周知,在RFID系統(tǒng)中相對于標簽而言,端讀寫器和服務器具有更強的計算能力,標簽的信息處理能力影響整個系統(tǒng)性能的關(guān)鍵因素,因此,在系統(tǒng)性能分析是主要分析標簽端的計算、通信及存儲三部分。
計算:標簽無需承擔高強度的計算,但是應能夠完成異或運算、生成隨機數(shù)、實現(xiàn)輕量的F(x,y)函數(shù)運算。
通信:在一次完整的標簽讀取過程中,標簽接收2條消息,發(fā)送1條消息。
存儲:標簽端需要存儲用來完成識別過程的兩個秘密數(shù)據(jù)標簽ID和Key。
1.2.3 可擴展性
協(xié)議運行時,后端的數(shù)據(jù)庫需要進行一個線性的查找過程,其所需時間的復雜度為O(n),顯然這面臨可擴展性問題。為了實現(xiàn)可擴展性需求,可以將數(shù)據(jù)分布于多個后端數(shù)據(jù)庫,讀寫器認證連接后,可以有選擇的連接到其工作數(shù)據(jù)庫。當然,數(shù)據(jù)庫要維護好式ID,Key和ID’,Key’的關(guān)系。
1.2.4 討論
在分析認證協(xié)議時,常常假設(shè)所使用的密碼算法是“完美無缺”的,忽略其可能存在的缺點,但是對于解決RFID安全問題而進行協(xié)議設(shè)計時,不能不考慮所使用的密碼算法的各種特性。
RFID標簽可分為主動式標簽(Active Tag)及被動式標簽(Passive Tag)兩種。被動式的標簽也叫無源標簽,它身沒有電池的裝置,所需電流來源于讀寫器的無線電波電磁感應產(chǎn)生,因此標簽只有在接收到讀寫器發(fā)出的信號才會被動的應答讀寫器。這一類型的標簽成本相對較低并具有較長的使用壽命,同時比有源標簽更小也更輕。主動式的標簽也叫有源標簽,內(nèi)置有電池,可以主動傳送信號供讀寫器讀取,但體積較大,與無源標簽相比成本也會高出很多。
RFID標簽是整個RFID系統(tǒng)中最為“弱”得一個環(huán)節(jié),特別是對于低成本的RFID標簽來說沒有足夠的計算能力,存儲能力以及電源供給能力。一般來說,低成本被動標簽只有5K-10K邏輯門,并且可用于安全算法的更少。傳統(tǒng)的密碼技術(shù)難以在這些標簽上實現(xiàn),例如公鑰密碼ECC(Ellipic- based Public Key Encryption)需要15K邏輯門。傳統(tǒng)的Hash函數(shù)需要超過16K邏輯門,這遠遠超出了一般低成本標簽的能力。
因此,針對不同特性的RFID標簽,需要對F(x,y)進行選擇,使用可以在低成本標簽中實現(xiàn)的算法。
2 結(jié)論
安全是相對的,它取決于多種因素,在基本不增加系統(tǒng)成本的前提下,將系統(tǒng)的安全級別進行提升,意義尤為重要。本文所提出的協(xié)議是針對被動式低成本RFID 標簽,通過增加讀寫器數(shù)據(jù)處理操作來提高整體的安全性,同時所使用的函數(shù)可以根據(jù)RFID標簽能力進行選擇,適用性較廣。
評論