徐 偉,汪學明
(1.貴州大學 大數據與信息工程學院,貴州 貴陽 550025;2.貴州大學 計算機科學與技術學院,貴州 貴陽 550025)
一種新的輕量級NFC身份認證協議*
徐 偉1,汪學明2
(1.貴州大學 大數據與信息工程學院,貴州 貴陽 550025;2.貴州大學 計算機科學與技術學院,貴州 貴陽 550025)
目前,近場通信技術(NFC)被廣泛應用在移動支付、公交卡、門禁系統、電子標簽等各個方面。為了解決NFC系統安全性問題,提出一種新的基于超橢圓曲線密碼體制的NFC輕量級認證協議。與現有協議相比,新協議提供了雙向認證服務,簡化了秘鑰管理,為認證各方提供了不可否認性特性。同時,新協議對認證過程和HECC中的標量乘運算也做了相應簡化。HECC具有高安全性、低有限域的特點,適合應用于NFC系統中,在提供安全性的同時,降低對CPU計算能力的要求。分析表明,新協議達到了NFC系統的高安全性和高效率要求。
超橢圓曲線密碼體制;身份認證;近場通信;公鑰密碼體制;協議
在嵌入式安全應用中,幾乎毫無例外地使用了密碼學技術來保護重要信息的傳輸,使之免受第三者攻擊造成的不必要損失。近年來,近場通信技術(NFC)[1]作為一種短距無線通信技術,被廣泛應
用在生活的各個方面,尤其在無線支付方面。銀行卡﹑公交卡以及手機,都在使用NFC技術進行大量的電子現金交易。然而,NFC中并沒有相應的數據加密標準。身份認證協議作為一種重要的密碼手段,可以使NFC通信雙方進行身份認證,并建立安全的通信信道,以抵御第三方攻擊。在個人信息以及財產安全方面,身份認證協議起到了重要的保護作用。
多數情況下,NFC終端的計算能力及存儲容量有限。比如,在門禁卡應用中,門禁卡使用的微型芯片決定其不能進行復雜的計算[2-3]。因此,工作在NFC系統中的身份認證協議必須是輕量級的,而且要足夠安全,以抵御各種安全威脅。
Lee Et等人在文獻[4]中提出一種基于公鑰密碼體制的NFC認證協議,解決了中間人攻擊問題。然而,該協議不能提供雙向認證服務,且不具備不可否認性。Thammarat C等人在文獻[5]中提出了一種輕量級的NFC認證協議,該協議使用對稱加密技術,每次使用不同的會話密鑰來實現對協議運行雙方的身份進行認證。但是,該協議也存在以下缺點:(1)秘鑰管理復雜,終端要實現認證,就必須預先保留所有參與認證主體的組秘鑰,這對于容量受限的NFC卡,該協議不具備可行性;(2)缺乏不可否認性。
本文提出一種基于虧格為2的超橢圓公鑰密碼體制(HECC)的NFC認證協議。與文獻[4]和文獻[5]提出的協議相比,新協議提供了雙向認證特性和不可否認性;協議認證結束后會產生一個臨時會話秘鑰,用于建立安全的會話通道;還對HECC中的標量乘算法做了進一步優化,通過減少標量的漢明重量,使得標量乘的運算量進一步減少。
1.1 超橢圓曲線密碼體制
超橢圓曲密碼體制HECC(Hyperelliptic Curve Cryptosystem)[6]是由Koblitz提出的一種公鑰密碼加密體制。與RSA和ECC公鑰密碼體制相比,HECC能夠在更小的有限域實現相同的安全性。
超橢圓曲線方程滿足v+h(u)=f(u),超橢圓曲線上的點可以記為(u,v)。在超橢圓曲線中,f(u)是次數為2g+1的首一多項式。h(u)的次數不大g,則稱超橢圓曲線的虧格為g。一般地,超橢圓曲線點Pi的有限和形式稱為除子,記D=∑miPi,∑mi稱為除子的次數,D0表示次數為零的除子。
在超橢圓曲線C的Jacobian商群上,兩個約簡除子經過復合和約簡后,可以唯一得到另一個約簡除子,記為D1+D2=D3,又稱為除子加運算。除子加運算滿足交換律和結合律,m個除子D相加記為mD,如式(1),mD運算被稱作標量乘。

特殊點的標量乘,如2k(k=1,2,…)可以預先計算并存儲下來。標量乘mD可以表示為式(2)。在式(2)中qi取0和1兩個值。

形如式(2)的標量乘形式,只需對qi≠0的所有項進行除子加運算。標量m的漢明重量(m二進制表示后含1的個數)為M,則標量乘mD只需進行M-1次除子加運算。
HECC安全性是基于有限域上超橢圓曲線的Jacobian[7]商群上的離散對數(HECCDLP)問題的難解性[8]。HECCDLP問題描述為:對于超橢圓曲線上的兩個除子D1和D2,有D2=kD1,已知k和D1在多項式時間內可以求得D2;反之,已知D2﹑D1求k是困難的。
1.2 NFC近場通信技術
NFC(Near Field Communication)是一種短距離的無線通信技術,有效工作范圍為10 cm,工作頻率為13.56 MHz,最大傳輸距離為424 kb/s。NFC設備一般應用于如手機﹑平板電腦等便攜式設備以及金融IC卡﹑門禁卡﹑電子標簽上面。NFC傳輸距離短,可以有效防止信息泄露,而且與RFID技術兼容,近年來廣泛應用于無線支付方面,如銀行卡﹑公交卡以及大量的手機的電子現金交易。
本節提出一種基于超橢圓公鑰密碼體制的輕量級數字簽名算法和基于超橢圓的密碼體制的輕量級的公加解密算法。并用這兩種算法實現輕量級的NFC身份認證協議。
設有限域Fq(q是素數,且q>280)上虧格為2的超橢圓曲線的Jacobian商群為J,其J的階#J=nh,n為大素數,h為較小的余因子。在J上選取一個主除子D作為協議的公有參數。文中遇到的符號如表1所示。

表1 符號表
2.1 算法描述
2.1.1 數字簽名算法
數字簽名包括簽名生成和簽名驗證兩部分,分別描述如下。
簽名生成:k1D為預先計算儲存在A中的標量乘,可以由A隨時更新,A對消息M簽名需完成下述步驟。
(1)計算M的hash值c=h(M);
(2)N隨機生成一個漢明重量小于40的隨機數k11;

(4)A用自己的私鑰dA計算:(5)A向B發送消息M和簽名(r,s)。簽名驗證:B對簽名(r,s)驗證,需要完成以下過程。
(1)計算 u1=h( M) s-1,u2=rs-1;
(2)計算 X = u1D + u2QA,如果X=[1,0],則認證失敗;否則,計算 v=λ(X);
(3)v=r時,則對A的身份認證成功;否則,認證失敗。
證明:B對A的簽名信息進行驗證:

所以,只要滿足λ( X) =λ( R),即可對N的身份進行確認。
因此,攻擊者偽造簽名就必須獲取A的私鑰。從A的公鑰中解算出私鑰是一個HECCDLP難題;攻擊者想從一次簽名信息中解算出私鑰dA,必須從(k1+k11)D中解算出(k1+k11),同樣是一個HECCDLP難題。所以,該算法具有內在的安全性和不可否認性。
2.1.2 基于HECC加解密算法
HECC加解密算法包括密文生成和密文解密兩部分,分別描述如下。
密文生成:A使用B的公鑰QB預生成kQB﹑kD。A對消息M加密需要完成以下步驟。
(2)A向B發送密文(e,kD)。
密文解密:B使用自己的私鑰dB解密密文需要完成以下步驟。
證明:因為

所以,根據密文信息B可以唯一確定明文信息M。攻擊者從密文解算出明文信息,必須知道B的私有秘鑰,而密文中僅有公鑰QB包含B的私鑰信息,QB為公開參數。攻擊者從QB中解算出dB是一個HECCDLP難題,所以該算法具有內在安全性。
2.2 協議描述
本節給出一種新的基于超橢圓公鑰密碼體制的NFC身份認證協議,實現NFC卡(N)﹑NFC讀卡終端(POS)和身份認證服務器(AS)之間的身份認證和秘鑰協商。如圖1所示,NFC卡工作在被動模式下,N與AS之間的通信數據必須經過POS進行數據轉發。此外,新協議完成認證的同時,產生一個一次一密的會話秘鑰。此會話秘鑰可以用于協議參與主體建立一條安全的通信信道,所以此協議也適合于工作在復雜的網絡環境下。

