实验十一、基于符合ISO/IEC 7816 标准协议的CPU卡RATS、PPS请求指令操作

实验目的

1、学习和了解ISO/IEC 7816标准。

2、学习和了解ATS各字节的具体定义。

3、学习和了解PPS设置的实现。

实验器材:

1、RFID读写器模块1台

2、笔记本电脑或台式电脑1台

3、PC机软件及MINI型USB连接线

实验内容

1、利用提供的底层程序及据于WINDOS环境下的上位机软件。

2、开启读写器的USB通信功能,打开上位机软件发送RATS命令,上位机可以通过USB来获取发送命令的实时返回CPU卡的响应,并对响应数据按ISO7816协议进行分析,判别其正确性。

3、开启读写器的USB通信功能,打开上位机软件发送PPS命令,上位机可以通过USB来获取发送命令的实时返回CPU卡的响应,并对响应数判别参数是否设置成功。

实验步骤:

首先使用RFID读写模块对CPU卡进行激活,按图1流程进行操作。

将CPU卡放置到读卡模块的读卡区;

按图1橙色虚线框内容对CPU卡进行选中,如下图所示点击按钮"寻卡"->"Select"进行选卡。

点击按钮"复位卡"对CPU进行复位,使CPU卡进入FMCOS模式,并返回ATS代码

 

对返回的ATS进行字段分析,理解其表达的含义

 

 

例1:

如果一张CPU卡ATS为:10788090022090000000000066799D24,则这张CPU卡ATS的具体解释如下表:

符号

字节内容

内容解释

TL

0x10

长度字节

T0

0x78

TA1、TB1和TC1存在,FSCI=8(FSC=256字节)

TA1

0x80

两个方向可以支持相同的D,支持DR=1,DS=1

TB1

0x90

FWI=0x9(FWT=155ms)

SFGI=0(SFGT=302us)

TC1

0x02

不支持NAD,支持CID

T1

0x20

COS版本号2.0

T2

0x09

COS厂商代码(复量微电子)

T3

0x00

保留字节

T4-T11

0000000066799D24

卡序列号

 

通过PPS指令设置CPU卡与读卡模块间的通信速率。

 

 
 

 
 

 

 

实验十二、CPU卡系统FMCOS用户卡的发卡指令操作

实验目的:

1、了解FMCOS文件系统结构

2、了解CPU卡发卡流程

3、掌握CPU卡发卡指令的使用,并理解每条指令的含义。

4、了解用户卡电子钱包格式。

实验器材:

1、RFID读写器模块1台

2、笔记本电脑或台式电脑1台

3、PC机软件及MINI型USB连接线

实验内容

1、利用提供的底层程序及据于WINDOS环境下的上位机软件。

2、开启读写器的USB通信功能,打开上位机软件发送CPU卡相关的发卡指令,在FMCOS上建立一个文件系统。

3、理解发卡指令的含义,能根据返回的响应码判断CPU卡是否操作成功。

 

实验步骤:

参考《FMCOS通用技术手册》内容,理解FMCOS下各级文件(MF、ADF、EF)之间的关系。

 

 

根据下图用户卡的文件结构,进行发卡操作,发卡指令可参考下文蓝字部分内容。

 

用户卡文件结构

 

/********发卡************/

00a4000000

//外部认证,初始密码为FFFFFFFFFFFFFFFF

0084000008

0082000008+密文

//删除MF下的所有应用文件

800e000000

00a4000000

//建立KEY文件,并写入主控密钥

80e00000073f004001f0ffff

80d401001539f0f0aa33ffffffffffffffffffffffffffffffff

80e00001072c0018f0f0ffff

//写入目录基本文件

00dc010c15701361114f09a00000000386980701500450424f43

//应用目录ADF(3f01)

80e03f01113804f4f0f0957fffa00000000386980701

//选择应用目录ADF(3f01)

00a4040009a00000000386980701

//创建ADF->KEY文件

80e00000073f0150FFf0ffff

//应用主控子密钥DACK_ADF 00

80d401001539f002aa3300000000000000000000000000000000

//消费子密钥 DPK 00

80d40100153ef002010111111111111111111111111111111111

//消费子密钥 DPK 01

80d40101153ef002010122222222222222222222222222222222

//圈存子密钥 DLK 00

80d40100153ff002010133333333333333333333333333333333

//圈存子密钥 DLK 01

80d40101153ff002010144444444444444444444444444444444

//安装TAC子密钥 DTK 00

80d401001534f002010155555555555555555555555555555555

//PIN解锁子密钥 DPUK 00

80d401001538f002ffff66666666666666666666666666666666

//PIN重装子密钥 DRPK 00

80d401001537f002ffff77777777777777777777777777777777

//应用维护子密钥DAMK_ADF 00

80d401001536f002ff3388888888888888888888888888888888

//圈提子密钥 DULK 00

80d40100153df002010199999999999999999999999999999999

//圈提子密钥 DULK 01

80d40101153df0020101aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

//透支限额子密钥 DUK 00

80d40100153cf0020101bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

//透支限额子密钥 DUK 01

80d40101153cf0020101cccccccccccccccccccccccccccccccc

//PIN 00

80d401000b3af0ef0133123456FFFFFF

//建立公共应用基本文件 0015(二进制文件 读F0写F0)

80e0001507a8001ef0f0ffff

//写公共应用基本文件(MAC)

04d6950022112233445566778899aabbccddeeff00112233445566778899aabbccddee6f22aa45

//建立持卡人基本文件 0016 (二进制文件 读F0写F0)

80e0001607a80027f0f0ffff

//写持卡人基本文件

04d6960022112233445566778899aabbccddeeff00112233445566778899aabbccddee0817284e

//建立交易明细文件 0018 (循环记录文件 读F1写EF)

80e00018072e0A17f1efffff

//建立电子存折文件 0001 (使用、取余额权"F1")

80e00001072f0208f10f1f18

//建立电子钱包文件 0002 (使用、取余额权"F0")

80e00002072f0208f0f0ff18

Deselct

 

 

 

 

 

实验十三、CPU卡系统FMCOS用户卡的消费指令操作

实验目的

1、了解FMCOS文件系统结构

2、了解CPU卡的消费过程的流程

3、掌握CPU卡消费指令的使用,并理解每条指令的含义。

4、了解DES、MAC码的计算原理。

实验器材:

1、RFID读写器模块1台

2、笔记本电脑或台式电脑1台

3、PC机软件及MINI型USB连接线

实验内容

1、利用提供的底层程序及据于WINDOS环境下的上位机软件。

2、开启读写器的USB通信功能,打开上位机软件发送CPU卡相关的消费指令,留意读卡模块与用户卡间数据交互过流程(MAC码计算)。

3、理解卡消费指令的含义,根据返回的响应码判断CPU卡是否操作成功。

 

实验步骤:

1、

 

/********消费************/

00a4040009a00000000386980701

805c000204//读余额

0020000003123456

//圈存

805000020b000000000F11223344556610

805200000b11223344332211+MAC2

//消费

805001020b02000000011122334455660f

805401000f0000000011223344332211+MAC1

 

CPU卡综合消费流程

