本发明专利技术提供了支付安全技术领域的一种基于白盒密钥的双CPU通信方法,包括:S1、SP生成第一密钥因子,对第一密钥因子加密得到第一加密数据发AP;S2、AP解密第一加密数据得到第一密钥因子,生成第二密钥因子;S3、通用CPU基于第一密钥因子、第二密钥因子生成第一会话密钥并计算第一校验值,通过白盒密钥对第一校验值、第二密钥因子加密得到第二加密数据发SP;S4、SP解密第二加密数据得到第一校验值、第二密钥因子,基于第一密钥因子、第二密钥因子生成第二会话密钥并计算第二校验值,对第二校验值进行校验后发AP,以建立安全通信通道。本发明专利技术的优点在于:极大的提升了双CPU通信的安全性,进而极大的提升了支付安全性。
【技术实现步骤摘要】
本专利技术涉及支付安全,特别指一种基于白盒密钥的双cpu通信方法。
技术介绍
1、随着科技的发展与进步,各种类型的用于支付的pos终端层出不穷,pos终端的安全也受到越来越多的关注。为了满足多样化的业务场景和更高的性能要求,pos终端通常会采用双cpu的架构,包含通用cpu(简称ap)和安全cpu(简称sp)。为了完成交易,双cpu之间往往需要传递数据,传递的数据一般会包含敏感数据,仅简单使用双cpu架构,暴露的通讯总线存在被监听和篡改的安全问题,进而影响支付安全性。
2、因此,如何提供一种基于白盒密钥的双cpu通信方法,实现提升双cpu通信的安全性,进而提升支付安全性,成为一个亟待解决的技术问题。
技术实现思路
1、本专利技术要解决的技术问题,在于提供一种基于白盒密钥的双cpu通信方法,实现提升双cpu通信的安全性,进而提升支付安全性。
2、本专利技术是这样实现的:一种基于白盒密钥的双cpu通信方法,包括如下步骤:
3、步骤s1、创建一加密密钥,基于所述加密密钥以及加密算法创建一白盒密钥,将所述加密密钥预置进安全cpu,将所述白盒密钥预置进通用cpu;
4、步骤s2、安全cpu接收通用cpu发送的第一随机数,生成一第二随机数以及一第一密钥因子,通过所述加密密钥对第一密钥因子以及第一随机数进行加密得到第一加密数据,获取当前的第一时间戳,基于所述第一加密数据、第二随机数以及第一时间戳生成第一指令,将所述第一指令发送给通用cpu;
5、步骤s3、通用cpu对接收的所述第一指令进行校验后,解密所述第一加密数据得到第一密钥因子以及第一随机数,对所述第一随机数进行校验,生成一第二密钥因子;
6、步骤s4、通用cpu基于所述第一密钥因子、第二密钥因子生成第一会话密钥,计算所述第一会话密钥的第一校验值,通过所述白盒密钥对第一校验值、第二密钥因子以及第二随机数进行加密得到第二加密数据,获取当前的第二时间戳,基于所述第二加密数据以及第二时间戳生成第二指令,将所述第二指令发送给安全cpu;
7、步骤s5、安全cpu对接收的所述第二指令进行校验后,解密所述第二加密数据得到第一校验值、第二密钥因子以及第二随机数,对所述第二随机数进行校验;
8、步骤s6、安全cpu基于所述第一密钥因子、第二密钥因子生成第二会话密钥,计算所述第二会话密钥的第二校验值,对所述第二校验值进行校验后,获取当前的第三时间戳,基于所述第二校验值以及第三时间戳生成第三指令,将所述第三指令发送给通用cpu;
9、步骤s7、通用cpu基于所述第三指令,建立通用cpu与安全cpu之间的安全通信通道并进行通信。
10、进一步的,所述步骤s1中,所述加密密钥为对称密钥。
11、进一步的,所述步骤s2具体为:
12、通用cpu通过随机数生成器生成一第一随机数,将所述第一随机数实时发送给安全cpu;
13、安全cpu实时接收通用cpu发送的所述第一随机数,通过随机数生成器生成一第二随机数,并生成一第一密钥因子,通过所述加密密钥对第一密钥因子以及第一随机数进行加密得到第一加密数据,获取当前的第一时间戳,基于所述第一加密数据、第二随机数以及第一时间戳生成第一指令,将所述第一指令实时发送给通用cpu。
14、进一步的,所述步骤s3具体为:
15、通用cpu实时接收所述第一指令,解析所述第一指令得到第一加密数据、第二随机数以及第一时间戳,通过所述第一时间戳进行完整性校验后,通过所述白盒密钥解密第一加密数据得到第一密钥因子以及第一随机数,判断解密得到的所述第一随机数与本地的第一随机数是否一致,若否,则校验失败,并结束流程;若是,则校验成功,生成一第二密钥因子。
16、进一步的,所述步骤s4具体为:
17、通用cpu对所述第一密钥因子和第二密钥因子拼接后进行sha256计算得到第一哈希值,从所述第一哈希值中截取预设长度以协商得到第一会话密钥,计算所述第一会话密钥的第一校验值,通过所述白盒密钥对第一校验值、第二密钥因子以及第二随机数进行加密得到第二加密数据,获取当前的第二时间戳,基于所述第二加密数据以及第二时间戳生成第二指令,将所述第二指令实时发送给安全cpu。
18、进一步的,所述步骤s5具体为:
19、安全cpu实时接收所述第二指令,解析所述第二指令得到第二加密数据以及第二时间戳,通过所述第二时间戳进行完整性校验后,通过所述加密密钥解密第二加密数据得到第一校验值、第二密钥因子以及第二随机数,判断解密得到的所述第二随机数与本地的第二随机数是否一致,若否,则校验失败,并结束流程;若是,则校验成功。
20、进一步的,所述步骤s6具体为:
21、安全cpu对所述第一密钥因子和第二密钥因子拼接后进行sha256计算得到第二哈希值,从所述第二哈希值中截取预设长度以协商得到第二会话密钥,计算所述第二会话密钥的第二校验值,判断所述第二校验值与第一校验值是否一致,若否,则校验失败,并结束流程;若是,则校验成功,获取当前的第三时间戳,基于所述第二校验值以及第三时间戳生成第三指令,将所述第三指令实时发送给通用cpu。
22、进一步的,所述步骤s7具体为:
23、通用cpu实时接收所述第三指令,解析所述第三指令得到第二校验值以及第三时间戳,通过所述第三时间戳进行时效校验后,判断所述第一校验值与第二校验值是否一致,若否,则校验失败,并结束流程;若是,则校验成功,建立通用cpu与安全cpu之间的安全通信通道,通用cpu与安全cpu通过所述安全通信通道进行通信。
24、进一步的,所述步骤s7还包括:
25、通信过程中通过所述第一会话密钥以及第二会话密钥对通信数据进行加解密。
26、本专利技术的优点在于:
27、1、通过创建加密密钥、白盒密钥并分别预置进安全cpu、通用cpu;安全cpu接收通用cpu发送的第一随机数,生成第二随机数、第一密钥因子,通过加密密钥对第一密钥因子、第一随机数进行加密得到第一加密数据,基于第一加密数据、第二随机数、第一时间戳生成第一指令发送给通用cpu;接着通用cpu对第一指令进行校验后,解密第一加密数据得到第一密钥因子以及第一随机数,对第一随机数进行校验,生成第二密钥因子,基于第一密钥因子、第二密钥因子生成第一会话密钥,计算第一会话密钥的第一校验值,通过白盒密钥对第一校验值、第二密钥因子、第二随机数进行加密得到第二加密数据,基于第二加密数据以及第二时间戳生成第二指令发送给安全cpu;接着安全cpu对第二指令进行校验后,解密第二加密数据得到第一校验值、第二密钥因子、第二随机数,对第二随机数进行校验,基于第一密钥因子、第二密钥因子生成第二会话密钥,计算第二会话密钥的第二校验值,对第二校验值进行校验后,基于第二校验值以及第三时间戳生成第三指令发送给通用cpu;最后通用cpu基于第三指令,建立通用本文档来自技高网
...
【技术保护点】
1.一种基于白盒密钥的双CPU通信方法,其特征在于:包括如下步骤:
2.如权利要求1所述的一种基于白盒密钥的双CPU通信方法,其特征在于:所述步骤S1中,所述加密密钥为对称密钥。
3.如权利要求1所述的一种基于白盒密钥的双CPU通信方法,其特征在于:所述步骤S2具体为:
4.如权利要求1所述的一种基于白盒密钥的双CPU通信方法,其特征在于:所述步骤S3具体为:
5.如权利要求1所述的一种基于白盒密钥的双CPU通信方法,其特征在于:所述步骤S4具体为:
6.如权利要求1所述的一种基于白盒密钥的双CPU通信方法,其特征在于:所述步骤S5具体为:
7.如权利要求1所述的一种基于白盒密钥的双CPU通信方法,其特征在于:所述步骤S6具体为:
8.如权利要求1所述的一种基于白盒密钥的双CPU通信方法,其特征在于:所述步骤S7具体为:
9.如权利要求1所述的一种基于白盒密钥的双CPU通信方法,其特征在于:所述步骤S7还包括:
【技术特征摘要】
1.一种基于白盒密钥的双cpu通信方法,其特征在于:包括如下步骤:
2.如权利要求1所述的一种基于白盒密钥的双cpu通信方法,其特征在于:所述步骤s1中,所述加密密钥为对称密钥。
3.如权利要求1所述的一种基于白盒密钥的双cpu通信方法,其特征在于:所述步骤s2具体为:
4.如权利要求1所述的一种基于白盒密钥的双cpu通信方法,其特征在于:所述步骤s3具体为:
5.如权利要求1所述的一种基于白盒密钥的双cpu...
【专利技术属性】
技术研发人员:林星海,谢纯珀,
申请(专利权)人:福建魔方电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。