CPU卡發(fā)卡程序設計過程中應當注意的幾個問題
文章出處:http:// 作者:許正軍 王蓉 毛祖學 人氣: 發(fā)表時間:2011年09月05日
[文章內容簡介]:CPU卡發(fā)卡程序設計過程中應當注意的幾個問題
1 引 言
構 建 IC卡 應 用 系 統 過 程 中 , 如 何 定 義 卡 中 的 數 據 信 息 ( 相 對 邏 輯 加 密 卡 ) 或 卡 中 的 應 用 類 型 及 其 數 據 信 息 ( 相 對 CPU卡 ) 及 將 數 據 信 息 寫 入 卡 中 , 以 便 應 用 于 系 統 中 進 行 交 易 是 一 個 重 要 環(huán) 節(jié) 。 這 一 環(huán) 節(jié) 在 業(yè) 界 通 常 稱 為 卡 片 個 人 化 。 卡 片 個 人 化 既 可 以 在 專 門 的 設 備 機 器 上 進 行 , 以 便 于 對 大 批 量 的 卡 片 進 行 個 人 化 ; 也 可 以 在 PC機 上 通 過 連 接 IC卡 讀 寫 器 進 行 , 以 便 于 對 小 批 量 的 卡 片 進 行 個 化 。 不 管 硬 件 設 備 如 何 , 都 必 須 設 計 一 套 程 序 軟 件 來 進 行 個 人 化 。 這 個 程 序 軟 件 通 常 稱 為 發(fā) 卡 程 序 。 本 文 討 論 CPU卡 發(fā) 卡 程 序 設 計 過 程 中 將 會 遇 到 的 關 鍵 技 術 問 題 及 其 解 決 方 法 。
CPU卡 發(fā) 卡 大 體 可 分 為 三 個 組 成 部 分 : ( 1) 卡 結 構 建 立 ; ( 2) 密 鑰 寫 入 ; ( 3) 個 人 化 數 據 寫 入 。 當 然 , 為 確 保 正 確 發(fā) 卡 , 程 序 設 計 過 程 中 最 好 是 采 用 一 邊 建 立 卡 結 構 , 一 邊 寫 入 密 鑰 和 個 人 化 數 據 。
2 發(fā) 卡 前 的 準 備 工 作
一 般 地 , 卡 片 供 應 商 提 供 卡 片 時 , 已 經 對 卡 片 進 行 過 初 始 化 ( 主 要 用 于 對 卡 片 進 行 測 試 ) , 亦 即 卡 片 上 已 經 建 立 了 主 文 件 ( MF) 及 主 密 鑰 文 件 ( MF下 的 Keyfile文 件 ) , 主 密 鑰 文 件 中 也 已 寫 入 了 初 始 卡 片 主 控 密 鑰 。
在 對 CPU卡 建 立 特 定 的 卡 結 構 及 寫 入 密 鑰 和 數 據 之 前 , 程 序 設 計 中 的 第 一 步 應 該 對 卡 片 進 行 外 部 認 證 。 外 部 認 證 所 使 用 的 密 鑰 正 是 初 始 卡 片 主 控 密 鑰 。
當 完 成 外 部 認 證 后 , 接 下 來 最 好 是 擦 除 卡 片 上 已 有 的 卡 片 結 構 , 然 后 再 開 始 重 新 建 立 卡 片 結 構 。
許 多 發(fā) 卡 程 序 在 設 計 過 程 中 , 沒 有 考 慮 到 擦 除 卡 片 上 已 有 的 卡 片 結 構 , 而 是 在 完 成 外 部 認 證 后 直 接 改 寫 原 有 卡 片 的 主 密 鑰 文 件 的 卡 片 主 控 密 鑰 。 常 見 問 題 是 由 于 原 有 主 密 鑰 文 件 創(chuàng) 建 時 的 空 間 大 小 不 夠 , 而 發(fā) 卡 程 序 試 圖 寫 入 除 卡 片 主 控 密 鑰 外 還 想 寫 入 卡 片 維 護 密 鑰 時 , 勢 必 造 成 寫 入 空 間 不 夠 而 導 致 寫 入 不 成 功 。
3 密 鑰 文 件 的 建 立 與 密 鑰 值 的 寫 入
為 了 獨 立 地 管 理 一 張 卡 上 不 同 應 用 之 間 的 安 全 問 題 , CPU卡 中 的 每 一 個 應 用 放 在 一 個 單 獨 的 ADF中 。 各 個 ADF及 其 下 屬 各 文 件 數 據 的 訪 問 ( 包 括 改 寫 、 讀 取 ) 只 能 應 用 該 ADF下 的 密 鑰 文 件 中 的 密 鑰 數 值 。 為 討 論 方 便 , 此 處 假 設 只 有 一 個 ADF。
用 戶 卡 結 構 中 主 要 存 在 以 下 兩 個 密 鑰 文 件 及 相 應 的 幾 個 密 鑰 :
(1)MF下 的 密 鑰 文 件 (簡 稱 KMF), 其 裝 載 的 密 鑰 是 卡 片 主 控 密 鑰 (簡 稱 CCK, 以 下 同 );
(2)ADF下 的 密 鑰 文 件 (簡 稱 KADF), 其 裝 載 的 密 鑰 有 應 用 主 控 密 鑰 (簡 稱 ACK, 以 下 同 ),應 用 維 護 密 鑰 (簡 稱 AMK), 及 其 它 應 用 密 鑰 ;
(3)其 它 密 鑰 , 如 口 令 密 鑰 PIN, 口 令 解 鎖 密 鑰 , DES運 算 密 鑰 等 等 。
3.1 密 鑰 文 件 的 創(chuàng) 建
各 密 鑰 文 件 在 建 立 時 必 須 慎 重 考 慮 以 下 兩 個 要 素 :
(1)文 件 大 小 的 分 配 ;
(2)有 關 權 限 和 密 鑰 使 用 后 的 后 續(xù) 狀 態(tài) 值 的 規(guī) 定 。
密 鑰 文 件 的 大 小 分 配 取 決 于 要 裝 載 的 密 鑰 個 數 。 每 個 密 鑰 均 為 一 條 可 變 長 的 記 錄 , 每 條 記 錄 的 長 度 為 密 鑰 數 據 長 度 加 7。 以 此 可 以 計 算 密 鑰 文 件 的 大 小 。 在 發(fā) 卡 程 序 設 計 過 程 中 , 常 常 會 出 現 因 為 密 鑰 文 件 的 大 小 分 配 不 夠 而 造 成 后 面 的 密 鑰 無 法 寫 入 。
密 鑰 文 件 建 立 過 程 中 的 有 關 權 限 和 密 鑰 使 用 后 的 后 續(xù) 狀 態(tài) 值 的 規(guī) 定 一 方 面 起 到 對 密 鑰 文 件 本 身 的 安 全 維 護 作 用 , 另 一 方 面 也 將 決 定 對 卡 片 操 作 的 流 程 。 顯 然 這 個 要 素 至 關 重 要 。
3.2 各 密 鑰 值 的 寫 入
關 于 密 鑰 值 的 寫 入 , 關 鍵 問 題 是 要 弄 清 楚 該 密 鑰 要 求 以 何 種 形 式 寫 入 。 通 常 有 以 下 幾 種 形 式 :
(1)以 明 文 形 式 寫 入 ( 常 見 的 如 口 令 密 鑰 PIN的 寫 入 ) ;
(2)以 帶 線 路 保 護 的 形 式 寫 入 ( 要 求 計 算 MAC) ;
(3)以 對 密 鑰 值 進 行 加 密 后 的 密 文 形 式 寫 入 ( 要 求 計 算 DES或 3DES) ;
(4)以 對 密 鑰 值 進 行 加 密 并 帶 線 路 保 護 的 形 式 寫 入 ( 要 求 計 算 DES& MAC) 。
如 果 密 鑰 值 的 寫 入 要 求 加 密 并 帶 線 路 保 護 , 則 密 鑰 值 寫 入 時 須 對 該 密 鑰 值 進 行 DES& MAC計 算 后 以 密 文 形 式 寫 入 ( 當 然 卡 片 操 作 系 統 內 部 會 自 動 將 其 解 釋 成 明 文 ) , 帶 線 路 保 護 的 目 的 是 防 止 密 鑰 值 在 寫 入 的 過 程 中 被 劫 取 。 如 果 不 要 求 帶 線 路 保 護 寫 入 , 可 直 接 以 明 文 方 式 寫 入 。
在 發(fā) 卡 程 序 設 計 過 程 中 , 尤 其 要 注 意 卡 片 主 控 密 鑰 、 應 用 主 控 密 鑰 、 應 用 維 護 密 鑰 及 其 它 密 鑰 之 間 的 關 系 及 其 寫 入 要 求 。
3.2.1卡 片 主 控 密 鑰 與 應 用 主 控 密 鑰
卡 片 主 控 密 鑰 是 對 整 個 卡 片 的 訪 問 起 控 制 作 用 的 密 鑰 , 由 卡 片 生 產 商 寫 入 , 由 發(fā) 卡 方 替 換 為 發(fā) 卡 方 的 卡 片 主 控 密 鑰 。 發(fā) 卡 程 序 設 計 過 程 中 ,在 對 卡 片 進 行 任 何 操 作 之 前 ,必 須 使 用 卡 片 主 控 密 鑰 作 外 部 認 證 ,
應 用 主 控 密 鑰 是 應 用 的 控 制 密 鑰 , 在 卡 片 主 控 密 鑰 控 制 下 寫 入 。 一 般 地 , 發(fā) 卡 方 替 換 卡 片 的 主 控 密 鑰 之 后 , 為 驗 證 替 換 工 作 正 確 , 再 用 新 的 卡 片 主 控 密 鑰 作 一 次 外 部 認 證。
本文關鍵詞:CPU卡發(fā)卡程序設計過程中應當注意的幾個,PU卡發(fā)卡程序設計過程中應當注意的幾個問,U卡發(fā)卡程序設計過程中應當注意的幾個問題
上一篇:FM1004——4KCPU卡芯片[ 09-04 ]
下一篇:CPU用戶卡中的密鑰安全導入機制[ 09-05 ]