`
gyhgc
  • 浏览: 122794 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳.
社区版块
存档分类
最新评论

CPU卡发卡程序设计过程中应当注意的几个问题

阅读更多

1 引 言

          构 建 IC卡 应 用 系 统 过 程 中 , 如 何 定 义 卡 中 的 数 据 信 息 ( 相 对 逻 辑 加 密 卡 ) 或 卡 中 的 应 用 类 型 及 其 数 据 信 息 ( 相 对 CPU卡 ) 及 将 数 据 信 息 写 入 卡 中 , 以 便 应 用 于 系 统 中 进 行 交 易 是 一 个 重 要 环 节 。 这 一 环 节 在 业 界 通 常 称 为 卡 片 个 人 化 。 卡 片 个 人 化 既 可 以 在 专 门 的 设 备 机 器 上 进 行 , 以 便 于 对 大 批 量 的 卡 片 进 行 个 人 化 ; 也 可 以 在 PC机 上 通 过 连 接 IC卡 读 写 器 进 行 , 以 便 于 对 小 批 量 的 卡 片 进 行 个 化 。 不 管 硬 件 设 备 如 何 , 都 必 须 设 计 一 套 程 序 软 件 来 进 行 个 人 化 。 这 个 程 序 软 件 通 常 称 为 发 卡 程 序 。 本 文 讨 论 CPU卡 发 卡 程 序 设 计 过 程 中 将 会 遇 到 的 关 键 技 术 问 题 及 其 解 决 方 法 。

     CPU卡 发 卡 大 体 可 分 为 三 个 组 成 部 分 : ( 1) 卡 结 构 建 立 ; ( 2) 密 钥 写 入 ; ( 3) 个 人 化 数 据 写 入 。 当 然 , 为 确 保 正 确 发 卡 , 程 序 设 计 过 程 中 最 好 是 采 用 一 边 建 立 卡 结 构 , 一 边 写 入 密 钥 和 个 人 化 数 据 。

2 发 卡 前 的 准 备 工 作

        一 般 地 , 卡 片 供 应 商 提 供 卡 片 时 , 已 经 对 卡 片 进 行 过 初 始 化 ( 主 要 用 于 对 卡 片 进 行 测 试 ) , 亦 即 卡 片 上 已 经 建 立 了 主 文 件 ( MF) 及 主 密 钥 文 件 ( MF下 的 Keyfile文 件 ) , 主 密 钥 文 件 中 也 已 写 入 了 初 始 卡 片 主 控 密 钥 。 在 对 CPU卡 建 立 特 定 的 卡 结 构 及 写 入 密 钥 和 数 据 之 前 , 程 序 设 计 中 的 第 一 步 应 该 对 卡 片 进 行 外 部 认 证 。 外 部 认 证 所 使 用 的 密 钥 正 是 初 始 卡 片 主 控 密 钥 。 当 完 成 外 部 认 证后 , 接 下 来 最 好 是 擦 除 卡 片 上 已 有 的 卡 片 结 构 , 然 后 再 开 始 重 新 建 立 卡 片 结 构 。 许 多 发 卡 程 序 在 设 计 过 程 中 , 没 有 考 虑 到 擦 除 卡 片 上 已 有 的 卡 片 结 构 , 而 是 在 完 成 外 部 认 证 后 直 接 改 写 原 有 卡 片 的 主 密 钥 文 件 的 卡 片 主 控 密 钥 。 常 见 问 题 是 由 于 原 有 主  密 钥 文 件 创 建 时 的 空 间 大 小 不 够 , 而 发 卡 程 序 试 图 写 入 除 卡 片 主 控 密 钥 外 还 想 写 入 卡 片 维 护 密 钥 时 , 势 必 造 成 写 入 空 间 不 够 而 导 致 写 入 不 成 功 。

3 密 钥 文 件 的 建 立 与 密 钥 值 的 写 入

        为 了 独 立 地 管 理 一 张 卡 上 不 同 应 用 之 间 的 安 全 问 题 , CPU卡 中 的 每 一 个 应 用 放 在 一 个 ( 包 括 改 写 、 读 取 ) 只 能 应 用 该 ADF下 的 密 钥 文 件 中 的 密 钥 数 值 。 为 讨 论 方 便 , 此 处 假 设 只 有 一 个 ADF。 用 户 卡 结 构 中 主 要 存 在 以 下 两 个 密 钥 文 件 及 相 应 的 几 个 密 钥 :

      (1)MF下 的 密 钥 文 件 (简 称 KMF), 其 装 载 的 密 钥 是 卡 片 主 控 密 钥 (简 称 CCK, 以 下 同 );

      (2)ADF下 的 密 钥 文 件 (简 称 KADF), 其 装 载 的 密 钥 有 应 用 主 控 密 钥 (简 称 ACK, 以 下 同 ),应 用 维 护 密 钥 (简 称 AMK), 及 其 它 应 用 密 钥 ;

      (3)其 它 密 钥 , 如 口 令 密 钥 PIN, 口 令 解 锁 密 钥 , DES运 算 密 钥 等 等 。

3.1 密 钥 文 件 的 创 建

      各 密 钥 文 件 在 建 立 时 必 须 慎 重 考 虑 以 下 两 个 要 素 :

      (1)文 件 大 小 的 分 配 ;

      (2)有 关 权 限 和 密 钥 使 用 后 的 后 续 状 态 值 的 规 定 。

      密 钥 文 件 的 大 小 分 配 取 决 于 要 装 载 的 密 钥 个 数 。 每 个 密 钥 均 为 一 条 可 变 长 的 记 录 , 每 条 记 录 的 长 度 为 密 钥 数 据 长 度 加 7。 以 此 可 以 计 算 密 钥 文 件 的 大 小 。 在 发 卡 程 序 设 计 过 程 中 , 常 常 会 出 现 因 为 密 钥 文 件 的 大 小 分 配 不 够 而 造 成 后 面 的 密 钥 无 法 写 入 。 密 钥 文 件 建 立 过 程 中 的 有 关 权 限 和 密 钥 使 用 后 的 后 续 状 态 值 的 规 定 一 方 面 起 到 对 密 钥 文 件 本 身 的 安 全 维 护 作 用 , 另 一 方 面 也 将 决 定 对 卡 片 操 作 的 流 程 。 显 然 这 个 要 素 至 关 重 要 。

3.2 各 密 钥 值 的 写 入

      关 于 密 钥 值 的 写 入 , 关 键 问 题 是 要 弄 清 楚 该 密 钥 要 求 以 何 种 形 式 写 入 。 通 常 有 以 下 几 种 形 式 :

      (1)以 明 文 形 式 写 入 ( 常 见 的 如 口 令 密 钥 PIN的 写 入 ) ;

      (2)以 带 线 路 保 护 的 形 式 写 入 ( 要 求 计 算 MAC) ;

      (3)以 对 密 钥 值 进 行 加 密 后 的 密 文 形 式 写 入 ( 要 求 计 算 DES或 3DES) ;

      (4)以 对 密 钥 值 进 行 加 密 并 带 线 路 保 护 的 形 式 写 入 ( 要 求 计 算 DES& MAC) 。

      如 果 密 钥 值 的 写 入 要 求 加 密 并 带 线 路 保 护 , 则 密 钥 值 写 入 时 须 对 该 密 钥 值 进 行 DES& MAC计 算 后 以 密 文 形 式 写 入 ( 当 然 卡 片 操 作 系 统 内 部 会 自 动 将 其 解 释 成 明 文 ) , 带 线 路 保 护 的 目 的 是 防 止 密 钥 值 在 写 入 的 过 程 中 被 劫 取 。 如 果 不 要 求 带 线 路 保 护 写 入 , 可 直 接 以 明 文 方 式 写 入 。 在 发 卡 程 序 设 计 过 程 中 , 尤 其 要 注 意 卡 片 主 控 密 钥 、 应 用 主 控 密 钥 、 应 用 维 护 密 钥 及 其 它 密 钥 之 间 的 关 系 及 其 写 入 要 求 。

3.2.1卡 片 主 控 密 钥 与 应 用 主 控 密 钥

       片 主 控 密 钥 是 对 整 个 卡 片 的 访 问 起 控 制 作 用 的 密 钥 , 由 卡 片 生 产 商 写 入 , 由 发 卡 方 替 换 为 发 卡 方 的 卡 片 主 控 密 钥 。 发 卡 程 序 设 计 过 程 中 ,在 对 卡 片 进 行 任 何 操 作 之 前 ,必 须 使 用 卡 片 主 控 密 钥 作 外 部 认 证 , 应 用 主 控 密 钥 是 应 用 的 控 制 密 钥 , 在 卡 片 主 控 密 钥 控 制 下 写 入 。 一 般 地 , 发 卡 方 替 换 卡 片 的 主 控 密 钥 之 后 , 为 验 证 替 换 工 作 正 确 , 再 用 新 的 卡 片 主 控 密 钥 作 一 次 外 部 认 证。

分享到:
评论

相关推荐

    CPU卡发卡程序设计.doc

    在CPU卡发卡程序设计中,我们需要关注的关键技术点主要包括卡片结构建立、密钥写入以及个性化数据写入。这些步骤对于确保CPU卡在系统中的安全性和有效性至关重要。 首先,卡片结构建立是整个发卡过程的基础。CPU卡...

    FM1208CPU卡发卡命令流

    标题与描述解析:“FM1208CPU卡发卡命令流”这一标题揭示了文档的主要内容,即关于FM1208CPU智能卡在发卡过程中所涉及的命令序列及其交互流程。描述部分强调了这份资料对于开发CPU卡具有较高的实用价值,暗示了文档...

    VC6.0.rar_C# CPU卡_CPU 卡_IC 卡_cpu发卡_卡 发卡

    "VC6.0.rar"中的源程序可能包含了以上所述的CPU卡发卡流程的实现代码。开发者可以参考这些代码学习如何用C#进行CPU卡的操作,包括与读卡器的通信协议、命令结构、数据加解密算法等。源程序的详细分析需要结合具体的...

    PBOC之CPU卡FM1208的发卡指令讲解.rar_CPU卡_PSAM卡_cpu卡发卡_fm1208 cpu卡发卡_pboc

    符合PBOC(中国人民银行)标准的CPU卡、PSAM卡操作说明

    FK.rar_CPU卡_cpu卡发卡

    CPU卡发卡流程是整个智能卡系统中的关键环节,涉及到卡片的生产、个人化以及激活等多个步骤。 1. **卡片生产**:CPU卡的生产首先要进行硬件制造,包括芯片封装、卡片基材制作和印刷。芯片封装是将制造好的CPU芯片...

    PBOC之CPU卡FM1208的发卡指令讲解.pdf

    该文档很好地讲解了CPU卡的激活,密钥验证,操作CPU内部等等。有详细的发卡指令,有兴趣的小伙伴可以下载来学习,对CPU卡的开发很有帮助。

    FM175xx读CPU卡演示例程(发卡)(1).zip_CPU卡读写_cpu卡发卡_cpu卡读卡_复旦_复旦cpu

    复旦CPU卡读卡芯片FM11752xx,非常不错的读写例子程序,方便对复旦CPU卡读卡芯片FM11752xx不熟悉的人学习用,给有需要的人下载。

    华北电网CPU卡预付费电能表发卡软件

    在软件的使用过程中,有几个核心知识点需要注意。一是卡片管理,包括新卡发行、旧卡更新和异常卡处理。新卡发行需要将空白CPU卡与用户信息绑定,旧卡更新则涉及电量的追加或转移,而异常卡处理则可能涉及到卡片的...

    CPU卡的接口特性传输协议与读写程序设计.zip

    在T=0协议中,CPU卡与终端的通信过程通常包括以下几个步骤: 1. **初始化**:终端通过提供电压和时钟信号来激活卡片,CPU卡响应特定的ATR(Answer To Reset)信号,表示其类型和特性。 2. **复位**:复位操作是通信...

    smartCARD发卡注意的问题

    本文主要探讨的是CPU卡发卡程序设计的关键环节。 首先,卡片个性化是构建IC卡应用系统的重要步骤。这涉及到定义卡片中的数据信息和应用类型,并将这些信息写入卡片,以便于系统中的交易。卡片个性化可以在专用设备...

    CPU卡详细交易最全的指令流程

    本篇将详细介绍CPU卡在交易过程中涉及的关键指令流程,具体包括发卡、充值、消费、圈存、圈提、取现、修改透支限额和读取余额等环节。 1. 发卡流程:发卡流程是卡片生命周期中的初始环节,涉及为持卡人生成和初始化...

    例程 CPU Demo.zip_CPU卡_DEMO_Demo读卡_dbgconf stm32_单片机 CPU卡

    标题中的“例程 CPU Demo.zip_CPU卡_DEMO_Demo读卡_dbgconf stm32_单片机 CPU卡”指的是一个包含CPU卡相关示例程序的压缩文件,主要用于演示如何在STM32单片机上进行读卡操作。其中,“dbgconf”可能是指调试配置,...

    CPU卡读卡程序,STM32控制,可以直接用到对应的项目工程中.rar

    标题中的“CPU卡读卡程序,STM32控制,可以直接用到对应的项目工程中.rar”表明这是一个基于STM32微控制器的CPU卡读卡器应用程序,适用于实际的工程项目。CPU卡,也称为智能卡,是一种含有微处理器和内存的卡片,...

    CPU卡上位机程序

    总的来说,CPU卡上位机程序是智能卡应用中的一个重要组件,它使用户能够方便地与高度安全的CPU卡进行交互,实现数据的读取、写入和管理。开发这样的程序需要深入理解智能卡协议、通信接口和安全性要求,同时掌握如...

    CPU卡设计详解

    总之,CPU卡设计是一个复杂而综合的过程,它涵盖了硬件设计、软件开发、安全机制的实现以及通信协议的应用。设计者需要全面了解这些知识点,并根据实际应用场景进行细致的设计和调优,以确保卡片既安全又便于使用。...

    CPU卡驱动程序

    在本文中,我们将深入探讨CPU卡驱动的工作原理、安装过程以及如何指定驱动程序路径。 首先,理解CPU卡驱动的作用至关重要。CPU卡,也称为智能卡或微处理器卡,是一种含有内置微处理器芯片的卡片,常用于安全认证、...

    CPUtoSAM_RC522 PSAM卡_SmartCOS发卡软件源码等RFID设计资料.zip

    CPUtoSAM_RC522 PSAM卡_SmartCOS发卡软件源码等RFID设计资料: 12864文档.doc CPUtoSAM_RC522 PSAM卡_SmartCOS发卡...符合PBOC中国人民银行之PSAM卡发卡应用讲解.pdf 符合PBOC中国人民银行之PSAM卡管理的应用讲解.pdf

    复旦微FM系列CPU、PSAM卡发卡Demo,COS指令Demo

    复旦微电子FM系列CPU卡和PSAM卡发卡Demo及COS指令Demo提供了全面的示例和指导,帮助开发者理解和实现智能卡的发行过程。这些卡片主要应用于金融、交通、医疗等领域的安全数据处理。以下是对这些核心知识点的详细阐述...

Global site tag (gtag.js) - Google Analytics