CPU卡开发指南(五)发卡流程

CPU卡发卡流程

前言

本人要学习一个新东西最好的方法是是需要知道到底该怎么做,然后回过头去看理论会理解的比较快, 本章主要是对复旦微电子CPU卡COSFMCOS 2_0用户手册里的内容的个人理解。具体的cos命令参考CPU卡开发指南(二)基本指令,本章不重复阐述。

发卡流程

一般地,卡片供应商提供卡片时,已经对卡片进行过初始化(主要用于对卡片进行测试),亦即卡片上已经建立了主文件(MF)及主密钥文件(MF下的Keyfile文件),主密钥文件中也已写入了初始卡片主控密钥。

  1. 传输认证(外部认证)
  2. 卡片擦除
  3. 目录文件及用户密钥的创建及写入
  4. 数据(二进制数据,记录数据)的写入

外部认证

对于传输通道的认证,个人觉得最通俗的理解就是获取读写权限,允许对里面的信息进行增删改的操作;默认的传输密钥为8个字节的0xFF,即:FFFFFFFFFFFFFFFF。

在对CPU卡建立特定的卡结构及写入密钥和数据之前,程序设计中的第一步应该对卡片进行外部认证。外部认证所使用的密钥正是初始卡片主控密钥。

外部认证主要分为以下几步。

  1. 卡片上电复位
  2. 获取随机数
  3. 对随机数进行DES加密
  4. 外部认证

CPU卡外部认证

擦除卡片

擦除卡片里面的所有数据,擦除成功之后,卡片即成为一张空白卡片。

许多发卡程序在设计过程中,没有考虑到擦除卡片上已有的卡片结构,而是在完成外部认证后直接改写原有卡片的主密钥文件的卡片主控密钥。常见问题是由于原有主密钥文件创建时的空间大小不够,而发卡程序试图写入除卡片主控密钥外还想写入卡片维护密钥时,势必造成写入空间不够而导致写入不成功。

目录文件及用户密钥的创建及写入

往空白卡中创建目录结构密钥和用户数据。

为了独立地管理一张卡上不同应用之间的安全问题,CPU卡中的每一个应用放在一个单独的ADF中。各个ADF及其下属各文件数据的访问(包括改写、读取)只能应用该ADF下的密钥文件中的密钥数值。为讨论方便,此处假设只有一个ADF。

image

MF文件

MF文件是ROM的根目录文件,不会被擦除,所以不需要创建。

  1. 选择MF文件
  2. 建立密钥文件
  3. 添加外部认证密钥

DF文件

在MF文件建立DF目录

  1. 建立DF文件
  2. 建立密钥文件
  3. 添加密钥(PIN码)

EF文件(基本文件)

在DF文件下建立EF文件,EF文件为FMCOS的基本文件,在EF文件中可以写入数据

  1. 建立EF文件
  2. 选择EF文件
  3. 写入用户数据

读卡流程

在发行的卡读取到卡中的数据

  1. 上电复位(复位自动选择到MF文件)
  2. 选择DF文件
  3. 验证PIN码
  4. 选择EF文件
  5. 读取EF文件



作者:sanfen
链接:https://www.jianshu.com/p/a6cfb443f118
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CPU软件开发环境和软件开发流程包括以下几个方面: 1. 开发环境 CPU软件开发需要使用特定的开发环境和工具,包括编译器、调试器、交叉编译器、IDE等。不同的CPU架构和操作系统需要使用不同的开发环境和工具。 2. 需求分析和设计 CPU软件开发的第一步是需求分析,即确定软件的功能、性能、接口、算法设计等。在需求分析的基础上,进行软件的设计、编码、调试和测试。在设计阶段,需要进行软件架构设计、接口设计、算法设计等;在编码阶段,需要使用编程语言编写相应的代码,并进行调试和测试。 3. 验证和测试 CPU软件开发的关键环节是验证和测试,目的是确保软件能够正确地执行指令、处理数据、进行控制等。验证和测试包括单元测试、集成测试、系统测试等多个方面,需要使用调试器、仿真器、模拟器等设备,以及相应的测试程序和测试工具。 4. 部署和维护 CPU软件开发的最后一步是部署和维护,即将软件部署到目标设备上,并进行相应的维护。部署和维护需要使用特定的工具和技术,包括交叉编译器、调试器、远程调试工具等。 综上所述,CPU软件开发是一个复杂的过程,需要经过需求分析、设计、验证、测试、部署和维护等多个阶段。在每个阶段,需要使用各种软件工具进行支持,以确保软件的设计和开发质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值