文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.08.030
中文引用格式: 黎遠松,王建璽,梁金明,等. ECC結合輕量級Hash函數(shù)的RFID系統(tǒng)安全認證方案[J].電子技術應用,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)技術的醫(yī)療保健解決方案,RFID可以植入人體內,采集人體信息,在緊急情況下能挽救病人的生命[2]。由于標簽與閱讀器之間的通信信道存在風險,且RFID系統(tǒng)是一種資源有限系統(tǒng),因此,植入式RFID系統(tǒng)需要一種魯棒、優(yōu)化和輕量級的安全框架來滿足安全等級要求和能量約束[3-4]。
文獻[5]提出了一種基于橢圓曲線密碼(Elliptic Curve Cryptography,ECC)的隨機密鑰機制,盡管該機制能有效抵抗與RFID系統(tǒng)相關的黑客攻擊,但它仍然不能進行相互驗證。文獻[6]提出了一種融合ID驗證傳輸協(xié)議和ECC的認證機制,該機制達到了RFID系統(tǒng)要求的安全級別,但需要較大的標簽認證計算時間和內存需求。
基于上述算法存在的問題,本文提出了一種應用于植入式FRID系統(tǒng)的基于ECC和輕量級Hash函數(shù)的雙向認證方案。相比傳統(tǒng)方案,本文方法具有較高的安全等級,且在通信開銷和內存需求方面性能優(yōu)越。
1 提出的雙向認證方案
提出的認證方案由三個階段組成:(1)閱讀器身份認證和驗證階段;(2)標簽身份認證階段;(3)標簽身份驗證階段。在本文算法中,假設閱讀器與后端數(shù)據(jù)庫服務器之間的信道是安全的,植入式RFID系統(tǒng)[7]的標簽與閱讀器之間的通信信道不安全。相關參數(shù)和數(shù)學符號如表1所示。
1.1 閱讀器身份認證和驗證
算法1 閱讀器身份認證和驗證的偽代碼
輸入:(r1,R1):閱讀器的私鑰和公鑰。i1:閱讀器的計數(shù)器值
輸出:確定閱讀器是否可信?
代碼
1.2 標簽身份認證
Quark輕量級哈希算法依賴于非線性布爾函數(shù)和移位寄存器,其電路面積需求適合于植入式醫(yī)療設備[9,10]。利用D-Quark輕量級哈希算法開發(fā)基于ECC的標簽身份識別算法。
在標簽身份認證階段,根據(jù)s2和IDt計算初始機密點s1∈E(Fg)。為了生成第2個機密點,標簽計算s2=f(X(s1)).P。從第2個機密點獲取第1個機密點比較困難,因為標簽需要運行橢圓離散對數(shù)算法。第2個密鑰由第1個密鑰產(chǎn)生,故本文算法具有前向安全性。
為了提高算法運行效率,所選函數(shù)f必須對s2不會產(chǎn)生較大的漢明權重,保證在不影響安全性的前提下快速計算s2.P。生成第2個密鑰后,標簽將選擇隨機整數(shù)k∈Zg且計算曲線坐標點(x,y)=k.G。標簽首先計算d=x mod n,然后將數(shù)字信號消息(d,c)發(fā)送給閱讀器。若d=0,標簽重新選擇隨機數(shù)k∈Zg且計算下一個曲線坐標點。標簽計算IDt=Mb(X(s1))*Mb(X(s2)).P,式中Mb將會輸出輸入值的一些中間比特位。操作數(shù)*為非代數(shù)操作符∈Fg,作用于第一個機密點和第二個機密點。然后,標簽計算c=k(hash(IDt))+X(s1).d)。如果c=0,標簽將選擇另一個整數(shù)k同時開始運行上述算法。最后,標簽將計算值(c,d)和IDt并發(fā)送給閱讀器。算法2描述了標簽身份認證階段。
算法2 標簽身份認證偽代碼
輸入:rs∈Zn:隨機整數(shù)(來自閱讀器信息)和hello請求。s1:標簽第一個機密點。
輸出:IDt:標簽ID。(c,d):標簽數(shù)字簽名。
代碼
1.3 標簽身份驗證
在這個階段,為了驗證標簽的可信性,閱讀器選擇隨機整數(shù)rs∈Zn且計算其公鑰pr=rs.P。對j∈[1,n-1],閱讀器檢查是否d,c∈Zn。若結果可信,閱讀器計算h=Hash(IDt),其中,Hash為Quark輕量級哈希函數(shù),在上一階段,哈希函數(shù)用于生成標簽的數(shù)字簽名。一旦完成計算IDt的哈希函數(shù),閱讀器選擇h值最左邊的比特位作為z值。然后,閱讀器計算w、u1、u2,如算法3所示。根據(jù)這些已經(jīng)計算出的值,閱讀器計算曲線坐標點(x,y)=u1.P+pr。最后,如果等式r=x mod n成立,則閱讀器會將標簽的數(shù)字簽名作為標簽可信性的標志。
算法3 標簽身份驗證偽代碼
輸入:IDt:標簽ID。(c,d):標簽數(shù)字簽名。
輸出:驗證標簽是否可信?
代碼
2 性能評估
2.1 安全性分析
雙向認證:在閱讀器認證階段,為了認證閱讀器是否合法,標簽計算等式是否成立。相反,為了認證標簽是否可信(基于標簽傳輸?shù)腎Dr和數(shù)字簽名消息),閱讀器檢查等式r=x mod n是否成立。這就是本文算法中的雙向認證過程。
可用性:在本文算法中,一旦完成雙向認證,標簽和閱讀器將改變它們的機密點s1,s2,s3,因此,攻擊者不可能實現(xiàn)拒絕服務攻擊。
前向安全:在本文算法中,如果攻擊者試圖根據(jù)已經(jīng)竊聽的信息進行偽裝,例如標簽的第2個密鑰s2,攻擊者將不可能從竊聽的信息獲取任何有用信息。從第2個密鑰獲取第1個密鑰需要解決ECDSA問題,然而該問題不易求解。
非法跟蹤標簽:本文算法的公共信息僅關心標簽的ID。在標簽身份認證階段,通過非代數(shù)操作標簽的第1個密鑰和第2個密鑰的橫坐標的中間比特位來生成ID值。因此,從現(xiàn)有的ID獲取標簽的密鑰是不可能的。主要原因是獲取密鑰意味著需要計算橢圓曲線離散對數(shù)算法。因為求解離散對數(shù)問題與整數(shù)分解問題一樣困難,因此該問題很難求解。
竊聽攻擊:攻擊者很難完成該計算過程,因為需要求解離散對數(shù)問題,離散對數(shù)問題在計算上是不可行的。與上面原理相似,在閱讀器認證階段,盡管攻擊者能獲取R1或R2或r3,但不能很容易獲取與閱讀器相關的其他安全信息?;谏厦娴挠懻?,攻擊者也不能完成任何重放攻擊。
偽裝攻擊可考慮兩種不同場景:
(1)偽裝成閱讀器:如果攻擊者嘗試偽裝成閱讀器,它將會失敗。因為如果攻擊者要嘗試偽裝成虛假閱讀器,它必須計算R1且同時嘗試計算r2(不容易計算)。然而,沒有閱讀器的計算值R3=r1.IDt+r3s1,攻擊者(虛假閱讀器)將不可能計算出來使自己可信。
(2)偽裝成標簽:為了偽裝成標簽,如前面所述,攻擊者需要訪問標簽的密鑰s1s2,然而不能從IDt的公共信息獲取密鑰。
基于以上討論證明,本文算法能安全抵抗植入式RFID系統(tǒng)的攻擊。表2顯示了本文算法與其他幾種基于ECC算法的安全性比較結果?!癥ES”表示能安全抵抗上面提到的攻擊?!癗O”表示不能安全抵抗攻擊。從安全性角度來看,盡管本文算法的安全特性與文獻[6]相似,但后文將表明本文在計算和通信開銷上的優(yōu)越性。
2.2 計算開銷分析
可植入標簽的資源有限性限制了植入式RFID系統(tǒng)的性能,因此,認證算法需要保證負載較小。根據(jù)計算成本、內存需求和通信開銷標準來分析算法的計算性能。
使用標準163比特橢圓曲線域參數(shù)加密算法,這些參數(shù)定義在有限比特位域F(2163)。利用ECDSA算法的坐標系(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ù)和高級加密標準算法(AES)。根據(jù)實驗結果,在5 MHz頻率時,163比特位橢圓曲線純量相乘需要的計算時間為64 ms。在低頻時,例如323 kHz,完成163比特位橢圓曲線純量相乘的計算時間為243 ms,與64 ms相比,時間太長。因此,本文在5 MHz頻率下計算本文算法的運行時間。
標簽的內存需求包括公鑰和私鑰內存需求,私鑰表示標簽的密鑰s1,s2且公鑰表示標簽的公鑰IDt。在本文算法中,系統(tǒng)內存需求由(IDt,s1,s2)組成,其中IDt需要163比特位內存,s1和s2總共需要326比特位內存。因此,總內存為:62 byte=163 bit+326 bit。表3顯示了本文算法與其他算法的性能比較結果。
本文標簽身份識別算法的計算成本包括三個標量點的計算且計算時間為:64 ms×3=192 ms。因此,本文標簽身份識別算法需要192 ms完成標量點相乘。從表3可以看出,當ECC點乘數(shù)量增加時,它將直接影響完成該運算所需的時間。因此,在實時系統(tǒng)中,系統(tǒng)需要考慮成功實現(xiàn)認證所需時間的問題。
為了計算標簽認證階段中,標簽與閱讀器之間的通信開銷,本文計算基于標簽與閱讀器之間通信消息IDt,(d,c)的通信開銷,這里,通信開銷為41 B,計算式為:(163×2/8=326/8≈41 B)。
將本文算法與其他算法的通信開銷進行比較,結果表明,本文算法成功減少了48%的通信開銷。在總體內存消耗方面,本文算法降低了24%的內存消耗。與文獻[6]相比,本文算法減少了39%的內存消耗,計算時間減少了60%。然而,與文獻[4]相比,計算時間增加了50%。
3 結語
針對植入式RFID系統(tǒng)存在的問題,本文提出了一種基于橢圓曲線密碼(ECC)和輕量級Hash函數(shù)的安全雙向認證方案。提出的方案依賴于橢圓曲線加密算法,比傳統(tǒng)加密算法所需較少的密鑰和公鑰的數(shù)據(jù)量,且計算量也較小。實驗表明,本文算法能夠抵抗相關攻擊,安全等級高。另外,與傳統(tǒng)算法相比,本文認證機制通信開銷降低了48%,內存需求降低了24%~39%。
未來工作中,將進一步研究本文算法,使其能夠廣泛應用于IoT系統(tǒng)。
參考文獻
[1] 謝小芳,黃俊,譚成宇.基于RFID的電力溫度監(jiān)控系統(tǒng)的軟件分析與設計[J].電子技術應用,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].密碼學報,2014(5):456-464.
[8] 張文芳,王小敏,郭偉,等.基于橢圓曲線密碼體制的高效虛擬企業(yè)跨域認證方案[J].電子學報,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é)議設計與分析[J].電子科技大學學報,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.