密钥(初步探索)

转自博客:金融行业密钥详解

以下是自己对上面的博客的小结:

  • 无需对银行卡的所有信息加密,只需对“账号”和“密码”加密(也有只对“密码”加密的),其它信息直接明文。对账号和密码加密有个术语,叫“PinBlock”,即“Pin块”。
  • 用DES算法对PinBlock加密,需要一个key来加密,这个专门用来加密账号和密码的key就被称作 PinKeyPin秘钥
  • DES算法加解密时要求数据必须为8个字节(64bit)。
  • 使用一个key,对报文进行DES加密,得到加密后的64bit数据,拼在报文后面,前置机收到报文后,同样用该key对报文(不包括拼接的64bit数据)进行加密得到 64bit 的数据,如果 两个64bit数据相等,就表示报文没有中途被更改过 , 该key 就被 MacKey(Mac密钥)。
  • 报文使用PinKey和MacKey加密,报文基本上就安全了。但是PinKey和MacKey不能暴露,此时就需要再增加一个key来对PinKey和MacKey加密。该 key就称为 MasterKey主密钥)。
  • MasterKey也是不能暴露的,黑客程序只能窃取我软件上的东西,如果我把MasterKey放到硬件里面怎么样,黑客是没能力跑到我硬件里面把MasterKey取出来。所以,只要把MasterKey放到硬件里面(一般是键盘的加密模块里面)就好了。
  • 之前,明文的密码是通过 键盘按键,等6位密码按完以后,再由PinKey加密,黑客程序如果直接获取 按键信息,就能知道密码了。现在,把获取按键的程序 直接一步进入 硬件处理,再把 硬加密后的按键信息 传给上层软件,这样黑客就没法破解按键信息了。这叫做 硬加密

不禁产生疑惑:既然 有 MasterKey来加密PinKey和MacKey, 那还需要 传输密钥 做什么?

原来 主密钥 又划分为了两层银行卡网络安全系统的三级密钥体系
这篇解释的更详细: 金融行业密钥基础知识

  • 第一层(本地主密钥) Local Master Key 又称作 主机主密钥 Master Key,用来保护它的下一级 区域主密钥 Zone Master Key , 其中 ZMK 包括 银行主密钥BMK (Bank Master Key) 和 终端主密钥TMK (Terminal Master Key)
  • 区域主密钥ZMK主要有两种:一种是 金卡中心 与 成员行 之间的传输密钥(称为银行主密钥), 另一种是 成员行 与 ATM或POS之间的传输密钥(称为 终端主密钥)
  • 第二层(区域主密钥)又可以称为 密钥加密密钥 KEK (key-encrypting key) 或者 "密钥交换密钥" KEK (key-exchange key) ,也 即 传输密钥!!
  • 第三层(工作密钥 WK) (working key),也叫 数据加密密钥(Date Encrypt Key) , 分为 PinKey 和 MacKey
  • PIK即 PinKey
  • ZPK zone pin key 区域Pin密钥,专指主机 与主机间的PIK
  • TPK terminal pin key 终端Pin密钥,专指主机与终端间的PIK
  • MAK 即 MacKey
  • ZAK zone authenticate key 区域认证密钥,专指主机与主机间的MAK
  • TAK termianl authenticate key 终端认证密钥,专指 主机与终端之间的MAK
  • CVK card verification key 卡校验密钥,专用于校验卡真伪的工作密钥
  • TAC transaction authentication code,交易认证码,在IC卡中用于验证交易正确性。

如有错误,请指正!!谢谢!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容