数据加密方法、装置和系统与流程

文档序号:11590240阅读:317来源:国知局
数据加密方法、装置和系统与流程

本发明涉及数据传输领域,具体而言,涉及一种数据加密方法、装置和系统。



背景技术:

在现有技术的框架下,只能开关等工业和能源控制类设备,通常没有加密系统,完全以明文传输到方式进行数据传输。因此只要了解标准的通信协议,甚至只要能够连接至内部网络,就能控制设备的运行,从而导致设备的处于不安全的状态。

为了解决上述设备的数据安全的问题,通常的做法是在明文传输的基础之上,采购第三方厂商生产的加密通信模块,以完成通信加密的要求。第三方厂商的通信加密模块,实现加密的算法各异,方法各有利弊,无法权衡。并且经常无法与业务高度匹配,加装效果不好。

如果额外从第三方购买加密硬件,加密硬件独立负责将传入的明文数据加密,或将密文数据解密。加解密过程与设备无关,无法准确地识别一个完整的数据通信包,经常截断数据包,造成通信不稳定。且额外的加密硬件耗费额外的购买成本,造成了资源浪费。

如果采用软件加密的方式对工业设备进行加密,现有技术的加密强度不高,往往只使用一个或一对通信密钥,泄露风险大。一旦通信密钥泄露,将使得整个加密环境失效;且加密通信密钥一旦投入使用,就无法更新,这使得泄露之后除非更换加密设备,否则无法恢复安全环境。并且长期使用同一个加密密钥,存在被第三方黑客暴力测试破解的可能性,黑客通过撞库等方式能够将设备的密码破解。

针对现有技术中工业开关和能源控制类设备均采用明文传输的方式传输数据,导致安全性较低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种数据加密方法、装置和系统,以至少解决现有技术中工业开关和能源控制类设备均采用明文传输的方式传输数据,导致安全性较低的技术问题。

根据本发明实施例的一个方面,提供了一种数据加密方法,包括:向第一接收端发送一个或多个第一数据,其中,第一数据至少包含一个通过非对称算法加密过的第一随机数;接收第一接收端返回的一个或多个第二数据,其中,第二数据至少包含一个通过非对称算法加密过的第二随机数;根据第一随机数和第二随机数构成密钥。

根据本发明实施例的另一个方面,提供了一种数据加密方法,包括:接收发送端发送的一个或多个第一数据,其中,第一数据至少包括一个通过非对称算法加密过的第一随机数;向发送端发送一个或多个第二数据,其中,第二数据至少包括一个通过非对称算法加密过的第二随机数;根据第一随机数和第二随机数构成密钥。

根据本发明实施例的另一方面,还提供了一种数据加密系统,包括:发送端,向第一接收端发送一个或多个第一数据,接收第一接收端返回的一个或多个第二数据,并根据第一数据包含的第一随机数和第二数据包含的第二随机数构成密钥,其中,其中,第一数据至少包括一个通过非对称算法加密过的第一随机数,第一数据和第二数据均至少包含一个通过非对称算法加密过的第二随机数;第一接收端,与发送端通信,用于接收发送端发送的一个或多个第一数据,向发送端返回一个或多个第二数据,并根据第一数据包含的第一随机数和第二数据包含的第二随机数构成密钥。

根据本发明实施例的另一方面,还提供了一种数据加密装置,包括:发送模块,用于向第一接收端发送一个或多个第一数据,其中,第一数据至少包含一个通过非对称算法加密过的第一随机数;接收模块,用于接收第一接收端返回的一个或多个第二数据,其中,第二数据至少包含一个通过非对称算法加密过的第二随机数;构成模块,用于根据第一随机数和第二随机数构成密钥。

根据本发明实施例的另一方面,还提供了一种数据加密装置,包括:接收模块,用于接收发送端发送的一个或多个第一数据,其中,第一数据至少包括一个通过非对称算法加密过的第一随机数;发送模块,用于向发送端发送一个或多个第二数据,其中,第二数据至少包括一个通过非对称算法加密过的第二随机数;构成模块,用于根据第一随机数和第二随机数构成密钥。

根据本发明实施例的另一方面,还提供了一种存储介质,包括:包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述数据加密方法。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述数据加密方法。

在本发明实施例中,设备端向通信服务器发送了两次随机数,通信服务器向设备端返回了一次随机数,而实际上,还可以进行多次随机数的生成和机密发送,且每次发送也不限于仅发送一个随机数。任何发送端和接收端通过发送加密随机数的方式构成数据传输所需的密钥,都属于本申请所保护的范围。

上述方案首先使用了rsa算法,利用其加密等级高的特点,在通信双方交换数据传输所使用的密钥。采用非对称算法的方式实现数据传输的安全信道的建立,由于交换信息的数据量小,避免了rsa算法效率低的缺点。当密钥交换完成之后,切换为aes算法,使用刚刚生成的随机数密钥,避免了aes必须预共享密钥的缺点,防止了密钥被猜到,并为后续的大量数据提供了aes算法效率高的优点。从而解决了现有技术中工业开关和能源控制类设备均采用明文传输的方式传输数据,导致安全性较低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种数据加密方法的流程图;

图2是根据本发明实施例的又一种数据加密方法的流程图;

图3是根据本申请实施例的一种可选的信息交互图;

图4是根据本申请实施例的一种可选的数据加密系统的结构示意图;

图5是根据本申请实施例的一种可选的数据加密装置的结构示意图;以及

图6是根据本申请实施例的一种可选的数据加密装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了方便对下述实施例的理解,下面,对下述实施例出现的名词进行解释:

rsa:一种非对称加密算法,算法使用公钥和私钥来进行加密和解密。公钥进行加密,私钥进行解密,公钥可以随意分发给任何人,即任何人都可以生成使用此公钥的加密信息。但私钥必须保密地掌握在解密人手中,并且私钥可以导出公钥内容,所以私钥必须严格保管,一旦私钥暴露则加密失败。优点是加密强度高,基本不存在破解可能性,并且由于使用了一对密钥,具备一定的防抵赖特性,但缺点是由于计算量大,性能不高,只适合加密少量数据。

aes:一种对称加密算法,算法在加密方和解密方均使用同一个密钥,密钥需要预先共享给双方才能完成加密和解密过程。此算法加密强度高,应用范围广,性能好,适合针对大量数据的加密。但由于是对称加密算法,一旦密钥泄露,双方都不再安全。

https:https为一种安全加密通信协议,使用安全的基于证书认证的加密协议,能够有效地保障通信数据在通信过程中不被解密窃听。即使中途数据被篡改,数据接收方也能经由证书发现数据被篡改的事实,及时丢弃被篡改的数据包。

实施例1

根据本发明实施例,提供了一种数据加密方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种数据加密方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,向第一接收端发送一个或多个第一数据,其中,第一数据至少包含一个通过非对称算法加密过的第一随机数。

具体的,上述第一数据可以由设备端发送,设备端可以是智能开关等设备。上述第一接收端可以是用于远程控制智能开关的云平台中的通信服务器。上述第一随机数可以由设备端生成,在设备端生成第一随机数之后,根据预设的非对称加密算法中的公钥对第一数据加密。

此处需要说明的是,非对称加密算法包括加密对,加密对包括公钥和私钥,其中,公钥可以随意分发给系统中的任何设备,即,在这一通信系统中的设备都能够使用公钥对数据进行加密,但私钥仅在通信系统中的预设设备中保存,也仅保存私钥的设备能够对加密后的数据进行解密。

步骤s104,接收第一接收端返回的一个或多个第二数据,其中,第二数据至少包含一个通过非对称算法加密过的第二随机数。

具体的,由于设备端和通信服务器(即第一接收端)处于同一通信系统中,因此,上述第一接收端也能够应用该系统中公知的公钥对第二随机数进行加密。并将加密后的第二数据返回值发送端(即上述设备端)。

步骤s106,根据第一随机数和第二随机数构成密钥。

经过步骤s102和步骤s104,设备端和第一接收端中都包含第一随机数和第二随机数,因此可以将第一随机数和第二随机数构成密钥。由于密钥由设备端生成的第一随机数和第一接收端生成的第二随机数构成,因此及时将其他终端接入设备端所处的网络,也不能获取设备端的加密数据。

此处需要说明的是,上述步骤对第一数据中包含的随机数和第二数据包中包含的随机数的数量不做限制,且对设备端对第一接收端发送第一数据的次数,以及第一接收端向设备端发送第二数据的次数也不做具体限制。

在一种可选的实施例中,以智能开关向通信服务器发送随机数为例。智能开关与通信服务器建立连接,智能开关生成第一个随机数,使用该通信系统中公知的公钥对第一个随机数进行加密,并将加密后的第一随机数发送至通信服务器;通信服务器在接收包含加密第一随机数的第一数据后,使用于公钥对应的私钥对第一数据进行解密,取得响应结果,从而得到第一随机数。

