附錄A (資料性附錄) 電子標簽芯片設計實例
A.1 電子標簽分類
A.1.1 標識類
具有可讀取的信息,并以此識別出該標簽唯一性的電子標簽。該類電子標簽不具備密碼技術保護功能,可用于物流跟蹤和物品識別等應用。通常,該類標簽適用于安全級別為第一級的射頻識別系統。
A.1.2 防偽類
具備標識類電子標簽功能,并采用密碼技術防止被復制和標簽存儲信息被篡改等防偽特性的電子標簽,可用于電子門票和物品防偽等應用。通常,該類標簽適用于安全級別為第二級的射頻識別系統。
A.1.3 證件類
具備防偽類電子標簽基本安全功能,并具有存儲信息的保密性和完整性、傳輸信息的保密性和完整性的電子標簽,可用于電子證件等應用。通常,該類標簽適用于安全級別為第三級的射頻識別系統。
A.1.4 其他類
不屬于上述三種類型的其他種類電子標簽。
A.2 防偽類電子標簽芯片實例
本芯片為支持國產密碼算法的電子標簽芯片,適用于安全級別為第二級的射頻識別系統,可用作防偽類電子標簽。
功能特性:
a) 工作頻率: 13.56MHz
b) 通訊速率: 106Kbps
c) 工作距離: 0-10cm(與讀寫器相關)
d) 數據通信完整性:數據幀16位CRC,數據字節奇偶校驗,位編碼,位記數
e) 存儲器容量:1024x8 bit EEPROM
f) 通訊協議: ISO14443 Type A
安全特性:
a) 支持國產密碼算法SM7
b) 雙向身份鑒別
功能框圖:
芯片整體功能如圖A.1。

圖A.1功能框圖
A.3 數據存儲結構
存儲器為1K byte,分為存儲區A和存儲區B。每個存儲區大小為512 byte,每個存儲區分為32個塊,每個塊為16字節。塊定義如圖A.2。

圖A.2存儲區
A.4 唯一標識符說明
制造商塊地址是0x00,如表A.1所示。它包含IC制造商信息、唯一標識符(UID)。由于安全和系統需要,當IC制造商在生產過程中編程以后,這個塊是寫保護的,即不可改寫,符合本技術要求中對電子標簽唯一標識符的要求。
表A.1 制造商塊字節編碼(地址:0x00h)
| 字節 | 0 | 1 | 2 | 3 | 4 | 5 - 15 |
|---|---|---|---|---|---|---|
| 內容 | 唯一標識符(UID) | BCC | 制造商信息 |
其中BCC為唯一標識符(UID)校驗字節,Byte4 = Byte0 ^ Byte1 ^ Byte2 ^ Byte3
A.5 數據訪問控制權限說明
權限區A的塊地址從0x01h—0x03h,占用三個存儲塊。字節A0—A23分別對應存儲塊0x08h—0x1fh共24塊的控制權限,如表A.2、表A.3、表A.4所示。權限區B的塊地址從0x21h—0x23h,占用三個存儲塊。字節A24—A47分別對應存儲塊0x28h—0x3fh共24塊的控制權限,如表A.5、表A.6、表A.7所示。表A.2、A.3、A.4、A.5、A.6、A.7中/A0至/A47為A0至A47的取反值。
表A.2 數據訪問控制權限A(地址:0x01h)
| 字節 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 內容 | A0 | /A0 | A1 | /A1 | A2 | /A2 | A3 | /A3 |
| 字節 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 內容 | A4 | /A4 | A5 | /A5 | A6 | /A6 | A7 | /A7 |
表A.3 數據訪問控制權限A(地址:0x02h)
| 字節 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 內容 | A8 | /A8 | A9 | /A9 | A10 | /A10 | A11 | /A11 |
| 字節 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 內容 | A12 | /A12 | A13 | /A13 | A14 | /A14 | A15 | /A15 |
表A.4 數據訪問控制權限A(地址:0x03h)
| 字節 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 內容 | A16 | /A16 | A17 | /A17 | A18 | /A18 | A19 | /A19 |
| 字節 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 內容 | A20 | /A20 | A21 | /A21 | A22 | /A22 | A23 | /A23 |
表A.5 數據訪問控制權限B(地址:0x21h)
| 字節 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 內容 | A24 | /A24 | A25 | /A25 | A26 | /A26 | A27 | /A27 |
| 字節 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 內容 | A28 | /A28 | A29 | /A29 | A30 | /A30 | A31 | /A31 |
表A.6 數據訪問控制權限B(地址:0x22h)
| 字節 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 內容 | A32 | /A32 | A33 | /A33 | A34 | /A34 | A35 | /A35 |
| 字節 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 內容 | A36 | /A36 | A37 | /A37 | A38 | /A38 | A39 | /A39 |
表A.7 數據訪問控制權限B(地址:0x23h)
| 字節 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 內容 | A40 | /A40 | A41 | /A41 | A42 | /A42 | A43 | /A43 |
| 字節 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 內容 | A44 | /A44 | A45 | /A45 | A46 | /A46 | A47 | /A47 |
如表A.8所示,每個存儲塊的權限由1個字節組成(另外一個字節對其取反后作為備份)。b7位的設置決定數據塊的數據類型;b5、b6決定采用哪個密鑰作為該數據塊的讀操作(或減值操作)訪問密鑰;b3、b4決定采用哪個密鑰作為該數據塊的寫操作(或加/減值操作)訪問密鑰;b2作為校驗位,為b7-b3的異或;b1是b2的取反;b0是密鑰區選擇位。
表A.8 權限控制字節定義
| 位 | 說明 |
|---|---|
| b7 | 0:數據1:數值 |
| b[6:5] | 數據型:讀密鑰地址。數值型:讀/減值/存儲/傳輸密鑰地址。00:key0或key401:key1或key510:key2或key611:key3或key7 |
| b[4:3] | 數據型:讀/寫密鑰地址。數值型:讀/加/減值/存儲/傳輸密鑰地址。00:key0或key401:key1或key510:key2或key611:key3或key7 |
| b2 | 校驗位,b7-b3的異或。 |
| b1 | 校驗位,b2取反。 |
| b0 | 密鑰區選擇位。0:選取A區密鑰key0-key31:選取B區密鑰key4-key7 |
注1:b2 = b3?b4?b5?b6?b7 b1=/b2
注2:制造商塊只有讀權限。
注3:key0為主控密鑰,只有通過key0進行身份鑒別通過后才能對密鑰區與權限區執行寫操作。
注4:b0是低位,b7是高位。
A.6 密碼算法說明
電子標簽應采用SM7密碼算法,用于電子標簽和讀寫器的雙向鑒別和數據通信中的加解密操作。
A.7 身份鑒別和數據通信加密說明
電子標簽應采用7.3.3規定的雙向身份鑒別和用分組密碼算法的密鑰協商,并對過程進行適當合并。
A.7.1 雙向身份鑒別
芯片被讀寫器選中后(REQA、ANTI、SELECT),必須進行雙向身份鑒別,通過鑒別后,才能對鑒別密鑰對應的塊進行相應控制權限的訪問。鑒別的技術要求如下:
——電子標簽和讀寫器應采用SM7國產密碼算法。
——電子標簽和讀寫器應使用相同的密鑰KEY。
——電子標簽和讀寫器應分別使用各自的隨機數發生器。
鑒別過程具體流程如下(見圖A.3):
a) 讀寫器發送鑒別指令以及指令參數(密鑰塊地址)。
b) 電子標簽接收指令后發送由隨機數發生器產生的32位Rb。
c) 讀寫器收到Rb后,由隨機數發生器產生32位隨機數Ra,并以128位KEY為密鑰進行加密,加密的明文為Ra|| Rb。加密結束,發送64位密文Token1 (低位先發)。
d) 電子標簽接收到Token1之后對其進行解密,解密后得到的明文為Ra’|| Rb’,將Rb’與之前產生的Rb比較。
e) 電子標簽比較Rb’正確后,加密生成Token2。加密的明文為Rb”|| Ra’,其中Rb”是電子標簽新產生的32位隨機數(Rb”用于密鑰協商),Ra’由步驟d)中解密Token1得到,Token2為加密后得到的64位密文。如果Rb’與Rb不同,則電子標簽無響應并返回到空閑/掛起狀態。
f) 電子標簽加密完成后,發送Token2(低位先發)。在發送完信息后,電子標簽等待讀寫器發送的后續命令。
g) 讀寫器接收到Token2后,解密并比較所得到的Ra’與原先發送的Ra,如果Ra’比較正確,鑒別通過,否則鑒別失敗。

圖A.3 鑒別流程
鑒別指令應通過參數選擇key0-key7進行認證。某一密鑰的鑒別通過后,所有該密鑰對應的訪問權限全部打開。
A.7.2 通信數據的加密傳輸
對通信數據的加密應采用基于SM7算法的流加密方式,數據發送端應通過OFB模式循環產生密碼流,并將通信明文數據與密碼流異或后發出;數據接收端應通過相同方法產生相同的密碼流,將接收到的加密數據與密碼流異或后得到數據明文。
在圖A.3描述的雙向身份鑒別過程結束后,電子標簽與讀寫器都應繼續使用當次身份鑒別過程所使用的密鑰KEY,將身份鑒別過程中產生的Token2作為初始向量,通過SM7算法的OFB模式運算,所產生的加密結果用作流加密的密碼流,與通信數據明文(密文)異或后得到通信數據密文(明文)。
A.8 密鑰管理
A.8.1 密鑰注入
電子標簽芯片中的密鑰在電子標簽初始化過程中注入。密鑰注入完成后,應通過使用注入的密鑰進行身份鑒別來確認注入的密鑰是否正確。
A.8.2 密鑰存儲
密鑰存儲在芯片密鑰區,密鑰區信息任何時候都不能被讀出。key0為主控密鑰,只有通過key0進行身份鑒別通過后才能對密鑰區執行寫操作。
A.8.3 密鑰使用
密鑰用于身份鑒別與訪問控制。使用任何一個密鑰進行身份鑒別通過后,讀寫器可以獲得與該密鑰權限相對應的存儲塊的訪問權限。
A.9 全部指令集說明
電子標簽芯片的指令集如表A.9下:
表A.1 電子標簽芯片指令集
| 指令名稱 | 指令代碼(16進制) | 說明 |
|---|---|---|
| request std | 26 | 復位應答指令尋找未被置成暫停狀態的電子標簽 |
| request all | 52 | 復位應答指令尋找所有在操作區域內的電子標簽 |
| Anti-collision | 93 | 防沖突指令如果操作區域內有一張或多張電子標簽,本指令將用來從這些電子標簽中選出一張電子標簽 |
| Select Tag | 93 | 選擇電子標簽指令在防沖突指令后建立起與選中電子標簽的通訊 |
| Authentication | 70 | 身份鑒別指令鑒別電子標簽和讀寫器的合法性 |
| Read | 30 | 讀塊指令讀出電子標簽中某一塊的16個字節 |
| Write | A0 | 寫塊指令將數據寫入電子標簽中的某一塊 |
| Increment | C1 | 加法指令將電子標簽中的數值塊加上某一數值,并把結果存于電子標簽內的寄存器 |
| Decrement | C0 | 減法指令將卡中的數值塊減去某一數值并把結果存于電子標簽內的寄存器 |
| Restore | C2 | 存儲指令將電子標簽內數值塊的內容讀到電子標簽內的寄存器 |
| Transfer | B0 | 傳輸指令將電子標簽內寄存器中的內容寫入塊中 |
| Halt | 50 | 掛起指令將電子標簽置于暫停狀態 |
GB/T37033.2-2018信息安全技術射頻識別系統密碼應用技術要第2部分:電子標簽與讀寫器及其通信密碼應用技術要求
推薦文章: