一种密钥的获取方法、装置及电子设备与流程

文档序号:33113072发布日期:2023-02-01 02:26阅读:20来源:国知局
一种密钥的获取方法、装置及电子设备与流程

1.本技术涉及车联网技术领域,尤其是涉及一种密钥的获取方法、装置及电子设备。


背景技术:

2.车联网技术可以改善道路通行状况,减少车辆事故,使得行车更安全、便捷和舒适。典型的车联网系统通常包括可信赖的机构(trusted agency,ta)、车载智能设备(on board unit,obu)和路侧设备(road side unit,rsu);其中,ta为车联网系统的建立者与管理者。在车联网中,智能网联汽车通过obu以及相应的专用短程通信(dedicated short range communication,dsrc)无线通信协议,能够实现车对车(vehicle to vehicle,v2v)和车对路侧设备(vehicle to rsu,v2r)两种方式的通信;rsu与ta之间通过有线方式进行通信。
3.车联网自身存在广泛的安全需求,如消息的可认证性和完整性、隐私保护和保密性、可用性、不可连接性、可追踪性等。为了满足这些安全需求,目前通常采用文件系统或者专用密码芯片对身份认证交互过程中的密钥进行存储。然而,目前存在很多类型的网络安全攻击,rsu作为基础设施,通常固定在路边的专用支架上,攻击者可以对设备进行长时间的渗透攻击,因此,rsu的入侵相对会比较容易实现。


技术实现要素:

4.本技术的目的在于提供一种密钥的获取方法、装置及电子设备,从而解决目前rsu易被网络攻击者入侵的问题。
5.第一方面,本技术实施例提供一种密钥的获取方法,应用于电子设备,包括:
6.通过对所述电子设备的系统文件和应用程序进行可信度量,确定所述系统文件和所述应用程序的可信状态;
7.在所述可信状态为可信的情况下,读取所述电子设备的可信平台模块tpm存储的密钥,其中,所述密钥用于所述电子设备的身份认证。
8.可选地,所述通过对系统文件和应用程序进行可信度量,确定所述系统文件和所述应用程序的可信状态,包括:
9.对所述系统文件和所述应用程序进行可信度量,获得目标特征值;
10.根据所述目标特征值和初始特征值,确定所述系统文件和所述应用程序的可信状态。
11.可选地,所述对所述系统文件和所述应用程序进行可信度量,获得目标特征值,包括:
12.在所述电子设备的启动阶段,对所述系统文件进行可信度量;
13.在所述电子设备的操作系统os阶段,对所述应用程序进行可信度量;
14.根据可信度量获得的度量值执行平台配置寄存器pcr扩展操作,获得所述目标特征值。
15.可选地,所述系统文件包括以下至少一项:引导加载程序文件,引导加载程序配置文件、系统内核文件。
16.可选地,所述应用程序包括以下至少一项:
17.第一应用程序,用于传感器接收服务;
18.第二应用程序,用于应用程序数据处理服务。
19.可选地,所述在所述电子设备的操作系统os阶段,对所述应用程序进行可信度量,包括:
20.从策略文件中获取需要可信度量的应用程序列表;
21.在所述应用程序列表中的应用程序启动时,对所述应用程序的二进制文件和所述应用程序的配置文件进行可信度量。
22.可选地,所述在所述的电子设备的操作系统os阶段,对所述应用程序进行可信度量,还包括:
23.在系统运行过程中,若监测到所述应用程序的二进制文件或配置文件被修改,则重新对所述应用程序的二进制文件和配置文件进行可信度量。
24.可选地,所述根据所述目标特征值和初始特征值,确定所述系统文件和所述应用程序的可信状态,包括:
25.在所述目标特征值与所述初始特征值相同的情况下,确定所述系统文件和所述应用程序未被篡改;
26.在所述系统文件和所述应用程序未被篡改的情况下,确定所述系统文件和所述应用程序的可信状态为可信。
27.第二方面,本技术实施例还提供一种密钥的获取装置,应用于电子设备,包括:
28.确定模块,用于通过对所述电子设备的系统文件和应用程序进行可信度量,确定所述系统文件和所述应用程序的可信状态;
29.读取模块,用于在所述可信状态为可信的情况下,读取所述电子设备的可信平台模块tpm存储的密钥,其中,所述密钥用于所述电子设备的身份认证。
30.第三方面,本技术实施例还提供一种电子设备,包括收发机、存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的密钥的获取方法。
31.第四方面,本技术实施例还提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的密钥的获取方法。
32.本技术的上述技术方案至少具有如下有益效果:
33.本技术实施例的密钥的获取方法,首先电子设备通过对所述电子设备的系统文件和应用程序进行可信度量,确定所述系统文件和所述应用程序的可信状态,以检测该电子设备的系统文件和/或应用程序是否被篡改;其次电子设备在所述可信状态为可信的情况下,读取所述电子设备的可信平台模块tpm存储的密钥,其中,所述密钥用于所述电子设备的身份认证。其中,在可信状态为可信时,确定该系统文件和/或应用程序未被篡改,即该电子设备应未被恶意攻击,在这种情况下,可以进一步获取电子设备用于身份认证的密钥,以提升身份认证过程的安全性。
附图说明
34.图1为本技术实施例的密钥的获取方法的流程示意图之一;
35.图2为本技术实施例的密钥的获取方法的流程示意图之二;
36.图3为本技术实施例的密钥的获取方法的流程示意图之三;
37.图4为本技术实施例的密钥的获取装置的结构示意图;
38.图5为本技术实施例的电子设备的结构示意图。
具体实施方式
39.为使本技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本技术的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本技术的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
40.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
41.在本技术的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
42.在本技术所提供的实施例中,应理解,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
43.在进行本技术实施例的说明时,首先对下面描述中所用到的一些概念进行解释说明。
44.可信平台模块(trust platform module):是一种植入于计算机内部为计算机提供可信根的芯片。
45.平台配置寄存器(platform configuration register,pcr):是tpm基本的特征之一。它的主要用途是提供一种密码学记录(度量)软件状态的方法,包括平台上运行的软件和该软件使用的配置数据。pcr更新计算被称为“扩展”,它是一种单向哈希计算。
46.pcr策略:tpm授权策略是pcr常见用途。除非特定的pcr具有特定的值,否则一个实体拥有的策略可以阻止该实体被使用。可以指定pcr的子集和pcr的值作为授权策略,tpm pcr值处于策略对应的状态时可以访问实体,否则将不满足策略且不能访问该实体。
47.引导加载程序(bootloader):在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
48.下面,结合附图,对本技术实施例的密钥的获取方法、装置及电子设备进行详细说明。
49.如图1所示,本技术实施例提供一种密钥的获取方法,该方法应用于电子设备,具
体的,该电子设备可以为车联网设备,例如,该车联网设备为易被攻击的rsu,该方法包括:
50.步骤101,通过对所述电子设备的系统文件和应用程序进行可信度量,确定所述系统文件和所述应用程序的可信状态;
51.本步骤中,通过对系统文件和应用程序进行可信度量,能够基于度量结果确定系统文件和/或应用程序是否被恶意篡改,以确定系统文件和应用程序是否可信。
52.步骤102,在所述可信状态为可信的情况下,读取所述电子设备的可信平台模块tpm存储的密钥,其中,所述密钥用于所述电子设备的身份认证。
53.本步骤中,在系统文件和应用程序未被篡改时,确定电子设备未被攻击,系统文件和应用程序可信,此时,可以从tpm中读取存储的密钥,以实现基于该密钥进行电子设备的身份认证,确保身份认证过程的安全性。
54.本技术实施例的密钥的获取方法,首先电子设备通过对所述电子设备的系统文件和应用程序进行可信度量,确定所述系统文件和所述应用程序的可信状态;确定所述系统文件和所述应用程序的可信状态,以检测该电子设备的系统文件和/或应用程序是否被篡改;然后,电子设备在所述可信状态为可信的情况下,读取所述电子设备的可信平台模块tpm存储的用于电子设备的身份认证的密钥,其中,在可信状态为可信时,确定该系统文件和/或应用程序未被篡改,即该电子设备应未被恶意攻击,在这种情况下,可以进一步获取电子设备用于身份认证的密钥,以提升身份认证过程的安全性,从而大大提升整个车辆系统的安全性。
55.具体的,所述系统文件包括以下至少一项:引导加载程序文件,引导加载程序配置文件、系统内核文件。
56.具体的,所述应用程序包括以下至少一项:
57.第一应用程序,用于传感器接收服务;
58.第二应用程序,用于应用程序数据处理服务。
59.也就是说,本技术实施例中,对应用程序进行可信度量具体是对电子设备中的关键应用程序进行度量,其中,关键应用程序例如为实现传感器接收服务的应用程序以及实现应用程序数据处理服务在内的应用程序。
60.作为一个可选的实现方式,步骤101,通过对系统文件和应用程序进行可信度量,确定所述系统文件和所述应用程序的可信状态,包括:
61.对所述系统文件和所述应用程序进行可信度量,获得目标特征值;本步骤具体可以为电子设备中的bootloader度量模块对系统文件进行可信度量,电子设备中的内核度量模块对应用程序进行可信度量,以最终获得对应的目标特征值;
62.根据所述目标特征值和初始特征值,确定所述系统文件和所述应用程序的可信状态;本步骤具体可以是基于目标特征值与初始特征值是否相同,以确定系统文件和应用程序的可信状态。
63.这里,需要说明的是,该初始特征值为电子设备出厂时,基于对电子设备的初始状态的可信度量得到的特征值。
64.作为一个具体的实现方式,对所述系统文件和所述应用程序进行可信度量,获得目标特征值,包括:
65.在所述电子设备的启动阶段,对所述系统文件进行可信度量;
66.在所述电子设备的操作系统(operating system,os)阶段,对所述应用程序进行可信度量;
67.根据可信度量获得的度量值执行平台配置寄存器pcr扩展操作,获得所述目标特征值。
68.也就是说,本技术实施例中的可信度量过程具体为:在电子设备的启动阶段,bootloader度量模块对电子设备的系统文件进行可信度量,以得到与各个系统文件对应的度量值;在电子设备的系统完成启动进入os阶段后,内核度量模块对应用程序进行度量,以得到与各个应用程序对应的度量值;然后,执行pcr扩展操作,以将各个度量值存储到特定的pcr中,最终得到与各个度量值对应的目标特征值。
69.作为一个可选的实现方式,在所述电子设备的操作系统os阶段,对所述应用程序进行可信度量,包括:
70.从策略文件中获取需要可信度量的应用程序列表;
71.在所述应用程序列表中的应用程序启动时,对所述应用程序的二进制文件和所述应用程序的配置文件进行可信度量。
72.本可选实现方式中,该策略文件中包括需要可信度量的至少一个应用程序构成的应用程序列表,当然,也可以不以列表的方式存在,且各个应用程序的信息包括:应用程序名称、应用程序的各个二进制文件名称、应用程序的各个配置文件的名称等。因此,内核度量模块可以基于该策略文件确定需要可信度量的应用程序及应用程序的文件信息;具体的,内核度量模块会根据策略文件中规定的应用程序列表内的应用程序启动时,对启动的应用程序的二进制文件和应用程序配置文件进行度量。
73.进一步地,作为一个可选的实现方式,所述在所述的电子设备的操作系统os阶段,对所述应用程序进行可信度量,还包括:
74.在系统运行过程中,若监测到所述应用程序的二进制文件或配置文件被修改,则重新对所述应用程序的二进制文件和配置文件进行可信度量。
75.本可选实现方式中,内核度量模块可以基于inotity监听应用程序的相关文件是否被修改,也就是说,内核度量模块不仅在应用程序启动时对应用程序进行可信度量,还会在应用程序运行时对应用程序的相关文件进行监听,在监听到被修改时,会重新对应用程序进行可信度量,以避免电子设备在正常运行过程时,应用程序被恶意篡改,以进一步提高电子设备的可靠性。
76.作为一个可选的实现方式,根据所述目标特征值和初始特征值,确定所述系统文件和所述应用程序的可信状态,包括:
77.在所述目标特征值与所述初始特征值相同的情况下,确定所述系统文件和所述应用程序未被篡改;
78.在所述系统文件和所述应用程序未被篡改的情况下,确定所述系统文件和所述应用程序的可信状态为可信。
79.如前所述,初始特征值为在电子设备出厂时对电子设备的初始状态进行可信度量得到的特征值,若目标特征值与初始特征值相同,则表明与目标特征值相关的电子设备的状态(电子设备的当前状态)与出厂时的初始状态相同,隐忍,电子设备的系统文件和应用程序均未被篡改,即电子设备未被恶意攻击,因而电子设备的系统文件和应用程序是可信
的。
80.也就是说,电子设备(如rsu)在出厂时的状态记为可信基准状态。在工厂的基准状态下,bootloader度量模块对bootloader、bootloader config、系统内核(kernel)分别进行度量并将度量值扩展写入tpm芯片的pcr;内核度量模块对应用程序二进制文件以及应用程序配置文件度量,并将度量值扩展到tpm芯片的pcr,此时平台配置寄存器的值代表当前平台的完整性信息,当被度量的文件内容被修改时,对应的平台配置寄存器值也会发生变化。
81.下面,结合图2对本技术实施例的密钥的获取方法的具体实现过程进行详细的说明:
82.第一、在boot阶段执行以下操作:
83.1、引导加载程序度量模块测量引导加载程序;即:引导加载程序度量模块对引导加载程序进行可信度量;
84.2、引导加载程序度量模块测量引导加载程序配置文件;即:引导加载程序度量模块对引导加载程序配置文件进行可信测量;
85.3、引导加载程序度量模块测量内核文件;即:引导加载程序度量模块对内核文件进行可信度量;
86.4、引导加载程序度量模块扩展pcr8,9,11;即:引导加载程序度量模块将对引导加载程序的可信度量值扩展写入pcr8,将对引导加载程序配置文件的可信度量值扩展写入pcr9,将对内核文件的可信度量值扩展写入pcr11;
87.第二,在os阶段执行以下操作:
88.5、内核度量模块测量第一应用程序;即:内核度量模块对第一应用程序进行可信度量;
89.6、内核度量模块测量第二应用程序;即:内核度量模块对第二应用程序进行可信度量;
90.7、内核度量模块扩展pcr12;即:内核度量模块将对第一应用程序和第二应用程序的可信度量的度量值扩展写入pcr12;
91.第三,在基于可信度量得到的目标特征值获得pcr策略(pcr策略包括密保特征值)之后,执行以下操作:
92.8、身份认证模块获取当前的pcr策略;
93.9、身份认证模块利用pcr策略读取密钥;即:身份认证模块基于当前的pcr策略中的目标特征值和初始pcr策略中的初始特征值确定系统文件和/或应用程序是否被篡改,若未被篡改,则向tpm中的随机存储器(nv storage)请求读取用于身份认证的密钥;
94.10、反馈密钥;即:nv storage向身份认证模块反馈密钥;
95.11、利用密钥与obu进行身份认证;即:身份认证某块利用密钥与obu或其他设备中的应用程序进行身份认证。
96.下面,结合图3对本技术实施例的密钥的获取方法进行说明:
97.第一,rsu上电启动;
98.第二:启动度量模块(引导加载程序度量模块)依次对引导加载程序、引导加载程序配置(文件)、内核(文件)进行可信度量,并将度量结果扩展写入可信平台模块的pcr库;
99.第三,内核度量模块对应用程序进行可信度量,并将度量结果扩展写入可信平台模块的pcr库;
100.第四,可信平台模块根据“第二”和“第三”的度量结果生成pcr策略;
101.第五,身份认证模块使用系统运行时的pcr策略确定电子设备是否被攻击,在未被攻击的情况下,从tpm芯片获取身份认证所需的私钥,其中若tpm pcr策略校验未通过,确定电子设备被攻击。
102.简言之,本技术实施例的密钥的获取方法的实现过程主要由电子设备的bootloader度量模块、内核度量模块以及身份认证模块协作实现。具体的,bootloader度量模块主要负责对电子设备(rsu)的bootloader,bootloader配置文件,系统内核文件进行度量,确保这些系统文件的完整性;内核度量模块对电子设备(rsu)上包括传感器接收服务以及应用程序数据处理服务在内的关键应用程序进行度量,在系统运行期间监控应用程序的完整性(即监控应用程序是否被篡改),当应用程序的二进制文件或者关键配置文件被篡改时自动扩展tpm的pcr;身份认证模块使用系统运行时的pcr策略获取身份认证的私钥,从而完成与obu或者其他设备的身份认证。
103.其中,内核度量模块对应用程序进行度量的过程具体为:内核度量模块通过策略文件可以设置(确定)内核需要度量的文件,系统完成启动进入os阶段后,内核度量模块会根据策略文件中规定的应用程序列表度量在程序启动时,对应用程序的二进制文件和应用程序配置文件进行度量并执行pcr扩展操作。如果应用程序未被修改,此时pcr12的值与出厂时保持一致。内核度量模块会通过inotity监听文件系统修改,当策略文件中的文件发生修改时,重新度量文件并进行pcr扩展,这样应用程序的二进制或者配置文件被修改时,代表应用程序完整性的pcr12的值就会发生变化。
104.还有,rsu进行身份认证时,rsu应用程序(身份认证模块)使用系统运行时的pcr策略从tpm芯片获取身份认证所需私钥。此时如果rsu系统文件以及rsu应用程序均处于初始的可信状态,则系统运行时的pcr值与出厂时一致,tpm pcr策略校验通过,身份认证模块可以从tpm获取密钥完成身份认证;如果系统文件或者应用程序被攻击者篡改,运行时pcr值与出厂时的pcr值不一致,tpm pcr策略校验失败,身份认证模块无法获取身份认证的私钥。
105.如图4所示,本技术实施例还提供一种密钥的获取装置,应用于电子设备,包括:
106.确定模块401,用于通过对所述电子设备的系统文件和应用程序进行可信度量,确定所述系统文件和所述应用程序的可信状态;
107.读取模块402,用于在所述可信状态为可信的情况下,读取所述电子设备的可信平台模块tpm存储的密钥,其中,所述密钥用于所述电子设备的身份认证。
108.可选地,所述确定模块401包括:
109.获取子模块,用于对所述系统文件和所述应用程序进行可信度量,获得目标特征值;
110.确定子模块,用于根据所述目标特征值和初始特征值,确定所述系统文件和所述应用程序的可信状态。
111.可选地,所述获取子模块包括:
112.第一可信度量单元,用于在所述电子设备的启动阶段,对所述系统文件进行可信度量;
memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
132.此外,需要指出的是,在本技术的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序或按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本技术的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本技术的说明的情况下运用他们的基本编程技能就能实现的。
133.因此,本技术的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本技术的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本技术,并且存储有这样的程序产品的存储介质也能构成本技术。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
134.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
135.以上所述是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1