银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头
来源:互联网 发布:手机照片手绘软件 编辑:程序博客网 时间:2024/05/26 19:17
KEK:
KEK密钥的用途:KEK实际上是一个密钥,用于加解密主密钥。导进去的主密钥是经过KEK加密后的密文,厂商在SDK再用kek解密主密钥密文。
KEK用3DES算法加密主密钥
KEK, 主密钥,工作密钥
一般做法是,商家提供主密钥密文及KEK给厂商,我们终端出厂烧好;商家在终端绑定时,下工作密钥。
所以密钥机制要规划好,看这个KEK和主密钥,是不是出厂机器就烧好
601601308800001=ED6A7FE6BF5C7569ED1D9D8C89398D85+B4FA01CE
601601308800002=C64DB3FFA392153D1460D3DE2B8A2D7B+89B7BD3F
601601308800003=ED6A7FE6BF5C7569ED1D9D8C89398D85+B4FA01CE
601601308800004=C64DB3FFA392153D1460D3DE2B8A2D7B+89B7BD3F
如:一般大多数APK端,是提供这种主密钥文件给厂商,一个SN号对应一个主密钥,出厂对应烧好
主密钥:用于解密签到获取的工作密钥密文。
工作密钥:包括PinKey(用于密码加密)和MacKey(用于报文加密)
签到:获取pinkey、mackey、批次号
签退:先批结算,然后签退,否则批次号不会更新。
批结算:上送本地pos终端交易流水给服务端,若通过校验则可以进行签退,否则需要批上送交易明细
批上送:批结算校验失败,上送本地交易明细到服务端进行比对。
密码加密原理:使用终端主密钥解密签到得到的pinKey,得到pinKey密码明文,然后用密码明文参与PIN Block加密
计算MAC报文也同理
PIN:个人标识码,Personal Identification Number, 也就是密码。
PAN:个人主账号
PIN BLOCK 格式等于 PIN 按位异或PAN:
18位银行卡号密码加密示例
例如: 明文PIN为: 123456,
假设: 磁卡上的PAN:1234 5678 9012 3456 78
截取下的PAN:6789 0123 4567
用于PIN加密的PAN为:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
PIN BLOCK为: 0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF
异或: 0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
结果为: 0x06 0x12 0x53 0xDF 0xFE 0xDC 0xBA 0x98
16位银行卡号密码加密示例
假设: 磁卡上PAN:1234 5678 9012 3456
截取下的PAN:45678901 2345
则用于PIN加密的主账号为: 0x00 0x00 0x45 0x67 0x89 0x01 0x23 0x45
PIN BLOCK为: 0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF
异或: 0x00 0x00 0x45 0x67 0x89 0x01 0x23 0x45
结果为:0x06 0x12 0x71 0x31 0x76 0xFE 0xDC 0xBA
银联报文中,除了各个域外,还有以下组成部分:
TPDU + 报文头 + 应用数据 + 位图
TPDU:Transport Protocol Data Unit,传输协议数据单元。是POS报文的一个特定域,由三项共五个字节(10位)的信息组成。用于终端与系统之间的网络协议,用于终端与系统之间的网络协议,用法见下面示例
报文头:6个字节(12位),用法见下面示例
应用数据:2个字节(4位)
位图:bitmap,1域内容,标记哪些域存在(1),哪些域不存在(0),8个字节(16位),这里推荐一个快速计算位图工具:8583 bitmap viewer
如组包代码示例:tradeData.setPkgHeader("6005050000603100311001");
TPDU: 60 05 05 00 00 //磁条卡金融支付类应用为:60
报文头: 60 31 00 31 10 01 // 磁条卡金融支付类应用为:60 软件版本号31:2010年银联POS规范版本(本规范) 最后的00一个代表正常交易状态,一个代表处理要求,
- 银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头
- 银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头
- 银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头
- 银联Pos终端签到、签退、批结算、批上送
- 金融报文传输过程 MAC_PIN密钥体系 pinkey mackey masterkey
- Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
- Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
- Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
- Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
- Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
- Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
- Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
- 银联POS工作密钥生成
- POS主密钥与工作密钥关联详解
- POS主密钥与工作密钥关联详解
- POS主密钥与工作密钥关联详解
- POS主密钥与工作密钥关联详解
- 银联-POS终端-密钥卡-规范-TMK-方法其一
- 367. Valid Perfect Square
- 每句话都品一品
- c++类的静态函数和静态成员
- Caffe-4.0-Azure云服务器虚拟机上,通过Caffe训练样本
- 松下 BQ-CC16 充电器使用
- 银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头
- MS SQL 字符串分隔
- Android Volley完全解析(四),带你从源码的角度理解Volley
- ThreadPoolExecutor是如何做到线程重用的
- ListView中单个item的跑马灯效果;及所有item实现跑马灯
- opencv入门学习之四: 灰度图像的二值化
- 115-select 与信号
- 技术问题分享之chm文件打开
- ABAP--如何建立通过sap表维护工具来维护自定义表TCODE