RFID技術文章

UHF RFID 標籤鎖定與解鎖

當RFID讀取器「讀取」時 RFID標籤,它取得寫入標籤積體電路晶片的EPC資料。 如果標籤內的EPC資料沒有被鎖定,那麼任何人都可以使用RFID閱讀器和簡單的RFID軟體來改變這個標籤上的資料並破解資料。 在這種情況下,如果有人惡意篡改RFID標籤的數據,零售商將遭受巨大損失。


隨著越來越多的零售商開始在收銀台使用 RFID 技術,鎖定 RFID 便利貼也變得越來越重要。 因為如果RFID標籤沒有被鎖定,竊賊可以利用這些設備輕鬆地將貴重物品的標籤資訊更改為價格較低的物品,然後將其帶到收銀台進行支付。


目前廣泛使用的Gen 2 RFID標籤記憶體分為4種狀態:解鎖狀態、永久解鎖狀態(永遠無法解鎖)、鎖定狀態和永久鎖定狀態(永遠無法解鎖)。


零售商鎖定RFID標籤後,可以使用密碼修改標籤上的資訊。 然而,密碼維護、解鎖、重寫和重新鎖定標籤的成本將遠比更換標籤昂貴。 即使零售商鎖定標籤並隱藏代碼,代碼也有可能被發現並被銷毀。 基於上述原因,我建議零售商永久鎖定所有RFID標籤上的EPC資料。


所有使用RFID技術的零售商都應該儘早審查和了解標籤鎖定策略,以便了解其他人惡意篡改RFID標籤可能造成的影響。

UHF標籤實際上是一個很小的儲存空間。 RFID讀寫器只是透過特殊指令讀取標籤內的數據,因此可以讀寫的數據長度由RFID電子標籤本身決定。 詳情可詢問RFID標籤供應商。


晶片儲存分割區及操作指令

UHF RFID標籤晶片需要符合EPC C1Gen2標準(簡稱Gen2協定),也就是說所有UHF RFID標籤晶片的內部儲存結構大致相同。 如圖4-31所示,標籤晶片的儲存區域分為四個區域(Bank),分別是Bank 0保留區(Reserved)、Bank 1電子代碼區(EPC)、Bank 2製造商代碼區(TID) ),Bank 3 使用者區(User)。

其中,Bank 0保留區又稱為密碼區。 裡面有兩組32位元的密碼,分別是存取密碼(Access Password)和終止密碼(Kill Password)。 殺戮密碼俗稱殺戮密碼。 使用lock指令時,晶片的某些區域只能透過存取密碼進行讀寫。 當需要殺死晶片時,可以透過殺死密碼來徹底殺死晶片。

Bank 1是電子編碼區,也就是大家最熟悉的EPC區。 根據Gen2協議,首先從標籤獲取的信息是EPC信息,然後才能訪問其他存儲區域進行訪問。 EPC區分為三個部分:

CRC16校驗部分共16位,負責在通訊過程中檢查讀寫器所獲得的EPC是否正確。

PC部分(Protocol Control)共有16位,控制EPC的長度。 前5位的二進制數乘以16即為EPC的長度。 例如PC為96位EPC=3000時,前5位為00110,對應的十進位為6,乘以16就是96Bit。 根據協議要求,PC可以等於0000到F100,相當於EPC的長度為0、32位元、64位元直到496位元。 但一般情況下,UHF RFID應用中EPC的長度在64位元到496位元之間,也就是說PC值在2800到F100之間。 在平時的應用中,人們往往不了解PC在EPC中的作用,就會卡在EPC長度的設定上,造成很多困擾。

EPC部分,這部分是最終用戶從應用層獲得的晶片的電子代碼。

Bank 2是廠商代碼區,每個晶片都有自己唯一的代碼。 4.3.3節將重點介紹。

Bank 3是用戶儲存區。 根據協議,此儲存區域的最小空間為0,但大多數晶片為了方便客戶應用,都會增加用戶儲存空間。 最常見的儲存空間是128位元或512位元。

了解完標籤的儲存區域後,還需要進一步了解Gen2的幾個操作指令,即讀取(Read)、w寫入(Write)、鎖定(Lock)和殺死(Kill)。 Gen2的指令非常簡單,只有4個操作指令,標籤的儲存區域只有兩種狀態:鎖定和解鎖。

因為讀寫指令與資料區是否加鎖有關,所以我們先從加鎖指令說起。 鎖定指令針對四個儲存區域有四個分解指令,分別是Lock、Unlock、Permanent Lock、Permanent Unlock。 只要存取密碼不全為0,就可以執行鎖定指令。

讀取指令,顧名思義,就是讀取儲存區域中的資料。 如果儲存區被鎖定,則可以透過存取命令和存取密碼來存取資料區。 具體讀取操作如表3-2所示。

寫入命令與讀取命令類似。 如果儲存區沒有鎖定,則可以直接操作。 如果儲存區被鎖定,則需要透過存取命令和存取密碼來存取資料區。 具體讀取操作如表3-3所示。

Kill指令是結束晶片壽命的指令。 一旦晶片被殺死,就無法再復活。 它不像lock命令也可以解鎖。 只要保留區域被鎖定且kill密碼不全0,就可以發動kill指令。 一般來說,kill指令很少被使用,只有在一些機密或隱私相關的應用中才會殺死晶片。 如果想要在晶片被殺後獲得晶片的TID號,唯一的方法就是解剖晶片。 解剖晶片的成本很高,所以在正常應用中盡量不要啟動kill指令。 同樣在專案中,也需要防止別人對其進行破壞。 最好的方法是鎖定保留區域並保護存取密碼。


製造商代碼 TID

製造商ID(TID)是晶片最重要的標識,也是其生命週期中唯一可靠的代碼。 這串數字中隱藏著許多密碼。 H3晶片的TID如圖4-32所示:E20034120614141100734886,其中:

E2字段代表晶片類型,所有UHF RFID標籤晶片的標籤類型均為E2;

003字段為製造商代碼,03代表Alien Technology; 製造商代碼的第一個欄位可以是8或0。例如Impinj的製造商代碼一般以E2801開頭。

412字段代表晶片類型Higgs-3;

接下來的64位是晶片的序號,64位元可以表示的數字是2的64次方。 這已經是一個天文數字了。 地球上的每一粒沙子都可以編號,所以不必擔心重複編號的問題。


Scan the qr codeclose
the qr code