随后,通信服务器生成第二随机数,并对第二随机数使用公钥进行加密,该公钥可以与智能开关对第一随机数加密时使用的公钥相同,也可以与智能开关对第一随机数加密时使用的公钥不同。在对第二随机数进行加密后返回至智能开关,智能开关使用此次公钥对应的私钥低对数据进行解密,从而得到第二随机数。

在智能开关获取到第二随机数之后,为了增加数据的密级,还可以继续生成第三随机数,通过同样的方式对数据进行加密后发送至通信服务器。对第三随机数加密用的公钥可以与智能开关对第一随机数加密时使用的公钥相同,也可以与智能开关对第一随机数加密时使用的公钥不同。

由此,智能开关和通信服务器都知晓了三个随机数,在后续智能开关向云平台传输数据时,使用这三个随机数构成的密钥对数据进行加密,云平台也采用这三个随机数构成的密钥对数据进行解密,进一步的,云平台向智能开关下发指令时也可以采用这三个随机数构成的密钥对指令进行加密,智能开关以同样的方式最指令数据包进行解密。

在上述实施例中,设备端向通信服务器发送了两次随机数,通信服务器向设备端返回了一次随机数,而实际上,还可以进行多次随机数的生成和机密发送,且每次发送也不限于仅发送一个随机数。任何发送端和接收端通过发送加密随机数的方式构成数据传输所需的密钥,都属于本申请所保护的范围。

上述方案首先使用了rsa算法,利用其加密等级高的特点,在通信双方交换数据传输所使用的密钥。采用非对称算法的方式实现数据传输的安全信道的建立,由于交换信息的数据量小,避免了rsa算法效率低的缺点。当密钥交换完成之后,切换为aes算法,使用刚刚生成的随机数密钥,避免了aes必须预共享密钥的缺点,防止了密钥被猜到,并为后续的大量数据提供了aes算法效率高的优点。从而解决了现有技术中工业开关和能源控制类设备均采用明文传输的方式传输数据,导致安全性较低的技术问题。

进一步的,还可以按照预设重新生成新的密钥,以防止通过撞库的方式获取数据传输所使用的密钥。

可选的,在一种可选的实施例中,在向第一接收端发送一个或多个第一数据之前,方法还包括:

步骤s108,向第二接收端发送第三数据,其中,第三数据用于第一接收端进行验证,第三数据包括:设备信息和加密算法清单,加密算法清单用于记录允许实现的加密算法。

具体的,上述第二接收端可以是云平台远端接口。在一种可选的实施例中,在建立加密信道之前,设备端向远端的云平台通信接口提交自己的设备信息,并且附带自己设备所支持的加密算法清单给远端云平台进行验证。这一过程发生在https层,提交的信息可以保证不被窃取。

步骤s1010,接收第二接收端返回的验证信息和第一接收端的地址信息,以确定第一接收端,其中,验证信息用于第一接收端对发送端进行验证。

在一种可选的实施例中,云平台内部在验证了设备提交的信息之后,生成一个随机数组成的临时通信握手令牌,并将此令牌传输给实际负责通信的通信服务器和设备端,将此令牌传输给实际负责通信的通信服务器这一过程发生在云平台内部;设备端接收到云服务返回的临时通信握手令牌,以及实际将要与之通信的通信服务器地址。过程也使用https协议进行通信,能够保障数据传输的安全性。

在上述步骤中,设备端通过与第二接收端进行通信,从而得到第一接收端的通信地址。

可选的,在一种可选的实施例中,在向第一接收端发送一个或多个第一数据的同时,上述方法还包括:向发送端发送验证信息。

具体的,上述验证信息可以为云平台返回至发送端的临时握手信息,第一接收端接收验证信息,并验证成功后,返回“ok”并发送机密的第二随机数。

在这一过程中,双方关闭https协议的通信过程,转为使用socket套接字。设备端与刚收到的通信服务器建立连接,发送之前从云平台通信接口收到的临时通信握手令牌。

可选的,在一种可选的实施例中,非对称加密算法包括:上行密钥对和下行密钥对,其中,上行密钥对用于对发送至第一接收端的数据进行加密或解密,下行密钥对接收到的数据进行加密或解密。

在一种可选的实施例中,在通信开始之前,需要明确通信双方需要预先安装两对,即四个rsa通信密钥,此过程必须发生在安全可信环境下。并且每个密钥对在保存的过程中,不允许在一端同时得知密钥对中的两个密钥。

第一对rsa通信密钥即为上行密钥对,由设备保存密钥对中的公钥,由云平台保存密钥对中的私钥。设备在向云平台发送数据时,使用自己保存的公钥加密数据,云平台使用保存的私钥解密数据。

第二对rsa通信密钥即为下行密钥对,由设备保存密钥对中的私钥,由云平台保存密钥对中的公钥。云平台在向设备发送数据时,使用自己保存的公钥加密数据,设备使用保存的私钥解密数据。

同时使用两个rsa上下行密钥对,能够完全防止其中一个泄露之后,连接被完全控制的可能性。并且上行密钥对只负责从设备发送到云平台的数据,下行密钥对只负责从云平台发送到设备的数据。两对密钥之间没有实际的连接关系,因此即使一对密钥被破解,也无法获取到全部的随机数,即取法获取到最终用于对数据进行加密的密钥。

因此只有同时攻破了云品台,并且也攻破了设备,才能完整地得到两个密钥对中的所有密钥,进而掌控通信握手流程。而这一条件通常难以完成,所以能够保证安全性。进一步地,由于上述方案采用了三层随机数(可以使用其他层数),并且这三层随机数保存在云平台和设备的内存中,必须攻破其中之一,并且获取内存数据,才能拿到三层随机数。加之随机数的内容是完全随机不可预测的,而且是三层随机数叠加,避免了其中一方随机算法可预测的情况,从而完全排除了伪随机数的可能性。

可选的,在一种可选的实施例中,向第一接收端发送一个或多个第一数据的步骤包括:对第一随机数通过预设的上行密钥对中的公钥进行加密,将加密后的第一随机数发送至第一接收端;接收第一接收端返回的一个或多个第二数据的步骤包括:对第一接收端返回的第二数据通过预设的下行密钥中的私钥进行解密,得到第二随机数。

可选的,在一种可选的实施例中,在根据第一随机数和第二随机数构成密钥之后,上述方法还包括:根据密钥通过对称加密算法对待传输数据进行加密或解密。

具体的,上述待传输数据为,仍以设备端为智能开关为例,待传输数据可以包括:智能开关的运行参数或云平台向智能开关下发的指令。

实施例2

根据本发明实施例,提供了一种数据加密方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本发明实施例的又一种数据加密方法的流程图,如图2所示,该方法包括如下步骤:

步骤s202,接收发送端发送的一个或多个第一数据,其中,第一数据至少包括一个通过非对称算法加密过的第一随机数。

具体的,上述发送端可以为设备端,例如:智能开关等设备。

步骤s204,向发送端发送一个或多个第二数据,其中,第二数据至少包括一个通过非对称算法加密过的第二随机数。

步骤s206,根据第一随机数和第二随机数构成密钥。

此处需要说明的是,上述步骤对第一数据中包含的随机数和第二数据包中包含的随机数的数量不做限制,且对设备端对第一接收端发送第一数据的次数,以及第一接收端向设备端发送第二数据的次数也不做具体限制。

在上述实施例中,设备端向通信服务器发送了两次随机数,通信服务器向设备端返回了一次随机数,而实际上,还可以进行多次随机数的生成和机密发送,且每次发送也不限于仅发送一个随机数。任何发送端和接收端通过发送加密随机数的方式构成数据传输所需的密钥,都属于本申请所保护的范围。

上述方案首先使用了rsa算法,利用其加密等级高的特点,在通信双方交换数据传输所使用的密钥。采用非对称算法的方式实现数据传输的安全信道的建立,由于交换信息的数据量小,避免了rsa算法效率低的缺点。当密钥交换完成之后,切换为aes算法,使用刚刚生成的随机数密钥,避免了aes必须预共享密钥的缺点,防止了密钥被猜到,并为后续的大量数据提供了aes算法效率高的优点。从而解决了现有技术中工业开关和能源控制类设备均采用明文传输的方式传输数据,导致安全性较低的技术问题。

可选的,根据本申请上述实施例,在接收发送端发送的一个或多个第一数据的同时,上述方法还包括:

步骤s208,接收发送端发送的验证信息。

具体的,上述验证信息可以是云平台向设备端和通信服务器发送端临时握手令牌。

步骤s2010,根据验证信息对发送端进行验证。

在一种可选的实施例中,云平台内部在验证了设备提交的信息之后,生成一个随机数组成的临时通信握手令牌,并将此令牌传输给实际负责通信的通信服务器和设备端,将此令牌传输给实际负责通信的通信服务器这一过程发生在云平台内部;设备端接收到云服务返回的临时通信握手令牌,以及实际将要与之通信的通信服务器地址。过程也使用https协议进行通信,能够保障数据传输的安全性。

图3是根据本申请实施例的一种可选的信息交互图,下面,结合图3所示,以智能开关作为发送端,以云平台中的通信服务器作为第一接收端,以云平台远端通信接口作为第二接收端,对上述方案的一种可选的实施例进行进一步描述。其中,云平台远端通信接口与云平台的通信服务器的数据交互发生在云平台内部。

步骤s301,设备端(发送端40)向云平台远端通信接口(第二接收端44)提交设备信息以及设备所支持的通信加密算法的清单。

步骤s302,云平台远端通信接口(第二接收端44)向设备端(发送端40)返回验证结果和生成的临时通信握手令牌,以及分配的通信服务器的地址。

步骤s303,云平台远端通信接口(第二接收端44)向分配的通信服务器(第一接收端42)发送临时通信握手令牌。

需要注意的是,上述步骤s301至步骤s303使用https安全信道防止数据被窃听。

在进行步骤s304之前,首先向设备端和第一接收端发放上行rsa密钥对以及下行rsa密钥对。

步骤s304,建立套接字连接,设备端(发送端40)向第一接收端42发送临时通信握手令牌,以及生成的第一个随机数,其中,该第一个随机数使用上行rsa密钥对中的公钥进行了加密。

步骤s305,第一接收端42验证临时通信握手令牌,向设备端(发送端40)返回ok信息,以及第二个随机数,其中,第二个随机数使用下行rsa密钥对中的公钥进行了加密。

具体的,上述第一接收端在返回ok信息后,还使用上行rsa密钥中的私钥对第一随机数进行解密,从而获取到第一随机数。

步骤s306,设备端(发送端40)生成第三随机数,并将第三随机数发送至第一接收端42,其中,该第三个随机数使用上行rsa密钥对中的公钥进行了加密。

具体的,上述设备端在接收到第二随机数之后,还使用下行rsa密钥中的私钥对第二随机数进行解密,从而获取到第二随机数。

步骤s307,第一接收端42响应返回通信成功的握手消息,改变加密协议为aes对称加密算法。

实施例3

根据本发明实施例,提供了一种数据加密系统的实施例,图4是根据本申请实施例的一种可选的数据加密系统的结构示意图,结合图4所示,该系统包括:

发送端40,向第一接收端发送一个或多个第一数据,接收第一接收端返回的一个或多个第二数据,并根据第一数据包含的第一随机数和第二数据包含的第二随机数构成密钥,其中,其中,第一数据至少包括一个通过非对称算法加密过的第一随机数,第一数据和第二数据均至少包含一个通过非对称算法加密过的第二随机数。

第一接收端42,与发送端通信,用于接收发送端发送的一个或多个第一数据,向发送端返回一个或多个第二数据,并根据第一数据包含的第一随机数和第二数据包含的第二随机数构成密钥。

在上述实施例中,设备端向通信服务器发送了两次随机数,通信服务器向设备端返回了一次随机数,而实际上,还可以进行多次随机数的生成和机密发送,且每次发送也不限于仅发送一个随机数。任何发送端和接收端通过发送加密随机数的方式构成数据传输所需的密钥,都属于本申请所保护的范围。

上述方案首先使用了rsa算法,利用其加密等级高的特点,在通信双方交换数据传输所使用的密钥。采用非对称算法的方式实现数据传输的安全信道的建立,由于交换信息的数据量小,避免了rsa算法效率低的缺点。当密钥交换完成之后,切换为aes算法,使用刚刚生成的随机数密钥,避免了aes必须预共享密钥的缺点,防止了密钥被猜到,并为后续的大量数据提供了aes算法效率高的优点。从而解决了现有技术中工业开关和能源控制类设备均采用明文传输的方式传输数据,导致安全性较低的技术问题。

进一步的,还可以按照预设重新生成新的密钥,以防止通过撞库的方式获取数据传输所使用的密钥。

可选的,根据本申请上述实施例,上述系统还包括:

第二接收端44,第二接收端分别与发送端和第一接收端通信,用于接收发送端发送的第三数据,并向发送端返验证信息和第一接收端的地址信息,其中,第三数据用于第一接收端进行验证,第三数据包括:设备信息和加密算法清单,加密算法清单用于记录发送端允许实现的加密算法,验证信息用于第一接收端对发送端进行验证。

实施例4

根据本发明实施例,提供了一种数据加密装置的实施例,图5是根据本申请实施例的一种可选的数据加密装置的结构示意图,结合图5所示,该系统包括:

发送模块50,用于向第一接收端发送一个或多个第一数据,其中,第一数据至少包含一个通过非对称算法加密过的第一随机数。

接收模块52,用于接收第一接收端返回的一个或多个第二数据,其中,第二数据至少包含一个通过非对称算法加密过的第二随机数。

构成模块54,用于根据第一随机数和第二随机数构成密钥。

在上述实施例中,设备端向通信服务器发送了两次随机数,通信服务器向设备端返回了一次随机数,而实际上,还可以进行多次随机数的生成和机密发送,且每次发送也不限于仅发送一个随机数。任何发送端和接收端通过发送加密随机数的方式构成数据传输所需的密钥,都属于本申请所保护的范围。

由上可知,本申请上述实施例通过发送模块向第一接收端发送一个或多个第一数据,其中,第一数据至少包含一个通过非对称算法加密过的第一随机数,通过接收模块接收第一接收端返回的一个或多个第二数据,其中,第二数据至少包含一个通过非对称算法加密过的第二随机数,通过构成模块根据第一随机数和第二随机数构成密钥。上述方案首先使用了rsa算法,利用其加密等级高的特点,在通信双方交换数据传输所使用的密钥。采用非对称算法的方式实现数据传输的安全信道的建立,由于交换信息的数据量小,避免了rsa算法效率低的缺点。当密钥交换完成之后,切换为aes算法,使用刚刚生成的随机数密钥,避免了aes必须预共享密钥的缺点,防止了密钥被猜到,并为后续的大量数据提供了aes算法效率高的优点。从而解决了现有技术中工业开关和能源控制类设备均采用明文传输的方式传输数据,导致安全性较低的技术问题。

进一步的,还可以按照预设重新生成新的密钥,以防止通过撞库的方式获取数据传输所使用的密钥。

实施例5

根据本发明实施例,提供了一种数据加密装置的实施例,图6是根据本申请实施例的一种可选的数据加密装置的结构示意图,结合图6所示,该系统包括:

接收模块60,用于接收发送端发送的一个或多个第一数据,其中,第一数据至少包括一个通过非对称算法加密过的第一随机数。

发送模块62,用于向发送端发送一个或多个第二数据,其中,第二数据至少包括一个通过非对称算法加密过的第二随机数。

构成模块64,用于根据第一随机数和第二随机数构成密钥。

由上可知,本申请上述实施例通过接收模块接收发送端发送的一个或多个第一数据,其中,第一数据至少包括一个通过非对称算法加密过的第一随机数,通过发送模块向发送端发送一个或多个第二数据,其中,第二数据至少包括一个通过非对称算法加密过的第二随机数,通过构成模块根据第一随机数和第二随机数构成密钥。上述方案首先使用了rsa算法,利用其加密等级高的特点,在通信双方交换数据传输所使用的密钥。采用非对称算法的方式实现数据传输的安全信道的建立,由于交换信息的数据量小,避免了rsa算法效率低的缺点。当密钥交换完成之后,切换为aes算法,使用刚刚生成的随机数密钥,避免了aes必须预共享密钥的缺点,防止了密钥被猜到,并为后续的大量数据提供了aes算法效率高的优点。从而解决了现有技术中工业开关和能源控制类设备均采用明文传输的方式传输数据,导致安全性较低的技术问题。

进一步的,还可以按照预设重新生成新的密钥,以防止通过撞库的方式获取数据传输所使用的密钥。

实施例6

根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实施例1中任意一项的数据加密方法。

上述数据加密方法的具体实施方式可以如实施例1所示,此处不再赘述。

实施例7

根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行实施例1中任意一项的数据加密方法。

上述数据加密方法的具体实施方式可以如实施例1所示,此处不再赘述。

实施例8

根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实施例2中任意一项的数据加密方法。

上述数据加密方法的具体实施方式可以如实施例2所示,此处不再赘述。

实施例9

根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行实施例2中任意一项的数据加密方法。

上述数据加密方法的具体实施方式可以如实施例1所示,此处不再赘述。

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

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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