基于可信硬件技术的超级监控式无人飞行器可信检测方法

文档序号:29930519发布日期:2022-05-07 12:44阅读:99来源:国知局
基于可信硬件技术的超级监控式无人飞行器可信检测方法

1.本发明涉及无人机技术领域,尤其涉及一种基于可信硬件技术的超级监控式无人飞行器可信检测方法。


背景技术:

2.相关技术中,为了保证无人飞行器硬件的安全性,可以结合硬件和密码学技术构建适用于硬件的安全架构。mobile trusted module(mtm)就是针对硬件安全问题提出的规范。在mtm规范中,硬件提供商会实现硬件的保护环境,保护环境会在可信平台模块(trusted platform module,tpm)之前启动运行,tpm首先要信任该保护环境,在保护环境安全可靠的前提下完成后续的可信链和可信环境搭建。但是,mtm规范存在着一些面向硬件设备的安全和适用性问题,硬件设备的可信环境在很大程度上依赖于设备提供商对保护环境的实现。由于无人飞行器硬件设备种类繁多,使用环境多样化,对设备提供商提出了很高的要求,也对后续的托管、开发和使用造成了困难。随着无人飞行器的普及和安全风险的日益提高,mtm规范愈发无法满足安全需求。
3.相关技术中,还存在着通过trustzone硬件安全特性为可信硬件架构提供了新的思路。trustzone将硬件和软件资源进行了安全和非安全的分区,其中需要保密的操作在安全区域进行,其余操作在非安全区域进行。处理器也被分成安全核和非安全核,trustzone在安全区域和非安全区域之间设立了隔离机制,确保非安全核只能访问非安全区域的资源,而安全核能访问所有资源。这一类方案可以对启动时的引导代码和系统内核文件进行校验,确保系统正确启动并搭建可信链,还可以对启动后运行中的代码和存储的数据进行检验,验证内容的完整性,进而保证运行环境的安全。但是,处于trustzone安全区域程序的运行会中断操作系统其它程序的运行,实时监控会引入较大系统开销。并且由于安全区域程序的运行与其它内核程序和用户进程共享了cpu核,导致运行于trustzone中的超级监控程序和动态完整性度量程序难以被可信第三方托管,即安全应用设计与普通应用开发相分离。这些问题导致trustzone技术难以应用到无人飞行器中。
4.动态完整性度量(dynamic integrity measurement,dim)是增强系统可信性的一种技术。动态完整性度量可以对运行中的程序和数据进行实时度量,动态完整性度量可以获取程序执行对应的内存地址,并读取其中的数据,检验其完整性,如果出现异常,可以做出警报或直接中断程序运行。然而,现有的动态完整性度量机制大都依赖于操作系统内核层面的保护,虽然能够动态度量进程,但是系统开销比较大,当操作系统内核被恶意嵌入的病毒、木马攻破,则该动态完整性度量机制的安全性难以得到保证。


技术实现要素:

5.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的目的在于提出一种基于可信硬件技术的超级监控式无人飞行器可信检测方法,以实现将无人飞行器进行可信启动,进而在无人飞行器被可信启动后对其进行实时动态完整性度量,
从而对无人飞行器进行超级监控,保障无人飞行器的安全,并且不会影响无人飞行器的系统的运行速度。
6.为达到上述目的,本发明实施例提出了一种基于可信硬件技术的超级监控式无人飞行器可信检测方法,所述方法包括以下步骤:所述可信监控系统先于所述主处理器系统启动,并运行静态度量程序;通过所述静态度量程序度量所述主存储器系统的引导程序的完整性,并在度量通过后启动所述主处理器系统,以及运行所述引导程序并拷贝操作系统镜像;通过所述静态度量程序读取所述操作系统镜像并度量其完整性;通过所述主处理器系统启动运行嵌入式操作系统,且轻量级度量代理作为所述嵌入式操作系统的内核模块被加载运行;所述可信监控系统中动态完整性度量程序与轻量级度量代理交互身份认证数据,确认程序完整和程序加载运行基地址合法后结束静态可信度量流程;所述可信监控系统获取接受度量的对象信息,并对所述接受度量的对象信息进行代码和数据读取;所述可信监控系统对获取到的内容进行动态完整性度量,形成供安全策略调用验证的可信链数据。
7.本发明实施例的基于可信硬件技术的超级监控式无人飞行器可信检测方法,通过可信监控系统先于主处理器系统启动,并运行静态度量程序;通过静态度量程序度量主存储器系统的引导程序的完整性,并在度量通过后启动主处理器系统,以及运行引导程序并拷贝操作系统镜像;通过静态度量程序读取操作系统镜像并度量其完整性;通过主处理器系统启动运行嵌入式操作系统,且轻量级度量代理作为嵌入式操作系统的内核模块被加载运行;通过可信监控系统中动态完整性度量程序与轻量级度量代理交互身份认证数据,确认程序完整和程序加载运行基地址合法后结束静态可信度量流程;通过可信监控系统获取接受度量的对象信息,并对接受度量的对象信息进行代码和数据读取;从而可通过可信监控系统对获取到的内容进行动态完整性度量,形成供安全策略调用验证的可信链数据。由此,可以实现将无人飞行器进行可信启动,进而在无人飞行器被可信启动后对其进行实时动态完整性度量,从而对无人飞行器进行超级监控,保障无人飞行器的安全,并且不会影响无人飞行器的系统的运行速度。
8.另外,本发明上述的基于可信硬件技术的超级监控式无人飞行器可信检测方法还可以具有如下附加的技术特征:
9.根据本发明的一个实施例,所述可信监控系统中集成有第一静态随机存取存储器(on-chip sram2),其中,如果所述可信监控系统未集成片上嵌入式闪存(on-chip eflash),则先从片外加载所述静态度量程序,验证完整性并脱密后写入所述第一静态随机存取存储器,从所述第一静态随机存取存储器运行所述静态度量程序;如果所述可信监控系统集成有所述片上嵌入式闪存,则直接从所述片上嵌入式闪存运行所述静态度量程序。
10.根据本发明的一个实施例,所述主处理器系统集成有第一总线桥(bus bridge1)、直接存储器访问控制器(dma controller)和第二静态随机存取存储器(sram1),所述第二静态随机存取存储器采用双端口结构,其中,所述静态度量程序通过所述第一总线桥度量外存中所述主处理器系统的引导程序的完整性,以及通过设置所述直接存储器访问控制器将所述操作系统镜像拷贝至所述第二静态随机存取存储器中。
11.根据本发明的一个实施例,所述度量所述操作系统镜像完整性,包括:计算所述操作系统镜像的哈希值;将所述哈希值与预设哈希值进行比较,根据比较结果度量所述操作
系统镜像的完整性。
12.根据本发明的一个实施例,所述对所述接受度量的对象信息进行代码和数据读取,包括:如果接受度量的对象是操作系统镜像程序和轻量级度量代理程序,则所述可信监控系统将直接从所述第二静态随机存取存储器中读取数据;如果接受度量的对象是所述主处理器系统中的其他关键应用,则所述可信监控系统根据代码页内存地址、大小信息和程序名称中的至少一者读取所述第二静态随机存取存储器中的内容。
13.根据本发明的一个实施例,所述可信监控系统根据代码页内存地址、大小信息和程序名称中的至少一者读取所述第二静态随机存取存储器中的内容,包括:所述可信监控系统的动态完整性度量程序,通过所述第二静态随机存取存储器监控通道,读取所述第二静态随机存取存储器中指定地址中指定内存大小的应用程序代码页内容。
14.根据本发明的一个实施例,所述可信监控系统通过下述过程对获取到的内容进行动态完整性度量:
[0015][0016]vi
=hash(mi)(1≤i≤n)
[0017]
measureisok=(v1==h1)&(v2==h2)&

&(vn==hn)
[0018]
pcr=hash(pcr||v1||v2||

||vn)
[0019]
其中,mi(1≤i≤n)表示进程运行时的代码页空间,hi表示应用信息列表中预先计算存储的mi的哈希值,vi表示动态完整性度量程序对代码和数据进行计算得到的哈希值,measureisok表示完整性度量的结果,当vi和hi在1≤i≤n范围内都相等时,度量通过,measureisok为true,否则度量不通过,measureisok为false,pcr表示全体度量值扩展形成的供安全策略调用验证的可信链数据。
[0020]
根据本发明的一个实施例,所述基于可信硬件技术的超级监控式无人飞行器可信检测方法还包括:在所述动态完整性度量过程中,所述可信监控系统的动态完整性度量程序维持一个当前运行的需要实时度量的应用信息列表,其中,所述应用信息列表包括程序名称、代码页地址以及每个代码页的哈希值。
[0021]
根据本发明的一个实施例,所述基于可信硬件技术的超级监控式无人飞行器可信检测方法还包括:在所述动态完整性度量过程中,如果所述主处理器系统异常,则所述可信监控系统管控所述主处理器系统的多个功能。
[0022]
根据本发明的一个实施例,所述基于可信硬件技术的超级监控式无人飞行器可信检测方法还包括:所述多个功能包括触屏输入与显示输出功能、网络通信功能、导航功能、拍照功能、录音功能中的至少一者。
[0023]
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0024]
图1是本发明一个实施例的基于可信硬件技术的超级监控式无人飞行器可信检测方法的流程图;
[0025]
图2是本发明一个实施例的硬件主处理器系统可信增强架构图;
[0026]
图3是本发明一个实施例的基于可信监控系统的动态完整性度量结构图;
[0027]
图4是本发明一个实施例的基于总线仲裁器的外设接口管控结构图。
具体实施方式
[0028]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0029]
下面参考附图描述本发明实施例的基于可信硬件技术的超级监控式无人飞行器可信检测方法。
[0030]
图1是本发明一个实施例的基于可信硬件技术的超级监控式无人飞行器可信检测方法的流程图。
[0031]
如图1所示,基于可信硬件技术的超级监控式无人飞行器可信检测方法包括以下步骤:
[0032]
s11,可信监控系统先于主处理器系统启动,并运行静态度量程序。
[0033]
在本发明的实施例中,无人飞行器包括可信监控系统和主处理器系统。该可信监控系统与主处理系统之间进行物理隔离,主处理器系统上运行的嵌入式操作系统及其应用程序不能访问可信监控系统的内存空间;对于存放于外部存储器中的可信监控系统需加载的密存程序代码和数据,通过总线仲裁器,可在外存上划分单独的受控访存地址,只允许可信监控系统程序访存。物理隔离确保了可信监控系统的安全程序能够安全可信运行,对于恶意程序的攻击完全免疫。
[0034]
其中,如图2所示,可信监控系统中集成有第一静态随机存取存储器。
[0035]
具体地,可信监控系统先于主处理器系统启动,如果可信监控系统未集成片上嵌入式闪存,则先从片外加载静态度量程序,验证完整性并脱密后写入第一静态随机存取存储器,从第一静态随机存取存储器运行静态度量程序。
[0036]
其中,上述主处理器系统在启动之前处于复位状态。上述片外加载静态度量程序可以保存在如图2所示的外部存储器中。
[0037]
可选地,如果可信监控系统集成有片上嵌入式闪存,则直接从片上嵌入式闪存运行静态度量程序。
[0038]
由此,可以完成可信监控系统的启动,并实现将静态度量程序读取到可信监控系统中,进而可信监控系统运行静态度量程序。
[0039]
s12,通过静态度量程序度量主处理器系统的引导程序的完整性,并在度量通过后启动主处理器系统,以及运行引导程序并拷贝操作系统镜像。
[0040]
其中,如图2所示,上述主处理器系统集成有第一总线桥、直接存储器访问控制器和第二静态随机存取存储器,第二静态随机存取存储器采用双端口结构。
[0041]
具体地,静态度量程序通过第一总线桥度量外存中主处理器系统的引导程序的完整性,以及通过设置直接存储器访问控制器将操作系统镜像拷贝至第二静态随机存取存储器中。
[0042]
其中,上述静态度量程序可以在可信监控系统内运行。上述第二静态随机存取存储器可以采用双端口结构,也可以采用其它优化结构。
[0043]
可选地,在上述通过设置直接存储器访问控制器将操作系统镜像拷贝至第二静态
随机存取存储器中之前,还可在上述主处理系统的引导程序的完整性通过度量后,通过引导程序启动主处理器系统。
[0044]
由此,可以实现可信监控系统通过静态度量程序检测主处理器系统的引导程序的完整性,从而实现通过引导系统启动主处理器系统。进而将操作系统镜像拷贝到sram1中。
[0045]
s13,通过静态度量程序读取操作系统镜像并度量其完整性。
[0046]
具体地,如图2所示,可信监控系统可以从第二静态随机存取存储器内获取信息。因而,在可信监控系统运行静态度量程序时,可信监控系统可以从第二静态随机存取存储器内读取上述被拷贝至第二静态随机存取存储器中的操作系统镜像。进一步地,可信监控系统可以度量操作系统镜像的文件完整性。
[0047]
可选地,上述度量操作系统镜像完整性的步骤可以为:计算操作系统镜像的哈希值;将哈希值与预设哈希值进行比较,根据比较结果度量操作系统镜像的完整性。
[0048]
由此,可以实现可信监控系统通过静态度量程序检测被拷贝的操作系统镜像的完整性。
[0049]
s14,通过主处理器系统启动运行嵌入式操作系统,且轻量级度量代理作为嵌入式操作系统的内核模块被加载运行。
[0050]
s15,可信监控系统中动态完整性度量程序与轻量级度量代理交互身份认证数据,确认程序完整和程序加载运行基地址合法后结束静态可信度量流程。
[0051]
由此,可以完成无人飞行器的可信启动。
[0052]
s16,可信监控系统获取接受度量的对象信息,并对接受度量的对象信息进行代码和数据读取。
[0053]
具体地,可信监控系统获取接受度量的对象的信息,并根据接收度量的对象的类型对该对象的信息进行代码和数据的读取。
[0054]
其中,如果接受度量的对象是操作系统镜像程序和轻量级度量代理程序,则可信监控系统将直接从第二静态随机存取存储器中读取数据;如果接受度量的对象是主处理器系统中的其他关键应用,则可信监控系统根据代码页内存地址、大小信息和程序名称中的至少一者读取第二静态随机存取存储器中的内容。上述可信监控系统的动态完整性度量程序可以获取该被读取的内容。
[0055]
进一步地,上述可信监控系统的动态完整性度量程序,通过第二静态随机存取存储器监控通道,读取第二静态随机存取存储器中指定地址中指定内存大小的应用程序代码页内容。
[0056]
需要说明的是,上述根据代码页内存地址、大小信息和程序名称中的至少一者读取到的第二静态随机存取存储器中的内容可以是由所述轻量级度量代理获取并写入的,进而可信监控系统在获取到该信息后可以对于该信息对应的应用进行度量。由此,可以实现在对主处理器系统中的其他关键应用进行度量的过程中,主处理器系统中仅有内核系统中的轻量级度量代理参与该度量过程,且轻量级度量代理仅需在应用加载或退出时获取并写入信息,对应用运行的影响可以忽略不计。
[0057]
s17,可信监控系统对获取到的内容进行动态完整性度量,形成供安全策略调用验证的可信链数据。
[0058]
需要说明的是,本发明实施例中的动态完整性度量是无干扰的,意味着动态完整
性度量程序不会影响系统的运行速度。在系统层面,动态完整性度量程序可以定位操作系统内核运行的起始内存地址空间、关键模块运行地址空间和轻量级度量代理程序运行的地址空间,并对其进行实时的动态完整性度量。在关键应用动态完整性度量层面,动态完整性度量程序可以通过应用的代码页内存地址、大小等信息读取到应用代码,并进行动态完整性度量。一旦开始度量过程,将不再占用主cpu系统,不会对运行的嵌入式操作系统程序和关键应用程序产生任何干扰和性能损耗。
[0059]
具体地,上述动态完整性度量的过程可以如下所示:
[0060][0061]vi
=hash(mi)(1≤i≤n)
[0062]
measureisok=(v1==h1)&(v2==h2)&

&(vn==hn)
[0063]
pcr=hash(pcr||v1||v2||

||vn)
[0064]
其中,如图3所示,mi(1≤i≤n)表示进程运行时的代码页空间,hi表示应用信息列表中预先计算存储的mi的哈希值,vi表示动态完整性度量程序对代码和数据进行计算得到的哈希值,measureisok表示完整性度量的结果,当vi和hi在1≤i≤n范围内都相等时,度量通过,measureisok为true,否则度量不通过,measureisok为false,pcr表示全体度量值扩展形成的供安全策略调用验证的可信链数据。
[0065]
进一步地,在上述动态完整性度量过程中,可信监控系统的动态完整性度量程序维持一个当前运行的需要实时度量的应用信息列表,其中,应用信息列表包括程序名称、代码页地址以及每个代码页的哈希值。
[0066]
需要说明的是,上述可信监控系统对上述接受度量的对象进行动态完整性度量的过程是实时进行的,以在发现系统异常时,对主处理器系统进行管控,从而实现对无人飞行器的超级监控。在上述动态完整性度量过程中,如果主处理器系统正常工作,主处理器系统可通过如图4所示的外设接口管控结构对各设备接口进行读写操作。如果主处理器系统异常,则可信监控系统管控主处理器系统的多个功能。其中,上述多个功能包括触屏输入与显示输出功能、网络通信功能、导航功能、拍照功能、录音功能中的至少一者。而且,还可根据外设类型输出无意义的协议数据或响应超时,确保主处理器系统程序不因为外设拒绝服务而崩溃。
[0067]
进一步地,本发明实施例中的基于可信硬件技术的超级监控式无人飞行器可信检测方法还可以支持第三方可信托管。由于可信监控系统的程序开发、加载运行、升级维护等都独立于主处理器系统,因此,当无人机硬件提供商完成了主系统的开发验证后,可以将可信监控系统编程模型开放给专业的可信第三方,由第三方完成可信程序的设计开发,此可信托管方式利于形成行业标准、接受国家相关部门监控,以减少安全漏洞。
[0068]
由此,可以实现对无人飞行器进行动态完整性度量。
[0069]
综上,本发明实施例的基于可信硬件技术的超级监控式无人飞行器可信检测方法,可以实现将无人飞行器进行可信启动,进而在无人飞行器被可信启动后对其进行实时动态完整性度量,从而对无人飞行器进行超级监控,保障无人飞行器的安全,并且不会影响无人飞行器的系统的运行速度。而且,还可支持第三方可信托管,以减少安全漏洞。
[0070]
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可
读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0071]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0072]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0073]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0074]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0075]
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0076]
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示
第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0077]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1