银联双向认证原理

来源:互联网 发布:java集成开发工具 编辑:程序博客网 时间:2024/05/01 22:09

双向认证,简而言之,就是双方互相证明身份,证明彼此是自己人,然后互相放心传输敏感数据。


下面介绍一下银联终端与服务端双向认证交互原理。

前提:双方约定好若干种算法类型、算法密钥,终端密钥存放在密码键盘芯片中,保证了储存的安全性。


1、客户端认证服务器:

1、客户端产生一个随机数Rnd1,并发送给服务器;
2、服务端接收Rnd1并加密,同时返回:算法类型、Rnd1密文、服务器产生的随机数Rnd2
3、客户端解密Rnd1密文,跟1的随机数比较,如果一致,说明服务器是合法的


2、服务器认证客户端:

1、客户端加密Rnd2成功后,向服务器发送:加密算法、Rnd2密文
2、服务端接收Rnd2并解密,和之前发送的Rnd2比较,一致则说明客户端是合法的,可以放心发敏感数据啦!
3、下发主密钥密文,客户端利用内置密钥,解密得到主密钥明文。

其他说明:
1、在此过程中,还可以带上其他参数,如密码键盘序列号、终端硬件设备号、终端号、商户号、密钥区编码、主密钥索引等加以印证。
2、双向认证过程中,所有步骤由客户端推动,服务器不会主动发起请求。


原创粉丝点击