附 錄 D (規范性附錄) NEAU-S鑒別機制
D.1 NEAU-S鑒別機制概述
NFC實體鑒別機制NEAU-S基于兩個NFC-SEC實體之間預共享的密鑰來完成鑒別,過程如圖D.1所示。
本附錄涉及到的密碼算法應符合國家對密碼管理的相關規定。
圖D.1 NEAU-S實體鑒別概述
D.2 準備
在開始服務前,對于每個NFC-SEC實體應具備以下部分:
——各自具備預共享的鑒別密鑰MK;
——ISO/IEC 18092:2004中規定的它自身的nfcid3和其他的NFC-SEC實體的nfcid3。
D.3 流程
1、實體A產生隨機數NA,并發送給實體B。
2、實體B收到NA后,生成隨機數NB和用于作為密鑰種子的隨機數ZSEEDB,計算密鑰MKA||KEA||KIA=KDF(NA,NB,PSK,IDA,IDB),計算密文EncDataB=Enc(KEA, NB||NA||IDB||IDA||ZSEEDB),計算消息鑒別碼MACB=MAC1(KIA,NB||NA||EncDataB),實體B發送NB||NA||EncDataB||MACB給實體A,其中,MKA為鑒別密鑰,KEA為消息加密密鑰,KIA為消息完整性密鑰,KDF為9.3節密鑰推導算法,IDA為實體A的身份標識,IDB為實體B的身份標識,Enc為加密算法,MAC1為9.5.2節消息鑒別碼計算方法;
3、實體A收到NB||NA||EncDataB||MACB后進行驗證,若驗證不正確,則終止鑒別;
4、實體A產生用于作為密鑰種子的隨機數ZSEEDA,計算密文EncDataA= Enc(KEA, NA||NB||IDA||IDB||ZSEEDA),計算消息鑒別碼MACA=MAC(KIA, NA||NB||EncDataA),計算共享秘密Z=ZSEEDA⊕ZSEEDB,計算主密鑰MK=KDF(NA,NB,Z,IDA,IDB),計算消息鑒別標識MacTagA=MAC(MK, MsgID1||IDA||IDB||NA||NB),發送NA||NB||EncDataA||MACA||MacTagA給實體B,其中,KDF為9.3節密鑰推導算法,MsgID1為一消息序列號,“⊕”表示逐比特異或,MAC為9.5.2節消息鑒別碼生成算法;
5、實體B收到NA||NB||EncDataA||MACA||MacTagA后進行驗證,若驗證不正確,則終止鑒別;
6、實體B計算共享秘密Z=ZSEEDA⊕ZSEEDB,計算主密鑰MK= KDF(NA,NB,Z,IDA,IDB),計算消息鑒別標識MacTagA=MAC(MK, MsgID1||IDA||IDB||NA||NB),并與收到的MacTagA進行比較,如果相等,則認為實體A身份合法;如果不相等,終止鑒別;其中,KDF為9.3節密鑰推導算法;
7、實體B計算消息鑒別標識MacTagB=MAC2(MK, MsgID2||IDB||IDA||NB||NA),并將MacTagB發送給實體A,其中,MsgID2為一消息序列號;
8、實體A收到MacTagB后,首先計算消息鑒別標識MacTagB=MAC2(MK, MsgID2||IDB||IDA||NB||NA),然后將計算得到的MacTagB與收到的MacTagB進行比較,如果相等,則認為實體B身份合法。
GB/T 33746.2—2017 近場通信(NFC)安全技術要求 第2部分:安全機制要求
推薦文章: