CN107438989A - 无人载具之间的认证消息 - Google Patents
无人载具之间的认证消息 Download PDFInfo
- Publication number
- CN107438989A CN107438989A CN201680019074.7A CN201680019074A CN107438989A CN 107438989 A CN107438989 A CN 107438989A CN 201680019074 A CN201680019074 A CN 201680019074A CN 107438989 A CN107438989 A CN 107438989A
- Authority
- CN
- China
- Prior art keywords
- message
- unmanned
- task
- aviation carrier
- unmanned aviation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 201
- 238000004891 communication Methods 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 39
- 238000012986 modification Methods 0.000 claims description 30
- 230000004048 modification Effects 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 description 73
- 239000000969 carrier Substances 0.000 description 42
- 238000012790 confirmation Methods 0.000 description 33
- 230000005540 biological transmission Effects 0.000 description 32
- 238000012545 processing Methods 0.000 description 32
- 230000000875 corresponding effect Effects 0.000 description 29
- 238000004422 calculation algorithm Methods 0.000 description 27
- 238000013439 planning Methods 0.000 description 26
- 230000001419 dependent effect Effects 0.000 description 19
- 238000013500 data storage Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 14
- 230000004044 response Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 13
- 238000012550 audit Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 12
- 241001269238 Data Species 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 230000001276 controlling effect Effects 0.000 description 7
- 238000012384 transportation and delivery Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 1
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000008786 sensory perception of smell Effects 0.000 description 1
- 230000014860 sensory perception of taste Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U10/00—Type of UAV
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0004—Transmission of traffic-related information to or from an aircraft
- G08G5/0008—Transmission of traffic-related information to or from an aircraft with other aircraft
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0004—Transmission of traffic-related information to or from an aircraft
- G08G5/0013—Transmission of traffic-related information to or from an aircraft with a ground station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0022—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the communication link
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0027—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/003—Flight plan management
- G08G5/0039—Modification of a flight plan
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0047—Navigation or guidance aids for a single aircraft
- G08G5/006—Navigation or guidance aids for a single aircraft in accordance with predefined flight zones, e.g. to avoid prohibited zones
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0047—Navigation or guidance aids for a single aircraft
- G08G5/0069—Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0073—Surveillance aids
- G08G5/0078—Surveillance aids for monitoring traffic from the aircraft
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0073—Surveillance aids
- G08G5/0086—Surveillance aids for monitoring terrain
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0073—Surveillance aids
- G08G5/0091—Surveillance aids for monitoring atmospheric conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
无人载具与其他无人载具进行通信。当所述无人载具从另一无人载具接收消息时,所述无人载具验证所述信息的真实性。对于至少一些类型的消息,如果确定所述消息是真实的,则所述无人载具根据所述消息中的信息来更新所述无人载具将执行的一组操作。
Description
相关申请的交叉引用
本申请出于所有目的通过引用的方式并入有以下各项的全部公开内容:于2015年3月27日提交的标题为“AUTHENTICATED MESSAGES BETWEEN UNMANNED VEHICLES”的美国专利申请号14/671,264、于2015年3月27日提交的标题为“UNMANNED VEHICLE ROLLBACK”的美国专利申请号14/671,224、于2015年3月27日提交的标题为“UNMANNED VEHICLE MESSAGEEXCHANGE”的美国专利申请号14/671,161以及于2015年3月27日提交的标题为“INFLUENCING ACCEPTANCE OF MESSAGES IN UNMANNED VEHICLES”的美国专利申请号14/671,203。
背景
随着技术的发展,无人载具(诸如无人航空载具(也被称为“无人机”))的潜力有所增长。无人载具能够以先前无法实现的效率和能力执行诸如物品递送和数据采集的任务。同时,无人载具技术的改进产生了难以解决的问题。例如,无人载具可行进到可发射信号以控制无人载具的发射器的通信范围以外。因此,即使无人载具能够至少部分地自主操作,也可能难以对直接通信范围外的无人载具进行通信更改。作为另一示例,载具无人操纵的事实使得载具更加易于受到对载具操作的恶意或其他干涉的损害,并且提高了检测此类干涉或(总体而言)无人载具的故障的能力。随着一组无人载具规模的扩大,管理此类问题和总体而言管理所述一组无人载具的复杂度也相应增加。
附图简述
将参考附图描述根据本公开的各种实施方案,在附图中:
图1示出了示出本公开的各个方面的图;
图2示出了根据实施方案的无人航空载具的说明性示例;
图3示出了根据实施方案的包括一组无人航空载具的环境的说明性示例;
图4示出了根据实施方案的可被无人航空载具用来记录任务的数据结构的说明性示例。
图5示出了根据实施方案的用于传输消息的过程的说明性示例;
图6示出了根据实施方案的用于处理接收到的消息的过程的说明性示例;
图7示出了根据实施方案的用于处理接收到的消息的过程的说明性示例,其中可由于消息不可信而执行操作;
图8示出了根据实施方案的用于影响在一组无人航空载具中接受消息的过程的说明性示例;
图9示出了根据实施方案的用于利用消息的置信度处理接收到的消息的过程的说明性示例;
图10示出了根据实施方案的示出无人航空载具之间的消息日志传递的图;
图11示出了根据实施方案的用于向无人航空载具提供消息日志的过程的说明性示例;
图12示出了根据实施方案的用于处理接收到的消息日志的过程的说明性示例;
图13示出了根据实施方案的无人航空载具的说明性示例;以及
图14示出了可实现各种实施方案的环境。
详细描述
在以下描述中,将描述各种实施方案。出于解释的目的,将阐述具体的配置和细节,以便提供对实施方案的透彻理解。然而,对本领域的技术人员将明显的是,在没有具体细节的情况下也可实践实施方案。此外,为了不使所描述的实施方案晦涩,可省略或简化众所周知的特征。
本文描述和提出的技术包括一组无人航空载具(通常被称为无人机)之间的增强的通信。无人航空载具可以是执行各种服务(诸如包裹拾取和/或递送)的系统的一部分,但是无人航空载具的其他功能也在本公开的范围内。在实施方案中,无人航空载具被配置来执行各种操作以在所述组间传递消息并且确定是否信任接收到的消息(例如,根据接收到的消息进行操作)。
在实施方案中,无人航空载具被配置有可信计算机系统(诸如由无人航空载具为之操作的服务提供商操作的证书机构或服务提供商信任的另一证书机构)的数字证书。无人航空载具还被配置有公开-私有密码密钥对中的私有密码密钥,其被无人航空载具保存为在所述无人航空载具之外无法访问的秘密。无人航空载具还可被配置有私有密码密钥的数字证书,其可用于获得公开密码密钥以验证由无人航空载具生成的数字签名。数字证书可使用与证书机构的数字证书对应的私有密码密钥进行数字签名,使得能够验证无人航空载具的数字证书的真实性。所述组的其他无人航空载具也可被配置有这种证书和私有密码密钥(其中每个如此配置的无人航空载具具有不同的私有密码密钥。如下面更详细地论述,此类配置允许无人航空载具操作安全的网状网络。
在操作期间(诸如在飞行期间或在家庭设施处),无人航空载具可接收消息。消息可源自命令和控制中心,其可利用命令和控制服务器来生成此类消息,或者消息可源自另一无人航空载具。在一些实施方案中,消息可源自一个实体(例如,命令和控制服务器或其他无人航空载具),但是从另一实体(例如,不发起消息的无人航空载具)接收。消息可用作对无人航空载具的指示符,其关于无人航空载具可处理以确定如何操作的信息,无论此类确定包括添加新任务还是修改现有任务。例如,消息可对执行操作(例如,飞行到指定位置并在指定位置处执行动作)的命令进行编码。在一些示例中,命令是删除存储在无人航空载具上的信息,所述命令可例如致使无人航空载具删除关于其正在执行的操作的信息(例如,如下所述的数据结构或编码操作计划的其他信息)、日志、私有密码密钥、证书机构数字证书和/或其他信息。此类删除可以是安全的删除,由此可使用随机或非随机(例如零)数据对存储器位置进行重写,以阻止对存储在存储器中的信息的检索。
作为另一示例,消息可对命令进行编码以改变当前或待处理任务的路线。作为另一示例,消息可对天气数据进行编码,所述天气数据可被无人航空载具用于独立地确定是改变当前或待处理任务的路线还是执行某一其他操作(诸如(例如,当任务的目的地处存在恶劣天气时)中止当前任务)。作为另一示例,消息可对关于指定位置中的危险的信息进行编码,这使得无人航空载具能够改变路线以避开危险或中止当前或待处理任务(例如,因为危险存在于任务的目的地处或附近(在阈值接近度内))。其他消息可能与其他无人航空载具的可信度有关。例如,消息可指示是否已撤销另一无人航空载具的证书并因此不应依赖来自另一个无人航空载具的至少一些消息。也可在各种实施方案中使用其他消息。
在各种实现方式中,为了使无人航空载具将消息传输到另一无人航空载具,无人航空载具获得消息(例如,通过生成消息或从另一源接收消息),使用其私有密码密钥对消息进行数字签名,从而生成消息的数字签名。无人航空载具可随后向另一个无人航空载具传输消息、数字签名和其数字证书的副本,以使另一个无人航空载具能够验证消息的真实性并相应地进行操作。为了验证消息的真实性,接收消息、数字签名和数字证书的无人航空载具可执行一组操作来验证数字证书的真实性,并继而使用数字签名验证消息的真实性,并相应地进行操作。在示例性实施方案中,对于至少一些类型的消息,数字签名、数字证书和消息必须全部被密码验证为真实的,以供无人航空载具信任该消息。
无人航空载具处理其接收的消息的方式可根据各种实施方案并根据接收到的消息的类型而发生变化。例如,在一些实施方案中,无人航空载具接收到指示具体位置中的危险的消息,诸如恶劣天气条件、人为危险(例如,人员试图使用抛射体对无人航空载具造成物理伤害)、较差的无线通信条件、官方对于飞跃某一区域所施加的限制和/或致使避开某一区域的其他信息。消息可例如对以下各项进行编码:限定区域的一组坐标、单个坐标和以坐标为中心的圆的半径、预定义区域的标识符或可由无人航空载具用来识别要避开的区域的其他信息。无人航空载具可在成功验证接收到的消息的真实性之后修改当前任务以改变路线,从而避开该区域。无人航空载具还可修改待处理任务(例如,任务队列中的任务),以同样避开该区域,或者可将消息保存以在稍后的时间处(诸如当待处理任务变成或即将变成当前任务时)进行处理。对待处理任务的稍后处理可包括确定任务是否被任何稍后接收到的消息或其他处理取代,诸如下面所论述的。
在一些示例中,对无人航空载具处理接收到的消息可向无人航空载具指示来自另一无人航空载具的消息不可信。例如,消息可包括无人航空载具的标识符(其可以呈无人航空载具的数字证书的标识符的形式,其可以是无人航空载具的证书的指纹)和指示遭受撤销的无人航空载具的数字证书的撤销的信息。作为另一示例,消息或证书的数字签名可能是无效的,这指示从其接收到消息的无人航空载具存在问题。
作为由于接收到消息而检测到无人航空载具的不可信度的结果,接收到消息的无人航空载具可处理其先前接收并存储的消息,并且可限制对可能潜在影响无人航空载具的操作的消息的处理(例如,通过限制关于当前或未来任务的消息)。例如,如果先前的消息致使任务发生变化,则无人航空载具可使变化退回或重新计算任务的信息(例如,路线),使得任务独立于不值得信赖的无人航空载具的消息。在当前或先前的消息来自被确定成不值得信赖的无人航空载具时是否依赖该消息可能取决于消息的类型。例如,具有天气数据的消息可被依赖或至少被考虑(即,与来自另一无人航空载具的附近区域的天气数据相比),而可致使有害和/或不可撤销的动作的消息(例如,将有效载荷倾倒在不是有效载荷的预期目的地的位置处)可能不被依赖。
作为另一示例,无人航空载具可通过对消息进行投票来处理消息。作为说明性示例,无人航空载具可接收具有区域的天气数据的消息。无人航空载具可在其具有相同区域(例如,或区域的一定阈值接近度内的区域)的天气数据时将接收到的天气数据与其自身的天气数据进行比较(例如,通过比较相应的天气数据字段值,并确定每个相应值的差值是否在阈值内),并且如果接收到的天气数据足够接近其自身的天气数据,则向接收到的消息添加置信度投票。出于比较天气数据的目的,可使用任何合适的度量来计算距离,诸如被视为矢量的两组天气数据之间的最大坐标差或欧几里得距离(例如,真实的欧几里得距离、归一化的欧几里得距离或调和叠加的欧几里德距离)。通常,可比较数据组以及确定是否向数据添加置信度投票的任何方式被视为在本公开的范围内。可例如通过使用无人航空载具的私有密码密钥对消息或其一部分(例如,消息的标识符)进行数字签名来添加置信度投票。代替数字签名或除了数字签名之外,可包括其他信息,诸如在零与一之间的置信度的投票的值,并且在一些示例中,其他信息可包括在经过数字签名的信息中。
随后,可将具有附加数字签名的消息传输到一个或多个其他无人航空载具,其在具有适用的天气数据时可执行类似的过程来添加投票。在一些实施方案中,投票只是赞成的(即,无人航空载具可通过对消息进行投票或不对消息进行投票来影响对消息的接受),而在其他实施方案中,投票可以是赞成的或反对的。例如,如果无人航空载具自身的天气数据的一个或多个字段值与所接收的天气数据中的相应的字段不同,并且其在接收到的天气数据的时间阈值内,或者比接收到的天气数据更加新(或者两者皆可),则无人航空载具可添加反对投票,从而所述无人航空载具可添加指示反对投票的信息,并对该信息进行数字签名。在一些示例中,当无人航空载具没有对消息添加赞成投票时,它会避免重新传输该消息。
当无人航空载具接收到消息时,无人航空载具处理消息的方式可取决于消息随着其从无人航空载具传递到无人航空载具已接收到的投票。例如,改变当前任务可能需要阈值数量的投票。类似地,接收具有投票的消息的无人航空载具可具有其针对不同数量的投票执行的不同操作。例如,无人航空载具可将请求传输到命令和控制中心或另一无人航空载具,以确认或以其他方式审查消息(例如,通过添加投票),从而试图确定是否可获得足够的投票,并且如果获得了阈值置信度,则无人航空载具可改变一个或多个任务。
各种优化可应用于上面有所描述并在下面更详细地描述的技术。例如,在一些实现方式中,无人航空载具保存它们接收到的消息日志连同其他相关信息(例如,数字签名和证书或证书的标识符)。当无人航空载具检测到与另一无人航空载具进行通信的能力时,无人航空载具可交换消息日志或其部分(例如,在具体的一定时间量内接收到的消息,也被称为消息日志)。当无人航空载具从另一无人航空载具接收到具有消息日志的消息时,接收到消息日志的无人航空载具可将消息日志与其自身的消息日志组合(例如,合并)并处理其尚未处理的任何消息,诸如以上所描述的。例如,无人航空载具可使用任何接收到的消息来使其采取的任何动作退回和/或根据其接收到的消息来修改一个或多个待处理的和/或活动中的任务。对新消息的处理可按时间顺序进行,使得较新的消息可超控较旧的消息的影响。下面明确描述了其中许多内容的其他技术也在本公开的范围内。
图1示出了可实践各种实施方案的环境100的说明性示例。在环境100中,无人航空载具102与另一无人航空载具104进行通信。无人航空载具102可例如传送无人航空载具102使用机载(on board)的一组传感器已校正的数据。作为另一示例,无人航空载具102可具有来自一个或多个其他无人航空载具的一个或多个消息,并且可将所述消息中的一个或多个中继到另一个无人航空载具104。
如下面更详细地论述,本公开的各种实施方案涉及无人航空载具(诸如图1中所示的无人航空载具102和无人航空载具104)之间的安全通信。为此,在实施方案中,无人航空载具102将消息106传输到无人航空载具104。消息可以是结构化的信息的集合,其以无人航空载具104被配置来进行处理的方式配置。如上所述,消息可包含天气数据、命令、关于其他无人航空载具的信息和/或可能适用于无人航空载具104或者附图中未示出的一个或多个其他无人航空载具的操作的一般信息。
在各种实现方式中,无人航空载具之间的消息采用密码技术以使得能够确定此类消息是否应为可信的,其中无人航空载具与消息有关的操作可取决于该信息是否为可信的。在这个具体示例中,从无人航空载具102到无人航空载具104的消息106提供有消息106的数字签名108。在各种实施方案中,使用公开-私有密码密钥对中的私有密码密钥对消息106进行数字签名,其中私有密码密钥可以是作为秘密安全地保存在诸如可信平台模块(TPM)的硬件部件或提供无人航空载具102的硬件保护的其他部件内的密码材料。应注意,尽管出于说明具体实施方案的目的而自始至终论述了非对称密码技术,但是本文所述的技术适于使用对称密码算法(诸如利用在无人航空载具之间共享的秘密的算法)。通常,本公开的技术延伸到以下技术,其中专用于无人航空载具并且被无人航空载具保存为秘密的密码材料被用于呈现消息,所述消息由可访问密码材料或对应于密码材料的信息(诸如当私有密码密钥是密码材料时的公开密码密钥)的其他无人航空载具进行密码验证。应注意,虽然本公开的实施方案论述了用于消息认证的(对称和非对称的)数字签名,但是可使用其他认证信息来验证消息的真实性。例如,秘密凭证本身可用于证明身份或可以是可用来证明有权访问秘密信息的其他信息,所述秘密信息可以是密码材料。通常,可接收消息与认证信息(例如,数字签名或有权访问凭证的其他证明),所述认证信息专用于消息的发起者(例如,无人航空载具或命令和控制服务器)和/或(在不同于发起者时)提供消息的实体(例如,在该无人航空载具不发起消息时从中接收消息的无人航空载具)。
返回到图1的示出的实施方案,无人航空载具102另外将数字证书110传输到无人航空载具104,其中数字证书110使无人航空载具104能够确定对应于存储在无人航空载具102内的私有密码密钥的公开密码密钥并使用公开密码密钥来验证消息106的数字签名108。如下所述,数字证书110可包含无人航空载具104被配置来信任的证书机构(即,通过将数字证书密码绑定到相应的身份(例如,单个无人航空载具)来颁发数字证书的计算机系统)的数字签名。无人航空载具104可具有颁发数字证书110的证书机构的数字证书,从而使得无人航空载具104能够确定数字证书110的公开密码密钥可被信任以验证数字签名108。
正如所述,无人航空载具104可被配置来根据从无人航空载具接收的消息是否被密码验证为值得信赖的来进行操作。因此,根据无人航空载具104是否通过成功地确定数字签名108的有效性来成功地认证消息106,无人航空载具104可执行各种操作。例如,由于确定消息106是真实且值得信赖的,无人航空载具104可根据第一组可执行指令进行操作。由于无人航空载具104确定消息106是不值得信赖的,无人航空载具104可执行另一组可执行指令。如下面更详细地论述,无人航空载具104可处理值得信赖或不值得信赖的消息的各种方式可以根据各种实施方案以及根据正使用本公开的各种技术的无人航空载具的具体能力而发生变化。
应注意,尽管出于说明的目的而自始至终广泛使用了无人航空载具,但是本公开的技术总体适用于无人载具,其中无人载具是能够自主地(例如,在调度之后没有人工干预的情况下)行进到指定目的地的载具。无人载具不一定飞行,并且包括但不限于基于陆地的载具(例如,轿车、卡车和其他汽车)、基于轨道的载具(例如,火车)、水上载具(例如,船和潜水艇)、不同类型的空中载具(直升飞机、飞机等)和/或其他类型的载具。应注意,在一些实现方式中,无人载具可具有用于进行至少某一操作和/或用于超控自动化系统的人工操作员。例如,客运载具可被认为是无人载具,即使乘客可能能够超控自动化控制。
图2示出了无人航空载具200的说明和无人航空载具200可利用来采用本文所述的各种技术的信息。无人航空载具可以是诸如以上结合图1所描述的无人航空载具。如图中所示出,在这个示例中,无人航空载具200包括能够使无人航空载具200飞行或以其他方式行进的各种部件和/或其他部件,诸如以下所描述的。在实施方案中,如图2中所示出,一组无人航空载具中的每个无人航空载具200都具有至少三条可用的(例如,存储在存储器中)可由无人航空载具200的一个或多个处理器访问的信息,如下所述。在这个具体示例中,无人航空载具200存储的项目中的一个是无人航空载具私有密码密钥202,其中无人航空载具私有密码密钥202可以是与公开-私有密码密钥对的公开密码密钥对应的私有密码密钥。对应于无人航空载具私有密码密钥202的公开密码密钥可被编码到无人航空载具数字证书204中或由无人航空载具数字证书204以其他方式指定。无人航空载具证书可以是包括或以其他方式指定公开密码密钥的结构化的数据集合。在一些实施方案中,本文所述的无人航空载具数字证书和其他数字证书是X.509证书,但是公开密码密钥的其他编码方式被视为在本公开的范围内。
如上所述,无人航空载具私有密码密钥202可用于生成消息的数字签名,诸如消息本身的数字签名和/或其他信息的数字签名(例如,消息的标识符,其可以是消息的散列值)。通常,消息的数字签名是使用秘密凭证(例如,私有密码密钥)生成的信息,所述秘密凭证可密码验证为密码地绑定到该消息。无人航空载具证书204的公开密码密钥可用于验证使用无人航空载具私有密码密钥202生成的数字签名是否有效。然而,在各种背景下,数字签名的有效性不足以确保在无人航空载具之间传递的数据的安全性。因此,在实施方案中,无人航空载具200另外存储证书机构数字证书206,所述证书机构数字证书206是具有可用于验证无人航空载具数字证书204的数字签名的公开密码密钥的数字证书,其中这种数字签名可使用由证书机构保存为秘密的私有密码密钥来生成。
应注意,一组无人航空载具中的每个无人航空载具都可具有不同的相应的私有密码密钥和可用于验证使用相应的私有密码密钥生成的数字签名的对应的数字证书。然而,如果数字证书本身在组中的无人航空载具之间发生变化,则每个无人航空载具可存储证书机构证书206的相同副本,或者总体而言存储由证书机构证书206编码的公开密码密钥的副本。此外,单个无人航空载具可存储多个不同的证书机构数字证书,其中单个证书机构数字证书可能不足以验证组中无人航空载具的所有数字证书。以这种方式,当无人航空载具200从另一无人航空载具接收到消息时,无人航空载具可验证与消息包括在一起的数字签名的可信度。
在各种实施方案中,接收到消息还包括接收到消息的数字签名和用于验证消息的数字签名的数字证书。因此,无人航空载具200可使用接收到的数字证书来验证数字的接收到的签名,所述接收到的数字证书是指编码在接收到的数字证书中或由接收到的数字证书以其他方式指定的公开密钥。无人航空载具200可使用其自身的证书机构数字证书206的副本来验证接收到的数字证书的数字签名。如果接收到的数字证书的数字签名和消息的数字签名都是有效的,则无人航空载具200可根据接收到的消息值得信赖进行操作。类似地,如果接收到的数字证书的数字签名和消息的数字签名中的一者或两者被确定为无效的,则无人航空载具200可根据消息不值得信赖进行操作。
应注意,虽然图2示出了具体的实现方式,但是其他实现方式被视为在本公开的范围内。例如,在一些实施方案中,一组无人航空载具中的每个无人航空载具都保存了所有专用于组中不同无人航空载具的数字证书的本地副本。当无人航空载具接收到经数字签名的消息时,无人航空载具可执行对匹配的数字证书的查找,并且可使用该匹配的数字证书来验证数字签名。如果数字证书的本地副本先前已被验证,则在这个替代实施方案中,无人航空载具可在不利用证书机构证书的情况下信任具有有效数字签名的消息。为了选择匹配的数字证书,标识符(诸如无人航空载具标识符或数字证书的数字指纹)可与消息包括在一起。其他变型也被视为在本公开的范围内。
图3示出了可实践各种实施方案的环境300的说明性示例。在这个具体示例中,环境300包括一组无人航空载具302。当在可取决于具体实施方案中利用的具体无线通信技术的范围内时,无人航空载具302可与命令和控制设施304进行通信。
命令和控制设施304可以是配备有用于与无人航空载具302进行通信的计算机系统和通信设备的设施。命令控制设施304的具体配置可根据各种实施方案发生变化。在一些示例中,命令控制设施是仓库的部件,无人航空载具从所述仓库获取物理产品(或存储数字产品的物理物品)以递送到其目的地处。产品可以是例如在线上电子市场中订购的产品。应注意,根据不同的实施方案,无人航空载具302可在很大程度上发生变化,并且不限于用于递送在电子市场中订购的物理产品的无人航空载具。例如,在一些情况下,无人航空载具302用于递送未特别订购的物理产品,诸如,样品、救灾物资或大体出于各种理由使用无人航空载具302调度的任何类型的物理物品。除了或替代递送物理物品,无人航空载具还可用于其他任务。例如,许多无人航空载具302配备有可记录音频和/或可视数据(诸如电子照片和/或视频)的照相机。此类无人航空载具可例如用于测量地形,用于收集信息,用于新闻目的,用于评估威胁和/或以其他方式收集否则可能更难收集的信息。
在实施方案中,命令和控制设施304包括命令和控制服务器306,所述命令和控制服务器306可以是服务器计算机系统,其被配置来生成电子消息并且使得使用无人航空载具被配置来利用的无线通信协议将生成的电子消息传输到无人航空载具302。命令和控制服务器306还可接收从无人航空载具302传输的电子消息,并且可因此处理消息,这可包括传输到其他计算机系统以供处理。为了使无人航空载具302能够确定来自命令和控制服务器306的消息是否是值得信赖的,命令和控制服务器可诸如通过对消息进行数字签名以及为消息提供数字签名和可用于验证数字签名的数字证书来利用本文所述的无人航空载具使用的各种技术。例如,一些消息类型可能需要在此类消息被处理(例如,消息中的命令被履行)之前从命令和控制设施(或其具体实体,诸如具体的服务器)发起,即使此类消息可通过一个或多个无人航空载具来进行中继。例如,在一些实施方案中,可能需要从命令和控制设施发起添加任务的命令,从而阻止受损和/或出故障的无人航空载具成功地使得一些命令得以履行。本文所述的技术可用于密码验证某些消息类型实际上发起自命令和控制设施。
命令和控制服务器306可传输将任务分配给无人航空载具302的消息,所述消息向无人航空载具302提供数据,诸如,天气数据、或威胁数据(即,识别已报告的对无人航空载具302的威胁(诸如人员恶意行事)的数据)、关于单个无人航空载具的可信度的数据(诸如,指示撤销无人航空载具数字证书的信息)、识别禁飞区(例如,官方(至少暂时)禁止飞行的区域)的数据和/或其他信息。
如图3中所示出,命令和控制设施还可包括一个或多个其他服务器308,其可根据各种实施方案的具体要求进行配置。例如,在仓库实施方案中,一个或多个其他服务器308可被配置来诸如通过提供关于仓库中物品的位置的信息以匹配已接收的订单来有助于管理仓库中的物品。例如,一个或多个其他服务器308可从与命令和控制设施相关联的分布式计算机系统(诸如电子市场)接收信息,并且可与命令和控制服务器306进行通信以使无人航空载具302参与履行命令或以其他方式参与无人航空载具302的各种任务。通常,其他服务器可根据无人航空载具为之进行操作的组织的操作来配置。
图4示出了根据各种实施方案的可被无人航空载具使用的数据结构400的说明性示例。在这个具体示例中,数据结构具有表的形式,所述表的行可以队列的形式使用。在这个示例中,数据结构400包括对应于不同类型的信息的各列,所述信息与无人航空载具的强调数据结构400的任务相关联。例如,数据结构400的第一行对应于时间戳,其中时间戳列的行中的条目与对应于行的任务被无人航空载具接收时或任务(例如,由命令和控制服务器)生成时的时间戳对应。
第二列用于已分配给无人航空载具的任务的标识符。在这个具体示例中,任务列中的条目对应于两个不同任务(在这个示例中是递送任务和“返回基地”任务(例如,涉及从远程位置行进到命令和控制设施的任务))中的一个。应注意,无人航空载具执行的任务的类型可根据各种实施方案发生变化,并且不一定包括递送物理物品。例如,无人航空载具的任务可以是行进到某一位置并记录音频和/或视觉信息。作为另一示例,无人航空载具的任务可以是行进到指定位置并通过无人航空载具的扬声器系统播放音频文件。其他任务也被视为在本公开的范围内。应注意,通过将操作组织成任务,数据结构400对无人航空载具的操作计划进行编码,其中实施方案中的操作计划包括待执行的一组有序操作。在这个示例中,操作计划被编码为包括所有未完成的(例如,待处理并且待在未来执行的)任务的一组有序的(例如,按行排序的)任务。然而,应注意,操作计划不一定需要按任务组织,而是可例如在更高的粒度化水平(例如,按单个操作)或更低的粒度化水平(例如,按任务组)上进行组织。
图4的示例性数据结构400中的第三列用于关于无人航空载具可能由于受到分配而接收到的各种任务的数据。在这个具体示例中,具体任务的数据类型可根据任务的类型发生变化。在这个示例中,递送任务包括指定无人航空载具可单独递送的若干有效载荷中的一个的信息。数据还可包括路线的数据,其可包括无人航空载具依循着以到达目的地的坐标序列(例如,全球定位服务坐标)。路线可通过它们的坐标或以其他方式来识别,诸如通过预先存储的路线的标识符。
数据列中的数据还可包括关于无人航空载具所依赖的关于接受任务的任何消息的信息。此类依赖信息可包括例如从中接收消息的无人航空载具的标识符或者接收到的某一类型的消息(例如,消息是否具有命令,是否具有天气数据,是否具有危险数据,是否具有关于撤销另一无人航空载具的数字证书的数据,或其他数据)。依赖数据还可包括接收到的消息的时间戳。时间戳可以是例如消息被生成时的时间戳。还可包括其他信息,诸如消息本身、接收到的消息的数字签名和/或与其相关联的任何元数据。如图4中所示出,可为无人航空载具接收到的多个消息存储任务的依赖数据。例如,由于从多个无人航空载具接收到天气数据,因此可计算出任务的路线。一个无人航空载具可提供关于一个位置的天气的信息,而另一个无人航空载具可提供关于另一位置的天气的信息。与依赖数据包括在一起的其他信息可以是识别如何使用来自另一无人航空载具的数据(例如,识别该数据被用于更新到达目的地的路线)的数据。通常,任务的依赖数据包括以下数据,所述数据使无人航空载具能够使用从另一无人航空载具接收到的信息确定任务是否被确定,并且在一些实施方案中,能够确定提供该信息的无人航空载具。应注意,依赖数据可与其他粒度水平(诸如单个操作)的信息或者操作和/或任务的单个组成部分的信息相关联。例如,依赖数据可与路线相关联,并因此与利用该路线的任务间接地相关联。其他变型也在本公开的范围内。
最后,如图4中所示出,数据结构400的第四列包括每个任务的状态标识符。在这个具体示例中,状态列中的每个条目是以下三种可能性中的一种:完成、进行中和排队。具有完成状态标识符的任务可以是无人航空载具已执行的任务。进行中任务状态标识符可指示任务当前正由无人航空载具来执行。如图3中所示出,例如,无人航空载具可正在进行递送的途中。任务的排队状态标识符可指示该任务已被记录以待在完成一个或多个其他任务之后执行。其他数据也可存储在数据结构400中,并且图4中所示出的具体类型的信息被提供用于单个实施方案的示例。例如,一些完成的任务可以是可逆的(例如,可通过定位和恢复控制有效载荷来逆转递送)并且任务是否可逆可被包括在数据结构400中。
其他变型也被视为在本公开的范围内。例如,在一些实施方案中,数据结构可不包括已完成任务的行中的信息。然而,对与已完成的任务相对应的信息的存储可用于各种实施方案中(诸如)以记录关于已执行的任务的统计信息。可包括在数据结构400中的其他信息可以包括完成任务的时间戳、在执行任务期间从传感器获得的信息(诸如天气数据)、作为任务的一部分行进到的一个或多个位置的一个或多个数字图像和/或可能与具体实施方案相关的其他信息。在图4的具体示例中,数据结构被配置为可用作队列的表。任务按照任务应被执行的顺序从顶部到底部进行排序。具有任务状态为未完成的最高行可对应于进行中的任务或尚未开始的任务,并且任何后续行可对应于已排队的任务。
如上所述,无人航空载具可利用各种传感器来在其操作期间记录信息。此类信息可被称为操作数据。此类操作数据的示例包括天气数据,所述天气数据可包括但不限于温度数据、风速数据、气压数据、降水数据和/或与天气相关的其他数据。全球定位系统(GPS)数据也可被视为操作数据。其他操作数据包括关于无人航空载具用于推进的系统的数据诸如多个电机中的每一个的电机速度和/或取向数据(诸如俯仰、横滚和偏航)。时钟还可提供呈使用的时间数据(例如,时间戳)的形式的操作数据。
操作数据也可能是因无人航空载具的一组传感器收集的数据的分析而产生的。作为说明性示例,关于电机操作的数据连同GPS数据和高度数据可用于确定无人航空载具是否受到恶意的人为干涉或遇到操作问题。例如,长时间的电机操作(即,在没有发生高度或GPS位置变化的情况下超过阈值的电机操作)可指示无人航空载具已经受到干涉(例如,某物阻止飞行或阻止通信)。诸如照相机的传感器连同面部识别算法可用于确定人员是否存在,且从而能够确定干涉是人为干涉还是非人为干涉。非人为干涉可以是例如无人航空载具与阻止无人航空载具飞行的树或其他结构接合。操作数据还可包括音频和/或视觉数据,诸如待用于各种目的的周围环境的音频和照片和/或视频,诸如恶意干涉无人航空载具的操作的人员的法证鉴定和/或总体而言用于实现故障诊断的关于环境的信息。
图5示出了根据实施方案的可用于处理操作数据的过程500的说明性示例。过程500可由无人航空载具的机载(on-board)(也被称为“机载(onboard)”)计算机系统执行。在实施方案中,过程500包括获得502操作数据。如上所述,操作数据可从执行过程500的无人航空载具所配备的各种传感器获得和/或通过处理该组传感器获得的数据来获得。已获得502操作数据之后,执行过程500的无人航空载具可处理504操作数据。如上所述,操作数据可根据各种实施方案以各种方式进行处理,本文描述了所述实施方案中的许多示例,但是应注意,本公开的实施方案不限于其中明确陈述的实施方案。通常,处理504操作数据包括根据可执行指令执行对日期的分析以确定是否和/或如何改变操作。在一些示例中,处理操作数据涉及确定执行过程500的无人航空载具已经受到损害(例如,由于在没有发生足够的位置变化的情况下的长时间电机操作和/或检测到紧邻的面部的面部识别算法,或者由于指示侵入无人载具的外壳中的传感器)。当检测到这种损害时,无人航空载具可生成并数字签发撤销其自身的数字证书的消息,并且(如果可能)将该消息传输到一个或多个其他无人航空载具和/或命令和控制设施。接收到这种自我撤销的无人航空载具可(不管撤销)验证消息的真实性并相应地进行处理(例如,通过拒绝待通过未撤销的数字证书进行验证的未经数字签名的至少一些未来的消息,基于来自自我撤销其数字证书的无人航空载具的消息修改操作计划等)。在一些示例中,自我撤销(或者总体而言不是自我生成的撤销)可指定有效时间,使得依赖于来自数字证书被撤销的无人航空载具的消息的任何待处理任务可被选择性地重新处理(例如,通过仅选择依赖于来自无人航空载具的(可使用撤销的数字证书进行验证并且在撤销之后接收和/或生成的消息的那些任务)。
在各种实施方案中,操作数据不仅对收集操作数据的无人航空载具是有用的而且对其他无人航空载具也是有用的。例如,无人航空载具收集的天气数据可能对于计划行进到已记录有恶劣天气的位置的另一个无人航空载具是有用的。作为另一示例,已检测到对无人航空载具的操作的干涉(无论干涉是人为干涉还是以其他方式)的无人航空载具可能对于计划行进到检测到干涉的目的地或其附近的无人航空载具是有用的。使用由另一无人航空载具收集的操作数据的其他示例被视为在本公开的范围内。
为了使其他无人航空载具能够利用操作数据,过程500可包括生成506对操作数据进行编码的消息。消息可以使接收消息的其他无人航空载具能够处理操作数据的方式来进行构造。已生成506消息之后,执行过程500的无人航空载具可对消息进行数字签名。无人航空载具可例如使用无人航空载具可访问的私有密码密钥执行密码数字签名算法。已对消息进行数字签名508之后,无人航空载具可传输510消息、数字签名和对与用于对消息进行数字签名的私有密码密钥对应的公开密钥进行编码的数字证书。消息数字签名和数字证书的组合可被称为消息包,所述消息包还可包括除了列出的那些项目之外的其他信息。应注意,在一些示例中,无人航空载具还可存储其生成506的消息,以供其自己使用,或者用于在其他无人航空载具出现在通信范围内时将所述消息(单独地或以日志的形式,诸如以下所描述的)提供给它们。
应注意,可在执行过程500和其变型时执行附加操作。例如,在一些实施方案中,用于执行过程500的无人航空载具的逻辑包括用于确定是否将消息传输到另一无人航空载具的逻辑。例如,如果操作数据包括位置的天气数据,则无人航空载具可确定是否将天气数据传输到另一无人航空载具,所述另一无人航空载具远离该位置,在该位置的指定半径以外,或以其他方式不太可能利用该天气数据。为了进行这样的确定,无人航空载具可从其他无人航空载具接收位置信息和/或可利用其自身的传感器(例如,通过确定其具有其当前远离的某一位置的天气数据)。
还应注意,正如本文所述的消息的所有传输,执行过程500的无人航空载具可以各种方式传输消息包。例如,在一些实施方案中,无人航空载具完成与另一无人航空载具的握手过程(例如,建立可能是加密通信信道的通信信道),并在建立信道之后传输消息。在其他示例中,无人航空载具广播消息包,并且广播范围内的任何无人航空载具都可接收并处理消息包。在一些实施方案中,一些类型的消息被广播,而其他类型的消息被保留用于在已建立的成对通信信道中进行通信。
如上所述,本公开的各种技术包括诸如根据上面结合图5论述的过程500接收并处理从其他无人航空载具传输的消息。图6示出了根据实施方案的用于处理接收到的消息的过程600的说明性示例。过程600可通过任何合适的系统来执行,诸如通过无人航空载具上的机载计算机系统,诸如以下所描述的。在实施方案中,过程600包括接收602可包括消息、数字签名和数字证书的消息包。消息包可从另一无人航空载具或从诸如命令控制设施的命令控制中心接收602,诸如以上所描述的。可根据用于传递消息的无线协议来接收602消息。
在实施方案中,为了处理接收602的消息,过程600包括确定604消息包的数字证书是否可信。确定604消息包的数字证书是否可信可以包括访问(诸如以上所描述的)证书机构证书的副本,以及使用编码在证书机构证书中的公开密码密钥来验证在消息包中接收602的数字证书的数字签名。确定数字证书是否可信也可涉及附加操作,诸如确定数字是否已过期(且从而是不可信的),数字证书是否对应于据称对消息进行数字签名的身份,和/或其他操作。应注意,在一些实施方案中,数字证书上的截止期限具有相对较短的截止期限(例如,在一天或一周内有效)。当无人航空载具返回到命令和控制设施或以其他方式能够与命令和控制设施进行通信时,无人航空载具(当在其数字证书的截止期限的指定阈值内时)可从命令和控制服务器(或其他实体,诸如证书机构)请求数字证书。能够颁发数字证书的实体可提供一个数字证书以作为响应,从而使无人航空载具能够对消息进行数字签名。类似地,如果无人航空载具(例如,因为其被恶意捕获或以其他方式无法返回而)没有返回来使数字证书续期时,无人航空载具的数字证书将在相对较短的时间期内有效,从而限制了在有人得到访问私有密码密钥时冒充无人航空载具的任何机会窗口。
如果确定604数字证书不可信,则在实施方案中,执行过程600的无人航空载具因此不能验证消息是否应为可信的,因为尽管数字签名的正确性可以是可验证的,但数字签名的可信度无法被验证。因此,如果确定604证书不可信,则过程600可包括拒绝606消息。可根据各种实施方案以各种方式拒绝606消息。例如,在一些实施方案中,执行过程600的无人航空载具完全不对接收602的消息执行任何操作。也就是说,执行过程600的无人航空载具的待处理或排队的任何任务可保持不受影响。在各种实施方案中,消息的拒绝606可能更加复杂。在一些情况下,可直接或通过一个或多个其他无人航空载具将拒绝消息的原因(诸如数字证书的无效)的通知传输到命令和控制设施。
如果执行过程600的无人航空载具确定604数字证书可信,则无人航空载具可验证消息的数字签名是否有效。例如,无人航空载具可利用编码在数字证书中的公开密码密钥,以使用公开密码密钥来验证数字签名和消息。如果无人航空载具确定608数字签名无效,则消息可被拒绝606,诸如以上所描述的。
然而,如果执行过程600的无人航空载具确定608数字签名有效,则无人航空载具可确定610该消息是否可行。在实施方案中,如果消息适用于一个或多个未完成的任务或者更一般地一个或多个正在排队或以其他方式计划去执行的未完成的操作,则消息是可行的。规则引擎可用于确定该消息是否适用于当前或待处理的任务。适用于未完成任务的示例性消息是包含无人航空载具的任何未完成任务中列出的任何坐标的指定阈值距离内的位置的天气数据的消息。还可进行更加复杂的分析,诸如通过确定无人航空载具的路径是否将导致无人航空载具进入为之记录天气数据或对应于无人航空载具的潜在危险的其他数据的位置的阈值距离内。作为可行消息的另一示例,一个或多个未完成任务可依赖于先前从另一无人航空载具接收的信息。如果消息指示来自无人航空载具的信息是不值得信赖的,则由于需要重新计算依赖于来自不可信的无人航空载具的信息的任务,该消息可以是可行的。
在实施方案中,如果执行过程600的无人航空载具确定610消息是可行的,则过程600可包括启动612对消息的处理。如上面所述以及下面更详细地论述,处理消息的方式可根据各种实施方案而发生变化。如果执行过程600的无人航空载具确定610消息不可行,或者在启动对消息的处理时,执行过程600的无人航空载具可对消息包进行数字签名614以生成更新的消息包。更新的消息包可包括消息、新的数字签名和执行过程600的无人航空载具的证书。在其他实施方案中,接收602的消息包被用作经数字签名以生成更新的消息包的消息,所述更新的消息包可包括接收602的消息包、接收602的消息包的数字签名和执行过程600的无人航空载具的数字证书。已生成更新的消息包之后,执行过程600的无人航空载具可将更新的消息包传输616到诸如另一无人航空载具或命令和控制设施。
与本文所述的所有方法一样,许多变化被认为在本公开的范围内。例如,在图6中,接收602消息包的无人航空载具生成更新的消息包。这可能指示例如无人航空载具已经审查了消息。然而,在其他实施方案中,无人航空载具不生成更新的消息包,而是仅简单地将消息包转发到另一无人航空载具和/或命令和控制设施。作为本公开的范围内的变型的另一示例,可在监测了与不同于接收602消息的一个无人航空载具的另一无人航空载具进行通信的能力之后,执行对消息包或更新的消息包的传输616。
也被视为在本公开的范围内的其他变型包括执行操作所依循的顺序上的变型。例如,如图6中所示出,某些操作取决于:消息包的数字证书是可信的,消息包中的数字签名是有效的,以及消息是可行的。可执行附加操作以确定是否信任数字签名。例如,消息的时间戳可用于确定消息是否过时,其中消息的过时性可通过自消息生成以来度过的阈值时间期来确定(例如,因为天气数据可能在有限的时间期内是有用的)。此外,在一些实施方案中,生成了具有生存时间(通常缩写为“TTL”)值的消息。生存时间值可以是指示消息的截止期限的信息。生存时间值可例如指定截止期限生效时的时间。作为另一示例,生存时间值可指定消息生成时的时间戳和消息过期之前可度过的时间期。作为另一示例,生存时间值可以是每当消息从一个无人航空载具传到另一无人航空载具时有所增加的计数器,其中生存时间值包括计数器上指示消息何时过期的限值。其他信息也可用作生存时间值。通常,无人航空载具可据此确定信息是否过时的任何机制被视为在本公开的范围内。
此外,可按不同的顺序执行关于是否信任数字签名和/或其他操作(例如,确定动作是否是可行的)的操作。例如,数字签名的无效可能意味着没有必要检查证书是否可信。因此,可按不同的顺序和/或并行地执行对数字证书的可信度的确定和对数字签名的有效性的确定。通常,本文所述的操作可按与上下文不矛盾的任何顺序来执行。例如,当一个操作的结果对于执行另一操作不是必需的,两个操作可按任何顺序或并行地执行。换句话说,按具体顺序执行的某些操作的说明不一定意味着本公开的实施方案限于该顺序,并且本公开的范围延伸到不明确地或与上下文产生矛盾的其他操作顺序。
如上所述,无人航空载具的任务可依赖于根据各种实施方案从其他无人航空载具接收的消息。在一些情况下,无人航空载具可通过恶意行为或故障而受到损害。因此,图7示出了根据实施方案的用于处理从其他无人航空载具或从命令控制设施接收到的消息的示例性过程700。过程700可通过任何合适的系统来执行,诸如通过无人航空载具的机载计算机系统。在实施方案中,过程700包括接收和认证702(例如,确定是否信任)消息包,诸如以上所描述的。例如,确定是否信任消息可包括:确定数字签名是否有效,数字证书是否可信,数字证书是否以其他方式有效(例如,未过期),和处理该消息的内容。还可使用诸如消息的TTL值和/或时间戳的其他信息来确定消息是否可信。
消息包可与无人航空载具相关联,所述无人航空载具可在消息中被识别,或者在一些示例中可以是从中接收702消息的无人航空载具。例如,消息包可包括消息、数字签名和数字证书。在接收702消息包时,过程700可包括确定704消息是否是关于与接收702的消息相关联的无人航空载具(例如,在消息中指定的无人航空载具)的信任的。例如,消息可指示与无人航空载具相关联的数字证书的撤销,或者可使用无人航空载具的标识符来指定不被信任的无人航空载具。应注意,虽然图7示出了用单个无人航空载具(即消息的对象)来执行的过程700,但是消息可以是关于多个无人航空载具的信任的,并且过程700可相应地进行调整。
在实施方案中,如果执行过程700的无人航空载具确定704消息是关于信任无人航空载具的,则执行过程700的无人航空载具可确定706无人航空载具是否具有依赖于从中接收702消息的无人航空载具的任何未完成的任务(总体而言,任何未完成的操作)。然而,如果执行过程700的无人航空载具确定704信任消息,则过程700可包括处理708消息,诸如以上所描述的。例如,处理708消息可包括更新一个或多个未完成的任务以避免例如恶劣天气或其他危险。
可根据各种实施方案以各种方式来执行对无人航空载具是否具有依赖于据称生成消息的无人航空载具的任何未完成的任务的确定706。例如,在一些实施方案中,无人航空载具可利用诸如以上结合图4所描述的数据结构来选择任何未完成的任务,所述任何未完成的任务在依赖数据中包括据称生成消息的无人航空载具的标识符。通常,执行过程800的无人航空载具可存储可用于确定消息的来源的信息,并且可使用此类数据来确定任何任务是否依赖于消息的来源(即,从中接收消息的无人航空载具)。
如果执行过程700的无人航空载具确定706一个或多个未完成的任务依赖于从中接收702消息包的无人航空载具,则过程700可包括选择710依赖于来自从中接收702消息包的无人航空载具的消息的未完成的任务。在实施方案中,根据任务队列中的位置选择未完成的任务,并且具体地,未完成的任务选定为队列中依赖于从中接收消息包的无人航空载具的最高的未完成任务。在这个示例中,队列中越高对应于越早被执行过程700的无人航空载具履行。应注意,选择依赖于来自从中接收702消息包的无人航空载具的消息的任务可包括更复杂地确定是否选择具体的消息。例如,在一些实施方案中,消息被分为不同的消息类型。仅可能针对依赖于某一种类型(或若干类型中的一种)的消息的任务来选择任务,而可能不会选择依赖于一种或多种其他类型的消息的任务。作为另一示例,如下所述,无人航空载具可被配置来审查消息。在此类实施方案中,可至少部分地基于已审查(例如,确认)消息的多个其他无人航空载具(例如,已审查了消息的一组无人航空载具是否满足一组法定数量规则,所述规则限定了法定数量的可信航空载具(法定数量规则可能要求所述可信航空载具为可信无人航空载具))来确定任务的选择。
已选择710依赖于来自从中接收702消息包的无人航空载具的消息的未完成的任务之后,过程700可包括将任务重新处理712为与来自任务所依赖的无人航空载具的消息无关。重新处理任务可包括例如以下述方式计算新的路线,所述方式独立于、避开来自无人航空载具的消息中指示的位置。例如,无人航空载具可使用其(例如,通过GPS传感器的GPS数据确定的)当前位置来确定始于当前位置的最佳路线,所述路线可能与或可能不与重新计算之前的路线相异。作为另一示例,无人航空载具可存储多个版本的任务(总体而言,可用于确定先前版本的信息,诸如版本之间的差异),并且可使用存储的版本来退回到不依赖于从中接收702消息包的无人航空载具的先前版本。在具有路线的任务的示例中,无人航空载具可退回到先前的路线,这可能涉及从当前位置行进到路线上的某一位置以继续循着该路线。
应注意,在一些情况下,重新处理可能不导致任务发生变化,诸如当消息未导致先前版本的任务发生变化时或者当来自另一无人航空载具(或,在一些示例中,形成法定数量的一组无人航空载具)的信息导致对任务进行(造成任务不变的)重新计算时。此外,重新处理任务可包括重新处理一组任务,这可包括例如对一些任务进行重新排序。作为说明性示例,无人航空载具可具有两个递送任务。在确定更新任务时,无人航空载具可确定(由于其当前位置)按不同的顺序执行递送任务会更快。为此,无人航空载具可确定多个任务的多条路线中的哪一条路线是无人航空载具最接近的(这可通过计算到限定路线的坐标的距离并选择最短距离来近似),并开始对应的任务。因此,任务的开始和结束位置可能发生变化,并且可能必须重新计算其他任务(例如,所确定的新路线)。通常,当重新计算任务时,无人航空载具可利用其当前状态作为用于重新计算任务的算法(例如,路线计算算法)的输入。重新处理/重新计算任务还可包括向一组任务添加新任务。例如,任务的重新处理可导致用于递送有效载荷的任务被用于返回到命令和控制中心的任务替换。作为另一示例,重新处理任务可涉及在不替换另一任务的情况下添加任务。例如,如果来自不值得信赖的无人航空载具的依赖消息指示关于位置(例如,天气)的信息,则可添加用于验证信息的任务,并且可将一个或多个任务计划成使得其性能依赖于消息中的数据是否已被成功验证。
已对先前依赖于来自从中接收702消息包的无人航空载具的消息的任务进行重新处理712或(可替代地)启动了重新处理之后,过程700可包括确定是否存在依赖于来自从中接收702消息包的无人航空载具的任何消息的任何附加未完成任务。如果确定714存在附加未完成的任务,则过程700可包括选择依赖于来自从中接收702消息包的无人航空载具的消息的另一未完成任务,并重新处理任务(或退回到先前版本的任务)。对依赖于来自从中接收消息包的无人航空载具的消息的任务的这种选择和重新处理可继续直到执行过程700的无人航空载具确定714不存在依赖于来自从中接收702消息包的无人航空载具的任何消息的附加未完成消息。
当确定不存在依赖于来自从中接收消息包的无人航空载具的消息的附加未完成任务时,执行过程700的无人航空载具可拒绝716接收702的消息包中的消息,诸如以上所描述的。例如,执行过程700的无人航空载具可根据消息包中的消息值得信赖避免处理接收到的702消息包中的消息。作为另一示例,执行过程700的无人航空载具可生成消息,所述消息包括对来自从中接收702消息包的无人航空载具的不可信消息的通知。当消息被拒绝时或即使当消息未被拒绝时,可执行附加操作。例如,可记录从命令和控制设施和/或另一无人航空载具接收到的消息,并且可将其添加到无人航空载具已接收到的消息日志。
在一些实施方案中,当无人航空载具遇到被确定为值得信赖的消息时,无人航空载具可执行附加操作,所述附加操作影响其他无人航空载具接受消息。图8相应地示出了用于处理从另一无人航空载具接收到的消息的过程800的说明性示例。过程800可通过任何合适的系统来执行,诸如通过无人航空载具的机载计算机系统,诸如以下所描述的。在实施方案中,过程800包括接收802源自无人航空载具的消息包。应注意,源自无人航空载具的消息包可从与生成消息的无人航空载具不同的无人航空载具接收。例如,执行过程800的无人航空载具可从正从发起消息包的另一无人航空载具中继消息包的无人航空载具接收802消息包。
已接收802消息包之后,执行过程800的无人航空载具可确定804是否信任消息。可以任何合适的方式来执行确定804是否信任消息,诸如以上所描述的。如果执行过程800的无人航空载具确定804不信任消息,则过程800可包括拒绝806消息,诸如以上所描述的。然而,如果确定804信任消息,则过程800可包括确定808消息包中的消息是否适用于任何未完成的任务。例如,始发的无人航空载具的标识符可用于确定任何依赖数据(诸如以上结合图4所论述的数据结构400中的数据)是否指示依赖来自从中接收消息包的无人航空载具的消息。
如果确定808接收802的消息包的消息适用于任何未完成的任务,则过程800可包括使用810消息来对消息所适用的任何未完成的任务进行重新计算(或启动重新计算)。在对任务进行重新计算或启动重新计算时,或者当确定808不存在消息适用的未完成的任务时,过程800还可包括确定812执行过程800的无人航空载具自身的数据是否适用于接收到的802消息。例如,如果消息包含位置的天气数据,则执行过程800的无人航空载具可确定无人航空载具本身是否已收集相同位置或为之接收802天气数据的位置的指定阈值距离内的某一位置的天气数据。可以类似的方式将指示某一位置处的非气象危险的数据识别为适用的。作为另一示例,如果消息指示指定的无人航空载具(例如,与执行过程800的一个无人航空载具和从中接收消息包的一个无人航空载具不同的一个无人航空载具)是不值得信赖的(例如,因为数字证书被撤销),则接收802消息包的无人航空载具可确定是否同样检测到指定的无人航空载具的不可信。通常,执行过程800的无人航空载具应用编程逻辑以确定其已收集的数据与接收到的消息中的数据是一致还是不一致。可使用规则引擎或其他机制(例如,决策树)来确定所收集的数据是否适用于消息。
如果执行过程800的无人航空载具确定812其自身的数据适用于在消息包中接收802的消息,则过程800可包括生成814新的消息包,以影响接收802的消息包中的消息的接受。例如,签名链接可用于向消息添加数字签名。作为另一示例,可对消息的标识符进行数字签名。已生成814新的消息包之后,为了影响消息的接受,无人航空载具可将新的消息包传输816到另一无人航空载具或命令控制设施。然而,如果确定812无人航空载具自身的数据不适用于消息,则过程800可结束818。
在一些实施方案中,无人航空载具被配置来确定消息的置信度以确定如何处理消息。例如,当无人航空载具接收到消息并且具有与消息一致的数据时,无人航空载具可重新传输消息和/或传输具有对数据的置信度的指示的新消息,从而使其他无人航空载具能够至少部分地基于消息的置信度来依赖信息。图9示出了用于处理消息的过程900的示例性示例和针对置信度对消息进行分析的实施方案。过程900可通过任何合适的系统来执行,诸如通过无人航空载具的机载计算机系统。在实施方案中,无人航空载具可接收902源自另一无人航空载具的消息包,所述消息包包括消息、数字签名和数字证书。接收902消息包的无人航空载具可确定904是否信任消息,诸如以上所描述的。例如,接收902消息包的无人航空载具可使用其自身的证书机构数字证书副本来验证数字证书的有效性,可验证数字签名的有效性,并且如果在消息包中接收到的数字证书和数字签名都是有效的,则可确定904信任消息。可使用其他信息,诸如指示消息是否超过TTL或者是否以其他方式过时的信息。类似地,如果在消息包中接收902的数字证书和数字签名中的一者或两者是无效的,和/或如果消息是过时的,则接收902消息包的无人航空载具可确定904不信任消息。
在实施方案中,当接收902消息包的无人航空载具确定904不信任消息时,无人航空载具可拒绝906消息,诸如以上所描述的。然而,如果接收902消息包的无人航空载具确定904信任消息,则过程900可包括确定908消息的置信度水平,以及(在这个示例中)消息的置信度是足够还是不足。执行过程900的无人航空载具可根据各种实施方案以各种方式确定908消息的置信度水平。例如,消息置信度可由来自已经表达消息的置信度的不同的(可能需要为可信的)无人航空载具的多个数字签名确定。例如,当无人航空载具接收到消息时,它可参与数字签名链,由此无人航空载具对包括消息和与消息一起接收的任何数字签名(其中数字签名被包括来表达消息的置信度)的信息进行数字签名。作为另一示例,无人航空载具可通过对消息的标识符进行数字签名来表达消息的置信度,并且确定908消息的置信度水平可包括对消息的标识符的多个数字签名进行计数。标识符可密码地绑定到消息。例如,标识符可以是消息的散列值,或者至少部分地基于消息的散列值来生成。在此类实施方案中,还可执行对标识符与消息的绑定的密码验证。
在各种实施方案中,无论如何使用数字签名来在消息中表达置信度,用于表达消息的置信度的每个数字签名可由执行过程900的无人航空载具来验证。尽管本公开的实施方案延伸到单个无人航空载具可能多于一次地表达消息的置信度从而提高消息的置信度(诸如当无人航空载具接收并验证消息多于一次时)的那些实施方案,但是在一些实施方案中,消息置信度是通过将表达消息的置信度的多个有效数字签名与阈值进行比较来确定的,其中表达消息的置信度的每个数字签名可以来自不同的无人航空载具。消息置信度的充分性通常可根据一组法定数量规则来确定,所述法定数量规则限定了法定数量的被要求审查过消息的无人航空载具。法定数量规则可以是简单的(例如,至少N个无人航空载具,N为正整数)或者可以是更加复杂的,甚至包括与一个布尔操作符(例如,AND、OR、NOT等)逻辑连接的多个单独规则。例如,在N个第一代无人航空载具已经审查了消息或者M个第二代无人航空载具已经审查了消息(M和N是不同的正整数)时,可使用一组数字签名来满足法定数量规则。对一组法定数量规则的满足也可取决于接收902的消息的类型。例如,与具有执行不可逆操作(例如,在飞行中关闭电机,空投有效载荷,或其他操作)的命令的消息相比,具有天气数据的消息可具有一组更松懈的法定数量规则。对法定数量规则的满足还可取决于自消息生成和/或上次审查以来度过的时间期,其中例如度过的时间较长可能需要对消息进行附加审查。其他变型也被视为在本公开的范围内。
如果接收902消息包的无人航空载具确定908消息的置信度足够,则过程900可包括处理910消息,诸如以上所描述的。例如,无人航空载具可分析任何未完成的任务以确定是否改变任何未完成的任务,可添加一个或多个新的任务(在消息如此指示时)和/或可执行导致消息重新传输到另一无人航空载具或命令和控制设施的一个或多个操作。如果执行过程900的无人航空载具确定908消息的置信度不足(如图9中的示例性实施方案所示出的),则无人航空载具可执行一个或多个操作以获得对消息的审查的确认。在实施方案中,如果确定908消息的置信度不足,则过程900可包括传输912用于确认消息的审查的请求。
在不同的实施方案中,可将用于确认消息的审查的请求(确认请求)传输到不同的实体。在一些示例中,确认请求被传输到另一无人航空载具。接收到传输的(可包括消息和相关联的数据(诸如相关联的数字签名和/或证书)的)确认请求的无人航空载具可通过确定是否信任消息以及确定消息中包含的数据的有效性来独立地审查消息。作为另一示例,可将确认请求传输到命令和控制设施。应注意,诸如当接收902消息包的无人航空载具在命令和控制设施的通信范围内时,可将确认请求直接传输到命令/控制设施,或者可诸如通过将确认请求传输到另一无人航空载具来将确认请求间接传输912到命令和控制设施,所述另一无人航空载具可被配置来随后当在命令和控制设施的通信范围内时将确认请求中继到命令和控制设施,或中继到另一无人航空载具,使得一组无人航空载具可最终将确认请求中继到命令和控制设施。
在命令和控制设施处,命令和控制服务器可通过审查消息(诸如通过验证消息中的数据)来处理确认请求。例如,服务器可确定消息中的命令是否确实传输自命令和控制设施,并且可将对消息的审查的确认传输到接收902消息的无人航空载具。正如确认请求,诸如当无人航空载具在通信范围内时,消息确认的传输可直接(即,在消息确认没有通过任何中间设备的情况下)传输到接收902消息包和请求912对消息的审查的确认的无人航空载具,或者确认可路由通过一组无人航空载具,使得一组无人航空载具将最终将确认中继到接收902消息包的无人航空载具。应注意,命令和控制服务器生成的确认可包括命令和控制中心服务器生成的数字签名,并且可包括由证书机构进行数字签名的数字证书,以使接收902确认的无人航空载具能够验证是否信任确认,诸如总体而言无人航空载具如何被配置来确定消息的信任,诸如以上所描述的。
如果确认在到达接收902消息包的无人航空载具的途中通过多个无人航空载具,则在一些实施方案中,中继确认的中间无人航空载具可通过独立地确定是否信任确认来独立地审查确认,并且如果确认被检测为不值得信赖(诸如,如果与确认相关联的数字签名或数字证书是无效的),则无人航空载具可拒绝重新传输确认。
当无人航空载具传输912对消息的审查的确认请求时,传输912对消息的确认请求的无人航空载具可监测对确认的接收。如图9中所示出,无人航空载具可重复地确定是否914接收到确认;如果不是,确定916是否发生超时(即,是否度过阈值时间期);并且如果不是,再次确定914是否接收到确认以及是否发生超时。如果在这个过程期间无人航空载具确定916发生了超时,则过程900可包括拒绝906消息,诸如以上所描述的。在替代性实施方案中,消息和相关联的信息(例如,消息的数字签名)可被高速缓存,并且如果高速缓存消息的无人航空载具稍后(例如,通过响应于超时之后接收到的请求或从不响应于确认请求的另一无人航空载具)接收消息的附加签名,则高速缓存的副本可与稍后接收的信息组合,以确定消息的置信度是否足够。
回到所示出的实施方案,然而,如果在超时发生之前,无人航空载具确定914接收到确认,则无人航空载具可确定918是否信任确认,诸如以无人航空载具总体而言可确定是否信任消息的方式,诸如以上所描述的。确定是否信任确认(或总体而言,消息)还可包括附加操作。例如,数字签名链接可用于建立消息的监护链。如果链中的任何数字签名未经验证,则可对消息给出附加审查,可在确定消息的置信度时不考虑来自对应于未验证的数字签名的无人航空载具的投票,和/或可简单地将消息拒绝为不可信的。通常,一组规则可应用于消息在被接收的途中采用的路径(例如,有序的无人航空载具组),数字签名可用于验证路径或其一部分,并且规则可限定消息是否可信。如果无人航空载具确定918不信任确认,则过程900可包括拒绝906消息,诸如以上所描述的。应注意,尽管各种附图示出了导致消息的拒绝906的多个路径,但是消息被拒绝的方式可根据流向消息的拒绝的具体路径而发生变化。如果确定918信任确认,则过程900可包括处理920消息,诸如以上所描述的。
正如本文所论述的所有过程,过程900的变型被视为在本公开的范围内。在实施方案中,例如,由于无人航空载具无法成功地验证它应信任消息,因此可生成并传输确认请求。例如,对无人航空载具的疑似损害可导致无人航空载具的数字证书被撤销,从而致使本可使用数字证书成功验证的数字签名不可验证。例如,尽管有撤销的原因,无人航空载具仍可收集并提供关于各个位置中的天气和/或对无人航空载具的潜在威胁的精确数据。替代拒绝此类消息,接收无人航空载具无法成功验证的消息的无人航空载具可生成并向一个或多个其他无人航空载具和/或命令和控制服务器(例如,如果在通信范围内)传输确认请求。在此类实施方案中,可使用足以满足一组法定数量规则的接收到的确认(在一些实现方式中,其可以是单个确认和/或用于一些消息类型)来获得以其他方式不可验证的消息的置信度。在另一示例中,无法确定信任所接收的确认导致另一获得确认的尝试并且此类尝试可以重复,直到发生超时或出现其他限制(例如,尝试的次数)。
图10示出了示出本公开的各种方面的图1000。在这个具体示例中,图1000示出了第一无人航空载具1002和第二无人航空载具1004。如上所述,无人航空载具可在其操作期间检测彼此通信的能力。例如,当飞去完成任务时,无人航空载具可传输信标消息,所述信标消息用作传输信标消息的无人航空载具的标识符。接收具有大于阈值的信号强度的信标消息和/或能够确定传输了什么信息的无人航空载具可因此检测与传输信标消息的无人航空载具进行通信的能力。检测与另一无人航空载具进行通信的能力还可包括其他操作,诸如对其他无人航空载具的认证和/或执行与另一个无人航空载具建立通信会话(例如,加密保护的通信会话)的握手过程。换句话说,检测与另一无人航空载具进行通信的能力可包括不仅检测物理通信能力,而且检测其他能力(诸如被授权和/或认证的通信)。
在各种实施方案中,如图10所示出,当无人航空载具检测彼此通信的能力时,无人航空载具可交换各自已经接收到的消息日志。例如,一对无人航空载具中的每一个都可传输对其他无人航空载具的消息日志的请求,并且该对中的无人航空载具可相应地进行响应。在一些示例中,向另一无人航空载具传输消息日志(或总体而言,消息)可取决于对另一无人航空载具的认证,诸如通过将时间戳或现时值(或其他重放避免值)传输到其他无人航空载具,从其他无人航空载具接收数字签名和数字证书,以及使用时间戳或现时值或其他值和用于证实数字签名的数字证书。作为另一示例,两个无人航空载具可在建立密码保护的通信会话(例如,密码的通信会话)的握手过程中彼此互相认证,并且除非两个无人航空载具都未成功地彼此认证,否则握手过程可能失败。
如图10中所示出的,第一无人航空载具1002可传输其从其他无人航空载具接收到的消息的消息日志1006。消息可包括表或其他数据结构,其各自包括消息和相关联的数据,诸如当接收到消息时的时间样本、至少部分地基于消息生成的任何数字签名、和/或指示消息的置信度的任何信息。第一无人航空载具的消息日志1006可由第二无人航空载具1004接收。作为对消息日志的请求的结果或简单地作为无人航空载具利用的协议的一部分,第二无人航空载具可将其自身的消息日志1008传输到第一无人航空载具1002。如下面更详细地论述,接收来自另一无人航空载具的消息日志的每个无人航空载具可处理消息日志中的消息以确定是否更新任何未完成的任务、添加任何附加任务或执行由消息指示的其他操作。
图11示出了可由诸如以上结合图10描述的无人航空载具中的一个的无人航空载具执行的过程1100的说明性示例。在实施方案中,过程1100包括检测1102与另一无人航空载具进行通信的能力。应注意,尽管图11示出了对与另一无人航空载具进行通信的能力的检测1102,但是过程1100可适于检测与包括一组无人航空载具的分布式系统的其他部件的通信,诸如通过检测与诸如以上所描述的命令和控制设施的命令和控制服务器进行通信的能力,或者与用于向和从命令和控制设施和/或一个或多个无人航空载具传输消息的目的的地面站的通信。
作为如图11中所示出的检测1102与另一无人航空载具进行通信的能力的结果,过程1100可包括生成1104包含消息日志的消息。在一些实施方案中,从本地消息日志访问来自消息日志的在指定时间期内的消息并将其用于生成1104消息。在其他实施方案中,完整的消息日志包括在生成的1104消息中。例如,作为检测1102与另一无人航空载具进行通信的能力的结果,还可能发生附加处理,执行过程1100的无人航空载具可获得其他无人航空载具的标识符。为了避免传输不必要的信息,可使用标识符识别从其他无人航空载具接收到的消息,并将其从包括在(包括在生成的1104消息中的)消息日志中的一组消息中移除。如上所述,消息日志可包括消息本身和其他相关联的信息,诸如,诸如针对每个消息的数字签名、至少部分地基于消息生成的任何数字签名、至少部分地基于消息的标识符生成的任何数字签名、和/或可与每个消息相关联地存储的任何其他信息。
当消息已生成1104时,过程1100可包括生成1106消息包。为了生成1106如上所述的消息包,执行过程1100的无人航空载具可使用私有密码密钥对所生成的1104消息进行数字签名,从而导致数字签名。具有与私有密码密钥对应的公开密码密钥的证书可包括在用于生成消息包的信息中。当消息包已生成1106时,过程1100可包括将消息包传输1108到无人航空载具。正如本文所述的所有过程,可结合过程1100执行附加操作。例如,根据用于无人航空载具之间的通信的具体协议,可执行握手或其他过程。
图12示出了可由无人航空载具执行来处理接收到的消息日志的过程1200的说明性示例,诸如以上结合图11所描述的。在实施方案中,过程1200包括从无人航空载具接收1202具有消息日志的消息包。在这个具体示例中,消息包包括消息,所述消息是消息日志或以其他方式包括消息日志。过程1200可包括确定1204是否信任消息,诸如以上所描述的。例如,包括在消息包中的数字证书的有效性可连同消息的数字签名的有效性和/或用于确定是否信任消息的其他信息(诸如指示消息是否过时(即,过去是否生成了超过阈值时间期的消息)的信息)一起验证。应注意,本公开的变型包括不对消息是否可信进行确定而替代地使用消息日志中的单个消息的可信度的那些变型。如果接收1202消息包的无人航空载具确定1204不信任消息,则过程1200可包括拒绝1206消息。
在实施方案中,如果执行过程1200的无人航空载具确定1204信任接收1202的消息,则无人航空载具可计算1208接收到的消息日志与其自身的本地消息日志的并集。在实施方案中,计算接收到的消息日志与其自身的本地消息日志的并集,使得存在于接收1202的消息日志和本地消息日志二者中的相同消息仅出现一次。然而,本公开的实施方案应用于效率较低的技术,诸如当允许消息日志中的消息重复时。
已计算1208接收到的消息日志与本地消息日志的并集之后,过程1200可包括更新1210本地消息日志以包括所计算的并集。更新本地消息日志可包括存储指示符,所述指示符关于更新的1210消息日志中的哪些消息是新的,无论此类指示符是包括在消息日志本身中还是独立于消息日志。已更新1210本地消息日志之后,过程1200可包括确定1212任何新的消息是否是可行的。可执行对消息是否可行的确定,诸如以上所描述的。如果确定121没有新的可行消息,则过程1200可结束1214,直到接收到具有另一消息日志的新的消息。
如果接收1202消息包的无人航空载具确定1212存在一个或多个可行消息,则过程1200可包括重新计算1216一个或多个可行消息所适用的任务。可重新计算任务,诸如以上所描述的。当重新计算1216任务时,或者(在替代性实施方案中)诸如当启动对任务的重新计算时,过程可结束1214。可执行附加操作,诸如确定消息日志中的单个消息是否可信(例如,如上所述),以及根据单个消息是否可信来重新处理任务,诸如通过仅处理可信消息应用的任务。
图13是可用于实践本公开的至少一个实施方案的无人航空载具1301的示例性机载计算机系统1300的说明性简化框图。在各种实施方案中,计算机系统1300可用于实现本文所示出和以上所描述的系统中的任何一个。如图13中所示,机载计算机系统1300可包括一个或多个处理器1302,其可被配置来通过总线子系统1304与多个外围子系统进行通信并且可操作地耦合到多个外围子系统。这些外围子系统可包括:包括存储器子系统1308和数据存储子系统1310的存储子系统1306、推进子系统1312、有效载荷管理子系统1314、无线通信子系统1316、包括存储器子系统1330和一个或多个密码处理器1332的密码模块1324、以及一组传感器1334。
总线子系统1304可提供用于使计算机系统1300的各种部件和子系统能够按预期进行彼此通信的机制。尽管总线子系统1304被示意性地示出为单个总线,但是总线子系统的替代性实施方案可利用多个总线。
无线通信子系统1316可向其他计算机系统和网络提供接口。无线通信子系统1316可用作接口,所述接口用于从计算机系统1300接收数据并将数据从计算机系统1300传输到其他系统。例如,网络接口子系统1316可实现消息和其他相关信息(例如,数字签名)(诸如指示天气、危险、命令的消息和/或本文所述的其他消息)的传输。在实施方案中,尽管本公开的范围包括使用任何合适的标准和/或协议的无线通信,但是无线通信子系统1316使用长期演进(LTE)标准来与其他无人航空载具的其他无线通信子系统进行通信。在一些示例中,无线通信子系统1316使用具有碰撞避免的载波侦听多路访问(CSMA/CA)协议或另一合适的协议进行通信。无线通信子系统1316还可促进多个网络上的数据的接收和/或传输,诸如通过将一些数据直接传输到其他无人航空载具以及通过蜂窝网络传输其他数据。
推进子系统1312可包括推进无人航空载具301以及控制无人航空载具的推进的各种部件。例如,推进子系统1312可包括多个电机,每个电机具有螺旋桨,以及电机控制器,所述电机控制器控制每个螺旋桨的单个转动速度,以便控制无人航空载具的速度、高度、方向、俯仰、横滚、偏航和无人航空载具的飞行动力学。如果无人航空载具被如此配备,则推进子系统1312可控制其他部件(例如,方向舵、襟翼和可能影响无人航空载具的空气动力学的其他部件)。虽然图13示出了直升机式无人航空载具,但是诸如以上所述的其他无人航空载具和(总体而言)被配置来在陆上、在海上、在海里、通过空中和/或在空间中行进的任何无人载具都被视为在本公开的范围内,并且用于推进的具体机制可根据不同的实施方案而发生变化。
有效载荷管理子系统1314可以是被配置用于管理无人航空载具1301的有效载荷的计算机系统1300的一组部件。例如,有效载荷管理子系统1314可控制货舱,所述货舱打开和关闭以空投由无人航空载具301递送的有效载荷。在一些示例中,无人航空载具具有多个货舱,其可用于选择性地递送许多有效载荷中的一个。通常,有效载荷管理子系统1314可控制一个或多个电气和/或机械系统,其使无人航空载具能够将有效载荷从无人航空载具的控制中释放。有效载荷管理子系统1314还可包括各种机构(例如,钩、磁体、爪状物等),其用于取回有效载荷并加载到无人航空载具的货舱中或以其他方式用于将有效载荷带入无人航空载具的控制中。这样,有效载荷管理子系统1314可包括一个或多个机构的控制器(例如,致动器或锁存器),其用于打开和关闭无人航空载具的任何货舱,或以其他方式控制一个或多个有效载荷。通常,有效载荷管理系统可执行取决于无人航空载具301的具体配置的其他功能。例如,除了或替代打开货舱,有效载荷管理子系统可被配置来以其他方式递送有效载荷(例如,通过用缆绳放下有效载荷)。有效载荷管理子系统114可执行更高级的功能,诸如移动有效载荷以改进飞行特性、拾取有效载荷、以及总体而言执行无人航空载具可被配置来执行的其他功能。
存储子系统1306可提供计算机可读存储介质,其用于存储可提供本公开的至少一个实施方案的功能的基本编程和数据结构。在被一个或多个处理器执行时可提供本公开的一个或多个实施方案的功能的应用(程序、代码模块(即,编程模块)、指令)可被存储在存储子系统1306中。这些应用模块或指令可由一个或多个处理器1302执行。存储子系统1306可另外提供存储库,其用于存储根据本公开使用的数据。存储子系统1306可包括存储器子系统1308和数据(例如,文件/磁盘)存储子系统1310(例如,用于存储接收到的消息、日志和/或其他信息)。
可以是可信平台模块(TPM)的密码模块1324包括存储器子系统1330,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1328以及其中可存储固定的密码信息(诸如安全地存储在机载计算机系统1300内以便不可导出(即,通过对密码模块1324的任何调用都不可访问)的密码密钥)的只读存储器(ROM)1326。在一些实施方案中,密码模块1324完全或部分地按照(通过引用方式并入本文的)可信计算组的TPM主要规范级别2(版本1.2,修订版116)、TPM主要规范级别2(版本1.2,修订版103)和/或ISO/IEC 118813进行操作。机载计算机系统1300还可将密码密钥存储在RAM 1328和/或用于临时密码处理的处理器寄存器中。存储在存储器中的密码信息可与通过网络接口1316和/或一个或多个用户接口输入设备1312获得的密码信息组合使用。一个或多个密码处理器可用于在机载计算机系统中执行密码操作,并且可包括随机数生成器、SHA-2或其他散列值生成器和加密-解密签名引擎。
一个或多个密码处理器还可被配置来根据一个或多个密码算法(诸如公开密钥和/或私有密钥密码算法)执行一个或多个加密/解密算法。例如,如所论述,许多变型利用对称和/或不对称的密码原语。一个或多个密码处理器还可被配置来执行本文所述的混淆和去混淆算法。混淆和去混淆算法可包括用于对数据执行密码操作的各种方案,其包括分组密码、流密码以及数字签名方案。本文所述的密码操作可通过在模块中执行的软件、通过模块内的硬件或其组合来实现。对称密钥算法可包括用于对数据执行密码操作的各种方案,其包括分组密码、流密码以及数字签名方案。示例性对称密钥算法包括但不限于:高级加密标准(AES)、数据加密标准(DES)、三重DES(3DES)、Serpent、Twofish、blowfish、CAST5、RC4以及国际数据加密算法(IDEA)。对称密钥算法还可包括用来生成单向函数的输出的那些算法,并且包括但不限于利用基于散列值的消息认证码(HMAC)、(总体而言的)消息认证码(MAC)、PBKDF2以及Bcrypt的算法。不对称密钥算法还可包括用于对数据执行密码操作的各种方案。示例性算法包括但不限于利用Diffie-Hellman密钥交换协议、数字签名标准(DSS)、数字签名算法、ElGamal算法、各种椭圆曲线算法、密码认证的密钥协商技术、pallier密码系统、RSA加密算法(PKCS#1)、Cramer-Shoup密码系统、YAK认证的密钥协商协议、NTRUEncrypt密码系统、McEliece密码系统的那些算法以及其他算法。椭圆曲线算法包括椭圆曲线Diffie-Hellman(ECDH)密钥协商方案、椭圆曲线集成加密方案(ECIES)、椭圆曲线数字签名算法(ECDSA)、ECMQV密钥协商方案以及ECQV隐式证书方案。其他算法和算法的组合也被视为在本公开的范围内。
如上所述,在本公开的各种实施方案中,密码材料(即,诸如密码密钥的秘密)被安全地存储在密码模块1324内。在一些实施方案中,密码模块被实现为或可包含物理上不可复制的功能(PUF),所述功能在物理硬件中实现,以使用至少部分地基于PUF的物理特性的一个或多个秘密。因此,任何获得秘密的尝试都可能需要物理侵入到PUF中,并且物理入侵可能改变PUF的物理特性,从而破坏秘密。可使用的示例性PUF包括使用明确引入的随机性的PUF、光学PUF、涂层PUF、使用固有随机性的PUF、延迟PUF、静态随机存取存储器(SRAM)PUF、蝴蝶PUF、双稳态环PUF、磁性PUF、金属电阻PUF和/或其物理特性对可用作秘密或用于秘密的信息进行编码的其他设备。
如图13中所示出,无人航空载具的机载计算机系统1300可包括一组传感器1314,其收集由机载计算机系统的各种部件利用的数据。例如,传感器1314可包括高度计,所述高度计由推进子系统1312用于飞行和相关活动(例如,起飞和着陆)。作为另一示例,传感器1314可包括陀螺仪,所述陀螺仪由推进子系统1312用于控制俯仰、横滚和/或偏航。推进子系统1312可使用加速度计作为其航空电子学逻辑的一部分。全球定位系统(GPS)传感器可由推进子系统1312用来根据路线控制飞行,并且也可由其他子系统使用,诸如由一个或多个处理器1302用来计算路线(例如,通过获得当前位置和计算到指定目的地的最佳路线)。推进子系统1312可使用罗盘来控制方向。出于(例如,在递送期间)避免障碍和精确导航的目的,推进子系统1312可使用一组接近传感器(例如,使用声学接近检测器)。一些传感器可用于收集环境数据,诸如音频、视频、数字图像等的。其他环境数据可能与天气有关,并且因此,传感器1314可包括收集天气数据(诸如风速、大气压力、湿度、能见度等)的传感器。所列出的传感器是示例,并且总体而言,在无人航空载具上使用的具体传感器可根据无人航空载具执行的任务而发生变化。
图14示出了用于实现根据各种实施方案的方面的示例性环境1400的方面。如将了解,尽管出于解释目的使用基于网络的环境,但是可视情况使用不同环境来实现各种实施方案。环境包括电子客户端设备1402,所述电子客户端设备1402可包括可操作来在适当网络1404上发送和/或接收请求、消息或信息并且(在一些实施方案中)将信息传送回设备用户的任何适当设备。此类客户端设备的示例包括个人计算机、手机、手持式消息传输设备、膝上型计算机、平板计算机、机顶盒、个人数据助理、嵌入式计算机系统、电子书阅读器等。网络可包括任何适当的网络,所述适当的网络包括内联网、互联网、蜂窝网络、局域网、卫星网络或任何其他此类网络和/或其组合。用于这种系统的部件可至少部分地取决于选定的网络和/或环境的类型。用于通过这种网络进行通信的协议和部件是众所周知的,因而本文将不再详细论述。通过网络进行的通信可通过有线或无线的连接及其组合来实现。在这个示例中,网络包括互联网,因为环境包括用于接收请求并且响应于所述请求而提供内容的web服务器1406,但是对于其他网络来说,可使用服务类似目的的替代性设备,如本领域普通技术人员所明白的。
说明性环境包括至少一个应用服务器1408和数据存储区1410。应理解,可存在可链接起来或以其他方式来配置的若干应用服务器、层或其他元件、进程或部件,它们可交互以执行诸如从适当的数据存储区获得数据的任务。如本文所使用的服务器可以各种方式来实现,诸如硬件设备或虚拟计算机系统。在一些上下文中,服务器可指正在计算机系统上执行的编程模块。如本文所使用,除非另外说明或从上下文清楚地看出,否则术语“数据存储区”指代能够存储、访问和检索数据的任何设备或设备组合,所述设备或设备组合可包括任何标准、分布式、虚拟或集群式环境中的任何组合和任何数目的数据服务器、数据库、数据存储设备和数据存储介质。应用服务器可包括任何适当的硬件、软件和固件,所述硬件、软件和固件视执行客户端设备的一个或多个应用的方面的需要与数据存储区集成、处理应用的一些或所有数据访问和业务逻辑。应用服务器可与数据存储区协作提供访问控制服务,并且能够生成可用于向用户提供的内容,包括但不限于文本、图形、音频、视频和/或其他内容,所述内容可以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)、JavaScript、层叠样式表(“CSS”)或另一种适当的客户端侧结构化语言的形式通过web服务器向用户提供。传递到客户端设备的内容可由客户端设备处理,以便提供呈一种或多种形式的内容,所述形式包括但不限于用户可通过听觉、视觉和/或通过其他感觉(包括触觉、味觉和/或嗅觉)来感知的形式。所有请求和响应的处理以及客户端设备1402与应用服务器1408之间的内容递送可由web服务器使用PHP(超文本预处理器(“PHP”))、Python、Ruby、Perl、Java、HTML、XML或这个示例中的另一适当的服务器侧结构化语言来处理。应理解,web服务器和应用服务器不是必要的,并且仅仅是示例性部件,因为本文所论述的结构化代码可在如本文其他地方所论述的任何适当的设备或主机上执行。此外,除非另外从上下文清楚地看出,否则如由单个设备执行的本文所述的操作可由可形成分布式和/或虚拟系统的多个设备共同执行。
数据存储区1410可包括若干独立的数据表、数据库、数据文件、动态数据存储方案和/或其他数据存储机构和介质,以用于存储与本公开的具体方面相关的数据。例如,所示出的数据存储区可包括用于存储生产数据1412和用户信息1416的机构,所述机构可用于提供用于生产侧的内容。数据存储区还被示出为包括用于存储日志数据1414的机构,所述机构可用于报告、分析或其他此类目的。应理解,可能存在可能需要存储在数据存储区中的许多其他方面,诸如页面图像信息和访问权信息,所述方面可视情况存储在上文所列机构中的任何一个中或存储在数据存储区1410中的附加机构中。数据存储区1410可通过与它相关联的逻辑来进行操作,以从应用服务器1408接收指令,并且响应于所述指令而获得、更新或以其他方式处理数据。应用服务器1408可响应于接收到的指令提供静态数据、动态数据或静态数据和动态数据的组合。动态数据(诸如在web日志(博客)、购物应用、新闻服务和其他此类应用中使用的数据)可由如本文所述的服务器侧结构化语言生成,或可由在应用服务器上或在应用服务器控制下操作的内容管理系统(“CMS”)提供。在一个示例中,用户可通过由用户操作的设备提交对某种类型的项目的搜索请求。在这种情况下,数据存储区可访问用户信息以验证用户的身份,并且可访问目录详细信息以获得关于该类型的项目的信息。随后,可将信息诸如以web页上的结果列表的形式返回给用户,用户能够通过用户设备1402上的浏览器来查看所述web页。可在专用浏览器页面或窗口中查看感兴趣的具体项目的信息。然而,应注意,本公开的实施方案未必限于web页的上下文,而可更一般地应用于处理一般请求,其中请求未必是对内容的请求。
每个服务器通常将包括提供用于该服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),所述指令在由服务器的处理器执行时允许服务器执行其预期的功能。操作系统的合适的实现方式和服务器的一般功能是众所周知的或市场上可购得的,并且易于由本领域普通技术人员实现,尤其是根据本文中的公开内容来实现。
在一个实施方案中,环境是分布式和/或虚拟计算环境,所述分布式和/或虚拟计算环境利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的若干计算机系统和部件。然而,本领域普通技术人员应了解,这种系统可在具有(比图14中所示的部件)更少或更多数量的部件的系统中同样顺利地操作。因此,对图14中的系统1400的描绘本质上应视为说明性的,并且不限制本公开的范围。
各种实施方案还可在各种各样的操作环境中实现,所述操作环境在一些情况下可包括一个或多个用户计算机、计算设备或者可用于操作多个应用中的任何一个的处理设备。用户或客户端设备可包括多个通用个人计算机中的任何一个,诸如运行标准操作系统的台式计算机、膝上型计算机或平板计算机,以及运行移动软件并且能够支持多个联网协议和消息传输协议的蜂窝设备、无线设备和手持式设备。这种系统还可包括多个工作站,所述工作站运行多种市场上可购得的操作系统以及用于诸如开发和数据库管理目的的其他已知应用中的任一个。这些设备还可包括其他电子设备,诸如虚拟终端、瘦客户端、游戏系统以及能够通过网络进行通信的其他设备。这些设备还可包括虚拟设备,诸如虚拟机、管理程序以及能够通过网络通信的其他虚拟设备。
本公开的各种实施方案利用本领域技术人员可能熟悉的至少一个网络来支持使用多种市场上可购得的协议中的任一个进行通信,所述协议诸如传输控制协议/互联网协议(“TCP/IP”)、用户数据报协议(“UDP”)、在开放系统互连(“OSI”)模型的各个层中操作的协议、文件传送协议(“FTP”)、通用即插即用(“UpnP”)、网络文件系统(“NFS”)、通用互联网文件系统(“CIFS”)以及可路由协议组(AppleTalk)。网络可以是例如局域网、广域网、虚拟专用网、互联网、内联网、外联网、公共交换电话网、红外网络、无线网络、卫星网络以及上述网络的任何组合。
在利用web服务器的实施方案中,web服务器可运行多种服务器或中间层级应用中的任何一个,包括超文本传送协议(“HTTP”)服务器、FTP服务器、公共网关接口(“CGI”)服务器、数据服务器、Java服务器、Apache服务器和业务应用服务器。服务器还能够响应来自用户设备的请求而执行程序或脚本,诸如通过执行可实现为以任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Ruby、PHP、Perl、Python或TCL)及其组合编写的一个或多个脚本或程序的一个或多个web应用。所述服务器还可包括数据库服务器,包括但不限于市场上可从和购得的那些数据库服务器以及开源服务器(诸如MySQL、Postgres、SQLite、MongoDB),以及能够存储、检索和访问结构化或非结构化数据的任何其他服务器。数据库服务器可包括基于表的服务器、基于文件的服务器、非结构化服务器、关系式服务器、非关系式服务器或这些和/或其他数据库服务器的组合。
环境可包括如上所述的多种数据存储区以及其他存储器和存储介质。这些可驻留在多种位置中,诸如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或者远离网络上的计算机中的任何一个或所有计算机的存储介质。在一组具体实施方案中,信息可驻留在本领域技术人员熟悉的存储区域网(“SAN”)中。类似地,用于执行属于计算机、服务器或其他网络设备的功能的任何必要的文件可视情况本地和/或远程存储。在系统包括计算机化设备的情况下,每个这种设备可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出设备(例如,显示设备、打印机或扬声器)。这种系统还可包括一个或多个存储设备,诸如磁盘驱动器、光存储设备和固态存储设备(诸如随机存取存储器(“RAM”)或只读存储器(“ROM”)),以及可移除介质设备、存储卡、闪存卡等。
此类设备还可包括计算机可读存储介质读取器、通信设备(例如,调制解调器、网卡(无线或有线)、红外通信设备等)以及工作存储器,如以上所描述的。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移除存储设备以及用于暂时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种设备通常也将包括位于至少一个工作存储器设备内的多个软件应用、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用或web浏览器。应了解,替代性实施方案可具有以上描述的实施方案的众多变型。例如,也可使用定制硬件,并且/或者具体元件可在硬件、软件(包括可移植的软件,诸如小程序)或两者中实现。此外,可采用与诸如网络输入/输出设备的其他计算设备的连接。
用于包含代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实现的易失性和非易失性、可移除和不可移除的介质,包括RAM、ROM、电可擦除可编程只读存储器(“EEPROM”)、闪存或其他存储器技术、光盘只读存储器(“CD-ROM”)、数字通用光盘(DVD)或其他光存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备或者可用来存储期望的信息并且可由系统设备访问的任何其他介质。基于本文所提供的公开内容和教义,本领域普通技术人员将了解实现各种实施方案的其他方式和/或方法。
因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,将明显的是:在不脱离如在权利要求书中阐述的本发明的更宽广精神和范围的情况下,可对其做出各种修改和改变。
下面呈现了所公开的发明的各种实施方案和任选特征。尽管呈现了选定的实施方案,但是本公开的领域的普通技术人员应理解,在不脱离本文所公开的材料的情况下,可要求保护附加实施方案和组合。此外,尽管可将各个方面描述为任选的,但是普通技术人员应理解,在可能的情况下,此类选项可单独应用或与所描述的其他选项组合应用。因此,本公开明确地设想了本文所述的特征的所有可能的新颖和创造性的排列和组合。
本文所公开的实施方案可包括无人航空载具,其包括以下各项中的一个或多个:推进子系统,其被配置来在位置之间推进无人航空载具;收发器,其被配置来接收和传输消息;和/或机载计算机系统,其包括:一个或多个处理器;以及存储器,其存储:待由无人航空载具完成的一组任务;以及指令,其在由一个或多个处理器执行时致使机载计算机系统进行以下各项中的一个或多个:至少部分地基于通过收发器接收到的第一消息来确定所述一组任务中的任务,在确定任务之后的某一时间处,密码验证通过收发器接收到的第二消息是值得信赖的;至少部分地基于接收到的第二消息中的信息来重新计算任务;以及至少控制推进子系统以完成重新计算的任务。
任选地,第二消息可以与第一数字证书和数字签名一起通过收发器接收,并且致使机载计算机系统密码验证第二消息值得信赖的指令在由一个或多个处理器执行时可致使机载计算机系统进行以下各项中的一个或多个:使用本地存储的第二数字证书来验证接收到的第一数字证书;和/或使用第一数字证书来验证接收到的数字签名。任选地,重新计算任务可包括重新计算任务的路线以避开与第二消息中指定的位置对应的区域。任选地,致使机载计算机系统重新计算任务的指令在由一个或多个处理器执行时可致使机载计算机系统由于第二消息中适于履行任务的信息而选择任务。
本文所公开的实施方案可包括以其他方式或计算机实现的方法(即,包括以下各项中的一个或多个:在无人载具的机载计算机系统的控制之下),所述方法包括以下各项中的一个或多个:存储指定待由无人载具执行的一组操作的信息;从另一无人载具接收消息和消息的认证信息,所述认证信息专用于消息的发起者;至少部分地基于认证信息来确定消息是真实的;和/或至少部分地基于消息来修改信息。
任选地,认证信息可包括消息的数字签名和第一数字证书。任选地,确定消息是真实的可包括使用第二数字证书来验证第一数字证书并使用第一数字证书来证实数字签名。任选地,信息可指定一组任务,所述任务各自具有该组操作的对应子集。任选地,方法还可包括至少部分地基于消息选择任务以及重新计算任务。任选地,修改信息可包括至少部分地基于消息中的信息来修改到达目的地的路线。任选地,方法可包括将消息传输到第二无人载具,所述第二无人载具与另一个无人载具不同。任选地,无人载具和另一个无人载具可以是无人航空载具。任选地,消息可指示与另一个无人载具不同的第二无人载具的不可信。任选地,信息的至少一部分可依赖于从第二无人载具接收到的消息中的信息。任选地,修改信息可包括独立于来自第二无人载具的消息中接收到的信息重新计算信息的部分。任选地,消息可包括多个消息类型的类型,并且修改信息还可以至少部分地基于类型。
本文所公开的实施方案可包括其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令在由无人载具的计算机系统的一个或多个处理器执行时会致使计算机系统进行以下各项中的一个或多个:存储指定无人载具要执行的一组操作的操作计划;接收消息;使用专用于另一无人航空载具的认证信息来密码验证消息是否源自另一个无人载具;和/或如果消息被密码验证为源自另一个无人载具,则根据消息中的信息更新操作计划。
任选地,可接收消息与数字签名和数字证书。任选地,致使计算机系统密码验证消息是否源自另一个无人载具的指令在由一个或多个处理器执行时可致使计算机系统进行以下各项中的一个或多个:验证数字证书;和/或使用数字证书验证数字签名。任选地,消息可直接从另一个无人航空载具接收。任选地,消息可包括用以删除存储的信息的命令。任选地,致使计算机系统由于命令而更新操作计划的指令可包括致使计算机系统删除操作计划的指令。任选地,指令还可包括以下指令,所述指令在由一个或多个处理器执行时可致使计算机系统进行以下各项中的一个或多个:从另一个无人载具接收第二消息,所述第二消息指定命令;密码验证第二消息是否源自命令和控制设施计算机系统;和/或取决于成功验证第二消息源自命令和控制设施计算机系统履行命令。任选地,指令还可包括以下指令,所述指令在由一个或多个处理器执行时可致使计算机系统进行以下各项中的一个或多个:生成接收到的消息的数字签名;和/或将接收到的消息和生成的数字签名提供给不同于另一个无人载具的第二无人载具。任选地,消息可指示撤销数字签名。任选地,指令还可包括以下指令,所述指令在由一个或多个处理器执行时会致使计算机系统进行以下各项中的一个或多个:存储消息;确定向不同于另一个无人载具的第二无人载具传输另一个消息;和/或由于确定传输另一个消息,将另一个消息与所存储的消息一起传输到第二无人载具。任选地,指令还可包括以下指令,所述指令在由一个或多个处理器执行时可致使计算机系统在计算机系统无法密码验证消息源自另一个无人载具时拒绝该消息。
本文所公开的实施方案可包括无人航空载具,其包括以下各项中的一个或多个:推进子系统,其被配置来在位置之间推进无人航空载具;收发器,其被配置来接收和传输消息;和/或机载计算机系统。机载计算机系统可包括:一个或多个处理器;以及存储器,其存储:待由无人航空载具执行的一组任务;以及指令,其在由一个或多个处理器执行时致使机载计算机系统进行以下各项中的一个或多个:至少部分地基于通过收发器接收到的消息来确定所述一组任务中的任务;在确定任务之后的某一时间处,确定消息是不值得信赖的;独立于不值得信赖的消息重新计算任务;和/或至少控制推进子系统以执行重新计算的任务。
任选地,消息可以是第一消息,和/或致使机载计算机系统确定消息不值得信赖的指令在由一个或多个处理器执行时可致使机载计算机系统进行以下各项中的一个或多个:获得通过收发器接收到的第二消息,所述消息与数字签名和数字证书一起被接收;至少部分地基于数字签名和数字证书中的至少一个来验证第二消息的可信;和/或至少部分地基于第二消息的可信来确定第一消息的可信。任选地,第二消息可指示发起第一消息的无人航空载具的不可信。任选地,指令可致使机载计算机系统由于确定第二消息是值得信赖的而确定第一消息是不值得信赖的。任选地,重新计算任务包括重新计算任务的路线。
本文所公开的实施方案可包括计算机实现的(即,在无人载具的机载计算机系统的控制之下)或以其他方式实现的方法,所述方法包括以下各项中的一个或多个:存储无人载具将执行的一组任务,所述一组任务包括依赖于来自另一无人载具的至少一个消息确定的任务的子集;确定至少一个消息是不值得信赖的;由于确定至少一个消息是不值得信赖的而更新所存储的一组任务;和/或致使无人载具执行更新的所存储的一组任务。
任选地,更新所存储的一组任务可包括独立于至少一个消息重新计算任务的子集中的至少一个任务。任选地,任务的子集可包括多个任务。任选地,方法还可包括更新所存储的一组任务,所述更新被执行来脱离依赖于至少一个消息的任务的子集中的至少一个任务。任选地,更新所存储的一组任务可包括取消所存储的一组任务中的至少一个任务。任选地,方法可包括将另一个消息传输到至少一个附加无人载具,另一个消息指示另一个无人载具的不可信。任选地,方法可包括使用由无人载具保存为秘密的密码密钥来生成另一个消息的数字签名。任选地,方法可包括传输另一个消息,所述传输还包括传输所生成的数字签名。任选地,确定至少一个消息是不值得信赖的可包括验证另一个消息的数字签名。任选地,无人载具可以是无人航空载具。任选地,更新所存储的一组任务可包括将任务添加到所存储的一组任务。
本文所公开的实施方案可包括其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令在由无人载具的计算机系统的一个或多个处理器执行时会致使计算机系统进行以下各项中的一个或多个:从另一无人载具接收消息;至少部分地基于接收到的消息中的信息来更新待由无人载具执行的一组任务;在更新一组任务之后的某一时间处,确定接收到的消息是不值得信赖的;和/或由于确定接收到的消息是不值得信赖的而更新该组任务。
任选地,致使计算机系统由于确定接收到的消息是不值得信赖的而更新一组任务的指令在由一个或多个处理器执行时可致使计算机系统使得一组任务中的至少一个任务退回到先前的状态。任选地,致使计算机系统由于确定接收到的消息是不值得信赖的而更新一组任务的指令在由一个或多个处理器执行时可致使计算机系统至少部分地基于无人载具的当前状态来重新计算一组任务中的至少一个任务。任选地,致使计算机系统确定接收到的消息不值得信赖的指令在由一个或多个处理器执行时可致使计算机系统进行以下各项中的一个或多个:接收指示撤销无人载具的数字证书的第二消息;和/或由于已至少部分地基于数字证书的公开密码密钥验证了消息的数字签名而选择消息。任选地,消息可指示关于位置的信息。任选地,致使计算机系统更新一组任务的指令在由一个或多个处理器执行时可致使计算机系统修改一组任务中的一个任务的路线以避开该位置。任选地,指令还包括以下指令,所述指令在由一个或多个处理器执行时可致使计算机系统由于确定消息是不值得信赖的而传输指示另一个无人载具不值得信赖的消息。任选地,指令还包括以下指令,所述指令在由一个或多个处理器执行时可致使计算机系统拒绝来自另一个无人载具的未来的消息。任选地,致使计算机系统确定接收到的消息不值得信赖的指令在由一个或多个处理器执行时可致使计算机系统密码验证来自命令和控制设施的第二消息的真实性,所述第二消息指示另一个无人载具是不值得信赖的。
本文所公开的实施方案可包括无人航空载具,其包括以下各项中的一个或多个:推进子系统,其被配置来在位置之间推进无人航空载具;收发器,其被配置来接收和传输消息;和/或机载计算机系统。机载计算机系统可包括:一个或多个处理器;以及存储器,其存储:通过收发器从其他无人航空载具接收的第一组消息、待由无人航空载具完成的一组任务;和/或指令,其在由一个或多个处理器执行时致使机载计算机系统进行以下各项中的一个或多个:检测与另一无人航空载具进行通信的能力;将第一组消息提供给另一个无人航空载具;从另一个无人航空载具接收第二组消息;至少部分地基于接收到的第二组消息来确定是否更新一组任务;和/或由于包含在第二组消息中的信息适用于一组任务中的一个或多个任务而更新一组任务。
任选地,指令还包括以下指令,所述指令在由一个或多个处理器执行时可致使机载计算机系统作为确定是否更新一组任务的先决条件来验证第二组消息的数字签名。任选地,指令还包括以下指令,所述指令在由一个或多个处理器执行时可致使机载计算机系统进行以下各项中的一个或多个:将第二组消息合并到第一组消息中,从而生成一组合并的消息;存储将第二组消息合并到第一组消息中的结果;以及将一组合并的消息传输到第二无人航空载具。任选地,履行一组任务中的至少一个任务可包括行进到目的地以及在目的地处执行操作。
本文所公开的实施方案可包括计算机实现的(即,在机载计算机系统的控制之下)或以其他方式实现的用于操作无人载具的方法,所述方法包括以下各项中的一个或多个:存储待执行的一组任务;从另一无人载具接收多个消息;从待执行的一组任务中选择任务;至少部分地基于多个消息中的至少一个中的信息来更新选定的任务;和/或完成更新的所选定的任务。
任选地,方法可包括将第二多个消息提供给另一个无人载具。任选地,方法可包括至少部分地基于来自无人载具的一组传感器的数据来生成消息。任选地,方法可包括将所生成的消息添加到多个消息。任选地,方法可包括使用专用于另一个无人载具的密码材料来密码验证多个消息的真实性。任选地,方法可包括使用专用于与无人载具和另一个无人载具不同的第二无人载具的密码材料来密码验证多个消息中的单个消息的真实性。任选地,方法可包括将多个消息与本地存储在无人载具上的第二多个消息合并,从而生成合并的多个消息。任选地,方法可包括将合并的多个消息传输到与无人载具和另一个无人载具不同的第二无人载具。任选地,可已至少部分地基于从与无人载具和另一个无人载具不同的第二无人载具接收到的消息来确定选定的任务。任选地,选定的任务可具有用于履行任务的相关联的路线,和/或更新选定的任务可包括更新相关联的路线。
本文所公开的实施方案可包括其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令在由无人载具的计算机系统的一个或多个处理器执行时会致使计算机系统进行以下各项中的一个或多个:存储通过收发器接收的一组消息;使用收发器检测与另一无人载具进行通信的能力;与另一个无人载具交换消息,这包括从另一个无人载具接收多个消息;和/或至少部分地基于多个消息中的消息来修改无人载具的操作计划。
任选地,致使计算机系统交换消息的指令在由一个或多个处理器执行时可致使计算机系统使用收发器将一组消息传输到另一个无人载具。任选地,可已从不同于无人载具且不同于另一个无人载具的第二无人载具接收该组消息中的至少一个消息。任选地,指令还包括以下指令,所述指令在由一个或多个处理器执行时可致使计算机系统密码验证可适用于操作计划的多个消息中的至少一个的真实性。任选地,无人载具可以是无人航空载具。任选地,操作计划可包括待由无人载具履行的一组任务。任选地,致使无人载具修改操作计划的指令在由一个或多个处理器执行时可致使计算机系统取消一组任务中的至少一个任务。任选地,多个消息中的一个消息可具有专用于生成消息的无人载具的对应的数字证书。任选地,指令还包括以下指令,所述指令在由一个或多个处理器执行时可致使计算机系统使用数字证书来验证消息的真实性。
本文所公开的实施方案可包括无人航空载具,其包括以下各项中的一个或多个:推进子系统,其被配置来在位置之间推进无人航空载具;收发器,其被配置来接收和传输消息;和/或机载计算机系统。机载计算机系统可包括:一个或多个处理器;以及存储器,其存储:通过收发器从其他无人航空载具接收的第一组消息、待由无人航空载具完成的一组任务;和/或指令,其在由一个或多个处理器执行时致使机载计算机系统进行以下各项中的一个或多个:通过收发器从另一无人航空载具接收消息以及与消息相关联的多个数字签名;至少部分地基于多个数字签名来确定消息的置信度水平;至少部分地基于所确定的置信度水平来确定是否接受消息;和/或如果确定接受消息,则根据消息修改一组任务。
任选地,致使机载计算机系统确定置信度水平的指令在由一个或多个处理器执行时可致使机载计算机系统确定多个数字签名中形成数字签名链的数字签名的数目是否满足接受消息的最小数目。任选地,数字签名链可包括多个数字签名的子集,其中至少部分地基于至少一个其他数字签名生成多个数字签名的子集中的每个数字签名。任选地,致使机载计算机系统确定是否接受消息的指令在由一个或多个处理器执行时可致使计算机系统至少部分地基于消息的类型来确定必要的置信度水平,以及确定所确定的置信度水平是否至少满足必要的置信度水平。任选地,指令还包括以下指令,所述指令在由一个或多个处理器执行时可致使机载计算机系统进行以下各项中的一个或多个:至少部分地基于无人航空载具可获得的数据来确定是否确认消息;如果确定确认消息,则生成消息的数字签名;以及至少将消息和所生成的数字签名传输到与另一个无人航空载具不同的第二无人航空载具。
本文所公开的实施方案可包括计算机实现的(即,在计算机系统的控制之下)或以其他方式实现的用于操作无人载具的方法,所述方法包括以下各项中的一个或多个:从另一无人载具接收消息以及与消息相关联的多个数字签名;至少部分地基于多个数字签名的至少一个子集来确定法定数量的无人航空载具已审查了消息;和/或由于法定数量的无人载具已审查了消息而根据消息更新无人载具的操作计划。
任选地,方法可包括至少部分地基于消息的类型来确定法定数量。任选地,操作计划可包括至少部分地基于消息中的信息来重新计算待由无人载具执行的任务。任选地,方法可包括以下各项中的一个或多个:从第二无人载具接收第二消息;确定法定数量的无人载具尚未审查消息;传输至少一个请求以确认第二消息;接收对请求的至少一个响应;至少部分地基于接收到的至少一个响应来确定法定数量的无人载具已审查了第二消息;和/或根据第二消息来更新操作计划。任选地,方法可包括生成消息的数字签名和/或将消息、多个数字签名和所生成的数字签名传输到与另一个无人载具不同的第二无人载具。任选地,方法可包括至少部分地基于从无人载具的一组传感器收集到的数据来确定审查消息和/或生成数字签名取决于所述确定审查消息。任选地,法定数量可以是最小数量的无人载具。任选地,无人载具和另一个无人载具可以是无人航空载具。
本文所公开的实施方案可包括其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令在由无人载具的计算机系统的一个或多个处理器执行时可致使计算机系统进行以下各项中的一个或多个:从另一无人载具接收消息和与消息相关联的一组数字签名;至少部分地基于一组数字签名来确定一组已审查了消息的无人载具是否满足一组法定数量规则;如果确定不满足一组法定数量规则,则传输用于审查消息的至少一个请求;和/或根据对至少一个请求的一个或多个响应来处理消息。
任选地,致使计算机系统处理消息的指令在由一个或多个处理器执行时可致使计算机系统在一个或多个响应审查消息时修改无人载具的操作计划。任选地,其中致使计算机系统处理消息的指令在由一个或多个处理器执行时可致使计算机系统在对至少一个请求的响应无法审查消息时使操作计划至少暂时不被修改。任选地,指令可包括以下指令,所述指令在由一个或多个处理器执行时会致使计算机系统使用指定为已生成消息的无人载具的数字证书来验证消息的真实性。任选地,致使计算机系统传输至少一个请求的指令可被配置成由于无法使用数字证书验证消息的真实性而被执行。任选地,指令可包括以下指令,所述指令在由一个或多个处理器执行时会致使计算机系统进行以下各项中的一个或多个:使用本地收集的数据来确定是否审查消息;和/或如果确定审查消息,则生成消息的数字签名;以及将消息和消息的数字签名传输到与另一个无人载具不同的第二无人载具。任选地,致使计算机系统确定审查了消息的一组无人载具是否满足一组法定数量规则的指令在由一个或多个处理器执行时可致使计算机系统针对一组数字签名的至少一个子集中的每个数字签名进行以下各项:使用与数字签名对应的数字证书和消息的标识符来生成参考数字签名;和/或验证所生成的参考数字签名是否与数字签名匹配。任选地,致使计算机系统处理消息的指令在由一个或多个处理器执行时可致使计算机系统在满足法定数量规则时修改待由无人载具行进的路线。任选地,指令在由一个或多个处理器执行时可致使计算机系统至少部分地基于接收到的消息的类型来选择一组法定数量规则。
可鉴于以下条款对本公开的实施方案进行描述:
1.一种无人航空载具,其包括:
推进子系统,其被配置来在位置之间推进所述无人航空载具;以及
收发器,其被配置来接收和传输消息;
机载计算机系统,其包括:
一个或多个处理器;以及
存储器,其存储:
待由所述无人航空载具完成的一组任务;以及
指令,其在由所述一个或多个处理器执行时致使所述机载计算机系统:
至少部分地基于通过所述收发器接收到的第一消息来确定所述一组任务中的任务;
在确定所述任务之后的某一时间处,密码验证通过所述收发器接收到的第二消息是值得信赖的;
至少部分地基于所述接收到的第二消息中的信息来重新计算所述任务;以及
至少控制所述推进子系统以完成所述重新计算的任务。
2.如条款1所述的无人航空载具,其中:
所述第二消息与第一数字证书和数字签名一起通过所述收发器接收;以及
致使所述机载计算机系统密码验证所述第二消息值得信赖的所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统:
使用本地存储的第二数字证书来验证所述接收到的第一数字证书;以及
使用所述第一数字证书来验证所述接收到的数字签名。
3.如条款1或2所述的无人航空载具,其中重新计算所述任务包括重新计算所述任务的路线以避开与所述第二消息中指定的位置对应的区域。
4.如条款1-3中任一项所述的无人航空载具,其中致使所述机载计算机系统重新计算所述任务的所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统由于所述第二消息中适于履行所述任务的信息而选择所述任务。
5.一种计算机实现的方法,其包括:
在无人载具的机载计算机系统的所述控制之下,
存储指定待由所述无人载具执行的一组操作的信息;
从另一无人载具接收消息和所述消息的认证信息,所述认证信息专用于所述消息的发起者;
至少部分地基于所述认证信息来确定所述消息是真实的;以及
至少部分地基于所述消息来修改所述信息。
6.如条款5所述的计算机实现的方法,其中:
所述认证信息包括所述消息的数字签名和第一数字证书;以及
确定所述消息是真实的包括使用第二数字证书来验证所述第一数字证书并使用所述第一数字证书来证实所述数字签名。
7.如条款5或6中任一项所述的计算机实现的方法,其中:
所述信息指定一组任务,所述任务各自具有所述一组操作的对应子集;以及
所述方法还包括至少部分地基于所述消息选择任务以及重新计算所述任务。
8.如条款5-7中任一项所述的计算机实现的方法,其中修改所述信息包括至少部分地基于所述消息中的信息来修改到达目的地的路线。
9.如条款5-8中任一项所述的计算机实现的方法,其还包括将所述消息传输到第二无人载具,所述第二无人载具与所述另一个无人载具不同。
10.如条款5-9中任一项所述的计算机实现的方法,其中所述无人载具和所述另一个无人载具是无人航空载具。
11.如条款5-10中任一项所述的计算机实现的方法,其中:
所述消息指示与所述另一个无人载具不同的第二无人载具的不可信;
所述信息的至少一部分依赖于从所述第二无人载具接收到的消息中的信息;以及
修改所述信息包括独立于来自所述第二无人载具的所述消息中接收到的所述信息重新计算所述信息的所述部分。
12.如条款5-11中任一项所述的计算机实现的方法,其中:
所述消息具有多个消息类型的类型;以及
修改所述信息还可以至少部分地基于所述类型。
13.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令在由无人载具的计算机系统的一个或多个处理器执行时会致使所述计算机系统至少:
存储指定所述无人载具要执行的一组操作的操作计划;
接收消息;
使用专用于另一无人航空载具的认证信息来密码验证所述消息是否源自所述另一个无人载具;以及
如果所述消息被密码验证为源自所述另一个无人载具,则根据所述消息中的信息更新所述操作计划。
14.如条款13所述的非暂时性计算机可读存储介质,其中:
接收所述消息与数字签名和数字证书;以及
致使所述计算机系统密码验证所述消息是否源自所述另一个无人载具的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统:
验证所述数字证书;以及
使用所述数字证书验证所述数字签名。
15.如条款13或14所述的非暂时性计算机可读存储介质,其中所述消息直接从所述另一个无人航空载具接收。
16.如条款13-15中任一项所述的非暂时性计算机可读存储介质,其中:
所述消息包括用以删除存储的信息的命令;以及
致使所述计算机系统由于所述命令而更新所述操作计划的所述指令包括致使所述计算机系统删除所述操作计划的指令。
17.如条款13-16中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统:
从所述另一个无人载具接收第二消息,所述第二消息指定命令;
密码验证所述第二消息是否源自命令和控制设施计算机系统;以及
取决于成功验证所述第二消息源自所述命令和控制设施计算机系统履行所述命令。
18.如条款13-17中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统:
生成所述接收到的消息的数字签名;以及
将所述接收到的消息和所述生成的数字签名提供给不同于所述另一个无人载具的第二无人载具。
19.如条款13-18中任一项所述的非暂时性计算机可读存储介质,其中:
所述消息指示撤销数字签名;以及
所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统:
存储所述消息;
确定向不同于所述另一个无人载具的第二无人载具传输另一个消息;以及
由于确定传输所述另一个消息,将所述另一个消息与所述存储的消息一起传输到所述第二无人载具。
20.如条款13-19中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统在所述计算机系统无法密码验证所述消息源自所述另一个无人载具时拒绝所述消息。
21.一种无人航空载具,其包括:
推进子系统,其被配置来在位置之间推进所述无人航空载具;以及
收发器,其被配置来接收和传输消息;
机载计算机系统,其包括:
一个或多个处理器;以及
存储器,其存储:
待由所述无人航空载具执行的一组任务;以及
指令,其在由所述一个或多个处理器执行时致使所述机载计算机系统:
至少部分地基于通过所述收发器接收到的消息来确定所述一组任务中的任务;
在确定所述任务之后的某一时间处,确定所述消息是不值得信赖的;
独立于所述不值得信赖的消息重新计算所述任务;以及
至少控制所述推进子系统以执行所述重新计算的任务。
22.如条款21所述的无人航空载具,其中:
所述消息是第一消息;以及
致使所述机载计算机系统确定所述消息不值得信赖的所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统:
获得通过所述收发器接收到的第二消息,所述消息与数字签名和数字证书一起被接收;
至少部分地基于所述数字签名和所述数字证书中的至少一个来验证所述第二消息的可信;以及
至少部分地基于所述第二消息的可信来确定所述第一消息的可信。
23.如条款21或22所述的无人航空载具,其中:
所述第二消息指示发起所述第一消息的无人航空载具的不可信;以及
所述指令致使所述机载计算机系统由于确定所述第二消息是值得信赖的而确定所述第一消息是不值得信赖的。
24.如条款21-23中任一项所述的无人航空载具,其中重新计算所述任务包括重新计算所述任务的路线。
25.一种计算机实现的方法,其包括:
在无人载具的机载计算机系统的所述控制之下,
存储所述无人载具将执行的一组任务,所述一组任务包括依赖于来自另一无人载具的至少一个消息确定的任务的子集;
确定所述至少一个消息是不值得信赖的;
由于确定所述至少一个消息是不值得信赖的而更新所述存储的一组任务;以及
致使所述无人载具执行所述更新的所存储的一组任务。
26.如条款25所述的计算机实现的方法,其中更新所述存储的一组任务包括独立于所述至少一个消息重新计算任务的所述子集中的至少一个任务。
27.如条款26所述的计算机实现的方法,其中:
任务的所述子集包括多个任务;以及
更新所述存储的一组任务被执行来脱离依赖于所述至少一个消息的任务的所述子集中的至少一个任务。
28.如条款25-27中任一项所述的计算机实现的方法,其中更新所述存储的一组任务包括取消所述存储的一组任务中的至少一个任务。
29.如条款25-28中任一项所述的计算机实现的方法,其还包括将另一个消息传输到至少一个附加无人载具,所述另一个消息指示所述另一个无人载具的不可信。
30.如条款29所述的计算机实现的方法,其中:
所述方法还包括使用由所述无人载具保存为秘密的密码密钥来生成所述另一个消息的数字签名;以及
传输所述另一个消息还包括传输所述生成的数字签名。
31.如条款25-30中任一项所述的计算机实现的方法,其中确定所述至少一个消息是不值得信赖的包括验证另一个消息的数字签名。
32.如条款25-31中任一项所述的计算机实现的方法,其中所述无人载具是无人航空载具。
33.如条款25-32中任一项所述的计算机实现的方法,其中更新所述存储的一组任务包括将任务添加到所述存储的一组任务。
34.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令在由无人载具的计算机系统的一个或多个处理器执行时会致使所述计算机系统至少:
从另一无人载具接收消息;
至少部分地基于所述接收到的消息中的信息来更新待由所述无人载具执行的一组任务;
在更新所述一组任务之后的某一时间处,确定所述接收到的消息是不值得信赖的;以及
由于确定所述接收到的消息是不值得信赖的而更新所述一组任务。
35.如条款34所述的非暂时性计算机可读存储介质,其中致使所述计算机系统由于确定所述接收到的消息是不值得信赖的而更新所述一组任务的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统使得所述一组任务中的至少一个任务退回到先前的状态。
36.如条款34或35所述的非暂时性计算机可读存储介质,其中致使所述计算机系统由于确定所述接收到的消息是不值得信赖的而更新所述一组任务的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统至少部分地基于所述无人载具的当前状态来重新计算所述一组任务中的至少一个任务。
37.如条款34-36中任一项所述的非暂时性计算机可读存储介质,其中致使所述计算机系统确定所述接收到的消息不值得信赖的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统:
接收指示撤销所述无人载具的数字证书的第二消息;以及
由于已至少部分地基于所述数字证书的公开密码密钥验证了所述消息的数字签名而选择所述消息。
38.如条款34-37中任一项所述的非暂时性计算机可读存储介质,其中:
所述消息指示关于位置的信息;以及
致使所述计算机系统更新所述一组任务的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统修改所述一组任务中的任务的路线以避开所述位置。
39.如条款34-38中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统由于确定所述消息是不值得信赖的而传输指示所述另一个无人载具不值得信赖的消息。
40.如条款34-39中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统拒绝来自所述另一个无人载具的未来的消息。
41.如条款34-40中任一项所述的非暂时性计算机可读存储介质,其中致使所述计算机系统确定所述接收到的消息不值得信赖的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统密码验证来自命令和控制设施的第二消息的真实性,所述第二消息指示所述另一个无人载具是不值得信赖的。
42.一种无人航空载具,其包括:
推进子系统,其被配置来在位置之间推进所述无人航空载具;以及
收发器,其被配置来接收和传输消息;
机载计算机系统,其包括:
一个或多个处理器;以及
存储器,其存储:
通过所述收发器从其他无人航空载具接收的第一组消息;
待由所述无人航空载具完成的一组任务;以及
指令,其在由所述一个或多个处理器执行时会致使所述机载计算机系统:
检测与另一无人航空载具进行通信的能力;
将所述第一组消息提供给所述另一个无人航空载具;
从所述另一个无人航空载具接收第二组消息;
至少部分地基于所述接收到的第二组消息来确定是否更新所述一组任务;以及
由于包含在所述第二组消息中的信息适用于所述一组任务中的一个或多个任务而更新所述一组任务。
43.如条款42所述的无人航空载具,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统作为确定是否更新所述一组任务的先决条件来验证所述第二组消息的数字签名。
44.如条款42或43所述的无人航空载具,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统:
将所述第二组消息合并到所述第一组消息中,从而生成一组合并的消息;
存储将所述第二组消息合并到所述第一组消息中的结果;以及
将所述一组合并的消息传输到第二无人航空载具。
45.如条款42-44中任一项所述的无人航空载具,其中履行所述一组任务中的至少一个任务包括行进到目的地以及在所述目的地处执行操作。
46.一种计算机实现的方法,其包括:
在无人载具的机载计算机系统的所述控制之下,
在所述无人载具处存储待执行的一组任务;
在所述无人载具处且从另一无人载具接收多个消息;
从待执行的所述一组任务中选择任务;
至少部分地基于所述多个消息中的至少一个中的信息来更新所述选定的任务;以及
完成所述更新的所选定的任务。
47.如条款46所述的计算机实现的方法,其还包括将第二多个消息提供给所述另一个无人载具。
48.如条款46或47所述的计算机实现的方法,其还包括:
至少部分地基于来自所述无人载具的一组传感器的数据来生成消息;以及
将所述生成的消息添加到所述多个消息。
49.如条款46-48中任一项所述的计算机实现的方法,其还包括使用专用于所述另一个无人载具的密码材料来密码验证所述多个消息的真实性。
50.如条款46-49中任一项所述的计算机实现的方法,其还包括使用专用于与所述无人载具和所述另一个无人载具不同的第二无人载具的密码材料来密码验证所述多个消息中的单个消息的真实性。
51.如条款46-50中任一项所述的计算机实现的方法,其还包括:
将所述多个消息与本地存储在所述无人载具上的第二多个消息合并,从而生成合并的多个消息;以及
将所述合并的多个消息传输到与所述无人载具和所述另一个无人载具不同的第二无人载具。
52.如条款46-51中任一项所述的计算机实现的方法,其中至少部分地基于从与所述无人载具和所述另一个无人载具不同的第二无人载具接收到的消息来确定所述选定的任务。
53.如条款46-52中任一项所述的计算机实现的方法,其中:
所述选定的任务具有用于履行所述任务的相关联的路线;以及
更新所述选定的任务包括更新所述相关联的路线。
54.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令在由无人载具的计算机系统的一个或多个处理器执行时会致使所述计算机系统至少:
存储通过收发器接收的一组消息;
使用所述收发器检测与另一无人载具进行通信的能力;
与所述另一个无人载具交换消息,这包括从所述另一个无人载具接收多个消息;以及
至少部分地基于所述多个消息中的消息来修改所述无人载具的操作计划。
55.如条款54所述的非暂时性计算机可读存储介质,其中致使所述计算机系统交换消息的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统使用所述收发器将所述一组消息传输到所述另一个无人载具。
56.如条款54或55所述的非暂时性计算机可读存储介质,其中从不同于所述无人载具且不同于所述另一个无人载具的第二无人载具接收所述一组消息中的至少一个消息。
57.如条款54-55中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统密码验证可适用于所述操作计划的所述多个消息中的至少一个的真实性。
58.如条款54-57中任一项所述的非暂时性计算机可读存储介质,其中所述无人载具是无人航空载具。
59.如条款54-58中任一项所述的非暂时性计算机可读存储介质,其中所述操作计划包括待由所述无人载具履行的一组任务。
60.如条款59所述的非暂时性计算机可读存储介质,其中致使所述无人载具修改所述操作计划的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统取消所述一组任务中的至少一个任务。
61.如条款54-60中任一项所述的非暂时性计算机可读存储介质,其中:
所述多个消息中的消息具有专用于生成所述消息的无人载具的对应的数字证书;以及
所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统使用所述数字证书来验证所述消息的真实性。
62.一种无人航空载具,其包括:
推进子系统,其被配置来在位置之间推进所述无人航空载具;以及
收发器,其被配置来接收和传输消息;
机载计算机系统,其包括:
一个或多个处理器;以及
存储器,其存储:
通过所述收发器从其他无人航空载具接收的第一组消息;
待由所述无人航空载具完成的一组任务;以及
指令,其在由所述一个或多个处理器执行时致使所述机载计算机系统:
通过所述收发器从另一无人航空载具接收消息以及与所述消息相关联的多个数字签名;
至少部分地基于所述多个数字签名来确定所述消息的置信度水平;
至少部分地基于所述确定的置信度水平来确定是否接受所述消息;以及
如果确定接受所述消息,则根据所述消息修改所述一组任务。
63.如条款62所述的无人航空载具,其中致使所述机载计算机系统确定所述置信度水平的所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统确定所述多个数字签名中形成数字签名链的数字签名的数目是否满足接受所述消息的最小数目,所述数字签名链包括所述多个数字签名的子集,其中至少部分地基于至少一个其他数字签名来生成所述多个数字签名的所述子集中的每个数字签名。
64.如条款62或63所述的无人航空载具,其中致使所述机载计算机系统确定是否接受所述消息的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统至少部分地基于所述消息的类型来确定必要的置信度水平,以及确定所述确定的置信度水平是否至少满足所述必要的置信度水平。
65.如条款62-64中任一项所述的无人航空载具,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统:
至少部分地基于所述无人航空载具可获得的数据来确定是否确认所述消息;
如果确定确认所述消息,则生成所述消息的数字签名;以及
至少将所述消息和所述生成的数字签名传输到与所述另一个无人航空载具不同的第二无人航空载具。
66.一种计算机实现的方法,其包括:
在无人载具的计算机系统的所述控制之下,
从另一无人载具接收消息以及与所述消息相关联的多个数字签名;
至少部分地基于所述多个数字签名的至少一个子集来确定法定数量的无人航空载具已审查了所述消息;以及
由于所述法定数量的无人载具已审查了所述消息而根据所述消息更新所述无人载具的操作计划。
67.如条款66所述的计算机实现的方法,其还包括至少部分地基于所述消息的类型来确定所述法定数量。
68.如条款66或67所述的计算机实现的方法,其中更新所述操作计划包括至少部分地基于所述消息中的信息来重新计算待由所述无人载具执行的任务。
69.如条款66-68中任一项所述的计算机实现的方法,其还包括:
从第二无人载具接收第二消息;
确定所述法定数量的无人载具尚未审查所述消息;
传输至少一个请求以确认所述第二消息;
接收对所述请求的至少一个响应;
至少部分地基于所述接收到的至少一个响应来确定所述法定数量的无人载具已审查了所述第二消息;以及
根据所述第二消息来更新所述操作计划。
70.如条款66-69中任一项所述的计算机实现的方法,其还包括:
生成所述消息的数字签名;以及
将所述消息、所述多个数字签名和所述生成的数字签名传输到与所述另一个无人载具不同的第二无人载具。
71.如条款66-70中任一项所述的计算机实现的方法,其中:
所述方法还包括至少部分地基于从所述无人载具的一组传感器收集到的数据来确定审查所述消息;以及
生成所述数字签名取决于所述确定审查所述消息。
72.如条款66-71中任一项所述的计算机实现的方法,其中所述法定数量是最小数量的无人载具。
73.如条款66-72中任一项所述的计算机实现的方法,其中所述无人载具和所述另一个无人载具是无人航空载具。
74.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令在由无人载具的计算机系统的一个或多个处理器执行时会致使所述计算机系统至少:
从另一无人载具接收消息和与所述消息相关联的一组数字签名;
至少部分地基于所述一组数字签名来确定一组已审查了所述消息的无人载具是否满足一组法定数量规则;
如果确定不满足该组法定数量规则,则传输用于审查所述消息的至少一个请求;以及
根据对所述至少一个请求的一个或多个响应来处理所述消息。
75.如条款74所述的非暂时性计算机可读存储介质,其中致使所述计算机系统处理所述消息的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统在所述一个或多个响应审查所述消息时修改所述无人载具的操作计划。
76.如条款74或75所述的非暂时性计算机可读存储介质,其中致使所述计算机系统处理所述消息的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统在对所述至少一个请求的响应无法审查所述消息时使操作计划至少暂时不被修改。
77.如条款74-76中任一项所述的非暂时性计算机可读存储介质,其中:
所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统使用指定为已生成所述消息的无人载具的数字证书来验证所述消息的真实性;以及
致使所述计算机系统传输所述至少一个请求的所述指令被配置成由于无法使用所述数字证书验证所述消息的真实性而被执行。
78.如条款74-77中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统:
使用本地收集的数据来确定是否审查所述消息;以及
如果确定审查所述消息,则生成所述消息的数字签名,以及将所述消息和所述消息的所述数字签名传输到与所述另一个无人载具不同的第二无人载具。
79.如条款74-78中任一项所述的非暂时性计算机可读存储介质,其中致使所述计算机系统确定审查了所述消息的所述一组无人载具是否满足所述一组法定数量规则的指令在由所述一个或多个处理器执行时会致使所述计算机系统针对所述一组数字签名的至少一个子集中的每个数字签名:
使用与所述数字签名对应的数字证书和所述消息的标识符来生成参考数字签名;以及
验证所述生成的参考数字签名是否与所述数字签名匹配。
80.如条款74-79中任一项所述的非暂时性计算机可读存储介质,其中致使所述计算机系统处理所述消息的所述指令在由所述一个或多个处理器执行时会致使所述计算机系统在满足所述法定数量规则时修改待由所述无人载具行进的路线。
81.如条款74-80中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令,所述指令在由所述一个或多个处理器执行时会致使所述计算机系统至少部分地基于所述接收到的消息的类型来选择所述一组法定数量规则。
其他变型在本公开的精神内。因此,虽然所公开技术易受各种修改和替代构造的影响,但在附图中示出并且在上文详细描述了其某些说明的实施方案。然而,应理解,并不意图将本发明限于所公开的一种或多种具体形式,相反地,意图涵盖落在本发明的精神和范围内的所有修改、替代构造和等效物,如所附权利要求书中所限定的。
在描述所公开实施方案的上下文中(尤其是在以下权利要求书的上下文中),术语“一个(a/an)”和“所述”以及类似指称对象的使用应解释为涵盖单数和复数两者,除非本文另外指示或明显地与上下文矛盾。术语“包括(comprising)”、“具有(having)”、“包括(including)”和“包含(containing)”应解释为开放式的术语(即,意味着“包括但不限于”),除非另外地指出。当未经修饰并且指代物理连接时,术语“连接(connected)”应解释为部分地或全部地包含在内、附接到或接合在一起,即使存在介入物。除非本文另外指示,否则本文中对值范围的列举仅仅意图用作单独地表示落入所述范围的各单独值的速记方法,并且犹如本文单独描述地那样将各单独值并入本说明书中。除非另外指示或与上下文矛盾,否则术语“组”(例如,“一组项目”)或“子集”的使用应解释为包括一个或多个成员的非空集合。此外,除非另外指示或与上下文矛盾,否则术语对应组的“子集”不一定表示对应组的真子集,而是子集和对应组可以相等。
连接性语言,诸如“A、B、和C中的至少一个”或“A、B和C中的至少一个”形式的短语,除非另外特别指示或以其他方式明显地与上下文矛盾,否则以通常所使用的上下文理解来表示:项目、项等可以是A或B或C、或者A和B和C的集合的任何非空子集。例如,在具有三个成员的组的说明性示例中,连接性短语“A、B、和C中的至少一个”和“A、B和C中的至少一个”是指以下组中的任何一个:{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、{A,B,C}。因此,此类连接性语言一般并非意图暗示某些实施方案需要A中的至少一个、B中的至少一个以及C中的至少一个各自存在。
可按任何合适的顺序来执行本文所述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文所述的过程(或者其变型和/或组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或者一个或多个应用)、通过硬件或其组合来实现。代码可(例如)以计算机程序的形式存储在计算机可读储存介质上,所述计算机程序包括可由一个或多个处理器执行的多个指令。计算机可读存储介质可以是非暂时性的。
本文所提供的任何以及所有示例或示例性语言(例如,“诸如”)的使用仅意图更好地说明本发明的实施方案,并且除非另外要求,否则不会对本发明的范围施加限制。本说明书中的语言不应解释为将任何非要求保护的要素指示为实践本发明所必需。
本文中描述了本公开的实施方案,包括发明人已知用于执行本发明的最佳模式。阅读前述描述后,那些实施方案的变型对于本领域普通技术人员可变得明显。发明人希望技术人员视情况采用此类变型,并且发明人意图以不同于本文所特别描述的方式的其他方式来实践本公开的实施方案。因此,本公开的范围包括在所附的适用法律允许的权利要求书中叙述的主题的所有修改和等效物。此外,除非本文另外指示或以其他方式明显地与上下文矛盾,否则本公开的范围涵盖其所有可行变型中的上述元素的任何组合。
本文所引用的所有参考文献(包括公布、专利申请和专利)据此以引用方式并入,其程度等同于每个参考文献都单独地和特别地表示为以引用方式并入本文并且以其全文在本文得以陈述。
Claims (15)
1.一种无人航空载具,其包括:
推进子系统,其被配置来在位置之间推进所述无人航空载具;以及
收发器,其被配置来接收和传输消息;
机载计算机系统,其包括:
一个或多个处理器;以及
存储器,其存储:
待由所述无人航空载具完成的一组任务;以及
指令,其在由所述一个或多个处理器执行时致使所述机载计算机系统:
至少部分地基于通过所述收发器接收到的第一消息来确定所述一组任务中的任务;
在确定所述任务之后的某一时间处,密码验证通过所述收发器接收到的第二消息是值得信赖的;
至少部分地基于所述接收到的第二消息中的信息来重新计算所述任务;以及
至少控制所述推进子系统以完成所述重新计算的任务。
2.如权利要求1所述的无人航空载具,其中:
所述第二消息与第一数字证书和数字签名一起通过所述收发器接收;以及
致使所述机载计算机系统密码验证所述第二消息值得信赖的所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统:
使用本地存储的第二数字证书来验证所述接收到的第一数字证书;以及
使用所述第一数字证书来验证所述接收到的数字签名。
3.如权利要求1或2中任一项所述的无人航空载具,其中重新计算所述任务包括重新计算所述任务的路线以避开与所述第二消息中指定的位置对应的区域。
4.如权利要求1、2或3中任一项所述的无人航空载具,其中致使所述机载计算机系统重新计算所述任务的所述指令在由所述一个或多个处理器执行时会致使所述机载计算机系统由于所述第二消息中适于履行所述任务的信息而选择所述任务。
5.一种用于认证第一无人载具与第二无人载具之间的通信的方法,所述方法包括:
在所述第一无人载具的机载计算机系统的所述控制之下,
存储指定待由所述第一无人载具执行的一组操作的信息;
从所述第二无人载具接收消息和所述消息的认证信息,所述认证信息专用于所述消息的发起者;
至少部分地基于所述认证信息来确定所述消息是真实的;以及
至少部分地基于所述消息来修改所述信息。
6.如权利要求5所述的方法,其中所述第一无人载具和所述第二无人载具是无人航空载具。
7.如权利要求5或6中任一项所述的方法,其中所述认证信息包括所述消息的数字签名和第一数字证书。
8.如权利要求7所述的方法,其还包括确定所述消息是真实的包括使用第二数字证书来验证所述第一数字证书并使用所述第一数字证书来证实所述数字签名。
9.如权利要求5、6、7或8中任一项所述的方法,其中所述信息指定一组任务,所述任务各自具有所述一组操作的对应子集。
10.如权利要求9所述的方法,其还包括至少部分地基于所述消息选择任务以及重新计算所述任务。
11.如权利要求5、6、7、8、9或10中任一项所述的方法,其中修改所述信息包括至少部分地基于所述消息中的信息来修改到达目的地的路线。
12.如权利要求5、6、7、8、9、10或11中任一项所述的方法,其还包括将所述消息传输到第二无人载具,所述第二无人载具与所述另一个无人载具不同。
13.如权利要求5、6、7、8、9、10、11或12中任一项所述的方法,其中:
所述消息指示与所述另一个无人载具不同的第二无人载具的不可信;以及
所述信息的至少一部分依赖于从所述第二无人载具接收到的消息中的信息。
14.如权利要求13所述的方法,其还包括修改所述信息包括独立于来自所述第二无人载具的所述消息中接收到的所述信息重新计算所述信息的所述部分。
15.如权利要求5、6、7、8、9、10、11、12、13或14中任一项所述的方法,其中所述消息直接从所述另一个无人航空载具接收。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/671,264 | 2015-03-27 | ||
US14/671,203 US9663226B2 (en) | 2015-03-27 | 2015-03-27 | Influencing acceptance of messages in unmanned vehicles |
US14/671,161 US9912655B2 (en) | 2015-03-27 | 2015-03-27 | Unmanned vehicle message exchange |
US14/671,264 US9930027B2 (en) | 2015-03-27 | 2015-03-27 | Authenticated messages between unmanned vehicles |
US14/671,161 | 2015-03-27 | ||
US14/671,224 US9714088B2 (en) | 2015-03-27 | 2015-03-27 | Unmanned vehicle rollback |
US14/671,224 | 2015-03-27 | ||
US14/671,203 | 2015-03-27 | ||
PCT/US2016/024292 WO2016160593A1 (en) | 2015-03-27 | 2016-03-25 | Authenticated messages between unmanned vehicles |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107438989A true CN107438989A (zh) | 2017-12-05 |
CN107438989B CN107438989B (zh) | 2020-08-11 |
Family
ID=55697516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680019074.7A Active CN107438989B (zh) | 2015-03-27 | 2016-03-25 | 无人载具之间的认证消息 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3275154B1 (zh) |
JP (1) | JP6628372B2 (zh) |
CN (1) | CN107438989B (zh) |
CA (1) | CA2980747C (zh) |
WO (1) | WO2016160593A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109116863A (zh) * | 2018-08-24 | 2019-01-01 | 北京京东尚科信息技术有限公司 | 无人机调度方法、装置、系统、电子设备及可读介质 |
CN109891822A (zh) * | 2017-05-27 | 2019-06-14 | 深圳市大疆创新科技有限公司 | 电子签名系统、电子签名服务器及电子签名方法 |
CN110281916A (zh) * | 2019-05-10 | 2019-09-27 | 百度在线网络技术(北京)有限公司 | 车辆控制方法、装置和存储介质 |
CN110703735A (zh) * | 2019-10-24 | 2020-01-17 | 长安大学 | 一种基于物理不可克隆函数电路的无人车ecu安全认证方法 |
CN113574569A (zh) * | 2019-03-20 | 2021-10-29 | 英国电讯有限公司 | 自主载具回收 |
RU217716U1 (ru) * | 2023-01-20 | 2023-04-13 | Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-Морского Флота "Военно-морская академия им. Адмирала Флота Советского Союза Н.Г. Кузнецова" | Навигационно-криптографическое устройство управления беспилотным летательным аппаратом |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10148653B2 (en) | 2016-12-14 | 2018-12-04 | The Boeing Company | Authenticating an aircraft data exchange using detected differences of onboard electronics |
KR102057525B1 (ko) * | 2016-12-29 | 2019-12-19 | 단암시스템즈 주식회사 | 무인 항공기에서 전자 보안 시스템 |
GB201715760D0 (en) | 2017-09-28 | 2017-11-15 | A P Møller Mærsk As | A method and system for operating a ship |
NO345297B1 (en) * | 2017-10-13 | 2020-11-30 | FLIR Unmanned Aerial Systems AS | Encryption and decryption of media data |
CN108521401B (zh) * | 2018-03-06 | 2020-05-12 | 西安电子科技大学 | 一种增强无人机manet网络安全性的方法 |
US11025429B2 (en) * | 2018-05-14 | 2021-06-01 | Skydio, Inc. | Trusted contextual content |
WO2019227375A1 (en) | 2018-05-31 | 2019-12-05 | Qualcomm Incorporated | Inspection route communications |
DE102018211008A1 (de) * | 2018-07-04 | 2020-01-09 | Continental Teves Ag & Co. Ohg | Fahrzeug-zu-X Kommunikationsvorrichtung |
US11443640B2 (en) | 2018-10-19 | 2022-09-13 | Anduril Industries, Inc. | Ruggedized autonomous helicopter platform |
DE102018221954A1 (de) * | 2018-12-17 | 2020-06-18 | Robert Bosch Gmbh | Recheneinrichtung und Verfahren zum Betreiben einer Recheneinrichtung |
US11270238B2 (en) * | 2019-01-28 | 2022-03-08 | Kyndryl, Inc. | Utilizing blockchain technology with mobile robotic machines |
KR102176115B1 (ko) * | 2019-01-30 | 2020-11-09 | 순천향대학교 산학협력단 | 적은 자원을 활용한 무결성 자체 검증 방안 |
KR102205779B1 (ko) * | 2019-01-30 | 2021-01-21 | 순천향대학교 산학협력단 | 적은 자원을 활용한 무결성 상호 검증 방법 및 시스템 |
KR102314755B1 (ko) * | 2020-02-11 | 2021-10-19 | (주)유엠로직스 | 무인비행체계 악성코드 예방 시스템 및 그 동작방법 |
US11393349B2 (en) * | 2020-03-17 | 2022-07-19 | The Boeing Company | Air traffic control (ATC) radio communications authentication |
US20220189317A1 (en) * | 2020-12-16 | 2022-06-16 | Gulfstream Aerospace Corporation | Blockchain enabled aircraft secure communications |
US11888999B2 (en) * | 2021-04-27 | 2024-01-30 | Qualcomm Incorporated | Managing an unmanned aerial vehicle identity |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302316B2 (en) * | 2004-09-14 | 2007-11-27 | Brigham Young University | Programmable autopilot system for autonomous flight of unmanned aerial vehicles |
IL189095A (en) * | 2007-01-31 | 2011-11-30 | Sagem Defense Securite | Method and system for securely authorising the activation of a critical function on a drone |
CN102650887A (zh) * | 2011-02-25 | 2012-08-29 | 鸿富锦精密工业(深圳)有限公司 | 无人飞行载具及调整其控制信号的方法 |
CN103748527A (zh) * | 2011-07-27 | 2014-04-23 | Csp-信息及通信技术创新有限责任联盟 | 用于允许特别地在非隔离空域中的无人驾驶飞行器的任务的方法 |
US20140222250A1 (en) * | 2011-03-17 | 2014-08-07 | Roger Khazan | Location based access control of material transportation vehicle resources |
US20140316616A1 (en) * | 2013-03-11 | 2014-10-23 | Airphrame, Inc. | Unmanned aerial vehicle and methods for controlling same |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543265B2 (en) * | 2008-10-20 | 2013-09-24 | Honeywell International Inc. | Systems and methods for unmanned aerial vehicle navigation |
US9084276B2 (en) * | 2009-09-11 | 2015-07-14 | Aerovironment, Inc. | Dynamic transmission control for a wireless network |
US8397063B2 (en) * | 2009-10-07 | 2013-03-12 | Telcordia Technologies, Inc. | Method for a public-key infrastructure for vehicular networks with limited number of infrastructure servers |
WO2012153530A1 (ja) * | 2011-05-10 | 2012-11-15 | 三洋電機株式会社 | 端末装置 |
JP5938927B2 (ja) * | 2012-02-06 | 2016-06-22 | 日本電気株式会社 | 遠隔操作システム、飛翔体の遠隔操作システム、遠隔操作方法、及び飛翔体の遠隔操作方法 |
US9160543B2 (en) * | 2013-05-07 | 2015-10-13 | The Boeing Company | Verification of aircraft information in response to compromised digital certificate |
-
2016
- 2016-03-25 WO PCT/US2016/024292 patent/WO2016160593A1/en active Application Filing
- 2016-03-25 EP EP16715213.1A patent/EP3275154B1/en active Active
- 2016-03-25 CA CA2980747A patent/CA2980747C/en active Active
- 2016-03-25 CN CN201680019074.7A patent/CN107438989B/zh active Active
- 2016-03-25 JP JP2017549415A patent/JP6628372B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302316B2 (en) * | 2004-09-14 | 2007-11-27 | Brigham Young University | Programmable autopilot system for autonomous flight of unmanned aerial vehicles |
IL189095A (en) * | 2007-01-31 | 2011-11-30 | Sagem Defense Securite | Method and system for securely authorising the activation of a critical function on a drone |
CN102650887A (zh) * | 2011-02-25 | 2012-08-29 | 鸿富锦精密工业(深圳)有限公司 | 无人飞行载具及调整其控制信号的方法 |
US20140222250A1 (en) * | 2011-03-17 | 2014-08-07 | Roger Khazan | Location based access control of material transportation vehicle resources |
CN103748527A (zh) * | 2011-07-27 | 2014-04-23 | Csp-信息及通信技术创新有限责任联盟 | 用于允许特别地在非隔离空域中的无人驾驶飞行器的任务的方法 |
US20140316616A1 (en) * | 2013-03-11 | 2014-10-23 | Airphrame, Inc. | Unmanned aerial vehicle and methods for controlling same |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109891822A (zh) * | 2017-05-27 | 2019-06-14 | 深圳市大疆创新科技有限公司 | 电子签名系统、电子签名服务器及电子签名方法 |
CN109116863A (zh) * | 2018-08-24 | 2019-01-01 | 北京京东尚科信息技术有限公司 | 无人机调度方法、装置、系统、电子设备及可读介质 |
CN113574569A (zh) * | 2019-03-20 | 2021-10-29 | 英国电讯有限公司 | 自主载具回收 |
CN113574569B (zh) * | 2019-03-20 | 2023-02-24 | 英国电讯有限公司 | 对装置进行操作的方法和用于管理自主载具的系统 |
CN110281916A (zh) * | 2019-05-10 | 2019-09-27 | 百度在线网络技术(北京)有限公司 | 车辆控制方法、装置和存储介质 |
CN110703735A (zh) * | 2019-10-24 | 2020-01-17 | 长安大学 | 一种基于物理不可克隆函数电路的无人车ecu安全认证方法 |
RU217716U1 (ru) * | 2023-01-20 | 2023-04-13 | Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-Морского Флота "Военно-морская академия им. Адмирала Флота Советского Союза Н.Г. Кузнецова" | Навигационно-криптографическое устройство управления беспилотным летательным аппаратом |
Also Published As
Publication number | Publication date |
---|---|
JP6628372B2 (ja) | 2020-01-08 |
CA2980747A1 (en) | 2016-10-06 |
CN107438989B (zh) | 2020-08-11 |
CA2980747C (en) | 2020-06-09 |
WO2016160593A1 (en) | 2016-10-06 |
EP3275154A1 (en) | 2018-01-31 |
JP2018511248A (ja) | 2018-04-19 |
EP3275154B1 (en) | 2022-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438989A (zh) | 无人载具之间的认证消息 | |
US10979415B2 (en) | Unmanned vehicle message exchange | |
US9930027B2 (en) | Authenticated messages between unmanned vehicles | |
US9714088B2 (en) | Unmanned vehicle rollback | |
US9663226B2 (en) | Influencing acceptance of messages in unmanned vehicles | |
EP3794492B1 (en) | Trusted contextual content | |
US10547454B2 (en) | Managing in-flight transfer of parcels using blockchain authentication | |
EP3726412B1 (en) | Selectively verifying personal data | |
US10387825B1 (en) | Delivery assistance using unmanned vehicles | |
EP3111585B1 (en) | Security and data privacy for lighting sensor networks | |
US20180351941A1 (en) | Secure device-to-device process for granting access to a physical space | |
US6973581B2 (en) | Packet-based internet voting transactions with biometric authentication | |
US20200213295A1 (en) | Providing verified claims of user identity | |
US11252139B2 (en) | Distributed authentication/authorization tool | |
AU2023201756B2 (en) | Biometric digital signature generation for identity verification | |
CN108429638A (zh) | 一种服务器运维方法、装置、系统及电子设备 | |
WO2020060531A1 (en) | System and method for account verification by aerial drone | |
US20230197215A1 (en) | System and Related Methods for Rapid Identification and Verification of Immunization Status | |
Kaushik et al. | Cybercriminal approaches in big data models for automated heavy vehicles | |
Jain | A drone forensics investigation framework | |
Khan et al. | Performance analysis of blockchain-enabled security and privacy algorithms in connected and autonomous vehicles: a comprehensive review | |
Karimibiuki | Addressing security in drone systems through authorization and fake object detection | |
CN113439259A (zh) | 提供虚拟机用于与包括生物特征设备的外围设备的集中集成 |
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 |