cpu卡psam卡(2)

2019-04-15 16:19

传输密码保护

卡片的个人化 卡片发行商

卡片的使用 卡片的使用者

卡片的回收 卡片发行商

初始化过程就是激活COS,定义COS版本,经过这个过程COS才可以使用。 个人化过程是指建立文件,写入用户数据等操作。

卡片生产商在进行初始化后交付卡片发行商使用时,有传输密码保护。

IC卡必须支持T=0或T=1的协议,但不是同时支持这两种协议,而终端则必须同时支持T=0和T=1的协议。

T=0通讯协议是异步半双工字符传输协议; T=1通讯协议是异步半双工块传输协议;

在ISO7816-3标准中,具体规定了这两种协议; IC卡所用的协议在TD1中指定,如果在复位应答信息中没有TD1,则表示用T=0的协议进行通讯。在复位应答后,IC卡和终端之间即用IC卡指定的协议进行通讯。 五、 指令解析

在此,我们以一个电子钱包的应用为例,讲解SmartCOS的指令。 1、文件结构:

在人行规范中定义了如下文件结构:

1)电子存折ED/电子钱包EP应用的公共应用基本数据文件 文件结构:

文件标识(SFI) ‘21’(十进制) 文件类型 透明 文件大小 30

文件存取控制 读=自由 改写=需要安全信息 字节 数据元 长度 1-8 发卡方标识 8 9 应用类型标识 1 10 应用版本 1

11-20 应用序列号 10 21-24 应用启用日期 4 25-28 应用有效日期 4

29-30 发卡方自定义FCI数据 2

2)电子存折ED/电子钱包EP应用的持卡者基本数据文件

文件标识(SFI) ‘22’(十进制) 文件类型 透明

文件大小 39

文件存取控制 读=自由 改写=需要安全信息 字节 数据元 长度 1 卡类型标识 1 2 本行职工标识 1 3-22 持卡人姓名 20

23-38 持卡人证件号码 16 39 持卡人证件类型 1 3)电子存折ED交易明细文件 文件标识(SFI) ‘24’(十进制) 文件类型 循环

文件存取控制 读=PIN保护 改写=不允许

记录大小 23

字节 数据元 长度

1-2 ED或EP联机或脱机交易序号 2 3-5 透支限额 3 6-9 交易金额 4 10 交易类型标识 1 11-16 终端机编号 6

17-20 交易日期(终端) 4 21-23 交易时间(终端) 3

2、安全设计如下:

1) 核对口令后可以进行外部认证;

2) 01号外部认证密钥用于控制电子钱包的圈存;

3) 02号外部认证密钥用于控制基本文件的修改、密钥的修改; 4) 核对口令后可以进行消费。

KEY文件安装如下密钥:

KEY类型 标识KID 使用权限 后续状态 该KEY作用描述 0B 01 0F 1 个人密码PIN,用于个人密码校验 08 01 11 2 外部认证密钥,用于电子钱包圈存

08 02 1F F 外部认证密钥,用于基本文件的修改、密钥的修改 01 01 22 无 圈存密钥,用于产生圈存MAC

00 02 01 无 电子钱包消费密钥,用于产生钱包消费MAC

02 01 03 无 TAC密钥,用于产生圈存、消费、取现、修改透支限额的TAC

05 01 33 无 应用维护密钥,用于产生应用锁定、应用解锁、卡片锁定、卡片锁定和读、更新二进制、记录命令的MAC

3、指令序列:

1) 发卡过程,在卡上建立文件及安装密钥

[Create MF] APDU命令:80(CLA) e0(INS) 00(P1) 00(P2) 18(Lc) ff ff ff ff ff ff ff ff (8字节传输代码) ff (在MF下建立文件的安全属性) 01(目录文件的短文件标识符) 31 50 41 59 2e 53 59 53 2e 44 44 46 30 31(创建的文件名称)

[Create DF] APDU命令:80(CLA)E0(INS)01(P1) 00(P2) 0D (Lc信息长度)2F 01(文件标识符)ff(建立文件权限) 00(COS保留) A0 00 00 00 03 86 98 07 01(ADF名称)

建立DF下密钥文件[Create File] APDU命令:80(CLA) E0(INS)02(P1) 00(P2) 07(文件信息长度) 6F 02(密钥文件标识 )05(文件类型) FF(增加新密钥的权限)00(COS保留) 09(记录数) 19(记录长度):

安装个人密码PIN [Write Key] APDU命令:80(CLA) E8(INS) 00(P1) 00(P2) 0A (密钥信息长度)01(密钥标识符)01(密钥版本号) 00(算法标识)0B(密钥类型)0F(使用权限) 01(后续状态)2F(修改权限)33 (错误计数器)12 34(个人密码) 安装外部认证密钥(DEAK)[Write Key] APDU命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 01(密钥标识符) 01(密钥版本号) 00(算法标识) 08(密钥类型) 11(使用权限) 02(后续状态) FF(修改权限) 33 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)

安装外部认证密钥(DEAK)[Write Key] APDU命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 02(密钥标识符) 01(密钥版本号) 00(算法标识) 08(密钥类型) 1F(使用权限) 0F(后续状态) FF(修改权限) 33 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)

。安装电子钱包EP的消费密钥DPK。[Write Key] APDU命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 02(密钥标识符) 01(密钥版本号) 00(算法标识) 00(密钥类型) 01(使用权限) 00(后续状态) FF(修改权限) 00 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)

安装电子钱包的圈存密钥DLK [Write Key] APDU命令:80 (CLA )E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 01(密钥标识符) 01(密钥版本号) 00(算法标识) 01(密钥类型) 22(使用权限) 00(后续状态) FF(修改权限) 00 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)

。安装消费/取现中用来生成TAC的密钥DTK[Write Key] APDU命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 01(密钥标识符) 01(密钥版本号) 00(算法标识) 07(密钥类型) 0F(使用权限) 00(后续状态) FF(修改权限) 00 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)

安装应用维护密钥DAMK[Write Key] APDU命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 01(密钥标识符) 01(密钥版本号) 00(算法标识) 05(密钥类型) 0F(使用权限) 00(后续状态) FF(修改权限) 00 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)

建立公共应用基本文件[Create File] APDU命令:80(CLA) E0(INS) 02(P1) 00(P2) 07(Lc信息长度) 00 15 (文件标识符)00 (二进制文件类型)0F(读权限)FF(更新权限)00 1e(文件长度)

建立持卡者基本数据文件[Create File] APDU命令:80(CLA) E0(INS) 02(P1) 00(P2) 07(文件信息长度) 00 16 (文件标识符)00(二进制文件类型)0F(读权限)FF(更新权限) 00 27(文件长度)

建立交易明细文件[Create File] APDU命令:80(CLA) E0(INS) 02(P1) 00 (P2)07 (文件信息长度)00 18(文件标识符) 03(循环记录文件类型)1F(读权限)10(更新权限)0a 17(文件长度)

写公共应用基本数据文件[Update Binary] APDU命令:00(CLA)D6(INS)95(P1)00(P2)1E(信息长度)A0 00 00 00 03 00 00 01(发卡方标识)03(应用类型标识)01(应用版本) 00 00 19 98 08 15 00 00 00 01(应用序列号) 20 00 10 01 (应用启用日期)20 02 12 31(应用有效日期)55 66 (发卡方自定义FCI数据)

写卡持有者基本数据文件[Update Binary] APDU命令:00(CLA) D6(INS) 96(P1) 00(P2) 27(文件信息长度) 00(卡类型标识) 00(本行职工标识) 53 41 4d 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00(持卡人姓名) 31 31 30 31 30 38 37 30 30 33 31 37 31 38 39 00(持卡人证件号码) 00 (持卡人证件类型)

建立电子钱包EP文件[Create File] APDU 命令:80(CLA)E0(INS)02(P1)00(P2)07(Lc)00 01(文件标识符)06(文件类型)00(权限1)00(权限2)00(LEN1)00(LEN2)

结束建立应用(DF)[Create End] APDU命令:80(CLA) E0(INS) 01(P1) 01(P2) 02 (文件标识符长度)2F 01(文件标识符)

结束建立MF [Create End] APDU命令:80(CLA) E0(INS) 00(P1) 01(P2) 02 (文件标识符长度)3F 00(文件标识符) 2) 交易过程

在此,我们以圈存过程及消费过程为例: A、 圈存——将金额存入卡中

在圈存前必须先校对个人口令及01号外部认证;

选择应用[Select File]APDU命令:00(CLA)A4(INS)00(P1)00(P2)02(长度)2F 01(文件标识符)

校验PIN[Verify] APDU命令:00(CLA) 20(INS) 00(P1) 00(P2) 02(长度) 12 34(PIN)

外部认证:[

取随机数[Get Challenge] APDU命令:00(CLA) 84(INS) 00(P1) 00(P2) 08 用01号外部认证密钥对随机数进行3DES加密;

外部认证[External Authentication] APDU命令:00(CLA) 82(INS) 00(P1) 01 (P2) 08(长度)XX XX XX XX XX XX XX XX (加密后的随机数) ]

圈存:[

初始化圈存[Initalize For Load] APDU命令:80(CLA) 50(INS) 00(P1) 02(P2) 0B(长度) 01(密钥标识符) 00 00 10 00(交易金额) 00 00 00 00 00 01(终 端机编号)

如果初始化圈存成功,则应答数据域内容: 说明 长度(字节)

电子存折或电子钱包旧余额 4

电子存折或电子钱包联机交易序号 2 密钥版本号 1 算法标识 1 伪随机数ICC 4 MAC1 4

用圈存对应答内容(4字节伪随机数ICC+2字节电子存折或电子钱包联机交易序号+80 00)进行3DES加密生成过程密钥;

圈存[Credit For Load]APDU命令:80(CLA)52(INS)00(P1)00(P2)0B(LC) YY YY MM DD (交易日期)HH MM SS (交易时间)XX XX XX XX(MAC2) MAC2的计算:

初始值:00 00 00 00 00 00 00 00 密钥:上面生成的过程密钥

生成MAC2的数据:00 00 10 00(4字节交易金额)02(交易类型标识)00 00 00 00 00 01(6字节终端机编号)YY YY MM DD (交易日期)HH MM SS (交易时间)

如果圈存交易成功,电子钱包文件的联机交易序号加1,交易金额加在电子钱包的余额上,并且在交易明细文件中增加一条记录。

B、消费过程:

在消费之前先校验PIN:

校验PIN[Verify] APDU命令:00(CLA) 20(INS) 00(P1) 00(P2) 02(长度) 12 34(PIN)


cpu卡psam卡(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏北里下河钢材大市场营销企划书 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: