射頻識別技術漫談 12 三次相互認證

2021-08-17 16:42:26 字數 1556 閱讀 9992

【**】

射頻識別系統中由於卡片和讀寫器並不是固定連線為乙個不可分割的整體,二者在進行資料通訊前如何確信對方的合法身份就變得非常重要。根據安全級別的要求不同,有的系統不需認證對方的身份,例如大多數的ttf模式的卡片;有的系統只需要卡片認證讀寫器的身份或者讀寫器認證卡片的身份,稱為單向認證;還有的系統不僅卡片要認證讀寫器的身份,讀寫器也要認證卡片的身份,這種認證我們稱為相互認證。mifare系列卡片中的認證就是相互認證。

最常見的認證是使用密碼或者叫口令,就像特務見面,只要說對了口令(密碼)就可以確信對方是自己人。直接說口令(密碼)存在巨大的風險,萬一被別人聽到了後果不堪設想,所以最好不要直接說出密碼,而是通過某種方式(運算)把密碼隱含在一串資料裡,這樣不相干的人聽到了也不知道什麼意思。為了讓隱含著密碼的這一串資料沒有規律性,對密碼運算時一定要有隨機數的參加。於是最常見的相互認證是雙方見面時一方給另一方乙個隨機數,讓對方利用密碼和約定的演算法對這個隨機數進行運算,如果結果符合預期則認證通過,否則認證不通過。

「3」真是乙個神奇的數字:做事的時候「三思而後行」才不會犯大錯;劉備「三顧茅廬」才把諸葛亮請出山;tcp協議中經過「三次握手」就可以確信雙方的連線是成功的。mifare系列卡片採用的相互認證機制也被稱為「三次相互認證」,如下圖所示。

卡片認證讀寫器的合法性,先向讀寫器傳送乙個隨機數,讀寫器用事先約定的有密碼參與的演算法對隨機數進行運算,然後把運算的結果回送給卡片,卡片收到後檢查這個結果對不對,如果對就通過認證,不對就沒有通過認證,其情形就是上圖中的圖a。

讀寫器認證卡片也是向卡片傳送乙個隨機數,卡片用事先約定的有密碼參與的演算法對隨機數進行運算,然後把運算的結果回送給讀寫器,讀寫器收到後檢查這個結果對不對,如果對就通過認證,不對就沒有通過認證,其情形就是上圖中的圖b。

可見卡片和讀寫器認證對方時都是給對方乙個隨機數,對方返回對隨機數的運算結果。這樣的「一來一回」我們稱之為「兩次相互認證」。那麼卡片與讀寫器互相認證就需要兩個「一來一回」,應該稱為「四次相互認證」才對啊?為什麼是「三次相互認證」呢?上圖中表現的很明顯,讀寫器在回送對卡片隨機數的運算結果時搭了一次便車,把自己認證卡片的隨機數也一同送了過去,從而減少了一次資料傳送,四次相互認證就變成了「三次相互認證」。

完整的相互認證過程如下:卡片先向讀寫器傳送乙個隨機數b,讀寫器用事先約定的有密碼參與的演算法對隨機數b進行運算,然後把運算的結果連同隨機數a一起送給卡片,卡片收到後先檢查讀寫器對隨機數b運算的結果對不對,如果不對就不再往下進行,如果正確就對隨機數a用事先約定的有密碼參與的演算法進行運算,然後把運算的結果送給讀寫器,讀寫器收到後檢查這個結果對不對,如果對就通過認證,不對就沒有通過認證,其情形就是上圖中的圖c。

認證的過程中多次提到「事先約定的演算法」,到底是什麼樣的演算法呢。這個沒有具體規定,但有乙個要求是必須的,就是這個演算法一定要有密碼和隨機數的參與。比如desfire中使用3des演算法,卡片的主金鑰作為des金鑰對隨機數進行des運算。雙方使用的「演算法」以及「參加運算的密碼」可以相同,也可以不同,這要看雙方的約定。

認證完成後隨機數也並不是就沒有用了,這兩個隨機數的組合可以作為下一步操作的資料加密金鑰,desfire中就是這樣。

射頻識別技術漫談 3 能量 調製

無源和免接觸是非接觸式ic卡相對於接觸式ic卡的兩大特點。無源是指卡片上沒有電源,免接觸是指對卡片的讀寫操作不必和讀寫器接觸。非接觸式智慧卡也是ic卡,而卡上的ic即積體電路工作時肯定是需要電源的,卡片自身沒有電源而又不和讀寫器接觸,那麼電源從 來的呢?其實回答這個問題非常簡單,那就是電磁感應。讀寫...

射頻識別技術漫談 7 ID卡

id identification 是識別的意思,id卡就是識別卡。id卡包含範圍廣泛,只要具有識別功能的卡片都可以叫id卡,例如條碼卡,磁卡都可以是id卡,我們這兒說的當然是射頻識別卡。射頻id卡一般都工作在ttf模式,進入射頻場得電後不停地傳送自己的識別號。最初識別卡是用來識別人的,用5個位元組...

射頻識別技術漫談 31 射頻卡的復位時間

從進入天線射頻場得電復位,到進入 準備 狀態,這一段時間稱為射頻卡的復位時間。不同型別 不同生產廠家的射頻卡產品復位時間不一,有時甚至差別巨大。設計射頻讀卡器產品時,一方面要克服射頻卡復位時間不同所帶來的消極影響,另一方面也可以利用這種復位時間的差別來實現期望的功能。在射頻卡讀寫器的設計中,讀寫器接...