CN113722741A - 数据加密方法及装置、数据解密方法及装置 - Google Patents
数据加密方法及装置、数据解密方法及装置 Download PDFInfo
- Publication number
- CN113722741A CN113722741A CN202111046078.3A CN202111046078A CN113722741A CN 113722741 A CN113722741 A CN 113722741A CN 202111046078 A CN202111046078 A CN 202111046078A CN 113722741 A CN113722741 A CN 113722741A
- Authority
- CN
- China
- Prior art keywords
- white
- data
- box
- key
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
Abstract
本发明公开了一种数据加密方法及装置、数据解密方法及装置。其中,该方法包括:接收终端发送的数据请求,其中,数据请求中携带有终端的标识;根据标识确定终端对应的白盒密钥,其中,白盒密钥为终端的白盒解密算法唯一对应的密钥;通过白盒密钥对数据请求对应的数据明文进行加密,得到数据密文;将数据密文和白盒密钥发送给终端。本发明解决了相关技术中的数据加密方式,在物联网中加密传输时,加密效果不好的技术问题。
Description
技术领域
本发明涉及数据安全协议领域,具体而言,涉及一种数据加密方法及装置、数据解密方法及装置。
背景技术
随着物联网的兴起与发展,智能化物联网IoT设备越来越多地融入我们的日常生活中。智能IoT设备给我们的生活带来了便利性,但相关的安全及隐私问题也随之而来。近年来,各种智能IoT设备的安全问题频繁发生,如何保证即安全又智能地使用智能化设备,成为使用者关心的重点。
为了保证智能IoT设备数据在生命周期内安全保护问题,通常的做法是将数据进行加密,再将数据进行传输和存储。虽然数据被加密,但是又引入了加密密钥的保护、为了保证加密密钥的安全性,常采用技术是:引入KMS系统(密钥管理系统)或安全芯片来实现密钥的保护;或者使用KDF算法(密钥生成算法)来生成密钥的方式来实现密钥的保护。然而前者中由于KMS系统及安全芯片的引入增加使用成本,且不适用家庭、小区等小型应用场景的应用;后者密钥因子的选取以及根密钥的保存也是一个痛点。同时这两者方式满足的前提是执行终端和运行环境是安全的情况下。但如今,这些智能IoT设备可能会处于不安全的运行环境或处于终端(手机)用户完全控制下,因此恶意用户可能对这些应用进行逆向、动态调试等,获取应用中的密钥。如何保证不可信终端和运行环境下保证智能IoT设备视频的安全传输和存储,成了智能IoT设备及应用用户关心的一个重点。
相关技术中,实现安全保证的前提是执行终端和运行环境是安全的情况下,无法阻止恶意用户对应用进行逆向、动态调试来获取应用中的密钥。现有技术通过引入安全芯片或KMS系统(密钥管理系统)保护视频加密时,造成智能IoT设备的计算和存储开销增加,同时限制家庭、小区等小型应用场景应用。现有技术通过KDF算法(密钥生成算法)实现视频加密密钥的保存,但是需要额外的控制措施去保护密钥生成因子或根密钥,从而保证视频数据存储和传输的安全性。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据加密方法及装置、数据解密方法及装置,以至少解决相关技术中的数据加密方式,在物联网中加密传输时,加密效果不好的技术问题。
根据本发明实施例的一个方面,提供了一种数据加密方法,包括:接收终端发送的数据请求,其中,所述数据请求中携带有所述终端的标识;根据所述标识确定所述终端对应的白盒密钥,其中,所述白盒密钥为所述终端的白盒解密算法唯一对应的密钥;通过所述白盒密钥对所述数据请求对应的数据明文进行加密,得到数据密文;将所述数据密文和所述白盒密钥发送给所述终端。
可选的,根据所述标识确定所述终端对应的白盒密钥之前,还包括:确定用于对所述终端进行数据加密的加密密钥;通过白盒密码对所述加密密钥进行计算,得到所述加密密钥对应的白盒密钥;接收终端的请求,将所述白盒密钥和终端进行绑定。
可选的,接收终端发送的数据请求之后,还包括:根据所述标识对所述终端进行认证,其中,所述标识包括所述终端的终端用户信息;在认证通过的情况下,执行根据所述标识确定所述终端对应的白盒密钥的步骤。
可选的,根据所述标识确定所述终端对应的白盒密钥之前,包括:生成多个白盒密钥,存储到密钥库中;在白盒密钥与终端绑定后,将所述白盒密钥与对应终端的标识的对应关系,存储到所述密钥库中;根据所述标识确定所述终端对应的白盒密钥包括:将所述标识作为索引,查找所述密钥库中匹配的目标对应关系;根据所述目标对应关系,在密钥库中查找所述标识对应的白盒密钥,作为所述终端对应的白盒密钥。
可选的,通过所述白盒密钥对所述数据请求对应的数据明文进行加密,得到数据密文包括:接收采集设备发送的所述数据明文,其中,所述采集设备用于采集所述数据明文;根据所述白盒密钥结合预设的白盒加密算法,对所述数据明文进行加密计算,得到对应的数据密文,其中,所述白盒加密算法的加密逻辑与所述白盒密钥的参数结合。
可选的,将所述数据密文和所述白盒密钥发送给所述终端包括:将所述数据密文和所述白盒密钥发送至云端;通过所述云端对所述终端进行验证;在验证通过的情况下,通过所述云端将所述数据密文和所述白盒密钥发送给所述终端。
根据本发明实施例的另一方面,还提供了一种数据解密方法,包括:发送数据请求,其中,所述数据请求中携带有用于确定白盒密钥的标识,所述白盒密钥为预存在本地的白盒解密算法唯一对应的密钥;接收数据密文和所述白盒密钥,其中,所述数据密文为所述白盒密钥结合白盒加密算法,对所述数据请求对应的数据明文进行加密计算得到的;根据所述白盒密钥,以及所述白盒解密算法,对所述数据密文进行解密,得到所述数据明文。
可选的,根据所述白盒密钥,以及所述白盒解密算法,对所述数据密文进行解密,得到所述数据明文包括:根据所述白盒密钥结合所述白盒解密算法,对所述数据密文进行解密运算,得到数据明文,其中,所述白盒解密算法与白盒加密算法的逻辑相反,所述白盒解密算法的解密逻辑与所述白盒密钥的参数结合;将所述数据明文进行展示。
根据本发明实施例的另一方面,还提供了一种数据加密装置,包括:第一接收模块,用于接收终端发送的数据请求,其中,所述数据请求中携带有所述终端的标识;确定模块,用于根据所述标识确定所述终端对应的白盒密钥,其中,所述白盒密钥为所述终端的白盒解密算法唯一对应的密钥;加密模块,用于通过所述白盒密钥对所述数据请求对应的数据明文进行加密,得到数据密文;第一发送模块,用于将所述数据密文和所述白盒密钥发送给所述终端。
根据本发明实施例的另一方面,还提供了一种数据解密装置,包括:第二发送模块,用于发送数据请求,其中,所述数据请求中携带有用于确定白盒密钥的标识,所述白盒密钥为预存在本地的白盒解密算法唯一对应的密钥;第二接收模块,用于接收数据密文和所述白盒密钥,其中,所述数据密文为所述白盒密钥结合白盒加密算法,对所述数据请求对应的数据明文进行加密计算得到的;解密模块,用于根据所述白盒密钥,以及所述白盒解密算法,对所述数据密文进行解密,得到所述数据明文。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的数据加密方法,或上述中任意一项所述的数据解密方法。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行上述中任意一项所述的数据加密方法,或上述中任意一项所述的数据解密方法。
在本发明实施例中,采用接收终端发送的数据请求,其中,数据请求中携带有终端的标识;根据标识确定终端对应的白盒密钥,其中,白盒密钥为终端的白盒解密算法唯一对应的密钥;通过白盒密钥对数据请求对应的数据明文进行加密,得到数据密文;将数据密文和白盒密钥发送给终端的方式,通过预先绑定的白盒密钥,结合白盒加密算法对数据进行加密,达到了不需要额外的保密措施对密钥进行保护,就可以实现安全传输的目的,从而实现了提高数据加密效果和安全性的技术效果,进而解决了相关技术中的数据加密方式,在物联网中加密传输时,加密效果不好的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据加密方法的流程图;
图2是根据本发明实施例的一种数据解密方法的流程图;
图3是根据本发明实施方式的密钥白盒化的流程图;
图4是根据本发明实施方式的数据加密方法的流程图;
图5是根据本发明实施方式的数据传输方法的流程图;
图6是根据本发明实施例的一种数据加密装置的示意图;
图7是根据本发明实施例的一种数据解密装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本实施例涉及到的专业术语进行解释:
白盒密码是基于对称加密算法进行改进,通过混淆函数及随机置换将密钥隐藏在密码软件的执行过程中,可以防御攻击者通过对应用程序进行逆向或动态代码调试的方式从密码算法中获取完整的加密或解密密钥。
白盒密码可分为动态白盒和静态白盒,静态白盒是指密码算法结合特定的密钥经过白盒密码技术处理后形成特定的密码算法库,称为白盒库,白盒库具备特定的密码功能(加密、解密以及加解密),并能在不可信环境下有效保护原有密钥的安全,静态白盒更新密钥,需要重新生成白盒库。动态白盒是指白盒库生成后不需要再更新,原始密钥经过同样的白盒密码技术转化为白盒密钥。白盒密钥传入相匹配的白盒库可以进行正常的加密或解密功能。白盒密钥是安全的,攻击者不能通过分析白盒密钥得到任何关于原始密钥的信息。
根据本发明实施例,提供了一种数据加密方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据加密方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收终端发送的数据请求,其中,数据请求中携带有终端的标识;
步骤S104,根据标识确定终端对应的白盒密钥,其中,白盒密钥为终端的白盒解密算法唯一对应的密钥;
步骤S106,通过白盒密钥对数据请求对应的数据明文进行加密,得到数据密文;
步骤S108,将数据密文和白盒密钥发送给终端。
通过上述步骤,采用接收终端发送的数据请求,其中,数据请求中携带有终端的标识;根据标识确定终端对应的白盒密钥,其中,白盒密钥为终端的白盒解密算法唯一对应的密钥;通过白盒密钥对数据请求对应的数据明文进行加密,得到数据密文;将数据密文和白盒密钥发送给终端的方式,通过预先绑定的白盒密钥,结合白盒加密算法对数据进行加密,达到了不需要额外的保密措施对密钥进行保护,就可以实现安全传输的目的,从而实现了提高数据加密效果和安全性的技术效果,进而解决了相关技术中的数据加密方式,在物联网中加密传输时,加密效果不好的技术问题。
上述步骤的执行主体可以为存储设备,或者云端,上述终端可以为用于请求数据的客户端,具体可以通过安装在客户端上的应用,向存储设备或者云端请求相应的数据。现有技术中,存储设备或者云端对数据的加密,要不就是将数据明文和加密密钥均进行加密,要不就是需要引入外部的安全设备,例如,安全芯片或者密钥管理系统KMS,存在成本高,而且不适用家庭为单位的物联网IoT。要不就是加密的安全性不足。
本实施例通过对加密密钥进行白盒化,得到白盒密钥,白盒密钥是通过白盒密码对加密密钥进行计算得到,如上所述,白盒密钥具有较高的安全性,攻击者无法通过分析白盒密钥得到任何关于原始密钥的信息。
具体的,根据标识确定终端对应的白盒密钥之前,还包括:确定用于对终端进行数据加密的加密密钥;通过白盒密码对加密密钥进行计算,得到加密密钥对应的白盒密钥;接收终端的请求,将白盒密钥和终端进行绑定。
上述对终端进行数据加密的加密密钥,也就是对于终端交互的数据进行加密的密钥,其密钥可以通过现有技术中的多种方式实现,例如,随机密钥生成算法生成的随机密钥。还可以是通过RSA密钥生成算法生成密钥,还可以是通过DES密钥生成算法生成密钥。
在根据白盒密码对加密密钥进行计算,得到加密密钥对应的白盒密钥之后,将白盒密钥和该终端进行绑定,也是白盒密钥和该终端一一对应,只有该终端可以使用该白盒密钥进行数据解密。从而保证了白盒密钥和终端的匹配性和唯一性,避免了攻击者对多个白盒密钥进行截获,实现破解,导致数据安全性降低的问题。对于攻击者,即便获取到了该白盒密钥,不仅无法获知该白盒密钥对应的加密密钥,也无法推算出白盒密钥的白盒化过程,也无法获知白盒密钥与数据明文的加密方式,从而极大的保证了数据传输的安全性。
上述终端对应的白盒密钥生成之后,就会存储在预定的存储位置,在终端发送数据请求后,根据数据请求中的终端的标识确定终端对应的白盒密钥,其中,白盒密钥为终端的白盒解密算法唯一对应的密钥。具体的,根据标识确定终端对应的白盒密钥之前,包括:生成多个白盒密钥,存储到密钥库中;在白盒密钥与终端绑定后,将白盒密钥与对应终端的标识的对应关系,存储到密钥库中;根据标识确定终端对应的白盒密钥包括:将标识作为索引,查找密钥库中匹配的目标对应关系;根据目标对应关系,在密钥库中查找标识对应的白盒密钥,作为终端对应的白盒密钥。从而保证终端在进行数据请求后,可以根据该终端对应的白盒密钥对请求的数据进行传输,提高数据传输的安全性。
可选的,接收终端发送的数据请求之后,还包括:根据标识对终端进行认证,其中,标识包括终端的终端用户信息;在认证通过的情况下,执行根据标识确定终端对应的白盒密钥的步骤。
在接收终端发送的数据请求之后,可以先根据数据请求的标识对终端进行认证,确保终端的安全性,在认证通过的情况下,根据该标识确定对应的白盒密钥。为后续白盒加密算法,利用白盒密钥对数据明文进行加密提供条件。
可选的,通过白盒密钥对数据请求对应的数据明文进行加密,得到数据密文包括:接收采集设备发送的数据明文,其中,采集设备用于采集数据明文;根据白盒密钥结合预设的白盒加密算法,对数据明文进行加密计算,得到对应的数据密文,其中,白盒加密算法的加密逻辑与白盒密钥的参数结合。
上述白盒加密算法可以为一系列逻辑固定的运算,上述白盒密钥实际上可以为通过白盒密码对加密密钥进行运算得到的一串字符,上述白盒密钥的参数可以为上述字符串中的多个固定位置的数值,上述根据该白盒密钥的字符,以及上述白盒加密算法,对数据明文进行运算处理,得到对应的数据密文,该数据密文的解密,就需要依赖白盒密钥,以及白盒加密算法相反的解密算法。
上述数据明文可以由采集设设备采集,上述采集设备可以为音频采集设备,视频采集设备,数据采集设备等。其对应的数据明文可以为音频数据,视频数据,预设格式的数据等。
可选的,将数据密文和白盒密钥发送给终端包括:将数据密文和白盒密钥发送至云端;通过云端对终端进行验证;在验证通过的情况下,通过云端将数据密文和白盒密钥发送给终端。
然后将数据密文和白盒密钥发送给终端,可以直接发送给终端,也可以通过云端发送给终端,在云端将上述数据密文和白盒密钥转发给终端时,也可以对终端进行验证,提保证终端的安全性,进一步提高数据传输的安全性。
图2是根据本发明实施例的一种数据解密方法的流程图,如图2所示,根据本发明实施例的另一方面,还提供了一种数据解密方法,包括:
步骤S202,发送数据请求,其中,数据请求中携带有用于确定白盒密钥的标识,白盒密钥为预存在本地的白盒解密算法唯一对应的密钥;
步骤S204,接收数据密文和白盒密钥,其中,数据密文为白盒密钥结合白盒加密算法,对数据请求对应的数据明文进行加密计算得到的;
步骤S206,根据白盒密钥,以及白盒解密算法,对数据密文进行解密,得到数据明文。
通过上述步骤,采用发送数据请求,其中,数据请求中携带有用于确定白盒密钥的标识,白盒密钥为预存在本地的白盒解密算法唯一对应的密钥;接收数据密文和白盒密钥,其中,数据密文为白盒密钥结合白盒加密算法,对数据请求对应的数据明文进行加密计算得到的;根据白盒密钥,以及白盒解密算法,对数据密文进行解密,得到数据明文的方式,通过预先绑定的白盒密钥,结合白盒解密算法对数据进行解密,达到了不需要额外的保密措施对密钥进行保护,就可以实现安全传输的目的,从而实现了提高数据解密效果和安全性的技术效果,进而解决了相关技术中的数据加密方式,在物联网中加密传输时,加密效果不好的技术问题。
上述步骤的执行主体可以为终端,终端根据需求向上述存储设备或者云端发送数据请求,接收存储设备或云端,根据终端对应的白盒密钥和白盒加密算法,对该数据请求所请求的数据明文进行加密得到的数据密文,以及上述白盒密钥。
在上述终端与白盒密钥绑定后,终端就可以写入该白盒密钥的白盒解密算法,通过该白盒解密算法,结合上述白盒密钥,对数据密文进行解密,就可以得到上述数据请求对应的数据明文。
可选的,根据白盒密钥,以及白盒解密算法,对数据密文进行解密,得到数据明文包括:根据白盒密钥结合白盒解密算法,对数据密文进行解密运算,得到数据明文,其中,白盒解密算法与白盒加密算法的逻辑相反,白盒解密算法的解密逻辑与白盒密钥的参数结合;将数据明文进行展示。
白盒解密算法与白盒加密算法的逻辑相反,但是原理相同,也需要白盒密钥的参数才能完成对数据密文的解密,得到数据明文。还可以将数据明文进行展示,也即是展示解密结果,完成对数据请求的响应。
需要说明的是,本申请实施例还提供了一种可选的实施方式,下面对该实施方式进行详细说明。
本实施方式提供了一种基于动态白盒密码的物联网系统数据保护方法,通过白盒密码技术将数据加密密钥转换成白盒密钥,并将终端设备与白盒密钥进行绑定,然后使用白盒加密库和白盒密钥对数据进行加密,最后将加密的数据和白盒密钥传输到终端应用或存储到云中。终端在接收到数据后,利用白盒密钥和白盒解密库对数据进行解密,从而实现数据的安全保护。
1.密钥白盒化流程:
图3是根据本发明实施方式的密钥白盒化的流程图,如图3所示,A1_密钥白盒化计算:设备的密钥白盒化模块,使用随机数生成算法,随机生成数据加密密钥k,然后通过白盒密码计算得到白盒密钥K,并删除原始密钥k。
2.数据加解密流程:
图4是根据本发明实施方式的数据加密方法的流程图,如图4所示,具体步骤如下:
B1_数据请求:终端应用向设备发送数据请求,请求中携带身份信息及终端用户的特定信息P(用来对该终端的标识);
B2_认证:设备对终端应用用户进行身份认证;
B3_查找:若设备认证通过,设备的密钥绑定模块,会根据P作为查找索引,查找对应的白盒密钥KP;
B4_发送白盒密钥KP:若查找到对应的白盒密钥KP,则设备密钥绑定模块将白盒密钥KP发送到对应的加密模块,若查找不到,则数据请求中止;
B5_发送明文M:设备的数据采集模块,会采集明文数据M,并将明文发送到加密模块;
B6_白盒加密库加密:设备的加密模块,使用KP以及内嵌在加密模块的白盒加密库对明文M进行加密,得到密文C;
B7_发送C:设备加密模块将密文C发送到设备的数据转发模块;
B8_发送白盒密钥KP:设备密钥绑定模块将密钥KP发送到数据转发模块;
B9_发送(C,KP):设备的数据转发模块将密文C、白盒密钥KP发送给终端应用;
B10_发送(C,KP):终端应用的数据接收模块将密文C和白盒密钥KP发送到解密模块;
B11_白盒解密库解密:终端应用的解密模块,使用KP以及内嵌在加密模块的白盒解密库对密文C进行解密,得到明文M;
B12_发送M:终端应用的解密模块将明文M发送到数据展示模块,对数据进行展示。
图5是根据本发明实施方式的数据传输方法的流程图,如图5所示,以下为本实施方式数据传输的具体步骤:
步骤1:设备获取白盒密钥。终端用户向智能IoT设备发起数据请求,请求中携带终端用户的特定信息P;设备在接收到请求后,利用P作为索引去查找对应的白盒密钥KP;
步骤2:利用白盒密钥及白盒加密库对数据进行加密。设备使用KP以及内嵌在设备中的白盒加密库,对数据M进行加密,得到密文C。
步骤3:设备将加密后的数据传输到终端应用或存储到云中。设备端根据请求(C,KP)传输到终端应用或者存储在云中。
步骤4:终端利用白盒解密库对加密的数据进行解密。终端接收到数据,使用KP及内嵌在应用中的白盒解密库,对密文C进行解密,得到明文C。
本实施方式通过白盒密码对数据进行加解密,保证即使运行在不可信的执行终端和运行环境下,恶意用户也无法通过对应用进行逆向、动态调试来获取原始的数据加密密钥。确保即使白盒密钥泄露,攻击者也无法利用从其中分析出原始数据加密密钥从而获取解密数据,保证了加密数据传输和存储的安全性。将白盒密钥和终端应用进行绑定,保证只有绑定的终端白盒密钥才会生效,否则无法在终端上进行解密操作。使用动态白盒,在不改动白盒加解密库的前提下,实现灵活地密钥更新。使用的白盒密码是使用软件实现的方式,宜扩展,且适用性更广。
通过使用白盒密码对数据进行加密,确保攻击者对终端应用进行静态分析或动态调试,都无法获取数据加密的原始密钥,从而解密数据。通过白盒密码技术将数据加密密钥转化为白盒密钥,确保即使泄露,攻击者也无法分析出原始的数据加密密钥。通过将白盒化的密钥与终端应用进行绑定,确保一机一密,实现即使密钥被某一终端用户获取,依旧无法解密数据。白盒密码加密(解密)库是通过白盒密码技术对已知的,没有引入新的密钥保护措施,减少额外的安全开销。通过使用动态白盒,确保白盒密钥地灵活更新。
图6是根据本发明实施例的一种数据加密装置的示意图,如图6所示,根据本发明实施例的另一方面,还提供了一种数据加密装置,包括:第一接收模块62,确定模块64,加密模块66和第一发送模块68,下面对该装置进行详细说明。
第一接收模块62,与上述第一接收模块62相连,用于接收终端发送的数据请求,其中,数据请求中携带有终端的标识;确定模块64,用于根据标识确定终端对应的白盒密钥,其中,白盒密钥为终端的白盒解密算法唯一对应的密钥;加密模块66,与上述确定模块64相连,用于通过白盒密钥对数据请求对应的数据明文进行加密,得到数据密文;第一发送模块68,与上述加密模块66相连,用于将数据密文和白盒密钥发送给终端。
通过上述装置,采用第一接收模块62接收终端发送的数据请求,其中,数据请求中携带有终端的标识;确定模块64根据标识确定终端对应的白盒密钥,其中,白盒密钥为终端的白盒解密算法唯一对应的密钥;加密模块66通过白盒密钥对数据请求对应的数据明文进行加密,得到数据密文;第一发送模块68将数据密文和白盒密钥发送给终端的方式,通过预先绑定的白盒密钥,结合白盒加密算法对数据进行加密,达到了不需要额外的保密措施对密钥进行保护,就可以实现安全传输的目的,从而实现了提高数据加密效果和安全性的技术效果,进而解决了相关技术中的数据加密方式,在物联网中加密传输时,加密效果不好的技术问题。
图7是根据本发明实施例的一种数据解密装置的示意图,如图7所示,根据本发明实施例的另一方面,还提供了一种数据解密装置,包括:第二发送模块72,第二接收模块74和解密模块76,下面对该装置进行详细说明。
第二发送模块72,用于发送数据请求,其中,数据请求中携带有用于确定白盒密钥的标识,白盒密钥为预存在本地的白盒解密算法唯一对应的密钥;第二接收模块74,与上述第二发送模块72相连,用于接收数据密文和白盒密钥,其中,数据密文为白盒密钥结合白盒加密算法,对数据请求对应的数据明文进行加密计算得到的;解密模块76,与上述第二接收模块74相连,用于根据白盒密钥,以及白盒解密算法,对数据密文进行解密,得到数据明文。
通过上述装置,采用第二发送模块72发送数据请求,其中,数据请求中携带有用于确定白盒密钥的标识,白盒密钥为预存在本地的白盒解密算法唯一对应的密钥;第二接收模块74接收数据密文和白盒密钥,其中,数据密文为白盒密钥结合白盒加密算法,对数据请求对应的数据明文进行加密计算得到的;解密模块76根据白盒密钥,以及白盒解密算法,对数据密文进行解密,得到数据明文的方式,通过预先绑定的白盒密钥,结合白盒解密算法对数据进行解密,达到了不需要额外的保密措施对密钥进行保护,就可以实现安全传输的目的,从而实现了提高数据解密效果和安全性的技术效果,进而解决了相关技术中的数据加密方式,在物联网中加密传输时,加密效果不好的技术问题。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项的数据加密方法,或上述中任意一项的数据解密方法。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,在程序运行时控制计算机存储介质所在设备执行上述中任意一项的数据加密方法,或上述中任意一项的数据解密方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种数据加密方法,其特征在于,包括:
接收终端发送的数据请求,其中,所述数据请求中携带有所述终端的标识;
根据所述标识确定所述终端对应的白盒密钥,其中,所述白盒密钥为所述终端的白盒解密算法唯一对应的密钥;
通过所述白盒密钥对所述数据请求对应的数据明文进行加密,得到数据密文;
将所述数据密文和所述白盒密钥发送给所述终端。
2.根据权利要求1所述的方法,其特征在于,根据所述标识确定所述终端对应的白盒密钥之前,还包括:
确定用于对所述终端进行数据加密的加密密钥;
通过白盒密码对所述加密密钥进行计算,得到所述加密密钥对应的白盒密钥;
接收终端的请求,将所述白盒密钥和终端进行绑定。
3.根据权利要求1所述的方法,其特征在于,接收终端发送的数据请求之后,还包括:
根据所述标识对所述终端进行认证,其中,所述标识包括所述终端的终端用户信息;
在认证通过的情况下,执行根据所述标识确定所述终端对应的白盒密钥的步骤。
4.根据权利要求3所述的方法,其特征在于,根据所述标识确定所述终端对应的白盒密钥之前,包括:
生成多个白盒密钥,存储到密钥库中;
在白盒密钥与终端绑定后,将所述白盒密钥与对应终端的标识的对应关系,存储到所述密钥库中;
根据所述标识确定所述终端对应的白盒密钥包括:
将所述标识作为索引,查找所述密钥库中匹配的目标对应关系;
根据所述目标对应关系,在密钥库中查找所述标识对应的白盒密钥,作为所述终端对应的白盒密钥。
5.根据权利要求1所述的方法,其特征在于,通过所述白盒密钥对所述数据请求对应的数据明文进行加密,得到数据密文包括:
接收采集设备发送的所述数据明文,其中,所述采集设备用于采集所述数据明文;
根据所述白盒密钥结合预设的白盒加密算法,对所述数据明文进行加密计算,得到对应的数据密文,其中,所述白盒加密算法的加密逻辑与所述白盒密钥的参数结合。
6.根据权利要求1至5中任一项所述的方法,其特征在于,将所述数据密文和所述白盒密钥发送给所述终端包括:
将所述数据密文和所述白盒密钥发送至云端;
通过所述云端对所述终端进行验证;
在验证通过的情况下,通过所述云端将所述数据密文和所述白盒密钥发送给所述终端。
7.一种数据解密方法,其特征在于,包括:
发送数据请求,其中,所述数据请求中携带有用于确定白盒密钥的标识,所述白盒密钥为预存在本地的白盒解密算法唯一对应的密钥;
接收数据密文和所述白盒密钥,其中,所述数据密文为所述白盒密钥结合白盒加密算法,对所述数据请求对应的数据明文进行加密计算得到的;
根据所述白盒密钥,以及所述白盒解密算法,对所述数据密文进行解密,得到所述数据明文。
8.根据权利要求7所述的方法,其特征在于,根据所述白盒密钥,以及所述白盒解密算法,对所述数据密文进行解密,得到所述数据明文包括:
根据所述白盒密钥结合所述白盒解密算法,对所述数据密文进行解密运算,得到数据明文,其中,所述白盒解密算法与白盒加密算法的逻辑相反,所述白盒解密算法的解密逻辑与所述白盒密钥的参数结合;
将所述数据明文进行展示。
9.一种数据加密装置,其特征在于,包括:
第一接收模块,用于接收终端发送的数据请求,其中,所述数据请求中携带有所述终端的标识;
确定模块,用于根据所述标识确定所述终端对应的白盒密钥,其中,所述白盒密钥为所述终端的白盒解密算法唯一对应的密钥;
加密模块,用于通过所述白盒密钥对所述数据请求对应的数据明文进行加密,得到数据密文;
第一发送模块,用于将所述数据密文和所述白盒密钥发送给所述终端。
10.一种数据解密装置,其特征在于,包括:
第二发送模块,用于发送数据请求,其中,所述数据请求中携带有用于确定白盒密钥的标识,所述白盒密钥为预存在本地的白盒解密算法唯一对应的密钥;
第二接收模块,用于接收数据密文和所述白盒密钥,其中,所述数据密文为所述白盒密钥结合白盒加密算法,对所述数据请求对应的数据明文进行加密计算得到的;
解密模块,用于根据所述白盒密钥,以及所述白盒解密算法,对所述数据密文进行解密,得到所述数据明文。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的数据加密方法,或权利要求7至8中任意一项所述的数据解密方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行权利要求1至6中任意一项所述的数据加密方法,或权利要求7至8中任意一项所述的数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111046078.3A CN113722741A (zh) | 2021-09-07 | 2021-09-07 | 数据加密方法及装置、数据解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111046078.3A CN113722741A (zh) | 2021-09-07 | 2021-09-07 | 数据加密方法及装置、数据解密方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722741A true CN113722741A (zh) | 2021-11-30 |
Family
ID=78682471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111046078.3A Pending CN113722741A (zh) | 2021-09-07 | 2021-09-07 | 数据加密方法及装置、数据解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722741A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116668203A (zh) * | 2023-08-02 | 2023-08-29 | 浙江大华技术股份有限公司 | 设备认证方法、物联网设备、认证平台以及可读存储介质 |
WO2023184262A1 (zh) * | 2022-03-30 | 2023-10-05 | 北京小米移动软件有限公司 | 一种数据帧安全传输方法、装置、电子设备及存储介质 |
-
2021
- 2021-09-07 CN CN202111046078.3A patent/CN113722741A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023184262A1 (zh) * | 2022-03-30 | 2023-10-05 | 北京小米移动软件有限公司 | 一种数据帧安全传输方法、装置、电子设备及存储介质 |
CN116668203A (zh) * | 2023-08-02 | 2023-08-29 | 浙江大华技术股份有限公司 | 设备认证方法、物联网设备、认证平台以及可读存储介质 |
CN116668203B (zh) * | 2023-08-02 | 2023-10-20 | 浙江大华技术股份有限公司 | 设备认证方法、物联网设备、认证平台以及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9020149B1 (en) | Protected storage for cryptographic materials | |
CN107317677B (zh) | 密钥存储及设备身份认证方法、装置 | |
CN109379387B (zh) | 一种物联网设备间的安全认证和数据通信系统 | |
US20120170740A1 (en) | Content protection apparatus and content encryption and decryption apparatus using white-box encryption table | |
CN102571329B (zh) | 密码密钥管理 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
KR101753859B1 (ko) | 서버 및 이에 의한 스마트홈 환경의 관리 방법, 스마트홈 환경의 가입 방법 및 스마트 기기와의 통신 세션 연결 방법 | |
CN103701829B (zh) | 一种离线解析dpapi加密数据的方法 | |
CN104618096B (zh) | 保护密钥授权数据的方法、设备和tpm密钥管理中心 | |
EP2251810B1 (en) | Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method | |
CN107453880B (zh) | 一种云数据安全存储方法和系统 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN101877702A (zh) | 一种交互式网络电视客户端激活认证的方法和系统 | |
CN111625791B (zh) | 一种基于软件密码模块的密钥管理方法及系统 | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统 | |
CN110312054B (zh) | 图像的加解密方法、及相关装置、存储介质 | |
CN103378971A (zh) | 一种数据加密系统及方法 | |
CN113722741A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
EP4300338A1 (en) | Computer file security encryption method, computer file security decryption method, and readable storage medium | |
CN113395406A (zh) | 一种基于电力设备指纹的加密认证方法及系统 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
US9756044B2 (en) | Establishment of communication connection between mobile device and secure element | |
CN109194467A (zh) | 一种加密数据的安全传输方法和系统 | |
CN115499118A (zh) | 报文密钥生成、文件加密、解密方法、装置、设备和介质 | |
CN115600215A (zh) | 系统启动方法、系统信息处理方法、装置、设备及其介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |