射頻識別系統中由于卡片和讀寫器并不是固定連接為一個不可分割的整體,二者在進行數據通訊前如何確信對方的合法身份就變得非常重要。根據安全級別的要求不同,有的系統不需認證對方的身份,例如大多數的TTF模式的卡片;有的系統只需要卡片認證讀寫器的身份或者讀寫器認證卡片的身份,稱為單向認證;還有的系統不僅卡片要認證讀寫器的身份,讀寫器也要認證卡片的身份,這種認證我們稱為相互認證。Mifare系列卡片中的認證就是相互認證。
最常見的認證是使用密碼或者叫口令,就像特務見面,只要說對了口令(密碼)就可以確信對方是自己人。直接說口令(密碼)存在巨大的風險,萬一被別人聽到了后果不堪設想,所以最好不要直接說出密碼,而是通過某種方式(運算)把密碼隱含在一串數據里,這樣不相干的人聽到了也不知道什么意思。為了讓隱含著密碼的這一串數據沒有規律性,對密碼運算時一定要有隨機數的參加。于是最常見的相互認證是雙方見面時一方給另一方一個隨機數,讓對方利用密碼和約定的算法對這個隨機數進行運算,如果結果符合預期則認證通過,否則認證不通過。
“3”真是一個神奇的數字:做事的時候“三思而后行”才不會犯大錯;劉備“三顧茅廬”才把諸葛亮請出山;TCP協議中經過“三次握手”就可以確信雙方的連接是成功的。Mifare系列卡片采用的相互認證機制也被稱為“三次相互認證”,如下圖所示。

卡片認證讀寫器的合法性,先向讀寫器發送一個隨機數,讀寫器用事先約定的有密碼參與的算法對隨機數進行運算,然后把運算的結果回送給卡片,卡片收到后檢查這個結果對不對,如果對就通過認證,不對就沒有通過認證,其情形就是上圖中的圖a。
讀寫器認證卡片也是向卡片發送一個隨機數,卡片用事先約定的有密碼參與的算法對隨機數進行運算,然后把運算的結果回送給讀寫器,讀寫器收到后檢查這個結果對不對,如果對就通過認證,不對就沒有通過認證,其情形就是上圖中的圖b。
可見卡片和讀寫器認證對方時都是給對方一個隨機數,對方返回對隨機數的運算結果。這樣的“一來一回”我們稱之為“兩次相互認證”。那么卡片與讀寫器互相認證就需要兩個“一來一回”,應該稱為“四次相互認證”才對啊?為什么是“三次相互認證”呢?上圖中表現的很明顯,讀寫器在回送對卡片隨機數的運算結果時搭了一次便車,把自己認證卡片的隨機數也一同送了過去,從而減少了一次數據傳送,四次相互認證就變成了“三次相互認證”。
完整的相互認證過程如下:卡片先向讀寫器發送一個隨機數B,讀寫器用事先約定的有密碼參與的算法對隨機數B進行運算,然后把運算的結果連同隨機數A一起送給卡片,卡片收到后先檢查讀寫器對隨機數B運算的結果對不對,如果不對就不再往下進行,如果正確就對隨機數A用事先約定的有密碼參與的算法進行運算,然后把運算的結果送給讀寫器,讀寫器收到后檢查這個結果對不對,如果對就通過認證,不對就沒有通過認證,其情形就是上圖中的圖c。
認證的過程中多次提到“事先約定的算法”,到底是什么樣的算法呢。這個沒有具體規定,但有一個要求是必須的,就是這個算法一定要有密碼和隨機數的參與。比如Desfire中使用3DES算法,卡片的主密鑰作為DES密鑰對隨機數進行DES運算。雙方使用的“算法”以及“參加運算的密碼”可以相同,也可以不同,這要看雙方的約定。
認證完成后隨機數也并不是就沒有用了,這兩個隨機數的組合可以作為下一步操作的數據加密密鑰,Desfire中就是這樣。
審核編輯 黃宇
-
RFID
+關注
關注
392文章
6913瀏覽量
248164 -
射頻識別技術
+關注
關注
0文章
100瀏覽量
17402
發布評論請先 登錄
TCP三次握手與四次揮手的詳細過程
比斯特單面自動點焊機推動焊接工藝的三次技術躍遷
國芯科技以3000萬元第三次增資龍擎視芯
TCP的三次握手
從電網到柵極:賦能第三次能源革命
三坐標測量儀讓三次元測量從此簡單高效
集創北方出席LED TCON團體標準發展第三次技術研討會
MDSC-900E雙料檢測應用案例丨家電行業三次元機械手一機雙模沖壓產線應用
三安光電第一屆第三次化合物半導體技術研討會成功舉辦
舜宇車載光學召開車載激光雷達團體標準第三次會議
天合光能連續三年獲品牌認證最高等級 ISO 20671-1:2021鉑金級別認證和GB/T 27925-2011 五星品牌證書
佛瑞亞車攜手Smart Eye推出車內安全生物識別認證技術
TCP三次握手和四次揮手,這樣解釋太通俗易懂了!
射頻識別技術漫談(12)——三次相互認證
評論