【IoT】ISO7816 NFC 之 CPU 卡浅析及操作命令简介

CPU 卡浅析:

CPU 卡可适用于金融、保险、*、政府行业等多个领域,具有用户空间大、读取速度快、支持一卡多用等特点,并已经通过中国人民银行和国家商秘委的认证。

CPU 卡又叫智能卡,卡内具有中央处理器(CPU)、随机存储器(RAM)、程序存储器(ROM)、数据存储器(EEPROM)以及片内操作系统(COS)。

金融智能卡:

符合《中国金融集成电路(IC卡)规范》,通过了中国人民银行检测,支持一卡多用,支持多种文件类型,支持中国人民银行认可的 Single DES、Triple DES 算法,支持中国人民银行规定的电子钱包和电子存折功能。

社保卡:

支持一卡多用,各应用之间相互独立。符合《社会保障(个人)卡规范》和《中国金融集成电路(IC)卡规范》,并通过了劳动和社会保障部检测。

电子商务智能卡:

能够快速完成RSA算法的签名、认证、加密、解密运算,可在卡片内生成1024位RSA密钥对,支持一卡多用,各应用之间相互独立。符合《中国金融集成电路(IC)卡规范》,并已通过国家商业密码管理委员会的安全测试。
终端安全控制模块:符合《中国金融集成电路(IC卡)PSAM卡规范》,包括普通PSAM卡和高速PSAM卡。

SAM卡:

安全存取模块SAM是智能卡应用系统中安全控管的核心。

SIM卡:

移动通讯用户识别卡,符合GSM11.11,手机不但可以传输语音数据,还可以进行金融交易,电子商务等多种应用。

CPU 卡的标准化:

由于当前世界各国经济正在向国际化方向发展,全球化的金融服务系统纷纷建立起来,这就带来了一个卡的互操作性问题。同一张卡,在不同的国家、不同的环境下都要能够使用。要解决这个问题,只有制定一系列国际标准,使CPU卡及其接口设备制造商按照统一的标准,制造统一接口规格的产品,以保证不同国家、不同行业都采用统一的CPU卡软硬件技术规范开发应用系统,这样才能实现不同厂家生产的CPU卡之间的互换性和接口设备的共享。

国际标准化组织从1987年开始,相继制定和颁布了CPU卡的国际标准。有关CPU卡本身的标准有:

ISO 10536:识别卡-非接触式的集成电路卡

ISO 7816:识别卡-带触点的集成电路卡

ISO7816-1:规定卡的物理特性。卡的物理特性中描述了卡应达到的防护紫外线的能力、X光照射的剂量、卡和触点的机械强度、抗电磁干扰能力等等。

ISO7816-2:规定卡的尺寸和位置。

ISO7816-3:规定卡的电信号和传输协议。传输协议包括两种:同步传输协议和异步传输协议

ISO7816-4:规定卡的行业间交换用命令。包括:在卡与读写间传送的命令和应答信息内容;在卡中的文件、数据结构及访问方法;定义在卡中的文件和数据访问权限及安全结构。 
有关金融领域CPU卡应用的标准有:

ISO 9992:金融交易卡-集成电路卡与受卡接受设备之间的信息

ISO 14443:识别卡-非接触卡规范(距离10cm)

ISO 10202:金融交易卡-使用集成电路卡的金融交易系统的安全结构

EMV:支付系统的集成电路卡规范和支付系统的集成电路卡终端规范

中国金融集成电路(IC)卡规范:1998年3月中国人民银行等近十家金融单位在采用国际标准和国外先进技术的原则下,以ISO标准和Europay、Mastercard、Visa三大组织研制的EMV96为基础,结合国内CPU卡的应用实际需要,对我国金融CPU卡的基本应用作出了具体规定。 
ISO和其它组织还有很多标准和规范涉及到CPU卡的应用,可根据需要查阅有关的标准。

CPU卡生产流程

一张卡从制造出来到销毁的整个过程成为生命周期。IC卡的生命周期一般可分为:

1.芯片制造:IC卡厂家通过特定的制造工艺在硅片上整齐地排列上一个个电路。 
2.模块封装:将许多各种芯片安装在已制造好的有8个触点的印刷电路板上。 
3.卡片制造:将卡的操作系统等卡片控制系统掩模到模块中。 
4.卡片封装:将掩模好的模块镶嵌到塑料基片中。 
5.卡片初始化:设置卡片的基本参数。 
6.安装发行密钥:将发行单位的密钥写到卡上。 
7.卡片个人化:建立应用文件并写入持卡人基本资料。 
8.卡片应用:持卡人用卡完成各种卡的功能。

操作命令示例:

厂家初始设定外部认证密钥为  FF FF FF FF FF FF FF FF

1、外部认证

1.1、取 4 字节随机数 00 84 00 00 04
  
   1.2、程序用外部认证秘钥 FFFFFFFFFFFFFFFF 和获取的 4 字节随机数加密,生成 8 字节加密数据
  
   1.3、发送 00 82 00 00 08 + 8 字节加密数据

2、删除 MF 下面文件

80 0E 00 00 00
   
   00 A4 00 00 00
    
4、建立 MF 下密钥文件

80 E0 00 00 07 3F00B001F0FFFF
    
   //80 E0 00 00 07 3F005001F0FFFF
    
5、增加密钥

5.1、文件线路保护密钥
    
     80 D4 01 00 0D 36F0F0FF33FFFFFFFFFFFFFFFF
    
   5.2、外部认证密钥 
    
     80 D4 01 00 0D 39F0F0 AA 55 1122334455667788
     
     //80 D4 01 00 15 39F0F0 AA 88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
     
     后续状态 AA,错误计算 55

5.3、解锁口令密钥
    
     80 D4 01 00 0D 37F0F0FF 55 1122334455667788
    
     错误计算 55,密钥 1122334455667788

5.4、口令密钥
    
     80 D4 01 00 08 3AF0EF 44 55 123456   
     
     后续状态 44,错误计算 55,pin 123456

5.5、重装密钥
    
     80 D4 01 00 0D 38F0F0FF 55 0102030405060708
     
     错误计算 55,密钥 0102030405060708

5.6、线路保护
    
     80 D4 01 00 0D 36F0F0FF 55 0102030405060708
     
     错误计算 55,密钥 0102030405060708

6、建立电子钱包 DF

80 E0 3F 01 0D 38 05 20 F0F095FFFF4444463031
   
   //80 E0 3F 01 11 3804FFF0FA95FFFFA00000000386980701
   
   文件 ID 82,select file 返回为 00 02
   
   文件标示 3F 01 
   
   空间大小 05 20 
   
   DF 名称 DDF01
   
7、选择电子钱包 DF

00 A4 00 00 02 3F 01 00

8、建立 DF 下密钥文件

80 E0 00 00 07 3F018F95F0FFFF

9、增加密钥

9.1、主控密钥
    
     外部认证密钥 
     
     80 D4 01 00 0D 39F0F0 33 55 1122334455667788
     
     后续状态 AA,错误计算 55 
      
   9.2、圈存密钥
    
     80 D4 01 00 0D 3FF0F000003F023F023F023F02    
      
   9.3、圈提密钥
    
     80 D4 01 00 0D 3DF0F000013D023D023D023D02
      
   9.4、消费密钥
    
     80 D4 01 00 0D 3EF0F000013E023E023E023E02
      
   9.5、透支限额
    
     80 D4 01 00 0D 3CF0F000013C023C023C023C02
      
   9.6、线路保护
    
     80 D4 01 01 0D 36F0F0FF 55 0102030405060708
      错误计算 55,密钥 010203040506070
      
   9.7、重装口令密钥  
    
     80 D4 01 01 0D 38F0F0FF 55 0102030405060708
     
     错误计算 55,密钥 0102030405060708

9.7、口令密钥
    
     80 D4 01 01 08 3AF0EF 44 55 123456   
     
     后续状态 44,错误计算 55,pin 123455

9.8、解锁口令密钥
    
     80 D4 01 01 0D 37F0F0FF 55 1122334455667788
     
     错误计算 55,密钥 1122334455667788
 
   9.9、MAC密钥
    
     80 D4 01 01 0D 32F0F000013202320232023202

10、建立钱包文件

80 E0 00 02 07 2F0208F000FF18

11、建立钱包应用基本数据文件 A8

80 E0 00 15 07 A8001EF0F0FF02
    
    //80E0001507A8001EF0F0FFFF
      
12、建立钱包持卡人基本数据文件 A8

80 E0 00 16 07 A80027F0F0FF02
      
     //80E0001607A80037F0F0FFFF
      
13、建立交易明细文件 2E
      
     80 E0 00 18 07 2E0A17F1EFFFFF
    
     //80E00017072A0A10F0F0FFFF

14、MF 下读余额

14.1、选择电子钱包文件夹
  
    00 A4 00 00 02 3F0100
    
    80 5C 00 02 04
  
  14.2、验证 PIN,PIN 是 123456
    
    00 20 00 01 03 123456
  
  14.3、圈存初始化,圈存密钥为 3F023F023F023F02
    
    执行指令
    
    80 50 00 02 0B 01 00001234 00000000000110
  
    密钥标识 01,交易金额 00001234,终端机编号 000000000001

返回
    
    00 00 00 00 00 00 00 01 CAB24782 67AE64BA
   
    MAC1=67AE64BA

过程密钥(SESLK) = 圈存密钥(DLK)和 4随机数 + 2 字节交易序号 + 8000 生成  
    
    也就是 3F023F023F023F02 和 CAB24782+0000+8000 加密
    
    得出 FA0645615347A270 (SESLK1)

密钥 FA0645615347A270 和余额 + 交易金额 + 交易类型标识 + 终端机编号
   (不足补80)加密
    
    也就是 FA0645615347A270 和 00000000000012340200000000000180
    
    得到 1FB2262D0435B1A3444C2A1A1FAAE7A3  
    
    结果和 MAC1 不一致
---------------------
作者:简一商业
来源:CSDN
原文:https://blog.csdn.net/liwei16611/article/details/83653054
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/tianqiang/p/11148329.html

时间: 2024-11-05 23:37:40

【IoT】ISO7816 NFC 之 CPU 卡浅析及操作命令简介的相关文章

CPU卡

CPU卡芯片通俗地讲就是指芯片内含有一个微处理器,它的功能相当于一台微型计算机.人们经常使用的集成电路卡(IC卡)上的金属片就是CPU卡芯片.CPU卡可适用于金融.保险.交警.政府行业等多个领域,具有用户空间大.读取速度快.支持一卡多用等特点,并已经通过中国人民银行和国家商秘委的认证.CPU卡从外型上来说和普通IC卡,射频卡并无差异,但是性能上有巨大提升,安全性和普通IC卡比,提高很多,通常CPU卡内含有随机数发生器,硬件DES,3DES加密算法等,配合操作系统即片上OS,也称COS,可以达到金

cpu卡,sam卡原理

第一部分 CPU基础知识一.为什么用CPU卡IC卡从接口方式上分,可以分为接触式IC卡.非接触式IC卡及复合卡.从器件技术上分,可分为非加密存储卡.加密存储卡及CPU卡.非加密卡没有安全性,可以任意改写卡内的数据,加密存储卡在普通存储卡的基础上加了逻辑加密电路,成了加密存储卡.逻辑加密存储卡由于采用密码控制逻辑来控制对EEPROM的访问和改写,在使用之前需要校验密码才可以进行写操作,所以对于芯片本身来说是安全的,但在应用上是不安全的.它有如下不安全性因素:1.密码在线路上是明文传输的,易被截取:

比较IC卡、ID卡、M1卡、CPU卡它们之间有什么区别?

IC卡的定义 : IC(Integrated Circuit)卡是1970年由法国人Roland Moreno发明的,他第一次将可编程设置的IC芯片放于卡片中,使卡片具有更多功能.“IC卡”和“磁卡”都是从技术角度起的名字,不能将其和“信用卡”.“电话卡”等从应用角度命名的卡相混淆.自IC卡出现以后,国际上对它有多种叫法.英文名称有“Smart Card”.“IC Card”等:在亚洲特别是香港.台湾地区,多称为“聪明卡”.“智慧卡”.“智能卡”等:在我国,一般简称为“IC卡”. IC卡的分类:

射频识别技术漫谈(27)——CPU卡概述

智能卡按安全级别可以分为三类:存储器卡.逻辑加密卡和CPU卡,其中CPU卡是安全级别最高的.从"CPU"这个名字可以看出,CPU卡最大的特点就是卡片里面有一个"CPU",有了CPU我们就可以对卡片编程写入软件(COS,卡片操作系统),实现复杂的安全加密算法,所以CPU卡的安全性是最高的.与之形成对比的是,存储器卡和逻辑加密卡中没有"CPU",尽管在我们看来像MIFARE1卡看起来似乎也很智能,但M1卡里存在的仅仅是一个专用集成电路(ASIC),而

CPU卡详解【转】

本文转载自:http://blog.csdn.net/logaa/article/details/7571805 第一部分 CPU基础知识 一.为什么用CPU卡 IC卡从接口方式上分,可以分为接触式IC卡.非接触式IC卡及复合卡.从器件技术上分,可分为非加密存储卡.加密存储卡及CPU卡.非加密卡没有安全性,可以任意改写卡内的数据,加密存储卡在普通存储卡的基础上加了逻辑加密电路,成了加密存储卡.逻辑加密存储卡由于采用密码控制逻辑来控制对EEPROM的访问和改写,在使用之前需要校验密码才可以进行写操

磁卡、条码卡、IC卡、CPU卡、RFID等常识(zt)

本文转载于:http://www.omni-cards.com/viewnews.asp?sid=14 一.磁卡 磁卡以液体性材料或磁条为信息载体,将液体磁性材料涂复在卡片上或将宽约6-14mm的磁条压贴在卡片上.磁条上有三条磁道,前两条磁道为只读磁道,第三条磁道为读写磁道,如记录帐面余额等.磁卡的信息读写相对简单容易,使用方便,成本低,从而较早地获得了发展,并进入了多个应用领域,如电话预付费卡.收费卡.预约卡.门票.储蓄卡.信用卡等.但与后来发展起来的IC卡相比有以下不足:信息存储量小.磁条易

IC卡、M1卡、CPU卡、SAM卡、PSAM卡的联系与区别

一. 技术方面(非接触式IC卡)  1. 逻辑加密卡又叫存储卡,卡内的集成电路具有加密逻辑和EEPROM(电可擦除可编程只读存储器).  2. CPU卡又叫智能卡,卡内的集成电路包括中央处理器(CPU).EEPROM.随机存储器(ROM).以及固化在只读存储器(ROM)中的片内操作系统(COS),有的卡内芯片还集成了加密运算协处理器以提高安全性和工作速度,使其技术指标远远高于逻辑加密卡. 3. CPU卡由于具有微处理功能,使得在交易速度以及数据干扰方面远远高于逻辑加密卡,且允许多张卡片同时操作,

大容量J3D145|J3E145|J3H145芯片双界面JAVA卡CPU卡哪个更适合区块链支付应用

J3D145芯片.J3E145芯片.J3H145芯片都是JAVA卡系列中大容量CPU卡,容量为145KB,可封装为双界面CPU卡,即支持接触式工作也支持非接触式工作,兼容市面读写卡机具,具有高安全性,高应用性.高拓展性,因而广泛应用于各种高端支付.会员管理领域.如区块链支付.虚拟货币冷钱包圈存. J3D145芯片.J3E145芯片.J3H145芯片都通过了EMVCo Platform Banking.CC EAL5+ (OS Platform) .FIPS 140-2 Certified认证,具

NFC读卡APP

# 设计文档 ### 简介----------------------------- 这个APP的功能是使用手机的NFC读卡器功能,做到读取卡片支持M1卡和CPU卡. ### 功能列表------------------------------ 基本功能 - 读卡唯一号 - 读卡SAK(可以判断卡类型 08 M1卡 28 复合卡 20 CPU卡)- Mifare卡操作 - 读取扇区信息- CPU卡操作 - 选择MF(3F00) - 取随机数 ### 备注---------------------