一种数据处理方法、装置、电子设备及存储介质与流程

文档序号:24633786发布日期:2021-04-09 20:44阅读:60来源:国知局
一种数据处理方法、装置、电子设备及存储介质与流程

本申请涉及数据加密领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。



背景技术:

现有技术中,窄带物联网(narrowbandinternetofthings,nb-iot)是iot领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(lpwan)。nb-iot设备在进行数据传输时,无法实现数据轻量化,且在数据传输过程中容易受到中间人攻击,截取传输的数据,并对数据进行篡改,从而导致nb-iot设备的数据传输的安全性低。

为了解决上述问题,现有技术中在数据在传输之前,一般通过秘钥算法进行秘钥计算,同时使用压缩算法进行数据压缩,以及保证数据轻量化,但是由于设备的rom秘钥不可更改,容易出现秘钥泄漏,以及数据暴露的情况,导致数据传输的安全性较低。



技术实现要素:

为了解决由于设备的rom秘钥不可更改,容易出现秘钥泄漏,以及数据暴露的情况,导致数据传输的安全性较低的技术问题,本申请提供了一种数据处理方法、装置、电子设备及存储介质。

根据本申请实施例的一个方面,提供了一种数据处理方法,应用于智能设备,包括:

根据第一私钥对待传输的数据内容及进行加密操作,得到第一加密数据,所述第一私钥根据所述智能设备的设备标识得到;

对所述第一加密数据进行加密操作得到明文摘要以及密文数据;

根据所述明文摘要以及所述密文数据生成第二加密数据;

将所述第二加密数据发送至服务器,由所述服务器对所述第二加密数据进行验证。

进一步的,所述对所述第一加密数据进行加密操作得到明文摘要以及密文数据,包括:

基于哈希算法对所述第一加密数据进行计算,得到哈希值;

将所述哈希值作为所述明文摘要;

采用第二私钥对所述第一加密数据进行加密操作,得到密文数据,所述第二私钥通过存储于所述智能设备中的随机加密算法生成。

进一步的,所述方法还包括:

根据存储于所述智能设备中的随机加密算法生成公钥以及所述第二私钥;

将所述公钥发送至所述服务器,所述公钥用于对所述服务器接收的所述第二加密数据进行解密。

进一步的,所述根据所述明文摘要以及所述密文数据生成第二加密数据,包括:

获取所述数据内容的时间戳;

根据所述时间戳、明文摘要以及所述密文数据生成所述第二加密数据。

根据本申请实施例的另一方面,还提供了一种数据处理方法,应用于服务器,包括:

当接收到来自于智能设备的公钥时,获取所述智能设备的设备标识;

根据所述设备标识进行加密处理得到第一私钥;

将所述第一私钥发送至所述智能设备。

进一步的,所述方法还包括:

接收来自于所述智能设备的加密数据,所述加密数据包括明文摘要以及密文数据;

采用所述公钥对所述密文数据进行一次解密,得到第一解密数据;

基于哈希算法对所述第一解密数据进行哈希计算,得到哈希值;

当所述哈希值与所述明文摘要相匹配时,采用第二私钥对所述第一解密数据进行二次解密,得到第二解密数据,所述第二私钥根据所述智能设备的设备标识得到。

根据本申请实施例的另一方面,还提供了一种数据处理装置,应用于智能设备,包括:

加密模块,用于根据第一私钥对待传输的数据内容及进行加密操作,得到第一加密数据,所述第一私钥根据所述智能设备的设备标识得到;

处理模块,用于对所述第一加密数据进行加密操作得到明文摘要以及密文数据;

生成模块,用于根据所述明文摘要以及所述密文数据生成第二加密数据;

发送模块,用于将所述第二加密数据发送至服务器,由所述服务器对所述第二加密数据进行验证。

根据本申请实施例的另一方面,还提供了一种数据处理装置,应用于服务器,包括:

获取模块,用于当接收到来自于智能设备的公钥时,获取所述智能设备的设备标识;

处理模块,用于根据所述设备标识进行加密处理得到第一私钥;

发送模块,用于将所述第一私钥发送至所述智能设备。

根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。

根据本申请实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

本申请首先采用根据设备标识得到的第一私钥对数据内容进行第一次加密,得到第一加密数据,然后通过hash算法以及随机加密算法对第一加密数据进行第二次加密,得到明文摘要以及密文数据。以此保证的私钥的随机性,从而不会出现秘钥泄漏,以及数据暴露的情况。同时提高了数据传输的安全性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种数据处理方法的流程图;

图2为本申请另一实施例提供的一种数据处理方法的流程图;

图3为本申请实施例提供的一种数据处理装置的框图;

图4为本申请另一实施例提供的一种数据处理装置的框图;

图5为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本申请实施例提供了一种数据处理方法、装置、电子设备及存储介质。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。

根据本申请实施例的一方面,提供了一种数据处理方法的方法实施例,该方法应用于智居设备。图1为本申请实施例提供的一种数据处理方法的流程图,如图1所示,该方法包括:

步骤s11,根据第一私钥对待传输的数据内容及进行加密操作,得到第一加密数据,第一私钥根据智能设备的设备标识得到;

在本申请实施例中,智能设备与服务器建立通信连接后,智能设备向服务器发送设备标识,设备标识例如设备序列号或设备的ip地址等等。服务器接收到设备标识后,根据设备标识生成第一私钥,并将第一私钥反馈给智能设备。

当智能设备接收到第一私钥后,按照第一私钥对待传输的数据内容进行加密,得到第一加密数据。其中待传输的数据内容包括用户的身份信息,用户的账户信息等等。

步骤s12,对第一加密数据进行加密操作得到明文摘要以及密文数据;

在本申请实施例中,对第一加密数据进行加密操作得到明文摘要以及密文数据,包括以下步骤a1-a3:

步骤a1,基于哈希算法对第一加密数据进行计算,得到哈希值;

步骤a2,将哈希值作为明文摘要;

步骤a3,采用第二私钥对第一加密数据进行加密操作,得到密文数据,第二私钥通过存储于智能设备中的随机加密算法生成。

在本申请实施例中,根据存储于智能设备中的随机加密算法生成公钥以及第二私钥,将公钥发送至服务器,公钥用于对服务器接收的第二加密数据进行解密。

其中,采用的随机加密算法为rsa(ronrivest、adishamir、leonardadleman)算法。采用rsa算法生成公钥和第二私钥的具体过程如下:

(1)随机选择两个不相等的质数p和q,其中p=61和q=53。

(2)计算p和q的乘积n,n=61×53=3233。

其中,n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。实际应用中,rsa密钥一般是1024位,重要场合则为2048位。

(3)计算n的欧拉函数

根据公式算出等于60×52,即3120。

(4)随机选择一个整数e,也就是公钥当中用来加密的那个数字条件是且e与互质。就在1到3120之间,随机选择了17。

(5)计算e对于的模反元素d。也就是密钥当中用来解密的那个数字所谓"模反元素"就是指有一个整数d,可以使得e被除的余为1。即17×2753mode3120=1。

(6)将n和e封装成公钥,n和d封装成第二私钥。

基于上述计算结果,n=3233,e=17,d=2753,所以公钥就是(3233,17),第二私钥就是(3233,2753)。

在本申请实施例中,首先对第一加密数据进行比特串分组,使得每个分组对应的十进制数小于n,然后依次对每个分组m进行加密,得到密文数据,可以理解的,所有分组的密文构成的序列就是密文数据,即m满足0≤m<n,则加密算法为:

c=m^emodn;c为第一加密数据,且0≤c<n。

本申请实施例提供的方法,通过双重加密及hash校验能够防止数据内容被篡改。即使存在中间人攻击,截取了数据内容,也无法进行篡改。

步骤s13,根据明文摘要以及密文数据生成第二加密数据;

在本申请实施例中,根据明文摘要以及密文数据生成第二加密数据,包括以下步骤b1-b2:

步骤b1,获取数据内容的时间戳;

步骤b2,根据时间戳、明文摘要以及密文数据生成第二加密数据。

在本申请实施例中,通过加入时间戳,能够避免重放攻击。

步骤s14,将第二加密数据发送至服务器,由服务器对第二加密数据进行验证。

在本申请实施例中,通过将第二加密数据发送至服务器,由服务器对第二加密数据件进行解密并验证,确定智能设备发送的数据是否被篡改。

本申请首先采用根据设备标识得到的第一私钥对数据内容进行第一次加密,得到第一加密数据,然后通过hash算法以及随机加密算法对第一加密数据进行第二次加密,得到明文摘要以及密文数据。以此保证的私钥的随机性,从而不会出现秘钥泄漏,以及数据暴露的情况。同时提高了数据传输的安全性。

图2为本申请实施例提供的一种数据处理方法的流程图,如图2所示,该方法应用于服务器,包括以下步骤:

步骤s21,当接收到来自于智能设备的公钥时,获取智能设备的设备标识;

在本申请实施例中,智能设备在发送数据之前,智能设备采用随机算法生成公钥以及私钥,并将得到的公钥发送至服务器,当服务器收到公钥后,获取发送该公钥的智能设备对应的设备标识,设备标识可以是设备序列号,设备ip地址等等。

步骤s22,根据设备标识进行加密处理得到第一私钥;

在本申请实施例中,采用预设的加密算法对设备标识进行加密处理得到第一私钥,其中预设的加密算法可是:md5算法,sha1算法以及hmac算法等等。

步骤s23,将第一私钥发送至智能设备。

本申请实施例提供的方法还包括以下步骤c1-c4:

步骤c1,接收来自于智能设备的加密数据,加密数据包括明文摘要以及密文数据;

在本申请实施例中,加密数据包括明文摘要以及密文数据之外,还包括时间戳。

步骤c2,采用公钥对密文数据进行一次解密,得到第一解密数据;

在本申请实施例中,公钥为智能设备采用随机加密算法生成后发送至服务器。对密文数据c(0≤c<n)进行解密,得到第一解密数据,解密算法为:m=c^dmodn。

步骤c3,基于哈希算法对第一解密数据进行哈希计算,得到哈希值;

在本本申请实施例中,通过哈希算法对第一解密数据进行计算,得到哈希值,并将哈希值与明文摘要进行对比,从而确定数据是否被篡改。

步骤c4,当哈希值与明文摘要相匹配时,采用第二私钥对第一解密数据进行二次解密,得到第二解密数据,第二私钥根据智能设备的设备标识得到。

在本申请实施例中,在服务器方面,通过确定加密数据中的明文摘要及密文数据,通过智能设备第一次发送的公钥对密文数据进行第一次解密,解密成功后,再将该解密得到数据通过hash算法校验与摘要是否相同,相同则进行第二次解密,此时通过存储的私钥(该私钥根据设备标识得到)对第一解密得到的数据进行第二次解密,得到真正的数据内容,并将此数据内容进行存储。

图3为本申请实施例提供的一种数据处理装置的框图,应用于智能设备,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,该装置包括:

加密模块31,用于根据第一私钥对待传输的数据内容及进行加密操作,得到第一加密数据,第一私钥根据智能设备的设备标识得到;

处理模块32,用于对第一加密数据进行加密操作得到明文摘要以及密文数据;

生成模块33,用于根据明文摘要以及密文数据生成第二加密数据;

发送模块34,用于将第二加密数据发送至服务器,由服务器对第二加密数据进行验证。

进一步的,处理模块32,用于基于哈希算法对第一加密数据进行计算,得到哈希值;将哈希值作为明文摘要;采用第二私钥对第一加密数据进行加密操作,得到密文数据,第二私钥通过存储于智能设备中的随机加密算法生成。

进一步的,私钥生成模块,用于根据存储于智能设备中的随机加密算法生成公钥以及第二私钥;将公钥发送至服务器,公钥用于对服务器接收的第二加密数据进行解密。

进一步的,生成模块33,用于获取数据内容的时间戳;根据时间戳、明文摘要以及密文数据生成第二加密数据。

图4为本申请实施例提供的一种数据处理装置的框图,应用于智能设备,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该装置包括:

获取模块41,用于当接收到来自于智能设备的公钥时,获取智能设备的设备标识;

处理模块42,用于根据设备标识进行加密处理得到第一私钥;

发送模块43,用于将第一私钥发送至智能设备。

进一步的,装置还包括:解密模块,用于接收来自于智能设备的加密数据,加密数据包括明文摘要以及密文数据;采用公钥对密文数据进行一次解密,得到第一解密数据;基于哈希算法对第一解密数据进行哈希计算,得到哈希值;当哈希值与明文摘要相匹配时,采用第二私钥对第一解密数据进行二次解密,得到第二解密数据,第二私钥根据智能设备的设备标识得到。

本申请实施例还提供一种电子设备,如图5所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。

存储器1503,用于存放计算机程序;

处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。

上述终端提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据处理方法。

在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据处理方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk)等。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

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