数据加密方法、装置、电子设备及存储介质与流程

文档序号:32524714发布日期:2022-12-13 20:42阅读:33来源:国知局
数据加密方法、装置、电子设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种数据加密方法、装置、电子设备及存储介质。


背景技术:

2.目前,车辆的发展正逐步走向网联化,车辆通过车联网不断上传运行的数据,使得车辆可以很好的进行故障监控和管理。为防止车联网数据信息泄漏产生不良影响,需要对车联网数据进行加密处理,防止数据在传输过程中被窃取。
3.现行的加密算法主要分对称加密算法和非对称加密算法。对称加密算法技术成熟,算法加密速度快,但存在被强行破解的可能,若密匙泄漏,则数据完全泄漏。而非对称加密算法具备很强的保密性,破解难度更高,但是算法计算量大,导致服务器运行缓慢,效率低下,难以用于加密大量的数据。因此,数据加密效率和数据加密强度两者一般存在巨大的矛盾,即若加密效率高则加密强度低,若加密强度高则加密效率低。


技术实现要素:

4.本发明提供了一种数据加密方法、装置、电子设备及存储介质,以解决数据加密效率和数据加密强度两者存在矛盾的问题。
5.根据本发明的一方面,提供了一种数据加密方法,其中,该方法包括:
6.获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识;
7.根据所述数据片段生成所述目标数据的数据加密文件,并根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件;
8.将所述数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件。
9.根据本发明的另一方面,提供了一种数据加密装置,其中,该装置包括:
10.片段标识分配模块,用于获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识;
11.加密文件确定模块,用于根据所述数据片段生成所述目标数据的数据加密文件,并根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件;
12.目标加密文件确定模块,用于将所述数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件。
13.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
14.至少一个处理器;以及
15.与所述至少一个处理器通信连接的存储器;其中,
16.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据加密方法。
17.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据加密方法。
18.本发明实施例的技术方案,通过获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识,化整为零,为数据加密提供了更多的可能,使得数据加密方式更为灵活;生成带片段标识的数据片段,以记录每一个所述数据片段的位置,考虑到数据的逻辑性和完整性,增加片段标识,能够方便地区分不同的数据片段。进一步的,根据所述数据片段生成所述目标数据的数据加密文件,以提高所述目标数据的安全;并根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件,以校验所述目标数据在数据传输过程中是否被篡改或泄漏;再进一步的,将所述数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件,进行数据传输。解决了数据加密效率和数据加密强度两者存在矛盾的问题,能够根据所述数据片段以及所述数据片段的片段标识确定的数据加密文件和所述加密校验文件,确定目标加密文件,达到了在较低的数据加密强度下,提升数据加密效率,保证数据传输的安全性的效果。
19.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是根据本发明实施例一提供的一种数据加密方法的流程图;
22.图2为本发明实施例提供的一种对数据片段分配片段标识的示意图;
23.图3是根据本发明实施例二提供的一种数据加密方法的流程图;
24.图4是根据本发明实施例三提供的一种数据加密方法的流程图;
25.图5为本发明实施例提供的一种对目标数据进行加密的流程示意图;
26.图6为本发明实施例提供的一种数据加密方法的整体流程示意图;
27.图7是根据本发明实施例四提供的一种数据加密装置的结构示意图;
28.图8是实现本发明实施例五提供的一种数据加密方法的电子设备的结构示意图。
具体实施方式
29.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
30.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.实施例一
32.图1为本发明实施例一提供了一种数据加密方法的流程图,本实施例可适用于数据加密传输的情况,该方法可以由数据加密装置来执行,该数据加密装置可以采用硬件和/或软件的形式实现,该数据加密装置可配置于计算机中。如图1所示,该方法包括:
33.s110、获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识。
34.其中,所述目标数据可以理解为待加密的数据,一般为待传输的数据。示例性地,所述目标数据可以是车辆传输数据,所述目标数据也可以是数字化的携带个人信息或涉及个人隐私的数据等。例如,数字化的身份信息和/ 或通话信息等。
35.其中,所述数据片段可以理解为针对所述目标数据划分的多个数据片段。可选地,根据预设的加密片段长度将所述目标数据划分为至少两个数据片段。可选的,所述预设的加密片段长度通常是以8位为基础单位的片段长度。示例性地,预设的加密片段长度可以是16位,32位,64位,128位及以上的片段长度等。
36.其中,所述片段标识可以理解为用于标记所述数据片段排布位置的标识。具体的,根据数据片段顺序分配片段标识,生成带标识的数据片段,如图2 所示。在本发明实施例中,片段标识可以是片段地址。
37.s120、根据所述数据片段生成所述目标数据的数据加密文件,并根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件。
38.在本发明实施例中,根据所述数据片段生成所述目标数据的数据加密文件,可以对根据数据片段对目标数据本身进行加密,降低所述目标数据泄漏的可能性,提高所述目标数据传输的安全性;根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件,可以校验所述目标数据在传输过程中,是否泄漏,为数据安全增加了一重保证。通过数据加密文件和加密校验文件为目标数据提供双重安全保证。
39.s130、将所述数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件。
40.具体的,将所述数据加密文件和所述加密校验文件合并,作为所述目标数据的目标加密文件,并进行数据传输。
41.本发明实施例的技术方案,通过获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识,化整为零,为数据加密提供了更多的可能,使得数据加密方式更为灵活;生成带片段标识的数据片段,以记录每一个所述数据片段的位置,考虑到数据的逻辑性和完整性,增加片段标识,能够方便地区分不同的数据片段。进一步的,根据所述数据片段生成所述目标数据的数据加密文件,以提高所述目标数据的安全;并根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件,以校验所述目标数据在数据传输过程中是否被篡改或泄漏;再进一步的,将所述
数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件,进行数据传输。解决了数据加密效率和数据加密强度两者存在矛盾的问题,能够根据所述数据片段以及所述数据片段的片段标识确定的数据加密文件和所述加密校验文件,确定目标加密文件,达到了在较低的数据加密强度下,提升数据加密效率,保证数据传输的安全性的效果。
42.实施例二
43.图3为本发明实施例二提供的一种数据加密方法的流程图,本实施例与上述实施例中所述如何根据所述数据片段生成所述目标数据的数据加密文件进行细化。如图3所示,该方法包括:
44.s210、获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识。
45.s220、基于预设分类算法将所述目标数据的数据片段划分为至少两种类型的数据片段。
46.其中,所述分类算法可以理解为能够将所述目标数据的数据片段划分为至少两种类型的算法。可以是决策树分类法,朴素的贝叶斯分类算法、模糊分类法或自定义的分类算法等。可以理解的是,所述分类算法可以根据需求预设,在此不做具体限定。
47.可选的,所述基于预设分类算法将所述目标数据的数据片段划分为至少两种类型的数据片段,包括:随机生成一个目标值,根据每个数据片段的片段标识除以所述目标值得到的商是否为整数,以将所述目标数据的数据片段划分为两种类型的数据片段;或者,根据每个数据片段的片段标识为奇数或为偶数,以将所述目标数据的数据片段划分为两种类型的数据片段。
48.其中,所述目标值可以理解为用于将所述目标数据的数据片段划分为至少两种类型的数据片段的值。可选的,所述目标值可以是合数等。可以理解的是,所述目标值可以根据需求预设,在此不做具体限定,可以使划分后的至少两种类型的数据片段数量接近,利于所述目标数据的进一步加密即可。其中,所述合数可以理解为在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。例如,4、6、8或9等。具体的,随机生成一个合数,将每个数据片段的片段标识除以所述合数,若得到的商为整数,则将所述目标数据的数据片段划分为一种类型的数据片段;若得到的商为非整数,则将所述目标数据的数据片段划分为另一种类型的数据片段。或者,随机生成一个偶数,将每个数据片段的片段标识除以所述偶数,若得到的商为整数,则将所述目标数据的数据片段划分为一种类型的数据片段;若得到的商为非整数,则将所述目标数据的数据片段划分为另一种类型的数据片段。
49.可选地,将片段标识为奇数的数据片段,划分为所述目标数据的一种类型的数据片段;将片段标识为偶数的数据片段,划分为所述目标数据的另一种类型的数据片段。示例性的,划分后的每一种类型的数据片段,可以是a 类数据片段和b类数据片段,或者第一类型数据片段和第二类型数据片段等。
50.可以理解的是,根据每个数据片段的片段标识除以所述合数或所述偶数得到的商是否为整数,或者,根据每个数据片段的片段标识为奇数还是为偶数,将所述数据片段进行划分为两种类型的数据片段,划分方式简单,且可以使两种类型的数据片段数量接近,更加有利于所述目标数据的进一步加密。
51.在本发明实施例中,基于预设分类算法划分所述目标数据的数据片段后,确定的
所述数据片段的类型数量,一般与具体采用哪种分类算法有关,得到的类型数量,可以根据实际情况确定,在此不做具体限制。
52.s230、分别对每种类型的数据片段进行加密,得到每种类型的数据片段对应的子加密文件。
53.具体的,根据预设分类算法将所述目标数据的数据片段划分后为至少两种类型的数据片段后,分别对每种类型的数据片段进行加密,得到每种类型的数据片段对应的子加密文件。可选的,所述子加密文件可以是与所述数据片段类型相对应的子加密文件1和子加密文件2,或者第一子加密文件和第二子加密文件等。具体的,例如,将数据片段的片段标识为奇数的数据片段划分为a类数据片段;将数据片段的片段标识为偶数的数据片段划分为b类数据片段;对a类数据片段进行加密,得到子加密文件1;对b类数据片段进行加密,得到子加密文件2。
54.在本发明实施例中,针对不同类型数据片段,可以采用不同的算法进行数据加密。
55.可选的,所述分别对每种类型的数据片段进行加密,得到每种类型的数据片段对应的子加密文件,包括:针对不同类型的数据片段,采用不同的加密算法对所述数据片段进行加密,得到所述数据片段对应的子加密文件。
56.其中,所述加密算法可以理解为对未经过加密处理的数据片段进行加密,并生成对应子加密文件的算法。
57.可选的,所述加密算法可以是信息-摘要算法5(message-digestalgorithm 5,dm5)、数据加密标准(data encryption standard,des)、安全散列算法1(secure hash algorithm 1,sha1)、密钥加密算法(rivest-shamir-adleman,rsa)、基于hash的消息的认证码(hash-basedmessage authentication code,hmac)或高级加密标准(advanced encryptionstandard,aes)等。可以理解的是,针对每种类型的数据片段的加密,所采用的加密算法,可以根据需求预设,在此不做具体限定。
58.可选的,可以是对a类数据片段运用dm5加密算法进行加密,对b类数据片段运用des加密算法进行加密。
59.在本发明实施例中,针对不同类型数据片段的加密,可以采用不同的加密算法,并运用不同的加密密匙,生成每种类型数据片段对应的子加密文件,以提高破解难度,保证数据传输的安全性。其中,所述密匙可以理解为在加密算法中输入的参数。所述加密密匙可以根据需求预设,在此不做具体限定。可以理解的是,不同的加密算法对应的密匙可以相同也可以不同,在本发明实施例中通常运用不同的密匙,以提高加密强度。例如,对a类数据片段运用dm5加密算法进行加密,加密密匙为密匙1,生成子加密文件1;对b类数据片段运用des加密算法进行加密,加密密匙为密匙2,生成子加密文件2。
60.s240、将各种类型的数据片段对应的子加密文件进行合并,得到所述目标数据的数据加密文件。
61.具体的,通过预设分类算法将数据片段划分的各种类型的数据片段,进一步的,分别通过不同的预设加密算法对各种类型的数据片段进行加密,得到各种类型的数据片段相对应的子加密文件,再进一步的,将获取到的子加密文件合并,得到所述目标数据的数据加密文件。
62.s250、根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加
密校验文件。
63.s260、将所述数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件。
64.本发明实施例的技术方案,通过基于预设分类算法将所述目标数据的数据片段划分为至少两种类型的数据片段;进一步的,分别对每种类型的数据片段进行加密,得到每种类型的数据片段对应的子加密文件,将数据片段划分为不同类型,并分别通过不同加密算法进行加密,可以降低数据被破解的可能性;再进一步的,将各种类型的数据片段对应的子加密文件进行合并,得到所述目标数据的数据加密文件。达到了通过多种不同的加密算法对数据交叉加密,提高了数据传输的安全性的效果。
65.实施例三
66.图4为本发明实施例三提供的一种数据加密方法的流程图,本实施例与上述实施例中如何根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件进行细化。如图4所示,该方法包括:
67.s310、获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识。
68.s320、根据所述数据片段生成所述目标数据的数据加密文件。
69.s330、从至少两个数据片段中抽取得到校验片段,对抽取到的所述校验片段进行加密,得到目标校验数据。
70.其中,所述校验片段可以理解为用于校验所述目标数据是否泄漏的数据片段。在本发明实施例中,针对所述校验片段,可以是通过预设的随机抽样法从至少两个数据片段中抽取其中一个或多个数据片段。例如,将所述目标数据划分为数据片段1、数据片段2、数据片段3和数据片段4,可以抽取数据片段1和数据片段3作为校验片段。其中,随机抽样法可以根据具体需求预设,在此不做具体限定。例如,随机抽样法可以是,简单随机抽样法、分层随机抽样法或分群随机抽样法等。进一步的,通过预设的随机抽样法抽取的所述校验片段数量可以根据具体需求预设,在此不做具体限定。在本发明实施例中,采用随机抽样法抽取校验片段,可以减少需要计算的数据量,从而提升加密速度。
71.进一步的,对抽取到的所述校验片段进行加密,得到目标校验数据。以校验所述目标数据是否泄露,提高数据传输的安全性。
72.在本发明实施例中,对抽取到的所述校验片段进行加密的方式有多种,且可以根据需求预设,在此不做具体限定。示例性的,可以是通过消息认证码算法、信息-摘要算法5(message-digest algorithm 5,dm5)、数据加密标准(data encryption standard,des)、密钥加密算法 (rivest-shamir-adleman,rsa)、安全散列算法1(secure hash algorithm 1,sha1)或高级加密标准(advanced encryption standard,aes)等,对所述校验片段进行加密。
73.在本发明实施例中,可以通过消息认证码算法对抽取到的所述校验片段进行加密。所述消息认证码算法构造简单,底层算法具有黑盒性质,方便替换。且通过消息认证码算法对抽取到的所述校验片段进行加密,可以得到对应的消息验证码,以校验所述目标数据在传输过程中的完整性,可以为数据安全增加一重安全保证。
74.可选的,所述对抽取到的所述校验片段进行加密,得到目标校验数据,包括:基于
消息认证码算法对抽取到的所述校验片段进行加密,得到消息验证码,将所述消息验证码作为目标校验数据。
75.其中,所述消息认证码(message authentication codes,mac)算法可以理解为带秘密密钥的hash函数。具体的,通过所述消息认证码算法可以对抽取到的所述校验片段进行加密,得到对应的消息验证码。
76.进一步的,通过消息认证码算法对抽取到的所述校验片段进行加密得到消息验证码后,将所述消息验证码作为目标校验数据。
77.s340、获取每个所述校验片段的片段标识,基于所述校验片段的片段标识生成标识记录文件。
78.具体的,记录抽取的每个所述校验片段的片段标识,进一步的,获取所述校验片段的片段标识,生成标识记录文件。
79.s350、对所述目标校验数据、所述标识记录文件和所述预设分类算法进行加密,得到所述目标数据的加密校验文件。
80.具体的,运用密匙对所述目标校验数据、所述标识记录文件和所述预设分类算法进行加密,得到所述目标数据的加密校验文件。可以理解的是,此处运用的密匙可以与上述实施例中的密匙可以不同,以提高加密数据的破解难度,保证所述目标数据的安全性。可选的,通过消息认证码算法对所述目标校验数据、所述标识记录文件和所述预设分类算法进行加密,运用的密匙可以是密匙3。即,所述密匙3是在所述消息认证码算法中输入的参数。
81.示例性的,运用密匙3对基于消息认证码算法对抽取到的所述校验片段进行加密得到的消息验证码、基于所述校验片段的片段标识生成标识记录文件和用于将所述目标数据的数据片段划分为至少两种类型的数据片段的所述预设分类算法,进行加密,得到所述目标数据的加密校验文件。示例性的,针对所述目标数据的加密过程,可以如图5所示。具体的,将目标数据划分为多个数据片段;为每个数据片段分配片段标识;随机抽取一个或多个数据片段,使用mac算法进行加密,得到消息验证码1,并记录所抽取的数据片段的片段标识生成的标识记录文件;运用分类算法将数据片段划分为a类数据片段和b类数据片段,对a类数据片段运用dm5加密算法进行加密,加密密匙为密匙1,生成子加密文件1,对b类数据片段运用des加密算法进行加密,加密密匙为密匙2,生成子加密文件2,合并子加密文件1和子加密文件 2,生成数据加密文件;使用密匙3对消息验证码1、标识记录文件以及划分数据片段类型的分类算法加密,得到加密校验文件。
82.在本发明实施例中,通过所述目标数据的加密校验文件可以验证所述目标数据的完整性、以及验证所述目标数据是否被篡改或泄漏。
83.s360、将所述数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件。
84.进一步的,将所述目标数据加密,得到目标加密文件后,进行数据传输,再进一步的,对所述目标数据解密,获取所述目标数据。
85.在本发明实施例中,针对所述目标数据的数据解密过程,可以与所述目标数据的数据加密过程相对应。
86.可选的,对所述目标数据解密,获取所述目标数据,具体包括:响应于针对于所述目标数据的数据解密请求,获取所述目标数据的目标加密文件;确定所述数据加密文件中
每种类型的数据片段对应的子加密文件,分别对每个子加密文件进行解密,得到每种类型的数据片段;对所述加密校验文件进行解密,得到所述目标数据的目标校验数据、标识记录文件和预设分类算法;根据所述预设分类算法将各种类型的数据片段进行合并,得到明文数据;根据所述标识记录文件中的片段标识确定所述明文数据中的待校验片段,根据对所述目标校验数据的加密方式对所述待校验片段进行加密,得到待校验数据;根据所述待校验数据和所述目标校验数据确定所述明文数据是否为所述目标数据。
87.其中,所述数据解密请求可以理解为针对所述目标数据发起的数据解密请求。所述数据解密请求的生成方式有多种,例如可以是,在接收到作用于预先设置的用于发起数据解密请求的解密请求控件时生成,或者,当检测到预先设置的用于触发数据解密开始的触发事件时生成;又或者,当检测到预设的声音信息或手势信息时生成等。其中,触发事件可以根据实际情况进行设置,在此并不做具体限定。所述明文数据可以理解为没有加密的所述目标数据,换言之,可以是加密之前的所述目标数据,或者解密之后的目标数据。
88.在本发明实施例中,针对所述目标数据的数据加密过程,对应的所述目标数据的数据解密过程可以如下:
89.具体的,响应于针对所述目标数据发起的数据解密请求,获取所述目标数据的目标加密文件。其中,所述目标加密文件包括数据加密文件和加密校验文件。
90.进一步的,示例性的,在数据加密过程中,可以是根据目标值(例如:4),将所述数据片段划分为a类数据片段和b类数据片段;进一步的,运用dm5 加密算法对a类数据片段进行加密,生成子加密文件1,运用des加密算法对b类数据片段进行加密,生成子加密文件2,将子加密文件1和子加密文件 2合并,确定为数据加密文件。
91.相对应的,数据的解密过程可以是,获取数据加密文件中,与a类数据片段对应的子加密文件1和与b类数据片段对应的子加密文件2,进一步的,运用dm5加密算法对子加密文件1进行解密,获取a类数据片段,运用des 加密算法对加密文件2进行解密,获取b类数据片段。
92.在本发明实施例中,所述目标校验数据是基于消息认证码算法对抽取到的所述校验片段进行加密,得到的消息验证码。可选的,基于消息认证码算法对抽取到的所述校验片段进行加密,得到的消息验证码,可以是消息验证码1或第一消息验证码等。
93.进一步的,在数据加密过程中,可以是将根据目标值(例如:4)将所述数据片段划分为a类数据片段和b类数据片段的分类算法、基于所述校验片段的片段标识生成标识记录文件,和通过消息验证码算法对所述校验片段进行加密,得到消息验证码1,运用密匙3进行加密,确定加密校验文件。
94.相对应的,数据的解密过程可以是,运用密匙3,对加密校验文件进行解密,获取加密校验文件中的分类算法的目标值(例如:4)、标识记录文件和消息验证码1。
95.再进一步的,根据获取的加密校验文件中的目标值(例如:4),将各种类型的数据片段进行合并,得到明文数据。
96.再进一步的,根据标识记录文件中记录的所述校验片段的片段标识,获取所述校验片段,运用与消息验证码算法对所述校验片段再次加密,获取再次加密后的消息验证码,例如,消息验证码2。
97.再进一步的,根据所述待校验数据和所述目标校验数据确定所述明文数据是否为
所述目标数据,在本发明实施例中,可以是对比消息验证1和消息验证码2是否一致,如果一致,则数据传输期间消息未泄漏或者被篡改。若消息验证1和消息验证码不一致,数则据传输期间消息可能泄漏或者被篡改。进一步的,在消息验证1和消息验证码2不一致的情况下,可以生成消息泄露提示信息。可选的,可以是通过消息泄露提示设备提示消息泄露提示信息。示例性的,在消息验证1和消息验证码2不一致时,可以通过显示设备显示消息泄露相关提示文字或图片,和/或通过扬声器提示消息泄露相关提示语音。以使用户及时发现消息泄露情况,并进行处理,避免造成更大的损失。
98.本发明实施例的技术方案,通过从至少两个数据片段中抽取得到校验片段,对抽取到的所述校验片段进行加密,得到目标校验数据;进一步的,获取每个所述校验片段的片段标识,基于所述校验片段的片段标识生成标识记录文件;再进一步的,对所述目标校验数据、所述标识记录文件和所述预设分类算法进行加密,得到所述目标数据的加密校验文件。以校验所述目标数据在数据传输过程中是否被篡改或泄漏,若所述目标数据在数据传输过程中被篡改或泄漏,可以及时处理,以达到保护所述目标数据的安全的效果。
99.图6为本发明实施例提供的一种数据加密方法的整体流程示意图;如图 6所示,可以将数据加密方法划分为发送方和接收方。其中,所述明文数据可以理解为所述目标数据,所述发送方可以理解为车联网数据的加密过程,所述接收方可以理解为车联网数据的解密过程。
100.所述车联网数据的整体加密过程可以是:
101.将明文数据划分为多个带片段标识的数据片段。随机抽取一个或多个数据片段,使用mac算法进行加密,得到消息验证码1,并记录所抽取的数据片段的片段标识生成的标识记录文件。
102.通过分类算法将多个所述数据片段划分为a类数据片段和b类数据片段,并通过密匙1和密匙2分别对所述a类数据片段和b类数据片段加密,得到子加密文件1和子加密文件2,将子加密文件1和子加密文件2合并为数据加密文件。
103.将获取的消息验证码1、标识记录文件以及划分数据片段类型的分类算法,通过密匙3加密,得到加密校验文件。
104.将数据加密文件和加密校验文件作为目标加密文件发送至接收方。
105.通过密匙3解密加密校验文件获取消息验证码1、标识记录文件以及分类算法。通过密匙1和密匙2分别对子加密文件1和子加密文件2解密,得到a类数据片段和b类数据片段,将a类数据片段和b类数据片段作为明文数据。通过获取的标识记录文件中的片段标识筛选所获取的明文数据,得到数据片段,将所述数据片段通过mac算法加密得到消息验证码2,通过消息验证码1和消息验证码2进行校验,判断所述明文数据在传输过程中是否泄露。
106.示例性的,车联网数据加密方法可以包括:
107.1、文件处理:文件处理模块可以是计算机,服务器,文件处理软件等,其主要作用是将需要加密的文件根据预设的加密片段长度拆分成多个数据片段,再根据数据顺序分配片段标识,生成带标识的数据片段。预设的加密片段长度是以8位为基础单位,可选有16位,32位,64位,128位及以上片段长度。片段标识的长度以8位为基础单位,其长度为8的倍数,一般片段标识的长度小于数据片段的长度。特殊的,当数据量较大,导致数据容量不够,则还将采用多包传输。例如,片段标识的长度为8,数据片段为16位的预设加密片段。其最大容
量为255*16=4080位的文件数据,当文件的数据大于4080采用多包传输。该模块还会将子加密文件1和子加密文件2组成加密文件。将分类算法,消息认证码,片段标识文件组成加密校验文件。
108.2、校验加密:一种用于生成消息认证码的模块,其组成可以是计算机,服务器,加密模块等,其主要作用是随机选取一个以上的数据片段,通过预设的加密算法生成一段消息验证码,用来检验数据的完整性,和进行身份验证。本发明采用随机抽样算法,可以减少需要计算的数据量,从而提升加密速度。该模块还会记录随机选取的数据片段的片段标识,生成片段标识文件。
109.3、数据分类:一种根据分类算法,将数据片段划分成a类数据片段和b 类数据片段的模块。其主要组成可以是计算机,服务器,文件处理软件等。例1,随机生成一个合数,使片段标识除以合数,能整除的划分为a类数据片段,不能整除的划分为b类数据片段。例2,将奇数的片段标识划分为a 类数据片段,偶数的片段标识划分为b类数据片段,等分类算法。
110.4、数据加密:根据预设的加密算法对文件进行加密。其组成可以是计算机,服务器,加密模块等。例如,利用dm5加密算法对a类数据片段进行加密其加密的密匙为密匙1,生成子加密文件1,利用des加密算法对b类数据片段进行加密其加密的密匙为密匙2,生成子加密文件2,可以利用dm5加密算法或des加密算法或rsa加密算法对数据片段进行加密,生成数据加密文件。
111.为了解决加密效率和加密强度两者的矛盾,采用了三套加密算法交叉的加密结构,在同等加密强度下,大大提升了加密效率,实现了加密强度强,加密效率更高。使得在对车联网大量数据的加密效率更好,节省了加密成本。
112.本发明实施例的技术方案,通过架构三种加密算法交叉加密,相对于同是三种加密算法组合而成的加密结构,提升了加密效率。解决了单一加密算法存在被强行破解的可能性,采用了三种加密密匙,运用多套不同的加密算法,被破解的可能性大大降低。使车联网数据在传输过程中,降低了明文传输容易导致车辆数据被窃取,用户隐私被泄漏的情况。
113.实施例四
114.图7为本发明实施例四提供的一种数据加密装置的结构示意图。如图7 所示,该装置包括:片段标识分配模块410、加密文件确定模块420和目标加密文件确定模块430。
115.其中,片段标识分配模块410,用于获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识;加密文件确定模块420,用于根据所述数据片段生成所述目标数据的数据加密文件,并根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件;目标加密文件确定模块430,用于将所述数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件。
116.本发明实施例的技术方案,通过获取待加密的目标数据,将所述目标数据划分为至少两个数据片段,并分别为每个数据片段分配片段标识,化整为零,为数据加密提供了更多的可能,使得数据加密方式更为灵活;生成带片段标识的数据片段,以记录每一个所述数据片段的位置,考虑到数据的逻辑性和完整性,增加片段标识,能够方便地区分不同的数据片段。进一步的,根据所述数据片段生成所述目标数据的数据加密文件,以提高所述目标数据的安全;并根据所述数据片段以及所述数据片段的片段标识,确定所述目标数据的加密校验文件,以校验所述目标数据在数据传输过程中是否被篡改或泄漏;再进一步的,将所述
数据加密文件和所述加密校验文件作为所述目标数据的目标加密文件,进行数据传输。解决了数据加密效率和数据加密强度两者存在矛盾的问题,能够根据所述数据片段以及所述数据片段的片段标识确定的数据加密文件和所述加密校验文件,确定目标加密文件,达到了在较低的数据加密强度下,提升数据加密效率,保证数据传输的安全性的效果。
117.可选的,所述加密文件确定模块420,包括:数据片段类型划分单元、子加密文件确定单元和数据加密文件确定单元。
118.其中,数据片段类型划分单元,用于基于预设分类算法将所述目标数据的数据片段划分为至少两种类型的数据片段;子加密文件确定单元,用于分别对每种类型的数据片段进行加密,得到每种类型的数据片段对应的子加密文件;数据加密文件确定单元,用于将各种类型的数据片段对应的子加密文件进行合并,得到所述目标数据的数据加密文件。
119.可选的,所述数据片段类型划分单元,用于:
120.随机生成一个目标值,根据每个数据片段的片段标识除以所述目标值得到的商是否为整数,将所述目标数据的数据片段划分为两种类型的数据片段;
121.或者,
122.根据每个数据片段的片段标识为奇数还是为偶数,将所述目标数据的数据片段划分为两种类型的数据片段。
123.可选的,所述子加密文件确定单元,用于:
124.针对不同类型的数据片段,采用不同的加密算法对所述数据片段进行加密,得到所述数据片段对应的子加密文件。
125.可选的,所述加密文件确定模块420,包括:目标校验数据确定单元、标识记录文件确定单元和加密校验文件单元。
126.其中,目标校验数据确定单元,用于从至少两个数据片段中抽取得到校验片段,对抽取到的所述校验片段进行加密,得到目标校验数据;标识记录文件确定单元,用于获取每个所述校验片段的片段标识,基于所述校验片段的片段标识生成标识记录文件;加密校验文件单元,用于对所述目标校验数据、所述标识记录文件和所述预设分类算法进行加密,得到所述目标数据的加密校验文件。
127.可选的,所述目标校验数据确定单元,用于:
128.基于消息认证码算法对抽取到的所述校验片段进行加密,得到消息验证码,将所述消息验证码作为目标校验数据。
129.可选的,所述数据加密方法,还用于:
130.响应于针对于所述目标数据的数据解密请求,获取所述目标数据的目标加密文件;
131.确定所述数据加密文件中每种类型的数据片段对应的子加密文件,分别对每个子加密文件进行解密,得到每种类型的数据片段;
132.对所述加密校验文件进行解密,得到所述目标数据的目标校验数据、标识记录文件和预设分类算法;
133.根据所述预设分类算法将各种类型的数据片段进行合并,得到明文数据;
134.根据所述标识记录文件中的片段标识确定所述明文数据中的待校验片段,根据对所述目标校验数据的加密方式对所述待校验片段进行加密,得到待校验数据;
135.根据所述待校验数据和所述目标校验数据确定所述明文数据是否为所述目标数据。
136.本发明实施例所提供的数据加密装置可执行本发明任意实施例所提供的数据加密方法,具备执行方法相应的功能模块和有益效果。
137.实施例五
138.图8示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
139.如图8所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram) 13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器 11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18 加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
140.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
141.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据加密方法。
142.在一些实施例中,数据加密方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的数据加密方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据加密方法。
143.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
144.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
145.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
146.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管) 或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
147.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
148.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
149.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
150.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1