ED/EP系列4——圈存指令

1. 圈存交易

通过圈存交易,持卡人可将其在银行相应账户上的资金划入电子存折或电子钱包中。

特点:

1)--必须在金融终端上联机进行;

2)--必须提交个人识别码(PIN)

步骤:

1) --终端: 启动账户划入交易(INITIALIZE FOR LOAD)

2) --IC卡: 处理INITIALIZE FOR LOAD命令,检查是否支持命令中提供的密钥(DLK)索引号(NO:9403),产生过程密钥(SESPK),产生MAC1

3) --终端: 验证MAC1,主机将生成SESLK并确认MAC1是否有效。

4) --回送错误状态:如果不接受圈存交易,则主机应通知终端

5) --交易处理: 扣减圈存金额,产生一个报文鉴别码(MAC2)

6) --发出“CREDIT FOR LOAD”命令:更新卡上电子存折或电子钱包余额

7) --IC卡: 验证MAC2(NO:9302).

8) --交易处理: 电子存折联机交易序号或电子钱包联机交易序号加1,交易金额累加到余额上,更新交易明细

9) --返回确认: IC卡将TAC回送给终端,主机可以 不马上验证TAC

PIN=888888
JE=00100000
DLK=00000000000000000000000000000066
DTK=00000000000000000000000000000077
CPURESET()
00A40000023F00
00A40000021001

0020000003+PIN //校验密码
805C000204(圈存前金额+9000)

//圈存初始化: 密钥索引号(1字节)+ 交易金额(4字节)+ 终端机编号(6字节)
805000020B+01+JE+000000000001+10(XYSJ+9000)//P2:01->ED,02->EP

JYE=COPY(XYSJ,1,8)   //ED或EP余额            4字节
JYXH=COPY(XYSJ,9,4)  //ED或EP联机交易序号    2字节
                         //密钥版本号             1字节
                         //算法标识               1字节
WSJS=COPY(XYSJ,17,8) //伪随机数               4字节
MAC1=LAST(XYSJ,8)     //MAC1                  4字节 

ECB_3DES_EN(WSJS+JYXH+8000,DLK,SESLK)//过程密钥
//验证MAC1: 旧余额(4字节)+交易金额(4字节) +交易类型(1字节)+终端机编号(6字节)
3DES_MAC(0000000000000000+JYE+JE+02+000000000001+80,SESLK,_MAC1)//终端:验证MAC1
3DES_MAC(0000000000000000+JE+02+000000000001+20100625+153030+800000000000,SESLK,MAC2)//终端:产生MAC2

//金融圈存交易:CREDIT FOR LOAD
805200000B+20100625+153030+MAC2+04(TAC+9000)//IC卡:验证MAC2

//终端TAC: 新余额(4字节)+联机交易序号(2字节)+交易金额(4字节)+交易类型(1字节)+终端机编号(6字节)+交易日期(4字节)+交易时间(3字节)
3DES_MAC(0000000000000000+JYE+JYXH+JE+02+000000000001+20100625+153030,DTK,_TAC)

805C000204(圈存后金额+9000)

2. 圈提交易

通过圈提交易,持卡人可以把电子存折中的部分或全部资金划回到其在银行的相应账户上。

特点:

1)--必须在金融终端上联机进行;

2) --必须提交个人识别码(PIN)

3) --只支持电子存折应用

步骤:

1) --终端:启动圈提交易(INITIALIZE FOR UNLOAD)

2) --IC卡:处理INITIALIZE FOR LOAD命令

检查是否支持提供的密钥索引号(NO:9403)

检查圈提金额是否超过电子存折余额

产生一个伪随机数(ICC),过程密钥SESULK和一个报文签别码(MAC1)

3) --主机:产生SESULK并验证MAC1是否有效

4) --主机:产生一个报文签别码(MAC2),以供IC卡对主机合法性进行检查

5) --终端:向IC卡发出圈提(DEBIT FOR UNLOAD)命令

6) --IC卡:验证MAC2(NO:9302)

7) --IC卡:交易处理,并产生一个报文鉴别码(MAC3)

8) --主机:验证 MAC3

CPURESET()
00A40000023F00
00A40000021001

0020000003+888888 //校验密码
805C000204(圈提前金额+9000)

JE=00001000
//INITIALIZE FOR UNLOAD 密钥索引号+交易金额+终端机编号
805005010B+01+JE+000000000001+10(QTJY+9000)

JYE=COPY(QTJY,1,8)    //ED余额               4字节
JYXH=COPY(QTJY,9,4)  //ED联机交易序号        2字节
                         //密钥版本号            1字节
                         //算法标识              1字节
WSJS=COPY(QTJY,17,8) //伪随机数              4字节
MAC1=LAST(QTJY,8)     //MAC1                 4字节 

DULK=0971C9FD4D726CC5CEC80C67C69274E3
//SESULK:伪随机数(ICC)||电子存折联机交易序号||‘8000’
ECB_3DES_EN(WSJS+JYXH+8000,DULK,SESLK)
//验证MAC1: 旧余额(4字节)+交易金额(4字节) +交易类型(1字节)+终端机编号(6字节)
3DES_MAC(0000000000000000+JYE+JE+03+000000000001+80,SESLK,_MAC1)//主机:验证MAC1
3DES_MAC(0000000000000000+JE+03+000000000001+20100625+153030+800000000000,SESLK,MAC2)//主机:产生MAC2

//金融圈提(DEBIT FOR UNLOAD)
805403000B+20100625+153030+MAC2+04(MAC3+9000)//IC卡:验证MAC2

805C000204(圈提后金额+9000)

3. 取现交易

特点:

1) --必须在金融终端上进行,可以脱机处理

2) --必须提交个人识别码(PIN)

3) --只支持电子存折应用

步骤:

1) --终端:启动取现交易(INITIALIZE FOR CASH WITHDRAW)

2) --IC卡:检查是否支持提供的密钥索引号(NO:9403),检查ED余额是否大于或等于交易金额,产生一个伪随机数(ICC)、一个过程密钥SESUK

3) --终端: 终端发出消费/取现命令,

4) --IC卡:验证MAC1。扣减取现交易金额,并将电子存折脱机交易序号加1,产生一个报文鉴别码(MAC2)

5) --终端: 验证MAC2

CPURESET()
JE=00000001//消费金额
DPK=7DAE5E53140A9170C21D5805EADB7E9A		

00A40000021001
0020000003+888888 //校验密码

//初始化取现(INITIALIZE FOR CASH WITHDRAW)密钥索引号+交易金额+终端机编号
805002010B+01+JE+000000000001(XYSJ2+9000)

YE=COPY(XYSJ2,1,8)      //ED余额	            4
TJJYXH=COPY(XYSJ2,9,4)  //ED脱机交易序号	    2
YZXE=COPY(XYSJ2,13,6)   //透支限额	            3
                        //密钥版本号(DPK)	    1
                        //算法标识(DPK)	    1
WSJS=COPY(XYSJ2,23,8)   //伪随机数(IC卡)	    4
JYXH=0001

//SESUK:伪随机数(ICC)||电子存折联机交易序号||‘8000’
ECB_3DES_EN(WSJS+JYXH+8000,DPK,SESLK)

//交易金额 + 交易类型标识 + 终端机编号 + 交易日期 + 交易时间
3DES_MAC(0000000000000000+JE+000000000001+20090225+153030+80000000000000,SESLK,MAC1)
805401000F+0000+JYXH+20110106+120000+MAC1+08(FHZ+9000)

                   //TAC	4
WSJS=COPY(FHZ,9,8)//MAC2	4

3DES_MAC(0000000000000000+JE+80000000,SESLK,_MAC2

ED/EP系列4——圈存指令

时间: 2024-12-20 16:58:56

ED/EP系列4——圈存指令的相关文章

ED/EP系列5《消费指令》

1. 消费交易 消费交易同意持卡人使用电子存折或电子钱包的剩余金额进行购物或获取服务. 特点: 1) --能够在销售点终端(POS)上脱机进行 2) --使用电子存折进行的消费交易必须提交个人识别码(PIN),使用电子钱包则不须要 步骤: 1) --參考复合应用消费交易 CPURESET() JE=00000001//消费金额 DPK= 00000000000000000000000000000055 00A40000021001 805C000204(消费前金额+9000) //(见JR/T

ED/EP系列5——消费指令

1. 消费交易 消费交易允许持卡人使用电子存折或电子钱包的余额进行购物或获取服务. 特点: 1) --可以在销售点终端(POS)上脱机进行 2) --使用电子存折进行的消费交易必须提交个人识别码(PIN),使用电子钱包则不需要 步骤: 1) --参考复合应用消费交易 CPURESET() JE=00000001//消费金额 DPK= 00000000000000000000000000000055 00A40000021001 805C000204(消费前金额+9000) //(见JR/T 00

ED/EP系列3——基本指令

? --APPLICATIONBLOCK(应用锁定): ? --APPLICATION UNBLOCK(应用解锁): ? --CARDBLOCK(卡片锁定): ? --EXTERNAL AUTHENTICATION(外部认证): ? --GET RESPONSE(取响应): ? --GET CHALLENGE(产生随机数): ? --INTERNAL AUTHENTICATION(内部认证): ? --PIN CHANGE/UNBLOCK(个人识别码修改/解锁): ? --READ BINARY

ED/EP系列1——简介

电子存折(ED:ElectronicDeposit)一种为持卡人进行消费.取现等交易而设计的支持个人识别码(PIN)保护的金融IC卡应用.它支持圈存.圈提.消费和取现等交易. 电子钱包(EP:Electronic Purse)一种为方便持卡人小额消费而设计的金融IC卡应用.它支持圈存.消费等交易.消费不支持个人识别码(PIN)保护. 电子钱包/电子存折应用为同一类应用,两者在卡片和终端的处理流程上基本相同,主要区别有:电子钱包应用支持消费.圈存等交易,消费无须提交个人识别码,卡片中的消费明细记录

ED/EP系列2——文件结构

电子存折/电子钱包应用是为持卡人进行金融交易而设计的一种应用.对于一张金融 IC 卡来说,它可以同时支持电子存折和电子钱包两种应用,也可以只支持其中的一种.卡片上两种应用的存在情况可以由应用类型标识(ATI)来指明. 从终端的角度来看,IC卡上的文件是一种树形结构.树的每一个分支是一个应用定义文件(ADF)或一个目录定义文件(DDF).一个ADF是一个或者多个应用基本文件(AEF)的入口点.一个ADF及其相关的数据文件处于树的同一分支上.一个DDF是其他ADF或者DDF的入口点. 上表是一卡通应

ED/EP系列6——扩展应用

包括:电子钱包复合应用:电子钱包灰锁应用. 1. 复合应用模式 ? INITIALIZE FOR CAPP PURCHASE(复合应用消费初始化): ? UPDATE CAPP DATA CACHE(更新复合应用数据缓存): ? DEBIT FOR CAPP PURCHASE(复合应用消费). 2. 灰锁应用模式 ?  DEBIT FOR UNLOCK(解扣): ? GET LOCK PROOF(取灰锁状态): ? GREY LOCK(灰锁): ? GREY UNLOCK(联机解扣): ? IN

基于PBOC电子钱包的圈存过程详解

基于pboc的电子钱包的圈存过程,供智能卡行业的开发人员参考 一. 圈存 首先终端和卡片有一个共同的密钥叫做圈存密钥:LoadKey   (Load即圈存的意思,unLoad,是圈提的意思) 假设LoadKey = 11223344556677888877665544332211 (密钥一般都是16字节的,圈存即往IC卡里存钱的意思) 在满足安全条件的情况下: 第一步:终端向卡片发送圈存初始化命令: Apdu:  80        50   00  01   0B         01   

一次圈存网络故障处理

故障现象,圈存(校园卡和银行卡互通的一个设备)上网上不了. 处理过程,由于圈存是绑定地址,即在cisco3750(三层交换机)上,使用 ip dhcp excluded-address 192.168.198.1    192.168.198.10 排除一段地址,给圈存用,然后使用acl绑定 arp access-list quancun permit ip host 192.168.198.1  mac host 0019.2166.c465 log 然后,放行arp arp 192.168.

TinyOS系列——网关接收服务器指令模块,实现的难题及解决方案

今天刚刚把棘手已久的问题解决,感觉特别开心,想记录一下解决的思路. ------------------------------------------------分割线---------------------------------------------------- 1)首先,假设节点内已经烧好了写好的程序,那么通过PC端的串口调试助手,完全可以完成这个任务 2)其次,节点通过串口接收数据用的是ATmega128,那ATmega128串口这块如何配置? 推荐一个网址,http://blo