張呈鈺,王讓定,姚靈,傅松寅,左富強(qiáng)
(1. 寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江 寧波 315211;2. 寧波水表股份有限公司,浙江 寧波 315032)
一種適用于NFC移動(dòng)設(shè)備的雙向認(rèn)證安全方案
張呈鈺1,王讓定1,姚靈2,傅松寅1,左富強(qiáng)2
(1. 寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江 寧波 315211;2. 寧波水表股份有限公司,浙江 寧波 315032)
近場(chǎng)無線通信(NFC)是一種已經(jīng)被廣泛應(yīng)用的短距無線通信技術(shù)。其中最常見的是將NFC技術(shù)應(yīng)用于移動(dòng)支付和門禁訪問控制等應(yīng)用。從技術(shù)上講,這些應(yīng)用利用NFC模擬卡模式將NFC設(shè)備模擬成銀行卡或門禁卡,然后等待外部閱讀器驗(yàn)證。在這類應(yīng)用場(chǎng)景下,選取合適的安全認(rèn)證方案是非常重要的。首先,介紹了現(xiàn)有的NFC認(rèn)證系統(tǒng)和安全方案并分析了系統(tǒng)安全需求和潛在的安全風(fēng)險(xiǎn)。然后,采用Hash、AES和口令Key動(dòng)態(tài)更新機(jī)制,提出了一種適用于NFC移動(dòng)設(shè)備的雙向認(rèn)證安全方案,并設(shè)計(jì)了自同步機(jī)制。最后,利用GNY邏輯以形式化證明的形式證明了方案的安全性,分析表明該方案能解決偽造、重放攻擊、竊聽、篡改、異步攻擊等安全問題。
近場(chǎng)無線通信;雙向認(rèn)證;安全;移動(dòng)設(shè)備
近場(chǎng)無線通信(near field communication,NFC)技術(shù)是一種短距高頻的無線電技術(shù),具有距離近、帶寬高、能耗低、安全性高等特點(diǎn)。從本質(zhì)上說NFC是在無線射頻識(shí)別(radio frequency identification,RFID)的基礎(chǔ)上發(fā)展而來,是一種RFID的演進(jìn)技術(shù)。隨著智能設(shè)備的不斷升級(jí)換代,目前很多移動(dòng)設(shè)備都具備NFC功能。移動(dòng)設(shè)備和NFC技術(shù)的結(jié)合促使NFC技術(shù)從學(xué)術(shù)向應(yīng)用發(fā)展,促進(jìn)了許多應(yīng)用的產(chǎn)生,如服務(wù)發(fā)現(xiàn)、移動(dòng)支付、票務(wù)、門禁訪問控制等。移動(dòng)設(shè)備可以利用NFC模擬卡技術(shù)取代傳統(tǒng)的RFID標(biāo)簽,在設(shè)備內(nèi)部生成銀行卡、門禁卡、電子票等電子標(biāo)簽,這樣可以免去用戶同時(shí)攜帶多個(gè)標(biāo)簽的麻煩,用戶只需一部移動(dòng)設(shè)備,如手機(jī),就可以達(dá)到支付、驗(yàn)證、開門的目的。傳統(tǒng) RFID標(biāo)簽由于硬件結(jié)構(gòu)、計(jì)算能力、存儲(chǔ)空間等物理限制和成本制約,大多采用基于邏輯運(yùn)算的輕量級(jí)安全認(rèn)證方案和基于Hash函數(shù)的安全認(rèn)證協(xié)議,很少采用基于對(duì)稱加密算法或公鑰加密算法的重量級(jí)安全認(rèn)證方案。而移動(dòng)設(shè)備集合了計(jì)算、控制、顯示、聯(lián)網(wǎng)等功能,不僅具備強(qiáng)大的計(jì)算能力和通信能力,還簡化了智能硬件結(jié)構(gòu)的設(shè)計(jì)與實(shí)現(xiàn),可以輕易實(shí)現(xiàn)傳統(tǒng) RFID標(biāo)簽不能實(shí)現(xiàn)的加密算法,進(jìn)而提高系統(tǒng)的安全性能和抗攻擊能力。
2.1 傳統(tǒng)的RFID認(rèn)證系統(tǒng)
傳統(tǒng)RFID認(rèn)證系統(tǒng)一般由3個(gè)部分組成:閱讀器、標(biāo)簽和后端數(shù)據(jù)庫,如圖1所示。閱讀器包括應(yīng)用處理單元、RF模塊、控制邏輯單元和天線,標(biāo)簽包括一定計(jì)算能力和存儲(chǔ)能力的芯片和天線。由于受到計(jì)算、存儲(chǔ)以及成本的限制,一般標(biāo)簽僅采取簡單的安全手段。而與標(biāo)簽相比,讀寫器擁有更好的存儲(chǔ)能力和處理計(jì)算能力,通??商峁┹^好的安全解決方案[1]。后端數(shù)據(jù)庫主要用于存儲(chǔ)和管理 RFID標(biāo)簽及其相關(guān)信息,可以部署在閱讀器中,也可以作為 RFID應(yīng)用系統(tǒng)的服務(wù)器獨(dú)立開來。由于閱讀器和后端數(shù)據(jù)庫均具有強(qiáng)大的計(jì)算能力和存儲(chǔ)能力,可執(zhí)行高級(jí)加密算法,因此二者之間的通信通常認(rèn)為是安全的,可以看作是一個(gè)整體。而標(biāo)簽和閱讀器間由于無線傳輸、資源受限等因素,使得二者之間的信息傳輸容易受到外部干擾和惡意攻擊,存在嚴(yán)重的安全隱患。因此這里主要討論標(biāo)簽和閱讀器間的安全認(rèn)證方案。
該系統(tǒng)的安全認(rèn)證方案為三輪認(rèn)證,如圖 2所示。在閱讀器發(fā)起訪問后,標(biāo)簽生成隨機(jī)數(shù) B發(fā)送至閱讀器;閱讀器利用簡單的邏輯運(yùn)算根據(jù)B計(jì)算出一個(gè)計(jì)算值,再生成隨機(jī)數(shù)A一起發(fā)給標(biāo)簽;標(biāo)簽收到后校驗(yàn)B的計(jì)算值,驗(yàn)證通過后利用同樣的計(jì)算方法計(jì)算出A的計(jì)算值和自身ID一起返回至閱讀器,閱讀器驗(yàn)證返回值,通過則完成一次認(rèn)證,反之拒絕響應(yīng)。目前許多 RFID系統(tǒng)認(rèn)證協(xié)議都是在三輪認(rèn)證模型的基礎(chǔ)上設(shè)計(jì)的,研究者對(duì)認(rèn)證消息的構(gòu)造方式、加密函數(shù)的選擇以及認(rèn)證次序的設(shè)計(jì)等做了不同的研究,由此提高認(rèn)證方案的安全性和完整性,并出現(xiàn)了許多不同類型的認(rèn)證協(xié)議。
圖1 傳統(tǒng)RFID認(rèn)證系統(tǒng)
圖2 傳統(tǒng)RFID認(rèn)證方案
2.2 其他相關(guān)工作
一個(gè)比較完善的認(rèn)證系統(tǒng)安全解決方案需要具備機(jī)密性、完整性、可用性、真實(shí)性和隱私性等安全需求[2]。而傳統(tǒng)RFID認(rèn)證方案的安全問題根源在于標(biāo)簽驗(yàn)證信息的唯一性和數(shù)據(jù)的易獲得性。標(biāo)簽和閱讀器之間的信息交互,是以明文或經(jīng)簡單加密的形式傳輸?shù)?,極易被截取。而對(duì)于系統(tǒng)商來說,密碼及加密算法都是透明的,因?yàn)闃?biāo)簽缺乏合理的反認(rèn)證機(jī)制,無法認(rèn)證閱讀器的合法性。進(jìn)而導(dǎo)致系統(tǒng)非常脆弱,容易受到多種安全攻擊,如篡改標(biāo)簽、欺騙攻擊、竊聽攻擊或異步攻擊等。因此,許多研究學(xué)者基于密碼技術(shù)提出了認(rèn)證系統(tǒng)的安全協(xié)議和認(rèn)證方案。典型的加強(qiáng)安全隱私保護(hù)的訪問控制方法主要是基于單向 Hash函數(shù)實(shí)現(xiàn)的,比如 Hash鎖、隨機(jī) Hash鎖和Hash鏈。也有很多論文分析了這3種方法的優(yōu)缺點(diǎn),如參考文獻(xiàn)[3-5]均提到Hash鎖方法,由于 ID是靜態(tài)的且閱讀器和標(biāo)簽間傳輸?shù)臄?shù)據(jù)未經(jīng)加密,因此存在追蹤攻擊隱私問題,竊聽者可以輕易地獲得標(biāo)簽信息;隨機(jī)Hash鎖方法和Hash鏈方法必須窮舉所有記錄空間,計(jì)算開銷大,系統(tǒng)時(shí)延長,不適合標(biāo)簽數(shù)目較多的情況。
另外,偽隨機(jī)序列也被應(yīng)用到許多安全協(xié)議中。如參考文獻(xiàn)[6]只使用按位異或和幾個(gè)特殊的偽隨機(jī)數(shù)構(gòu)造器設(shè)計(jì)了超輕量級(jí)的安全認(rèn)證協(xié)議。參考文獻(xiàn)[7]采用部分ID、CRC校驗(yàn)以及ID動(dòng)態(tài)更新的方法,在認(rèn)證過程中隨機(jī)截取不同長度的兩個(gè)子ID用于認(rèn)證,然而這類方法沒有解決偽造、羅列攻擊等問題。而參考文獻(xiàn)[8,9]采用對(duì)稱加密技術(shù)保證傳輸信息無法被攻擊者破解,但是由于參考文獻(xiàn)[8]加密內(nèi)容依然固定,輸出加密值也依然固定,攻擊者可以通過固定加密值跟蹤用戶的物理位置。參考文獻(xiàn)[9]每次驗(yàn)證需要為每一條記錄計(jì)算一次會(huì)話密鑰。參考文獻(xiàn)[10]針對(duì)NFC應(yīng)用程序提出了一個(gè)使用假名方式的保護(hù)隱私安全協(xié)議,并分析了該協(xié)議能夠承受各種類型的攻擊,而參考文獻(xiàn)[11]證明了該方案不能抵擋偽造攻擊。
綜上所述,這些方法都或多或少地存在安全性隱患以及需要窮舉數(shù)據(jù)庫所有記錄,從而導(dǎo)致驗(yàn)證效率低的問題。
3.1 安全性方案設(shè)計(jì)原則
認(rèn)證協(xié)議設(shè)計(jì)需要符合以下幾個(gè)具體原則[12]。不能未加保護(hù)傳輸敏感參數(shù)。如果敏感參數(shù)未加任何保護(hù)就傳輸,會(huì)泄露標(biāo)簽用戶的隱私,攻擊者也很容易追蹤設(shè)備或發(fā)動(dòng)仿冒攻擊。
3.2 安全認(rèn)證方案設(shè)計(jì)
為便于描述,這里以具備NFC功能的手機(jī)為例作為認(rèn)證系統(tǒng)中的移動(dòng)設(shè)備,由手機(jī)生成電子標(biāo)簽替代傳統(tǒng)的 RFID標(biāo)簽。由于手機(jī)具有較強(qiáng)的計(jì)算能力和計(jì)算速度,普通標(biāo)簽無法完成的重量級(jí)加解密算法在手機(jī)端可以輕易實(shí)現(xiàn)。
3.2.1 設(shè)計(jì)思路
基于詢問應(yīng)答機(jī)制,充分利用閱讀器的計(jì)算能力,設(shè)計(jì)了一種雙向認(rèn)證的安全協(xié)議,閱讀器對(duì)手機(jī)的認(rèn)證分兩步完成,而手機(jī)對(duì)閱讀器的認(rèn)證僅需一步。加入口令Key值自動(dòng)更新機(jī)制,使得保證每次驗(yàn)證信息變化以防止惡意追蹤、重放或偽造驗(yàn)證信息。因?yàn)橛脩魯?shù)據(jù)存儲(chǔ)位置與ID相關(guān),為了加快用戶比對(duì)速度固定ID值,閱讀器驗(yàn)證手機(jī)時(shí)需要ID信息,所以采用Hash和AES加密方式將ID等驗(yàn)證信息加密后傳輸,以防竊聽攻擊。雙方均認(rèn)證用過后,閱讀器最后更新記錄的Key值和H值,從而防止異步攻擊。
一種適用于NFC移動(dòng)設(shè)備的雙向認(rèn)證安全方案如圖3所示,表1列出了部分運(yùn)算標(biāo)識(shí)的含義。MK是由閱讀器生成的128位用于AES加密的密鑰,每個(gè)閱讀器的MK值不能重復(fù),初始階段電子標(biāo)簽注冊(cè)時(shí)閱讀器寫入標(biāo)簽內(nèi)。閱讀器端數(shù)據(jù)庫中每條記錄除用戶信息外保存{H,Key,ID}字段信息,手機(jī)內(nèi)電子標(biāo)簽保存{ID,Key}字段。
表1 運(yùn)算標(biāo)識(shí)說明
圖3 一種適用于NFC移動(dòng)設(shè)備的雙向認(rèn)證安全方案
3.2.2 初始階段
(1)閱讀器或管理端生成128位密鑰MK用于在安全認(rèn)證和數(shù)據(jù)交換過程中的加解密算法。
(2)用戶注冊(cè)時(shí),閱讀器或管理端生成唯一的用戶設(shè)備標(biāo)識(shí)ID和初始Key值,連同密鑰MK一起寫入手機(jī)內(nèi),根據(jù)ID計(jì)算得到該用戶數(shù)據(jù)在數(shù)據(jù)庫內(nèi)的存儲(chǔ)位置,形成ID和所屬用戶塊號(hào)的映射關(guān)系。
(3)閱讀器或管理端計(jì)算初始 H 值,H=Hash(ID⊕Key)。
3.2.3 認(rèn)證過程
(1)閱讀器檢測(cè)到手機(jī)后生成隨機(jī)數(shù)r,并將其發(fā)送至手機(jī)。
(2)手機(jī)計(jì)算H'和K值。
(3)閱讀器得到K值后使用MK進(jìn)行AES解密,得到手機(jī)發(fā)送過來的ID和H'。根據(jù)ID計(jì)算得到所屬用戶塊號(hào),然后按照?qǐng)D4所示的閱讀器端用戶比對(duì)流程進(jìn)行用戶比對(duì),比對(duì)結(jié)果如下。
用戶比對(duì)通過后,閱讀器計(jì)算 H1=Hash (r||ID||Key)。連接r、ID和Key后,經(jīng)過Hash運(yùn)算后得到H1,發(fā)送H1到手機(jī)端。
(4)手機(jī)自行計(jì)算 H1'=Hash(r||ID||Key),驗(yàn)證H1'是否等于接收到的H1,相等則手機(jī)通過對(duì)閱讀器的驗(yàn)證,反之則拒絕后續(xù)的響應(yīng)。驗(yàn)證通過后,手機(jī)端執(zhí)行以下操作。
圖4 閱讀器端用戶比對(duì)流程
假設(shè)單向函數(shù) fKey:{0,1}t→{0,1}n,其中 n為Key的位數(shù),t為迭代次數(shù),則有:
所以偽隨機(jī)函數(shù) Fn={fKey}|Key|=n,其中,單向函數(shù)的性質(zhì)和生成因子的長度決定了PRNG的可實(shí)現(xiàn)性和安全性[14]。
(5)閱讀器接收到H2后,執(zhí)行以下操作。
雖然理論上Hash具有較強(qiáng)的抗沖突性,很難找出任意兩條消息x、y,使Hash(x)=Hash(y)。但是實(shí)際上仍有一定的幾率出現(xiàn) x、y不相等,但Hash值相等的情況,為了以防萬一并避免重放或偽造認(rèn)證標(biāo)記的可能,確保系統(tǒng)的安全性和頑健性,所以建議采用如圖4所示的比對(duì)流程。即在用戶所屬用戶塊內(nèi)依次對(duì)比數(shù)據(jù)庫中的H字段,有且僅有一條匹配時(shí),本環(huán)節(jié)認(rèn)證通過;當(dāng)沒有匹配記錄,判定認(rèn)證失敗;而如果有多條記錄匹配時(shí),重新發(fā)起認(rèn)證。
結(jié)合第2節(jié)分析的認(rèn)證系統(tǒng)的安全需求,將詳細(xì)介紹針對(duì)適用于NFC移動(dòng)設(shè)備的認(rèn)證系統(tǒng)設(shè)計(jì)的安全認(rèn)證方案。采用經(jīng)典的形式化方法GNY邏輯對(duì)設(shè)計(jì)的認(rèn)證方案進(jìn)行詳細(xì)的邏輯化分析和證明,并對(duì)其安全性能進(jìn)行了分析。
4.1 形式化分析和證明
因?yàn)榘踩珔f(xié)議的經(jīng)典分析方法 GNY邏輯的使用范圍更加廣泛,減少了一些假設(shè),能夠被用來分析一些使用單向函數(shù)的加密協(xié)議。所以在此使用 GNY邏輯對(duì)上述安全認(rèn)證方案進(jìn)行形式化分析。表2列出了證明中需要用到的GNY邏輯符號(hào)含義及基本語法。
表2 GNY邏輯符號(hào)含義及基本語法
GNY邏輯推理規(guī)則具體可參考文獻(xiàn)[15],在此僅在圖 5中列出以下證明過程中主要使用的規(guī)則。
圖5 GNY邏輯推理
(1)形式化模型
首先,將所設(shè)計(jì)的認(rèn)證方案中每一步的交換信息列于下方,R表示閱讀器,T表示手機(jī)(電子標(biāo)簽)。
Msg1 R→T:r
Msg2 T→R:{ID||H(ID⊕Key)||r}MK
Msg3 R→T:H(ID||r||Key)
Msg4 T→R:H(ID||r||Keynew)
為便于使用GNY邏輯分析,將上述交換信息轉(zhuǎn)換成形式化模型。
Msg1 T?*r??R|≡#r
Msg2 R?*{ID||H(ID⊕Key)||r}MK??T|≡R?MK
Msg3 T?*H(ID||r||Key)??R|≡R ,Key rT, R|≡T?(H())
Msg4 R?*H(ID||r||Keynew)??TKeyR,T|≡R?(H())
(2)初始化假設(shè)和證明目標(biāo)
初始化假設(shè)A1、A2是閱讀器R擁有,A6~A8是手機(jī)(電子標(biāo)簽)T擁有,A3、A4是R對(duì)擁有信息新鮮性相信,A7是T對(duì)擁有信息新鮮性相信,A5和A9是T與R彼此相信共享密鑰MK、Key,R可以相信r是T與R的秘密信息,具體假設(shè)如圖6所示。
圖6 初始化假設(shè)
本方案的證明目標(biāo)為交互雙方對(duì)交互信息的新鮮性的相信,主要有3個(gè),分別為:
(3)證明過程
① 證明目標(biāo) G1: R|≡T|~#({ID||H(ID⊕Key)|| r}MK)
因?yàn)镸sg2和A5已知,又根據(jù)擁有規(guī)則假設(shè)A1和P3可知R?MK,R?ID,R?Key。所以根據(jù)消息解析規(guī)則I1可知,要證G1即證:
因?yàn)?A2: R?H(ID⊕Key),根據(jù)可識(shí)別規(guī)則R6可得:
又根據(jù)式(7)和R5可得:
再根據(jù)式(8)和 R1可得 R|≡φ(ID,H(ID⊕Key),r),即目標(biāo)G1.1實(shí)現(xiàn)。
閱讀器R接收到T發(fā)送的Msg2,根據(jù)T1可知R?{ID||H(ID⊕Key)||r}MK,因?yàn)镽?MK,所以R得到ID||H(ID⊕Key)||r,R只需要驗(yàn)證#(H(ID⊕Key)),驗(yàn)證通過則目標(biāo)G1.2實(shí)現(xiàn),否則結(jié)束驗(yàn)證。因?yàn)榧僭O(shè)A3、A4及F1,可得:
再根據(jù)式(9)和F10可得:
再由式(10)和F1可得R|≡#(ID,H(ID⊕Key),r, MK),即目標(biāo)G1.2實(shí)現(xiàn)。
至此,目標(biāo)G1證明完畢。
② 證明目標(biāo)G2: T|≡R|~#(H(ID||r||Key))
首先,因?yàn)槌跏蓟僭O(shè)A7: T|≡ #(Key)和F1可知:
在 Msg1中,T?*r,即 T?r,結(jié)合假設(shè) A6和規(guī)則P2可知:
其次,已知式(11)、式(12),根據(jù)F10可知:
最后,根據(jù)Msg3、A9、式(12)、式(13)和I3可以得到:
由新鮮性的定義可得目標(biāo) G2: T|≡R|~ #(H(ID||r||Key))。
③ 證明目標(biāo)G3: R|≡T|~#(H(ID||r||Keynew)) R在收到Msg4后,會(huì)生成新的Key,即:
計(jì)算(ID||r||Keynew)的Hash值,再與接收到的值比對(duì),一致則驗(yàn)證通過更新Key值和H值,負(fù)責(zé)驗(yàn)證失敗,數(shù)據(jù)不做更新。所以 G3與證明G2類似,因?yàn)槌跏蓟僭O(shè)A4: R|≡#(Keynew)和F1可知:
根據(jù)式(15)和假設(shè)A1可得:
其次,已知式(16)、式(17),根據(jù)F10可知:
最后,根據(jù)Msg4、A5、式(17)、式(18)和I3可以得到R|≡T|~(H(ID,r,Keynew)),由新鮮性的定義可得目標(biāo)G3:R|≡T|~#(H(ID||r||Keynew))。
4.2 安全性分析
在NFC認(rèn)證系統(tǒng)應(yīng)用中,攻擊者可以在任意時(shí)間對(duì)驗(yàn)證信息進(jìn)行竊聽、偽造、篡改、重放、阻塞等操作。下面針對(duì)這些常見的攻擊,分析設(shè)計(jì)的認(rèn)證方案的安全性。
(1)偽造攻擊
攻擊者偽裝成合法的手機(jī)(電子標(biāo)簽)試圖通過驗(yàn)證時(shí),閱讀器檢測(cè)到附件的設(shè)備信息,發(fā)出訪問命令和隨機(jī)數(shù) r,攻擊者必須同時(shí)知道加密密鑰MK、設(shè)備ID和本輪驗(yàn)證Key值,三者缺一不可。由于這些值均經(jīng)過加密后傳輸,攻擊者很難計(jì)算得到正確的驗(yàn)證信息K,閱讀器因此會(huì)拒絕響應(yīng)。
(2)重放攻擊
在一輪合法的驗(yàn)證過程中,攻擊者記錄下了手機(jī)(電子標(biāo)簽)的響應(yīng)數(shù)據(jù),試圖在下次認(rèn)證中再次發(fā)送記錄的響應(yīng)數(shù)據(jù)給閱讀器,就會(huì)發(fā)生重放攻擊。在本安全認(rèn)證方案中,每輪驗(yàn)證都會(huì)產(chǎn)生新的隨機(jī)值r和新的Key值,如果重放上一次的記錄閱讀器會(huì)識(shí)別出r值不同,由于Key的變化也找不到匹配的記錄。因此本方案能保證對(duì)重放攻擊具有安全性。
(3)竊聽攻擊
攻擊者試圖通過竊聽驗(yàn)證信息以破解加密信息從而得到原始信息時(shí),由于閱讀器和手機(jī)間的安全認(rèn)證信息都采用了Hash算法和AES加密,由于Hash函數(shù)具有單向性和AES加密的高度安全性,目前攻擊者很難破解該算法得到原始信息。
(4)對(duì)手機(jī)(電子標(biāo)簽)發(fā)動(dòng)攻擊
攻擊者偽裝成合法的閱讀器試圖篡改手機(jī)(電子標(biāo)簽)內(nèi)的值時(shí),首先發(fā)送訪問和一個(gè)隨機(jī)數(shù)r,隨后獲的手機(jī)的響應(yīng):K=ENCMK(ID||H'||r),攻擊者需要產(chǎn)生H1=Hash(r||ID||Key),由于ID未知并且Key值動(dòng)態(tài)更新,電子標(biāo)簽對(duì)閱讀器的驗(yàn)證失敗,不會(huì)更新Key值。另外,即使攻擊者通過各種手段得到破解密鑰,解密出ID、H和r值,也無法驗(yàn)證通過。因?yàn)殚喿x器端是按照H值進(jìn)行用戶比對(duì),H值跟Key值有關(guān),Hash函數(shù)具有單向性,每輪Key都會(huì)更新,所以閱讀器在數(shù)據(jù)庫內(nèi)找不到匹配用戶,驗(yàn)證失敗。因此可以抵抗對(duì)手機(jī)(電子標(biāo)簽)發(fā)動(dòng)的攻擊。
(5)異步攻擊
攻擊者通過阻塞閱讀器的訪問,使得閱讀器端Key已更新而真正的電子標(biāo)簽的Key未更新,會(huì)產(chǎn)生合法用戶被拒絕服務(wù)的問題,因此需要防止出現(xiàn)閱讀器和電子標(biāo)簽的Key不同步的情況。閱讀器對(duì)電子標(biāo)簽的驗(yàn)證分成兩步,第一步驗(yàn)證電子標(biāo)簽的ID、Key和MK的正確性,第二步驗(yàn)證電子標(biāo)簽是否能生成合法的新 Key,只有兩步認(rèn)證都通過后,才更新數(shù)據(jù)庫中的 Key。結(jié)合上述第4點(diǎn)分析的電子標(biāo)簽的Key值更新機(jī)制,從而防止異步攻擊的可能。
表3 同類的雙向認(rèn)證協(xié)議性能對(duì)比
表3根據(jù)手機(jī)/標(biāo)簽(T)和閱讀器+服務(wù)器(S)端的計(jì)算需求、存儲(chǔ)需求、一次用戶比對(duì)搜索時(shí)間、交互回合以及通信數(shù)據(jù)量 6個(gè)方面對(duì)比了同類的雙向認(rèn)證協(xié)議,可以看出,參考文獻(xiàn)[1]中 T和 S間的計(jì)算量和通信數(shù)據(jù)量較大,而參考文獻(xiàn)[2]雖然存儲(chǔ)需求很小,但由此造成在每次認(rèn)證時(shí),服務(wù)器要對(duì)每一個(gè)標(biāo)簽計(jì)算一次Hash,和其他協(xié)議相比,該協(xié)議計(jì)算量大且計(jì)算時(shí)間較長。參考文獻(xiàn)[5,6]在設(shè)計(jì)協(xié)議時(shí)為了防止異步攻擊,數(shù)據(jù)庫里都保存了上一輪的認(rèn)證信息,當(dāng)最新的認(rèn)證信息字段都無法與認(rèn)證用戶相匹配時(shí),系統(tǒng)將依次對(duì)比上一輪的認(rèn)證信息字段,所以對(duì)設(shè)備的存儲(chǔ)空間要求比較高,相應(yīng)地導(dǎo)致最壞情況下需要搜索2n次。而本文設(shè)計(jì)的協(xié)議因?yàn)闆]有采用同時(shí)保存新Key、新H、舊Key和舊H的機(jī)制,減少了用戶記錄長度,節(jié)省了閱讀器和手機(jī)的存儲(chǔ)空間,也縮短了一次用戶比對(duì)的搜索時(shí)間。
通過對(duì)射頻認(rèn)證系統(tǒng)安全需求和安全風(fēng)險(xiǎn)的分析,結(jié)合基于重命名的方法和基于密碼學(xué)的方法提出了一種適用于NFC移動(dòng)設(shè)備的雙向認(rèn)證安全方案。該方案采用詢問應(yīng)答機(jī)制,充分利用 NFC移動(dòng)設(shè)備的計(jì)算存儲(chǔ)能力,并引入口令Key動(dòng)態(tài)更新機(jī)制改變電子標(biāo)簽響應(yīng)讀寫器的方式,使其每次返回不同的數(shù)據(jù),實(shí)現(xiàn)閱讀器和具備NFC功能的移動(dòng)設(shè)備的雙向認(rèn)證,而密碼學(xué)的方法保證了電子標(biāo)簽數(shù)據(jù)不被非法獲取。這種方案適用于多用戶和需要快速驗(yàn)證的NFC認(rèn)證系統(tǒng)。最后還利用經(jīng)典的形式化方法理論證明并分析了該方案的安全性。
[1]CHENG H C, LIAO W W, CHI T Y, et al. A secure and practical key management mechanism for NFC read-write mode[C]// 13th International Conference on Advanced Communication Technology (ICACT2011), February 13-16, 2011, Seoul, South Korea. [S.l.:s.n.], 2011: 1095-1111.
[2]丁振華, 李錦濤, 馮波, 等. 基于Hash函數(shù)的RFID安全認(rèn)證協(xié)議研究[J]. 計(jì)算機(jī)研究與發(fā)展, 2009, 46(4): 583-592. DING Z H, LI J T, FENG B, et al. Research on Hash-based RFID security authentication protocol[J]. Journal of Computer Research and Development, 2009, 46(4): 583-592.
[3]曾麗華, 熊璋, 張挺, 等. Key值更新隨機(jī)Hash鎖對(duì)RFID安全隱私的加強(qiáng)[J]. 計(jì)算機(jī)工程, 2007, 33(3): 151-153. ZENG L H, XIONG Z, ZHANG T, et al. Key Value renewal random hash lock for security and privacy enhancement of RFID[J]. Computer Engineering, 2007, 33(3): 151-153.
[4]周世杰, 張文清, 羅嘉慶, 等. 射頻識(shí)別(RFID)隱私保護(hù)技術(shù)綜述[J]. 軟件學(xué)報(bào), 2015, 26(4): 960-976. ZHOU S J, ZHANG W Q, LUO J Q, et al. Design and analysis of cryptographic protocols for RFID[J]. Chinese Journal of Computers, 2007, 33(3): 151-153.
[5]錢萍, 吳蒙. 一種基于 Hash函數(shù)的 RFID安全認(rèn)證方法[J].電信科學(xué), 2011, 27(10):109-112. QIAN P, WU M. A security RFID authentication method based on Hash function[J]. Telecommunications Science, 2011, 27(10): 109-112.
[6]NIU B, ZHU X, CHI H, et al. Privacy and authentication protocol for mobile RFID systems[J]. Wireless Personal Communications, 2014, 77(3): 1713-1731.
[7]張輝, 侯朝煥, 王東輝, 等. 一種基于部分 ID的新型 RFID安全隱私相互認(rèn)證協(xié)議[J]. 電子與信息學(xué)報(bào), 2009, 31(4): 853-856. ZHANG H, HOU Z H, WANG D H, et al. A new security and privacy on RFID mutual authentication protocol based on partial ID[J]. Journal of Electronics & Information Technology, 2009, 31(4): 853-856.
[8]FELDHOFER M, DOMINIKUS S, WOLKERSTORFER J. Strong authentication for RFID systems using the AES algorithm[C]//Cryptographic Hardware and Embedded Systems(CHES 2004), August 11-13, 2004, Cambridge, MA, USA. [S.l.:s.n.], 2004: 357-370.
[9]BADRA M, BADRA R B. A lightweight security protocol for NFC-based mobile payments[J]. Procedia Computer Science, 2016(83): 705-711.
[10]EUN H, LEE H, OH H. Conditional privacy preserving security protocol for NFC applications[J]. IEEE Transactions on Consumer Electronics, 2013, 59(1): 153-160.
[11]HE D, KUMAR N, LEE J H. Secure pseudonym-based near field communication protocol for the consumer internet of things[J]. IEEE Transactions on Consumer Electronics, 2015, 61(1): 56-62.
[12]李杰. RFID安全認(rèn)證協(xié)議研究與設(shè)計(jì)[D]. 西安: 西安電子科技大學(xué), 2012. LI J. Research and design on RFID security authentication protocol[D]. Xi’an: Xidian University, 2012.
[13]GOLDREICH O, GOLDWASSER S, MICHALI S. How to construct random functions[J]. Journal of the ACM, 1986, 33(4): 792-807.
[14]高樹靜, 曲英杰, 宋廷強(qiáng). 基于單向函數(shù)的偽隨機(jī)數(shù)發(fā)生器[J].計(jì)算機(jī)研究與發(fā)展, 2015, 52(6): 1394-1399. GAO S J, QU Y J, SONG T Q. Pseudorandom number generators based on one-way functions[J]. Journal of Computer Re-search and Development, 2015, 52(6): 1394-1399.
[15]LI G, NEEDHAM R, YAHALOM R. Reasoning about belief in cryptographic protocols[C]//IEEE Symposium on Security & Privacy, May 7-9, 1990, Oakland, CA, USA. New York: IEEE Computer Society, 1990: 234-248.
A mutual authentication security scheme for mobile NFC devices
ZHANG Chengyu1, WANG Rangding1, YAO Ling2, FU Songyin1, ZUO Fuqiang2
1. College of Information Science and Engineering, Ningbo University, Ningbo 315211, China 2. Ningbo Water Meter Co., Ltd., Ningbo 315032, China
Near field communication (NFC) is a kind of short-range wireless communication technology which has been applied around the world. The applications of mobile payments and access control are the most common applications of NFC technology. Technically, the NFC device can be used as a bank card or an entrance card with the help of the card emulation mode of NFC, which will be validated by external reader. It is very essential to select a appropriate and safe certification scheme in this scenario. First of all, the existing NFC authentication system and security scheme was introduced and the system security requirements and potential security risks were analyzed. Then, by using Hash, AES and password Key dynamic updating mechanism, a mutual authentication security scheme for mobile NFC devices was proposed, and the synchronization mechanism was designd. Finally, GNY logic was used to prove the security correctness of our proposed scheme. The security analysis shows that our scheme can avoid a number of attacks, such as forgery, replay attack, eavesdropping, tampering attack, asynchronous attack and so on.
near field communication, mutual authentication, security, mobile device
s: The National Natural Science Foundation of China (No.61672302), The Key Subject Program of Zhejiang Province (No.XKXL1509), Innovation and Industrialization Key Program of Science Technology Department of Ningbo (No.2013B10034), Project of Ningbo Intelligent Water Meter and Measurement and Control Technology of Science and Technology Innovation Team
TP309
A
10.11959/j.issn.1000?0801.2017178
張呈鈺(1992?),女,寧波大學(xué)信息科學(xué)與工程學(xué)院碩士生,主要研究方向?yàn)镹FC應(yīng)用、智能儀器儀表。
王讓定(1962?),男,博士,寧波大學(xué)信息科學(xué)與工程學(xué)院教授、博士生導(dǎo)師,主要研究方向?yàn)槎嗝襟w通信與取證、信息安全、智能抄表及傳感網(wǎng)絡(luò)技術(shù)等。
姚靈(1953?),男,寧波水表股份有限公司技術(shù)總監(jiān)、教授級(jí)高級(jí)工程師兼任中國計(jì)量協(xié)會(huì)水表工作委員會(huì)副秘書長,主要研究方向?yàn)榱髁績x表與精密儀器。
傅松寅(1982?),男,寧波大學(xué)信息科學(xué)與工程學(xué)院博士生、助理研究員,主要研究方向?yàn)闊o線傳感網(wǎng)絡(luò)、智能抄表。
左富強(qiáng)(1982?),男,寧波水表股份有限公司高級(jí)工程師,主要研究方向?yàn)橹悄芩髁績x表及嵌入式系統(tǒng)。
2017?01?22;
2017?06?04
國家自然科學(xué)基金資助項(xiàng)目(No.61672302);浙江省重中之重學(xué)科資助項(xiàng)目(No.XKXL1509);寧波市科技局產(chǎn)業(yè)技術(shù)創(chuàng)新及成果產(chǎn)業(yè)化重點(diǎn)資助項(xiàng)目(No.2013B10034);寧波市智能水表與測(cè)控技術(shù)科技創(chuàng)新團(tuán)隊(duì)項(xiàng)目