终端、数据的传输方法和计算机可读存储介质与流程

文档序号:17922864发布日期:2019-06-15 00:13阅读:141来源:国知局
终端、数据的传输方法和计算机可读存储介质与流程

本发明涉及通信安全技术领域,尤其涉及一种终端、数据的传输方法和计算机可读存储介质。



背景技术:

在金融领域中,为了保护用户的私密信息,在进行通信时,需要对发送的数据进行加密。

目前,在进行通信时,仅对部分的敏感数据进行加密,例如,密码、身份证以及银行卡等。这样会使得其它未加密数据都可能被黑客获取得到,甚至模拟服务端来骗取客户端进行通信,数据的安全性低,导致存在用户的财产存在安全隐患。



技术实现要素:

本发明的主要目的在于提供一种终端、数据的传输方法和计算机可读存储介质,旨在解决数据的安全性低,导致存在用户的财产存在安全隐患的问题。

为实现上述目的,本发明提供的一种数据的传输方法,所述数据的传输方法包括以下步骤:

第一终端确定待发送的目标数据,并随机生成所述目标数据对应的密钥信息,其中,所述密钥信息包括随机密钥以及随机数;

根据所述密钥信息对所述目标数据进行加密以得到加密的目标数据,并根据所述密钥信息以及所述目标数据生成签名信息;

根据所述密钥信息、所述加密的目标数据以及所述签名信息生成目标加密数据,并将所述目标加密数据传输至第二终端。

在一实施例中,所述根据所述密钥信息对所述目标数据进行加密以得到加密的目标数据,并根据所述密钥信息以及所述目标数据生成签名信息的步骤包括:

获取预设字段,以根据所述预设字段以及所述目标数据生成待处理目标数据;

采用签名算法对所述第一随机密钥、所述随机数以及所述待处理目标数据进行计算,以生成签名信息;

采用第一随机密钥对所述待处理目标数据进行加密,以得到加密的目标数据。

在一实施例中,所述随机密钥还包括第二随机密钥,所述第二随机密钥包括第二随机私钥,所述根据所述密钥信息、所述加密的目标数据以及所述签名信息生成目标加密数据的步骤包括:

根据所述第二随机私钥对所述第一随机密钥以及所述随机数进行加密,以得到加密密钥信息;

对所述签名信息进行加密,以得到加密签名信息;

根据所述加密密钥信息、所述加密签名信息以及所述加密的目标数据生成所述目标加密数据。

在一实施例中,所述第二随机密钥还包括与所述第二随机私钥配对的第二随机公钥,所述随机生成所述目标数据对应的密钥信息的步骤之后,还包括:

将所述第二随机公钥发送至所述第二终端,其中,所述第一终端为服务器,所述第二终端为移动终端,或者,述第二终端为服务器,所述第一终端为移动终端,所述移动终端装载与所述服务器关联的应用程序。

为实现上述目的,本发明还提供一种数据的传输方法,所述数据的解密方法包括以下步骤:

第二终端接收第一终端发送的目标加密数据;

解密所述目标加密数据以得到第一随机密钥、随机数、签名信息以及待处理目标数据;

根据所述第一随密钥、所述随机数以及所述待处理目标数据对所述签名信息进行验证;

在验证成功后,根据所述待处理目标数据获取目标数据。

在一实施例中,所述根据所述第一随密钥、所述随机数以及所述待处理目标数据对所述签名信息进行验证的步骤包括:

根据所述第一随机密钥、所述随机数以及所述待处理目标数据生成验证签名信息;

判断所述验证签名信息是否与所述签名信息匹配,其中,在所述验证签名信息与所述签名信息匹配时,判定验证成功。

在一实施例中,所述解密所述目标加密数据以得到第一随机密钥、随机数、签名信息以及待处理目标数据的步骤包括:

解析所述目标加密数据以得到加密签名信息、加密密钥信息以及加密的目标数据;

对所述加密签名信息进行解密以得到签名信息,并采用第二随机公钥对所述加密密钥信息进行解密以得到第一随机密钥以及随机数;

采用所述第一随机密钥对所述加密的目标数据进行解密,以得到所述待处理目标数据。

为实现上述目的,本发明还提供一种终端,所述终端包括处理器、存储器和存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上所述的数据的传输方法的各个步骤。

在一实施例中,所述终端为服务器或者移动终端,所述移动终端装载有与所述服务器关联的应用程序。

为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有数据处理程序,所述数据处理程序被所述处理器执行时实现如上的数据处理方法的各个步骤。

本发明提供的终端、数据的传输方法和计算机可读存储介质,第一终端获取待发送的目标数据,并随机生成目标数据的密钥信息,以根据密钥信息对目标数据进行加密,且根据密钥信息以及目标数据生成签名信息,从而根据签名信息、加密的目标数据以及密钥信息生成目标加密数据,再将目标加密数据发送至第二终端;由于第一终端在发送数据时,均会采用随机密钥以及随机数会对数据进行加密,避免非法分子通过获取不加密的数据对客户端进行诈骗的情况出现,提高了数据的安全性,且保证了用户的财产安全,同时,第一终端采用随机密钥、目标数据以及随机数生成签名信息,使得第二终端需要对加密的数据进行签名验证,避免第二终端接收篡改的数据导致第二终端出现数据泄漏的情况,进一步提高了数据的安全性。

附图说明

图1为本发明实施例涉及的终端的硬件结构示意图;

图2为本发明数据的传输方法的一实施例的流程示意图;

图3为图2中步骤s20的细化流程示意图;

图4为图3中步骤s20的细化流程示意图;

图5为本发明数据的传输方法的另一实施例的流程示意图;

图6为图5中步骤s200的细化流程示意图;

图7为图5中步骤s300的细化流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:第一终端确定待发送的目标数据,并随机生成所述目标数据对应的密钥信息,其中,所述密钥信息包括随机密钥以及随机数;根据所述密钥信息对所述目标数据进行加密以得到加密的目标数据,并根据所述密钥信息以及所述目标数据生成签名信息;根据所述密钥信息、所述加密的目标数据以及所述签名信息生成目标加密数据,并将所述目标加密数据传输至第二终端。

由于第一终端在发送数据时,均会采用随机密钥以及随机数会对数据进行加密,避免非法分子通过获取不加密的数据对客户端进行诈骗的情况出现,提高了数据的安全性,且保证了用户的财产安全,同时,第一终端采用随机密钥、目标数据以及随机数生成签名信息,使得第二终端需要对加密的数据进行签名验证,避免第二终端接收篡改的数据导致第二终端出现数据泄漏的情况,进一步提高了数据的安全性。

作为一种实现方案,终端可以如图1所示。

本发明实施例方案涉及的是终端,终端可为移动终端或者服务器,移动终端装载与服务器关联的应用程序,终端包括:处理器101,例如cpu,存储器102,通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。

存储器102可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1所示,作为一种计算机可读存储介质的存储器102中可以包括数据处理程序;而处理器101可以用于调用存储器102中存储的数据处理程序,并执行以下操作:

第一终端确定待发送的目标数据,并随机生成所述目标数据对应的密钥信息,其中,所述密钥信息包括随机密钥以及随机数;

根据所述密钥信息对所述目标数据进行加密以得到加密的目标数据,并根据所述密钥信息以及所述目标数据生成签名信息;

根据所述密钥信息、所述加密的目标数据以及所述签名信息生成目标加密数据,并将所述目标加密数据传输至第二终端。

在一实施例中,处理器101可以用于调用存储器102中存储的数据处理程序,并执行以下操作:

获取预设字段,以根据所述预设字段以及所述目标数据生成待处理目标数据;

采用签名算法对所述第一随机密钥、所述随机数以及所述待处理目标数据进行计算,以生成签名信息;

采用第一随机密钥对所述待处理目标数据进行加密,以得到加密的目标数据。

在一实施例中,处理器101可以用于调用存储器102中存储的数据处理程序,并执行以下操作:

根据所述第二随机私钥对所述第一随机密钥以及所述随机数进行加密,以得到加密密钥信息;

对所述签名信息进行加密,以得到加密签名信息;

根据所述加密密钥信息、所述加密签名信息以及所述加密的目标数据生成所述目标加密数据。

在一实施例中,处理器101可以用于调用存储器102中存储的数据处理程序,并执行以下操作:

将所述第二随机公钥发送至所述第二终端,其中,所述第一终端为服务器,所述第二终端为移动终端,或者,述第二终端为服务器,所述第一终端为移动终端,所述移动终端装载与所述服务器关联的应用程序。

在一实施例中,处理器101可以用于调用存储器102中存储的数据处理程序,并执行以下操作:

第二终端接收第一终端发送的目标加密数据;

解密所述目标加密数据以得到第一随机密钥、随机数、签名信息以及待处理目标数据;

根据所述第一随密钥、所述随机数以及所述待处理目标数据对所述签名信息进行验证;

在验证成功后,根据所述待处理目标数据获取目标数据。

在一实施例中,处理器101可以用于调用存储器102中存储的数据处理程序,并执行以下操作:

根据所述第一随机密钥、所述随机数以及所述待处理目标数据生成验证签名信息;

判断所述验证签名信息是否与所述签名信息匹配,其中,在所述验证签名信息与所述签名信息匹配时,判定验证成功。

在一实施例中,处理器101可以用于调用存储器102中存储的数据处理程序,并执行以下操作:

解析所述目标加密数据以得到加密签名信息、加密密钥信息以及加密的目标数据;

对所述加密签名信息进行解密以得到签名信息,并采用第二随机公钥对所述加密密钥信息进行解密以得到第一随机密钥以及随机数;

采用所述第一随机密钥对所述加密的目标数据进行解密,以得到所述待处理目标数据。

本实施例根据上述方案,第一终端获取待发送的目标数据,并随机生成目标数据的密钥信息,以根据密钥信息对目标数据进行加密,且根据密钥信息以及目标数据生成签名信息,从而根据签名信息、加密的目标数据以及密钥信息生成目标加密数据,再将目标加密数据发送至第二终端;由于第一终端在发送数据时,均会采用随机密钥以及随机数会对数据进行加密,避免非法分子通过获取不加密的数据对客户端进行诈骗的情况出现,提高了数据的安全性,且保证了用户的财产安全,同时,第一终端采用随机密钥、目标数据以及随机数生成签名信息,使得第二终端需要对加密的数据进行签名验证,避免第二终端接收篡改的数据导致第二终端出现数据泄漏的情况,进一步提高了数据的安全性。

基于上述终端的硬件构架,提出本发明数据的传输方法的实施例。

参照图2,图2为本发明数据的传输方法的一实施例,所述数据的传输方法包括以下步骤:

步骤s10,第一终端确定待发送的目标数据,并随机生成所述目标数据对应的密钥信息,其中,所述密钥信息包括随机密钥以及随机数;

在本实施例中,执行主体为第一终端,第一终端为服务器或者移动终端,移动终端装载有与服务器关联的应用程序。

第一终端在需要向第二终端发送数据(待发送的目标数据)时,会随机生成密钥信息,密钥信息包括随机密钥以及随机数,随机密钥包括第一随机密钥以及第二随机密钥,第二随机密钥为对称密钥,也即第二随机密钥包括第二随机公钥以及第二随机私钥。

此外,第一终端与第二终端为服务器与客户端的关系,故在当第一终端生成第二随机公钥后,第一终端可以通过串口向第二终端传输第二随机公钥,而无需公布第二随机公钥。

需要说明的是,在第一终端为服务器时,且第一终端接收到通信请求时,需判断发送通信请求的终端是否为第二终端,也即判断第二终端是否装载与服务器关联的应用程序(app),若装载有与服务器关联的app,即可判定终端为第二终端,此时,第一终端可同意第二终端与第一终端进行通信。

步骤s20,根据所述密钥信息对所述目标数据进行加密以得到加密的目标数据,并根据所述密钥信息以及所述目标数据生成签名信息;

在第一终端生成密钥信息时,会根据密钥信息对目标数据进行加密,并根据密钥信息以及目标数据生成签名信息,具体的,参照图3,即步骤s20包括:

步骤s21,获取预设字段,以根据所述预设字段以及所述目标数据生成待处理目标数据;

步骤s22,采用签名算法对所述第一随机密钥、所述随机数以及所述待处理目标数据进行计算,以生成签名信息;

步骤s23,采用第一随机密钥对所述待处理目标数据进行加密,以得到加密的目标数据。

第一终端会将目标数据放置在data字段(预设字段)中得到目标data字段(待处理目标数据),并对目标data字段做base64的编码,再采用生成的第一随机密钥对编码后的目标data字段进行加密,从而得到加密的目标数据;第一终端会将生成的第一随机密钥放在key字段中得到目标key字段,生成的随机数放在salt字段中得到目标salt字段,然后采用预设的算法(签名算法)对目标key字段、目标salt字段以及目标date字段进行计算,从而生成sign字段,sign字段即为签名信息。

步骤s30,根据所述密钥信息、所述加密的目标数据以及所述签名信息生成目标加密数据,并将所述目标加密数据传输至第二终端。

在第一终端得到签名信息后,即可根据签名信息、加密的目标数据以及密钥信息生成目标加密数据,具体的,参照图4,即步骤s30包括:

步骤s31,根据所述第二随机私钥对所述第一随机密钥以及所述随机数进行加密,以得到加密密钥信息;

第一终端对目标key字段以及目标salt字段进行base64的编码,在采用第二随机私钥对编码后的目标key字段以及目标salt字段进行加密信息,从而得到加密密钥信息。

步骤s32,对所述签名信息进行加密,以得到加密签名信息;

第二终端对sign字段进行base64编码,在对编码后的sign字段进行加密,从而得到加密的sign字段,也即加密签名信息

步骤s33,根据所述加密密钥信息、所述加密签名信息以及所述加密的目标数据生成所述目标加密数据。

在第一终端得到加密签名信息以及加密密钥信息后,即可对加密签名信息、加密密钥信息以及加密的目标数据进行打包,从而生成目标加密数据,再将目标加密数据发送至第二终端。

在当第一终端为移动终端时,第二终端即为服务器;若第一终端为服务器,那么第二终端则为移动终端,也即第一终端与第二终端为服务端与客户端的关系。

需要说明的,在本发明中,第一终端采用第一加密算法对第一随机密钥与随机数进行加密、采用第二加密算法对待处理目标数据进行加密,以及采用第三加密算法对签名信息进行加密,第一、第二以及第三加密算法可相同,可不同,且均采用加密算法的私钥进行加密,并且将对应的公钥公布。

在当第二终端接收到目标加密数据后,解析目标加密数据得到加密签名信息、加密密钥信息以及加密的目标数据;第二终端首先通过第三加密算法对应的公钥对加密签名信息进行解密,得到签名信息;再通过第一加密算法对应的公钥对加密密钥信息进行解密得到第一随机密钥以及随机数,且采用第一随机密钥对加密的目标数据进行解密得到待处理目标数据,然后采用签名算法对第一随机密钥、随机数以及待处理目标数据生成验证签名信息;第二终端再判断验证签名信息是否与解密得到的签名信息是否一致;若是一致,第二终端从待处理目标数据中提取目标数据;若不一致,第二终端则判定第一终端传输的目标数据已被篡改,此时,第二终端向第一终端发送提示信息,使得第一终端得知数据被窃取,从而及时采取措施以数据的安全隐患。

在本发明中,手机app与服务端的整个通信过程中,所有的数据都被加密传输,而且只有通过手机app发起的通信请求才被服务端接受并处理,可防止被攻击。最大化保障了使用我们app的客户的数据隐私安全。

在本实施例提供的技术方案中,第一终端获取待发送的目标数据,并随机生成目标数据的密钥信息,以根据密钥信息对目标数据进行加密,且根据密钥信息以及目标数据生成签名信息,从而根据签名信息、加密的目标数据以及密钥信息生成目标加密数据,再将目标加密数据发送至第二终端;由于第一终端在发送数据时,均会采用随机密钥以及随机数会对数据进行加密,避免非法分子通过获取不加密的数据对客户端进行诈骗的情况出现,提高了数据的安全性,且保证了用户的财产安全,同时,第一终端采用随机密钥、目标数据以及随机数生成签名信息,使得第二终端需要对加密的数据进行签名验证,避免第二终端接收篡改的数据导致第二终端出现数据泄漏的情况,进一步提高了数据的安全性。

参照图5,图5为本发明数据的传输方法的另一实施例,所述数据的传输方法包括以下步骤:

步骤s100,第二终端接收第一终端发送的目标加密数据;

在本实施例中,第二终端为执行主体,第二终端为服务器或者移动终端,移动终端装载有与服务器关联的应用程序,在第二终端为服务器时,第一终端为移动终端;在第二终端为移动终端时,第一终端为服务器。

步骤s200,解密所述目标加密数据以得到第一随机密钥、随机数、签名信息以及待处理目标数据;

在当第二终端接收到第一终端发送目标加密数据后,第二终端对目标加密数据进行解密,具体的,请参照图6,也即步骤s200包括:

步骤s210,解析所述目标加密数据以得到加密签名信息、加密密钥信息以及加密的目标数据;

步骤s220,对所述加密签名信息进行解密以得到签名信息,并采用第二随机公钥对所述加密密钥信息进行解密以得到第一随机密钥以及随机数;

步骤s230,采用所述第一随机密钥对所述加密的目标数据进行解密,以得到所述待处理目标数据。

第二终端对目标加密数据进行解析从而得到加密签名信息、加密密钥信息以及加密的目标数据;第二终端再采用第三加密算法对应的公钥对加密签名信息进行解析,以得到签名信息,也即得到sign字段;

第一终端生成第二随机公钥以及第二随机私钥后,会将第二随机公钥发送至第二终端,第二终端即可采用第二随机公钥对加密密钥信息进行解密从而得到第一随机密钥以及随机数,也即得到目标salt字段以及目标key字段,然后第二终端在目标salt字段中提取随机数,并在目标key字段中提取第一随机密钥;然后采用第一随机密钥对加密的目标数据进行解密,从而得到待处理目标数据,也即得到目标date字段

步骤s300,根据所述第一随密钥、所述随机数以及所述待处理目标数据对所述签名信息进行验证;

第二终端在得到第一随机密钥、待处理目标数据、随机数以及签名信息后,即可根据第一随机密钥、待处理目标数据以及随机数对签名信息进行签名验证,具体的,请参照图7,也即步骤s300包括:

步骤s310,根据所述第一随机密钥、所述随机数以及所述待处理目标数据生成验证签名信息;

步骤s320,判断所述验证签名信息是否与所述签名信息匹配,其中,在所述验证签名信息与所述签名信息匹配时,判定验证成功。

第二终端采用签名算法对目标date字段、目标key字段以及目标salt字段进行计算,以得到验证sign字段,也即得到验证签名信息;第二终端再判断sign字段与验证sign字段是否匹配,若是二者一致,则匹配,签名验证成功,也即目标加密数据未存在篡改;而在当sign字段与验证sign字段不一致,则签名验证失败,目标加密数据已被篡改,此时,第二终端会向第一终端发送提示信息,使得第一终端得知存在数据传输的安全隐患,从而及时采用对应的措施,比如杀毒等。

步骤s400,在验证成功后,根据所述待处理目标数据获取目标数据。

在当签名验证成功后,第二终端即可从目标date数据中提取目标数据。

在本实施例提供的技术方案中,第二终端接收到第一终端发送的目标加密数据后,解密目标加密数据以得到第一随机密钥、随机数、签名信息以及待处理目标数据,从而根据第一随机密钥、随机数以及待处理目标数据对签名信息进行验证,若是验证成功,则在待处理目标数据中提取目标数据;由于第二终端对目标加密数据进行签名验证,使得第二终端能够及时发现第一终端发送的数据是否被篡改,提高了数据的安全性。

本发明还提供一种终端,所述终端包括处理器、存储器和存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上实施例所述的数据的传输方法的各个步骤。

在一实施例中所述终端为服务器或者移动终端,所述移动终端装载有与所述服务器关联的应用程序。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有数据处理程序,所述数据处理程序被所述处理器执行时实现如上实施例所述的数据传输方法的各个步骤。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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