zoukankan      html  css  js  c++  java
  • PBOC2.0协议中电子存折/电子钱包中圈存交易流程

    通过圈存交易,持卡人可将其在银行相应账户上的资金划入电子存折或电子钱包中。这种交易必须在金融终端上联机进行并要求提交个人识别码(PIN)(无论电子存折还是电子钱包应用)。

    交易流程图如下:

    1.1 发出初始化圈存交易

    终端发出初始化圈存(INITIALIZE FOR LOAD)命令启动圈存交易。

    初始化圈存(INITIALIZE FOR LOAD)命令报文如表1所示:

    命令报文中的数据域为:

    1.2 处理初始化圈存(INITIALIZE FOR LOAD)命令

    收到初始化圈存(INITIALIZE FOR LOAD)命令后,IC卡将进行以下操作:
    ——检查是否支持命令中包含的密钥索引号。如果不支持,则回送状态字“9403”(不支持的密钥索引),但不回送任何其他数据,同时终止命令的处理过程;
    ——产生一个伪随机数(ICC),过程密钥SESLK和一个报文签别码(MAC1),用以供主机验证圈存交易及IC卡的合法性。

    用来产生过程密钥SESLK的输入数据如下:
    SESLK:伪随机数(ICC)||电子存折联机交易序号或电子钱包联机交易序号||“8000”

    用SESLK对以下数据加密产生MAC1(按所列顺序):
    ——电子存折余额(交易前)或者电子钱包余额(交易前);
    ——交易金额;(通过INITIALIZE FOR LOAD命令报文中的数据域获取)
    ——交易类型标识;
    ——终端机编号。(通过INITIALIZE FOR LOAD命令报文中的数据域获取)

    IC卡将把初始化圈存(INITIALIZE FOR LOAD)响应报文回送给终端处理。如果IC卡回送的状态字不是“9000”,则交易终止。

    初始化圈存(INITIALIZE FOR LOAD)响应报文如下:

    1.3 验证MAC1

    收到初始化圈存(INITIALIZE FOR LOAD)命令响应报文后,终端把IC卡回复初始化圈存(INITIALIZE FOR LOAD)的响应报文数据传给发卡方主机。
    主机将生成SESLK并确认MAC1是否有效。如果MAC1有效,交易处理将按1.5中描述的步骤继续执行。否则,交易处理将执行1.4中所描述的步骤。

    1.4 回送错误状态

    如果不接受圈存交易,则主机应通知终端。

    1.5 交易处理

    在确认能够进行圈存交易后,主机从持卡人在银行的相应账户中扣减圈存金额。
    主机产生一个报文签别码(MAC2),用于IC卡对主机进行合法性检查。用SESLK对以下数据加密产生MAC2(按所列顺序):
    ——交易金额;
    ——交易类型标识;
    ——终端机编号;
    ——交易日期(主机);
    ——交易时间(主机)。
    成功地进行了圈存交易后,主机将电子存折联机交易序号或电子钱包联机交易序号加1,并向终端发送一个圈存交易接受报文,其中包括MAC2、交易日期(主机)和交易时间(主机)。

    1.6 发出圈存(CREDIT FOR LOAD)命令

    终端收到主机发来的圈存交易接受报文后,发出圈存(CREDIT FOR LOAD)命令更新卡上电子存折或电子钱包余额。
    圈存命令报文如下:

    命令报文数据域如下:

    1.7 验证MAC2

    收到圈存(CREDIT FOR LOAD)命令后,IC卡必须确认MAC2的有效性(IC卡内部计算MAC2,然后比较MAC2和发过来的MAC2是否相等)。
    如果MAC2有效,交易处理将执行1.8中描述的步骤。否则将向终端回送状态字“9302”(MAC无效)。

    1.8 交易处理

    IC卡将电子存折联机交易序号或电子钱包联机交易序号加1,并且把交易金额加在电子存折或电子钱包的余额上。IC卡必须成功地完成以上所有操作或者一个也不完成。
    在电子存折圈存交易或电子钱包圈存交易中,IC卡用以下数据组成的一个记录更新交易明细:
    ——电子存折联机交易序号或电子钱包联机交易序号;
    ——交易金额;
    ——交易类型标识;
    ——终端机编号;
    ——交易日期(主机);
    ——交易时间(主机)。

    TAC的计算不采用过程密钥方式,它用DTK左右8位字节异或运算的结果对以下数据进行加密运算来产生(按所列顺序):
    ——电子存折余额(交易后)或电子钱包余额(交易后);
    ——电子存折联机交易序号(加1前)或电子钱包联机交易序号(加1前);
    ——交易金额;
    ——交易类型标识;
    ——终端机编号
    ——交易日期(主机);
    ——交易时间(主机)。

    1.9 返回确认

    在成功完成步骤1.8后,IC卡通过CREDIT FOR LOAD命令的响应报文将TAC回送给终端。主机可以不马上验证TAC。

    圈存命令(CREDIT FOR LOAD)的响应报文如下:

  • 相关阅读:
    SCAU 9504 面试
    SCAU 9503 懒人选座位
    SCAU 8628 相亲
    SCAU 10691 ACM 光环
    SCAU 8626 原子量计数
    SCAU 10674 等差对
    HDU ACM 1048 The Hardest Problem Ever (水题)
    SCAU 9502 ARDF
    SCAU 10686 DeathGod不知道的事情
    SCAU 8629 热身游戏(高精度)
  • 原文地址:https://www.cnblogs.com/cuglkb/p/5920765.html
Copyright © 2011-2022 走看看