◆朱義杰 楊玉龍 楊 義 石 彬 韓 丹
(貴州航天計(jì)量測(cè)試技術(shù)研究所 貴州 550009)
RFID無(wú)線射頻識(shí)別系統(tǒng)因具有非接觸式識(shí)別的特點(diǎn),不受惡劣環(huán)境的影響,還有讀寫數(shù)據(jù)方便快捷、識(shí)別速度快、數(shù)據(jù)容量大、使用壽命長(zhǎng)、標(biāo)簽數(shù)據(jù)可動(dòng)態(tài)改寫等特點(diǎn),已被廣泛應(yīng)用在票務(wù)系統(tǒng)(門票、高速公路自動(dòng)收費(fèi)等)、安檢門禁、倉(cāng)儲(chǔ)管理、防盜防偽、證件等眾多領(lǐng)域[1]。RFID-SIM系統(tǒng)是將RFID技術(shù)與手機(jī)SIM卡相結(jié)合的一種身份認(rèn)證和移動(dòng)支付業(yè)務(wù)系統(tǒng),RFID-SIM卡采用的是2.4GHz的全卡,和手機(jī)有良好的兼容性,能夠相對(duì)大規(guī)模推廣。RFID-SIM卡由手機(jī)直接供電,因此可以制作出具有較復(fù)雜電路的RFID-SIM卡,是一種CPU卡,內(nèi)含有操作系統(tǒng)COS,將比一般標(biāo)簽更加安全,在處理數(shù)據(jù)方面更加有效,這是NFC手機(jī)和SIMPASS手機(jī)所不具有的功能。RFID-SIM卡長(zhǎng)中短距離混合應(yīng)用,雙向通信距離10cm-500cm,可以根據(jù)應(yīng)用調(diào)整,可以實(shí)現(xiàn)考勤、門禁、食堂消費(fèi)等短距離應(yīng)用,也可以實(shí)現(xiàn)在停車場(chǎng)的中距離1-3米的NFC不能實(shí)現(xiàn)的刷卡應(yīng)用,在移動(dòng)支付方面具有很大優(yōu)勢(shì),成為真正意義上的手機(jī)一卡通。
雖然RFID-SIM卡應(yīng)用如此方便,但RFID技術(shù)在實(shí)際應(yīng)用中還存在著一個(gè)不可忽視的隱患:缺乏健全的安全機(jī)制。RFID系統(tǒng)在工作時(shí),閱讀器和應(yīng)答器(標(biāo)簽)之間是通過(guò)無(wú)線射頻信號(hào)進(jìn)行通信的,這就將通信信號(hào)暴露在大庭廣眾之下,雖然具有很大的方便性和靈活性,但隨之帶來(lái)的就是數(shù)據(jù)的安全和隱私問(wèn)題。如果標(biāo)簽被不法分子非法讀取、篡改信息、非法克隆,將會(huì)帶來(lái)數(shù)據(jù)安全的問(wèn)題,甚至可能會(huì)把一些個(gè)人隱私比如行程、時(shí)間、地點(diǎn)等信息暴露于眾。如果RFID系統(tǒng)的安全性不能得到充分保證,RFID系統(tǒng)中的個(gè)人信息、商業(yè)機(jī)密和軍事秘密,都可能被人盜竊或被不法分子利用,這必將嚴(yán)重影響經(jīng)濟(jì)、軍事和國(guó)家安全?;赗FID技術(shù)的RFID-SIM系統(tǒng)同樣具有RFID的安全問(wèn)題,同時(shí)其認(rèn)證協(xié)議采用非國(guó)密算法,也容易被植入密碼后門。因此,設(shè)計(jì)一種安全高效自主可控的RFID-SIM系統(tǒng)安全協(xié)議具有十分重要的意義。
目前,針對(duì)RFID系統(tǒng)中存在的安全隱患所采用的安全機(jī)制可以劃分為3類:物理方法、密碼機(jī)制以及兩者的結(jié)合。關(guān)于基于密碼機(jī)制的RFID安全認(rèn)證協(xié)議,保證密碼機(jī)制安全最常用的工具有兩種:哈希函數(shù)和隨機(jī)數(shù),利用哈希函數(shù)運(yùn)算不可逆的特性和隨機(jī)數(shù)的不確定性保證數(shù)據(jù)傳輸?shù)陌踩?。基于哈希函?shù)的認(rèn)證協(xié)議是研究較多的一類RFID認(rèn)證協(xié)議,這類協(xié)議的安全性都是由Hash函數(shù)的單向性來(lái)保證的,主要包括Sarma于2003年提出的Hash-lock協(xié)議[2],以及后面發(fā)展的隨機(jī)化Hash-lock協(xié)議[3],Hash鏈協(xié)議[4-5]??紤]到前幾種基于哈希函數(shù)的認(rèn)證協(xié)議在保證內(nèi)容隱私、位置隱私,抵抗重放攻擊方面的安全缺陷,張文麗[6]提出了IHSAP3協(xié)議,更好地保證了認(rèn)證的安全。除了哈希函數(shù)的認(rèn)證協(xié)議,裴友林[7]等提出了基于密鑰矩陣的RFID安全協(xié)議,之后游相柏等提出自同步密鑰矩陣RFID安全認(rèn)證協(xié)議彌補(bǔ)了裴友林的協(xié)議的安全隱患問(wèn)題。李斌[8]等提出一種基于NTRU公鑰加密系統(tǒng)的RFID認(rèn)證協(xié)議,康鴻雁[9]提出的一種基于ECC的RFID雙向認(rèn)證協(xié)議設(shè)計(jì),相對(duì)于傳統(tǒng)的RFID安全認(rèn)證協(xié)議,有著較高的安全性和執(zhí)行效率。RFID-SIM系統(tǒng)認(rèn)證協(xié)議是基于RFID認(rèn)證協(xié)議的,但又由于其標(biāo)簽具有COS系統(tǒng),可考慮設(shè)計(jì)較為復(fù)雜但更為安全的認(rèn)證協(xié)議。
一般來(lái)說(shuō),比較完善的RFID-SIM系統(tǒng)解決方案或安全協(xié)議應(yīng)當(dāng)具備5個(gè)基本特征:機(jī)密性、完整性、可用性、真實(shí)性和隱私性。目前各種協(xié)議都有著各自的優(yōu)缺點(diǎn),因此可以考慮多種協(xié)議之間的關(guān)系發(fā)展一種綜合型認(rèn)證協(xié)議。
本協(xié)議結(jié)合了國(guó)際標(biāo)準(zhǔn)ISO 9798-2的“三次認(rèn)證過(guò)程”和隨機(jī)化Hash-Lock協(xié)議,鑒于兩種協(xié)議都存在不足,因此將兩種協(xié)議混合起來(lái)相互彌補(bǔ)不足之處,設(shè)計(jì)出一種安全的認(rèn)證協(xié)議。三次認(rèn)證過(guò)程是:先用系統(tǒng)主控密鑰對(duì)每個(gè)標(biāo)簽ID實(shí)施加密算法而獲得導(dǎo)出密鑰,初始化標(biāo)簽寫入,在閱讀器發(fā)出認(rèn)證請(qǐng)求后,標(biāo)簽生成隨機(jī)數(shù)發(fā)給閱讀器,閱讀器生成隨機(jī)數(shù),將用密鑰加密后傳給標(biāo)簽,標(biāo)簽解密后檢驗(yàn)解密得到的與其之前生成的是否一致來(lái)實(shí)現(xiàn)標(biāo)簽對(duì)閱讀器的認(rèn)證,然后標(biāo)簽將用密鑰加密傳給閱讀器,閱讀器解密后檢驗(yàn)是否與之前生成的隨機(jī)數(shù)一致來(lái)檢驗(yàn)標(biāo)簽的合法性。
本協(xié)議是通過(guò)標(biāo)簽與后臺(tái)數(shù)據(jù)庫(kù)之間具有相同的哈希函數(shù)和相同的加密算法及密鑰來(lái)相互認(rèn)證的。在協(xié)議中,每個(gè)標(biāo)簽都有一個(gè)與其標(biāo)識(shí)ID所對(duì)應(yīng)的密鑰,每個(gè)標(biāo)簽還具有一個(gè)哈希函數(shù)運(yùn)算和一個(gè)橢圓曲線密碼加密算法。協(xié)議中數(shù)據(jù)庫(kù)包含了系統(tǒng)中每個(gè)ID所對(duì)應(yīng)的公鑰和私鑰。此協(xié)議中用到了國(guó)密SM3哈希函數(shù)和國(guó)密SM2橢圓曲線算法機(jī)制,也可以稱為Hash-ECC混合認(rèn)證協(xié)議。
認(rèn)證協(xié)議的設(shè)計(jì)基于以下假設(shè)條件:
(1)后臺(tái)數(shù)據(jù)庫(kù)中數(shù)據(jù)是安全的,攻擊者不能侵入數(shù)據(jù)庫(kù)獲得數(shù)據(jù)庫(kù)中信息。
(2)后臺(tái)數(shù)據(jù)庫(kù)和閱讀器之間的通信是安全的,也就是說(shuō)后臺(tái)數(shù)據(jù)庫(kù)和閱讀器可以看成一個(gè)整體。
(3)后臺(tái)數(shù)據(jù)庫(kù)(或閱讀器)有一個(gè)偽隨機(jī)數(shù)生成器,能夠進(jìn)行哈希運(yùn)算和ECC加解密運(yùn)算。
(4)標(biāo)簽都有一個(gè)偽隨機(jī)數(shù)生成器,可以獨(dú)立生成隨機(jī)數(shù)。
(5)標(biāo)簽都能夠進(jìn)行哈希運(yùn)算,能夠進(jìn)行ECC加解密運(yùn)算,且內(nèi)存記錄安全可靠。
(6)閱讀器和標(biāo)簽之間的信道是不安全的,容易受到攻擊者的竊聽或攻擊。
在RFID-SIM卡首次售出之前,RFID-SIM卡作為系統(tǒng)中的標(biāo)簽,初始化過(guò)程系統(tǒng)要將RFID-SIM的標(biāo)識(shí)碼ID和其特有的密鑰和公鑰寫入卡中,同時(shí)初始化過(guò)程系統(tǒng)還要將RFID-SIM卡的標(biāo)識(shí)碼ID及其所對(duì)應(yīng)的產(chǎn)品信息和公鑰私鑰插入數(shù)據(jù)庫(kù),更新數(shù)據(jù)庫(kù)中與此ID相關(guān)的哈希值,插入數(shù)據(jù)庫(kù)中的數(shù)據(jù)以ID為主鍵建立索引。
圖1 基于國(guó)密算法的RFID-SIM系統(tǒng)混合認(rèn)證協(xié)議
認(rèn)證過(guò)程如圖1所示,具體過(guò)程如下:
(1)閱讀器向RFID-SIM卡(標(biāo)簽)發(fā)出Query認(rèn)證請(qǐng)求。
(2)RFID-SIM卡生成一個(gè)隨機(jī)數(shù),并計(jì)算哈希值,然后將和發(fā)送到閱讀器。
(3)閱讀器轉(zhuǎn)發(fā)和到后臺(tái)數(shù)據(jù)庫(kù)。
(4)后臺(tái)數(shù)據(jù)庫(kù)檢查是否有某個(gè),使得,如果有則說(shuō)明對(duì)標(biāo)簽初步驗(yàn)證通過(guò),獲取ID后,進(jìn)行下一步;否則認(rèn)證失敗。
(5)后臺(tái)數(shù)據(jù)庫(kù)查找與ID相對(duì)應(yīng)的RFID-SIM卡的公鑰,此時(shí)后臺(tái)數(shù)據(jù)庫(kù)生成一個(gè)隨機(jī)數(shù),利用公鑰對(duì)和進(jìn)行加密得到密文,并將發(fā)給閱讀器。
(6)閱讀器轉(zhuǎn)發(fā)給RFID-SIM卡標(biāo)簽。
(7)RFID-SIM卡標(biāo)簽利用自己的私鑰解密得到,驗(yàn)證是否成立,成立則說(shuō)明RFID-SIM卡對(duì)后臺(tái)系統(tǒng)和閱讀器驗(yàn)證通過(guò);否則驗(yàn)證失敗。
(8)RFID-SIM卡標(biāo)簽生成一個(gè)隨機(jī)數(shù),利用公鑰對(duì)和進(jìn)行加密得到密文,并將發(fā)給閱讀器。
(9)閱讀器轉(zhuǎn)發(fā)給后臺(tái)數(shù)據(jù)庫(kù)。
(10)后臺(tái)數(shù)據(jù)庫(kù)利用ID對(duì)應(yīng)的私鑰解密得到,驗(yàn)證是否成立,成立則說(shuō)明后臺(tái)數(shù)據(jù)庫(kù)對(duì)RFID-SIM卡驗(yàn)證通過(guò)。
該協(xié)議能夠?qū)崿F(xiàn)RFID-SIM卡和后臺(tái)數(shù)據(jù)庫(kù)(或閱讀器)之間雙向認(rèn)證。后臺(tái)數(shù)據(jù)庫(kù)通過(guò)驗(yàn)證后臺(tái)數(shù)據(jù)庫(kù)和RFID-SIM卡用了相同的哈希函數(shù),實(shí)現(xiàn)了后臺(tái)數(shù)據(jù)庫(kù)對(duì)標(biāo)簽的一次認(rèn)證;標(biāo)簽通過(guò)驗(yàn)證收到密文解密后的密文中否成立驗(yàn)證標(biāo)簽和后臺(tái)數(shù)據(jù)庫(kù)是否用了同種加密算法和密鑰,實(shí)現(xiàn)了標(biāo)簽對(duì)后臺(tái)數(shù)據(jù)庫(kù)的一次認(rèn)證;后臺(tái)通過(guò)驗(yàn)證收到的密文解密后的密文中kk¢=是否成立驗(yàn)證標(biāo)簽和后臺(tái)數(shù)據(jù)庫(kù)是否用了同種加密算法和密鑰,再次實(shí)現(xiàn)了后臺(tái)數(shù)據(jù)庫(kù)對(duì)標(biāo)簽的一次驗(yàn)證。
該協(xié)議針對(duì)隨機(jī)化Hash-Lock協(xié)議和“三次認(rèn)證過(guò)程”中的不足,通過(guò)混合兩種認(rèn)證協(xié)議,相互彌補(bǔ)不足,實(shí)現(xiàn)了較高的安全性。
(1)防被竊聽
閱讀器和RFID-SIM卡之間的通信信息都是經(jīng)過(guò)哈希函數(shù)和橢圓曲線密碼進(jìn)行加密的,竊聽者很難通過(guò)截獲的密文獲取明文,保障了信息的安全。
(2)防被追蹤
閱讀器和RFID-SIM卡之間的通信信息每次都有隨機(jī)數(shù)參與,RFID-SIM卡每次響應(yīng)閱讀器的結(jié)果都不同,防止了不法分子對(duì)標(biāo)簽的追蹤。
(3)防重放攻擊
每次認(rèn)證過(guò)程中的通信都含有隨機(jī)數(shù),攻擊者即使獲取了上次認(rèn)證成功時(shí)的信息,也不能偽造出新一次的認(rèn)證。
(4)防假冒攻擊
認(rèn)證過(guò)程中的通信信息是通過(guò)哈希函數(shù)和橢圓曲線密碼加密的,即使攻擊者得到傳輸?shù)拿魑?,也無(wú)法獲得RFID-SIM卡的密鑰,無(wú)法復(fù)制標(biāo)簽。
(5)抗前向攻擊
由于每個(gè)標(biāo)簽都有其特有的私鑰,即使攻擊者通過(guò)破壞了一個(gè)RFID-SIM卡,得到了上面所有的信息,也不能獲取得到數(shù)據(jù)庫(kù)中其他標(biāo)簽的ID信息和私鑰信息。
本文在研究當(dāng)前協(xié)議的基礎(chǔ)上,設(shè)計(jì)出一種針對(duì)手機(jī)RFID-SIM卡系統(tǒng)的基于國(guó)密SM3和國(guó)密SM2的Hash-ECC混合型安全認(rèn)證協(xié)議,并分析了其安全性。此協(xié)議是用于帶CPU的RFID-SIM卡系統(tǒng),RFID-SIM卡的復(fù)雜性電路可以滿足此協(xié)議的要求,可以在此協(xié)議中標(biāo)簽在認(rèn)證中高效執(zhí)行哈希運(yùn)算和ECC點(diǎn)加解密運(yùn)算。此協(xié)議對(duì)后臺(tái)數(shù)據(jù)庫(kù)的要求較高,要求后臺(tái)數(shù)據(jù)庫(kù)能夠存儲(chǔ)與標(biāo)簽ID和所有偽隨機(jī)數(shù)相關(guān)的所有哈希值信息。在后期,可以考慮將在后臺(tái)數(shù)據(jù)庫(kù)中運(yùn)行的ECC加解密運(yùn)算換到在閱讀器中進(jìn)行,將在后臺(tái)數(shù)據(jù)庫(kù)中查找哈希值信息換到把所有哈希值發(fā)送到閱讀器然后通過(guò)閱讀器查找,以此來(lái)達(dá)到可用于分布式環(huán)境的目的。