数据存储方法、验证方法、装置及电子设备与流程

文档序号:33319952发布日期:2023-03-03 19:48阅读:20来源:国知局
数据存储方法、验证方法、装置及电子设备与流程

1.本技术属于数据安全存储技术领域,尤其涉及一种数据存储方法、验证方法、装置及电子设备。


背景技术:

2.随着自动驾驶技术的普及,由于车辆数据安全性的不足,导致交通事故定责困难的问题越发突显出来。例如交通事故中经常出现车辆厂商与用户各执一词的情况,厂商将事故归因于用户操作不当,但用户可能会认为祸因是自动驾驶系统失灵。而即使厂商拿出了与事故相关的车辆数据,用户也往往不会接受,因为这些车辆数据存储在厂商服务器端,厂商有篡改的可能。
3.并且,目前车辆数据一般直接由车机端上传至服务器保存,整个过程存在以下弊端:
4.1、服务器端可以修改车辆数据,使得在取证时车辆数据缺乏公信力;
5.2、车辆数据存储于服务器,但服务器存在被攻击进而导致高隐私性车辆数据被泄露的风险。
6.因此,目前的车辆数据存储技术,安全性低。


技术实现要素:

7.本技术实施例提供一种数据存储方法、验证方法、装置及电子设备,能够提高车辆数据存证的安全性和可靠性。
8.第一方面,本技术实施例提供一种数据存储方法,应用于第一服务器,方法包括:
9.接收车载终端上传的第一数据块,第一数据块中包含第二数据块和对应数字签名,第二数据块根据车载终端的目标车辆数据和对应的时间戳生成,数字签名为车载终端调用第一预存私钥对第二数据块签名得到;
10.通过第一预存公钥验证数字签名,第一预存公钥与第一预存私钥相对应;
11.在数据签名验证通过的情况下,生成第一数据块的第一哈希值;
12.将第一哈希值上传至区块链,并将第一数据块存储在第一服务器中。
13.在一些实施例中,第一预存私钥和对应的第一预存公钥,由车载终端通信连接的安全元件生成;第一预存私钥保存在安全元件中。
14.在一些实施例中,第二数据块由第一密文与第二密文组合生成,
15.其中,第一密文通过与目标车辆数据对应的目标对称密钥对第三数据块加密得到,第三数据块包括目标车辆数据和对应的时间戳,目标对称密钥保存在车载终端或车载终端通信连接的安全元件中;
16.第二密文为目标对称密钥的密文。
17.在一些实施例中,第二密文为第二预存公钥加密对目标对称密钥得到;
18.第二预存公钥保存在车载终端或安全单元中,第二预存公钥与第一服务器上存储
的第二预存私钥相对应。
19.在一些实施例中,在将第一哈希值上传至区块链,并将第一数据块保存在第一服务器中之后,方法还包括:
20.通过第二预存私钥解密第一数据块中的第二密文,得到目标对称密钥;
21.将目标对称密钥和第一数据块发送至第二服务器,以使第二服务器基于第一数据块与区块链上的第一哈希值进行匹配,并在匹配成功的情况下,基于目标对称密钥和所述第一预存公钥对第一数据块进行验证。
22.在一些实施例中,在接收车载终端上传的第一数据块之前,方法还包括:
23.通过预设的公钥加密算法,生成一对密钥,密钥包括第二预存公钥和第二预存私钥,其中,第二预存私钥存储在第一服务器中;
24.将第二预存公钥发送至车载终端。
25.第二方面,本技术实施例提供了一种数据验证的方法,应用于第二服务器,方法包括:
26.接收第一服务器发送的第一数据块和目标对称密钥;第一数据块中包含第二数据块和对应数字签名,第二数据块根据车载终端的目标车辆数据和对应的时间戳生成,数字签名为车载终端调用第一预存私钥对第二数据块签名得到;
27.通过预设数字摘要算法,生成第一数据块的第二哈希值;
28.将第二哈希值与区块链上的第一哈希值进行匹配,第一哈希值是由第一服务器根据第一数据块生成;
29.在第二哈希值与匹配的第一哈希值相同的情况下,基于第一预存公钥和目标对称密钥,对第一数据块进行验证,其中,第一预存公钥与第一预存私钥相对应。
30.在一些实施例中,第二数据块由第一密文与第二密文组合生成,
31.其中,第一密文通过与目标车辆数据对应的目标对称密钥对第三数据块加密得到,第三数据块包括目标车辆数据和对应的时间戳,目标对称密钥保存在车载终端或车载终端通信连接的安全元件中;
32.第二密文为第二预存公钥加密对目标对称密钥得到,第二预存公钥保存在车载终端或安全单元中,第二预存公钥与第一服务器上存储的第二预存私钥相对应。
33.在一些实施例中,在第二哈希值与匹配的第一哈希值相同的情况下,基于第一预存公钥和目标对称密钥,对第一数据块进行验证,包括:
34.在第二哈希值与匹配的第一哈希值相同的情况下,使用第一预存公钥,通过预设数字签名验证算法验证第一数据块中的数字签名;
35.在数字签名验证通过的情况下,通过目标对称密钥解密第二数据块中的第一密文,得到第三数据块。
36.第三方面,本技术实施例提供了一种数据存储装置,应用于第一服务器,装置包括:
37.第一接收模块,用于接收车载终端上传的第一数据块,第一数据块中包含第二数据块和对应数字签名,第二数据块根据车载终端的目标车辆数据和对应的时间戳生成,数字签名为车载终端调用第一预存私钥对第二数据块签名得到;
38.第一验证模块,用于通过第一预存公钥验证数字签名,第一预存公钥与第一预存
私钥相对应;
39.第一生成模块,用于在数据签名验证通过的情况下,生成第一数据块的第一哈希值;
40.第一存储模块,用于将第一哈希值上传至区块链,并将第一数据块存储在第一服务器中。
41.第四方面,本技术实施例提供了一种数据验证装置,应用于第二服务器,装置包括:
42.第二接收模块,用于接收第一服务器发送的第一数据块和目标对称密钥;第一数据块中包含第二数据块和对应数字签名,第二数据块根据车载终端的目标车辆数据和对应的时间戳生成,数字签名为车载终端调用第一预存私钥对第二数据块签名得到;
43.第二生成模块,用于通过预设数字摘要算法,生成第一数据块的第二哈希值;
44.匹配模块,用于将第二哈希值与区块链上的第一哈希值进行匹配,第一哈希值是由第一服务器根据第一数据块生成;
45.第二验证模块,用于在第二哈希值与匹配的第一哈希值相同的情况下,基于第一预存公钥和目标对称密钥,对第一数据块进行验证,其中,第一预存公钥与第一预存私钥相对应。
46.第五方面本技术实施例提供了一种电子设备,设备包括:处理器以及存储有计算机程序指令的存储器;
47.处理器执行计算机程序指令时实现如第一方面或第二方面中所述的方法。
48.第六方面,本技术实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或第二方面中所述的方法。
49.本技术实施例的数据存储方法、验证方法、装置及电子设备,能够利用分别存储在不同设备端的密钥对原始车辆数据进行加密,并借助区块链技术的不可篡改特性,保证车辆数据在存储过程中的安全性和认证过程中的可靠性。
附图说明
50.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1是本技术一个实施例提供的数据存储方法的流程示意图;
52.图2是本技术一个具体实施例中,车载终端与第一服务器交互示意图;
53.图3是本技术另一个实施例提供的数据验证方法的流程示意图;
54.图4是本技术另一个实施例提供的数据存储装置的结构示意图;
55.图5是本技术再一个实施例提供的数据验证装置的结构示意图;
56.图6是本技术又一个实施例提供的电子设备的结构示意图。
具体实施方式
57.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目
的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
58.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
59.在自动驾驶等场景中,车辆数据存储的安全性与取证的可靠性都尤为重要。目前直接从车载终端将车辆数据上传到车辆厂商服务器端存储的方式,车辆数据在传输和存储过程中均具有安全隐患,存在被泄露的风险,而且车辆数据存储的不安全性,导致从车辆厂商服务器进行数据取证时,取证数据也不具备公信力。
60.为了解决现有技术问题,本技术实施例提供了一种数据存储方法、验证方法、装置及电子设备。下面首先对本技术实施例所提供的数据存储方法进行介绍。
61.图1示出了本技术一个实施例提供的数据存储方法的流程示意图。如图1所示,该方法包括:
62.s101.接收车载终端上传的第一数据块,第一数据块中包含第二数据块和对应数字签名,第二数据块根据车载终端的目标车辆数据和对应的时间戳生成,数字签名为车载终端调用第一预存私钥对第二数据块签名得到;
63.s102.通过第一预存公钥验证数字签名,第一预存公钥与第一预存私钥相对应;
64.s103.在数据签名验证通过的情况下,生成第一数据块的第一哈希值;
65.s104.将第一哈希值上传至区块链,并将第一数据块存储在第一服务器中。
66.本实施例的方法,将车载终端的目标车辆数据附加时间戳后,利用分别存储在不同设备端的密钥对原始车辆数据进行加密和签名,并借助区块链技术的不可篡改特性,保证车辆数据在存储过程中的安全性和认证过程中的可靠性。
67.在本技术实施例的数据存储方法中,将车载终端产生的车辆数据上传到第一服务器存储,本文中,第一服务器可以是车辆厂商方的服务器,或者是自动驾驶系统运营方的服务器,或者是其他存储管理车辆数据的第三方服务器。
68.示例性的,图2示出了车载终端与第一服务器的交互示意图。下面参考图2对本技术实施例的数据存储方法进行详细介绍。
69.如图2所示,该数据存储方法在车载终端可以包括以下步骤s201~s202:
70.s201.车载终端生成目标车辆数据后,为目标车辆数据附加对应的时间戳,形成第三数据块。
71.目标车辆数据可以是车辆驾驶过程中车载终端产生的运行数据,例如可以包括车辆实时位置、行驶轨迹、发动机启动与关闭时间、发动机温度、发动机转速、节气门开度等等。
72.对目标车辆数据附加当前的时间戳后,得到第三数据块a。这样后续验证该目标车辆数据时,可以基于时间戳对车辆数据产生的时间进行认证,利于验证该车辆数据在产生后是否经过篡改。
73.s202.调用目标对称密钥对第三数据块加密,得到第一密文。
74.示例性的,每一个第三数据块a对应一个目标对称密钥k,目标对称密钥k可以通过车载终端生成,也可以通过与车载终端通信连接安全元件(secure element,se)生成。
75.示例性的,在车载终端或安全元件中,可以根据对称加密算法随机生成一个目标对称密钥k。对称加密算法为具备解密验证能力的加密算法,例如可以是des(data encryption standard)算法、3des或aes(advanced encryption standard)算法等,本技术实施例不做限定。
76.安全元件se可以防止外部恶意解析攻击,保护数据安全,通过安全元件生成目标对称密钥,安全性更高。
77.通过目标对称密钥k加密第三数据块a后,得到第一密文b。
78.得到第一密文b之后,该数据存储方法在车载终端侧还包括步骤s203~s206:
79.s203.调用第二预存公钥对目标对称密钥加密,得到第二密文。
80.第二预存公钥是预先保存在车载终端或安全元件se中的公钥。
81.第一服务器端预先通过公钥加密算法生成公私钥对,其中,公钥为上述第二预存公钥,对应的私钥为第二预存私钥。第二预存私钥保存在第一服务器中,第二预存公钥被公开出去,并可以采用适合的认证机制对第二预存公钥认证。
82.示例性的,公钥加密算法可以采用rsa算法,也可以采用其他适合算法,本技术不做限定。
83.示例性的,认证机制可以为pki(public key infrastructure,公开密钥基础设施)或ibc(identity-based cryptograph,基于标识的密码技术)等认证机制。
84.被公开的第二预存公钥可以发送到车载终端或安全元件se中保存。
85.车载终端调用存储在本地或安全元件se中的第二预存公钥,对目标对称密钥k加密,生成第二密文c。
86.s204.将第一密文和第二密文组成第二数据块。
87.示例性的,第二数据块d可以通过将第一密文b和第二密文c拼接得到。两密文进行组合拼接时,可以通过预先设定数据块中两密文的不同数据长度,来区分数据块d中两密文的数据,也可以通过预设的数据结构(如标签tag)区分两密文的数据。
88.s205.通过安全元件,利用第一预存私钥对第二数据块签名,得到第二数据块的数字签名。
89.示例性的,第一预存私钥是存储在安全元件se中的私钥。
90.安全元件se预先通过数字签名算法,生成一组安全元件的公私钥对,其中,私钥为上述第一预存私钥,对应的公钥为第一预存公钥。第一预存私钥保存在安全元件se中,第一预存公钥公布出去,并且可以采用适合的认证机制对第一预存公钥认证。认证机制可以是pki、ibc等,本技术实施例不做限定。
91.示例性的,数字签名算法可以采用dsa(digital signature algorithm)算法,或者ecdsa(elliptic curve digital signature algorithm)算法,本技术不做限定。
92.被公布的第一预存公钥可以发送到第一服务器和第二服务器等存储。
93.车辆终端与安全元件se通信,使得安全元件se使用第一预存私钥基于数字签名算法对第二数据块d签名,得到第二数据块的数据签名e。
94.s206.将第二数据块和对应的数字签名封装为第一数据块,发送给第一服务器。
95.第一数据块f可以通过将第二数据块d和数字签名e拼接组合得到。组合封装第二数据块d和数字签名e时,可以通过预先设定数据块f中该两部分数据的不同长度,来区分数据块f中两部分数据,也可以通过预设的数据结构(如标签tag)区分该两部分数据。
96.本技术实施例方法中,车载终端依次通过一一对应的对称密钥k、第二预存公钥、第一预存私钥对数据块进行加密,使得每一个车辆数据块的加密密钥都不同,并且很难被窃取和篡改,极大程度地提高了车辆数据传输和存储的安全性。
97.车载终端将封装得到的第一数据块f,发送到第一服务器中,在第一服务器端执行上述步骤s101~s104,通过步骤s101~s104,第一服务器接收到第一数据块f后,对第一数据块f进行验证,并在验证通过后存储该第一数据块f。
98.具体的,在步骤s101接收车载终端上传的第一数据块中,第一数据块中包含第二数据块和对应数字签名。
99.第一服务器接收到第一数据块f中,数字签名为车载终端调用第一预存私钥对第二数据块签名得到,第二数据块根据车载终端的目标车辆数据和对应的时间戳生成,其中,第二数据块由第一密文与第二密文组合生成。
100.第一密文通过与目标车辆数据对应的目标对称密钥对第三数据块加密得到,第三数据块包括目标车辆数据和对应的时间戳。
101.示例性的,目标对称密钥保存在车载终端或车载终端通信连接的安全元件中;第二密文为目标对称密钥的密文,由第二预存公钥加密对目标对称密钥得到。其中,第二预存公钥保存在车载终端或安全单元中,第二预存公钥与第一服务器上存储的第二预存私钥相对应。
102.在一些实施例中,参考图2所示,在步骤s101接收车载终端上传的第一数据块之前,方法还包括以下步骤s207~s208:
103.s207.通过预设的公钥加密算法,生成一对密钥,密钥包括第二预存公钥和第二预存私钥,其中,第二预存私钥存储在第一服务器中。
104.第一服务器端预先通过公钥加密算法生成公私钥对,其中,公钥为上述第二预存公钥,对应的私钥为第二预存私钥。第二预存私钥保存在第一服务器中,第二预存公钥被公开出去,并可以采用适合的认证机制对第二预存公钥认证。
105.示例性的,公钥加密算法可以采用rsa算法,也可以采用其他适合算法,本技术不做限定。
106.示例性的,认证机制可以为pki(public key infrastructure,公开密钥基础设施)或ibc(identity-based cryptograph,基于标识的密码技术)等认证机制。
107.s208.将第二预存公钥发送至车载终端。
108.被公开的第二预存公钥可以发送到车载终端,然后保存在车载终端本地或安全元件se中,以用于加密目标对称密钥k。
109.示例性的,在第一服务器通过步骤s101接收到第一数据块f后,可以通过步骤s102
对第一数据块进行解密验证。
110.具体的,参考图2,步骤s102具体可以包括:
111.s209.使用第一预存公钥,通过数字签名验证算法,验证第一数据块中的数字签名。
112.第一预存公钥与安全元件se中存储的第一预存私钥为一对非对称密钥对。安全元件se预先生成该密钥对后,将第一预存公钥公布出来,被第一服务器获取并保存。
113.本示例中,通过经过身份认证的安全元件se参与数据加密,确保数据来源准确。
114.由于第一数据块f是由第二数据块d和数字签名e拼接得到,所以第一服务器可以从第一数据块f中解析出数字签名,然后通过第一预存公钥和对应的数字签名验证算法,验证数字签名。
115.如果第一服务器对该数字签名验证不通过,则拒绝该第一数据块,将第一数据块丢弃,不进行后续步骤的处理。
116.如果数字签名验证通过,则执行步骤s103。具体的,参考图2,该步骤s103可以包括:
117.s210.在数字签名验证通过的情况下,通过数字摘要算法,生成第一数据块的第一哈希值。
118.数字摘要算法也即hash算法。第一服务器在上述数据签名验证通过的情况下,通过hash算法,将第一数据块f转换为第一哈希值h1。
119.生成第一哈希值h1后,通过步骤s211.将第一哈希值上传至区块链,并将第一数据块存储在第一服务器中。
120.上传到区块链的第一哈希值h1可以作为一个区块。车载终端不断生成车辆数据,生成的数据块均上传到第一服务器进行上述处理,区块链上会产生若干第一哈希值h1的区块。
121.可以理解的是,本示例中的第一数据块的第一哈希值h1可以通过共识机制,经过共识后保存在区块链。数据的共识和上链为本领域成熟技术,此处不再赘述。
122.本步骤中,第一服务器的数据库可以存储与第一数据块f有关的入库时间信息和对应的车辆信息,以供后续第三方取证时查找相应信息。
123.第一服务器将签名验证通过的第一数据块上传区块链,由于上链的第一数据块经过多重加密手段,确保了数据块足够小进而可以保证区块链的性能。同时第一数据块保存在本地,这样可以利用区块链的不可篡改性,保障第一数据块的存储安全性和公信力,并且同时第一服务器中也存储第一数据块,方便第三方取证时,进行参与验证,进而保障了用户和车辆厂商双方的利益。
124.示例性的,当第三方需要对目标车辆数据进行取证时,第三方服务器(也即第二服务器)与第一服务器交互,进行数据的验证。具体的,在将第一哈希值上传至区块链,并将第一数据块保存在第一服务器中之后,方法还可以包括:
125.s212.通过第二预存私钥解密第一数据块中的第二密文,得到目标对称密钥。
126.第一数据块f中第二数据块d由第一密文b和第二密文c拼接组成,因此第一服务器解析出第二数据块d中的第二密文c后,使用本地保存的第二预存私钥通过对应公钥加密算法的解密算法,解密第二密文c,得到目标对称密钥k。
127.s213.将目标对称密钥和第一数据块发送至第二服务器,以使第二服务器基于第一数据块与区块链上的第一哈希值进行匹配,并在匹配成功的情况下,基于目标对称密钥和第一预存公钥对第一数据块进行验证。
128.本步骤中,第一服务器将目标对称密钥k和第一数据块发送至第二服务器,使得第二服务器可以执行车辆数据的取证。
129.本实施例方法中,第一服务器存储的车辆数据都是被多重加密的,且每一组车辆数据的加密密钥都不同,极大地提升了车辆数据的保密性。并且每个车辆每个时间对应的密钥均不同,保密性强。
130.第一服务器接收的车辆数据块转换为hash值存储于区块链,不可更改,保证车辆数据无法被篡改,保障数据存储的可靠性,后续取证时也利于提高数据取证的公信力。
131.第二方面,本技术实施例提供了一种数据验证的方法,应用于第二服务器。
132.示例性的,图3示出了本技术实施例提供的数据验证的流程示意图。参考图3所示,该方法包括步骤s301~s304:
133.s301.接收第一服务器发送的第一数据块和目标对称密钥。
134.本步骤中,第一数据块f中包含第二数据块d和对应数字签名e。其中,数字签名为车载终端调用第一预存私钥对第二数据块签名得到,第二数据块d根据车载终端的目标车辆数据和对应的时间戳生成。
135.示例性的,第二数据块d由第一密文b与第二密文c组合生成,其中,第一密文通过与目标车辆数据对应的目标对称密钥对第三数据块加密得到,第三数据块包括目标车辆数据和对应的时间戳,目标对称密钥保存在车载终端或车载终端通信连接的安全元件中;
136.第二密文为第二预存公钥加密对目标对称密钥得到,第二预存公钥保存在车载终端或安全单元中,第二预存公钥与第一服务器上存储的第二预存私钥相对应。
137.s302.通过预设数字摘要算法,生成第一数据块的第二哈希值。
138.该数字摘要算法也即hash算法。第二服务器将第一服务器发送的第一数据块通过hash算法转换为第二哈希值h2,以与区块链上的第一哈希值h1匹配。
139.s303.将第二哈希值与区块链上的第一哈希值进行匹配。
140.区块链上具有若干哈希值h1的区块,对应若干车辆的车辆数据。在第三方取证时,先生成第一数据块f的第二哈希值h2,然后将第二哈希值h2与区块链上已存储的第一哈希值h1匹配搜索。
141.如果匹配到相同的哈希值h1,说明在区块链上已存在与第二哈希值h2相同的哈希值,也即第二服务器接收的第一数据块f已在链上。
142.如果未匹配到相同的哈希值h1,说明在区块链上不存在与第二哈希值h2相同的哈希值,也即第二服务器接收的第一数据块f未上链,此时可以判定第一数据块f不可信,取证失败。
143.s304.在第二哈希值与匹配的第一哈希值相同的情况下,基于第一预存公钥和目标对称密钥,对第一数据块进行验证,其中,第一预存公钥与第一预存私钥相对应。
144.如果第二哈希值匹配到相同的第一哈希值h1,第二服务器对第一数据块f进行验证。
145.示例性的,步骤s304可以包括:
146.s3041.在第二哈希值与匹配的第一哈希值相同的情况下,使用第一预存公钥,通过预设数字签名验证算法验证第一数据块中的数字签名。
147.第二服务器从第一数据块f中先解析出数字签名e,通过对应的数字签名验证算法验证数字签名e。第一预存公钥是安全元件se公开的,如果数字签名e能够被第一预存公钥验证,表明第一数据块f来自对应的车载终端。反之,如果数字签名e不能被第一预存公钥验证,第一数据块f可能不来自对应的车载终端或者为非法数据,则取证失败。
148.s3042.在数字签名验证通过的情况下,通过目标对称密钥解密第二数据块中的第一密文,得到第三数据块。
149.第二数据块由第一密文b和第二密文c拼接得到。在数字签名验证通过的情况下,第二服务器解析出第一密文b,并使用第一服务器发送的目标对称密钥,通过对应对称加密算法的解密算法来解密第一密文b。如果解密失败,则判定取证失败。
150.如果解密成功,则可以得到第三数据块。然后从第三数据块中解析得到目标车辆数据和对应的时间戳,完成取证。
151.本实施例的数据验证方法,基于车载终端对目标车辆数据的加密处理,并通过区块链不可篡改的特性和安全元件se的可靠性,保障目标车辆数据无法被修改,使之具备取证公信力。
152.第三方面,本技术实施例提供了一种数据存储装置,应用于第一服务器。
153.图4示出了本技术实施例提供的数据存储装置的结构示意图。如图4所示,该装置包括:
154.第一接收模块401,用于接收车载终端上传的第一数据块,第一数据块中包含第二数据块和对应数字签名,第二数据块根据车载终端的目标车辆数据和对应的时间戳生成,数字签名为车载终端调用第一预存私钥对第二数据块签名得到;
155.第一验证模块402,用于通过第一预存公钥验证数字签名,第一预存公钥与第一预存私钥相对应;
156.第一生成模块403,用于在数据签名验证通过的情况下,生成第一数据块的第一哈希值;
157.第一存储模块404,用于将第一哈希值上传至区块链,并将第一数据块存储在第一服务器中。
158.本技术实施例的数据存储装置,能够利用分别存储在不同设备端的密钥对原始车辆数据进行加密,并借助区块链技术的不可篡改特性,保证车辆数据在存储过程中的安全性和认证过程中的可靠性。
159.示例性的,第一接收模块401可以执行上述图1中示出的步骤s101,第一验证模块402可以执行上述图1中示出的步骤s102,第一生成模块403可以执行上述图1中示出的步骤s103,第一存储模块404可以执行上述图1中示出的步骤s104。
160.需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
161.第四方面,本技术实施例提供了一种数据验证装置,应用于第二服务器。
162.图5示出了本技术实施例提供的数据验证装置的结构示意图。如图5所示,该装置包括:
163.第二接收模块501,用于接收第一服务器发送的第一数据块和目标对称密钥;第一数据块中包含第二数据块和对应数字签名,第二数据块根据车载终端的目标车辆数据和对应的时间戳生成,数字签名为车载终端调用第一预存私钥对第二数据块签名得到;
164.第二生成模块502,用于通过预设数字摘要算法,生成第一数据块的第二哈希值;
165.匹配模块503,用于将第二哈希值与区块链上的第一哈希值进行匹配,第一哈希值是由第一服务器根据第一数据块生成;
166.第二验证模块504,用于在第二哈希值与匹配的第一哈希值相同的情况下,基于第一预存公钥和目标对称密钥,对第一数据块进行验证,其中,第一预存公钥与第一预存私钥相对应。
167.本实施例的数据验证方法,基于车载终端对目标车辆数据的加密处理,并通过区块链不可篡改的特性和安全元件se的可靠性,保障目标车辆数据无法被修改,使之具备取证公信力。
168.示例性的,第二接收模块501可以执行上述图3中示出的步骤s301,第二生成模块502可以执行上述图3中示出的步骤s302,匹配模块503可以执行上述图3中示出的步骤s303,第二验证模块504可以执行上述图3中示出的步骤s304。
169.需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
170.图6示出了本技术实施例提供的电子设备的硬件结构示意图。
171.电子设备可以包括处理器601以及存储有计算机程序指令的存储器602。
172.具体地,上述处理器601可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
173.存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。
174.存储器可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本技术实施例的第一方面的数据存储方法或第二方面的数据验证方法所描述的操作。
175.处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种数据存储方法或数据验证方法。
176.在一个示例中,电子设备还可包括通信接口603和总线610。其中,如图6所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
177.通信接口603,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的
通信。
178.总线610包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术实施例考虑任何合适的总线或互连。
179.另外,结合上述实施例中的数据存储方法或数据验证方法,本技术实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据存储方法或数据验证方法。
180.需要明确的是,本技术实施例并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本技术实施例的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本技术的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
181.以上所述的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本技术实施例的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
182.还需要说明的是,本技术实施例中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术实施例不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
183.上面参考根据本技术的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术实施例的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
184.以上所述,仅为本技术实施例的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考
前述方法实施例中的对应过程,在此不再赘述。应理解,本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1