一种信息系统间以Restful方式安全传输数据的方法技术方案

技术编号:37152808 阅读:12 留言:0更新日期:2023-04-06 22:10
本发明专利技术涉及一种信息系统间以Restful方式安全传输数据的方法,直接在JSON中嵌入安全信息,并对需要保密的数据进行加密,JSON到达目标节点后,由服务提供者直接验证这些安全信息的真伪并解密相关数据。本发明专利技术的优点是:基于JWS的签名算法对消息进行数字签名,保证消息在经过中间节点时不被篡改,服务提供者也可以通过签名确认消息由合法的服务请求者产生;通过基于JWE的加密算法对消息进行加密,保证消息在经过不安全的中间节点时,即使被监听,监听者也无法提取出有效信息;消息在进行加密、签名前后均为JSON格式,在接收方使用全局过滤器对消息进行验签、解密,应用层收到的是经过验签和解密后的JSON格式数据,验签和解密过程对业务层是无侵入的。对业务层是无侵入的。

【技术实现步骤摘要】
一种信息系统间以Restful方式安全传输数据的方法


[0001]本专利技术涉及一种信息系统间以Restful方式安全传输数据的方法。

技术介绍

[0002]基于JSON(JavaScript Object Notation)的Restful(Representational State Transfer,表示性状态转移)是被广泛用于信息系统间通讯的Web服务方案。Restful较为简单、轻量、易于理解、学习成本低,但在安全传输方面,Restful主要依赖于传输层安全协议如SSL、TLS等,只能提供点到点(peer

to

peer)的安全性。Restful消息在经过中间节点时,消息内容对中间节点可见,存在安全漏洞。
[0003]目前针对基于XML(Extensible Markup Language)格式的SOAP(Simple Object Access Protocol)协议,已经有较为成熟的WS

Security标准处理。WS

Security标准包含签名、验签、加密、解密等一系列标准。WS

Security由多个子标准组成,整体较为复杂。
[0004]针对JSON格式的网络通讯,2015年5月IETF(The Internet Engineering Task Force,国际互联网工程任务组)发布了用于签名验签的JWS(JSON Web Signature)标准(RFC7515),和用于加密解密的JWE(JSON Web Encryption)标准(RFC7516),目前RFC7515和RFC7516均处于草案阶段。

技术实现思路