Cpu实验的更多相关文章

  1. 龙芯将两款 CPU 核开源,这意味着什么?

    10月21日,教育部计算机类教学指导委员会.中国计算机学会教育专委会将2016 CNCC期间在山西太原举办“面向计算机系统能力培养的龙芯CPU高校开源计划”活动,在活动中,龙芯中科宣布将GS132和G ...

  2. 【转帖】龙芯将两款 CPU 核开源,这意味着什么?

    龙芯将两款 CPU 核开源,这意味着什么? https://www.oschina.net/news/78316/loongson-open-source-two-cpu-core 文章挺不错的 也讲 ...

  3. kubernetes cpu限制参数说明

    docker CPU限制参数 Option Description --cpus=<value> Specify how much of the available CPU resourc ...

  4. [acmm week12]二分+dp+单调队列

    1004 抄作业         Time Limit: 1sec    Memory Limit:256MB Description Zfree虽然平时很爱学习,但是他迫于生活所迫(比如设计cpu实 ...

  5. PyTorch 60 分钟入门教程:数据并行处理

    可选择:数据并行处理(文末有完整代码下载) 作者:Sung Kim 和 Jenny Kang 在这个教程中,我们将学习如何用 DataParallel 来使用多 GPU. 通过 PyTorch 使用多 ...

  6. 车牌识别(end-to-end-for-chinese-plate-recognition)项目搭建基于Mxnet(Python 3.5)

    最近看到geihub上有个车牌识别的项目,感觉很有意思,从上面fork了一下弄到本地自己跑了下.在安装过程中遇到了一些问题,记录如下. 项目github连接:https://github.com/sz ...

  7. PyTorch Data Parrallel数据并行

    PyTorch Data Parrallel数据并行 可选择:数据并行处理 本文将学习如何用 DataParallel 来使用多 GPU. 通过 PyTorch 使用多个 GPU 非常简单.可以将模型 ...

  8. PyTorch 数据并行处理

    PyTorch 数据并行处理 可选择:数据并行处理(文末有完整代码下载) 本文将学习如何用 DataParallel 来使用多 GPU. 通过 PyTorch 使用多个 GPU 非常简单.可以将模型放 ...

  9. [计算机组成原理][实验十.R-I-J型指令CPU设计实验总结]

    总算解决一大心头之患了,比想象中容易,通宵两夜,刷完了十个实验,这个实验就是最后的了.感慨颇多.特地写篇总结. 想做一件事,就立马去做把.你会发现没那么困难,往往最大的困难,是心里的困难. 培养了HD ...

随机推荐

  1. Sqoop mysql 数据导入到hdfs

    1.--direct 模式使用mysqldump 工具,所以节点上需要安装该工具,非direct 模式直接使用jdbc ,所以不需要 具体script参考如下: sqoop import --conn ...

  2. 如何避免JSP乱码

    如何解决JavaWeb乱码问题   作为一个合格的web开发人员应该是什么问题都遇到过的,尤其是乱码问题.大家也许都体会到了,我们中国人学编程,很大的一个不便就是程序的编码问题,无论学习什么技术,我们 ...

  3. 关于JVM的GC机制

    GC优点: 1.提高生产率,不用逐行检查内存是否释放. 2.Java安全策略的一部分,不会使用户错误释放内存而导致JVM崩溃. GC算法基本两点: 1.检测出垃圾对象. 2.回收垃圾对象,释放相应堆空 ...

  4. 用于COB工艺的PCB设计指导

    绑定角度尽量在45°之内,多于这个角度,绑定时候,银线不好打入焊盘.而且打入焊盘的尾部可能短路到相邻的焊盘,绑定焊盘之间的间距一般在4MIL为极限,半场的工艺一般就这样了.而且焊盘离被绑定的IC引脚最 ...

  5. installscript类型 完成时实现推荐安装其他产品的功能

    目前好多软件在安装完成时都有什么 立刻运行.打开网址.推荐安装其他工具等功能 我司领导也追时髦要求了这个功能而且要推荐多个,所以这个功能实现起来就需要自己去写代码了.陆陆续续研究了研究了好长时间,由于 ...

  6. Mac 让 iTerm2 记住用户名密码 expect 脚本

    刚刚用iTerm2的时候,总是要一遍遍的敲用户名.密码. 我在想, 能不能像Windows的软件一样,可以直接让软件记住.然后只要点击一下,就直接ssh到远程服务器上面去了. 之后经过搜索,可以用ex ...

  7. maven 添加自己的包

    mvn install:install-file -Dfile=d:/flea.jar -DgroupId=com.flea.bussiness -DartifactId=flea -Dversion ...

  8. Google Play和基于Feature的过滤

    田海立@CSDN 翻译自Google Play and Feature-Based Filtering GooglePlay会过滤出那些对用户可见的应用程序,因此用户只能看到和下载那些与他们的设备兼容 ...

  9. [置顶] 使用mongofiles操作GridFS

    使用mongofiles操作GridFS GridFS描述: GridFS,看起来像一种文件系统,其实是一种数据库用法.主要用来在数据库中存储二进制大文件.可以统一用数据库处理数据,而无需借助外部的文 ...

  10. 过河(bfs)

    Problem 2188 过河I Accept: 112    Submit: 277 Time Limit: 3000 mSec    Memory Limit : 32768 KB  Proble ...