一种数据传输的方法及装置与流程

文档序号:12490908阅读:159来源:国知局
一种数据传输的方法及装置与流程

本发明实施例涉及数据通信的技术领域,尤其涉及一种数据传输的方法及装置。



背景技术:

在互联网技术高速发展的今天,多个系统服务之间的调用也变得日益频繁。传统的系统间调用需要双方之间技术和版本保持一致,且一方版本升级,另一方就必须兼容新版本,但因多个系统之间相互调用所采用的技术、版本都不一致,导致各系统之间技术、版本的兼容越来越困难,数据在传输过程中安全很难得到保障,或为保障安全付出的成本比较昂贵。



技术实现要素:

本发明实施例的目的在于提出一种数据传输的方法及装置,旨在解决如何将系统间的依赖降到最低但又能实现互相调用交互且能保障数据的安全、不可抵赖的问题。

为达此目的,本发明实施例采用以下技术方案:

第一方面,一种数据传输的方法,所述方法包括:

第一终端组装业务明文数据,根据预设规则对所述业务明文数据进行加密并生成业务密文;

所述第一终端生成随机数,根据第二终端的公钥对所述随机数进行加密并生成密钥密文;

所述第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端。

优选地,所述根据预设规则对所述业务明文数据进行加密并生成业务密文,包括:

根据约定规则排序所述业务明文数据得到未加密的签名数据,用所述第一终端的私钥对所述未加密的签名数据进行预设第一算法加密,生成签名;将所述签名组装到所述业务明文数据中;

生成所述随机数,根据预设第二算法加密组装后的业务明文数据,并生成业务密文。

优选地,所述预设第一算法包括RSA算法;所述预设第二算法包括AES算法。

优选地,所述根据第二终端的公钥对所述随机数进行加密并生成密钥密文,包括:

根据所述第二终端的公钥和所述预设第一算法对所述第一终端的密钥明文进行加密,生成密钥密文。

优选地,所述第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端之后,还包括:

所述第二终端接收所述第一终端发送的所述业务密文和所述密钥密文;

所述第二终端根据所述第二终端的私钥解密所述密钥密文;

所述第二终端根据所述随机数和所述预设第二算法解密所述业务密文,并获取带签名的业务明文;

所述第二终端用所述第一终端的公钥对所述带签名的业务明文进行解密,并对比根据约定排序生成的业务明文签名;验签通过,则确定本次得到的业务数据正确。

第二方面,一种数据传输的装置,所述装置包括:

第一生成模块,用于组装业务明文数据,根据预设规则对所述业务明文数据进行加密并生成业务密文;

第二生成模块,用于生成随机数,根据第二终端的公钥对所述随机数进行加密并生成密钥密文;

传输模块,用于将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端。

优选地,所述第一生成模块,具体用于:

根据约定规则排序所述业务明文数据得到未加密的签名数据,用所述第一终端的私钥对所述未加密的签名数据进行预设第一算法加密,生成签名;将所述签名组装到所述业务明文数据中;

生成所述随机数,根据预设第二算法加密组装后的业务明文数据,并生成业务密文。

优选地,所述预设第一算法包括RSA算法;所述预设第二算法包括AES算法。

优选地,所述第二生成模块,具体用于:

根据所述第二终端的公钥和所述预设第一算法对所述第一终端的密钥明文进行加密,生成密钥密文。

优选地,所述装置还包括:

处理模块,用于在第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端之后,接收所述第一终端发送的所述业务密文和所述密钥密文;根据所述第二终端的私钥解密所述密钥密文;根据所述随机数和所述预设第二算法解密所述业务密文,并获取带签名的业务明文;用所述第一终端的公钥对所述带签名的业务明文进行解密,并对比根据约定排序生成的业务明文签名;验签通过,则确定本次得到的业务数据正确。

本发明实施例提供一种数据传输的方法及装置,第一终端组装业务明文数据,根据预设规则对所述业务明文数据进行加密并生成业务密文;所述第一终端生成随机数,根据第二终端的公钥对所述随机数进行加密并生成密钥密文;所述第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端。从而通信双方之间的技术种类、版本无依赖,只是一种约定;参数采用JSON格式,个数、类型可以灵活扩展,不限于特定的对象或类型;轻量级且开源的组件,降低了系统之间通信的成本,无需在双方之间拉专线、安装硬件;数据传输过程中比较安全可靠(RSA+AES),保障数据在传输过程中不被篡改和失窃,且不可抵赖,公私密钥随时更换,不影响业务流程;加密排序方式是双方约定的一种规则,灵活且独特。

附图说明

图1是本发明实施例提供一种数据传输的方法的流程示意图;

图2是本发明实施例提供的另一种数据传输的方法的流程示意图;

图3是本发明实施例提供的另一种数据传输的方法的流程示意图;

图4是本发明实施例提供的一种数据传输的装置的功能模块示意图。

具体实施方式

下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。

参考图1,图1是本发明实施例提供一种数据传输的方法的流程示意图。

如图1所示,所述数据传输的方法包括:

步骤101,第一终端组装业务明文数据,根据预设规则对所述业务明文数据进行加密并生成业务密文;

优选地,所述根据预设规则对所述业务明文数据进行加密并生成业务密文,包括:

根据约定规则排序所述业务明文数据得到未加密的签名数据,用所述第一终端的私钥对所述未加密的签名数据进行预设第一算法加密,生成签名;将所述签名组装到所述业务明文数据中;

生成所述随机数,根据预设第二算法加密组装后的业务明文数据,并生成业务密文。

其中,所述预设第一算法包括RSA算法;所述预设第二算法包括AES算法。

步骤102,所述第一终端生成随机数,根据第二终端的公钥对所述随机数进行加密并生成密钥密文;

优选地,所述根据第二终端的公钥对所述随机数进行加密并生成密钥密文,包括:

根据所述第二终端的公钥和所述预设第一算法对所述第一终端的密钥明文进行加密,生成密钥密文。

步骤103,所述第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端。

本发明实施例提供一种数据传输的方法,第一终端组装业务明文数据,根据预设规则对所述业务明文数据进行加密并生成业务密文;所述第一终端生成随机数,根据第二终端的公钥对所述随机数进行加密并生成密钥密文;所述第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端。从而通信双方之间的技术种类、版本无依赖,只是一种约定;参数采用JSON格式,个数、类型可以灵活扩展,不限于特定的对象或类型;轻量级且开源的组件,降低了系统之间通信的成本,无需在双方之间拉专线、安装硬件;数据传输过程中比较安全可靠(RSA+AES),保障数据在传输过程中不被篡改和失窃,且不可抵赖,公私密钥随时更换,不影响业务流程;加密排序方式是双方约定的一种规则,灵活且独特。

参考图2,图2是本发明实施例提供的另一种数据传输的方法的流程示意图。

如图2所示,所述数据传输的方法包括:

步骤201,第一终端组装业务明文数据,根据预设规则对所述业务明文数据进行加密并生成业务密文;

步骤202,所述第一终端生成随机数,根据第二终端的公钥对所述随机数进行加密并生成密钥密文;

步骤203,所述第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端;

步骤204,所述第二终端接收所述第一终端发送的所述业务密文和所述密钥密文;

步骤205,所述第二终端根据所述第二终端的私钥解密所述密钥密文;

步骤206,所述第二终端根据所述随机数和所述预设第二算法解密所述业务密文,并获取带签名的业务明文;

步骤207,所述第二终端用所述第一终端的公钥对所述带签名的业务明文进行解密,并对比根据约定排序生成的业务明文签名;验签通过,则确定本次得到的业务数据正确。

参考图3,图3是本发明实施例提供的另一种数据传输的方法的流程示意图。

通信双方A和B有如下约定:1.根据公开算法生成各自的公私密钥对,并互相报备公钥给对方;2.约定签名前明文数据的排序规则和编码字符集;3.数据格式为JSON标准格式。

通信加密、解密过程如图3所示,系统A加密发送数据给系统B接收解密,步骤如下:

步骤301,系统A:组装业务明文数据;按约定规则排序明文数据得到未加密的签名数据,用系统A私钥对未加密的签名数据进行RSA算法加密,生成签名;将生成的签名组装到业务数据中;生成16位数字、字母组成的随机数,作为约定AES算法加密的key进行加密,生成业务密文;将之前生成的16位数字、字母组成的随机数作为密钥明文;用系统B公钥对密钥明文进行RSA算法加密,生成密钥密文;系统A将业务密文和密钥密文通过互联网协议(http或https)传输给系统B;

步骤302,系统B:系统B接到系统A传输的业务密文和密钥密文;用系统B私钥解密收到的密钥密文;得到16位数字、字母组成的随机数;将得到的16位数字、字母组成的随机数作为key,用约定的AES算法解密业务密文;得到带签名的业务明文;用系统A公钥对签名进行解密,并对比约定排序生成的业务明文签名(验签);验签通过,说明本次得到的业务数据正确。

参考图4,图4是本发明实施例提供的一种数据传输的装置的功能模块示意图。

如图4所示,所述装置包括:

第一生成模块401,用于组装业务明文数据,根据预设规则对所述业务明文数据进行加密并生成业务密文;

第二生成模块402,用于生成随机数,根据第二终端的公钥对所述随机数进行加密并生成密钥密文;

传输模块403,用于将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端。

优选地,所述第一生成模块401,具体用于:

根据约定规则排序所述业务明文数据得到未加密的签名数据,用所述第一终端的私钥对所述未加密的签名数据进行预设第一算法加密,生成签名;将所述签名组装到所述业务明文数据中;

生成所述随机数,根据预设第二算法加密组装后的业务明文数据,并生成业务密文。

优选地,所述预设第一算法包括RSA算法;所述预设第二算法包括AES算法。

优选地,所述第二生成模块402,具体用于:

根据所述第二终端的公钥和所述预设第一算法对所述第一终端的密钥明文进行加密,生成密钥密文。

优选地,所述装置还包括:

处理模块,用于在第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端之后,接收所述第一终端发送的所述业务密文和所述密钥密文;根据所述第二终端的私钥解密所述密钥密文;根据所述随机数和所述预设第二算法解密所述业务密文,并获取带签名的业务明文;用所述第一终端的公钥对所述带签名的业务明文进行解密,并对比根据约定排序生成的业务明文签名;验签通过,则确定本次得到的业务数据正确。

本发明实施例提供一种数据传输的装置,第一终端组装业务明文数据,根据预设规则对所述业务明文数据进行加密并生成业务密文;所述第一终端生成随机数,根据第二终端的公钥对所述随机数进行加密并生成密钥密文;所述第一终端将所述业务密文和所述密钥密文通过互联网协议传输给所述第二终端。从而通信双方之间的技术种类、版本无依赖,只是一种约定;参数采用JSON格式,个数、类型可以灵活扩展,不限于特定的对象或类型;轻量级且开源的组件,降低了系统之间通信的成本,无需在双方之间拉专线、安装硬件;数据传输过程中比较安全可靠(RSA+AES),保障数据在传输过程中不被篡改和失窃,且不可抵赖,公私密钥随时更换,不影响业务流程;加密排序方式是双方约定的一种规则,灵活且独特。

以上结合具体实施例描述了本发明实施例的技术原理。这些描述只是为了解释本发明实施例的原理,而不能以任何方式解释为对本发明实施例保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明实施例的其它具体实施方式,这些方式都将落入本发明实施例的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1