摘要 MAC,PIN,磁道密钥 在平时的工作中,很少接触安全这块内容,最近需要自己独立完成安全这块内容,在开发中遇到的问题会在下面的理解中得到相应的解决。 在交易平台中,基于安全考

摘要  MAC,PIN,磁道密钥

    在平时的工作中,很少接触安全这块内容,最近需要自己独立完成安全这块内容,在开发中遇到的问题会在下面的理解中得到相应的解决。

    在交易平台中,基于安全考虑会对传输中的报文进行加密处理,用到最多的是MAC校验、PIN加密。
    MAC校验保证数据的完整性,PIN加密保证个人信息的安全性(即你输入的密码用PIN进行保护)。
------------------------------------------------------------------------------------------------------------------
首先需要明确三点的是:
        1:除加密机之外所有看到的密钥全是以密文形式存在。
        2:当你传输索引或加密机加密后的密钥密文给加密机时,加密机会自动找到与之对就应的密钥明文,进行相应的操作(如加密或解密)
        3:加密与解密操作中是应用密钥的明文(加密机真正计算MAC、PIN时所用的密钥)。
前提:加密机有一顶层密钥(LMK)(用与加密其他密钥的密钥),通过多人分段输入来进行设置。可以认为此密钥安全。
场景:
        1)平台则
                1:平台与平台之间一般会有一个BMK(用于平台之间进行工作密钥(MACKEY,PINKEY)的自动分发),受加密机LMK保护。此密钥以索引或是通过加密机LMK加密后的密文形式出现在应用数据库中。
                2:工作密钥通过应用程序发起签到交易向服务器方获得,服务方返回的工作密钥是以通过BMK加密之后的密文形式出现。当应用程序接收到工作密钥密文时,需对工作密钥密文进行检验(checkvalue)。
                        为进一步保护工作密钥,将工作密钥由BMK加密的密文转换成以LMK加密的密文存储在应用数据库中。
                3:应用程序发起交易(余额查询)根据相应的要求,进行MAC、PIN的组包。
                          MAC:根据要求组MACBLOCK,传MACKBLOCK、MAC密钥密文 得到MAC。
                          PIN:根据要求是否需要帐号,传帐号、PIN密钥密文得PIN。
                4:程序程序做的就是计算MAC、验证MAC、PIN转换操作来完成报文的传递。

     2)终端测
                1:终端与平台之间一般会有一个TMK。
                        TMK 与BMK的作用基本上相同,之后的处理过程相同,请参考虑平台则说明。

-------------------------------------------------------------------------------------------------------------------

    写的非常好的参考文件:http://www.360doc.com/content/14/0217/15/15841745_353246743.shtml        


关于checkvalue生成与校验:

    引用:http://www.bctest.com/wtjd-show.asp?id=2370

1)银联直联终端测试中,在POS终端签到的应答报文中,62域是如何规定的?

      62域长度应为24或40个字节。对于单倍长密钥算法:前12个字节为PIN的工作密钥的密文,后12个字节为MAC的工作密钥的密文。(其中,前8个字 节是密文,后4个字节是checkvalue;用前8个字节解出的明文做key,对8个字节00做单倍长密钥算法,取结果的前四位与checkvalue 的值比较应该是一致的)。

      对于双倍长密钥算法:前20个字节为PIN的工作密钥的密文,后20个字节为MAC的工作密钥的密文。(其中,“PIN工作密钥”前16个字节是密文,后 4个字节是checkvalue;用前16个字节解出明文做key,对8个字节00做双倍长密钥算法,取结果的前四位与checkvalue 的值比较应该是一致的;“MAC工作密钥”前8个字节是密文,再8个字节是二进制零,后4个字节是checkvalue;用前8个字节解出明文做key, 对8个字节00做单倍长密钥算法,取结果的前四位与checkvalue 的值比较应该是一致的)。

硬盘开机密码密钥锁 ================== 软件功能: 1-硬盘开机时须要输入你安装时设置的密码(10位),密码不对开不了机,同时可选择使用USB盘做为开机密钥盘。 2-如果安装时插入USB盘,该盘将做为开机密钥,开机时显示:Shu Ru Mi Ma:+USB,不插该盘或插错盘,即使密码正确,开机后自动关机。 3-如果安装时不插任何USB盘,将不检查密钥盘,开机时显示:Shu Ru Mi Ma:只要密码正确就可以开机。 4-安装时修改硬盘MBR,故最好备份硬盘分区表到可以启动的USB盘,同时关闭杀毒软件以防禁止操作。 5-安装本软件的硬盘分区表加密存放,故用光盘或其它启动盘启动也看不见此硬盘,该硬盘的数据彻底得到保护,即使挂到其它电脑上也看不见。 6-做为开机密钥的USB盘没有特殊要求也不写入任何数据,当然如果想用它启动要自行制作USB启动盘!做好密钥盘后最好不要再对其格式化。 7-本软件有注册窗口和机器码,但安装后可以无限制使用,不注册明年起只在安装时有限制(7次)重新安装系统或恢复系统备份时此限制取消。 8-为了安全最好在不重要的机器上试验,否则后果自负。 本软件在自己的联想笔记本和技嘉台式机上,WINXP,WIN7,WIN8系统下测试2年正常,其它机器环境下未做普遍试验, 希望试用的朋友做好硬盘主引导区MBR备份及恢复工具,如果出现开不了机,用USB启动,恢复MBR就可以开机,重新安装后再卸载可以完全清除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值