附錄 A (資料性附錄) 射頻識別系統的密鑰管理示例
A.1 概述
本附錄描述了一個密鑰管理示例,該示例適用于安全級別為三級的射頻識別系統。
A.2 系統的應用要求
此應用的密鑰管理要求基于以下基本條件:
a) 系統涉及多個電子標簽發行者(指電子標簽信息的原發者),每個發行者有一個唯一編碼以示區別(廠商ID);
b) 每個電子標簽出廠時都具有唯一標識符(芯片UID);
c) 對電子標簽中劃分的兩個信息存儲區(用標簽信息區1和標簽信息區2加以區別)進行安全訪問控制,每個信息存儲區需要有獨立的訪問控制權限,并對讀寫加以區分;
d) 電子標簽具有專用的密鑰存儲區,對密鑰存儲區一次性寫入且不能改寫;
e) 電子標簽的信息存儲區中保存的數據使用專用密鑰進行加密;
f) 讀寫器中的算法有:
1) 對稱密碼算法SM7,用于與電子標簽進行雙向身份鑒別、訪問控制及傳輸過程中的信息加密;
2) 對稱密碼算法SM1/SM4,用于信息存儲加密和密鑰分散;
3) 非對稱密碼算法SM2,用于產生信息的數字簽名及對簽名進行驗證;
4) 密碼雜湊函數SM3,用于產生信息摘要。
g) 標簽中的算法是對稱密碼算法SM7,用于與讀寫器進行雙向身份鑒別、訪問控制及傳輸過程中的信息加密;
h) 讀寫器可生成自己的公私鑰對;
i) 僅電子標簽的發行者具有對電子標簽信息的寫入權限,且具有寫權限的發行者應具有讀取權限;
j) 電子標簽的使用者只具有對電子標簽信息區1和信息區2的讀取權限,不具有寫入權限。并可根據電子標簽使用目的限定使用者對電子標簽信息區的讀取權限(如只允許讀取電子標簽信息區1或只允許讀取電子標簽信息區2);
k) 讀寫器與電子標簽之間傳輸的信息需要進行加密保護;
l) 讀寫器具有抗電子標簽原發抵賴功能。
A.3 密鑰管理設計實現
A.3.1 密鑰生成
需針對該應用系統建立密鑰管理中心,除各讀寫器的公私鑰對外,系統其他密鑰在密鑰管理中心的密鑰生成設備中產生,要保證密鑰管理中心的物理環境安全,在密鑰生成、存儲時不會泄露密鑰,且生成過程需記錄審計信息。
在密鑰管理中心生成的密鑰包括:
a) 電子標簽信息區1的讀取根密鑰KR1;
b) 電子標簽信息區1的寫入根密鑰KW1;
c) 電子標簽信息區2的讀取根密鑰KR2;
d) 電子標簽信息區2的寫入根密鑰KW2;
e) 電子標簽數據存儲加密根密鑰KD;
f) 根公私密鑰對,根公鑰以證書(PubCert)的形式存儲。
在讀寫器中生成的密鑰包括:讀寫器自身的公私鑰對(PKi和SKi)。此密鑰對在讀寫器中生成,生成后私鑰在讀寫器中安全存儲,公鑰上傳給密鑰管理中心的密碼設備,由根私鑰簽名得到其公鑰證書,再注入到讀寫器中,即讀寫器的公鑰以證書(PubCerti)的形式存儲。
A.3.2 密鑰分散
采用密鑰分散方法產生注入電子標簽中的全部密鑰和注入讀寫器中的部分密鑰(具有寫權限的密鑰)。
由于KW1 和KW2分別具有對電子標簽信息區1和2的寫入權限,且對于寫入權限的使用僅限于各標簽的發行者,因此需要對這兩個密鑰進行兩級分散。第一級分散在密鑰管理中心進行,利用廠商ID對根密鑰進行分散,并將分散后的密鑰派發給各電子標簽發行者。第二級分散在各標簽發行者向電子標簽內寫入密鑰時進行,利用芯片UID對第一級分散后的密鑰再次分散產生電子標簽的個性化密鑰,并寫入電子標簽的密鑰區。
由于使用者可讀取任意標簽發行者所發行電子標簽的信息,因此,對于KR1 、KR2和KD可只利用芯片UID對根密鑰進行一次分散即可。
采用SM1/SM4密碼算法進行密鑰分散。
一次分散的方法如下:
KW1^′^= Enc(廠商ID,KW1);
KW2^′^= Enc(廠商ID,KW2);
KR1^′^= Enc(標簽UID,KR1);
KR2^′^= Enc(標簽UID,KR2);
KD^′^= Enc(標簽UID,KD)。
對KW1^′^和KW2^′^還需進行二次分散,方法如下:
KW1^〞^=Enc(標簽UID,KW1 ^′^);
KW2^〞^= Enc(標簽UID,KW2 ^′^)。
其中,用以區分各發行廠商或芯片的唯一標識的廠商ID或芯片UID作為分散因子,長度固定為16字節。對長度不足或超過16字節的廠商ID或芯片UID,應采用以下方式進行處理:
a) 長度不足16字節時,通過在右邊填充0x00補齊到16字節;
b) 長度超過16字節時,截取其中變化率最大的16字節作為分散因子,所截取部分應能保證唯一性。
A.3.3 密鑰分發和注入
密鑰的分發和注入包括對讀寫器的密鑰分發注入和對電子標簽的密鑰分發注入。
在分發和注入前應先檢驗密鑰的完整性,在確保密鑰未被篡改后,直接從安全密碼設備中將密鑰注入到讀寫器和電子標簽中。
a) 讀寫器的密鑰分發與注入
讀寫器密鑰的分發和注入在密鑰管理中心進行。首先讀寫器生成自身的公私鑰對,私鑰安全存儲在讀寫器中,公鑰上傳給密鑰管理中心的密碼設備,由密鑰管理中心的密碼設備使用根私鑰為其簽名,得到讀寫器的公鑰證書,然后根據讀寫器的不同應用,向讀寫器內注入不同的對稱密鑰、根公鑰證書和讀寫器的公鑰證書。密鑰的完整性檢驗利用SM3算法,在密鑰分發前計算對所有要注入的密鑰一并計算驗證碼,并將驗證碼隨密鑰一同分發,讀寫器在接收到密鑰后要對驗證碼進行驗證。
依據讀寫器的使用功能,各讀寫器使用的密鑰見表A.1。
表 A.1 不同功能讀寫器的密鑰列表

對于電子標簽,先由密鑰管理中心將密鑰分發給用于密鑰寫入的讀寫器,再由讀寫器根據芯片UID對密鑰進行分散后注入到電子標簽內。
對注入電子標簽的密鑰的正確性驗證,采用已經注入的密鑰逐一進行身份鑒別的方式進行。如果身份鑒別通過,則對應的密鑰注入正確。
注入到標簽中的密鑰有:KW1〞、KR1′、KW2〞、KR2′。
A.3.4 密鑰存儲
密鑰管理中心的密鑰采用加密的密鑰組件的方式保存,使用密鑰分割技術把密鑰分割成至少兩個部分。每一部分采用不同的密鑰加密密鑰進行加密,密鑰加密密鑰由不同的人保存。應在兩人同時操作的情況下才能解密得到密鑰明文,并且該明文只能出現在安全密碼設備中,斷電即消失。
讀寫器中的對稱密鑰和讀寫器的私鑰安全存儲在讀寫器的SAM內,并確保不能以任何方式導出,根公鑰和讀寫器公鑰均以證書的形式存儲。
電子標簽上安全存儲經電子標簽UID分散后的密鑰,并確保不能以任何方式導出。
A.3.5 根密鑰備份
密鑰管理中心生成的根密鑰的副本采用以下兩種方式之一脫機保存:
a) 加密保存在光盤、IC卡或磁帶上,密鑰密文和其密鑰加密密鑰由兩個人員分別保存,實現雙重控制;
b) 采用密鑰分割的方式,將密鑰分成幾個部分,每個有關人員保管一個部分,缺少任何一部分都不能正確恢復出密鑰。
A.3.6 密鑰驗證
存儲和備份的密鑰定期檢驗。不管是采用了加密存儲或密鑰組件存儲,每個密鑰或組件都需要有驗證碼同時存儲。每次檢驗時,應通過檢查此驗證碼校驗密鑰完整性。
A.3.7 密鑰更新與銷毀
如果根密鑰被泄露,重新生成新的根密鑰,并將所有讀寫器的密鑰更新,此后發行的電子標簽也應注入更新后的密鑰。
對于只具有讀功能的讀寫器,需保留原有的讀根密鑰,以便支持對更新前的電子標簽進行操作。
密鑰更新后,舊的密鑰應被歸檔,以備必要時驗證以前交易的合法性。
A.3.8 密鑰的使用
在讀寫器與電子標簽采用對稱密鑰進行身份鑒別、訪問控制等操作時,讀寫器應先采用SM1/SM4密碼算法,根據讀取的電子標簽的UID對相應操作權限的根密鑰(如KR1)進行分散,以獲得與電子標簽共享的對稱密鑰。
采用抗讀寫器抵賴功能時,先由讀寫器利用自己的私鑰對寫入電子標簽的信息進行簽名,并將電子標簽信息、數字簽名連同產生簽名的讀寫器的信息一同寫入電子標簽。在讀取驗證時,驗證的讀寫器先利用根公鑰驗證產生簽名的讀寫器的公鑰證書,再用產生簽名的讀寫器的公鑰驗證數字簽名。
其中,驗證讀寫器在密鑰管理中心下載密鑰時已經下載了根公鑰證書,對產生簽名的讀寫器的公鑰證書的獲取,根據系統的具體應用情況,可采用以下的方式:
a) 若讀寫器可實時與后臺管理系統連接,可根據從電子標簽內讀取的產生簽名的讀寫器信息從后臺系統實時的獲得相應讀寫器的公鑰證書;
b) 若讀寫器不能實時與后臺管理系統連接,根據系統規模大小,可在讀寫器內存儲系統內所有公鑰證書(必要時可定期更新);
c) 若電子標簽存儲空間允許,可將產生數字簽名的讀寫器的公鑰證書在寫入數字簽名的同時寫入電子標簽,當需要進行數字簽名驗證時,可直接由讀寫器從電子標簽內讀取獲得該公鑰證書。
信息安全技術 射頻識別系統密碼應用技術要求 第3部分:密鑰管理技術要求
推薦文章: