8.3 身份鑒別
8.3.1 唯一標識符鑒別
唯一標識符鑒別需要在電子標簽中存儲UID以及驗證碼(MAC),該MAC是由UID與相關應用信息關聯后采用密碼算法計算產生,并在發行電子標簽時寫入。鑒別時,讀寫器獲取電子標簽的UID、應用信息和MAC,并根據相應的密碼算法重新計算產生驗證碼(MAC’),通過比對MAC與MAC’是否一致來鑒別電子標簽的身份。
8.3.2 單向身份鑒別
8.3.2.1 電子標簽對讀寫器的挑戰響應鑒別
電子標簽對讀寫器身份的真實性進行鑒別。
鑒別前,讀寫器讀取電子標簽的UID,使用該UID(或其它具有唯一性的參數)對根密鑰分散得到與該電子標簽存儲的個性化密鑰一致的分散密鑰K1。分散密鑰的產生過程見GM/T XXXXX.3-XXXX。
鑒別過程如下:
a) 讀寫器發送“身份鑒別”的命令給電子標簽,電子標簽中產生一隨機數RT,并發送給讀寫器。電子標簽使用密鑰K1對隨機數RT進行加密,計算出RT’=Enc(RT, K1)。
b) 讀寫器使用密鑰K1對隨機數RT進行加密,計算出RT”=Enc(RT, K1),并將RT”發送給電子標簽。
c) 電子標簽將收到的RT”與RT’進行比較。如果RT’=RT”,則通過對讀寫器的鑒別。
8.3.2.2 讀寫器對電子標簽的挑戰響應鑒別
讀寫器對電子標簽身份的真實性進行鑒別。
鑒別前,讀寫器讀取電子標簽的UID,使用該UID(或其它具有唯一性的參數)對根密鑰分散得到與該電子標簽存儲的個性化密鑰一致的分散密鑰K1。分散密鑰的產生過程見GM/T XXXXX.3-XXXX。
鑒別過程如下:
a) 讀寫器生成隨機數RR,發送給電子標簽。讀寫器采用密鑰K1對RR進行加密,計算出RR’=Enc(RR, K1)。
b) 電子標簽使用密鑰K1對RR進行加密,計算出RR”=Enc(RR, K1),并將RR”發送給讀寫器。
c) 讀寫器比較RR’和RR”。若RR”=RR’,則通過對電子標簽的鑒別。
8.3.3 雙向身份鑒別
8.3.3.1 對稱密碼算法鑒別
采用分組密碼算法實現雙向身份鑒別。
雙向鑒別前,讀寫器讀取電子標簽的UID,使用該UID(或其它具有唯一性的參數)對根密鑰分散得到與該電子標簽存儲的個性化密鑰一致的分散密鑰K1。分散密鑰的產生過程見GM/T XXXXX.3-XXXX。
鑒別過程如圖2所示。

圖2 采用分組密碼算法的雙向鑒別流程圖
描述如下:
a) 讀寫器向電子標簽發送鑒別指令。
b) 電子標簽接收到鑒別指令后,產生隨機數RT(隨機數長度為密碼算法分組長度的一半),發送給讀寫器。
c) 讀寫器產生隨機數RR(隨機數長度為密碼算法分組長度的一半),用電子標簽的個性化密鑰K1對RR和RT進行加密得到Token1=Enc(RR||RT, K1);讀寫器將Token1發送給電子標簽。
d) 電子標簽用個性化密鑰K1解密Token1得到RR’和RT’。比較RT’和RT,若RT’=RT,則電子標簽將RR’發送給讀寫器。
e) 讀寫器比較RR’和RR,若RR’=RR,則雙向鑒別通過。
也可對上述鑒別過程進行適當變化,參見附錄D。
8.3.3.2 非對稱密碼算法鑒別
采用非對稱密碼算法實現雙向身份鑒別。
電子標簽初始化或發行時,存儲根公鑰Pu、電子標簽的私鑰Pr_T和用根私鑰簽發的證書CER_T。讀寫器存儲根公鑰Pu、讀寫器的私鑰Pr_R和用根私鑰簽發的證書CER_R。
鑒別過程如圖3所示。

圖3 采用非對稱算法的雙向鑒別流程圖
描述如下:
a) 讀寫器向電子標簽發送鑒別請求命令。
b) 電子標簽產生隨機數RT,發送給讀寫器。
c) 讀寫器產生隨機數RR,用自己的私鑰Pr_R對RR||RT直接進行簽名得到SgnData1,并將數據塊Token1=RR||SgnData1||CER_R發送給電子標簽。
d) 電子標簽用根公鑰Pu驗證證書CER_R。如驗證通過,用該證書中讀寫器的公鑰驗證數字簽名SgnData1。如果驗證通過,則完成對讀寫器的身份鑒別。
e) 電子標簽用自己的私鑰Pr_T對RR直接進行簽名得到SgnData2,并將Token2=SgnData2||CER_T發送給讀寫器。
讀寫器用根公鑰Pu驗證電子標簽的證書CER_T。如果驗證通過,用該證書中電子標簽的公鑰驗證數字簽名SgnData2,如果驗證通過,則完成對電子標簽的身份鑒別,雙向鑒別通過。
也可對上述鑒別過程進行適當變化,參見附錄E。
GB/T37033.2-2018信息安全技術射頻識別系統密碼應用技術要第2部分:電子標簽與讀寫器及其通信密碼應用技術要求
推薦文章: