CN114301590B - 基于tpm的无人机机载控制系统的可信启动方法及系统 - Google Patents
基于tpm的无人机机载控制系统的可信启动方法及系统 Download PDFInfo
- Publication number
- CN114301590B CN114301590B CN202111632422.7A CN202111632422A CN114301590B CN 114301590 B CN114301590 B CN 114301590B CN 202111632422 A CN202111632422 A CN 202111632422A CN 114301590 B CN114301590 B CN 114301590B
- Authority
- CN
- China
- Prior art keywords
- control system
- flight control
- integrity
- unmanned aerial
- aerial vehicle
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 claims abstract description 182
- 238000012795 verification Methods 0.000 claims abstract description 27
- 238000005259 measurement Methods 0.000 claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 16
- 238000004590 computer program Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
基于TPM的无人机机载控制系统的可信启动方法及系统,方法包括以下步骤:对飞控系统的硬件和软件分别执行哈希操作,计算出飞控系统的完整性摘要值a发送到机载计算机;机载计算机利用平台属性计算其自身完整性摘要值b,将飞控系统的完整性摘要值a和机载计算机的完整性摘要值b再执行哈希操作,得到无人机机载控制系统的完整性摘要值h;机载计算机获取无人机机载控制系统完整性的正确度量值H,将无人机机载控制系统的完整性摘要值h与正确度量值H比对,完成完整性校验,若验证成功则无人机启动,反之终止启动。本发明在无人机上电启动的过程中,必须要通过机载和飞控系统的完整性验证,无人机才可以正常启动。本发明方法简单可行、且安全高效。
Description
技术领域
本发明属于无人机技术领域,具体涉及一种基于TPM的无人机机载控制系统的可信启动方法及系统。
背景技术
随着现代科技的进步和发展,计算机技术日新月异,无人机得到了快速的发展,无论是军事上还是民用上,无人机的应用早已日益广泛。无人机可以在空中自由飞行,在复杂的环境中可以替代人类进行航拍绘图、侦察战斗、气候勘测等任务。因此,无人机系统的可用性、安全性等问题就愈发重要。
在无人机技术领域中,飞行姿态控制是无人机最核心的技术之一。无人机的飞控系统能够稳定无人机飞行姿态,并能控制无人机自主或半自主飞行,是无人机完成起飞、空中飞行、执行任务和完成降落等整个飞行过程的核心系统。假如飞控系统被攻击或出现故障,这势必会造成飞行中摇晃震动等现象,严重时会出现失衡坠毁事故,对地面人或物造成难以估量的伤害。因此,在无人机上电后启动的过程中,要确保无人机机载控制系统的安全性和完整性显得至关重要。假如飞控系统在开机启动就已被恶意篡改,那么系统运行时的所有行为都认为是不安全的。因此,只有通过机载控制系统的完整性验证,才可以进入飞控系统,无人机才启动成功。
现有的无人机开源飞行控制器软件PX4和Ardupilot使用的是同一套Bootloader引导程序,无人机上电后,首先进入飞控引导程序,做一系列初始化操作后,会直接进入飞控系统,没有做任何安全检查。在此过程中,用户也无法判断该无人机飞控系统的完整性和安全性,假如无人机的飞控系统已被攻击者恶意篡改,未做安全验证直接进入飞控系统,无人机盲目起飞会有巨大的危险。杨凌等人(专利申请号:CN201810565047.0)提出了一种无人机安全启动方法,只对飞控系统的特定模块进行自检,特定模块只包含动力模块、喷洒模块和寻机模块,未考虑其他关键模块,因此存在一定的局限性。张凌浩等人(专利申请号:CN201911124420.X)提出的无人机自检验方案中,将无人机安全固件完整性的正确值存储在指定区域,每次无人机系统上电后,读取当前系统的信息,将其与正确结果比对完成完整性校验。但是,系统完整性的正确结果未做安全保护,可能也会被攻击者篡改。而且,现有的一些嵌入式设备的完整性验证方案仅关注软件层面的验证,而没有考虑嵌入式硬件层面的完整性验证。
发明内容
本发明的目的在于针对上述现有技术中的问题,提供一种基于TPM的无人机机载控制系统的可信启动方法及系统,在无人机启动的过程中,会进行机载控制系统的完整性验证,增强了无人机系统的可靠性和安全性。
为了实现上述目的,本发明有如下的技术方案:
一种基于TPM的无人机机载控制系统的可信启动方法,包括以下步骤:
对飞控系统的硬件和软件分别执行哈希操作,计算出飞控系统的完整性摘要值a发送到机载计算机;
机载计算机利用平台属性计算其自身完整性摘要值b,将飞控系统的完整性摘要值a和机载计算机的完整性摘要值b再执行哈希操作,得到无人机机载控制系统的完整性摘要值h;
机载计算机获取无人机机载控制系统完整性的正确度量值H,将无人机机载控制系统的完整性摘要值h与正确度量值H比对,完成完整性校验,若验证成功则无人机启动,反之终止启动。
作为本发明的一种优选方案,所述对飞控系统的硬件和软件分别执行哈希操作,得到飞控系统摘要值a的步骤具体包括:
获取飞控系统的硬件信息,将飞控系统的硬件信息进行哈希操作得到硬件摘要值;
读取飞控系统存储器区域的软件代码,每读取一个字节与上次结果摘要值再进行哈希操作,得到软件摘要值;
将硬件摘要值和软件摘要值进行哈希操作得到飞控系统的完整性摘要值a。
作为本发明的一种优选方案,在所述获取飞控系统的硬件信息的步骤中,所述硬件信息包括MCU的序列号、飞控芯片ID和版本。
作为本发明的一种优选方案,还包括无人机上电后,首先进入飞控系统的引导程序,完成初始化操作;所述的初始化操作包括初始化串口、USB端口、LED,还包括初始化时钟。
作为本发明的一种优选方案,机载计算机和飞控系统之间的安全通信使用密文进行传输,使用对称加密算法,事先约定好共享密钥key;
机载计算机的密钥存储在安全可信的TPM模块中,飞控系统的密钥存储在代码中,只要两者进行互相通信,发送方会对消息msg使用对称密钥key进行加密,然后通过密文进行传输,接收方收到密文后通过对称密钥key解密出消息msg。
作为本发明的一种优选方案,所述对飞控系统的硬件和软件分别执行哈希操作时,由机载计算机对飞控引导程序发送请求,请求校验飞控系统的完整性,飞控引导程序执行计算飞控硬件和软件完整性模块;
具体包括以下步骤:
2.1)机载计算机向飞控系统发送请求,飞控系统将本地时间T发送给机载计算机,机载计算机接受到时间T后,计算T'=T+t(t为从发送消息到接收消息的时延),再加上请求计算飞控系统完整性的指令data,组成消息内容msg,生成密文后发送到飞控系统;
2.2)飞控系统收到密文消息后解密,解析出关键字段时间T'和指令data,首先判断当前本地时间和T'是否在允许的网络延时范围内,如果不在范围内,则认为是重放包,将消息丢弃;如果在范围内,则认为是合法的,跳转到步骤2.3。
2.3)根据指令data执行校验飞控完整性模块,对飞控硬件和软件代码进行哈希操作,飞控硬件方面包括飞控MCU的序列号为MCUm、芯片ID和版本信息为IDV,Z为硬件的摘要值,计算公式为:Z=Hash(MCUm||IDV);在飞控软件方面,每读取一个字节B1B2…Bn,则和之前的摘要结果进行循环哈希,计算公式为:Z1=Hash(Z||B1)Z2=Hash(Z1||B2),最终计算出飞控硬件和软件的结果摘要值a;然后将当前本地时间T1、飞控系统的ID值和最终结果摘要值a等关键字段,组成消息msg,生成密文后发送到机载计算机。
作为本发明的一种优选方案,所述机载计算机利用平台属性计算其自身完整性摘要值b,将飞控系统的完整性摘要值a和机载计算机的完整性摘要值b再执行哈希操作,得到无人机机载控制系统的完整性摘要值h包括:
3.1)机载计算机收到消息后进行解密,解析出时间T1、飞控系统唯一度量值ID和其摘要值a;先判断时间T1是否在网络延时范围内,如果不在范围内,则将消息丢弃;如果在范围内,则认为是合法的,然后利用平台属性计算当前机载计算机的完整性摘要值b;
3.2)将机载计算机与飞控系统的进行安全绑定,将两者的完整性摘要值进行再哈希操作,得到最终无人机机载控制系统的完整性摘要值h。
作为本发明的一种优选方案,所述的无人机机载控制系统包含带有TPM模块的机载计算机和飞控系统,所述机载计算机获取无人机机载控制系统完整性的正确度量值H的步骤通过读取TPM模块的PCR寄存器来获取;
在验证成功的前提下,机载计算机执行启动飞行模块,对飞控引导程序发送请求,飞控引导程序执行控制进入飞控代码模块,使飞控系统正式进入飞控代码,无人机成功启动。
作为本发明的一种优选方案,所述将无人机机载控制系统的完整性摘要值h与正确度量值H比对,完成完整性校验的步骤中,在验证成功的前提下,机载计算机执行启动飞行模块,计算时间T2=T1+t,加上进入飞控模块的指令data1,组成消息内容msg,生成密文后发送到飞控系统;
飞控系统接收到密文消息后,进行关键字段的解析,首先判断时间T2是否在网络延时的范围内,如果不在范围内,则将消息丢弃;如果在范围内,则认为使合法的,再根据指令data1,执行进入飞控代码模块,通过jump指令跳出引导程序进入飞控代码,无人机成功启动。
本发明还提出一种基于TPM的无人机机载控制系统的可信启动系统,包括:
飞控系统完整性计算模块,用于对飞控系统的硬件和软件分别执行哈希操作,计算出飞控系统的完整性摘要值a发送到机载计算机;
无人机机载控制系统完整性计算模块,用于机载计算机利用平台属性计算其自身完整性摘要值b,将飞控系统的完整性摘要值a和机载计算机的完整性摘要值b再执行哈希操作,得到无人机机载控制系统的完整性摘要值h;
完整性校验模块,用于机载计算机获取无人机机载控制系统完整性的正确度量值H,将无人机机载控制系统的完整性摘要值h与正确度量值H比对,完成完整性校验,若验证成功则无人机启动,反之终止启动。
相较于现有技术,本发明至少具有如下的有益效果:
按照本发明提出的启动方法,无人机在上电启动时,需要校验无人机机载控制系统的完整性,以确保无人机在起飞前飞控系统未被攻击者篡改,从根本上保障了无人机飞控系统的可靠性和安全性。在进行飞控系统完整性验证的过程中,本发明的启动方法不仅关注飞控硬件和软件层面的完整性,还考虑了机载计算机的完整性验证,只有飞控系统和机载计算机的完整性都验证通过后,才能证明无人机机载控制系统的安全性,本发明方法能够检测到机载控制系统的侵入式物理攻击和软件漏洞攻击。本发明的启动方法简单可行、且安全高效。
进一步的,本发明无人机机载控制系统包含带有TPM模块的机载计算机和飞控系统,在进行飞控系统完整性验证的过程中,本发明将无人机机载控制系统完整性的正确度量值保存至TPM模块中的PCR寄存器中,其硬件特性可以防止该正确度量值被恶意修改。
进一步的,本发明方法在机载计算机和飞控系统之间相互通信的过程中,机载计算机和飞控系统之间的安全通信使用密文进行传输,使用对称加密算法,本发明设计了一种高效安全的通信协议,该协议可以抵抗重放攻击和中间人攻击。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例无人机机载控制系统的架构图;
图2为本发明实施例基于TPM的无人机机载控制系统的可信启动方法流程图;
图3为本发明实施例机载计算机与飞控系统的安全通信时序图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,本发明无人机机载控制系统包含带有TPM模块的机载计算机和飞控系统。结合图2与图3,实施例基于TPM的无人机机载控制系统的可信启动方法包括以下步骤:
步骤1,无人机上电后,首先进入飞控的引导程序,完成一系列初始化操作,比如初始化串口、USB端口,LED等,并初始化时钟等。
步骤2,机载计算机对飞控引导程序发送请求,请求校验飞控系统的完整性,飞控引导程序执行计算飞控硬件和软件完整性模块,将计算结果摘要值a发送到机载计算机。
本步骤具体实现如下:
2.1)机载计算机和飞控系统的安全通信是使用密文进行传输,其中使用对称加密算法。为了保证密钥传输的安全性,本发明已事先约定好共享密钥key,防止密钥在网络上传输,因此能够抵抗中间人攻击。机载计算机的密钥存储在安全可信的TPM模块中,飞控系统的密钥存储在代码中(飞控代码非开源)。只要两者进行互相通信,发送方会对消息msg使用对称密钥key进行加密,然后通过密文进行传输,接收方收到密文后通过对称密钥key解密出消息msg,为了后续步骤描述简洁,此过程在后续步骤中不再单独描述。
2.2)机载计算机向飞控系统发送请求,飞控系统将本地时间T发送给机载计算机,机载计算机接受到时间T后,计算T'=T+t(t为从发送消息到接收消息的时延),再加上请求计算飞控系统完整性的指令data,组成消息内容msg(主要字段是时间T'和指令data),生成密文后发送到飞控系统。
2.3)飞控系统收到密文消息后解密,解析出关键字段时间T'和指令data,首先判断当前本地时间和T'是否在允许的网络延时范围内。如果不在范围内,则认为是重放包,将消息丢弃;如果在范围内,则认为是合法的,跳转到步骤2.4)。
2.4)根据指令data执行校验飞控完整性模块,对飞控硬件和软件代码进行哈希操作。飞控硬件方面包括飞控MCU的序列号为MCUm、芯片ID和版本信息为IDV,Z为硬件的摘要值。计算公式为:Z=Hash(MCUm||IDV)。在飞控软件方面,每读取一个字节B1B2…Bn,则和之前的摘要结果进行循环哈希,计算公式为:Z1=Hash(Z||B1)Z2=Hash(Z1||B2),最终计算出飞控硬件和软件的结果摘要值a。然后将当前本地时间T1、飞控系统的ID值和最终结果摘要值a等关键字段,组成消息msg,生成密文后发送到机载计算机。
步骤3,无人机的机载计算机利用平台属性计算其完整性摘要值为b,将飞控系统最终的摘要值a和机载计算机完整性的摘要值b进行再哈希操作,得到无人机机载控制系统的最终摘要值h。
本步骤具体实现如下:
3.1)机载计算机收到消息后进行解密,解析出时间T1、飞控系统唯一度量值ID和其摘要值a。先判断时间T1是否在网络延时范围内,如果不在范围内,则将消息丢弃;如果在范围内,则认为是合法的,然后利用平台属性计算当前机载计算机的完整性摘要值为b。
3.2)将机载计算机与飞控系统的进行安全绑定,将两者的完整性摘要值进行再哈希操作,得到无人机机载控制系统的最终摘要值h。
步骤4,机载计算机通过读取TPM模块的PCR寄存器来获取无人机机载控制系统完整性的正确度量值H,将当前的摘要值h与正确度量值H比对完成完整性校验。验证失败,则无人机终止启动。验证成功,则跳转到步骤5。
步骤5,在验证成功的前提下,机载计算机执行启动飞行模块,计算时间T2=T1+t,加上进入飞控模块的指令data1,组成消息内容msg(主要字段是时间T2和指令data1),生成密文后发送到飞控系统。
步骤6,飞控系统接收到密文消息后,进行关键字段的解析,首先判断时间T2是否在网络延时的范围内,如果不在范围内,则将消息丢弃;如果在范围内,则认为使合法的,跳转到步骤7。
步骤7,然后根据指令data1,执行进入飞控代码模块,通过jump指令跳出引导程序进入飞控代码,无人机成功启动。
本发明对无人机飞控系统的引导程序Bootloader进行了二次开发,新增了两个功能模块:一个是具有检验飞控硬件和软件的完整性模块,另外一个是控制进入飞控代码模块。在校验飞控完整性模块中,首先获取飞控硬件信息,比如飞控MCU的序列号、飞控芯片ID和版本,将这些硬件信息进行哈希操作得到硬件摘要值。其次,读取飞控Flash区域的软件代码,每读取一个字节与上次结果摘要值进行再哈希操作,得到最终的软件摘要值。最后,将硬件摘要值和软件摘要值进行最后的哈希操作,得到最终的飞控系统的完整性摘要值。
本发明另一实施例还提出一种基于TPM的无人机机载控制系统的可信启动系统,包括:
飞控系统完整性计算模块,用于对飞控系统的硬件和软件分别执行哈希操作,计算出飞控系统的完整性摘要值a发送到机载计算机;
无人机机载控制系统完整性计算模块,用于机载计算机利用平台属性计算其自身完整性摘要值b,将飞控系统的完整性摘要值a和机载计算机的完整性摘要值b再执行哈希操作,得到无人机机载控制系统的完整性摘要值h;
完整性校验模块,用于机载计算机获取无人机机载控制系统完整性的正确度量值H,将无人机机载控制系统的完整性摘要值h与正确度量值H比对,完成完整性校验,若验证成功则无人机启动,反之终止启动。
本发明在飞控系统的引导程序基础上,新增具有校验飞控硬件和软件的完整性模块,只有通过飞控系统的完整性验证,无人机才能成功启动。为了防止预存的系统完整性正确结果被攻击者恶意篡改,本发明使用了TPM可信模块,利用其硬件特性可有效防止外界的监听和篡改。在校验无人机机载控制系统的完整性方面,本发明不仅考虑到了飞控系统软件和硬件的完整性,还将无人机机载计算机的完整性考虑在内,增强了无人机系统的可靠性和安全性。
本发明基于TPM的无人机机载控制系统的可信启动方法还可以通过一种计算机可读存储介质来进行实现,所述计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现所述基于TPM的无人机机载控制系统的可信启动方法的步骤。
所述的计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在计算机可读存储介质中,并由所述处理器执行,以完成本发明所述基于TPM的无人机机载控制系统的可信启动方法的步骤。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在服务器中的执行过程。
所述服务器可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述服务器还可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以是所述服务器的内部存储单元,例如服务器的硬盘或内存。所述存储器也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种基于TPM的无人机机载控制系统的可信启动方法,其特征在于,包括以下步骤:
对飞控系统的硬件和软件分别执行哈希操作,计算出飞控系统的完整性摘要值a发送到机载计算机;所述对飞控系统的硬件和软件分别执行哈希操作时,由机载计算机对飞控引导程序发送请求,请求校验飞控系统的完整性,飞控引导程序执行计算飞控硬件和软件完整性模块;具体包括以下步骤:
2.1)机载计算机向飞控系统发送请求,飞控系统将本地时间T发送给机载计算机,机载计算机接受到时间T后,计算T'=T+t,式中t为从发送消息到接收消息的时延,再加上请求计算飞控系统完整性的指令data,组成消息内容msg,生成密文后发送到飞控系统;
2.2)飞控系统收到密文消息后解密,解析出关键字段时间T'和指令data,首先判断当前本地时间和T'是否在允许的网络延时范围内,如果不在范围内,则认为是重放包,将消息丢弃;如果在范围内,则认为是合法的,跳转到步骤2.3;
2.3)根据指令data执行校验飞控完整性模块,对飞控硬件和软件代码进行哈希操作,飞控硬件方面包括飞控MCU的序列号为MCUm、芯片ID和版本信息为IDV,Z为硬件的摘要值,计算公式为:Z=Hash(MCUm||IDV);在飞控软件方面,每读取一个字节B1 B2…Bn,则和之前的摘要结果进行循环哈希,计算公式为:Z1=Hash(Z||B1)Z2=Hash(Z1||B2),最终计算出飞控硬件和软件的结果摘要值a;然后将当前本地时间T1、飞控系统的ID值和最终结果摘要值a等关键字段,组成消息msg,生成密文后发送到机载计算机;
机载计算机利用平台属性计算其自身完整性摘要值b,将飞控系统的完整性摘要值a和机载计算机的完整性摘要值b再执行哈希操作,得到无人机机载控制系统的完整性摘要值h;
机载计算机获取无人机机载控制系统完整性的正确度量值H,将无人机机载控制系统的完整性摘要值h与正确度量值H比对,完成完整性校验,若验证成功则无人机启动,反之终止启动。
2.根据权利要求1所述基于TPM的无人机机载控制系统的可信启动方法,其特征在于,所述对飞控系统的硬件和软件分别执行哈希操作,得到飞控系统摘要值a的步骤具体包括:
获取飞控系统的硬件信息,将飞控系统的硬件信息进行哈希操作得到硬件摘要值;
读取飞控系统存储器区域的软件代码,每读取一个字节与上次结果摘要值再进行哈希操作,得到软件摘要值;
将硬件摘要值和软件摘要值进行哈希操作得到飞控系统的完整性摘要值a。
3.根据权利要求2所述基于TPM的无人机机载控制系统的可信启动方法,其特征在于,在所述获取飞控系统的硬件信息的步骤中,所述硬件信息包括MCU的序列号、飞控芯片ID和版本。
4.根据权利要求1所述基于TPM的无人机机载控制系统的可信启动方法,其特征在于,还包括无人机上电后,首先进入飞控系统的引导程序,完成初始化操作;所述的初始化操作包括初始化串口、USB端口、LED,还包括初始化时钟。
5.根据权利要求1所述基于TPM的无人机机载控制系统的可信启动方法,其特征在于,机载计算机和飞控系统之间的安全通信使用密文进行传输,使用对称加密算法,事先约定好共享密钥key;
机载计算机的密钥存储在安全可信的TPM模块中,飞控系统的密钥存储在代码中,只要两者进行互相通信,发送方会对消息msg使用对称密钥key进行加密,然后通过密文进行传输,接收方收到密文后通过对称密钥key解密出消息msg。
6.根据权利要求1所述基于TPM的无人机机载控制系统的可信启动方法,其特征在于,所述机载计算机利用平台属性计算其自身完整性摘要值b,将飞控系统的完整性摘要值a和机载计算机的完整性摘要值b再执行哈希操作,得到无人机机载控制系统的完整性摘要值h包括:
3.1)机载计算机收到消息后进行解密,解析出时间T1、飞控系统唯一度量值ID和其摘要值a;先判断时间T1是否在网络延时范围内,如果不在范围内,则将消息丢弃;如果在范围内,则认为是合法的,然后利用平台属性计算当前机载计算机的完整性摘要值b;
3.2)将机载计算机与飞控系统的进行安全绑定,将两者的完整性摘要值进行再哈希操作,得到最终无人机机载控制系统的完整性摘要值h。
7.根据权利要求6所述基于TPM的无人机机载控制系统的可信启动方法,其特征在于,所述的无人机机载控制系统包含带有TPM模块的机载计算机和飞控系统,所述机载计算机获取无人机机载控制系统完整性的正确度量值H的步骤通过读取TPM模块的PCR寄存器来获取;
在验证成功的前提下,机载计算机执行启动飞行模块,对飞控引导程序发送请求,飞控引导程序执行控制进入飞控代码模块,使飞控系统正式进入飞控代码,无人机成功启动。
8.根据权利要求7所述基于TPM的无人机机载控制系统的可信启动方法,其特征在于,所述将无人机机载控制系统的完整性摘要值h与正确度量值H比对,完成完整性校验的步骤中,在验证成功的前提下,机载计算机执行启动飞行模块,计算时间T2=T1+t,加上进入飞控模块的指令data1,组成消息内容msg,生成密文后发送到飞控系统;
飞控系统接收到密文消息后,进行关键字段的解析,首先判断时间T2是否在网络延时的范围内,如果不在范围内,则将消息丢弃;如果在范围内,则认为使合法的,再根据指令data1,执行进入飞控代码模块,通过jump指令跳出引导程序进入飞控代码,无人机成功启动。
9.一种基于TPM的无人机机载控制系统的可信启动系统,其特征在于,包括:
飞控系统完整性计算模块,用于对飞控系统的硬件和软件分别执行哈希操作,计算出飞控系统的完整性摘要值a发送到机载计算机;所述对飞控系统的硬件和软件分别执行哈希操作时,由机载计算机对飞控引导程序发送请求,请求校验飞控系统的完整性,飞控引导程序执行计算飞控硬件和软件完整性模块;具体包括以下步骤:
2.1)机载计算机向飞控系统发送请求,飞控系统将本地时间T发送给机载计算机,机载计算机接受到时间T后,计算T'=T+t,式中t为从发送消息到接收消息的时延,再加上请求计算飞控系统完整性的指令data,组成消息内容msg,生成密文后发送到飞控系统;
2.2)飞控系统收到密文消息后解密,解析出关键字段时间T'和指令data,首先判断当前本地时间和T'是否在允许的网络延时范围内,如果不在范围内,则认为是重放包,将消息丢弃;如果在范围内,则认为是合法的,跳转到步骤2.3;
2.3)根据指令data执行校验飞控完整性模块,对飞控硬件和软件代码进行哈希操作,飞控硬件方面包括飞控MCU的序列号为MCUm、芯片ID和版本信息为IDV,Z为硬件的摘要值,计算公式为:Z=Hash(MCUm||IDV);在飞控软件方面,每读取一个字节B1 B2…Bn,则和之前的摘要结果进行循环哈希,计算公式为:Z1=Hash(Z||B1)Z2=Hash(Z1||B2),最终计算出飞控硬件和软件的结果摘要值a;然后将当前本地时间T1、飞控系统的ID值和最终结果摘要值a等关键字段,组成消息msg,生成密文后发送到机载计算机;
无人机机载控制系统完整性计算模块,用于机载计算机利用平台属性计算其自身完整性摘要值b,将飞控系统的完整性摘要值a和机载计算机的完整性摘要值b再执行哈希操作,得到无人机机载控制系统的完整性摘要值h;
完整性校验模块,用于机载计算机获取无人机机载控制系统完整性的正确度量值H,将无人机机载控制系统的完整性摘要值h与正确度量值H比对,完成完整性校验,若验证成功则无人机启动,反之终止启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111632422.7A CN114301590B (zh) | 2021-12-28 | 2021-12-28 | 基于tpm的无人机机载控制系统的可信启动方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111632422.7A CN114301590B (zh) | 2021-12-28 | 2021-12-28 | 基于tpm的无人机机载控制系统的可信启动方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301590A CN114301590A (zh) | 2022-04-08 |
CN114301590B true CN114301590B (zh) | 2023-11-10 |
Family
ID=80971949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111632422.7A Active CN114301590B (zh) | 2021-12-28 | 2021-12-28 | 基于tpm的无人机机载控制系统的可信启动方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301590B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093423B (zh) * | 2023-10-18 | 2024-01-30 | 西安热工研究院有限公司 | 可信dcs终端间数据同步方法、系统、电子设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137095A (zh) * | 2010-12-29 | 2011-07-27 | 中国电力科学研究院 | 工业控制系统数据交换安全保护方法、系统和装置 |
US8949611B1 (en) * | 2011-06-22 | 2015-02-03 | The Boeing Company | Methods, apparatus and computer program products for authenticating and determining integrity of a software part of an air vehicle |
CN105553965A (zh) * | 2015-12-10 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载信息安全关键数据的完整性保护系统及方法 |
CN105873031A (zh) * | 2016-04-08 | 2016-08-17 | 西安电子科技大学 | 基于可信平台的分布式无人机认证和密钥协商方法 |
WO2016154945A1 (en) * | 2015-03-31 | 2016-10-06 | SZ DJI Technology Co., Ltd. | Authentication systems and methods for detecting unauthorized uav activity |
CN106656587A (zh) * | 2016-12-12 | 2017-05-10 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载网络服务系统配置文件管理与分发方法 |
WO2017181204A1 (en) * | 2016-04-14 | 2017-10-19 | Rhombus Systems Group, Inc. | System for verification of integrity of unmanned aerial vehicles |
CN108803654A (zh) * | 2018-06-04 | 2018-11-13 | 成都天麒科技有限公司 | 一种无人机安全启动方法 |
CN109117168A (zh) * | 2018-08-29 | 2019-01-01 | 拓攻(南京)机器人有限公司 | 无人机固件更新方法、装置、无人机及存储介质 |
CN110197073A (zh) * | 2019-05-30 | 2019-09-03 | 苏州浪潮智能科技有限公司 | 一种基于自校验机制保护主机完整性的方法与系统 |
CN110855427A (zh) * | 2019-11-18 | 2020-02-28 | 国网四川省电力公司电力科学研究院 | 一种无人机身份认证方法及系统 |
CN111580538A (zh) * | 2020-06-10 | 2020-08-25 | 中国兵器工业计算机应用技术研究所 | 一种无人平台障碍避障系统及方法 |
TW202109320A (zh) * | 2019-02-27 | 2021-03-01 | 香港商阿里巴巴集團服務有限公司 | 基於可信執行環境的應用程式啟動方法及裝置 |
CN112445537A (zh) * | 2020-12-11 | 2021-03-05 | 中国科学院信息工程研究所 | 操作系统可信启动方法、装置、移动终端和存储介质 |
CN113518071A (zh) * | 2021-04-13 | 2021-10-19 | 北京航空航天大学 | 一种机器人传感器信息安全增强装置与方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624943B2 (en) * | 2006-03-22 | 2009-12-01 | The Boeing Company | Multi-mode unmanned and manned vehicle systems and methods |
US9118666B2 (en) * | 2010-06-30 | 2015-08-25 | Google Inc. | Computing device integrity verification |
US20160335901A1 (en) * | 2015-04-07 | 2016-11-17 | Near Earth Autonomy, Inc. | Control of autonomous rotorcraft in limited communication environments |
CN105429759A (zh) * | 2015-11-05 | 2016-03-23 | 天津津航计算技术研究所 | 用于无人机机载数据记录仪数据加密的密钥管理方法 |
CN106982208A (zh) * | 2017-03-21 | 2017-07-25 | 苏州光之翼智能科技有限公司 | 一种无人机数据传输保护的方法 |
CN111783097A (zh) * | 2020-05-28 | 2020-10-16 | 东方红卫星移动通信有限公司 | 一种星载计算系统的信息完整性度量验证方法及系统 |
-
2021
- 2021-12-28 CN CN202111632422.7A patent/CN114301590B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137095A (zh) * | 2010-12-29 | 2011-07-27 | 中国电力科学研究院 | 工业控制系统数据交换安全保护方法、系统和装置 |
US8949611B1 (en) * | 2011-06-22 | 2015-02-03 | The Boeing Company | Methods, apparatus and computer program products for authenticating and determining integrity of a software part of an air vehicle |
WO2016154945A1 (en) * | 2015-03-31 | 2016-10-06 | SZ DJI Technology Co., Ltd. | Authentication systems and methods for detecting unauthorized uav activity |
CN105553965A (zh) * | 2015-12-10 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载信息安全关键数据的完整性保护系统及方法 |
CN105873031A (zh) * | 2016-04-08 | 2016-08-17 | 西安电子科技大学 | 基于可信平台的分布式无人机认证和密钥协商方法 |
CN109392310A (zh) * | 2016-04-14 | 2019-02-26 | 荣布斯系统集团公司 | 验证无人驾驶飞行器完整性的系统 |
WO2017181204A1 (en) * | 2016-04-14 | 2017-10-19 | Rhombus Systems Group, Inc. | System for verification of integrity of unmanned aerial vehicles |
CN106656587A (zh) * | 2016-12-12 | 2017-05-10 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载网络服务系统配置文件管理与分发方法 |
CN108803654A (zh) * | 2018-06-04 | 2018-11-13 | 成都天麒科技有限公司 | 一种无人机安全启动方法 |
CN109117168A (zh) * | 2018-08-29 | 2019-01-01 | 拓攻(南京)机器人有限公司 | 无人机固件更新方法、装置、无人机及存储介质 |
TW202109320A (zh) * | 2019-02-27 | 2021-03-01 | 香港商阿里巴巴集團服務有限公司 | 基於可信執行環境的應用程式啟動方法及裝置 |
CN110197073A (zh) * | 2019-05-30 | 2019-09-03 | 苏州浪潮智能科技有限公司 | 一种基于自校验机制保护主机完整性的方法与系统 |
CN110855427A (zh) * | 2019-11-18 | 2020-02-28 | 国网四川省电力公司电力科学研究院 | 一种无人机身份认证方法及系统 |
CN111580538A (zh) * | 2020-06-10 | 2020-08-25 | 中国兵器工业计算机应用技术研究所 | 一种无人平台障碍避障系统及方法 |
CN112445537A (zh) * | 2020-12-11 | 2021-03-05 | 中国科学院信息工程研究所 | 操作系统可信启动方法、装置、移动终端和存储介质 |
CN113518071A (zh) * | 2021-04-13 | 2021-10-19 | 北京航空航天大学 | 一种机器人传感器信息安全增强装置与方法 |
Non-Patent Citations (10)
Title |
---|
《A Survey of Autonomous Control for UAV》;Hai Chen,Xin-min Wang;《2009 International Conference on Artificial Intelligence and Computational Intelligence》;全文 * |
《Reliable Security Algorithm for Drones Using Individual Characteristics From an EEG Signal》;Ashutosh Singandhupe;《 IEEE Access》;全文 * |
《基于改进SHA-1的无人机下行链路安全通信方法》;冯永新,王良,钱博;《火力与指挥控制》(第6期);全文 * |
《小型无人机航测技术在水利工程中的应用》;蔺全奎,李伟哲;《西北水电》(第5期);全文 * |
《采用完整性威胁树的信息流完整性度量方法》;吴奇烜,马建峰,孙聪;《网络与信息安全学报》;全文 * |
一种新型无人机配电控制器设计;王鑫;张西虎;;工业仪表与自动化装置(01);全文 * |
基于单片机和PC机的电动舵机自动检测系统;李颖;于建国;邵凯锋;;计算机测量与控制(07);全文 * |
基于机载嵌入式可信计算平台的高安全防护系统;杨子怡;李亚晖;王中华;;航空计算技术(05);全文 * |
基于模型的预警无人机飞控系统开发与验证;罗喜霜;宋亮;雷玮;郑亮;金海洋;;计算机测量与控制(12);全文 * |
民用轻小型无人机系统检测认证研究;王湛;王江东;杨宏伟;;质量与认证(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114301590A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11662991B2 (en) | Vehicle-mounted device upgrade method and related device | |
US11720503B2 (en) | Technologies for secure authentication and programming of accelerator devices | |
CN109416718B (zh) | 云数据中心中应用容器的可信部署 | |
US9384367B2 (en) | Measuring platform components with a single trusted platform module | |
CN110096887B (zh) | 一种可信计算方法及服务器 | |
CN112784278B (zh) | 一种计算机系统的可信启动方法、装置及设备 | |
CN111991813B (zh) | 登录游戏的方法、装置、电子设备及存储介质 | |
CN111630513A (zh) | 认证所存储代码和代码更新的真实性 | |
CN110535884B (zh) | 跨企业系统间访问控制的方法、装置及存储介质 | |
US11095454B2 (en) | Releasing secret information in a computer system | |
US11522854B2 (en) | IoT device and authentication method thereof, cloud server, processing device and readable medium | |
CN113407911A (zh) | 验证驻留在远程计算设备上的软件 | |
KR20160081255A (ko) | Otp 제공을 위한 모바일 단말 및 그 동작 방법 | |
CN106973054B (zh) | 一种基于可信平台的操作系统登录认证方法和系统 | |
CN103530548A (zh) | 基于移动可信计算模块的嵌入式终端可信启动方法 | |
CN114301590B (zh) | 基于tpm的无人机机载控制系统的可信启动方法及系统 | |
CN103457919A (zh) | 虚拟机镜像的安全验证方法和装置 | |
KR101918546B1 (ko) | 해킹 방어 경연 시스템 | |
CN112511306A (zh) | 一种基于混合信任模型的安全运行环境构建方法 | |
CN107223322B (zh) | 签名验证的方法、设备和系统 | |
CN113419905A (zh) | 一种实现可信验证的方法及装置和安全模块 | |
CN115629824B (zh) | Gpu的启动方法、装置、设备、存储介质和程序产品 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN113132330B (zh) | 可信状态证明的方法、设备,证明服务器和可读存储介质 | |
KR101946620B1 (ko) | 서버의 서명 데이터를 포함하는 데이터 블록을 생성하는 방법 및 그 서버 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |