徐 偉,汪學(xué)明
(1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025;2.貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025)
一種新的輕量級NFC身份認(rèn)證協(xié)議*
徐 偉1,汪學(xué)明2
(1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025;2.貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025)
目前,近場通信技術(shù)(NFC)被廣泛應(yīng)用在移動支付、公交卡、門禁系統(tǒng)、電子標(biāo)簽等各個方面。為了解決NFC系統(tǒng)安全性問題,提出一種新的基于超橢圓曲線密碼體制的NFC輕量級認(rèn)證協(xié)議。與現(xiàn)有協(xié)議相比,新協(xié)議提供了雙向認(rèn)證服務(wù),簡化了秘鑰管理,為認(rèn)證各方提供了不可否認(rèn)性特性。同時,新協(xié)議對認(rèn)證過程和HECC中的標(biāo)量乘運算也做了相應(yīng)簡化。HECC具有高安全性、低有限域的特點,適合應(yīng)用于NFC系統(tǒng)中,在提供安全性的同時,降低對CPU計算能力的要求。分析表明,新協(xié)議達到了NFC系統(tǒng)的高安全性和高效率要求。
超橢圓曲線密碼體制;身份認(rèn)證;近場通信;公鑰密碼體制;協(xié)議
在嵌入式安全應(yīng)用中,幾乎毫無例外地使用了密碼學(xué)技術(shù)來保護重要信息的傳輸,使之免受第三者攻擊造成的不必要損失。近年來,近場通信技術(shù)(NFC)[1]作為一種短距無線通信技術(shù),被廣泛應(yīng)
用在生活的各個方面,尤其在無線支付方面。銀行卡﹑公交卡以及手機,都在使用NFC技術(shù)進行大量的電子現(xiàn)金交易。然而,NFC中并沒有相應(yīng)的數(shù)據(jù)加密標(biāo)準(zhǔn)。身份認(rèn)證協(xié)議作為一種重要的密碼手段,可以使NFC通信雙方進行身份認(rèn)證,并建立安全的通信信道,以抵御第三方攻擊。在個人信息以及財產(chǎn)安全方面,身份認(rèn)證協(xié)議起到了重要的保護作用。
多數(shù)情況下,NFC終端的計算能力及存儲容量有限。比如,在門禁卡應(yīng)用中,門禁卡使用的微型芯片決定其不能進行復(fù)雜的計算[2-3]。因此,工作在NFC系統(tǒng)中的身份認(rèn)證協(xié)議必須是輕量級的,而且要足夠安全,以抵御各種安全威脅。
Lee Et等人在文獻[4]中提出一種基于公鑰密碼體制的NFC認(rèn)證協(xié)議,解決了中間人攻擊問題。然而,該協(xié)議不能提供雙向認(rèn)證服務(wù),且不具備不可否認(rèn)性。Thammarat C等人在文獻[5]中提出了一種輕量級的NFC認(rèn)證協(xié)議,該協(xié)議使用對稱加密技術(shù),每次使用不同的會話密鑰來實現(xiàn)對協(xié)議運行雙方的身份進行認(rèn)證。但是,該協(xié)議也存在以下缺點:(1)秘鑰管理復(fù)雜,終端要實現(xiàn)認(rèn)證,就必須預(yù)先保留所有參與認(rèn)證主體的組秘鑰,這對于容量受限的NFC卡,該協(xié)議不具備可行性;(2)缺乏不可否認(rèn)性。
本文提出一種基于虧格為2的超橢圓公鑰密碼體制(HECC)的NFC認(rèn)證協(xié)議。與文獻[4]和文獻[5]提出的協(xié)議相比,新協(xié)議提供了雙向認(rèn)證特性和不可否認(rèn)性;協(xié)議認(rèn)證結(jié)束后會產(chǎn)生一個臨時會話秘鑰,用于建立安全的會話通道;還對HECC中的標(biāo)量乘算法做了進一步優(yōu)化,通過減少標(biāo)量的漢明重量,使得標(biāo)量乘的運算量進一步減少。
1.1 超橢圓曲線密碼體制
超橢圓曲密碼體制HECC(Hyperelliptic Curve Cryptosystem)[6]是由Koblitz提出的一種公鑰密碼加密體制。與RSA和ECC公鑰密碼體制相比,HECC能夠在更小的有限域?qū)崿F(xiàn)相同的安全性。
超橢圓曲線方程滿足v+h(u)=f(u),超橢圓曲線上的點可以記為(u,v)。在超橢圓曲線中,f(u)是次數(shù)為2g+1的首一多項式。h(u)的次數(shù)不大g,則稱超橢圓曲線的虧格為g。一般地,超橢圓曲線點Pi的有限和形式稱為除子,記D=∑miPi,∑mi稱為除子的次數(shù),D0表示次數(shù)為零的除子。
在超橢圓曲線C的Jacobian商群上,兩個約簡除子經(jīng)過復(fù)合和約簡后,可以唯一得到另一個約簡除子,記為D1+D2=D3,又稱為除子加運算。除子加運算滿足交換律和結(jié)合律,m個除子D相加記為mD,如式(1),mD運算被稱作標(biāo)量乘。
特殊點的標(biāo)量乘,如2k(k=1,2,…)可以預(yù)先計算并存儲下來。標(biāo)量乘mD可以表示為式(2)。在式(2)中qi取0和1兩個值。
形如式(2)的標(biāo)量乘形式,只需對qi≠0的所有項進行除子加運算。標(biāo)量m的漢明重量(m二進制表示后含1的個數(shù))為M,則標(biāo)量乘mD只需進行M-1次除子加運算。
HECC安全性是基于有限域上超橢圓曲線的Jacobian[7]商群上的離散對數(shù)(HECCDLP)問題的難解性[8]。HECCDLP問題描述為:對于超橢圓曲線上的兩個除子D1和D2,有D2=kD1,已知k和D1在多項式時間內(nèi)可以求得D2;反之,已知D2﹑D1求k是困難的。
1.2 NFC近場通信技術(shù)
NFC(Near Field Communication)是一種短距離的無線通信技術(shù),有效工作范圍為10 cm,工作頻率為13.56 MHz,最大傳輸距離為424 kb/s。NFC設(shè)備一般應(yīng)用于如手機﹑平板電腦等便攜式設(shè)備以及金融IC卡﹑門禁卡﹑電子標(biāo)簽上面。NFC傳輸距離短,可以有效防止信息泄露,而且與RFID技術(shù)兼容,近年來廣泛應(yīng)用于無線支付方面,如銀行卡﹑公交卡以及大量的手機的電子現(xiàn)金交易。
本節(jié)提出一種基于超橢圓公鑰密碼體制的輕量級數(shù)字簽名算法和基于超橢圓的密碼體制的輕量級的公加解密算法。并用這兩種算法實現(xiàn)輕量級的NFC身份認(rèn)證協(xié)議。
設(shè)有限域Fq(q是素數(shù),且q>280)上虧格為2的超橢圓曲線的Jacobian商群為J,其J的階#J=nh,n為大素數(shù),h為較小的余因子。在J上選取一個主除子D作為協(xié)議的公有參數(shù)。文中遇到的符號如表1所示。
表1 符號表
2.1 算法描述
2.1.1 數(shù)字簽名算法
數(shù)字簽名包括簽名生成和簽名驗證兩部分,分別描述如下。
簽名生成:k1D為預(yù)先計算儲存在A中的標(biāo)量乘,可以由A隨時更新,A對消息M簽名需完成下述步驟。
(1)計算M的hash值c=h(M);
(2)N隨機生成一個漢明重量小于40的隨機數(shù)k11;
(4)A用自己的私鑰dA計算:(5)A向B發(fā)送消息M和簽名(r,s)。簽名驗證:B對簽名(r,s)驗證,需要完成以下過程。
(1)計算 u1=h( M) s-1,u2=rs-1;
(2)計算 X = u1D + u2QA,如果X=[1,0],則認(rèn)證失敗;否則,計算 v=λ(X);
(3)v=r時,則對A的身份認(rèn)證成功;否則,認(rèn)證失敗。
證明:B對A的簽名信息進行驗證:
所以,只要滿足λ( X) =λ( R),即可對N的身份進行確認(rèn)。
因此,攻擊者偽造簽名就必須獲取A的私鑰。從A的公鑰中解算出私鑰是一個HECCDLP難題;攻擊者想從一次簽名信息中解算出私鑰dA,必須從(k1+k11)D中解算出(k1+k11),同樣是一個HECCDLP難題。所以,該算法具有內(nèi)在的安全性和不可否認(rèn)性。
2.1.2 基于HECC加解密算法
HECC加解密算法包括密文生成和密文解密兩部分,分別描述如下。
密文生成:A使用B的公鑰QB預(yù)生成kQB﹑kD。A對消息M加密需要完成以下步驟。
(2)A向B發(fā)送密文(e,kD)。
密文解密:B使用自己的私鑰dB解密密文需要完成以下步驟。
證明:因為
所以,根據(jù)密文信息B可以唯一確定明文信息M。攻擊者從密文解算出明文信息,必須知道B的私有秘鑰,而密文中僅有公鑰QB包含B的私鑰信息,QB為公開參數(shù)。攻擊者從QB中解算出dB是一個HECCDLP難題,所以該算法具有內(nèi)在安全性。
2.2 協(xié)議描述
本節(jié)給出一種新的基于超橢圓公鑰密碼體制的NFC身份認(rèn)證協(xié)議,實現(xiàn)NFC卡(N)﹑NFC讀卡終端(POS)和身份認(rèn)證服務(wù)器(AS)之間的身份認(rèn)證和秘鑰協(xié)商。如圖1所示,NFC卡工作在被動模式下,N與AS之間的通信數(shù)據(jù)必須經(jīng)過POS進行數(shù)據(jù)轉(zhuǎn)發(fā)。此外,新協(xié)議完成認(rèn)證的同時,產(chǎn)生一個一次一密的會話秘鑰。此會話秘鑰可以用于協(xié)議參與主體建立一條安全的通信信道,所以此協(xié)議也適合于工作在復(fù)雜的網(wǎng)絡(luò)環(huán)境下。
圖1 輕量級NFC身份認(rèn)證協(xié)議工作模型
新協(xié)議描述如下:
終端N生成一個隨機數(shù)n1和身份標(biāo)示IDN一起發(fā)送給讀卡終端POS。
POS→AS
POS生成隨機數(shù)n2﹑a,并使用文獻[9]提出的方案加密消息Q1=[n1⊕n2⊕h(IDN||IDpos||aD)],得到EpukAS[Q1],最后將信息EpukAS[Q1],IDN,IDpos,aD發(fā)送到服務(wù)器AS。
AS→POS
AS使用使用私鑰EprkAS,解密出消息n1⊕n2||h(IDN||IDpos||aD); 根 據(jù) IDN,IDpos,aD 計算 h'(IDN||IDpos||aD。 如 果 h'(IDN||IDpos||aD 和h(IDN||IDpos||aD相等,則繼續(xù)運行協(xié)議;否則,停止會話。AS生成隨機數(shù)n3﹑b,并使用POS的公鑰對信息n1⊕n2⊕n3||h(IDAS||bD)加密,并將密文連同bD一起發(fā)送給POS。
POS→N
POS使用其私鑰,解密出消息n1⊕n2⊕n3||h(IDAS||bD)。POS計算h'(IDAS||bD)。如果滿足條件h(IDAS||bD)=h'(IDAS||bD),則完成對AS的身份認(rèn)證;否則,結(jié)束會話。對AS身份認(rèn)證成功后,POS使用n1⊕n2計算出n3,并將n3﹑IDpos發(fā)送給N。
N→POS
N隨機產(chǎn)生一個會話秘鑰k1,使用2.1.2算法生成密文。使用2.1.1算法生成簽名。最后將e1﹑e2發(fā)給POS。
POS→AS
POS根據(jù)aD﹑bD,使用基于HECC的Diffie-Hellman密鑰協(xié)議[7],計算出會話秘鑰k2,并加密明文e1||e2||n3||n2得到[e1||e2||n3||n2]k2,然后將其發(fā)送給AS。
AS→POS
AS使用上一步同樣的方法產(chǎn)生秘鑰k2,并解密密文。若,則繼續(xù)計算⊕ n2⊕n'
2。AS使用2.1.1簽名算法對進行驗證。若驗證通過,則AS完成對POS和N的身份認(rèn)證。AS使用k2生成密文[n1||IDN||k1]k2,并轉(zhuǎn)發(fā)給POS。
POS→N
POS使用k2從密文中解密出。若,則POS完成對AS和N的身份認(rèn)證,并使用k'1加密明文IDpos||n1||IDAS后發(fā)送給N。
N
N使用k1,從密文解密中解得IDpos||n1||IDAS,則完成對POS和AS的身份認(rèn)證;否則,驗證失敗。
本節(jié)對輕量級NFC身份認(rèn)證協(xié)議進行對比分析,已證明新協(xié)議適合NFC系統(tǒng)。
3.1 安全性分析
在文獻[4]中,U1使用認(rèn)證服務(wù)器AuC 的 公 鑰, 加 密UID1||URx1||n1, 得 到 密 文Q1=EpukAuc(UID1||URx1||n1),并將Q1發(fā)給U2。同樣,U2使用AuC的公鑰,計算得到Q2=EpukAuC(Q1||UID1|| N2||UID2||URx2),并將Q2發(fā)送給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轉(zhuǎn)發(fā)給U1后,U1可以利用其信息解算出n1,從而驗證AuC的身份。但是,R1﹑R3缺乏U2的相關(guān)信息,導(dǎo)致U1不能對U2的身份進行驗證。因此,該協(xié)議提供的是單向認(rèn)證服務(wù)。實際上,系統(tǒng)中任何其他合法用法都可以偽造U2與U1進行通信,而U1卻無法對U2的身份進行有效認(rèn)證[10]。
文獻[5]中,Thammarat C提出一種基于對稱密碼的輕量級NFC身份認(rèn)證協(xié)議。該文獻包括兩個子協(xié)議。子協(xié)議一為NFC卡N和身份認(rèn)證協(xié)議AS之間的相互認(rèn)證;子協(xié)議二為NFC卡﹑讀卡器終端POS和身份認(rèn)證服務(wù)器終端AS之間的三方認(rèn)證。在子協(xié)議一中,N和AS之間通過向?qū)Ψ匠鍪緯捗罔€SKN-POSj,j=1,…,m來表明自己的身份。N和AS使用相同的會話秘鑰SKN-POSj,導(dǎo)致N和AS一方可以隨意偽造另一方的身份發(fā)起交易;同理,子協(xié)議二也具有相同的安全隱患。所以,該協(xié)議存在安全隱患,不具備不可否認(rèn)性。
本文提出的新協(xié)議解決了文獻[4-5]中身份認(rèn)證協(xié)議的缺點。新協(xié)議中,每個認(rèn)證主體都有一個唯一的私鑰。POS使用AS的公鑰,生成秘鑰信息EpukAS[n1⊕n2||h( I DN||I DPOS||a D)],AS從POS發(fā) 來的密文中解密n1⊕n2,并向POS出示,則N完成對AS身份的確認(rèn)。同理,AS使用同樣的方法完成對POS的身份認(rèn)證。POS完成對AS身份的確認(rèn)后,使用協(xié)商的會話秘鑰加密AS和POS之間的通信數(shù)據(jù)。所以,該協(xié)議能夠有效保證AS和POS之間通信數(shù)據(jù)的安全。
N生成隨機數(shù)k1,并使用AS的公鑰和自己的私鑰dN,生成密文,。N通過POS發(fā)送向AS發(fā)送密文e1﹑e2。AS根據(jù)密文e1﹑e2,驗證N的身份并解出秘鑰k1。AS分別向POS﹑N發(fā)送對POS﹑N身份的驗證結(jié)果。POS從AS發(fā)來的密文信息中解出明文n2||IDN,則AS完成對N的身份認(rèn)證。POS確定N的身份,并向N轉(zhuǎn)發(fā)密文信息[IDPOS||n1||IDAS]k1。N使用秘鑰k1解出IDpos||n1||IDAS,則N完成對POS 和AS的身份確認(rèn)。
與已有文獻提出的協(xié)議相比,新協(xié)議應(yīng)用超橢圓公鑰密碼技術(shù),很好地解決了文獻[4-5]提出的身份認(rèn)證協(xié)議面臨的安全威脅。利用會話秘鑰,在POS和AS﹑N和POS之間建立一個安全的會話信道,使協(xié)議可以在不安全的網(wǎng)絡(luò)上運行,而不需要單獨的安全信道。
3.2 效率分析
下面從秘鑰存儲和計算開銷兩方面對新協(xié)議進行分析,以說明新協(xié)議適合應(yīng)用于計算和存儲有限的NFC系統(tǒng)。
新協(xié)議中,HECC選擇有限域為80 bit,hash函數(shù)生成算法為sha1,對稱加密采用128 bit AES算法。表2為新協(xié)議與文獻提出協(xié)議關(guān)于NFC卡片存儲存儲開銷和認(rèn)證交換數(shù)據(jù)的量的對比。從表2可看出,文獻[5]提出的方案認(rèn)證數(shù)據(jù)量最大,新協(xié)議和文獻[4]提出的協(xié)議相當(dāng)。在秘鑰存儲方面,文獻[5]的儲存開銷隨著POS機數(shù)量n的增加而增加。而新協(xié)議存儲開銷比文獻[4]多了66.67%。
表2 NFC卡儲存及認(rèn)證交換數(shù)據(jù)量
表3則為三種協(xié)議方案的NFC卡計算開銷方面的對比??梢钥闯觯聟f(xié)議進行的hash運算最少。與文獻[4]相比,新協(xié)議NFC卡端只需要進行一次AES運算。文獻[5]將認(rèn)證信息串聯(lián)在一起進行加密,明文變長,使用160 bit的ECC對明文信息進行加密必須分兩次進行。而新協(xié)議使用模加的方式連接各個信息段,從而將明文信息控制在160 bit內(nèi),使得只需要一次HECC運算,便可完成對明文信息的加密。新協(xié)議預(yù)先計算標(biāo)量乘kQAS,kD節(jié)省了一次HECC加密運算,與文獻[5]相比,新協(xié)議犧牲,存儲容量,換取了運算速度的提升。此外,新協(xié)議限制了k2的漢明重量,進一步減少了標(biāo)量的乘計算量。
表3 NFC卡計算開銷對比
從以上對比可以看出,與已有文獻提出的協(xié)議相比,新協(xié)議執(zhí)行加密解密要求的計算量最小,對存儲容量要求低,適合應(yīng)用于存儲容量和計算能力受限的NFC系統(tǒng)。
本文提出的輕量級NFC身份認(rèn)證協(xié)議具有超橢圓曲線密碼體制短密鑰﹑運算效率高和安全性高的特點。從安全性和效率上進行分析,新協(xié)議解決了Lee Et﹑Thammarat C等人所提方案的安全缺陷,同時提高了協(xié)議的執(zhí)行效率。此外,在新協(xié)議中將身份認(rèn)證和會話密鑰協(xié)商同時進行,并使用會話密鑰建立安全的通信信道,增強了系統(tǒng)的安全性,新協(xié)議可以工作在復(fù)雜的網(wǎng)絡(luò)環(huán)境中。目前,設(shè)計基于HECC的離線支付協(xié)議是下一步要開展的工作。
[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].西安:西安電子科技大學(xué),2001.
ZHANG Fang-guo.Research on Hyperelliptic Curve Cryptosystems[D].Xi’an:Xidian University,2001.
[9] 肖如良.超橢圓曲線密碼體制的理論與實現(xiàn)[M].北京:經(jīng)濟管理出版社,2006.
XIAO Ru-liang.The Theory and Implementation of the Hyperelliptic Curve Cryptosystem[M].Beijing:Economy & Management Publishing House,2006.
[10] 蘇劍飛,王景偉.網(wǎng)絡(luò)攻擊技術(shù)與網(wǎng)絡(luò)安全探析[J].通信技術(shù),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—),男,碩士,主要研究方向為移動通信﹑信息安全;
汪學(xué)明(1965—),男,博士,教授,主要研究方向為無線與移動通信﹑協(xié)議分析與模型檢測﹑密碼學(xué)與信息安全。
2016-07-17;
2016-10-24 Received date:2016-07-17;Revised date:2016-10-24
國家自然科學(xué)基金項目(No.[2011]61163049);貴州省自然科學(xué)基金資助項目黔科合J字(No.[2011]2197)
Foundation Item:National Natural Science Foundation of China(No.[2011]61163049);Natural Science Foundation of Guizhou Province(No. [2011]2197)