射頻識(shí)別系統(tǒng)中由于卡片和讀寫器并不是固定連接為一個(gè)不可分割的整體,二者在進(jìn)行數(shù)據(jù)通訊前如何確信對(duì)方的合法身份就變得非常重要。根據(jù)安全級(jí)別的要求不同,有的系統(tǒng)不需認(rèn)證對(duì)方的身份,例如大多數(shù)的TTF模式的卡片;有的系統(tǒng)只需要卡片認(rèn)證讀寫器的身份或者讀寫器認(rèn)證卡片的身份,稱為單向認(rèn)證;還有的系統(tǒng)不僅卡片要認(rèn)證讀寫器的身份,讀寫器也要認(rèn)證卡片的身份,這種認(rèn)證我們稱為相互認(rèn)證。Mifare系列卡片中的認(rèn)證就是相互認(rèn)證。
最常見(jiàn)的認(rèn)證是使用密碼或者叫口令,就像特務(wù)見(jiàn)面,只要說(shuō)對(duì)了口令(密碼)就可以確信對(duì)方是自己人。直接說(shuō)口令(密碼)存在巨大的風(fēng)險(xiǎn),萬(wàn)一被別人聽(tīng)到了后果不堪設(shè)想,所以最好不要直接說(shuō)出密碼,而是通過(guò)某種方式(運(yùn)算)把密碼隱含在一串?dāng)?shù)據(jù)里,這樣不相干的人聽(tīng)到了也不知道什么意思。為了讓隱含著密碼的這一串?dāng)?shù)據(jù)沒(méi)有規(guī)律性,對(duì)密碼運(yùn)算時(shí)一定要有隨機(jī)數(shù)的參加。于是最常見(jiàn)的相互認(rèn)證是雙方見(jiàn)面時(shí)一方給另一方一個(gè)隨機(jī)數(shù),讓對(duì)方利用密碼和約定的算法對(duì)這個(gè)隨機(jī)數(shù)進(jìn)行運(yùn)算,如果結(jié)果符合預(yù)期則認(rèn)證通過(guò),否則認(rèn)證不通過(guò)。
“3”真是一個(gè)神奇的數(shù)字:做事的時(shí)候“三思而后行”才不會(huì)犯大錯(cuò);劉備“三顧茅廬”才把諸葛亮請(qǐng)出山;TCP協(xié)議中經(jīng)過(guò)“三次握手”就可以確信雙方的連接是成功的。Mifare系列卡片采用的相互認(rèn)證機(jī)制也被稱為“三次相互認(rèn)證”,如下圖所示。
卡片認(rèn)證讀寫器的合法性,先向讀寫器發(fā)送一個(gè)隨機(jī)數(shù),讀寫器用事先約定的有密碼參與的算法對(duì)隨機(jī)數(shù)進(jìn)行運(yùn)算,然后把運(yùn)算的結(jié)果回送給卡片,卡片收到后檢查這個(gè)結(jié)果對(duì)不對(duì),如果對(duì)就通過(guò)認(rèn)證,不對(duì)就沒(méi)有通過(guò)認(rèn)證,其情形就是上圖中的圖a。
讀寫器認(rèn)證卡片也是向卡片發(fā)送一個(gè)隨機(jī)數(shù),卡片用事先約定的有密碼參與的算法對(duì)隨機(jī)數(shù)進(jìn)行運(yùn)算,然后把運(yùn)算的結(jié)果回送給讀寫器,讀寫器收到后檢查這個(gè)結(jié)果對(duì)不對(duì),如果對(duì)就通過(guò)認(rèn)證,不對(duì)就沒(méi)有通過(guò)認(rèn)證,其情形就是上圖中的圖b。
可見(jiàn)卡片和讀寫器認(rèn)證對(duì)方時(shí)都是給對(duì)方一個(gè)隨機(jī)數(shù),對(duì)方返回對(duì)隨機(jī)數(shù)的運(yùn)算結(jié)果。這樣的“一來(lái)一回”我們稱之為“兩次相互認(rèn)證”。那么卡片與讀寫器互相認(rèn)證就需要兩個(gè)“一來(lái)一回”,應(yīng)該稱為“四次相互認(rèn)證”才對(duì)啊?為什么是“三次相互認(rèn)證”呢?上圖中表現(xiàn)的很明顯,讀寫器在回送對(duì)卡片隨機(jī)數(shù)的運(yùn)算結(jié)果時(shí)搭了一次便車,把自己認(rèn)證卡片的隨機(jī)數(shù)也一同送了過(guò)去,從而減少了一次數(shù)據(jù)傳送,四次相互認(rèn)證就變成了“三次相互認(rèn)證”。
完整的相互認(rèn)證過(guò)程如下:卡片先向讀寫器發(fā)送一個(gè)隨機(jī)數(shù)B,讀寫器用事先約定的有密碼參與的算法對(duì)隨機(jī)數(shù)B進(jìn)行運(yùn)算,然后把運(yùn)算的結(jié)果連同隨機(jī)數(shù)A一起送給卡片,卡片收到后先檢查讀寫器對(duì)隨機(jī)數(shù)B運(yùn)算的結(jié)果對(duì)不對(duì),如果不對(duì)就不再往下進(jìn)行,如果正確就對(duì)隨機(jī)數(shù)A用事先約定的有密碼參與的算法進(jìn)行運(yùn)算,然后把運(yùn)算的結(jié)果送給讀寫器,讀寫器收到后檢查這個(gè)結(jié)果對(duì)不對(duì),如果對(duì)就通過(guò)認(rèn)證,不對(duì)就沒(méi)有通過(guò)認(rèn)證,其情形就是上圖中的圖c。
認(rèn)證的過(guò)程中多次提到“事先約定的算法”,到底是什么樣的算法呢。這個(gè)沒(méi)有具體規(guī)定,但有一個(gè)要求是必須的,就是這個(gè)算法一定要有密碼和隨機(jī)數(shù)的參與。比如Desfire中使用3DES算法,卡片的主密鑰作為DES密鑰對(duì)隨機(jī)數(shù)進(jìn)行DES運(yùn)算。雙方使用的“算法”以及“參加運(yùn)算的密碼”可以相同,也可以不同,這要看雙方的約定。
認(rèn)證完成后隨機(jī)數(shù)也并不是就沒(méi)有用了,這兩個(gè)隨機(jī)數(shù)的組合可以作為下一步操作的數(shù)據(jù)加密密鑰,Desfire中就是這樣。
審核編輯 黃宇
-
RFID
+關(guān)注
關(guān)注
390文章
6315瀏覽量
240054 -
射頻識(shí)別技術(shù)
+關(guān)注
關(guān)注
0文章
96瀏覽量
16935
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
柔宇科技資產(chǎn)三次流拍,第四次將分拆設(shè)備拍賣
三次元測(cè)量?jī)x校準(zhǔn)方法
三次元測(cè)量?jī)x故障排除技巧
三次元測(cè)量?jī)x使用技巧
如何監(jiān)測(cè)TCP三次握手過(guò)程
TCP三次握手與負(fù)載均衡的配置
TCP三次握手的常見(jiàn)問(wèn)題及解決方案
TCP三次握手安全性分析
TCP三次握手的基本原理
TCP三次握手協(xié)議的作用
TCP三次握手的詳細(xì)過(guò)程
三次諧波治理用多大的電抗器?

評(píng)論