圖1 輕量級NFC身份認證協議工作模型
新協議描述如下:


終端N生成一個隨機數n1和身份標示IDN一起發送給讀卡終端POS。
POS→AS
POS生成隨機數n2﹑a,并使用文獻[9]提出的方案加密消息Q1=[n1⊕n2⊕h(IDN||IDpos||aD)],得到EpukAS[Q1],最后將信息EpukAS[Q1],IDN,IDpos,aD發送到服務器AS。
AS→POS
AS使用使用私鑰EprkAS,解密出消息n1⊕n2||h(IDN||IDpos||aD); 根 據 IDN,IDpos,aD 計算 h'(IDN||IDpos||aD。 如 果 h'(IDN||IDpos||aD 和h(IDN||IDpos||aD相等,則繼續運行協議;否則,停止會話。AS生成隨機數n3﹑b,并使用POS的公鑰對信息n1⊕n2⊕n3||h(IDAS||bD)加密,并將密文連同bD一起發送給POS。
POS→N
POS使用其私鑰,解密出消息n1⊕n2⊕n3||h(IDAS||bD)。POS計算h'(IDAS||bD)。如果滿足條件h(IDAS||bD)=h'(IDAS||bD),則完成對AS的身份認證;否則,結束會話。對AS身份認證成功后,POS使用n1⊕n2計算出n3,并將n3﹑IDpos發送給N。
N→POS
N隨機產生一個會話秘鑰k1,使用2.1.2算法生成密文。使用2.1.1算法生成簽名。最后將e1﹑e2發給POS。
POS→AS
POS根據aD﹑bD,使用基于HECC的Diffie-Hellman密鑰協議[7],計算出會話秘鑰k2,并加密明文e1||e2||n3||n2得到[e1||e2||n3||n2]k2,然后將其發送給AS。
AS→POS
AS使用上一步同樣的方法產生秘鑰k2,并解密密文。若,則繼續計算⊕ n2⊕n'
2。AS使用2.1.1簽名算法對進行驗證。若驗證通過,則AS完成對POS和N的身份認證。AS使用k2生成密文[n1||IDN||k1]k2,并轉發給POS。
POS→N
POS使用k2從密文中解密出。若,則POS完成對AS和N的身份認證,并使用k'1加密明文IDpos||n1||IDAS后發送給N。
N
N使用k1,從密文解密中解得IDpos||n1||IDAS,則完成對POS和AS的身份認證;否則,驗證失敗。
本節對輕量級NFC身份認證協議進行對比分析,已證明新協議適合NFC系統。
3.1 安全性分析
在文獻[4]中,U1使用認證服務器AuC 的 公 鑰, 加 密UID1||URx1||n1, 得 到 密 文Q1=EpukAuc(UID1||URx1||n1),并將Q1發給U2。同樣,U2使用AuC的公鑰,計算得到Q2=EpukAuC(Q1||UID1|| N2||UID2||URx2),并將Q2發送給AuC。AuC使用自己的私鑰,解算出n1﹑n2,并計算 R1h( U ID1||n2)﹑R2=h( U ID2||n1||n2)⊕n1﹑R3=n1⊕n2。U2收到R1﹑R2﹑R3信息后,可以驗證出U1和Auc的身份。U2將R1﹑R3轉發給U1后,U1可以利用其信息解算出n1,從而驗證AuC的身份。但是,R1﹑R3缺乏U2的相關信息,導致U1不能對U2的身份進行驗證。因此,該協議提供的是單向認證服務。實際上,系統中任何其他合法用法都可以偽造U2與U1進行通信,而U1卻無法對U2的身份進行有效認證[10]。
文獻[5]中,Thammarat C提出一種基于對稱密碼的輕量級NFC身份認證協議。該文獻包括兩個子協議。子協議一為NFC卡N和身份認證協議AS之間的相互認證;子協議二為NFC卡﹑讀卡器終端POS和身份認證服務器終端AS之間的三方認證。在子協議一中,N和AS之間通過向對方出示會話秘鑰SKN-POSj,j=1,…,m來表明自己的身份。N和AS使用相同的會話秘鑰SKN-POSj,導致N和AS一方可以隨意偽造另一方的身份發起交易;同理,子協議二也具有相同的安全隱患。所以,該協議存在安全隱患,不具備不可否認性。
本文提出的新協議解決了文獻[4-5]中身份認證協議的缺點。新協議中,每個認證主體都有一個唯一的私鑰。POS使用AS的公鑰,生成秘鑰信息EpukAS[n1⊕n2||h( I DN||I DPOS||a D)],AS從POS發 來的密文中解密n1⊕n2,并向POS出示,則N完成對AS身份的確認。同理,AS使用同樣的方法完成對POS的身份認證。POS完成對AS身份的確認后,使用協商的會話秘鑰加密AS和POS之間的通信數據。所以,該協議能夠有效保證AS和POS之間通信數據的安全。
N生成隨機數k1,并使用AS的公鑰和自己的私鑰dN,生成密文,。N通過POS發送向AS發送密文e1﹑e2。AS根據密文e1﹑e2,驗證N的身份并解出秘鑰k1。AS分別向POS﹑N發送對POS﹑N身份的驗證結果。POS從AS發來的密文信息中解出明文n2||IDN,則AS完成對N的身份認證。POS確定N的身份,并向N轉發密文信息[IDPOS||n1||IDAS]k1。N使用秘鑰k1解出IDpos||n1||IDAS,則N完成對POS 和AS的身份確認。
與已有文獻提出的協議相比,新協議應用超橢圓公鑰密碼技術,很好地解決了文獻[4-5]提出的身份認證協議面臨的安全威脅。利用會話秘鑰,在POS和AS﹑N和POS之間建立一個安全的會話信道,使協議可以在不安全的網絡上運行,而不需要單獨的安全信道。
3.2 效率分析
下面從秘鑰存儲和計算開銷兩方面對新協議進行分析,以說明新協議適合應用于計算和存儲有限的NFC系統。
新協議中,HECC選擇有限域為80 bit,hash函數生成算法為sha1,對稱加密采用128 bit AES算法。表2為新協議與文獻提出協議關于NFC卡片存儲存儲開銷和認證交換數據的量的對比。從表2可看出,文獻[5]提出的方案認證數據量最大,新協議和文獻[4]提出的協議相當。在秘鑰存儲方面,文獻[5]的儲存開銷隨著POS機數量n的增加而增加。而新協議存儲開銷比文獻[4]多了66.67%。

表2 NFC卡儲存及認證交換數據量
表3則為三種協議方案的NFC卡計算開銷方面的對比。可以看出,新協議進行的hash運算最少。與文獻[4]相比,新協議NFC卡端只需要進行一次AES運算。文獻[5]將認證信息串聯在一起進行加密,明文變長,使用160 bit的ECC對明文信息進行加密必須分兩次進行。而新協議使用模加的方式連接各個信息段,從而將明文信息控制在160 bit內,使得只需要一次HECC運算,便可完成對明文信息的加密。新協議預先計算標量乘kQAS,kD節省了一次HECC加密運算,與文獻[5]相比,新協議犧牲,存儲容量,換取了運算速度的提升。此外,新協議限制了k2的漢明重量,進一步減少了標量的乘計算量。

表3 NFC卡計算開銷對比
從以上對比可以看出,與已有文獻提出的協議相比,新協議執行加密解密要求的計算量最小,對存儲容量要求低,適合應用于存儲容量和計算能力受限的NFC系統。
本文提出的輕量級NFC身份認證協議具有超橢圓曲線密碼體制短密鑰﹑運算效率高和安全性高的特點。從安全性和效率上進行分析,新協議解決了Lee Et﹑Thammarat C等人所提方案的安全缺陷,同時提高了協議的執行效率。此外,在新協議中將身份認證和會話密鑰協商同時進行,并使用會話密鑰建立安全的通信信道,增強了系統的安全性,新協議可以工作在復雜的網絡環境中。目前,設計基于HECC的離線支付協議是下一步要開展的工作。
[1] Schmidt A.Pervasive RFID and Near Field Communication Technology[J].IEEE Pervasive Computing,2007, 6(03):94-96.
[2] Robert Gripentog,Yoohwan Kim.Utilizing NFC to Secure Identification[C].Computer and Information Science (ICIS),2015:101-105.
[3] Kakali Chatterjee,Asok De,Daya Gupta.Mutual Authentication Protocol Using Hyperelliptic Curve Cryptosystem in Constrained Devices[J].International Journal of Network Security,2013,15(01):9-15.
[4] Yun-Seok L,Eun K,Min-Soo J.A NFC based Authentication Method for Defense of the Man in the Middle Attack[C]. Proceedings of the 3rd International Conference on Computer Science and Information Technology(ICCSIT’2013),2013:10-13.
[5] Thammarat C,Chokngamwong R,Techapanupreeda C,et al.A Secure Lightweight Protocol for NFC Communications with Mutual Authentication based on Limited-use of SessionKeys[C].2015 International Conference on Information Networking(ICOIN),2015:133-138.
[6] Koblitz N.Hyperelliptic cryptosystems[J].Journal of Cryptology,1989,1(03):139-150.
[7] David G,Cantor.Computing in the Jacobian of Hyperelliptic Curve[J].Mathematics of Computation,2010,48(177):95.
[8] 張方國.超橢圓曲線密碼體制的研究[D].西安:西安電子科技大學,2001.
ZHANG Fang-guo.Research on Hyperelliptic Curve Cryptosystems[D].Xi’an:Xidian University,2001.
[9] 肖如良.超橢圓曲線密碼體制的理論與實現[M].北京:經濟管理出版社,2006.
XIAO Ru-liang.The Theory and Implementation of the Hyperelliptic Curve Cryptosystem[M].Beijing:Economy & Management Publishing House,2006.
[10] 蘇劍飛,王景偉.網絡攻擊技術與網絡安全探析[J].通信技術,2010,43(01):91-93.
SU Jian-fei,WANG Jing-wei.Discussion on Network Security and Attack Techniques[J].Communications Technology,2010,43(01):91-93.
A Novel Lightweight Identity Authentication Protocol in NFC Application
XU Wei1, WANG Xue-ming2
(1.College of Big Data and Information Engineering, Guizhou University, Guiyang Guizhou 550025, China; 2.College of Computer Science and Technology, Guizhou University, Guiyang Guizhou 550025, China)
Nowadays, NFC(Near Field Communication) is widely applied in many fields including mobile payment, bus card, access control system, electronic label and so on. In order to solve the security problem of NFC system, a novel NFC lightweight authentication protocol based on the hyper elliptic curve cryptosystem is proposed. Compared with the existing protocols, this novel protocol could provide mutual-authentication services, simplify key management, and furnish non-repudiation features for authenticated members. Meanwhile, this novel protocol also makes corresponding simplification of the authentication process and the scalar multiplication in HECC. HECC is characterized with high security and low finite field suitable for NFC system, and could reduce the requirements for the calculation capability of CPU while improving the security. Analysis indicates that this novel protocol could satisfy the requirements of high security and high efficiency by the NFC system.
hyperelliptic curve cryptosystem; identity authentication; near field communication; public-key cryptography; protocol

TN911
A
1002-0802(2016)-11-1529-06
10.3969/j.issn.1002-0802.2016.11.022
徐 偉(1989—),男,碩士,主要研究方向為移動通信﹑信息安全;
汪學明(1965—),男,博士,教授,主要研究方向為無線與移動通信﹑協議分析與模型檢測﹑密碼學與信息安全。
2016-07-17;
2016-10-24 Received date:2016-07-17;Revised date:2016-10-24
國家自然科學基金項目(No.[2011]61163049);貴州省自然科學基金資助項目黔科合J字(No.[2011]2197)
Foundation Item:National Natural Science Foundation of China(No.[2011]61163049);Natural Science Foundation of Guizhou Province(No. [2011]2197)