近期在从事Pos应用的开发,由于之前未接触过相关开发,所以很多概念性的东西不是很明白,因此做下总结记录供以后查阅,参考了其他人的博客。链接在博客底部。
目前来说主要接触密钥的分别时:工作密钥 主密钥 传输密钥
1.工作密钥
工作秘钥也称为数据密钥,包含PIN秘钥,MAC秘钥以及磁道秘钥(TDK)。在POS每次做签到交易时,由POS中心下发给POS。需要经常性地定期更换,通常每天更换一次。
在联机更新的报文中对工作密钥必须用TMK(主密钥)加密,形成密文后进行传输。
2.主密钥
主秘钥,即(Terminal Master Key) TMK,主要作用是用来验证工作秘钥是否合法,以及加密TAK和TPK保证TAK和TPK在传输线路上的安全性。一般情况下是人工在POS设置或者通过IC卡导入,也有可能通过母POS下发!TMK被写入密钥保护芯片,此芯片具有开机程序自毁功能,能很好的保护TMK的安全性,主秘钥是和每一台POS相关联的,即主秘钥和Pos设备是一一对应的,生产中应保持POS的TMK与POS中心的主密钥的一致性。TMK,分为明文和密文。主秘钥是由服务提供商提供。如果主秘钥是密文,则需要先解密,然后校验,校验通过后,保存!
3.传输密钥
服务器通过传输密钥解密得到得到主密钥密文,下发给app,app将主密钥密文发送给机器,机器通过它解密成主密钥明文,通过主密钥明文去加密工作密钥密文。当服务器下发到app的是主密钥密文的时候,才需要传输密钥。(所以传输密钥用于解密主密钥的)(约定的)

工作密钥包含的三种密钥(PIN密钥,MAC密钥以及磁道密钥)
1.PIN秘钥
PIN秘钥,(Terminal PIN encryption Key)TPK,用于计算加密PIN(个人银行卡的密码,6位数)。在签到时,下发给POS终端,以密文的形式,POS终端接收到密文后,需要使用主秘钥去解密,然后校验,校验通过后,将TPK存储在专用的密钥保护芯片里。TPK用于加密在局域网内POS终端和POS中心之间传送的PIN。TPK需要经常性地定期更换,通常每天更换一次。此密钥具有开机自毁功能。
当用户在密码键盘上输入银行卡密码时,输出的是加密后的密文(通过TPK加密PIN后的密文),那么在网络传输中,一直都使用的是该密文,即时被截获,也是密文,所以最大限度的保护了用户PIN的安全。
2.MAC秘钥
MAC秘钥,(Terminal Administrative Key)TAK,用于计算校验MAC。MAC是用来完成消息来源正确性鉴别,防止数据被篡改或非法用户窃入的数据。在签到时,下发给POS终端,以密文的形式,Pos终端接收到密文后,需要使用主秘钥去解密,然后校验,校验通过后,将TAK存储在专用的密钥保护芯片里。TAK用于局域网内POS终端与POS中心之间传送信息时,生成和校验一个信息认证代码(Message Authentication Code),从而达到信息认证的目的。TAK需要经常性地更换,通常每天更换一次。
3.磁道秘钥
磁道信息加密密钥,TRK,用于加密磁道信息,例如发卡方信息(包括卡片验证码CVN等信息)。当需要TRK时,在签到时会下发给POS终端。

4.终端PIN密钥(TPK)
终端PIN密钥是一个数据加密用的密钥,适用于局域网络中,它是在局域网内通过TMK加密,由终端数据受理者自动分配到终端且保持通讯双方之间的对称性。TPK用于加密在局域网内终端和终端数据受理者之间传送的PIN。TPK在本地存储在加密机中通过索引的方式调用。TPK需要经常性地定期更换,通常每天更换一次。
5.终端认证密钥(TAK)
终端认证密钥是一个数据加密用的密钥,适用于局域网内。它在局域网内通过TMK加密由终端数据受理者自动分配到终端或通过BMK加密由终端数据受理者自动分配到交换中心。TAK用于局域网内终端与终端数据受理者之间传送信息时,生成和校验一个信息认证代码(Message Authentication Code),从而达到信息认证的目的。TAK需要经常性地更换,通常每天更换一次,TAK在本地存储在加密机中通过索引的方式调用。

下面时密钥的作用图:
————————————————
版权声明:本文为CSDN博主「MR_Codingson」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/MR_Condingson/article/details/80256803

介绍主密钥,传输秘钥,工作秘钥相关推荐

  1. 主密钥,传输秘钥,工作秘钥

    一.工作密钥 1.概念 工作秘钥也称为数据密钥,包含PIN秘钥,MAC秘钥以及磁道秘钥(TDK).在POS每次做签到交易时,由POS中心下发给POS.需要经常性地定期更换,通常每天更换一次. 在联机更 ...

  2. 加速文件传输协议如何工作?

    流行的文件传输协议(例如FTP / S,SFTP和HTTP / S)取决于名为TCP的基础协议.TCP的问题在于,随着网络条件(例如延迟和数据包丢失)的增加,网络吞吐量会大大降低.这在很大程度上归因于 ...

  3. git 查看自己秘钥_Git秘钥问题

    简介 在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地. 这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复 ...

  4. git 查看自己秘钥_git秘钥配置--转

    git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置. github的ssh配置如下: 一 . 设置git的user name和email: $ git ...

  5. 14 | 大师级程序员的工作秘笈

    前面我和大家分享了 TDD 的来龙去脉,那些尚未将 TDD 烂熟于胸的同学会分为两个派别.一派是摩拳擦掌,准备动手实践一番:另一派是早就自我修炼过,但实践之路不通.所以,市面上经常会听到有人说,TDD ...

  6. 找工作秘笈:“让别人知道你知道”

    按:找工作是一个社会问题,如何找到一个合适的工作?我们更多的是从自己的角度考虑,其实从招聘方考虑,他们在招聘的时候其实也面临这风险,所以如何让招聘方对你产生信任,降低他们的风险?如果我们能主动的去做这 ...

  7. 史蒂芬·柯维写给年轻人的高效工作秘笈

    ISBN:978-7-113-14556-9 作者:宋璐璐 页数:191页 阅读时间:2020-02-19 推荐指数:★★☆☆☆ 感觉是打着史蒂芬·柯维的名号来故弄玄虚, 虽然每个章节都以他的名字开头 ...

  8. 【计算机网络】HTTP 与 HTTPS ( HTTP 在网络各个层级的传输过程 | HTTPS 工作流程 | HTTPS 弊端 )

    文章目录 一.HTTP 在网络各个层级的传输过程 二.HTTPS 工作流程 1.中间人篡改服务器下发的数字证书 2.中间人冒充服务器端 三.HTTPS 弊端 一.HTTP 在网络各个层级的传输过程 应 ...

  9. 初识LVS(一)——LVS介绍和LVS的NAT工作模式

    LVS介绍 集群按照类型划分可以分为:LB负载均衡型:HA高可用型:HP高性能型.LVS(linux virtual machine)是一款国人编写用于LB负载均衡型被收录进Linux内核的工具.LV ...

最新文章

  1. 不能从农行服务器获取配置文件,#新手入门#请问,农行网银用的好好的突然出现这个就不能用了怎么解决呢?谢谢...
  2. 03Django基本应用结构
  3. 自定义监听器 java
  4. 因买不到RTX 3090,小哥自己搭建了一个专业级机器学习工作站
  5. Tomcat8.01及nginx-1.8.1安装
  6. python枚举是什么意思,什么是枚举python
  7. ASP中随机函数Randomize的使用
  8. 028-Dell服务器做Raid
  9. java uuid 第三方_JAVA生成短8位UUID
  10. python语言能做什么-python语言用来干什么
  11. 通信原理基础知识概括
  12. NumberFormat的使用
  13. 2020软件测试最新视频教程大合集汇总
  14. Python 树莓派 引脚
  15. t3服务器一登录就运行时错误,用友T3软件登陆系统管理提示运行时错误3709
  16. python数学符号读法大全_数学符号及读法大全
  17. Android 图片查看器选择器 PictureSelector
  18. 洛谷 P1338 末日的传说
  19. linux内核audit,linux下的audit服务
  20. 实验报告怎么写之书写规范

热门文章

  1. Leetcode_80_Remove Duplicates from Sorted Array II
  2. eclipse小应用程序||eclipse切换低版本JDK实现JavaAPPlet
  3. linux系统的版本(转载)
  4. “org.springframework.beans.factory.BeanCreationException: Error creating bean with name xxx“问题解决
  5. 一阶RC低通滤波电路数字化
  6. BlazeDS是什么?
  7. SWT之Text换行
  8. Mysql初始化安装时报错(由于找不到VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题)
  9. Sql - EXISTS 用于子查询
  10. 此spoolsv.exe(木马程序)非彼spoolsv.exe(系统进程)