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