附錄C (資料性附錄) 鑒別模塊接口
C.1 服務報文格式
C.1.1 報文格式**
鑒別模塊的服務報文由<報頭>+<報體>構成。其中報頭定義報文類型和選項,報體為具體的服務請求或服務響應數據。
報頭的格式如表C.1:
表C.1 鑒別模塊的服頭格式
| 偏移量 | 名稱 | 長度(字節) | 描述 | 說明 |
|---|---|---|---|---|
| 0 | 報頭長度 | 1 | 標識報頭長度 | |
| 1 | 報文類型 | 1 | 標識報文類型 | x0: 請求報文x1: 響應報文0x:不需要校驗MAC8x: 需要校驗MAC |
| 2 | 版本 | 1 | 標識報文版本 | 01: 版本1 |
| 3 | 調用者 | 8 | 標識調用者 | 為調用者分配的標識,缺省可為8個00 |
| 11 | 調用號 | 8 | 標識本次調用/響應 | 由調用者產生的調用號,調用號應每次不同 |
| 19 | 報體長度 | 2 | 標識報體長度 | 不包含報頭的報文長度 |
| 21 | MAC | 4 | MAC校驗值 | 如果報文類型bit7設置為1,即需要MAC校驗,有本數據項。將報頭(不含本項)與報文,使用SM3算法運算,取低位的4個字節,作為MAC校驗值。 |
C.1.2 服務請求報文
當報頭的報文類型標識的bit0是0時,為服務請求報文。服務請求報文的格式為:<請求頭>+<數據體>。
請求頭的格式如表C.2:
表C.2 請求頭格式
| 偏移量 | 名稱 | 長度(字節) | 描述 | 說明 |
|---|---|---|---|---|
| 0 | 服務標識 | 2 | 標識請求的鑒別模塊服務 | 鑒別模塊提供的服務。其中1000以上為自定義服務 |
| 2 | 服務選項 | 2 | 標識服務請求的參數 | 根據具體服務的不同設置參數 |
| 4 | 數據項個數 | 1 | 標識服務請求的數據項個數 | 數據體包含的數據項個數 |
| #### C.1.3 服務響應報文 |
A.1.1 服務響應報文
當報頭的報文類型標識的bit0是1時,為服務響應報文。服務響應報文的格式為:<響應頭>+<數據體>。
響應頭的格式如表C.3:
表C.3 響應頭格式
| 偏移量 | 名稱 | 長度(字節) | 描述 | 說明 |
|---|---|---|---|---|
| 0 | 服務標識 | 2 | 標識響應的服務請求 | 鑒別模塊提供的服務。其中8000以上為自定義服務 |
| 2 | 結果標識 | 2 | 標識服務響應的結果 | 其中8000以上標識服務請求錯誤。第1個字節標識具體的結果代碼 |
| 4 | 數據項個數 | 1 | 標識服務響應的數據項個數 | 數據體包含的數據項個數 |
C.1.4 數據體及數據項格式
數據體由請求頭或響應頭設定的數據項個數的數據單元組成,其格式為:
<數據項1>+<數據項2>+…+<數據項n>
每個數據項的格式如表C.4:
表C.4 數據項格式
| 偏移量 | 名稱 | 長度(字節) | 描述 | 說明 |
|---|---|---|---|---|
| 0 | 數據屬性 | 1 | 標識數據屬性 | bit7為1,加密數據bit7為0,明文數據 |
| 1 | 數據標識 | 2 | 標識數據的含義 | 數據項的含義,其中8000以上為自定義數據項 |
| 4 | 數據長度 | 1 | 標識數據項的長度 | |
| 數據內容 | 數據長度 | 由數據長度規定的數據內容 |
C.2 服務標識
鑒別模塊的服務標識見表C.5:
| 名稱 | 值 | 描述 | 說明 |
|---|---|---|---|
| 動態口令鑒別 | 0001 | 動態口令鑒別請求 | |
| 挑戰應答鑒別 | 0002 | 挑戰應答鑒別請求 | |
| 產生挑戰碼 | 0003 | 請求一個挑戰碼 | |
| 激活 | 0101 | 激活令牌 | |
| 鎖定 | 0102 | 鎖定令牌 | |
| 解鎖 | 0103 | 解鎖令牌 | |
| 名稱 | 值 | 描述 | 說明 |
| 掛起 | 0104 | 掛起令牌 | |
| 解掛 | 0105 | 解除令牌掛起 | |
| 設置靜態口令 | 0106 | 設置令牌綁定的靜態口令 | |
| 遠程解PIN | 0107 | 請求遠程解PIN密碼 | |
| 同步 | 0108 | 強制令牌同步 | |
| 更新 | 0109 | 更新令牌密鑰 | |
| 廢止 | 010a | 將令牌廢止 |
C.3 數據標識
鑒別模塊的數據標識見表C.6:
表C.6 鑒別模塊的數據標識
| 名稱 | 標識 | 描述 | 說明 |
|---|---|---|---|
| 廠商標識 | 0001 | 令牌的廠商標識 | |
| 序列號 | 0002 | 令牌序列號 | |
| 動態口令 | 0003 | 動態口令 | |
| 下一口令 | 0004 | 下一個動態口令 | |
| 交易內容 | 0005 | 交易內容 | 用于計算挑戰碼或校驗挑戰應答口令 |
| 挑戰碼 | 0006 | 根據交易內容產生的挑戰碼 | |
| 應答碼 | 0007 | 應答碼 | 用于驗證的應答碼 |
| PIN碼 | 0008 | 與令牌綁定的PIN碼 | |
| 新PIN碼 | 0009 | 設置的新PIN碼 | |
| 更新碼 | 000a | 更新令牌的更新碼 | |
| 初次激活時間 | 0101 | 初次激活時間 | |
| 最近使用時間 | 0102 | 最近使用時間 | |
| 過期時間 | 0103 | 過期時間 | |
| 錯誤次數 | 0104 | 錯誤次數 | |
| 令牌狀態 | 0105 | 令牌狀態 | 未激活、就緒、鎖定、掛起、作廢 |
| 令牌型號 | 0106 | 令牌型號 |
C.4 返回碼
鑒別模塊的返回碼見表C.7:
表C.7 鑒別模塊的返回碼
| 名稱 | Byte1 | Byte0 | 描述 | 說明 |
|---|---|---|---|---|
| 安全服務成功 | 00 | xx | 安全服務成功 | |
| 00 | 01 | 動態口令鑒別成功 | ||
| 00 | 02 | 挑戰應答鑒別成功 | ||
| 00 | 03 | 挑戰碼成功 | ||
| 安全服務失敗 | 80 | xx | 安全服務失敗 | |
| 80 | 01 | 要求下一個口令 | ||
| 80 | 02 | 動態口令錯 | ||
| 80 | 03 | PIN碼失敗 | ||
| 80 | 04 | 口令已被驗證過 | ||
| 管理服務成功 | 01 | xx | 管理服務成功 | xx標識對應的管理服務 |
| 管理服務失敗 | 81 | xx | 管理服務失敗 | |
| 81 | 01 | 要求下一個口令 | ||
| 81 | 02 | 動態口令錯 | ||
| 81 | 03 | PIN碼失敗 | ||
| 81 | 04 | 口令已被驗證過 | ||
| 81 | 05 | 同步失敗 | ||
| 令牌錯誤 | 84 | xx | 令牌錯誤 | |
| 84 | 01 | 沒有廠商號 | ||
| 84 | 02 | 沒有這個令牌 | ||
| 84 | 03 | 令牌記錄錯誤 | ||
| 84 | 04 | 令牌被鎖定 | ||
| 84 | 05 | 令牌被掛起 | ||
| 84 | 06 | 令牌未激活 | ||
| 84 | 07 | 令牌已被廢止 | ||
| 84 | 08 | 令牌已過期 | ||
| 報文錯誤 | 90 | xx | 報文錯誤 | |
| 90 | 01 | 報文不正確 | ||
| 90 | 02 | 報文校驗錯 | ||
| 90 | 03 | 未授權的訪問 | ||
| 90 | 04 | 沒有指定的服務 | ||
| 90 | 05 | 服務參數錯誤 |
C.5 應用接口
鑒別模塊應提供WEB Service接口和Socket接口。
GB/T 38556—2020信息安全技術動態口令密碼應用技術規范
推薦文章: