提升面向互联网开放的软件接口安全性的方法与流程

文档序号:11180649阅读:782来源:国知局
提升面向互联网开放的软件接口安全性的方法与流程

本发明涉及数据通信领域的加解密技术,具体涉及一种提升面向互联网开放的软件接口安全性的方法。



背景技术:

随着互联网的发展,对于面向互联网开放的接口来说,保障数据传输的安全性是很重要的,特别是对于银企直连通道服务面向企业财务系统,应用管理系统等对企业资金账户有支付交易、账务查询需求的应用类系统,涉及到系统间数据的交互,尤其是对企业资金账户信息的交互,安全性更加重要。

目前现有方案主要是采用购买第三方数字安全证书的方式来提升安全性,该方式会产生长期的费用,且加解密方式不由开发方控制,完全交由数字证书的发售方保障,如果第三方安全方案泄密会危及采用该系统的安全。



技术实现要素:

本发明所要解决的技术问题是:提出一种提升面向互联网开放的软件接口安全性的方法,解决传统技术中采用购买第三方数字安全证书的方式带来的安全性不高的问题。

本发明解决其技术问题所采用的技术方案是:

提升面向互联网开放的软件接口安全性的方法,包括:客户端和服务端各自生成自身的rsa密钥对,并互换密钥对中的公钥进行保存;在服务端与客户端的交互过程中采用双向加密,即客户端在向服务端发送请求报文时对请求报文进行加密,服务端在向客户端发送响应报文时对响应报文进行加密;以客户端或者服务端作为发送方,相对应的另一方作为接收方,加密步骤包括:

a.发送方生成aes密钥;

b.发送方采用自身的rsa私钥对明文数据进行数字签名;

c.发送方采用aes密钥对签名后的数据进行加密获得密文1;

d.发送方采用接收方的rsa公钥对aes密钥进行加密获得密文2;

e.发送方将步骤c和d中获得的密文1和密文2发送给接收方;

解密步骤包括:

f.接收方采用自身的rsa公钥对密文2进行解密,获得发送方的aes密钥;

g.接收方采用获得的发送方的aes密钥对密文1进行解密;

h.接收方对步骤g解密后获得的数据进行数字签名验证,如果验证通过,则对数据进行处理,如果验证失败,则丢弃该数据并向接收方返回失败消息。

作为进一步优化,步骤h中,所述进行数字签名验证包括:

对步骤g解密后获得的数据进行hash运算获得hash值1,并利用发送方的rsa公钥进行hash运算获得hash值2,将hash1与hash2进行比较,判断是否相同,如果相同,则验证通过,如果不同,则验证失败。

作为进一步优化,客户端和服务端中生成的rsa密钥对中的公钥和私钥均被分片并采用加密算法存储至各自对应的数据库中,交换的rsa公钥也被分片并采用加密算法存储至对方的数据库中,在业务处理时,首先对分片进行解密并组合成相应的密钥。

本发明的有益效果是:

在标准化https协议通讯的基础上,采用自研发的服务器端和客户端两组非对称性密钥,再配合对称性密钥,对接口交互报文实现双层加解密,增加了安全性;且在服务器端与客户端的交互过程采用双向加密,即:客户端发送给服务器端的报文经过加密处理,同时客户端接收到的服务器端反馈报文经过加密处理,也增加了数据传输安全性。

附图说明

图1为本发明实施例中的提升面向互联网开放的软件接口安全性方法流程图。

具体实施方式

本发明旨在提出一种提升面向互联网开放的软件接口安全性的方法,解决传统技术中采用购买第三方数字安全证书的方式带来的安全性不高的问题。

下面结合附图及实施例对本发明的方案作进一步的描述:

实施例:

提升面向互联网开放的软件接口安全性的方法,包括:客户端和服务端各自生成自身的rsa密钥对,并互换密钥对中的公钥进行保存;在服务端与客户端的交互过程中采用双向加密,即客户端在向服务端发送请求报文时对请求报文进行加密,服务端在向客户端发送响应报文时对响应报文进行加密;

本实施例以客户端作为报文发送方,以服务端作为报文接收方,对加解密流程进行说明。

如图1所示,其包括以下实现步骤:

客户端的加密步骤包括:

1、客户端生成aes密钥;

2、客户端采用自身的rsa私钥对明文数据进行数字签名;

3、客户端采用aes密钥对签名后的数据进行加密获得密文1;

4、客户端采用服务端的rsa公钥对aes密钥进行加密获得密文2;

5、客户端将步骤c和d中获得的密文1和密文2发送给服务端;

解密步骤包括:

6、服务端接收密文1和密文2;

7、服务端采用自身的rsa公钥对密文2进行解密,获得客户端的aes密钥;

8、服务端采用获得的客户端的aes密钥对密文1进行解密;

9、服务端对步骤8解密后获得的数据进行数字签名验证,如果验证通过,则对数据进行处理,如果验证失败,则丢弃该数据并向接收方返回失败消息。

在具体实现上,步骤9中,所述进行数字签名验证包括:

对步骤8解密后获得的数据进行hash运算获得hash值1,并利用客户端的rsa公钥进行hash运算获得hash值2,将hash1与hash2进行比较,判断是否相同,如果相同,则验证通过,如果不同,则验证失败。

为了进一步提升数据的安全性,客户端和服务端中生成的rsa密钥对中的公钥和私钥均被分片并采用加密算法存储至各自对应的数据库中,交换的rsa公钥也被分片并采用加密算法存储至对方的数据库中,在业务处理时,首先对分片进行解密并组合成相应的密钥。如此,密钥就不容易被黑客破解,从而大大提升安全性。



技术特征:

技术总结
本发明涉及数据通信领域的加解密技术,其公开了一种提升面向互联网开放的软件接口安全性的方法,解决传统技术中采用购买第三方数字安全证书的方式带来的安全性不高的问题。该方法包括:a.发送方生成AES密钥;b.发送方采用自身的RSA私钥对明文数据进行数字签名;c.发送方采用AES密钥对签名后的数据进行加密获得密文1;d.发送方采用接收方的RSA公钥对AES密钥进行加密获得密文2;e.发送方将步骤c和d中获得的密文1和密文2发送给接收方;f.接收方采用自身的RSA公钥对密文2进行解密,获得发送方的AES密钥;g.接收方采用获得的发送方的AES密钥对密文1进行解密。h.接收方对步骤g解密后获得的数据进行数字签名验证。

技术研发人员:徐庭锐;祝阳;曾鹏
受保护的技术使用者:四川长虹电器股份有限公司
技术研发日:2017.06.22
技术公布日:2017.10.03
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1