基于可信平台的分布式无人机认证和密钥协商方法

文档序号:10516635阅读:453来源:国知局
基于可信平台的分布式无人机认证和密钥协商方法
【专利摘要】本发明公开了一种分布式无人机环境下基于可信平台的认证和密钥协商方法,主要解决现有技术不能保证可信计算服务的安全调用问题。其包括:预警机节点之间的远程认证,无人机请求节点与预警机服务节点的密钥协商两部分。远程认证包括:获取平台度量信息和平台验证两个阶段;密钥协商,是通过无人机和预警机之间进行密钥交换、消息验证的一套通信流程,得到共享密钥,并采用数据量管理和请求次数管理相结合的方式对该共享密钥进行更新。本发明中预警机之间的远程认证保证了通信双方的可信性和真实性;无人机与预警机之间使用共享密钥对可信服务数据加密,保证了数据的安全传输;预警机服务节点提供密钥管理机制,保证了共享密钥的有效性和机密性。
【专利说明】
基于可信平台的分布式无人机认证和密钥协商方法
技术领域
[0001]本发明属于信息安全技术领域,特别涉及分布式可信服务方案,可用于预警机之间的远程身份认证以及无人机对预警机的可信服务功能调用。
【背景技术】
[0002]由无人机、预警机组成的机群可用于执行航拍、勘测、自主侦察和自动攻击等任务,具有广泛的应用和科学研究价值。随着技术的不断发展,无人机的应用越来越广泛,机载系统中软件所占比重也逐步增大,相关的安全问题变得越来越严重,引起了人们的广泛关注。
[0003]随着机载系统的网络化、综合化的快速发展,机载嵌入式软件作为使能技术,承担着越来越多的功能实现。由于机载软件运行环境的多样化和复杂性,软件系统层次多、任务多,机载嵌入式软件对于安全性的要求格外高,其面临的问题也更加复杂。机载嵌入式软件的安全性需求是一个系统性需求,不仅涉及软件系统架构,同时还涉及软件方法、开发过程和运行环境等各方面因素。
[0004]为保证无人机机载嵌入式系统的安全,引入可信计算的思想,使机载嵌入式系统设计成为可信嵌入式平台,可信计算平台基于可信平台模块TPM,以密码技术作为支持,安全增强操作系统作为核心,是信息安全领域中起着关键作用的体系结构,该可信平台为机载嵌入式系统提供数据安全存储、远程身份认证、平台安全启动以及审计记录等多种安全功能。按照可信计算组织TCG制定的规范标准,TPM是整个可信计算平台信任的基础,通过提供相应的密码服务,与可信计算平台中的可信软件一起,完成平台的用户认证、完整性度量、安全存储、对称/非对称加解密等功能。为便于应用系统充分利用TPM的安全功能,TCG提出了软件栈TSS的概念,TSS为整个可信系统提供了软件支撑,使可信平台中硬件模块的功能实现得到充分发挥。
[0005]TSS支持应用TPM功能的单个入口点,给上层应用程序提供了一个合理有效的接口来替代TPM繁杂的指令流,保证了对TPM的同步访问。TSS包括四个模块,它们由上至下分别是:TSS服务提供者TSP,TSS核心服务TCS,TCG设备驱动库TDDL,TPM设备驱动TDD,这些模块互相协作,保证了软件栈的正常运行。此外,TSS提供上下文管理、密钥管理等功能,使TPM的功能得到了实际的应用。
[0006]针对无人机和预警机组成的机群,无人机主要完成数据采集、侦察探测等具体任务,预警机是无人机机群的中心,提供对无人机的指挥、监测等任务。为保证该机群网络的可信服务,在预警机上安装可信平台模块TPM,实现自身的安全启动、与其他预警机的远程身份认证等功能,同时,无人机由于其计算能力有限,其机载计算机难以搭载TPM模块,因此如何让无人机也能使用预警机提供的可信服务,就成为一个重要问题。本发明提供了一套握手协议和密钥管理方案,无人机通过远程通信使用预警机提供的可信服务,保证了服务的可靠性和安全性。
[0007]专利申请号为201110070612.4的“一种基于可信计算的认证系统及方法”,将PKI数字证书技术和可信计算平台相结合,保证了网络和服务器端的安全,同时还能确保终端可信,在很大程度上提高了整个网络的安全性,提高了计算机网络认证的可信性、安全性,但该方法主要侧重网络的安全性,没有考虑可信服务本身的可靠性和有效性。
[0008]专利申请号为201010149049.5的“一种在嵌入式设备中实现可信计算平台的方法”,通过将嵌入式设备与可信计算模块的连接,在嵌入式设备中实现可信计算平台的全部功能,但该方法没有考虑设备自身的条件限制,有些设备由于计算能力和搭载能力有限,无法直接使用可信计算服务。

【发明内容】

[0009]本发明的目的在于提出一种基于可信平台的分布式无人机认证和密钥协商方法,以实现分布式无人机环境下,预警机之间的远程身份认证和无人机对预警机的可信服务调用。
[0010]为实现上述目的,本发明的技术方案包括如下:
[0011 ] 1.基于可信平台的分布式无人机认证方法,包括:
[0012](I)获取平台度量信息:
[0013]预警机的两个通信节点C和S分别获取自身的软硬件度量日志,拼接为各自的日志集SML[C]和SML[s],并将各自的日志集SML[C]和SML[s]与各自的平台配置寄存器PCR[c]和PCR[S]的编号,传给自身的可信平台模块TPM[C]和TPM[S],获取各自的平台度量信息M[c]和M[s];
[0014](2)平台验证:
[0015]预警机的两个通信节点C和S分别将各自的平台度量信息Mw和M[s]发送至对方的可信平台模块TPM远程验证接口,可信平台模块TPMw和TPM[S]分别对收到的平台度量信息M[s]和Mw进行验证:若第一通信节点C的日志集SMLw哈希链值与其平台配置寄存器PCR[c]的值相等,或第二通信节点S的日志集SMLw哈希链值与其平台配置寄存器PCRw的值相等,则验证成功;否则验证失败。
[0016]2.基于可信平台的分布式无人机密钥协商方法,包括
[0017]I)预警机与无人机之间进行密钥协商:
[0018]Ia)无人机请求节点U向预警机服务节点A发送请求消息HELL0_MSG;
[0019]lb)预警机服务节点A调用Diffie-Hellman密钥准备接口DH_key_pair(),生成公钥卩11131;[0_1^7_1和私钥口1';^3丨6_1^5^1,并保存私钥口1';^3丨6_1^7_1,再调用随机数生成接口 get_random()得到随机数nonce_l,并将公钥口11131;[0_1^7_1与随机数1101106_1发送至无人机请求节点U;
[°02°] 1。)无人机请求节点1]保存公钥口11131;[0_1^7_1,调用随机数生成接口861:_瓜11(10111()得到随机数nonee_2,并通过Dif f ie_He I Iman密钥准备接口 DH_key_pair ()得到公钥卩11131;[(3_1^7_2和私钥口1';[¥&七6_1^7_2,调用Diff ie-Hellman 密钥生成接口 DH_key_secret()得到共享密钥secret_key,并将公钥口11131;[0_1^7_2、随机数1101106_1与随机数1101106_2发送至服务节点A;
[0021]Id)预警机服务节点A验证随机数nonce_l的正确性,验证通过后调用Diffie-Hel Iman 密钥生成接口 DH_key_secret () 生成共享密钥 secret_key , 再使用该共享密钥和高级加密标准AES加密接口 aes_encrypt_keyl28()对随机数nonce_2加密,并将加密后的密文发送至请求节点U;
[0022]Ie)请求节点U根据自己生成的共享密钥secret_key和高级加密标准AES解密接口368_(16(^7口1:_1^7128()对收到的密文解密,如果解密后的明文与随机数1101106_2相同,则验证通过,且预警机服务节点A在密钥链表中添加密钥节点N,否则验证失败;
[0023]所述密钥节点N,包括共享密钥secret_key、无人机请求节点U的地址ip、无人机请求节点U的请求次数req_times和无人机请求节点U与服务节点A之间的通信量traffic这四个字段;其中,请求次数req_timeS和通信量traffic字段的初始值为O;
[0024]2)预警机服务节点A更新链表的密钥节点:
[0025]2a)无人机请求节点U引入密钥更新标识key_flag作为密钥更新的依据,并初始化为O;
[0026]2b)无人机请求节点U检查自己的密钥更新标识key_flag是否为0,若是则向预警机服务节点A发送可信服务请求,否则,与预警机服务节点A重新进行密钥协商;
[0027]2c)预警机服务节点A向无人机请求节点U返回请求数据,并更新密钥链表中密钥节点N的请求次数req_times和通信量traf f ic字段:
[0028]如果密钥节点N的请求次数req_times达到请求次数阈值R或通信量traffic达到通信量阈值T,则预警机服务节点A向请求节点U发送密钥更新消息UPDATE_KEY;
[0029]无人机请求节点U收到密钥更新消息UPDATE_KEY后,将自身的密钥更新标识key_flag置为I,并与服务节点A重新进行密钥协商,用协商后的共享密钥secret_key_new替换密钥节点~原来的共享密钥8 6(^61:_1^7,再将该节点1'1的请求次数^1_1:;[1]16 8和通信量traffic字段置为O。
[0030]本发明具有以下优点:
[0031]1.预警机之间进行远程认证,保证了预警机通信双方的可信性和真实性,并为无人机机群之间的通信提供了安全基础;
[0032]2.无人机和预警机之间进行密钥协商,通过Diff ie-Hellman密钥交换产生共享密钥,并使用AES算法对传输数据进行加密,使无人机通过远程调用使用预警机提供的加解密等可信服务,保证了数据传输的安全性以及可信服务的可靠性;
[0033]3.预警机服务节点提供密钥管理机制,通过链表的形式维护一组密钥,并通过数据量管理与请求次数管理相结合的方式对密钥进行更新,保证了密钥的有效性和机密性。
[0034]综上所述,本发明针对无人机和预警机组成的机群网络,引入可信计算的思想,保证了机群网络的可信服务,提高了机载嵌入式软件系统的安全性。
【附图说明】
[0035]图1是现有无人机通彳目系统场景图;
[0036]图2是本发明中预警机之间的通信流程图;
[0037]图3是本发明中预警机之间平台验证功能示意图;
[0038]图4是本发明中预警机与无人机之间的通信交互图;
[0039]图5是本发明中预警机和无人机之间的密钥管理流程图。
【具体实施方式】
[0040]以下结合附图对本发明进行详细描述:
[0041]参照图1,本发明使用的现有无人机通信系统,由无人机、预警机和地面站三部分组成,且空间存在若干的无人机机群,每个无人机机群由多个无人机U和一个预警机A组成,其中预警机A是当前无人机机群的中心。
[0042]无人机机群之间的通信通过两个机群中心的预警机A完成,本发明在预警机A中安装可信平台模块TPM,为整个机群网络提供了可信基础;无人机机群内部的通信主要是无人机与预警机之间服务数据的请求与发送,由于无人机U自身计算能力有限,无法安装可信平台模块TPM,所需的加解密等可信服务均由当前机群的预警机A提供。
[0043]本发明包括:预警机之间的远程认证和预警机与无人机之间的密钥协商两部分。
[0044]一.预警机之间的远程认证:
[0045]参照图2,预警机之间的远程认证主要分为获取平台度量信息和平台验证两个阶段:
[0046]步骤I,获取平台度量信息。
[0047]参照图3,在平台度量信息阶段,预警机节点的两个节点C和S获取各自的平台度量信息:
[0048]预警机节点C获取自身的软硬件度量日志,拼接为日志集SML[C],并将自己的日志集SML[C]与自己的平台配置寄存器PCR[c]编号,传给自身的可信平台模块TPM[C],获取自己的平台度量信息M[。];
[0049]预警机节点S获取自身的软硬件度量日志,拼接为日志集SML[s],并将自己的日志集SML[s]与自己的平台配置寄存器PCRw编号,传给自身的可信平台模块TPMm,获取自己的平台度量信息M[s];
[0050]上述获取的平台度量信息,包括PCR值和日志集SML两部分,该PCR的值为一段哈希链,表述为:
[0051]PCR[i+i]=HASH(PCR[i] I HASH(SML))
[0052]其中,PCR[i+1]表示第i+1次SHA-1计算,HASH表示哈希算法,i的最大值为日志集中包含的SML数,i取0时,PCR[ i ]值为全O。
[0053]步骤2,平台验证。
[0054]在平台验证阶段,预警机通信节点C将自己的平台度量信息M[c]发送至预警机的另一个节点S的可信平台模块TPM[S]远程验证接口,该可信平台模块TPM[S]对M[c]进行验证:若节点C的日志集SML[C^希链值与其平台配置寄存器PCRm的值相等,则验证成功;否则验证失败;
[0055]预警机通信节点S将自己的平台度量信息M[s]发送至预警机节点C的可信平台模块TPMm远程验证接口,该可信平台模块TPM[C]对M[s]进行验证:若节点S的日志集SML[s]哈希链值与其平台配置寄存器PCRw的值相等,则验证成功;否则验证失败。
[0056]二.预警机与无人机之间的密钥协商
[0057]无人机请求节点使用预警机服务节点提供的加解密等可信服务,二者通信之前需要进行密钥协商生成共享密钥,并用该共享密钥对可信数据进行加密,保证可信数据的安全传输。
[0058]参照图4,密钥协商的步骤如下:
[0059]步骤A,无人机请求节点U向预警机服务节点A发送请求消息HELL0_MSG;
[0060]步骤B,预警机服务节点A向无人机请求节点U发送信息。
[0061 ] 预警机服务节点A调用Diff ie-Hellman密钥准备接口 DH_key_pair(),生成公钥public_key_l和私钥private_key_l,并保存私钥private_key_l ;
[0062]预警机服务节点A调用随机数生成接口get_random()得到随机数nonce_l,并将公钥口11131;[(3_1^7_1与随机数1101106_1发送至无人机请求节点1]。
[0063]步骤C,无人机请求节点U向预警机服务节点A发送信息。
[0064]无人机请求节点U保存公钥public_key_l,调用随机数生成接口get_random()得到随机数nonce_2,再通过Diff ie-Hellman密钥准备接口 DH_key_pair O得到公钥public_key_2 和私钥 private_key_2 ;
[0065]无人机请求节点U调用Diff ie-Hellman密钥生成接口DH_key_secret()得到共享密钥secret_key,并将公钥publ ic_key_2、随机数nonce_l与随机数nonce_2—起发送至服务节点A。
[ΟΟ??]步骤D,预警机服务节点A向无人机请求节点U发送密文。
[0067]Dl)预警机服务节点A验证随机数nonce_l的正确性,由预警机服务节点A将收到的随机数nonCe_l_reCv与自身保存的随机数nonce_l进行比较,如果两者相同,则随机数nonce_l验证成功,执行D2);否则验证失败;
[0068]D2)随机数nonee_I验证成功后,调用Dif f ie-Hel Iman密钥生成接口 DH_key_secretO生成共享密钥secret_key,再使用该共享密钥和高级加密标准AES加密接口aes_encrypt_key 128()对随机数nonce_2加密,并将加密后的密文发送至请求节点U。
[0069]步骤E,请求节点U对收到的密文进行验证。
[°07°] 请求节点U根据自己生成的共享密钥secret_key和高级加密标准AES解密接口368_(16(^7口1:_1^7128()对收到的密文解密,如果解密后的明文与随机数1101106_2相同,则验证通过,且预警机服务节点A在密钥链表中添加密钥节点N,否则验证失败;
[0071 ] 所述密钥节点N,包括共享密钥secret_key、无人机请求节点U的地址ip、无人机请求节点U的请求次数req_times和无人机请求节点U与服务节点A之间的通信量traffic这四个字段;其中,请求次数req_timeS和通信量traffic字段的初始值为O;
[0072]步骤F,预警机服务节点更新链表的密钥节点。
[0073]随着预警机与无人机之间通信量的增加,无人机请求节点与预警机服务节点所维护共享密钥的机密性随之降低,因此有必要对密钥进行更新。本发明使用数据量管理与请求次数管理相结合的方式对共享密钥进行更新,其中,数据量管理表示:当可信服务请求节点与服务节点之间的通信量达到阈值T,对共享密钥进行更新;请求次数管理表示:当可信服务请求节点的请求次数达到阈值R,对共享密钥进行更新;以上两种条件只要有一种满足,即需对密钥进行更新操作。
[0074]参照图5,本步骤的具体实现如下:
[0075]Fl)无人机请求节点U引入密钥更新标识key_flag作为密钥更新的依据,并初始化为O;
[0076]F2)无人机请求节点U检查自己的密钥更新标识key_flag是否为0,若是则向预警机服务节点A发送可信服务请求,否则,与预警机服务节点A重新进行密钥协商;
[0077]F3)预警机服务节点A向无人机请求节点U返回请求数据,并更新密钥链表中密钥节点N的请求次数req_times和通信量traf f ic字段:
[0078]如果密钥节点N的请求次数req_times达到请求次数阈值R或通信量traffic达到通信量阈值T,则预警机服务节点A向请求节点U发送密钥更新消息UPDATE_KEY;
[0079]无人机请求节点U收到密钥更新消息UPDATE_KEY后,将自身的密钥更新标识key_flag置为I;
[0080]请求节点U与服务节点A重新进行密钥协商,并用协商后的共享密钥Secret_key_new替换密钥节点N原来的共享密钥secret_key,并将该节点N的请求次数req_times和通信量traffic字段置为O。
[0081]以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本
【发明内容】
和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
【主权项】
1.基于可信平台的分布式无人机认证方法,包括: (1)获取平台度量信息: 预警机的两个通信节点C和S分别获取自身的软硬件度量日志,拼接为各自的日志集SMLm和SML[s],并将各自的日志集SMLm和SML[s]与各自的平台配置寄存器PCRM和PCR[S]的编号,传给自身的可信平台模块TPMm和TPM[S],获取各自的平台度量信息M[c]和M[s]; (2)平台验证: 预警机的两个通信节点C和S分别将各自的平台度量信息Mw和M[s]发送至对方的可信平台模块TPM远程验证接口,可信平台模块TPM[C]和TPM[S]分别对收到的平台度量信息M[s]和M[c]进行验证:若第一通信节点C的日志集SMLw哈希链值与其平台配置寄存器PCRm的值相等,或第二通信节点S的日志集SMLw哈希链值与其平台配置寄存器PCRw的值相等,则验证成功;否则验证失败。2.根据权利要求书I中的方法,其中步骤(I)中获取的平台度量信息包括PCR值和日志集SML,该PCR的值为一段哈希链,表述为:PCR[i+i] = HASH(PCR[i] I HASH(SML)) 其中,PCR[i+1]表示第i+1次SHA-1计算,HASH表示哈希算法,i的最大值为日志集中包含的SML数,i取O时,PCR[i]值为全O。3.基于可信平台的分布式无人机密钥协商方法,包括 1)预警机与无人机之间进行密钥协商: Ia)无人机请求节点U向预警机服务节点A发送请求消息HELLO_MSG ; lb)预警机服务节点A调用Diff ie-Hellman密钥准备接口DH_key_pair(),生成公钥public_key j和私钥private_key_l,并保存私钥private_key_l,再调用随机数生成接口get_random()得到随机数nonce_l,并将公钥public_key_l与随机数nonce_l发送至无人机请求节点U; Ic)无人机请求节点U保存公钥public_key_l,调用随机数生成接口get_random()得到随机数nonce_2,并通过D iff ie-Hellman密钥准备接口 DH_key_pair()得到公钥pub Ii c_key_2 和私钥 private_key_2,调用Diff ie-Hellman密钥生成接口 DH_key_secret()得到共享密钥secret_key,并将公钥口11131;[0_1^7_2、随机数1101106_1与随机数1101106_2发送至服务节点A; Id)预警机服务节点A验证随机数none e_ I的正确性,验证通过后调用D i f f i e -He I Iman密钥生成接口 DH_key_secret()生成共享密钥secret_key,再使用该共享密钥和高级加密标准AES加密接口aes_encrypt_keyl28()对随机数nonce_2加密,并将加密后的密文发送至请求节点U; Ie)请求节点U根据自己生成的共享密钥secret_key和高级加密标准AES解密接口 aes_(^(3^口1:_1^71280对收到的密文解密,如果解密后的明文与随机数1101106_2相同,则验证通过,且预警机服务节点A在密钥链表中添加密钥节点N,否则验证失败; 所述密钥节点N,包括共享密钥secret_key、无人机请求节点U的地址ip、无人机请求节点U的请求次数req_times和无人机请求节点U与服务节点A之间的通信量traffic这四个字段;其中,请求次数req_times和通信量traffic字段的初始值为O; 2)预警机服务节点A更新链表的密钥节点: 2a)无人机请求节点U引入密钥更新标识key_flag作为密钥更新的依据,并初始化为O ;2b)无人机请求节点U检查自己的密钥更新标识key_flag是否为O,若是则向预警机服务节点A发送可信服务请求,否则,与预警机服务节点A重新进行密钥协商; 2c)预警机服务节点A向无人机请求节点U返回请求数据,并更新密钥链表中密钥节点N的请求次数req_times和通信量traf f ic字段: 如果密钥节点N的请求次数req_times达到请求次数阈值R或通信量traffic达到通信量阈值T,则预警机服务节点A向请求节点U发送密钥更新消息UPDATE_KEY; 无人机请求节点U收到密钥更新消息UPDATE_KEY后,将自身的密钥更新标识key_f lag置为I,并与服务节点A重新进行密钥协商,用协商后的共享密钥Secret_key_neW替换密钥节点N原来的共享密钥secret_key,再将该节点N的请求次数req_times和通信量traffic字段置为O。4.根据权利要求书3中的方法,其中步骤Id)中预警机服务节点A对随机数nonce_l进行验证,是由预警机服务节点A将收到的随机数nonce_l_recv与自身保存的随机数nonce_l进行比较,如果两者相同,则随机数nonce_l验证成功,否则验证失败。
【文档编号】H04L9/08GK105873031SQ201610218047
【公开日】2016年8月17日
【申请日】2016年4月8日
【发明人】马建峰, 张亚棣, 孙召昌, 孙聪, 李鹏, 吴奇烜, 帕尔哈提江·斯迪克
【申请人】西安电子科技大学, 中国航空工业集团公司西安航空计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1