本发明涉及一种无人机指令加固技术,由指令发送方提供证据,执行方验证证据的方式保证指令的真实性和完整性,是防止指令在网络传输过程中被黑客或病毒篡改或冒充的技术方法。指令加固能有效防止无人机被黑客所利用,进行病毒、木马和恶意代码攻击,为无人机提供了有效验证远程指令的真实性与完整性的技术方法,让无人机具有指令选择性执行的能力。
背景技术:
2016年315晚会上,据央视所报道,在黑客的操控下,大疆无人机脱离了机主的控制任由黑客摆布。无人机与其飞控系统与地面工作站之间的数据与指令的传输没有加密,黑客可对飞控进行反向工程,就能假扮成控制者并发送飞行指令,同时还能屏蔽合法主人的指令。利用漏洞,黑客还能注入软件包,改变导航点,更改飞行数据,重置返航点,“原主人能做的,你都能做”。
随着无人机应用的普及,无人机正面临如下威胁:
(1)无人机作为新兴市场,企业多通过集成部件来完成无人机的整机制造工作,无法避免硬件模块或软件系统的相关漏洞,导致黑客侵入风险;
(2)传统的定频+跳频的抗干扰方式,仅仅解决了无人机通讯的及时准确,但通讯的数据还是明文,黑客有可能找出漏洞模拟无人机的遥控设备进行攻击,从而劫持无人机;
(3)通过飞控系统可以实现简单的对称加密,从而实现传输数据的加密,由于无人机控制的距离都在10公里以内,这样大的范围,黑客很容易对信号截取,从而取得数据进行分析,得到固定密钥或者使用密钥的规律,导致数据被破解;
(4)地面工作站与无人机的通讯,最关键的是飞控指令不能被截取或非法使用,否则无人机将面临被劫持风险。
无人机需要的接收远程地面站的指令控制以完成相应的任务,而无人机如何判断远程发送的控制指令是否应该执行,为无人机提供一种有效的安全验证机制,让无人机真正的“智能”起来,才能从根本上解决无人机的安全问题。
针对上述的安全方案,无论是接入认证还是数据加密,仅能解决无人机的部分问题,尤其对于无人机是否应该执行远程的控制指令,目前安全界没能提供一种有效而简洁的安全验证机制,无人机只能被动的接收指令并执行,这就为无人机的安全性埋下了极大的隐患,大彊无人机劫持事件就在所难免。
技术实现要素:
本发明为无人机的安全运行提供一种指令加固与鉴别方法,指令加固是通过指令发送方提供证据,指令的执行方即无人机验证证据的方式进行。证据是发送方对指令进行加固处理,通过指令加固的验证,可以确定指令的真实性、完整性和不可抵赖性,即指令确实是发送方所发出的,网络传输过程中没有被篡改,发送方对此指令负责。此发明实现了无人机对远程指令的有效鉴别,能有效地防止非法入侵和恶意软件的破坏,确保无人机真正的“智能”,可以自主决策是否执行指令,从而实现安全从被动防御到主动管理,让无人机对自身安全实现自主可控。
本发明解决其技术问题所采取的技术方案是:
1.本发明提供一种无人机指令加固与鉴别方法,在实现无人机指令加固与鉴别方法的过程中,包括以下步骤:
第一步,指令加固
地面工作站向无人机发送指令时,先用预先配置好的标识私钥对指令和时间戳进行加固,然后将指令与加固数据打包发给无人机;
第二步,指令加固的鉴别
(1)无人机接收到外部发来的指令时,无人机内核调度程序验证指令的真伪,验证通过进入步骤(2),否则拒绝指令执行;
(2)从加固数据中得到指令发送者标识和时间戳,验证发送者标识是否合法及指令是否在允许的时间范围内,通过后则执行指令,否则拒绝执行。
进一步的,指令加固和指令鉴别均基于标识公钥体制,包括组合公钥体制cpk和国家商用密码算法sm9。
进一步的,指令加固是指:采用指令发送者的私钥对指令和时间戳的签名,私钥由指令发送者事先向具有公认性的机构所属的密钥管理中心申请,密钥中心根据申请者的唯一标识与标识密钥管理系统相关的密钥参数计算产生。
进一步的,第二步,指令加固的鉴别
(1)指令接收方接收到指令和加固数据,飞控程序调用安全模块验证指令的真伪,是指:对指令签名进行数字签名的验证,判断指令的真实性与完整性;
另外无人机上需要建立一个合法的指令发送者标识列表配置文件即白名单,列表中的内容项具有可配置性,配置文件经智能设备的私钥签名,并加密存储;
(2)从加固数据中得到指令发送者标识和指令时间戳,验证发送者标识是否合法及指令是否在允许的时间范围内,是指:对发送者的标识进行鉴别,判断指令发送者标识是否在智能设备白名单列表中;对指令的时效性检查,以签名时间戳来判断指令是否在允许的时间范围内;
如果指令加固验证、发送者标识鉴别或和时效性检查中任何一项未通过,则直接拒绝指令执行。
进一步的,无人机上需要有一个安全芯片的硬件设备或模拟安全芯片功能的虚拟设备,用于保护此设备的标识私钥和相关的公钥体制参数;无人机飞控系统启动时将配置文件密文送入系统进程中,只有系统进程才能访问。
进一步的,指令加固包括了签名者标识即指令发送者标识、加固协议、系统参数标识和加固数据;指令和签名数据采用asn.1编码,鉴别时从加固数据中提取发送者标识送入安全芯片中计算出对应的标识公钥,再将加固数据和指令的数字摘要一并送入安全芯片进行验证,判断指令的真伪。
2.本发明另外提供一种无人机指令加固与鉴别系统,该系统包括指令加固模块、系统安全模块、鉴别模块、安全芯片和白名单模块:
加固模块:加固模块是对指令代码和时间戳签名,提供真实性证据。加固模块以sdk(softwaredevelopmentkit)的方式提供给应用调用,地面站需要向远程的无人机发送控制指令时,由地面站软件调用加固模块,用发送者的私钥对指令和当前时间进行加固,然后将指令和加固信息打包发给远程无人机。通过加固,指令在传输过程中有任意微小的改动,无人机都可通过验证加固信息感知,可彻底杜绝黑客伪造、篡改指令;而时间戳能够保障指令的时效性,黑客试图通过截取合法指令进行重放攻击成为不可能。
系统安全模块:系统安全模块是对无人机指令调度核心进程,在无人机执行指令前先转向验证模块,由验证模块判定请求执行指令的真实性和完整性,只有通过鉴别是真实的(即没有被篡改,是名单列表中所允许的指令发送者所发出的指令),才允许执行,否则拒绝执行。
鉴别模块:鉴别模块是对指令的加固信息进行验证,并做出执行与否的判断。鉴别模块对收到的指令和加固信息先进行验证,再从加固信息中获取发送者的标识,并查询白名单列表判定是否合法,都通过后再从加固信息中提取时间戳从而进行指令的时效性检查,只有三项都通过后方返回鉴别通过,否则返回鉴别未通过。
安全芯片:安全芯片是通过硬件技术保护系统参数和白名单列表的安全,有效防止替换攻击。同时安全芯片也用于安全存储无人机自身的标识私钥,用于无人机回传数据的数字签名,还可用于指令发送者与指令执行者之间建立安全的数据通道,以实现双方数据加密通信。根据应用的安全级别要求,安全芯片有时可以用虚拟安全芯片功能的软件模块替代,但对于高安全需求应用推荐使用硬件芯片。
白名单模块:白名单模块涉及名单的维护、存储与使用三方面。名单的维护可以以配置文件存在,涉及增加、修改和删除的维护,然后将列表加密存储于安全芯片中;存储是将名单用标识公钥进行加密,并存储于安全芯片的安全区;使用是在首次使用时用安全芯片对应的私钥脱密,然后缓存在芯片内存中,系统调用鉴别模块时会查询这个名单以确定指令发送方是否合法。
附图说明
附图1是本发明的指令加固流程;
附图2是本发明的指令鉴别流程。
具体实施方式
下面将结合附图1和附图2,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施案例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种无人机指令加固与鉴别方法及系统,在实现无人机的指令加固与鉴别过程中,包括以下步骤:
(1)标识公钥的密钥管理系统为指令的发送方和无人机根据唯一标识生成对应的标识私钥,并将标识私钥写入安全芯片(提供的方式可以是usbkey或smartcard);
(2)地面工作站所发送指令的应用控制软件已嵌入了本发明的加固模块;
(3)无人机已根据本发明嵌入了鉴别相关的安全模块,包括了内核安全模块、鉴别模块、安全芯片等模块;
(4)无人机的安全芯片中已经配置好了可接收的指令发送方的标识集;
(5)无人机的飞控系统完成改造,在执行指令前必须先调用鉴别模块检查指令的合法性。
本发明在具体应用时主要涉及加固流程和鉴别流程:
加固流程是在指令发送前由指令的发送者用自己的标识私钥对指令和时间戳加固,加固之后的指令为安全指令。安全指令可防止其在网络传输过程中被篡改,也可以防止其被伪造,是本发明的证据提供关键环节。具体加固过程如附图1所示,分为以下几步:
(1)指令发送方提供指令的真实性证据,即发送方对指令和时间戳签名(加固运算在基于安全芯片的硬件密钥设备内);
(2)将指令的加固信息、加固时间(即时间戳)、加固协议、版本号和加固者标识等进行打包;
(3)将打包后的数据采用asn.1编码后发送给指令执行设备。
验证流程是在安装部署本发明的验证模块、内核安全模块、安全芯片和白名单模块后无人机对所有接收的指令均进行严格的完事性、真实性和合法性检查并根据结果做出执行与否的流程。鉴别流程涉及了加固信息的提取、白名单列表的加载与查询、安全芯片和内核安全模块的调度等,验证流程如附图2所示,可分为以下几步:
(1)无人机收到远程发送的指令命令包;
(2)内核安全模块将调用鉴别模块,申请对申请执行的指令进行鉴别;
(3)鉴别模块先检查指令命令包是否含加固信息,若无则拒绝执行;若有则解析出指令、时间戳和加固信息,并提交给验证模块;
(4)验证模块对指令的加固信息进行验证,若验证不通过,则拒绝执行;如果通过验证,则转入(5);
(5)查询加固者标识(即指令发送方标识)是否在白名单列表中,如果不在其中,则返回鉴别不通过,拒绝执行;否则转入(6);
(6)标识通过合法检查后,再提取签名时间戳与当前时间进行比较,判断此指令是否在有效的时间范围内,若超过范围则可能是受到复制攻击,拒绝执行;若通过时效性检查则转入(7);
(7)内核安全模块执行指令。
在上述的流程中,加固验证是在安全芯片内进行的,如果芯片的性能达不到要求或从安全性与性能上进行综合考虑,也可以采用软件鉴别模块来实现加固信息的验证功能。
以上所述仅为本发明的较佳实施示例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。