<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    附錄B (資料性附錄) 讀寫器密碼安全應用實例

    B.1 讀寫器基本結構

    讀寫器的基本結構包括通信模塊、安全存取模塊(SAM)、處理器模塊和射頻模塊。讀寫器結構框圖如圖B.1所示。

    NPFEjcX9TW.png!large

    圖B.1 讀寫器基本結構

    通信模塊是讀寫器與系統之間的通信接口;射頻模塊是讀寫器與電子標簽之間的物理接口;安全存取模塊負責讀寫器的安全保護;處理器模塊負責對來自于電子標簽或系統的指令解析、數據處理和數據轉發。

    B.2 讀寫器密碼安全需求

    B.2.1 系統描述

    圖B.2給出了用于某大型賽事電子門票的射頻識別系統框圖。

    NmgYoZ4gBN.png!large

    圖B.2電子門票射頻識別系統框圖

    電子門票系統由電子標簽、讀寫器和上位機構成。其中,讀寫器采用射頻接口芯片和安全芯片來實現。

    采用的安全芯片具有如下特性:

    a) CPU:32位RISC處理器

    b) 32KB EEPROM:用于數據和程序的存儲

    c) 256KB FLASH:用于程序、函數庫和數據的存儲

    d) MMU:存儲器管理單元,支持四種工作模式

    e) 隨機數發生器

    f) 安全探測:高低頻率檢測、高低電壓檢測

    g) UART接口

    h) 支持SM1\SM4、SM2、SM3、SM7密碼算法

    B.2.2 安全級別

    射頻識別系統的安全級別為第二級。

    電子標簽功能參見附錄A,支持國產SM7密碼算法。

    B.2.3 讀寫器密碼安全需求

    根據系統的安全需求,讀寫器支持如下安全要素:

    a) 存儲信息的保密性;

    b) 存儲信息的完整性;

    c) 與電子標簽傳輸信息的保密性;

    d) 抗電子標簽原發抵賴;

    e) 讀寫器與電子標簽雙向挑戰響應身份鑒別;

    f) 訪問控制。

    此外,讀寫器應支持與上位機之間的傳輸信息的保密性和完整性、身份鑒別、訪問控制、抗抵賴等安全要素。

    B.3 SAM命令集

    SAM支持的命令集說明如表B.1所示。

    表B.1 SAM命令集說明

    編號 命令 功能描述
    1 READ BINARY 讀透明文件
    2 READ RECORD 讀記錄
    3 UPDATE BINARY 修改透明文件內容
    4 UPDATE RECORD 修改記錄
    5 APPEND RECORD 添加記錄
    6 VERIFY PIN 驗證個人密碼
    7 EXTERNAL AUTHENTICATE 外部認證
    8 GET CHALLENGE 取隨機數
    9 INTERNAL AUTHENTICATE 內部認證
    10 SELECT FILE 選擇文件或應用
    11 GET RESPONSE 取響應
    12 CREATE FILE 建立文件
    13 RELOAD PIN 重裝個人密碼
    14 CHANGE PIN 修改個人密碼
    15 PIN CHANGE/UNBLOCK 更改/解鎖個人密碼
    16 WRITE KEY 重裝/解鎖密鑰
    17 CARD BLOCK 環境鎖定
    18 APPLICATION BLOCK 應用鎖定
    19 APPLICATION UNBLOCK 應用解鎖
    20 FREEZE MF 凍結MF
    21 GET INFO 取卡的特征信息
    22 CLEAR DF 清除DF文件體
    23 GENERATE SM2 KEY 產生SM2密鑰對
    24 STORE SM2 KEY 安裝SM2密鑰
    25 GET SM2 KEY 讀出SM2密鑰
    26 SM2 SIGNATURE SM2簽名
    27 SIGNATURE VERIFY SM2簽名認證
    28 SM2 ENCRYPT SM2加密
    29 SM2 DECRYPT SM2解密
    30 GENERATE ENVELOP 產生數字信封
    31 OPEN ENVELOP 打開數字信封
    32 SM3 COMPRESS 安全哈希算法壓縮數據
    33 DECRYPT/ENCRYPT 對稱算法加解密
    34 DELIVERY KEY 密鑰分散
    35 CIPHER DATA 對稱算法加解密,計算MAC

    B.4 密鑰管理

    B.4.1 密碼算法配用

    讀寫器配用SM1/SM4、SM2、SM3、SM7密碼算法,功能如下:

    a) 對稱密碼算法SM7:用于讀寫器與電子標簽之間的挑戰響應身份鑒別和數據傳輸加密;

    b) 對稱密碼算法SM1/SM4:用于密鑰分散、讀寫器數據存儲加密,以及與上位機的身份鑒別;

    c) 非對稱密碼算法SM2:用于產生電子標簽內受保護數據的數字簽名,以及對數字簽名進行驗證;

    d) 密碼雜湊函數SM3:用于產生摘要信息。

    B.4.2 密鑰

    系統中用到的密鑰如表B.2所示。

    表B.2 系統中用到的密鑰

    密鑰 算法 用途 產生 保存 生命周期 備份
    KA SM1/SM4 分散出密鑰KE 密碼機 密碼機 整個賽事 密碼機
    KB SM1/SM4 分散出密鑰KF 密碼機 密碼機、驗票讀寫器 整個賽事 密碼機
    KC SM1/SM4 外部認證密鑰 密碼機 密碼機、驗票讀寫器 整個賽事 密碼機
    KD SM2 簽名和驗證簽名 密碼機 私鑰:密碼機;公鑰:密碼機和驗票讀寫器 整個賽事 密碼機
    KE SM7 門票的主密鑰 由密鑰KA分散出 門票 發票時:分散得到并寫入門票門票中:整個賽事 不備份
    KF SM7 門票的驗票密鑰 由密鑰KB分散出 門票 發票時:分散得到并寫入門票驗票讀寫器中:分散得到一值到驗證密鑰結束門票中:整個賽事 不備份
    注:表中,密碼機是指在密鑰生成、門票簽發,以及上位機與讀寫器通信安全保護時上位機中采用的密碼設備。

    B.4.3 密鑰注入

    讀寫器密鑰的分發和注入在密鑰管理中心進行,根據讀寫器的不同應用,向讀寫器內注入不同的密鑰,本應用中向驗票讀寫器中注入3個密鑰,包括用于分散得到驗票密鑰的SM1/SM4密鑰KB、用于與上位機身份鑒別用的SM1/SM4密鑰KC和SM2密鑰KD的公鑰。

    密鑰的完整性檢驗利用SM3算法,在密鑰分發前計算密鑰的驗證碼,并將驗證碼隨密鑰一同分發,讀寫器在接收到密鑰后要對驗證碼進行驗證。

    B.4.4 密鑰存儲

    私鑰:SAM模塊不提供能夠導出保存在其中的非對稱密鑰對中私鑰的接口,也就是說一旦使用SAM模塊產生了密鑰對并保存起來,那么只有SAM自身擁有私鑰。

    SM1/SM4密鑰:SM1/SM4分組密碼算法的密鑰不能通過任何接口讀出,只能在滿足安全條件下參與運算或被修改。

    SM7密鑰:在讀寫器SAM內通過密鑰分散產生,用于與電子標簽的身份鑒別和訪問控制,在SAM內不存儲。

    B.4.5 密鑰分散

    密鑰分散方法如圖B.3所示,密鑰長度及密鑰分散因子長度均為16字節。將密鑰分散因子作為輸入數據,用SM1/SM4算法做加密運算,產生的16字節數據作為子密鑰。

    ZQuHUhdmns.png!large

    圖B.3 密鑰分散計算方法

    B.4.6 密鑰使用

    讀寫器內的SM1/SM4密鑰KB用于分散出SM7算法使用的驗票密鑰。

    讀寫器內的SM1/SM4密鑰KC用于讀寫器與上位機之間的身份鑒別,以及SAM內敏感信息加密。

    讀寫器內的SM2密鑰對KD中的公鑰用于驗證數字簽名。

    SM7密鑰由KB分散得到,其參與的加解密操作在SAM模塊內部完成,用于讀寫器與電子標簽挑戰響應身份鑒別,以及傳輸加密的密鑰協商。

    B.5 訪問控制

    B.5.1 文件系統

    所有密鑰和其他數據都存儲在文件系統中,安全的文件系統是SAM模塊的安全基礎。讀寫器SAM文件系統結構及權限說明如表B.3所示。

    表B.3 SAM文件結構及權限說明

    文件名稱 標識符 權限 密鑰 說明
    根目錄MF 3F00 全局權限 主控密鑰KC,標識為0000的外部認證密鑰 成功認證后可獲得主控密鑰權限,可建立文件、目錄等相應權限操作
    環境目錄DDF 除0000、3F00、FFFF外其它值 全局權限 主控密鑰KC 成功認證后可獲得主控密鑰權限,可建立文件、目錄等相應權限操作
    應用目錄ADF 除0000、3F00、FFFF外其它值 局部權限 主控密鑰KC 成功認證后可獲得主控密鑰權限,可建立文件等相應權限操作
    透明文件 除0000、3F00、FFFF外其它值 讀寫權限設置,可設置1-15級權限 主控密鑰KC或傳輸密鑰 讀寫該文件時,若需要計算密文和校驗碼,則使用讀/寫密鑰短標識對應的密鑰值進行計算
    記錄文件 除0000、3F00、FFFF外其它值 讀寫權限設置,可設置1-15級權限 主控密鑰KC或傳輸密鑰 讀寫該文件時,若需要計算密文和校驗碼,則使用讀/寫密鑰短標識對應的密鑰值進行計算
    安全文件 取值范圍0001~00FF 只能寫入或修改,不能從SAM中讀出。更新密鑰可設置1-15級權限;密鑰使用可設置1-15級權限 主控密鑰KC或傳輸密鑰 存放SM1密鑰KA和KB。在更新密鑰時,若需要計算密文和校驗碼,則使用更新密鑰短標識對應的密鑰值進行計算
    SM2公鑰文件 除0000、3F00、FFFF外其它值 公鑰使用可設置1-15級權限,以保護加密和驗證簽名操作;公鑰讀寫可設置1-15級權限,以保護導入/導出 主控密鑰KC或傳輸密鑰 存放SM2公鑰數據。在導出/導入公鑰時,若需要計算密文和校驗碼,則使用讀/寫密鑰標識對應的密鑰值進行計算
    SM2私鑰文件 除0000、3F00、FFFF外其它值 私鑰使用可設置1-15級權限,以保護解密和簽名操作;私鑰寫可設置1-15級權限,以保護私鑰導入 主控密鑰KC或傳輸密鑰 存放SM2私鑰數據。在導入私鑰時,若需要計算密文和校驗碼,則使用寫密鑰標識對應的密鑰值進行計算
    標識符為0000的SM1密鑰KC特指為主控密鑰。一個目錄(MF/DDF/ADF)下只能有一個主控密鑰。主控密鑰的建立是隨目錄一起建立的,可通過WRITEKEY 命令更新主控密鑰值。

    B.5.2 訪問控制策略

    安全管理系統支持為特定文件設定訪問權限。應用必須通過外部認證等方式取得相應權限后才能訪問特定文件。

    訪問權限用2個字節表示,高字節對應全局權限,低字節對應局部權限。每個字節的高4位表示權限的下限,每個字節的低4位表示權限的上限。假設權限的高字節為‘XY’,若‘X’£‘Y’表示文件的全局權限在‘X’至‘Y’內;若‘X’>‘Y’,表示文件被禁止訪問;若為‘0Y’,表示沒有權限限制。權限的低字節說明與高字節相同。

    B.6 讀寫器與電子標簽的雙向身份鑒別

    采用雙向挑戰響應身份鑒別方式,鑒別流程如圖B.4所示。

    電子標簽芯片被讀寫器選中后(REQA、ANTI、SELECT指令操作),必須進行雙向挑戰響應身份鑒別,通過身份鑒別后,才能對認證密鑰對應的塊進行相應控制權限的訪問。

    認證前的準備:

    a) 電子標簽和讀寫器使用相同的密碼算法SM7。

    b) 電子標簽和讀寫器使用相同的密鑰。

    c) 電子標簽和讀寫器使用各自的隨機數發生器。

    認證過程:

    a) 讀寫器發送鑒別指令以及指令參數(密鑰塊地址)。

    b) 電子標簽接收指令后發送由隨機數發生器產生的32位Rb。

    c) 讀寫器收到Rb后,由隨機數發生器產生32位隨機數Ra,并以128位KEY為密鑰進行加密,加密的明文為Ra(左半部分)Rb(右半部分)。加密結束,發送64位密文Token1 (低位先發)。

    d) 電子標簽接收到Token1之后對其進行解密,解密后得到的明文右半部分Rb’與之前產生的Rb比較。

    e) 電子標簽比較Rb’正確后,加密生成Token2,加密的明文為電子標簽新產生的32位隨機數Rb”(左半部分,Rb”用于密鑰協商)和解密Token1得到的Ra’(右半部分),得到的64位密文為Token2。如果Rb’與Rb不同,則電子標簽無響應并返回到空閑/掛起狀態。

    f) 電子標簽加密完成后,發送Token2(低位先發)。在發送完信息后,電子標簽等待讀寫器發送的后續命令。

    g) 讀寫器接收到Token2后,解密并比較所得到的Ra’與原先發送的Ra,如果Ra’比較正確,鑒別通過,否則鑒別失敗。

    ruVsxL650w.png!large

    圖B.4 雙向鑒別流程

    某一密鑰的鑒別通過后,所有該密鑰對應的訪問權限全部打開。

    B.7 保密性和完整性

    B.7.1 存儲信息的保密性和完整性

    讀寫器SAM內存儲的敏感信息經過SM1/SM4密碼算法加密后存儲,保證存儲信息的保密性。

    讀寫器SAM內存儲的敏感信息經過SM3密碼雜湊函數計算產生摘要信息,并存儲摘要信息,用于完整性校驗。

    B.7.2 與電子標簽傳輸信息的保密性

    對通信數據的加密采用基于SM7算法的流加密方式,數據發送端通過OFB模式循環產生密碼流,并將通信明文數據與密碼流異或后發出;數據接收端通過相同方法產生相同的密碼流,將接收到的加密數據與密碼流異或后得到數據明文。

    在圖B.4描述的雙向身份鑒別過程結束后,電子標簽與讀寫器都繼續使用當次身份鑒別過程所使用的密鑰KEY,將身份鑒別過程中產生的Token2作為初始向量,通過SM7算法的OFB模式運算,所產生的加密結果用作流加密的密碼流,與通信數據明文(密文)異或后得到通信數據密文(明文)。

    B.8 抗抵賴

    讀寫器抗電子標簽原發抵賴,過程如下。

    電子標簽發行階段:

    a) 讀寫器通過雜湊算法SM3將電子標簽需要簽名的數據原文生成數字摘要。

    b) 讀寫器用私鑰對數字摘要進行數字簽名。

    c) 讀寫器將簽名數據原文、數字簽名、公鑰證書一起進行封裝,形成簽名結果發送給電子標簽,并存儲在電子標簽存儲器內。

    應用階段:

    a) 讀寫器讀取電子標簽內存儲的簽名數據原文、數字簽名和公鑰證書。

    b) 讀寫器通過密碼雜湊函數SM3將電子標簽的簽名數據原文生成數字摘要。

    c) 讀寫器驗證從電子標簽內讀取的公鑰證書,獲得電子標簽信息原發者的公鑰,利用該公鑰對從電子標簽內讀取的數字簽名進行解密,獲得電子標簽信息原發者生成的數字摘要。

    d) 讀寫器將兩個摘要信息進行比較,結果一致則電子標簽的真實性驗證成功。

    B.9 讀寫器與上位機通信安全

    采用SM1/SM4密碼算法實現讀寫器與上位機的雙向身份鑒別。

    采用SM1/SM4密碼算法對數據加密并計算校驗值(CBC-MAC),以實現讀寫器與上位機之間傳輸信息的保密性和完整性。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类