?

基于商用密碼的射頻標簽安全管理

2022-10-14 02:01王森
網絡安全技術與應用 2022年9期
關鍵詞:標識符讀寫器密鑰

◆王森

(國家信息中心信息與網絡安全部 北京 100045)

射頻標簽(RFID)在物聯網、智能制造、車聯網、穿戴設備中廣泛應用,其安全性也被越來越重視[1]。射頻標簽通過接收讀寫器的電磁場調制信號并返回信號,實現信息交互,用于人員身份識別、物品物體識別等場景。由于射頻標簽不是固定設備,因此存在被惡意攻擊人員獲取的風險,因此面臨信息克隆、讀寫器讀取數據通信信息被截獲、逆向工程破解射頻標簽存儲數據等安全威脅[2]。

射頻標簽面臨偽造、竊聽、非法訪問、數據篡改等惡意攻擊。偽造是指相對于合法的讀寫器和射頻標簽,存在仿冒的射頻標簽欺騙讀寫器,或仿冒的讀寫器欺騙射頻標簽。竊聽是指惡意的用戶竊聽射頻標簽和讀寫器之間的數據通信,用以獲取數據或構造重放攻擊。非法訪問是指非當前應用的讀寫器,訪問了當前應用的數據。數據篡改是指讀寫器對無權限的射頻標簽數據進行了修改操作。針對以上安全問題,在射頻標簽應用中應采用身份鑒別、訪問控制、數據機密性和完整性保護等。

本文深入研究了基于密碼技術實現射頻標簽應用的保護,包括基于對稱鑰分散算法的身份鑒別、基于分組對稱加密的數據加密保護、基于摘要算法的完整性保護等。在選擇密碼算法時,使用了我國自主知識產權的商用密碼中SM4、SM1、SM7 等對稱加密算法,以及SM3哈希算法。本文技術方案符合國家標準中有關密碼算法和密鑰管理的要求[3-4]。

1 射頻標簽系統中密碼算法需求

在使用密碼進行,包括密碼算法、密碼協議和密鑰管理[5][6]。選擇密碼算法方案方面,可選對稱算法和非對稱算法。對稱加密算法需要的計算量較小,數據加密基于字節或比特的置換、移位等混淆變換,而非對稱密鑰算法的運算是在較大數域中進行對數求解等操作[7],對比來看對稱密鑰算法那更容易在硬件中實現,因此更適合射頻標簽。在身份鑒別過程中,對稱密碼算法需給鑒別者和被鑒別者分發相同的對稱密鑰,基于密鑰分散的方式可以實現高效的對稱密鑰分發。

在射頻標簽系統中,讀寫器端只需要保留根密鑰,不需要保存分散結果密鑰。鑒別過程中通過密鑰分散算法,讀寫器基于射頻標簽UID,使用相應的應用根密鑰進行加密,計算結果即是與射頻標簽相同的密鑰。

基于對稱加密算法,射頻標簽實現了身份鑒別、訪問控制鑒別等安全管理,以及數據存儲機密性保護和通信機密性保護。

2 射頻標簽中的身份鑒別技術

射頻標簽身份鑒別可以采用唯一標識符和密鑰分散兩種方式,唯一標識符基于摘要算法,密鑰分散基于對稱密碼算法。

2.1 基于唯一標識符的身份鑒別

唯一標識符(UID,Unique Indentifier)是射頻標簽在生產時,制造廠商寫入到射頻標簽相應存儲空間,包含廠商信息、序列號等信息,并由廠商按照規則確保電子標簽的唯一性。只有生產廠商具有標識符數據區寫入權限,射頻標簽出廠后唯一標識符不能修改,只能讀取,可以看做生產廠商將UID 固化到射頻標簽中。

基于UID 特性,發放系統寫入用于證明使用者身份的數字簽名,或使用者身份鑒別的唯一標識符相關信息。以用戶Alice 為例,發卡時將用戶名Alice 和UID 進行綁定,通過國密雜湊算法SM3 計算文本消息摘要:

發卡系統使用國密簽名算法SM2[8]計算H1的數字簽名e1,并將e1寫入射頻標簽。在身份鑒別時,為了驗證Alice 和UID 的合法性,電子標簽需要向讀寫器發送電子簽名e1,讀寫器根據Alice 和UID 計算哈希值H1`,并用簽名公鑰對數字簽名e1進行解密獲得H1``。

對比H1``和H1`,如果結果為相等,則證明射頻識別卡片確實是經發卡系統頒發給Alice 的。相反,匿名用戶沒有經過讀寫器進行簽發,驗證簽名的過程會失敗。唯一標識符進行身份鑒別過程如圖1所示。

圖1 基于唯一標識符的射頻標簽識別

2.2 基于密鑰分散的身份鑒別

密鑰分散實現了對稱密鑰的有效分發,采用對稱加密算法實現身份鑒別。對稱加密算能夠在計算、存儲資源有限條件下運行,相對于公鑰算法,對稱加密算法更適用于射頻標簽系統。

在初始化階段,由密鑰管理中心為應用APP 生成對應的應用根密鑰APPKey,并將APPKey 采用“密鑰注入”的方式,存儲到讀寫器安全密碼模塊中。安全密碼模塊保證APPKey 不會被明文導出,在密碼模塊內部參與加解密運算。

另一方面采用SM4 對稱加密算法計算分散密鑰idKey,其中加密密鑰為APPKey,明文為Alice|UID。

標簽發行系統將分散密鑰idKey 通過“密鑰注入”方式安全寫入射頻標簽中,密鑰分發過程如圖2 所示。

圖2 基于密鑰分散的身份密鑰分發示意圖

由于每個射頻標簽具有唯一的UID,為此每個射頻標簽的idKey不同,并且只有APPKey 才能制作idKey,因此其他射頻標簽或攻擊者無法偽造idKey。因此,基于以上條件,保證idKey 是可用于身份鑒別的秘密信息。

讀寫器對射頻標簽的身份鑒別可采用挑戰響應式。由讀寫器向射頻標簽發起身份鑒別過程,首先向射頻標簽發送一個用于挑戰的隨機數rand,射頻標簽用密鑰idKey 對rand 進行加密,生成CRand。讀寫器用密鑰根據射頻標簽相關數據,按照分散密鑰生成算法計算idKey,解密CRand 得到rand`,比較rand 和rand`,若相等則證明射頻標簽的身份。

在身份鑒別過程,惡意的攻擊者針對唯一標識符可以進行截獲,并進行重放攻擊,實現惡意仿冒。分散密鑰方式在身份鑒別的過程中使用隨機數挑戰,提高了抗重放攻擊的能力。因此,基于唯一標識符身份的身份鑒別只適用于安全級別較低的場合,例如普通門禁。在高安全級別應用中,應支持讀寫器對電子標簽的挑戰響應鑒別[9]。

3 電子標簽的訪問控制和機密性完整性保護

3.1 數據的訪問控制

在射頻標簽應用中,應對密鑰區和數據區的讀寫進行訪問控制,可以采用密鑰鑒別的方式實現。訪問控制是一種安全措施,原理是基于安全策略,實現對主體訪問客體操作合法性的判斷,并對非法操作予以阻攔。

以存儲空間為512 字節為例,被劃分為32 個數據塊,每塊16個字節,如圖3 所示。存儲塊用2 位地址編碼。其中0x00 為制造商地址塊,0x01~0x03 為權限控制區,0x02~0x07 為密鑰區,0x08~0x1f為數據區。由于SM4 采用128 位分組,密鑰和密文都是16 字節,因此密鑰區和數據存儲區的讀寫粒度為1 個區塊。

圖3 射頻芯片存儲空間及權限控制區設置示例圖

權限控制區的長度為48 字節(3*16 字節),每2 個字節標識一個區塊的操作權限,共有24 個區塊,對應存儲塊0~23 的操作權限。權限控制區的2 字節,代表密鑰選擇,b4、b3 決定對應數據塊讀密鑰,b2、b1 決定對應數據塊寫密鑰,b0 是密鑰區選擇位。

圖3中,以權限控制區第一個字節為例,代表區塊0的讀寫權限,讀寫鑒權密鑰為KEY2。

key0 為主密鑰,在電子標簽發行時根據APPKey 分散生成的,即idKey 為key0。存儲區域操作權限key 的注入必須經過key0 的鑒別過程。

通過讀寫key 的鑒別過程,執行讀寫操作,實現基于對稱密鑰的訪問控制。

3.2 數據機密性和完整性保護

射頻標簽數據區域保存應用有關信息,例如飯卡存儲金額、電子門禁卡存儲用戶信息、電子門票存儲票據信息等??紤]射頻標簽的計算能力和存儲空間限制,為滿足安全性,數據應使用加密技術進行存儲。加密算法可以選擇分組加密算法SM4,相應的密鑰由射頻標簽產生生成隨機數。隨機數的生產應符合相關國家密碼標準,保證隨機數的可靠性。

射頻標簽將生產的對稱加密密鑰必須存儲在密鑰存儲區,按照密鑰管理要求不能以明文方式讀取。

存儲數據時,射頻標簽調用加密密鑰對數據進行加密。當與讀寫器進行數據交互時,電子標簽讀取密文,解密成明文后發送給讀寫器。

為防止惡意攻擊者采用篡改密文方式進行攻擊,數據應采用計算摘要的方式進行完整性保護。存儲數據時計算明文的摘要hash,應聯接明文和摘要,共同加密后保存。讀取數據時,解密數據,首先驗證計算結果前半部分明文hash 和后半部分是否相等,當相等時證明數據沒有被篡改。

此外,通信時應采用加密和完整性技術進行防護。通信加密采用密鑰交換協議,以及分散的通信密鑰。在標簽發行時,使用通信應用根和標簽UID 分散生成通信密鑰,基于挑戰響應算法進行身份認證,挑戰過程中的隨機數參與生產通信加密密鑰。為保證通信數據不可篡改,通信協議應采用哈希算法進行完整性保護。

4 密鑰存儲

在整個射頻標簽系統中,密鑰通過分層模式進行管理,最頂層密鑰為主根密鑰,通過主根密鑰生成身份鑒別應用根、訪問控制應用根等密鑰。密鑰的安全存儲及全生命周期管理應符合密碼應用安全性相關要求。密鑰分發系統、讀寫器、和射頻標簽中,密鑰通過安全密碼模塊進行管理。主根密鑰采用Shamir 秘密分割門限算法[10]進行保護。

在該算法中,為了構建(k,n)門限方案,即密鑰成為n 個分量,其中k 個分量可以還原密鑰。要保護的密鑰S,為了構造多項式,隨機選擇k-1個正整數a1,a2…ak-1,令a0=S,由此構建多項式,

設i=1…n,分別計算f(i),并分配給n個持有人(i,f(i)),此時多項式中a0,a1,a2…ak-1為未知參數,因此無法通過k-1計算得到a0。

當還原密鑰時,k個密鑰分量的保存者提供(i,f(i)),并代入到多項式中,此時可以構建a0,a1,a2…ak-1為變量的k個k元方程組。通過解方程租的方式可以得到a0,a1,a2…ak-1。其中a0即為根密鑰S。

通過門限分割方式,實現了根密鑰有效防護。

5 結束語

射頻標簽在電子門禁、電子憑證等方面廣泛應用。在很多場合,采用電子門禁進行重要部門部位的管理是安全防護的重要措施。與業務應用系統的安全防護不同,射頻標簽應用通常不基于公鑰算法和PKI 體系[11],同時為了有效進行身份鑒別,通?;谖ㄒ粯俗R符分散密鑰和對稱密碼鑒別的方式。該方案解決了對稱密鑰管理中密鑰分發的難題,讀寫器不需要保存每個射頻標簽的密鑰,只需要保存相應根密鑰。身份鑒別時,基于用戶的標識進行加密計算,加密的結果作為標簽身份密鑰。由于根密鑰是秘密的,即使生成算法公開,用戶唯一標識也公開,生成的用戶分散密鑰也是秘密的。除了對稱加密技術產生身份標識的密鑰,公鑰算法也可以用于生成身份標識密鑰,密鑰算法SM9就具有這種特性[12],未來將會出現使用SM9 算法的射頻標簽,將會在車聯網、穿戴設備、工業互聯網、智能制造等應用中發揮重大作用。

猜你喜歡
標識符讀寫器密鑰
基于底層虛擬機的標識符混淆方法
幻中邂逅之金色密鑰
密碼系統中密鑰的狀態與保護*
基于區塊鏈的持久標識符系統①
TPM 2.0密鑰遷移協議研究
一種對稱密鑰的密鑰管理方法及系統
科研人員唯一標識符的理論研究現狀剖析
數字圖書館推廣工程唯一標識符體系構建研究*
基于視頻抓拍讀寫器的高速公路防倒卡研究
基于隨機時隙的RFID讀寫器防沖突方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合