趙興文 段懿入
(西安電子科技大學(xué)網(wǎng)絡(luò)與信息安全學(xué)院 西安 710119)(sevenzhao@hotmail.com)
如今,隨著移動智能設(shè)備的發(fā)展和電子商務(wù)的普及,大多數(shù)傳統(tǒng)的支付方式已經(jīng)被電子/移動支付所取代.與現(xiàn)金交易等傳統(tǒng)支付方式相比,移動支付具有許多優(yōu)勢[1].首先,由于移動支付可以隨時隨地進行,人們可以輕松地使用相應(yīng)的移動設(shè)備進行交易,而不用擔心如何遠程支付.事實上,移動支付讓電子商務(wù)變得更容易[2].其次,移動支付的使用使得交易雙方不需要攜帶大量現(xiàn)金,從而避免了現(xiàn)場現(xiàn)金交易的不安全性.
近場通信是電子商務(wù)中一種常用的移動支付方式.近年來,由于其快速、簡單的特點,在電子支付中得到了廣泛的應(yīng)用.NFC移動支付基于近場通信技術(shù),在2臺設(shè)備之間建立連接實現(xiàn)支付.使用NFC技術(shù),用戶只需將手機移動到具有NFC技術(shù)的商店P(guān)OS設(shè)備上就可以完成支付[3-4].
NFC是一種新型非接觸式技術(shù),建立在RFID標準ISO/IEC 14443的基礎(chǔ)上,在短距離內(nèi)進行通信,使幾厘米距離的設(shè)備之間能夠進行數(shù)據(jù)交換.現(xiàn)有的國際標準已經(jīng)規(guī)定了緊密耦合設(shè)備之間進行簡單無線通信的接口和協(xié)議,NFC設(shè)備通過該接口以106,212,424 Kbps的速率進行通信[5-6].在現(xiàn)實世界中,NFC有很多應(yīng)用,如醫(yī)療保健、交通和訪問控制,但其主要應(yīng)用在移動和非接觸式支付領(lǐng)域[7].它們的共同點是這些應(yīng)用程序通常需要嚴格的安全性來保護用戶隱私.
NFC基本上有3種工作模式[8]:讀寫器模式、點對點模式和卡模擬模式.本文關(guān)注的是點對點模式.在這種模式下,2臺NFC設(shè)備以雙向半雙工方式進行數(shù)據(jù)交換.啟動通信的設(shè)備稱為啟動器,另一個設(shè)備稱為目標器.根據(jù)ISO/IEC 18092[4]標準,在初始化和單設(shè)備檢測步驟中,啟動器和目標器必須動態(tài)生成各自的隨機數(shù)(NFCID),并且能夠讀取對方的隨機數(shù).該隨機數(shù)標記為IDx,在通信時用于標識NFC設(shè)備.獲取目標器(啟動器)的IDx后,啟動器(目標器)可以與多個目標器(啟動器)通信.
一般來說,NFC移動支付協(xié)議由認證、授權(quán)和支付3個不同的組件組成[9].在NFC移動支付系統(tǒng)中,支付操作容易受到各種攻擊,因此認證過程在NFC技術(shù)中非常重要[10].為了在NFC中建立一個安全的連接,設(shè)計安全的認證協(xié)議是必不可少的.對于NFC移動支付安全,國內(nèi)外專家學(xué)者已經(jīng)提出了多種協(xié)議[8,11-12].
根據(jù)目前的NFC安全標準NFC-SEC[13],通信雙方必須交換彼此的公鑰才能進行秘密通信.用戶使用的公鑰是1個固定值,通信的另一方可以通過該公鑰查看數(shù)據(jù)交換的個人詳細信息,從而獲得交易記錄,導(dǎo)致用戶隱私泄露.具體來說,如果顧客X在商店購買衣服、食品和藥品等商品,商店可以收集有關(guān)顧客X的個人數(shù)據(jù),以獲得有關(guān)品味、偏好甚至健康狀況的數(shù)據(jù).這些數(shù)據(jù)可能包含不希望別人知道的個人信息.為了保護用戶的數(shù)據(jù)隱私[14],在認證過程中需要考慮匿名性.
此外,對于提供匿名性的交易,需要有一個值得信任的第三方作為法官,當交易爭議出現(xiàn)時,他可以作出正確的決定.也就是說,交易的各方不知道彼此的身份,但受信任的第三方可以確定他們的身份.
綜上所述,本文提出一種基于假名的NFC安全認證協(xié)議,以提供用戶隱私保護,并能夠解決以前的研究中存在的安全問題.
作為一種隱私保護的重要形式,基于假名的隱私保護已經(jīng)被廣泛應(yīng)用于協(xié)議[15-16]中,在電子投票場景[17]也有應(yīng)用.在基于假名的保護方法中,協(xié)議參與者的真實身份被一個受信任的第三方分發(fā)并且與參與者的真實身份沒有關(guān)系的假名所取代.即使對手獲得了參與者的假名,也無法獲得用戶的真實身份.
為了克服之前協(xié)議存在的一些問題,本文提出了一種基于假名的匿名認證協(xié)議.該協(xié)議將零知識證明方案應(yīng)用于協(xié)議的假名分發(fā)階段,有效抵御了內(nèi)部特權(quán)攻擊.
本文使用的符號和含義如表1所示:
表1 符號說明
續(xù)表1
本文提出的協(xié)議包括2個階段,即假名生成階段和密鑰協(xié)商階段.
2.2.1 假名生成階段
假名生成階段流程如圖1所示.
圖1 假名生成流程
2.2.2 密鑰協(xié)商階段
在密鑰協(xié)商階段,主要討論了協(xié)議的發(fā)起者和目標之間的認證和密鑰協(xié)商過程.在點對點模式中,如前所述,在通信時會各自生成自己的隨機ID以標識NFC設(shè)備,并且獲取對方的ID.
為了建立會話密鑰,需要執(zhí)行以下步驟:
密鑰協(xié)商階段如圖2所示.
圖2 會話密鑰協(xié)商流程
在中間人攻擊中,通信雙方同時被誘騙進行了三向通信,這是一種常見的攻擊形式.一方面,在上面的討論中,已經(jīng)證明在這個協(xié)議中不可能進行假冒攻擊(基于橢圓曲線離散對數(shù)問題),惡意攻擊者無法生成有效的MacTag模擬1個合法用戶.另一方面,在NFC環(huán)境中,為了攔截通信雙方傳輸?shù)南?,敵手需要產(chǎn)生比通信雙方更強的射頻場.研究[23]指出,2個射頻場的完美對齊實際上是不可能的,此外,當另一個射頻場出現(xiàn)時,可以選擇終止當前協(xié)議.因此,實施中間人攻擊是不切實際的.
內(nèi)部特權(quán)攻擊是惡意人員從內(nèi)部發(fā)起的攻擊.在以往的研究中,由于用戶的假名、公私鑰對等信息是由TSM生成和管理的,所以無法抵御內(nèi)部特權(quán)攻擊.在本文協(xié)議中,提出了一種基于零知識證明的假名認證方案,TSM只提供認證,公私鑰由用戶自己生成.當存在內(nèi)部攻擊時,內(nèi)部攻擊者無法獲取具體的私鑰信息,也無法進行假冒攻擊等.
在本節(jié)中,分析了本文協(xié)議的計算性能.符號定義如下.
Tecm:橢圓曲線點乘法運算的運行時間;
Teca:橢圓曲線點加法運算的運行時間;
Th:哈希函數(shù)的運行時間;
Tmm:模塊化乘法運算的運行時間;
TKDF:密鑰派生函數(shù)操作的運行時間;
Ted:橢圓曲線加密或解密操作的運行時間;
Ts:驗證簽名的運行時間.
為了計算相關(guān)方案的時間復(fù)雜度,在文獻[22-23]中,提出了以下值:
Tecm≈1200Tmm,Teca≈Ted≈5Tmm,
TKDF≈Th≈Ts≈0.36Tmm.
表2 計算時間比較
在假名分發(fā)與生成階段,本文協(xié)議需要更多的計算時間,而該階段在預(yù)置時完成.在密鑰生成階段,本文協(xié)議有較低的計算時間.
綜上所述,通過對之前提出的基于假名的協(xié)議進行了深入研究,發(fā)現(xiàn)以前的協(xié)議容易受到內(nèi)部特權(quán)攻擊.對此,本文協(xié)議在假名分發(fā)階段引入零知識證明方案,公鑰和私鑰由用戶生成,提出了一種安全且提供用戶匿名性的協(xié)議,在提供了協(xié)議基本的安全性的同時保障了用戶隱私數(shù)據(jù).