附 錄 A (資料性附錄) 電子標簽防偽應用密碼安全解決方案
A.1 方案概述
本附錄給出了一個符合RFID應用系統安全級別的第二級安全要求的電子標簽防偽應用安全解決方案,本方案涉及的內容對包括電子標簽、讀寫器、中間件信息安全在內的防偽應用系統。
電子標簽應用系統面臨的安全威脅有:非法訪問、跟蹤、竊聽、偽造、物理攻擊、惡意破壞等方面。使用密碼技術實現防偽安全應用系統的數據完整性、合法性驗證,數據訪問權限控制,標簽通信信道安全,并根據應用系統各組成列出部分的安全需求及密碼技術解決措施,提煉出整個應用系統的密碼安全解決方案,以保證整個應用系統的信息安全。
典型電子標簽防偽應用系統安全架構圖如圖A.1所示。

圖A.1 系統安全架構圖
防偽應用系統安全解決方案涉及到電子標簽芯片密碼安全技術及其實現、讀寫器密碼安全技術及其實現、中間件密碼安全技術、電子標簽與讀寫器通信安全技術和讀寫器與中間件通信安全,其密碼技術的安全體系如圖A.2所示。

圖A.2 密碼防偽應用安全體系
A.2 電子標簽芯片密碼安全技術及其實現
A.2.1 電子標簽安全需求
防偽用電子標簽主要面臨的安全威脅有:對標簽的非法訪問、偽造、數據篡改、物理攻擊、惡意破壞等。其對應的安全需求有:標簽的身份鑒別、信息存儲安全、訪問控制安全、標簽管理安全等。其中標簽管理安全不涉及密碼技術,本方案不作規定。
A.2.2 電子標簽身份鑒別
采用對稱密碼算法SM7對標簽進行身份鑒別,從而保證標簽身份的合法性。身份鑒別采用的密鑰通過電子標簽UID對根密鑰分散獲得。
具體身份鑒別過程見GB/T XXXXX.2-XXXX。
A.2.3 電子標簽信息存儲安全
對存儲在標簽內的敏感信息采用對稱密碼算法SM1或SM4加密,并用雜湊算法SM3生成摘要信息實現對存儲信息的完整性校驗,以保證標簽內存儲的敏感信息在面臨數據篡改、物理攻擊等安全威脅時,攻擊者得不到明文數據,同時在數據被篡改后也能被及時發現,從而保證敏感信息的存儲安全。
信息加密采用的密鑰可通過UID對信息加密根密鑰分散獲得,解密方通過授權獲得此密鑰。具體過程參見A.5.3。
A.2.4 電子標簽訪問控制安全
對不同的信息通過不同的密鑰設置訪問控制權限,以保證電子標簽及其存儲信息面臨非法訪問、數據篡改、惡意破壞等威脅時,攻擊者不能進行相關讀、寫、修改、創建、刪除等操作,從而保證敏感信息及電子標簽的安全。
具體密鑰設置參見A.5.2。
A.2.5 安全實現
采用將CA認證和數字簽名與電子標簽相結合的技術,實現電子標簽數據加密和信息認證。
在電子標簽芯片初始化處理過程中,系統將完成基本信息和合法身份鑒別信息向芯片內的寫入。
A.2.5.1 隨機數發生器
標簽內具有隨機數發生器(RNG),隨機數的產生不依賴于通電場、鏈路速率和存儲在標簽內的數據(包括UID、CRC等)。標簽采用RNG生成的隨機數(長度由鏈路加密的總長度決定),完成一次鏈路加密后,隨機數應予以丟棄,下一次鏈路通信必須生成新的隨機數。
A.2.5.2 電子標簽身份信息數據寫入
將電子標簽的UID等特征信息串聯(如UID||特征信息1||特征信息2),通過雜湊算法SM3計算生成特征碼,即“消息摘要”,采用信息寫入者的私鑰對“消息摘要”進行數字簽名,數字簽名可以確定電子標簽信息的實際身份和使用許可的真實性、合法性。
A.2.5.3 標簽信息數據寫入
讀寫器對電子標簽操作前通過與電子標簽之間的雙向身份鑒別,并獲得相應應用分區的操作密鑰,將基本信息加密后寫入標簽的基本信息應用分區,通過雜湊算法SM3將該基本特征信息與電子標簽芯片UID碼進行運算生成該電子標簽的消息摘要,將消息摘要用信息寫入者的私鑰進行數字簽名并寫入標簽簽名區。
A.2.5.4 訪問權限
數據存儲區中數據塊的訪問權限由密鑰權限區中的密鑰決定,對應數據塊的權限被設置以后,加密鏈路也同時生效。
密鑰權限區本身沒有權限控制,當主密鑰(MASTER KEY)被設置了之后,訪問密鑰權限區的加密鏈路也同時生效,對密鑰區的訪問以只寫(不能讀)方式進行。
A.2.5.5 標簽數據解密及簽名驗證
讀寫器對電子標簽操作前通過雙向鑒別獲得相應應用分區的操作密鑰,訪問標簽基本信息區,讀取標簽芯片序列號以及標簽基本特征信息,通過雜湊算法SM3生成該標簽的消息摘要;同時訪問標簽的數字簽名區,讀取標簽身份數字簽名信息,通過信息寫入者公鑰驗證數字簽名。
A.2.5.6 KILL指令(可選)
當主密鑰被設置后,KILL指令生效且必須以鏈路加密的方式發送指令。當讀寫器發送了有效的KILL指令后,標簽將不應答來自于讀寫器的任何請求指令。
A.3 電子標簽讀寫器密碼安全技術及安全實現
A.3.1 讀寫器安全需求
防偽用電子標簽讀寫器主要面對安全威脅有:對讀寫器的非法訪問、偽造、數據篡改、物理攻擊、惡意破壞等,對應的,其安全需求有:讀寫器的身份鑒別、信息存儲安全、訪問控制安全、讀寫器管理安全等部分組成。其中讀寫器管理安全不涉及密碼技術,本方案不作規定。
A.3.2 讀寫器身份鑒別
防偽用讀寫器與標簽間的雙向身份鑒別采用對稱密碼算法SM7加密的三重身份鑒別機制,與中間件間的雙向身份鑒別采用基于PKI的SSL協議身份鑒別機制,以保證讀寫器在面臨偽造等安全威脅時,攻擊者無法通過身份鑒別,從而保證讀寫器身份的合法性。
具體密鑰設置參見A.5.2。
A.3.3 讀寫器信息存儲安全
對將要存儲在讀寫器內的敏感信息采用對稱密碼算法SM1或SM4加密,并用雜湊算法SM3生成摘要信息進行存儲數據完整性校驗,以保證讀寫器內存儲的敏感信息在面臨數據篡改、物理攻擊等安全威脅時,攻擊者得不到明文數據,同時在數據被篡改后也能被及時發現,從而保證敏感信息存儲安全。
具體密鑰設置參見A.5.3。
A.3.4 讀寫器訪問控制安全
對不同信息通過不同的密鑰設置訪問控制權限,使具有不同密鑰的中間件及應用系統具有對讀寫器不同信息讀取區域及不同的相關讀、寫、修改、創建、刪除等操作權限,以保證讀寫器及其存儲信息在面臨非法訪問、數據篡改、惡意破壞等安全威脅時,攻擊者不能進行相關讀、寫、修改、創建、刪除等操作,從而保證敏感信息安全。
具體密鑰設置參見A.5.2。
A.3.5 讀寫器抗抵賴
讀寫器生成信息時加入代表其身份的數字簽名,確保讀寫器不能否認曾經生成過該信息,接收信息的主體也能獲得信息原發的證據,而且該證據可被該主體或第三方主體驗證。
具體方法參見A.5.4。
A.3.6 讀寫器審計
對涉及應用系統安全的數據及相關操作(潛在的安全侵害)情況進行記錄,內容至少包括:使用主體、使用時間、執行的操作等,追溯并評估所記錄數據和操作的安全性,并采取有效措施保證記錄的安全。
A.3.7 安全實現
讀寫器安全實現從基本結構、安全存取模塊和訪問流程三個方面來闡述。
A.3.7.1 基本結構
讀寫器的基本結構包括:通信模塊、射頻模塊、安全存取模塊和微處理器。基本結構如圖A.3所示。

圖A.3 讀寫器基本結構圖
通信模塊負責讀寫器與系統之間的物理層接口;射頻模塊負責讀寫器與標簽之間的物理層接口;安全存取模塊負責讀寫器與標簽之間通信鏈路的加/解密和指令的編/解碼;微處理器負責對來自于標簽或系統的指令解析、處理和數據轉發功能。
A.3.8 安全存取模塊
讀寫器中的安全存取模塊包括:隨機數發生器、存儲器、對稱算法處理單元和數據編/解碼單元。
隨機數發生器用于產生在密鑰分散和流加密過程中使用的隨機數;存儲器用于保存在加密過程中使用的過程密鑰、隨機數、數據流等;對稱算法處理單元用于產生在流加密過程中所要使用的密鑰;數據編碼單元用于產生對二進制位流進行編碼后供射頻模塊調制發送的數字基帶;數據解碼單元用于產生對射頻模塊解調后的數字基帶進行解碼后供流加密運算的二進制位流。
A.3.9 訪問流程
讀寫器對電子標簽的訪問流程如圖A.4所示。

圖A.4 讀寫器訪問電子標簽流程圖
A.4 電子標簽與讀寫器通信安全技術
A.4.1 電子標簽與讀寫器通信安全需求
電子標簽與讀寫器通信主要面對安全威脅有:對標簽、讀寫器的非法訪問、偽造、跟蹤、竊聽、數據篡改等,其安全需求有:電子標簽與讀寫器之間的雙向身份鑒別、電子標簽與讀寫器之間數據雙向傳輸加密、數據傳輸安全鑒別等。
A.4.2 電子標簽與讀寫器之間的雙向身份鑒別
讀寫器與標簽間的雙向身份鑒別采用對稱密碼算法SM7加密的三重身份鑒別機制,以保證標簽與讀寫器在面臨非法訪問、偽造、跟蹤等安全威脅時,攻擊者無法通過身份鑒別,從而保證標簽與讀寫器身份的合法性。
具體密鑰設置參見A.5.2。
A.4.3 電子標簽與讀寫器之間數據雙向傳輸加密
電子標簽與讀寫器之間數據雙向傳輸信息采用對稱密碼算法SM1或SM4進行鏈路加密,以保證傳輸信息面臨竊聽等安全威脅時,攻擊者得不到明文數據,從而保證信息傳輸安全。
具體密鑰設置參見A.5.3。
A.4.4 電子標簽與讀寫器之間數據傳輸安全鑒別
在電子標簽與讀寫器之間傳輸的數據后加入代表傳輸數據特征的數字簽名,以保證傳輸信息在面臨數據篡改等安全威脅時,能及時發現數據被篡改,從而保證信息傳輸安全。
具體密鑰設置參見A.5.4。
A.5 密碼算法及密鑰管理
A.5.1 密鑰管理系統
密鑰管理系統的作用是規劃、產生、保管、分散、傳遞、管理以及銷毀應用系統的密鑰,保證應用系統的安全運行。密鑰管理系統采用國家指定的密碼算法,原則上采用硬件設備產生各級根密鑰,并通過采用國家密碼管理部門指定的密碼算法按應用環節的需要將所需密鑰下載或分散至安全存儲模塊中(SAM卡)。在各個應用環節,安全存儲模塊完成密鑰分散、密鑰認證、傳輸數據的MAC計算以及應用數據的加密等功能。同時,各個應用的安全存儲模塊所裝載的密鑰根據應用需要而有所不同,保證各個應用的安全獨立性。
A.5.2 對稱密碼算法SM7及密鑰管理
該算法用于防偽標簽與讀寫器間數據傳輸加密和完整性校驗,由電子標簽芯片和讀寫器的硬件實現,電子標簽內的密鑰保存在電子標簽芯片中密鑰存儲區的相應位置;讀寫器所需的密鑰以根密鑰的形式保存在安全存取模塊(SAM)的安A.5.3.3 子密鑰分散
子密鑰分散方法如圖A.5所示,密鑰長度及密鑰分散因子長度均為16字節。將密鑰分散因子作為輸入數據,采用對稱密碼算法SM4(或SM1)進行加密計算,產生的16字節的結果作為子密鑰。

圖A.5 密鑰分散計算方法
為保證應用獨立和數據安全,對于同一個應用的密鑰,針對不同應用范圍,采用的密鑰值應該不一樣。為保證不同標簽之間的數據安全,對于同一個應用子密鑰,針對不同的標簽芯片,采用的密鑰值也不一樣,對稱密鑰體系按照不同標簽芯片的唯一序列號(UID)生成分散因子,使用密鑰分散算法通過應用子密鑰對其進行計算獲取特定標簽芯片使用的密鑰值。
A.5.4 非對稱密碼算法SM2及密鑰管理
A.5.4.1 功能描述
該算法用于數字簽名和完整性校驗,由讀寫器及應用系統硬件實現。非對稱算法密鑰的產生、保管和分發過程必須在受控的安全環境下進行。使用環節的算法和私鑰必須保存在通過安全認證的安全存取模塊(USB Key和SAM卡)中,公鑰在通訊時可以向外發布。
該系統使用自主建立的CA中心并在應用系統和電子標簽安全中間件內預置此CA中心的根證書,在終端的SAM卡和服務器的USB Key內保存CA中心頒發的通訊加密證書和私鑰,并保留臨時證書下載區裝載通訊對方的數字證書用于通訊加密和簽名驗證;標簽本身不涉及非對稱密鑰和算法,只用于保存由標簽信息寫入者對信息的數字簽名。
A.5.4.2 密鑰對產生
非對稱加密所需的密鑰只能在通過認證的安全設備(已加載SM2算法的SAM卡或USB Key)產生和保存,私有密鑰一經產生只能保存在設備中用于運算而不可導出,公開密鑰用于加密運算以及導出用于申請數字證書和向外發布。
A.5.4.3 數字證書產生
數字證書就是通訊中標志通訊各方身份信息的一系列數據,它由權威機構發行。最簡單的證書包含一個公開密鑰、名稱以及證書認證中心的數字簽名。一般情況下證書中還包括密鑰的有效時間、發證機關(證書認證中心)名稱、該證書的序列號等信息。
A .5.4.4 數字簽名
發送方用自己的私鑰對發送信息的摘要進行數字簽名。該方式用于標簽、讀寫器及中間件的源鑒別、完整性服務及不可否認服務。
A.5.4.5 數字信封
標簽與讀寫器以及讀寫器與中間件的數據傳輸中,采用數字信封技術,即采用非對稱算法SM2加密對稱算法SM1或SM4的密鑰,采用對稱算法SM1或SM4加密傳輸數據。
GB/T 37033.1—2018 信息安全技術 射頻識別系統密碼應用技術要求 第1部分:密碼安全保護框架及安全級別
推薦文章: