现在移动【支付的发展,pos机收款方便了广大的商户,但很多商户对于每次开机时都要签到表示很麻烦和不理解,下面我们就这个POS机签到来说下。
钱宝科技是专业从事融合支付业务的高科技金融服务企业,提供银行结算卡收单、移动支付以及互联网支付解决方案。钱宝科技及其前身成立于2005年,为中国银联成员机构和中国支付清算协会会〓员单位。2011年获得中国人民银行颁发的“支付业务许可证”,拥有全国性“银行结算卡收单”和“互联网支付”两项牌照。2013年,国家外汇管理局特许钱宝科技首批开展跨境电子商务外汇结算业务试点,同时,钱宝科技也是国内首批通过Visa QSP资质认证的持牌机构。
![](/uploads/allimg/210228/1-21022R21Q19C.jpg)
POS设备硬件芯片在出厂时会设置一个设备ID和一个密钥。而在银联的POS交互协议中,有一个概念叫做“签到”,就是POS设备向服务器发起签到请求,然后让服务器返回3个工作密钥,分别用于加密POS传输给服务器的银行结算卡的3个信息。这3个工作密钥是通过POS机硬件芯片内的密钥(在服务器端也有)进行加密的。
既然POS设备㊣ 已经有了一个固化的密钥,那为什么不定定要一个签到来获得工作密钥呢?为什么又不直接用固有的密钥来进行数据加密传输给服务器端呢?既然是密钥,肯定和安全性有关系,那这种模式是如何加强了安全性呢?
我们都知道,POS设备与服务器(一般是支付平台)的交互数据都是加密后传输的,而且这种加密的数据是使用可解密的方式※来加密,而不是使用非可逆加密(例如MD5就是非可逆加密)。
既然是可逆的,就存在可破解的可能性,那么一个黑客是如何破↑解一个加密方式,进而获得加密的密钥的Ψ 呢?当然,直接破解硬件设备底层密码是一种方法,但这种破解方法一般需要直接操作POS硬件设备,甚至可以★会破坏POS硬件设备。
而另一种方法,就是通过加密的数据和结果反推。举一个例子,就如同我们做二元一次方程一样,只要变量和完全不同的方程式足够多,我们就可以算出各个变量的值。
所以,只要你的密钥不变,通过截获足够多的原始数据和加密后的密文就可以获得多个这样』的方程式出来:F(卡信息、密钥)=密文。拥有的方程式越多,那么就越容易破解出密钥这个变量和F这个算法函数(时间更短)。
所以,这种破解方法最终的关键点在于密钥不可变,只要不变,那么自然就可以积攒的”方程式“来破解。既然如些,要破除这种破解的方法就是密钥定期/不定期的更新。只要密钥一变,所有以前积攒的方程式都完全∞失效,破解出来也没用(等你耗▆费很长时间破解了,这个工作密钥都已经失效了)。
那么╲就有另外一个问题了,通过频繁的截取签到请求是否可以直接破解到硬件的密钥呢?答案是不行的,为什么呢?还是和上边一样的分析方法。F(工作密钥,密钥)=密文。这个时候的真实的工作密钥和密钥变量的。相当于整个函数对于拦截者,无从下手(除非是来硬的暴力破解POS硬件设备)。