数据传输方法、系统、电子设备及计算机可读介质与流程

文档序号:24631592发布日期:2021-04-09 20:41阅读:82来源:国知局
数据传输方法、系统、电子设备及计算机可读介质与流程

本公开涉及信息安全领域,尤其涉及一种数据传输方法、系统、电子设备及计算机可读介质。



背景技术:

在移动端接口的数据传输中,为保证数据安全性,需采用数据加密方法。目前的主要的加密方法有对称加密和非对称加密方法。对称加密采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。对称加密要求在数据传送前,发送方和接收方必须商定好密钥,然后使双方都能保存好密钥。如果其中一方的密钥被泄露,加密信息将会被泄露。

非对称加密在加密和解密时使用的是两个不同的密钥:公钥和私钥。公钥和私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。然而,非对称加密的加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

因此,需要一种新的数据传输方法、系统、电子设备及计算机可读介质。

在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

有鉴于此,本公开实施例提供一种数据传输方法、系统、电子设备及计算机可读介质,进而能够提高数据传输的安全性。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开实施例的第一方面,提出一种数据传输方法,该方法包括:向服务端发送数据请求;接收所述服务端响应于所述数据请求返回的密文数据及其目标返回码;根据所述目标返回码确定目标密钥;利用所述目标密钥解密所述密文数据,获得目标状态码;若所述目标状态码为第一状态码,则基于第一非对称加密算法和第二非对称加密算法生成并向所述服务端发送密钥请求和第一更新数据请求;接收所述服务端响应于所述密钥请求返回的协商密钥信息和响应于所述第一更新数据请求的第一更新密文数据;根据所述协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据。

在本公开的一种示例性实施例中,根据所述目标返回码确定目标密钥,包括:若所述目标返回码为第一返回码,则所述目标密钥为预存储设备端协商密钥。

在本公开的一种示例性实施例中,基于第一非对称加密算法和第二非对称加密算法生成并向所述服务端发送密钥请求,包括:生成第一随机数;基于所述第一非对称加密算法对所述第一随机数进行加密处理,生成第一加密随机数;基于所述第二非对称加密算法对所述第一加密随机数进行加密处理,生成所述密钥请求并发送至所述服务端。

在本公开的一种示例性实施例中,根据所述协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据,包括:基于所述第二非对称解密算法对所述协商密钥信息进行解密处理,获取第二加密随机数、密钥索引与公钥数据;基于所述第一非对称加密算法,根据所述第一随机数与所述第二加密随机数生成第一密钥种子;通过预定函数对所述第一密钥种子进行处理,获得第一密钥;将所述第一密钥、所述密钥索引与所述公钥数据进行整合,生成当前设备端协商密钥;根据所述当前设备端协商密钥对所述第一更新密文数据进行解密处理,获得解密数据。

在本公开的一种示例性实施例中,根据所述协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据,包括:获取解密的目标状态码;在所述目标状态码为第二状态码时,生成更新密钥请求和第二更新数据请求并发送至所述服务端;接收所述服务端响应于所述更新密钥请求返回的更新协商密钥信息和响应于所述第二更新数据请求的返回的第二更新密文数据;根据所述更新协商密钥信息对所述第二更新密文数据进行解密,获得解密数据。

在本公开的一种示例性实施例中,生成更新密钥请求和第二更新数据请求并发送至所述服务端包括:生成第一更新随机数和第二更新数据请求;获取所述当前设备端协商密钥的密钥索引;基于所述第一非对称加密算法对所述第一更新随机数进行加密处理,生成第一更新加密随机数;基于所述第二非对称加密算法对所述第一更新加密随机数和所述密钥索引进行加密处理,生成所述更新密钥请求,并将所述更新密钥请求和所述第二更新数据请求发送至所述服务端。

在本公开的一种示例性实施例中,根据所述更新协商密钥信息对所述第二更新密文数据进行解密,获得解密数据包括:基于所述第二非对称解密算法对所述更新协商密钥信息进行解密处理,获取第二更新加密随机数、反馈密钥索引与更新公钥数据;根据所述密钥索引与所述反馈密钥索引对所述更新协商密钥信息进行校验;在校验成功时,基于所述第一非对称加密算法,根据所述第一更新随机数与所述第二更新加密随机数生成第一更新密钥种子;通过预定函数对所述第一更新密钥种子进行处理,获得第一更新密钥;将所述第一更新密钥、所述密钥索引与所述更新公钥数据进行整合,生成更新设备端协商密钥;根据所述更新设备端密钥对所述第二更新密文数据进行解密处理,获得解密数据。

根据本公开实施例的第二方面,提出一种数据传输方法,该方法包括:接收设备端的数据请求;根据所述数据请求确定待发送数据、目标返回码和目标密钥;根据所述目标密钥对所述待发送数据进行加密处理,生成密文数据并发送至所述设备端;在接收到所述设备端的的密钥请求时,基于第一非对称加密算法和第二非对称加密算法,根据所述密钥请求生成密钥协商信息和服务端协商密钥;在接收到所述设备端的第一更新数据请求时,根据所述服务端协商密钥对所述待发送数据进行加密处理,生成响应于所述第一更新数据请求的第一更新密文数据并发送至设备端。

在本公开的一种示例性实施例中,基于第一非对称加密算法和第二非对称加密算法,根据所述密钥请求生成密钥协商信息和服务端协商密钥,包括:生成第二随机数、公钥数据与私钥数据;基于第一非对称加密算法对所述第二随机数进行加密处理,生成第二加密随机数;通过第二非对称加密算法对密钥索引、所述公钥数据与所述第二加密随机数进行加密处理,生成响应于所述密钥请求的密钥协商信息并发送至所述设备端。

在本公开的一种示例性实施例中,基于第一非对称加密算法和第二非对称加密算法,根据所述密钥请求生成密钥协商信息和服务端协商密钥,还包括:基于第二非对称解密算法对所述密钥请求进行解密处理,获得第一加密随机数;基于第一非对称加密算法,根据所述第二随机数与所述第一加密随机数生成第二密钥种子;通过预定函数对所述第二密钥种子进行处理,获得第二密钥;将所述第二密钥与所述私钥数据进行整合,生成服务端协商密钥。

在本公开的一种示例性实施例中,根据所述数据请求确定待发送数据、目标返回码和目标密钥包括:根据所述数据请求确定待发送数据;根据所述待发送数据的敏感等级确定目标密钥和目标返回码。

根据本公开实施例的第三方面,提出一种数据传输系统,该系统包括:设备端,用于向服务端发送数据请求;接收所述服务端响应于所述数据请求返回的密文数据及其目标返回码;根据所述目标返回码确定目标密钥;利用所述目标密钥解密所述密文数据,获得目标状态码;若所述目标状态码为第一状态码,则基于第一非对称加密算法和第二非对称加密算法生成并向所述服务端发送密钥请求和第一更新数据请求;接收所述服务端响应于所述密钥请求返回的协商密钥信息和响应于所述第一更新数据请求的第一更新密文数据;根据所述协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据;以及服务端,用于接收设备端的数据请求;根据所述数据请求确定待发送数据、目标返回码和目标密钥;根据所述目标密钥对所述待发送数据进行加密处理,生成密文数据并发送至所述设备端;在接收到所述设备端的的密钥请求时,基于第一非对称加密算法和第二非对称加密算法,根据所述密钥请求生成密钥协商信息和服务端协商密钥;在接收到所述设备端的第一更新数据请求时,根据所述服务端协商密钥对所述待发送数据进行加密处理,生成响应于所述第一更新数据请求的第一更新密文数据并发送至设备端。

根据本公开实施例的第四方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储系统,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的数据传输方法。

根据本公开实施例的第五方面,提出一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的数据传输方法。

根据本公开某些实施例提供的数据传输方法、系统、电子设备及计算机可读介质,在数据传输时,一方面,通过密文数据和目标返回码,并根据目标返回码确定目标密钥,利用目标密钥解密密文数据,能够以目标返回码为识别码,确定不同的目标密钥以对不同的密文数据进行解密,降低了部分密钥泄露时密文数据遭到泄露的概率,进而能够提高数据传输的安全性;另一方面,在对数据进行解密后,根据解密获得的目标状态码对解密状态进行判断,在目标状态码为第一状态码时,生成密钥请求和第一更新数据请求,并接收服务端响应于密钥请求的协商密钥信息和响应于第一更新数据请求的第一更新密文数据,以根据协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据,能够在目标状态码为第一状态码时确认目标密钥泄露,并在目标密钥泄露时根据协商密钥信息对更新密文数据进行解密,能够进一步提高数据传输的安全性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种数据传输方法及系统的系统框图;

图2是根据一示例性实施例示出的一种数据传输方法的流程图;

图3是基于图2的步骤s270在一个示例性实施例中的流程图;

图4是根据另一示例性实施例示出的一种数据传输方法的流程图;

图5是基于图4中的步骤s440在一个示例性实施例中的流程图;

图6是基于图4中的步骤s450在一个示例性实施例中的流程图;

图7是根据另一示例性实施例示出的一种数据传输方法的流程图;

图8是根据另一示例性实施例示出的一种数据传输方法的流程图;

图9是根据另一示例性实施例示出的一种数据传输方法的流程图;

图10是根据另一示例性实施例示出的一种数据传输方法的流程图;

图11是根据一示例性实施例示出的一种数据传输系统的框图;

图12示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、系统、步骤等。在其它情况下,不详细示出或描述公知方法、系统、实现或者操作以避免模糊本发明的各方面。

附图仅为本发明的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器系统和/或微控制器系统中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

下面结合附图对本发明示例实施方式进行详细说明。

图1是根据一示例性实施例示出的一种数据传输方法及系统的系统框图。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所进行操作的数据传输系统提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的数据请求等数据进行分析等处理,并将处理结果(例如密文数据、目标返回码或第一更新密文数据--仅为示例)反馈给终端设备。

终端设备101(102或103,此处仅为示例)可例如向服务端发送数据请求;终端设备101可例如接收所述服务端响应于所述数据请求返回的密文数据及其目标返回码;终端设备101可例如根据所述目标返回码确定目标密钥;终端设备101可例如利用所述目标密钥解密所述密文数据,获得目标状态码;终端设备101可例如若所述目标状态码为第一状态码,则基于第一非对称加密算法和第二非对称加密算法生成并向所述服务端发送密钥请求和第一更新数据请求;终端设备101可例如接收所述服务端响应于所述密钥请求返回的协商密钥信息和响应于所述第一更新数据请求的第一更新密文数据;终端设备101可例如根据所述协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据。

服务器105可例如接收设备端的数据请求;服务器105可例如根据所述数据请求确定待发送数据、目标返回码和目标密钥;服务器105可例如根据所述目标密钥对所述待发送数据进行加密处理,生成密文数据并发送至所述设备端;服务器105可例如在接收到所述设备端的的密钥请求时,基于第一非对称加密算法和第二非对称加密算法,根据所述密钥请求生成密钥协商信息和服务端协商密钥。

图2是根据一示例性实施例示出的一种数据传输方法的流程图。本公开实施例提供的数据传输方法可以由任意具备计算处理能力的电子设备执行,例如终端设备101、102或103,在下面的实施例中,以终端设备101执行所述方法为例进行举例说明,但本公开并不限定于此。本公开实施例提供的数据传输方法20可以包括步骤s210至s270。

如图2所示,在步骤s210中,向服务端发送数据请求。

本公开实施例中,数据请求用于向服务端请求数据。数据请求可以包括数据存储地址、数据名称、数据库索引等,本公开对此并不作特殊限定。

在步骤s220中,接收所述服务端响应于所述数据请求返回的密文数据及其目标返回码。

本公开实施例中,密文数据包含所述数据请求所对应的解密数据,该密文数据是通过服务端对解密数据进行加密操作后生成的密文数据。目标返回码是服务端在进行加密操作时使用的具体密钥的识别码。例如,服务端可根据解密数据的敏感等级选择不同的加密方式,设备端可通过目标返回码对具体的加密方式进行识别。

在步骤s230中,根据所述目标返回码确定目标密钥。

本公开实施例中,设备端可存储有多个密钥,通过目标返回码可在多个密钥中确定目标密钥。目标密钥为可对密文数据进行解密的密钥。

在示例性实施例中,若所述目标返回码为第一返回码,则所述目标密钥为预存储设备端协商密钥。其中,预存储设备端协商密钥为设备端与服务端事先通过数据交换生成的密钥,本公开对预存储设备端协商密钥的具体形式并不作特殊限定。

在步骤s240中,利用所述目标密钥解密所述密文数据,获得目标状态码。

本公开实施例中,进行解密操作后,可获得密文数据中的解密数据与目标状态码,目标状态码用于表示解密状态。可通过目标状态码判断解密是否失败,即目标密钥是否无效或过期。

在步骤s250中,若所述目标状态码为第一状态码,则基于第一非对称加密算法和第二非对称加密算法生成并向所述服务端发送密钥请求和第一更新数据请求。

本公开实施例中,第一状态码用于表示表示解密结果,第一状态码表示协商密钥信息无效。第一非对称加密算法可例如为迪菲-赫尔曼加密算法,该算法是一种确保共享密钥安全穿越不安全网络的方法。第二非对称加密算法可例如为罗纳德-阿迪-伦纳德加密算法(ron-adi-leonardalgorithm,rsa加密算法),该算法是一种非对称加密算法,采用公开密钥密码体制。rsa加密算法在公开密钥加密和电子商业中被广泛使用。但应该理解,此处仅为示例,本公开的第一非对称加密算法和第二非对称加密算法还可为其他加密算法。第一更新数据请求与所述数据请求类似,此处不再赘述。

在示例性实施例中,可生成第一随机数;基于所述第一非对称加密算法对所述第一随机数进行加密处理,生成第一加密随机数;基于所述第二非对称加密算法对所述第一加密随机数进行加密处理,生成所述密钥请求并发送至所述服务端。其中,第一随机数的个数可为一个或多个,本公开对第一随机数的数量并不作特殊限定。其中,第一加密随机数与第一随机数的个数相同,并为一一对应的关系。在基于第二非对称加密算法对所述第一加密随机数进行加密处理时,可实现与服务端进行通信确定第二非对称加密算法的初始密钥。例如,若第二非对称加密算法为rsa算法,可与服务端确定rsa算法的初始公钥和初始私钥,并本地存储初始公钥,并通过初始公钥对第一加密随机数进行加密处理。

在步骤s260中,接收所述服务端响应于所述密钥请求返回的协商密钥信息和响应于所述第一更新数据请求的第一更新密文数据。

在步骤s270中,根据所述协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据。

在示例性实施例中,可基于所述第二非对称解密算法对所述协商密钥信息进行解密处理,获取第二加密随机数、密钥索引与公钥数据;基于所述第一非对称加密算法,根据所述第一随机数与所述第二加密随机数生成第一密钥种子;通过预定函数对所述第一密钥种子进行处理,获得第一密钥;将所述第一密钥、所述密钥索引与所述公钥数据进行整合,生成当前设备端协商密钥;根据所述当前设备端协商密钥对所述第一更新密文数据进行解密处理,获得解密数据。

其中,协商密钥信息可以是通过第二非对称加密算法进行加密后的数据,通过第二非对称解密算法可对其进行解密。第二加密随机数可以是由与第一加密随机数相同的生成机制生成的。在根据所述第一随机数与所述第二加密随机数生成第一密钥种子时,可基于迪菲-赫尔曼加密算法,根据所述第一随机数与所述第二加密随机数生成第一密钥种子。第二加密随机数与第一随机数的个数相同。在第一随机数具有多个时,第二加密随机数与第一随机数依次配对,并根据每一第一随机数与其对应的第二加密随机数生成第一密钥种子,最终获得多个第一密钥种子,该第一密钥种子的个数与第一随机数相同。预定函数可例如为为密钥生成函数(genkey函数)。公钥数据可以用于替代初始公钥,以进行更新,能够提高协商密钥传输的安全性,进而提高数据传输的安全性。后续步骤中生成的第一密钥、公钥数据可存储在数据库,密钥索引可作为该当前设备端协商密钥在数据库中的索引。

根据本公开某些实施例提供的数据传输方法,在数据传输时,一方面,通过密文数据和目标返回码,并根据目标返回码确定目标密钥,利用目标密钥解密密文数据,能够以目标返回码为识别码,确定不同的目标密钥以对不同的密文数据进行解密,降低了部分密钥泄露时密文数据遭到泄露的概率,进而能够提高数据传输的安全性;另一方面,在对数据进行解密后,根据解密获得的目标状态码对解密状态进行判断,在目标状态码为第一状态码时,生成密钥请求和第一更新数据请求,并接收服务端响应于密钥请求的协商密钥信息和响应于第一更新数据请求的第一更新密文数据,以根据协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据,能够在目标状态码为第一状态码时确认目标密钥泄露,并在目标密钥泄露时根据协商密钥信息对更新密文数据进行解密,能够进一步提高数据传输的安全性。

图3是基于图2的步骤s270在一个示例性实施例中的流程图。

如图3所示,上述图2的步骤s270可以进一步包括以下步骤。

在步骤s271中,获取解密的目标状态码。

本公开实施例中,当步骤s270的解密操作进行后,可再次获得与上述步骤s240中所描述的目标状态码,因此此处不再赘述。

在步骤s272中,在所述目标状态码为第二状态码时,生成更新密钥请求和第二更新数据请求并发送至所述服务端。

其中,第二状态码用于表示解密结果,第二状态码表示协商密钥信息无效或过期。

在示例性实施例中,可生成第一更新随机数和第二更新数据请求;获取所述当前设备端协商密钥的密钥索引;基于所述第一非对称加密算法对所述第一更新随机数进行加密处理,生成第一更新加密随机数;基于所述第二非对称加密算法对所述第一更新加密随机数和所述密钥索引进行加密处理,生成所述更新密钥请求,并将所述更新密钥请求和所述第二更新数据请求发送至所述服务端。

其中,第一更新随机数与第一随机数的生成机制类似,此处不再赘述。第二更新数据请求与第一更新数据请求的生成机制类似,此处不再赘述。密钥索引可为当前设备端协商密钥在数据库中的索引。更新密钥请求与密钥请求的生成机制类似,此处不再赘述。第二更新数据请求与第一更新数据请求的生成机制类似,此处不再赘述

在步骤s273中,接收所述服务端响应于所述更新密钥请求返回的更新协商密钥信息和响应于所述第二更新数据请求的返回的第二更新密文数据。

在步骤s274中,根据所述更新协商密钥信息对所述第二更新密文数据进行解密,获得解密数据。

在示例性实施例中,可基于所述第二非对称解密算法对所述更新协商密钥信息进行解密处理,获取第二更新加密随机数、反馈密钥索引与更新公钥数据;根据所述密钥索引与所述反馈密钥索引对所述更新协商密钥信息进行校验;在校验成功时,基于所述第一非对称加密算法,根据所述第一更新随机数与所述第二更新加密随机数生成第一更新密钥种子;通过预定函数对所述第一更新密钥种子进行处理,获得第一更新密钥;将所述第一更新密钥、所述密钥索引与所述更新公钥数据进行整合,生成更新设备端协商密钥;根据所述更新设备端密钥对所述第二更新密文数据进行解密处理,获得解密数据。

其中,通过对所述密钥索引和反馈密钥索引进行校验,能够避免多个设备端同时与服务端进行数据交换时,服务端错发导致的更新协商密钥信息错误更新的情况,能够防止密钥篡改,提高数据传输的安全性。第一更新密钥种子和第一密钥种子的生成机制类似,此处不再赘述。第一更新密钥与第一密钥的生成机制类似,此处不再赘述。在将所述第一更新密钥、所述密钥索引与所述更新公钥数据进行整合时,可将密钥索引作为数据库中的存储索引,将第一更新密钥、更新公钥数据存入该密钥索引所对应的存储空间中,以替代该存储空间中原有的第一密钥、公钥数据。

图4是根据另一示例性实施例示出的一种数据传输方法的流程图。如图4所示,本公开实施例提供的数据传输方法40可以包括步骤s410至s450。

在步骤s410中,向服务端发送数据请求,接收响应于数据请求的密文数据和目标返回码。

在步骤s420中,根据目标返回码进行逻辑处理。若目标返回码是第一返回码,使用协商预存储设备端协商密钥对密文数据进行解密;若目标返回码是第二返回码,使用默认密钥对密文数据进行解密;若目标返回码是第三返回码,采用其他解密方式对密文数据进行解密。其中,目标返回码例如通过字母进行表示,例如第一返回码是b,第二返回码是a等,本公开的技术方案对此并不作特殊限定。

在步骤s430中,获得解密的目标状态码并进行逻辑处理。若目标状态码是第一状态码,则表示解密的密钥无效,执行步骤s440;若目标状态码是第二状态码,表示解密的密钥无效或者是过期,执行步骤s450;若目标状态码是第三状态码,表示解密成功,获得解密数据,执行步骤s480。

在示例性实施例中,在使用协商密钥解密是,若协商密钥并非目标密钥,将无法获得目标状态码。在此情况下解密内容为空,在这一情况下,可采用默认密钥对密文数据进行解密。例如,设备端本地存储有设备端协商密钥,但服务端存储的相对应的服务端协商密钥丢失了。在这一情况下,服务端会使用默认密钥进行加密并将密文数据下发给设备端,但服务端发送的目标返回码仍是第一返回码。

在步骤s440中,进行初次协商流程,获得当前设备端协商密钥。

在步骤s450中,进行后续协商流程,获得更新设备端协商密钥。

在步骤s460中,若协商成功,生成更新数据请求并发送至服务端,接收服务端的更新密文数据,根据当前设备端协商密钥或更新设备端协商密钥对更新密文数据进行解密,获得解密数据。

在步骤s470中,根据解密数据进行相应的业务处理。

图5是基于图4中的步骤s440在一个示例性实施例中的流程图。如图5所示,上述图4的步骤s440可以进一步包括以下步骤。

在步骤s441中,生成第一随机数:a1、a2,使用迪菲-赫尔曼加密算法对第一随机数进行加密获得第一加密随机数a1、a2,并基于rsa加密算法,使用初始公钥defpub对第一加密随机数进行加密处理,生成密钥请求发送至服务端。

其中,可通过下式生成第一加密随机数:

a1=dhga1moddhp(1)

其中,dhg为迪菲-赫尔曼加密算法的基数,dhp为迪菲-赫尔曼加密算法的模数。dhg和dhp可事先确定。a2与a1的生成方式相同。且本公开对第一随机数的个数并不作特殊限定。

在步骤s442中,接收协商密钥信息,使用rsa解密算法对协商密钥信息进行解密获得第二加密随机数:s1、s2、以及密钥索引sid、公钥数据pub。

其中,可通过初始公钥对协商密钥信息进行解密。

在步骤s443中,基于迪菲-赫尔曼加密算法对第一随机数和第二加密随机数进行处理获得第一密钥种子:see1、seed2,并通过预定函数对第一密钥种子进行处理获得第一密钥,将第一密钥、密钥索引与公钥数据进行整合,生成当前设备端协商密钥并存储。

其中,第一密钥种子seed1、seed2的生成方式可如下式所示:

seed1=s1a1moddhp(2)

seed2=s2a2moddhp(3)

第一密钥(key1、key2)的生成方式可如下式所示:

key1=genkey(seed1)(4)

key2=genkey(seed2)(5)

其中,genkey为密钥生成函数。

在本实施例中,当前设备端协商密钥的存储形式可形如:store(sid,pub,key1,key2)。

图6是基于图4中的步骤s450在一个示例性实施例中的流程图。如图6所示,上述图4的步骤s450可以进一步包括以下步骤。

在步骤s451中,生成第一更新随机数:a1、a2,使用迪菲-赫尔曼加密算法对第一更新随机数进行加密获得第一更新加密随机数a1、a2,并基于rsa加密算法,使用初始公钥对第一更新加密随机数和密钥索引sid进行加密处理,生成密钥请求发送至服务端。

其中,第一更新随机数a1、a2与图5中实施例所提及的第一随机数a1、a2的值并不一定相同,为不同的随机数。密钥索引为当前设备端协商密钥的存储索引。第一更新加密随机数的生成方式可与图5中提及的第一加密随机数的生成方式相同,此处不再赘述。

在步骤s452中,接收更新协商密钥信息,使用rsa解密算法对更新协商密钥信息进行解密获得第二更新加密随机数:s1、s2、以及反馈密钥索引、更新公钥数据。对密钥索引和反馈密钥索引进行校验。

在步骤s453中,校验成功时,基于迪菲-赫尔曼加密算法对第一更新随机数和第二更新加密随机数进行处理获得第一更新密钥种子:see1、seed2,并通过预定函数对第一更新密钥种子进行处理获得第一更新密钥,将第一更新密钥、密钥索引与更新公钥数据进行整合,生成更新设备端协商密钥。

其中,第一更新密钥种子、第一更新密钥、更新设备端协商密钥可分别与图5中第一密钥种子、第一密钥、当前设备端协商密钥具有相同的生成方式,此处不再赘述。

图7是根据另一示例性实施例示出的一种数据传输方法的流程图。本公开实施例提供的数据传输方法可以由任意具备计算处理能力的电子设备执行,例如服务器105,在下面的实施例中,以服务器105执行所述方法为例进行举例说明,但本公开并不限定于此。本公开实施例提供的数据传输方法70可以包括步骤s710至s750。

如图7所示,在步骤s710中,接收设备端的数据请求。

在步骤s720中,根据所述数据请求确定待发送数据、目标返回码和目标密钥。

在示例性实施例中,可根据所述数据请求确定待发送数据;根据所述待发送数据的敏感等级确定目标密钥和目标返回码。其中,待发送数据与上述图2中提及的解密数据可为同一数据。待发送数据的敏感等级表示该待发送数据对安全传输的要求程度。例如,在待发送数据为用户密码、隐私文档时,其对安全传输的要求较高,可确认其具有较高的敏感等级。敏感等级可例如为高级、中级和低级,但本公开对此并不作特殊限定。其中,目标返回码用以区分敏感等级,接前述举例,敏感等级为中级时,目标返回码为a,敏感等级为高级时;目标返回码为b;敏感等级为低级时,目标返回码为c。目标密钥与敏感等级相对应,也可与目标返回码相对应。接前述举例,敏感等级为中级时,目标密钥可为默认密钥,即默认状态下的加密密钥;敏感等级为高级时,目标密钥可为协商密钥,例如步骤s270或s274中提及的当前设备端协商密钥和更新设备端协商密钥;敏感等级为低级时,目标密钥可为其他基础加密方式,或不加密方式。

在步骤s730中,根据所述目标密钥对所述待发送数据进行加密处理,生成密文数据并发送至所述设备端。

在步骤s740中,在接收到所述设备端的的密钥请求时,基于第一非对称加密算法和第二非对称加密算法,根据所述密钥请求生成密钥协商信息和服务端协商密钥。

在示例性实施例中,可生成第二随机数、公钥数据与私钥数据;基于第一非对称加密算法对所述第二随机数进行加密处理,生成第二加密随机数;通过第二非对称加密算法对密钥索引、所述公钥数据与所述第二加密随机数进行加密处理,生成响应于所述密钥请求的密钥协商信息并发送至所述设备端。

其中,可事先确定密钥索引,以在数据库中密钥索引对应的存储空间中存储后续服务端协商密钥以及图2实施例中提及的当前设备端协商密钥的存储。第二加密随机数与第一加密随机数的生成机制类似,此处不再赘述。

在示例性实施例中,可基于第二非对称解密算法对所述密钥请求进行解密处理,获得第一加密随机数;基于第一非对称加密算法,根据所述第二随机数与所述第一加密随机数生成第二密钥种子;通过预定函数对所述第二密钥种子进行处理,获得第二密钥;将所述第二密钥与所述私钥数据进行整合,生成服务端协商密钥。

其中,第二非对称解密算法与第二非对称加密算法分别描述了同一密钥算法的解密操作和加密操作。例如,第二非对称加密算法为rsa算法时,服务端本都存储有初始私钥,可通过初始私钥对密钥请求进行解密处理。第一加密随机数可为上述图2中提及的,由客户端生成的第一加密随机数。第二密钥种子与上述图2中第一密钥种子的生成方式类似,此处不再赘述。

在步骤s750中,在接收到所述设备端的第一更新数据请求时,根据所述服务端协商密钥对所述待发送数据进行加密处理,生成响应于所述第一更新数据请求的第一更新密文数据并发送至设备端。

根据本公开实施例提供的数据传输方法,在数据传输时,一方面,根据数据请求确定待发送数据、目标返回码和目标密钥,并根据目标密钥对待发送数据进行加密,能够根据数据请求所请求的待发送数据选择不同的目标返回码和目标密钥,进而使用不同的目标密钥进行加密,能够降低部分密钥泄露时,待发送数据遭到泄露或窃取的概率,提高数据传输的安全性;另一方面,在接收到密钥请求时,根据密钥请求生成密钥协商信息和服务端协商密钥,能够在目标密钥失效或过期的情况下即时更新密钥,进而能够提高数据传输的安全性。

图8是根据另一示例性实施例示出的一种数据传输方法的流程图。如图8所示,本公开实施例提供的数据传输方法80可以包括步骤s810至s860。

在步骤s810中,接收设备端的数据请求和密文数据。

在步骤s820中,对数据请求进行解密获得密钥索引和目标密钥。

在步骤s830中,使用目标密钥对密文数据进行解密获得解密数据。

在步骤s840中,将解密数据存入密钥索引对应的数据库存储空间中。

在步骤s850中,判断预定时间内请求次数是否大于请求阈值,若是,判断解密数据与数据库中的数据是否重复,若重复,取消存储操作。

在步骤s860中,对解密数据进行相应的处理操作。

图9是根据另一示例性实施例示出的一种数据传输方法的流程图。图9示出的实施例与图5中设备端操作具有对应关系。如图9所示,本公开实施例提供的数据传输方法90可以包括步骤s910至s950。

在步骤s910中,接收密钥请求。

在步骤s920中,基于rsa解密算法,根据初始私钥对密钥请求进行解密处理获得第一加密随机数a1、a2。

其中,第一加密随机数可以是图5中步骤s441生成的。

在步骤s930中,生成第二随机数s1、s2,使用迪菲-赫尔曼加密算法对第二随机数进行加密获得第二加密随机数s1、s2,并生成公钥数据、私钥数据和密钥索引。

其中,公钥数据和私钥数据用于替换初始公钥和初始私钥。第二加密随机数s1、s2的生成方式可如下式所示:

s1=dhgs1moddhp(6)

在步骤s940中,基于第一加密算法,根据第二随机数与第一加密随机数生成第二密钥种子seed1、seed2,通过预定函数对第二密钥种子进行处理,获得第二密钥key1、key2,将第二密钥与私钥数据进行整合,生成服务端协商密钥。

其中,第二密钥种子seed1、seed2的生成方式可如下式所示:

seed1=a1s1moddhp(7)

seed2=a2s2moddhp(8)

在步骤s950中,通过第二非对称加密算法对密钥索引、公钥数据与第二加密随机数进行加密处理,生成响应于密钥请求的密钥协商信息并发送至设备端。

图10是根据另一示例性实施例示出的一种数据传输方法的流程图。图10示出的实施例与图6中设备端操作具有对应关系。如图10所示,本公开实施例提供的数据传输方法90可以包括步骤s1010至s1050。

在步骤s1010中,接收更新密钥请求和密钥索引。

在步骤s1020中,根据密钥索引在数据库中取出私钥数据。

在步骤s1030中,基于rsa解密算法,根据私钥数据对密钥请求进行解密处理获得第一更新加密随机数a1、a2。

在步骤s1040中,生成第二更新随机数s1、s2和更新公钥数据、更新私钥数据,并使用迪菲-赫尔曼加密算法对第二更新随机数进行加密获得第二更新加密随机数s1、s2。

在步骤s1050中,基于第一加密算法,根据第二更新随机数与第一更新加密随机数生成第二更新密钥种子seed1、seed2,通过预定函数对第二更新密钥种子进行处理,获得第二更新密钥key1、key2,将第二更新密钥与更新私钥数据进行整合,生成服务端协商密钥。

在步骤s1060中,通过第二非对称加密算法对密钥索引、更新公钥数据与第二更新加密随机数进行加密处理,生成响应于更新密钥请求的更新密钥协商信息并发送至设备端。

应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。

本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由中央处理器(centralprocessingunit,cpu)执行的计算机程序。在该计算机程序被中央处理器cpu执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

下述为本公开系统实施例,可以用于执行本公开方法实施例。对于本公开系统实施例中未披露的细节,请参照本公开方法实施例。

图11是根据一示例性实施例示出的一种数据传输系统的框图。参照图11,本公开实施例提供的数据传输系统1100可以包括:设备端1110和服务端1120。其中,设备端1110的个数可以是一个或多个。

在数据传输系统1100中,设备端1110可以用于向服务端发送数据请求;接收所述服务端响应于所述数据请求返回的密文数据及其目标返回码;根据所述目标返回码确定目标密钥;利用所述目标密钥解密所述密文数据,获得目标状态码;若所述目标状态码为第一状态码,则基于第一非对称加密算法和第二非对称加密算法生成并向所述服务端发送密钥请求和第一更新数据请求;接收所述服务端响应于所述密钥请求返回的协商密钥信息和响应于所述第一更新数据请求的第一更新密文数据;根据所述协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据;以及

服务端1120可以用于接收设备端的数据请求;根据所述数据请求确定待发送数据、目标返回码和目标密钥;根据所述目标密钥对所述待发送数据进行加密处理,生成密文数据并发送至所述设备端;在接收到所述设备端的的密钥请求时,基于第一非对称加密算法和第二非对称加密算法,根据所述密钥请求生成密钥协商信息和服务端协商密钥;在接收到所述设备端的第一更新数据请求时,根据所述服务端协商密钥对所述待发送数据进行加密处理,生成响应于所述第一更新数据请求的第一更新密文数据并发送至设备端。

在示例性实施例中,设备端1110可以用于若所述目标返回码为第一返回码,则所述目标密钥为预存储设备端协商密钥。

在示例性实施例中,设备端1110可以用于生成第一随机数;基于所述第一非对称加密算法对所述第一随机数进行加密处理,生成第一加密随机数;基于所述第二非对称加密算法对所述第一加密随机数进行加密处理,生成所述密钥请求并发送至所述服务端。

在示例性实施例中,设备端1110可以用于基于所述第二非对称解密算法对所述协商密钥信息进行解密处理,获取第二加密随机数、密钥索引与公钥数据;基于所述第一非对称加密算法,根据所述第一随机数与所述第二加密随机数生成第一密钥种子;通过预定函数对所述第一密钥种子进行处理,获得第一密钥;将所述第一密钥、所述密钥索引与所述公钥数据进行整合,生成当前设备端协商密钥;根据所述当前设备端协商密钥对所述第一更新密文数据进行解密处理,获得解密数据。

在示例性实施例中,设备端1110可以用于获取解密的目标状态码;在所述目标状态码为第一状态码时,生成更新密钥请求和第二更新数据请求并发送至所述服务端;接收所述服务端响应于所述更新密钥请求返回的更新协商密钥信息和响应于所述第二更新数据请求的返回的第二更新密文数据;根据所述更新协商密钥信息对所述第二更新密文数据进行解密,获得解密数据。

在示例性实施例中,设备端1110可以用于生成第一更新随机数和第二更新数据请求;获取所述协商密钥信息的密钥索引;基于所述第一非对称加密算法对所述第一更新随机数进行加密处理,生成第一更新加密随机数;基于所述第二非对称加密算法对所述第一更新加密随机数和所述密钥索引进行加密处理,生成所述更新密钥请求,并将所述更新密钥请求和所述第二更新数据请求发送至所述服务端。

在示例性实施例中,设备端1110可以用于基于所述第二非对称解密算法对所述更新协商密钥信息进行解密处理,获取第二更新加密随机数、反馈密钥索引与更新公钥数据;根据所述密钥索引与所述反馈密钥索引对所述更新协商密钥信息进行校验;在校验成功时,基于所述第一非对称加密算法,根据所述第一更新随机数与所述第二更新加密随机数生成第一更新密钥种子;通过预定函数对所述第一更新密钥种子进行处理,获得第一更新密钥;将所述第一更新密钥、所述密钥索引与所述更新公钥数据进行整合,生成更新设备端协商密钥;根据所述更新设备端密钥对所述第二更新密文数据进行解密处理,获得解密数据。

在示例性实施例中,服务端1120可以用于生成第二随机数、公钥数据与私钥数据;基于第一非对称加密算法对所述第二随机数进行加密处理,生成第二加密随机数;通过第二非对称加密算法对密钥索引、所述公钥数据与所述第二加密随机数进行加密处理,生成响应于所述密钥请求的密钥协商信息并发送至所述设备端。

在示例性实施例中,服务端1120可以用于基于第二非对称解密算法对所述密钥请求进行解密处理,获得第一加密随机数;基于第一加密算法,根据所述第二随机数与所述第一加密随机数生成第二密钥种子;通过预定函数对所述第二密钥种子进行处理,获得第二密钥;将所述第二密钥与所述私钥数据进行整合,生成服务端协商密钥。

在示例性实施例中,服务端1120可以用于根据所述数据请求确定待发送数据;根据所述待发送数据的敏感等级确定目标密钥和目标返回码。

根据本公开实施例提供的数据传输系统,在数据传输时,一方面,通过密文数据和目标返回码,并根据目标返回码确定目标密钥,利用目标密钥解密密文数据,能够以目标返回码为识别码,确定不同的目标密钥以对不同的密文数据进行解密,降低了部分密钥泄露时密文数据遭到泄露的概率,进而能够提高数据传输的安全性;另一方面,在对数据进行解密后,根据解密获得的目标状态码对解密状态进行判断,在目标状态码为第一状态码时,生成密钥请求和第一更新数据请求,并接收服务端响应于密钥请求的协商密钥信息和响应于第一更新数据请求的第一更新密文数据,以根据协商密钥信息对所述第一更新密文数据进行解密处理,获得解密数据,能够在目标状态码为第一状态码时确认目标密钥泄露,并在目标密钥泄露时根据协商密钥信息对更新密文数据进行解密,能够进一步提高数据传输的安全性。

图12示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。需要说明的是,图12示出的电子设备的计算机系统1120仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图12所示,计算机系统1200包括中央处理单元(cpu)1121,其可以根据存储在只读存储器(rom)1202中的程序或者从储存部分1208加载到随机访问存储器(ram)1203中的程序而执行各种适当的动作和处理。在ram1203中,还存储有系统操作所需的各种程序和数据。cpu1201、rom1202以及ram1203通过总线1204彼此相连。输入/输出(i/o)接口1205也连接至总线1204。

以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1207;包括硬盘等的储存部分1208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入储存部分1208。

特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本申请的系统中限定的各种功能。

需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的模块和/或单元和/或子单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的模块和/或单元和/或子单元也可以设置在处理器中。其中,这些模块和/或单元和/或子单元的名称在某种情况下并不构成对该模块和/或单元和/或子单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图2或图3或图4或图5或图6或图7或图8或图9或图10所示的各个步骤。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元或者子单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元或者子单元的特征和功能可以在一个模块或者单元或者子单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元或者子单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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