pos机开发相关

news/2024/11/28 10:50:31/

打算做pos机的开发:

先了解相关的知识点:

DUKPT(devider unique key per Transation):一种安全的秘钥管理技术:保证每次交易使用唯一秘钥(不可逆转)

要求:收单行+ 终端必须同步支持该技术。

密钥 = 基础密钥 (BDK) + KSN 他俩一起装入加密模块KSN 组成:

1.密钥标识10位【基础派生密钥标识9位+子密钥标识1位】

2.设备标识5位【最后一个二进制位给3使用】

3.交易计数器5位【即二进制的20位,但是他占用了设备标识的一个二进制位,所以其实是21位】

8583协议:基于ISO8583报文国际标准的包格式的通讯协议

8583报文 = 位图 【8583的灵魂】+ 字段域位图:打包,解包,确定字段域的关键替代

字段域:最多由128个字段域组成,每个字段域都有统一规定,并且有定长变长之分=================================有关数据加密======================================

数据加密算法(DEA):是一种对称加密算法,可能是使用最广泛的密钥系统,特别是在保护金融的安全中。

最初开发的DEA是嵌入硬件的,如自动取款机(ATM),他来自IBM

数据加密标准(DES):传统的密码加密都是由古代的循环移位思想而来,恩尼格玛机在整个基础之上进行扩散模糊,但是本质原理是一样的。现代DES在二进制级别做这同样的事:替代模糊,增加分析的难度。

加密原理:DES使用一个56位的密钥+8位奇偶校验位=64位的分组大小,这是一个迭代的分组密码,使用Feistel的技术:

具体:1.对加密的文本块分成两半,

2.使用子密钥对其中一半应用循环功能

3.将2中的输出与另一半进行异或运算

4.接着交换新的这两半

5.循环上面的1--4的过程,切记最后一次不交换

DES使用16轮循环,使用异或,置换,代换,移位操作四种基本运算。

DES加密算法加密模式:使用块加密前需要指定它使用的模式。

这个模式定义了Clipher如何应用加密算法。

改变模式可以容许一个【块加密程序】--->【流加密程序】

块加密算法:每次加密一个数据分组,这个分组位数可以随意(一般选择64或者128位)

流加密算法:每次加密或解密一个字节的数据,这使它比流加密的应用程序更加有用。

1.ECB(电码本)最简单的模式,同样的明文分组加密成---->相同的密文分组

优点:这对于发送单一的块数据来说是非常好的,如密钥

缺点:

1.对执行一个加密的信息流来说不是很好,因为如果相同的明文多次发送以后,同样的密文也会被多次发送。

2。对每一个块用相同的方式进行加密。

如果我们的密钥或者数据不断发生变化,ECB是完全安全的

但是如果类似的块经过同样的密钥加密发出以后,攻击者可能获得一些我们并不想让别人知道的信息

2.CBC(密码分组链接)需要IV

CBC模式改变了加密方式【使用前一分组的信息加密当前分组】,同样的明文分组不一定加密或解密同样的密文块优点:解决了ECB存在的主要问题

缺点:相同的信息仍然加密成相同的密文,因为所有的分组是同时变成密文分组的

解决:引入一个Initialization Vector(初始化向量),

IV仅仅是一个初始化加密程序的随机数。它无需秘密保存,但对每一个信息来说它都是不同的

通过这个方式,即使有两条相同的信息,只要他们有不同的IV,那么他们加密后的密文也是不同的

CBC很适合文本传输,但它每一次都需要传送一个完整的数据块,一般选8个字符。

3.CFB(Cipher FeedBack:密码反馈)需要IV

工作方式与CBC类似,但它可以执行更小的数据块,典型的有8位适合加密像聊天对话这样的信息,因为每次可以发送单一的字节数据块。

和CBC一样,CFB也需要一个IV,且相同及钥发送的每条信息的IV都必须是唯一的。

4.OFB(Output FeedBack:输出反馈)需要IV

和CFB类似

优点:传输中能给数据提供更好的保护,防止数据丢失外

密文中一位出错,也只造成明文中的一位出错,其他的方式会造成整个块丢失

====================================有关加密机知识=============================================1.1 加密机型号(加密机提供加密服务)

江南计算机研究所(56所):SJL06E(江南卡友)

SJL06T(江南卡友)

SJL22(江南歌盟)

卫士通信息产业股份有限公司(30所)SJL05

1.2 通讯方式:

应用软件通过TCP方式调用加密机服务

1.3 在银行业具体应用:密钥管理,PIN保护,消息完整性控制,具体内容:

a,产生随机密钥供 终端通讯使用,并打印

b.产生随机工作密钥,并用本地主密钥

c.验证接受的工作密钥并转换为本地主密钥,加密保护

d.根据明文PIN生成指定格式的密文PINBLOCK;

e。转换PINBLOCK

f,校验MAC

g,生成MAC

h.解密明文PIN:

i.CV V & CVN的校验

三层密钥体系:

银行业使用标准ANSI x9.17,为三层密钥体系,对不同密钥(特别是工作密钥)的功能做了严格的使用限制,专钥专用

第一层:本地主密钥【加密机】(LMK):采用双倍标准的3DES密钥(128位),存放在硬件加密机内,

作用:将所有本地存放的其他密钥加密数据加密,第二层:传输主密钥【[b]银行】[/b](BMK

TMK ZMK):密钥加密密钥(密钥交换密钥)

作用:加密在通讯线路上需要传递的工作密钥。

在本地或共享网络中,不同的通讯网点使用不同密钥加密密钥,实现密钥分工管理

它在本地存放时,处于本地MK加密之下或直接保存在硬件加密机中。

第三层:工作密钥 (数据加密密钥)= 完整性密钥(MAK)+

PIN保护密钥(PIK)+终端密钥(TMK=TPK+TAK)

作用:加密不同的数据。实现数据保密、信息认证,数字签名

这些数据密钥在本地存放时,处于BMK的加密之下或者直接保存在硬件加密机中

名词解释:

本地主密钥(local Master key --LMK)加密机 主密钥,存储在加密机中,保护存储在加密机外的各种密钥和关键数据的密钥加密密钥

传输主密钥(Transfer Master Key ---TMK):两台加密设备间(加密机和加密机 、加密机和终端)用于加密保护工作密钥的更换

同属类型的有:ZMK,TMK,BMK

工作密钥(Working Key):处理对象为一般数据的密钥。

同属类型有:TAK TPK ZAK ZPK

2.3算法体系

国内金融加密机 加密算法遵循以下两个加密体系:雷卡体系 、金卡体系

雷卡体系:使用ZMK的指令集模式对外发布使用方法,LMK加密之下,由应用本地存放。

具体:通过向加密机提交密文ZMK(进LMK加密后的)运算完成

金卡体系:使用加密索引的API模式对外发布使用方法,它的BMK存放于加密机中,通过索引访问

具体:1.密码机产生一个128bits,192bits的随机数作为指定的银行主密钥,

2.把1中主密钥保存在密码机内,并用主密钥加密后返回给主机


http://www.ppmy.cn/news/151941.html

相关文章

PoS算法

文章目录 前言一、PoS——权益证明二、go语言简单实现 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、PoS——权益证明 PoS 是什么 ⚫ PoS(Proof of Stake)译为权益证明,是一种在公链中的共识算法&#…

收银机多少钱一台推荐科脉系统_收银系统多少钱一套?常用收银系统价格大盘点...

收银系统价格大盘点 很多小伙伴都希望用收银系统来管理自己的门店,面对五花八门的软件,价格相差又比较大,不知如何选择,今天小编就以服装类(包括服装店、鞋店、内衣店、皮具箱包、家纺、母婴店等)门店为例(其他行业也差不多)&…

POS机一般分为5大类

http://blog.sina.com.cn/s/blog_15e113b010102w3kx.html POS机一般分为5大类: 1:0费率,医院,救援,公益类,全部为0费率。 2:一般民生类0.38%,超市,加油站,家…

智能POS

一、智能POS和传统POS的区别 传统POS的定义:Points Of Sales,销售终端或消费终端。对于智能POS定义:Points Of Services,服务终端。 1.传统的pos只负责银行卡收单业务相关的业务。 2.智能POS的功能: (1&…

php pos机刷卡,pos机怎么刷卡?POS机刷卡详细步骤,POS机应该怎么选?

pos机怎么刷卡?使用POS机刷卡首先需要开机然后根据需要按功能键。如果您想消费请按消费键然后插入需要刷卡的银行卡或银行卡号。看到卡号正确后按“确认”;最后一步是输入你要刷的金额。 具体步骤如下: 1、开机长按“取消”按钮开机有些POS机…

POS机选择和使用

POS使用前提:支付牌照和一清二清机 养卡之前我们要确认手上的pos机是否安全,其实有支付牌照的正规支付公司都是安全的。 怎么知道一个支付公司是否有支付牌照呢?可以去央行官网查询(中国人民银行 http://www.pbc.gov.cn/ )&…

POS机背后的故事 - 刷卡交易及手续费的分配规则

POS机背后的故事 - 刷卡交易及手续费的分配规则 五个角色: 发卡行(你刷的那张卡来自于哪家银行) 收单方(提供POS机进行网点铺设并完成对商户资金结算的收单银行或机构。 例如:工行、建行、交行、银联商务、数字王府井(…