一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于非对称与对称加密的数据安全接口及其工作方法与流程

2022-03-05 10:35:45 来源:中国专利 TAG:


1.本发明涉及应用软件系统开发技术领域,关注在应用软件开发过程中数据安全的设计,尤其涉及一种基于非对称与对称加密的数据安全接口及其工作方法。


背景技术:

2.伴随互联网的快速发展鸡应用系统的微服务化,服务间的调用和各系统之间通讯越来越频繁,为外部系统提供服务的应用数量也在迅速增长,同时,当前互联网领域对信息安全也越来越重视,对数据安全要求越来越高。数据传输的安全性问题小则影响公司业务大则影响社会利益。现有技术使用过多种方法来保障数据的安全传输,比如经常被使用https证书方案,但其存在如下问题:
3.1、https证书需要收费,增加企业成本,专业证书更是收费昂贵。
4.2、https存在较多的漏洞,典型的如中间人攻击,可使用数据泄露造成公司损失。
5.因此如何有效的保障数据传输的安全问题成为一个重要课题。


技术实现要素:

6.为了解决现有技术存在的缺陷和不足的问题,本发明提出一种基于非对称与对称加密的数据安全接口及其工作方法。基于高强度的非对称加密算法和对称加密算,保障数据的传输安全以及数据传输过程中不被篡改的完整性问题。
7.进一步可以根据实际使用场景自定义数据传输的安全级别,因此可以使开发者可以专注于业务而无需过多关注数据安全,提升开发效率。
8.本发明具体包括以下内容:
9.一种基于非对称与对称加密的数据安全接口,其特征在于:设置于客户端与服务端之间,作为服务端的接口;在与所述客户端进行数据交互时,载体是经rsa加密和签名后的数据;所述服务端在进行数据处理前,对数据进行rsa签验和解密,在数据处理后,对数据进行rsa加密和签名。
10.进一步地,客户端分配有一个服务端rsa公钥,一个客户端rsa私钥;服务端分配有一个服务端rsa私钥,一个客户端rsa公钥;
11.在客户端,发送数据时采用服务端rsa公钥加密,采用客户端rsa私钥在加密后进行签名;接受数据时,采用服务端rsa公钥进行签验,采用客户端rsa私钥在签验后进行解密;
12.在服务端,接受数据时,采用客户端rsa公钥进行签验,采用服务端rsa私钥在签验后进行解密;发送数据时采用客户端rsa公钥加密,采用服务端rsa私钥在加密后进行签名。
13.进一步地,所述签名和签验的算法采用:rsa、md5和sha1当中的一种。
14.进一步地,将该数据安全接口作为签到接口,用于生成并交换业务接口使用的对程加密密钥。
15.其工作方法包括以下步骤:
16.步骤a1:客户端生成一个8位随机数;
17.步骤a2:客户端使用分配的服务端rsa公钥对生成的随机数进行加密,得到一个随机数加密字符串requestdata;
18.步骤a3:客户端对加密后的请求参数进行签名;
19.步骤a4:客户端携带加密后的请求参数请求服务端接口安全框架的签到接口;
20.步骤a5:服务端签到接口接收到请求数据时,对业务参数进行验签;
21.步骤a6:服务端使用rsa服务端私钥进行解密,获取客户端的8位随机数;
22.步骤a7:服务端生成8位随机数、session,保存客户端8位随机数、服务端8位随机数、sesson入库;
23.步骤a8:服务端使用客户端rsa公钥对服务端生成的8位随机数进行加密;
24.步骤a9:服务端使用rsa客户端私钥对响应responsedata参数进行签名;响应参数包含:服务端的8位随机数、session;
25.步骤a10:服务端响应参数给客户端;
26.步骤a11:客户端使用rsa服务端公钥对响应参数进行验签;
27.步骤a12:客户端使用rsa客户端私钥进行解密,获得服务端的8位随机数
28.步骤a13:客户端保存客户端的8位随机数、服务端的8位随机数、session,用于业务接口请求。
29.进一步地,将该数据安全接口作为业务接口,即具体业务的请求接口。
30.其工作方法包括以下步骤:
31.步骤b1:客户端组装json格式业务参数;
32.步骤b2:客户端使用16位随机数,包括:客户端8位 服务端8位,对业务参数进行aes对称加密;
33.步骤b3:客户端对加密后的请求参数进行签名;
34.步骤b4:客户端携带加密后的请求参数,请求服务端接口安全框架的业务接口;
35.步骤b5:服务端业务接口接收到请求数据时,经过拦截器,对业务参数进行验签;
36.步骤b6:使用16位随机数,包括:客户端8位 服务端8位,对业务参数进行aes对称解密;
37.步骤b7:服务端获取业务参数后进行业务处理;
38.步骤b8:服务端使用客户端rsa公钥对响应的业务参数进行加密;
39.步骤b9:服务端使用rsa客户端私钥对响应responsedata参数进行签名;
40.步骤b10:服务端响应参数给客户端;
41.步骤b11:客户端使用rsa服务端公钥对响应参数进行验签;
42.步骤b12:客户端使用16位随机数,包括:客户端8位 服务端8位,对业务参数进行aes对称解密;
43.步骤b13:客户端获取响应业务参数后进行业务处理。
44.以及,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的基于非对称与对称加密的数据安全接口的工作方法的步骤。
45.以及,一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该
计算机程序被处理器执行时实现如上所述的基于非对称与对称加密的数据安全接口的工作方法的步骤。
46.本发明及其优选方案基于高强度的非对称加密算法和对称加密算,保障数据的传输安全以及数据传输过程中不被篡改的完整性问题。
47.进一步可以根据实际使用场景自定义数据传输的安全级别,因此可以使开发者可以专注于业务而无需过多关注数据安全,提升开发效率。
48.在应用软件数据安全传输场景中,主要体现了如下优点:
49.1、数据加密安全:嵌入了公认的高级对称加密算法和非对加密算法对数据进行加密,密码算法难以破解。
50.2、加密算法选择灵活:加密算法和签名算法可根据实际参数进行更换,可更新为更强的或专有的加密算法。
51.3、传输安全等级灵活:可根据实际使用场景,选择不对参数进行加密、对参数进行简单加密、对参数进行高强度加密。
附图说明
52.下面结合附图和具体实施方式对本发明进一步详细的说明:
53.图1为本发明实施例作为签到接口的工作流程示意图;
54.图2为本发明实施例作为业务接口的工作流程示例图。
具体实施方式
55.为让本专利的特征和优点能更明显易懂,下文特举实施例,并配合附图,作详细说明如下:
56.名词释义:
57.rsa:非对称加密算法,需要两个密钥来进行加密和解密,公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥),公钥加密的信息只有私钥才能解开,私钥加密的信息只有公钥才能解开。
58.rsa私钥:公开密钥,非对称加密算法中公开的密钥,可被公开获取。
59.rsa私钥:私有密钥,非对称加密算法中私有的密钥,不能泄露。
60.aes:对称加密算法,aes(the advanced encryption standard)是美国国家标准与技术研究所用于加密电子数据的规范。aes是一个新的可以用于保护电子数据的加密算法。aes是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations)和替换(substitutions)输入数据。
61.本实施例提供的基于非对称与对称加密的数据安全接口的方案作为客户接入端和服务器端的安全框架,包含两种接口设计:
62.1)签到接口,生成并交换业务接口使用的对程加密密钥;
63.2)业务接口,具体业务的请求接口。
64.如图1所示,本实施例中,签到接口设计方法实现细节详述如下:
65.1.客户端分配一个服务端rsa公钥,一个客户端rsa私钥。
66.2.服务端分配一个服务端rsa私钥,一个客户端rsa公钥。
67.3.客户端生成一个8位随机数。
68.4.客户端使用分配的服务端rsa公钥对生成的随机数进行加密,得到一个随机数加密字符串requestdata。
69.5.客户端对加密后的请求参数进行签名,签名方法可选为:
70.1)rsa签名:使用客户端rsa私钥对加密业务参数签名。
71.2)md5签名:使用md5摘要算法对加密业务参数签名。
72.3)sha1签名:使用sha1摘要算法对加密业务参数签名。
73.6.客户端携带加密后的请求参数去请求服务端接口安全框架的签到接口。
74.请求参数如下:
[0075][0076][0077]
7.服务端签到接口接收到请求数据时,对业务参数进行验签,根据签名方法不同使用不同的验签方法:
[0078]
1)rsa签名:使用客户端rsa公钥对加密业务参数验签。
[0079]
2)md5签名:使用md5摘要算法对加密业务参数验签。
[0080]
3)sha1签名:使用sha1摘要算法对加密业务参数验签。
[0081]
8.服务端使用rsa服务端私钥进行解密,获取客户端的8位随机数。
[0082]
9.服务端生成8位随机数、session,保存客户端8位随机数、服务端8位随机数、sesson入库。
[0083]
10.服务端使用客户端rsa公钥对服务端生成的8位随机数进行加密。
[0084]
11.服务端使用rsa客户端私钥对响应responsedata参数进行签名,响应参数包含:服务端的8位随机数、session。
[0085]
12.服务端响应参数给客户端,响应参数格式如下:
[0086][0087]
13.客户端使用rsa服务端公钥对响应参数进行验签,根据签名方法不同使用不同的验签方法:
[0088]
1)rsa签名:使用客户端rsa公钥对加密业务参数验签。
[0089]
2)md5签名:使用md5摘要算法对加密业务参数验签。
[0090]
3)sha1签名:使用sha1摘要算法对加密业务参数验签。
[0091]
14.客户端使用rsa客户端私钥进行解密,获得服务端的8位随机数。
[0092]
15.客户端保存客户端的8位随机数、服务端的8位随机数、session,用于业务接口请求。
[0093]
如图2所示,本实施例提供的业务接口设计方案实现细节详述如下:
[0094]
1.客户端分配一个服务端rsa公钥,一个客户端rsa私钥。
[0095]
2.服务端分配一个服务端rsa私钥,一个客户端rsa公钥。
[0096]
3.客户端组装json格式业务参数
[0097]
4.客户端使用16位随机数(客户端8位 服务端8位)对业务参数进行aes对称加密
[0098]
5.客户端对加密后的请求参数进行签名,签名方法可选为:
[0099]
1)rsa签名:使用客户端rsa私钥对加密业务参数签名。
[0100]
2)md5签名:使用md5摘要算法对加密业务参数签名。
[0101]
3)sha1签名:使用sha1摘要算法对加密业务参数签名。
[0102]
6.客户端携带加密后的请求参数去请求服务端接口安全框架的业务接口。
[0103]
请求参数如下:
[0104][0105][0106]
7.服务端业务接口接收到请求数据时,经过拦截器,对业务参数进行验签,根据签名方法不同使用不同的验签方法:
[0107]
1)rsa签名:使用客户端rsa公钥对加密业务参数验签。
[0108]
2)md5签名:使用md5摘要算法对加密业务参数验签。
[0109]
3)sha1签名:使用sha1摘要算法对加密业务参数验签。
[0110]
8.使用16位随机数(客户端8位 服务端8位)对业务参数进行aes对称解密。
[0111]
9.服务端获取业务参数后进行业务处理。
[0112]
10.服务端使用客户端rsa公钥对响应的业务参数进行加密。
[0113]
11.服务端使用rsa客户端私钥对响应responsedata参数进行签名,响应参数包含:业务参数。
[0114]
12.服务端响应参数给客户端,响应参数格式如下:
[0115][0116]
13.客户端使用rsa服务端公钥对响应参数进行验签,根据签名方法不同使用不同的验签方法:
[0117]
1)rsa签名:使用客户端rsa公钥对加密业务参数验签。
[0118]
2)md5签名:使用md5摘要算法对加密业务参数验签。
[0119]
3)sha1签名:使用sha1摘要算法对加密业务参数验签。
[0120]
14.客户端使用16位随机数(客户端8位 服务端8位)对业务参数进行aes对称解密。
[0121]
15.客户端获取响应业务参数后进行业务处理。
[0122]
本实施例提供的以上方案可以代码化的形式存储在计算机可读取存储介质中,并以计算机程序的方式进行实现,并通过计算机硬件输入计算所需的基本参数信息,并输出计算结果。
[0123]
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0124]
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程、以及流程图中的流程结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
[0125]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程图中指定的功能。
[0126]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程中指定的功能的步骤。
[0127]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
[0128]
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于非对称与对称加密的数据安全接口及其工作方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献