[0005]为克服现有技术的不足,本专利技术的目的是提供一种信息系统间以Restful方式安全传输数据的方法,该方法不再依赖传输层安全机制,以基于标准HTTP协议的Restful方式安全传输数据的方法,原始数据通过配置的JWE(JSON Web Encryption)和JWS(JSON Web Signature)标准进行加密和签名,基于JSON格式实现应用系统间安全通讯。
[0006]为实现上述目的,本专利技术通过以下技术方案实现:
[0007]一种信息系统间以Restful方式安全传输数据的方法,直接在JSON中嵌入安全信息,并对需要保密的数据进行加密,JSON到达目标节点后,由服务提供者直接验证这些安全信息的真伪并解密相关数据,所述的方法包括以下步骤:
[0008]S1、基于JWE标准,采用接收方公钥对JSON格式报文以JWE JSON序列化格式进行加密;
[0009]S2、对生成的JSON字符串进行转义;
[0010]S3、将转义后的字符串以JWS JSON格式进行签名。
[0011]步骤S1中的加密方法包括以下步骤:
[0012]S10、采用基于非对称算法的RSA_OAEP的密钥管理模式计算内容加密密钥;
[0013]S11、将内容加密密钥采用Base64Url方式进行编码;
[0014]S12、生成随机加密初始化向量,并采用Base64Url方式进行编码;
[0015]S13、将密钥管理模式和内容加密算法以JSON格式表示;
[0016]S14、将步骤S13生成的JSON用Base64Url方式进行编码;
[0017]S15、将步骤S14生成的字符串用ASIIC方式进行编码;
[0018]S16、采用步骤S11、S12、S15的结果,采用A128GCM算法进行加密,加密结果会产生密文和认证标签两个值。
[0019]步骤S2中的转义方法为在每一个双引号前增加反斜杠。
[0020]步骤S3中,签名方法包括以下步骤:
[0021]S30、将签名算法用JSON格式表示;
[0022]S31、将步骤S30结果用Base64Url方式进行编码;
[0023]S32、将步骤S31的字符串用Base64Url方式进行编码;
[0024]S33、将步骤S31、S32的结果用“.”号连接,并用ASIIC方式进行编码;
[0025]S34、将步骤S33的结果用RS256算法进行签名;
[0026]S35、对步骤S34的结果用Base64Url方式进行编码。
[0027]步骤S16中,密文采用Base64Url方式进行编码,认证标签采用Base64Url方式进行编码。
[0028]与现有技术相比,本专利技术的有益效果是:
[0029]1.通过基于JWS的签名算法对消息进行数字签名,保证消息在经过中间节点时不被篡改,服务提供者也可以通过签名确认消息由合法的服务请求者产生;
[0030]2.通过基于JWE的加密算法对消息进行加密,保证消息在经过不安全的中间节点时,即使被监听,监听者也无法提取出有效信息;
[0031]3.消息在进行加密、签名前后均为JSON格式,在接收方可对消息进行验签、解密,应用层收到的是经过验签和解密后的JSON格式数据,因此,验签和解密过程对业务层是无侵入的,降低了开发成本。
具体实施方式
[0032]下面对本专利技术进行详细地描述,但是应该指出本专利技术的实施不限于以下的实施方式。
[0033]一种信息系统间以Restful方式安全传输数据的方法,直接在JSON中嵌入安全信息,并对需要保密的数据进行加密,JSON到达目标节点后,由服务提供者直接验证这些安全信息的真伪并解密相关数据;一个密钥对包括一个公钥和一个私钥,完成下述步骤需要两个密钥对,即发送方的公钥和私钥,以及接收方的私钥和公钥,私钥只能保留在自己手上,公钥可以给对方,方法包括以下步骤:
[0034]S1、基于JWE标准,采用接收方公钥对JSON格式报文以JWE JSON序列化格式进行加密;
[0035]S2、对生成的JSON字符串进行转义;
[0036]S3、将转义后的字符串以JWS JSON格式进行签名。
[0037]步骤S1中的加密方法包括以下步骤:
[0038]S10、采用基于非对称算法的RSA_OAEP的密钥管理模式计算内容加密密钥(CEK);
[0039]S11、将内容加密密钥(CEK)采用Base64Url方式进行编码;
[0040]S12、生成随机加密初始化向量(iv),并采用Base64Url方式进行编码;
[0041]S13、将密钥管理模式和内容加密算法以JSON格式表示,
[0042]也就是:{"alg":"RSA

OAEP","enc":"A128GCM"}
[0043]S14、将步骤S13生成的JSON用Base64Url方式进行编码;
[0044]S15、将步骤S14生成的字符串用ASIIC方式进行编码;
[0045]S16、采用步骤S11、S12、S15的结果,采用A1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种信息系统间以Restful方式安全传输数据的方法,其特征在于,直接在JSON中嵌入安全信息,并对需要保密的数据进行加密,JSON到达目标节点后,由服务提供者直接验证这些安全信息的真伪并解密相关数据,所述的方法包括以下步骤:S1、基于JWE标准,采用接收方公钥对JSON格式报文以JWE JSON序列化格式进行加密;S2、对生成的JSON字符串进行转义;S3、将转义后的字符串以JWS JSON格式进行签名。2.根据权利要求1所述的一种信息系统间以Restful方式安全传输数据的方法,其特征在于,所述的步骤S1中的加密方法包括以下步骤:S10、采用基于非对称算法的RSA_OAEP的密钥管理模式计算内容加密密钥;S11、将内容加密密钥采用Base64Url方式进行编码;S12、生成随机加密初始化向量,并采用Base64Url方式进行编码;S13、将密钥管理模式和内容加密算法以JSON格式表示;S14、将步骤S13生成的JSON用Base64Url方式进行编码;S15、将步骤S14生成的字符串用ASIIC方式进行编码;S16、采...

【专利技术属性】
技术研发人员:王里程刘凯熊鑫
申请(专利权)人:鞍钢集团信息产业有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1