文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.08.030
中文引用格式: 黎遠松,王建璽,,梁金明,,等. ECC結(jié)合輕量級Hash函數(shù)的RFID系統(tǒng)安全認證方案[J].電子技術(shù)應(yīng)用,2015,,41(8):106-109.
英文引用格式: Li Yuansong,,Wang Jianxi,Liang Jinming,,et al. A secure authentication scheme for RFID systems base on ECC and lightweight Hash[J].Application of Electronic Technique,,2015,41(8):106-109.
0 引言
植入式射頻識別(Radio Frequency Identification,RFID)系統(tǒng)[1]是一種基于物聯(lián)網(wǎng)(Internet of Things,,IoT)技術(shù)的醫(yī)療保健解決方案,,RFID可以植入人體內(nèi),采集人體信息,,在緊急情況下能挽救病人的生命[2],。由于標(biāo)簽與閱讀器之間的通信信道存在風(fēng)險,且RFID系統(tǒng)是一種資源有限系統(tǒng),,因此,,植入式RFID系統(tǒng)需要一種魯棒、優(yōu)化和輕量級的安全框架來滿足安全等級要求和能量約束[3-4],。
文獻[5]提出了一種基于橢圓曲線密碼(Elliptic Curve Cryptography,,ECC)的隨機密鑰機制,盡管該機制能有效抵抗與RFID系統(tǒng)相關(guān)的黑客攻擊,,但它仍然不能進行相互驗證,。文獻[6]提出了一種融合ID驗證傳輸協(xié)議和ECC的認證機制,該機制達到了RFID系統(tǒng)要求的安全級別,,但需要較大的標(biāo)簽認證計算時間和內(nèi)存需求,。
基于上述算法存在的問題,本文提出了一種應(yīng)用于植入式FRID系統(tǒng)的基于ECC和輕量級Hash函數(shù)的雙向認證方案,。相比傳統(tǒng)方案,,本文方法具有較高的安全等級,且在通信開銷和內(nèi)存需求方面性能優(yōu)越,。
1 提出的雙向認證方案
提出的認證方案由三個階段組成:(1)閱讀器身份認證和驗證階段,;(2)標(biāo)簽身份認證階段;(3)標(biāo)簽身份驗證階段,。在本文算法中,,假設(shè)閱讀器與后端數(shù)據(jù)庫服務(wù)器之間的信道是安全的,植入式RFID系統(tǒng)[7]的標(biāo)簽與閱讀器之間的通信信道不安全,。相關(guān)參數(shù)和數(shù)學(xué)符號如表1所示,。
1.1 閱讀器身份認證和驗證
算法1 閱讀器身份認證和驗證的偽代碼
輸入:(r1,R1):閱讀器的私鑰和公鑰,。i1:閱讀器的計數(shù)器值
輸出:確定閱讀器是否可信,?
代碼
1.2 標(biāo)簽身份認證
Quark輕量級哈希算法依賴于非線性布爾函數(shù)和移位寄存器,其電路面積需求適合于植入式醫(yī)療設(shè)備[9,,10],。利用D-Quark輕量級哈希算法開發(fā)基于ECC的標(biāo)簽身份識別算法。
在標(biāo)簽身份認證階段,根據(jù)s2和IDt計算初始機密點s1∈E(Fg),。為了生成第2個機密點,,標(biāo)簽計算s2=f(X(s1)).P。從第2個機密點獲取第1個機密點比較困難,,因為標(biāo)簽需要運行橢圓離散對數(shù)算法,。第2個密鑰由第1個密鑰產(chǎn)生,故本文算法具有前向安全性,。
為了提高算法運行效率,,所選函數(shù)f必須對s2不會產(chǎn)生較大的漢明權(quán)重,保證在不影響安全性的前提下快速計算s2.P,。生成第2個密鑰后,,標(biāo)簽將選擇隨機整數(shù)k∈Zg且計算曲線坐標(biāo)點(x,y)=k.G,。標(biāo)簽首先計算d=x mod n,,然后將數(shù)字信號消息(d,c)發(fā)送給閱讀器,。若d=0,,標(biāo)簽重新選擇隨機數(shù)k∈Zg且計算下一個曲線坐標(biāo)點。標(biāo)簽計算IDt=Mb(X(s1))*Mb(X(s2)).P,,式中Mb將會輸出輸入值的一些中間比特位,。操作數(shù)*為非代數(shù)操作符∈Fg,作用于第一個機密點和第二個機密點,。然后,,標(biāo)簽計算c=k(hash(IDt))+X(s1).d)。如果c=0,,標(biāo)簽將選擇另一個整數(shù)k同時開始運行上述算法,。最后,標(biāo)簽將計算值(c,,d)和IDt并發(fā)送給閱讀器,。算法2描述了標(biāo)簽身份認證階段。
算法2 標(biāo)簽身份認證偽代碼
輸入:rs∈Zn:隨機整數(shù)(來自閱讀器信息)和hello請求,。s1:標(biāo)簽第一個機密點,。
輸出:IDt:標(biāo)簽ID。(c,,d):標(biāo)簽數(shù)字簽名,。
代碼
1.3 標(biāo)簽身份驗證
在這個階段,為了驗證標(biāo)簽的可信性,,閱讀器選擇隨機整數(shù)rs∈Zn且計算其公鑰pr=rs.P,。對j∈[1,n-1],閱讀器檢查是否d,,c∈Zn。若結(jié)果可信,,閱讀器計算h=Hash(IDt),,其中,Hash為Quark輕量級哈希函數(shù),,在上一階段,,哈希函數(shù)用于生成標(biāo)簽的數(shù)字簽名。一旦完成計算IDt的哈希函數(shù),,閱讀器選擇h值最左邊的比特位作為z值,。然后,閱讀器計算w,、u1,、u2,如算法3所示,。根據(jù)這些已經(jīng)計算出的值,,閱讀器計算曲線坐標(biāo)點(x,y)=u1.P+pr,。最后,,如果等式r=x mod n成立,則閱讀器會將標(biāo)簽的數(shù)字簽名作為標(biāo)簽可信性的標(biāo)志,。
算法3 標(biāo)簽身份驗證偽代碼
輸入:IDt:標(biāo)簽ID,。(c,d):標(biāo)簽數(shù)字簽名,。
輸出:驗證標(biāo)簽是否可信,?
代碼
2 性能評估
2.1 安全性分析
雙向認證:在閱讀器認證階段,為了認證閱讀器是否合法,,標(biāo)簽計算等式是否成立,。相反,為了認證標(biāo)簽是否可信(基于標(biāo)簽傳輸?shù)腎Dr和數(shù)字簽名消息),,閱讀器檢查等式r=x mod n是否成立,。這就是本文算法中的雙向認證過程。
可用性:在本文算法中,,一旦完成雙向認證,,標(biāo)簽和閱讀器將改變它們的機密點s1,s2,,s3,,因此,攻擊者不可能實現(xiàn)拒絕服務(wù)攻擊。
前向安全:在本文算法中,,如果攻擊者試圖根據(jù)已經(jīng)竊聽的信息進行偽裝,,例如標(biāo)簽的第2個密鑰s2,攻擊者將不可能從竊聽的信息獲取任何有用信息,。從第2個密鑰獲取第1個密鑰需要解決ECDSA問題,,然而該問題不易求解。
非法跟蹤標(biāo)簽:本文算法的公共信息僅關(guān)心標(biāo)簽的ID,。在標(biāo)簽身份認證階段,,通過非代數(shù)操作標(biāo)簽的第1個密鑰和第2個密鑰的橫坐標(biāo)的中間比特位來生成ID值。因此,,從現(xiàn)有的ID獲取標(biāo)簽的密鑰是不可能的,。主要原因是獲取密鑰意味著需要計算橢圓曲線離散對數(shù)算法。因為求解離散對數(shù)問題與整數(shù)分解問題一樣困難,,因此該問題很難求解,。
竊聽攻擊:攻擊者很難完成該計算過程,因為需要求解離散對數(shù)問題,,離散對數(shù)問題在計算上是不可行的,。與上面原理相似,在閱讀器認證階段,,盡管攻擊者能獲取R1或R2或r3,,但不能很容易獲取與閱讀器相關(guān)的其他安全信息?;谏厦娴挠懻?,攻擊者也不能完成任何重放攻擊。
偽裝攻擊可考慮兩種不同場景:
(1)偽裝成閱讀器:如果攻擊者嘗試偽裝成閱讀器,,它將會失敗,。因為如果攻擊者要嘗試偽裝成虛假閱讀器,它必須計算R1且同時嘗試計算r2(不容易計算),。然而,,沒有閱讀器的計算值R3=r1.IDt+r3s1,攻擊者(虛假閱讀器)將不可能計算出來使自己可信,。
(2)偽裝成標(biāo)簽:為了偽裝成標(biāo)簽,,如前面所述,攻擊者需要訪問標(biāo)簽的密鑰s1s2,,然而不能從IDt的公共信息獲取密鑰,。
基于以上討論證明,本文算法能安全抵抗植入式RFID系統(tǒng)的攻擊,。表2顯示了本文算法與其他幾種基于ECC算法的安全性比較結(jié)果,?!癥ES”表示能安全抵抗上面提到的攻擊?!癗O”表示不能安全抵抗攻擊,。從安全性角度來看,盡管本文算法的安全特性與文獻[6]相似,,但后文將表明本文在計算和通信開銷上的優(yōu)越性,。
2.2 計算開銷分析
可植入標(biāo)簽的資源有限性限制了植入式RFID系統(tǒng)的性能,因此,,認證算法需要保證負載較小。根據(jù)計算成本,、內(nèi)存需求和通信開銷標(biāo)準(zhǔn)來分析算法的計算性能,。
使用標(biāo)準(zhǔn)163比特橢圓曲線域參數(shù)加密算法,這些參數(shù)定義在有限比特位域F(2163),。利用ECDSA算法的坐標(biāo)系(x,,y),在F(2m)域的橢圓曲線參數(shù)通過多元組T=(m,,f(x),,a,b,,G,,n,h)定義,,其中m=163且通過f(x)=x163+x7+x6+x3+111定義F(2163),。文獻[11]根據(jù)橢圓曲線的163比特位的純量乘法計算算法運行時間,即SHA-1哈希函數(shù)和高級加密標(biāo)準(zhǔn)算法(AES),。根據(jù)實驗結(jié)果,,在5 MHz頻率時,163比特位橢圓曲線純量相乘需要的計算時間為64 ms,。在低頻時,,例如323 kHz,完成163比特位橢圓曲線純量相乘的計算時間為243 ms,,與64 ms相比,,時間太長。因此,,本文在5 MHz頻率下計算本文算法的運行時間,。
標(biāo)簽的內(nèi)存需求包括公鑰和私鑰內(nèi)存需求,私鑰表示標(biāo)簽的密鑰s1,,s2且公鑰表示標(biāo)簽的公鑰IDt,。在本文算法中,,系統(tǒng)內(nèi)存需求由(IDt,s1,,s2)組成,,其中IDt需要163比特位內(nèi)存,s1和s2總共需要326比特位內(nèi)存,。因此,,總內(nèi)存為:62 byte=163 bit+326 bit。表3顯示了本文算法與其他算法的性能比較結(jié)果,。
本文標(biāo)簽身份識別算法的計算成本包括三個標(biāo)量點的計算且計算時間為:64 ms×3=192 ms,。因此,本文標(biāo)簽身份識別算法需要192 ms完成標(biāo)量點相乘,。從表3可以看出,,當(dāng)ECC點乘數(shù)量增加時,它將直接影響完成該運算所需的時間,。因此,,在實時系統(tǒng)中,系統(tǒng)需要考慮成功實現(xiàn)認證所需時間的問題,。
為了計算標(biāo)簽認證階段中,,標(biāo)簽與閱讀器之間的通信開銷,本文計算基于標(biāo)簽與閱讀器之間通信消息IDt,,(d,,c)的通信開銷,這里,,通信開銷為41 B,,計算式為:(163×2/8=326/8≈41 B)。
將本文算法與其他算法的通信開銷進行比較,,結(jié)果表明,,本文算法成功減少了48%的通信開銷。在總體內(nèi)存消耗方面,,本文算法降低了24%的內(nèi)存消耗,。與文獻[6]相比,本文算法減少了39%的內(nèi)存消耗,,計算時間減少了60%,。然而,與文獻[4]相比,,計算時間增加了50%,。
3 結(jié)語
針對植入式RFID系統(tǒng)存在的問題,本文提出了一種基于橢圓曲線密碼(ECC)和輕量級Hash函數(shù)的安全雙向認證方案,。提出的方案依賴于橢圓曲線加密算法,,比傳統(tǒng)加密算法所需較少的密鑰和公鑰的數(shù)據(jù)量,,且計算量也較小。實驗表明,,本文算法能夠抵抗相關(guān)攻擊,,安全等級高。另外,,與傳統(tǒng)算法相比,,本文認證機制通信開銷降低了48%,內(nèi)存需求降低了24%~39%,。
未來工作中,,將進一步研究本文算法,使其能夠廣泛應(yīng)用于IoT系統(tǒng),。
參考文獻
[1] 謝小芳,,黃俊,譚成宇.基于RFID的電力溫度監(jiān)控系統(tǒng)的軟件分析與設(shè)計[J].電子技術(shù)應(yīng)用,,2013,39(1):23-26.
[2] GUBBI J,,BUYYA R,,MARUSIC S,et al.Internet of Things(IoT):a vision,,architectural elements,,and future directions[J].Future Generation Computer Systems,2013,,29(7):1645-1660.
[3] 韋永壯,,歐陽寧,馬春波.一個基于穩(wěn)固加密RFID協(xié)議的安全性分析[J].計算機研究與發(fā)展,,2012,,49(5):958-961.
[4] BATINA L,GUAJARDO J,,KERINS T,,et al.Public-key cryptography for RFID-tags[C].Pervasive Computing and Communications Workshops, 2007. PerCom Workshops′07.Fifth Annual IEEE International Conference on.IEEE,2011:217-222.
[5] ZHANG X,,LI J,,WU Y,et al.An ECDLP-based randomized key RFID authentication protocol[C].Network Computing and Information Security(NCIS),,2011 International Conference on.IEEE,,2012,2:146-149.
[6] LIAO Y P,,HSIAO C M.A secure ECC-based RFID authentication scheme integrated with ID-verifier transfer protocol[J].Ad Hoc Networks,,2014,,18(3):133-146.
[7] 苑津莎,徐揚,,戚銀城,,等.基于非對稱密鑰和Hash函數(shù)的RFID雙向認證協(xié)議[J].密碼學(xué)報,2014(5):456-464.
[8] 張文芳,,王小敏,,郭偉,等.基于橢圓曲線密碼體制的高效虛擬企業(yè)跨域認證方案[J].電子學(xué)報,,2014,,42(6):1095-1102.
[9] AUMASSON J P,HENZEN L,,MEIER W,,et al.Quark:a lightweight hash[J].Journal of cryptology,2013,,26(2):313-339.
[10] 張兵,,馬新新,秦志光.輕量級RFID雙向認證協(xié)議設(shè)計與分析[J].電子科技大學(xué)學(xué)報,,2013,,42(3):425-430.
[11] GODOR G,IMRE S.Elliptic curve cryptography based authentication protocol for low-cost RFID tags[C].RFID-Technologies and Applications(RFID-TA),,2011 IEEE International Conference on.IEEE,,2011:386-393.