本发明涉及通信方法,具体地,涉及一种无人机安全通信方法及系统。
背景技术:
随着无人机应用的不断普及,行业对无人机通信安全要求越来越高。尤其在多无人机控制通信中,经常出现信号出现串扰,甚至被窃听的情况。
mavlink(microairvehiclelink)是一种用于小型无人机的通用通信协议,mavlink协议广泛应用于地面站(groundcontrolstation,gcs)与无人载具(unmannedvehicles)之间的通信,同时也应用在无人载具内部子系统的通信。mavlink协议支持无人固定翼飞行器、无人旋翼飞行器、无人车辆等多种无人载具。但mavlink协议的通信暴露出了以下缺陷:在通信时对数据没有进行加密;未对消息来源进行验证;mavlink消息头部数据中的身份标志只有两个字节(systemid,componentid),因此能够支持的设备数量受到限制。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种无人机安全通信方法及系统。
根据本发明提供的无人机安全通信方法,用于发送端、服务器和目标客户端之间的通信,包括如下步骤:
步骤s1:所述发送端获取所述服务器的第一证书,并对所述第一证书进行验证,当验证通过后触发步骤s2;
步骤s2:所述服务器获取所述发送端的第二证书,并对所述第二证书进行验证,当验证通过后触发步骤s3;
步骤s3:获取所述第二证书的客户名称,并根据所述客户名称查询预存储的映射表,查询所述客户名称对应的标识符;
步骤s4:当所述发送端向所述服务器发送加密信息后,所述服务器对所述加密信息进行解密生成目标信息并对所述目标信息添加所述标识符生成待发送信息;
步骤s5:根据所述标识符查询预存储的消息通道列表确定目标客户端,将待发送信息发送至目标客户端。
优选地,所述映射表包括客户名称和标识符,所述客户名称与所述标识符一一对应;
所述消息通道列表包括消息来源和消息目标,所述消息来源和所述消息目标一一对应;
每一所述消息目标对应一所述目标客户端,每一所述消息来源对应一所述发送端。
优选地,还包括如下步骤:
-所述目标客户端接收待发送信息并解密所述待发送信息生成目标信息和所述目标信息上添加的标识符;
-所述目标客户端根据解密出的所述标识符确定所述发送端。
优选地,所述第一证书和所述第二证书采用x.509标准证书。
优选地,所述发送端为无人机;
所述目标客户端为地面站。
根据本发明提供的无人机安全通信系统,用于发送端、服务器和目标客户端之间的通信,包括如下模块:
第一证书验证模块,用于通过所述发送端获取所述服务器的第一证书,并对所述第一证书进行验证,
第二证书验证模块,用于通过所述服务器获取所述发送端的第二证书,并对所述第二证书进行验证;
标识符获取模块,用于获取所述第二证书的客户名称,并根据所述客户名称查询预存储的映射表,查询所述客户名称对应的标识符;
待发送信息生成模块,用于当所述发送端向所述服务器发送加密信息后,所述服务器对所述加密信息进行解密生成目标信息并对所述目标信息添加所述标识符生成待发送信息;
目标客户端确定模块,用于根据所述标识符查询预存储的消息通道列表确定目标客户端,将待发送信息发送至目标客户端。
根据本发明提供的无人机安全通信方法,用于发送端、服务器和目标客户端之间的通信,包括如下步骤:
步骤s1:所述发送端获取所述服务器的第一证书,并对所述第一证书进行验证,当验证通过后触发步骤s2;
步骤s2:所述服务器获取所述发送端的第二证书,并对所述第二证书进行验证,当验证通过后触发步骤s3;
步骤s3:获取所述第一证书的客户名称,并根据所述客户名称查询预存储的映射表,查询所述客户名称对应的标识符;
步骤s4:当所述发送端将加密信息添加标识符生成待发送信息后向所述服务器发送,所述服务器根据所述标识符在预设的消息通道列表查找相对应的目标客户端并与所述目标客户端建立连接;
步骤s5:所述服务器将所述待发送信息移除标识符后发送至所述目标客户端。
优选地,所述发送端为地面站;
所述目标客户端为无人机。
优选地,所述映射表包括客户名称和标识符,所述客户名称与所述标识符一一对应;
所述消息通道列表包括消息来源和消息目标,所述消息来源和所述消息目标一一对应;
每一所述消息目标对应一所述目标客户端,每一所述消息来源对应一所述发送端。
根据本发明提供的无人机安全通信系统,用于发送端、服务器和目标客户端之间的通信,包括如下模型:
第一证书验证模块,用于通过所述发送端获取所述服务器的第一证书,并对所述第一证书进行验证;
第二证书验证模块,用于通过所述服务器获取所述发送端的第二证书,并对所述第二证书进行验证;
标识符获取模块,用于获取所述第一证书的客户名称,并根据所述客户名称查询预存储的映射表,查询所述客户名称对应的标识符;
待发送信息生成模块,用于当所述发送端将加密信息添加标识符生成待发送信息后向所述服务器发送,所述服务器根据所述标识符在预设的消息通道列表查找相对应的目标客户端并与所述目标客户端建立连接;
目标客户端确定模块,用于控制所述服务器将所述待发送信息移除标识符后发送至所述目标客户端。
与现有技术相比,本发明具有如下的有益效果:
本发明中首先进行证书的验证并在证书验证通过后进而根据预设的消息通道列表建立发送端和目标客户端之间的联系即保证消息来源可靠和消息数据安全,有实现地面站通过服务器建立的一个连接即可控制多个无人机。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明中无人机向地面站通信方法的步骤流程图;
图2为本发明中无人机向地面站通信的原理示意图;
图3为本发明中地面站向无人机通信方法的步骤流程图;
图4为本发明中地面站向无人机通信的原理示意图;
图5为本发明中无人机安全通信方法及系统的模块示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
图1为本发明中无人机与地面站之间通信方法的步骤流程图,如图1所示,本发明提供的无人机安全通信方法,用于发送端、服务器和目标客户端之间的通信,所述发送端为无人机;所述目标客户端为地面站,包括如下步骤:
步骤s1:所述发送端获取所述服务器的第一证书,并对所述第一证书进行验证,当验证通过后触发步骤s2;
步骤s2:所述服务器获取所述发送端的第二证书,并对所述第二证书进行验证,当验证通过后触发步骤s3;
步骤s3:获取所述第二证书的客户名称,并根据所述客户名称查询预存储的映射表,查询所述客户名称对应的标识符;
步骤s4:当所述发送端向所述服务器发送加密信息后,所述服务器对所述加密信息进行解密生成目标信息并对所述目标信息添加所述标识符生成待发送信息;
步骤s5:根据所述标识符查询预存储的消息通道列表确定目标客户端,将待发送信息发送至目标客户端。
在本实施例中,所述发送端、服务器端与目标客户端之间通过网络通信。
在本实施例中,所述映射表包括客户名称和标识符,所述客户名称与所述标识符一一对应;
所述消息通道列表包括消息来源和消息目标,所述消息来源和所述消息目标一一对应;
每一所述消息目标对应一所述目标客户端,每一所述消息来源对应一所述发送端。
在本实施例中,所述消息通道列表包括多个消息通道,每个消息通道包括两个字段,格式为:地面站的guid,无人机的guid。服务器启动时读取消息通道列表中的文件,获取每个guid对应的身份是地面站或无人机以及相对应的guid。也就是说,在本实施例中,地面站的guid与无人机的guid的一一对应。
本发明提供的无人机安全通信方法,还包括如下步骤:
-所述目标客户端接收待发送信息并解密所述待发送信息生成目标信息和所述目标信息上添加的标识符;
-所述目标客户端根据解密出的所述标识符确认所述发送端。
在本实施例中,所述第一证书和所述第二证书采用x.509证书。其中每个发送端、服务器和目标客户端均具有一独一无二的证书,所有证书的根证书都来自同一个证书颁发机构。
所述发送端与所述服务器之间以及所述服务器和所述目标客户端之间采用dtls协议通信。dtls(datagramtransportlayersecurity)即数据包传输层安全性协议,该协议为基于数据报的应用提供安全机制,以防止通讯数据的窃听、篡改和伪造。
所述标识符采用全球唯一标识符(guid,globallyuniqueidentifier),所述标识符与客户名称的十六进制字符串相同。
本实施例中,guid包含4字节的数据,能够支持2^32个无人机或地面站。所述加密消息为基于mavlink的消息。所述客户名称、所述映射表以及消息通道列表可以保存在服务器端的文件系统,也可以维护在数据库。
图2为本发明中无人机与地面站之间通信原理示意图,如图2所示,当使用本发明提供的无人机安全通信方法时,无人机向服务器发起dtls连接,无人机和服务器互相验证证书,无人机验证当前服务器对应证书的客户名称是否与希望连接的服务器对应证书的客户名称相符,服务器端获取无人机对应证书中的客户名称并找到相应的guid。当验证通过后,所述无人机和所述服务器建立连接。无人机向服务器发送加密消息,服务器接收后根据无人机的guid在消息通道列表找出所有相关的地面站的guid。在加密消息前添加该无人机的guid,发送给已建立连接的地面站。地面站收到加密消息后,根据无人机的guid判断加密消息来自的无人机。在此种情况下,地面站只需要与服务器建立一个连接即可控制多个无人机。
图3为本发明中地面站与无人机之间通信方法的步骤流程图,如图3所示,本发明提供的无人机安全通信方法,用于发送端、服务器和目标客户端之间的通信,所述发送端为地面站;所述目标客户端为无人机,包括如下步骤:
步骤s1:所述发送端获取所述服务器的第一证书,并对所述第一证书进行验证,当验证通过后触发步骤s2;
步骤s2:所述服务器获取所述发送端的第二证书,并对所述第二证书进行验证,当验证通过后触发步骤s3;
步骤s3:获取所述第一证书的客户名称,并根据所述客户名称查询预存储的映射表,查询所述客户名称对应的标识符;
步骤s4:当所述发送端将加密信息添加标识符生成待发送信息后向所述服务器发送,所述服务器根据所述标识符在预设的消息通道列表查找相对应的目标客户端并与所述目标客户端建立连接;
步骤s5:所述服务器将所述待发送信息移除标识符后发送至所述目标客户端。
此时,所述发送端为地面站。所述目标客户端为无人机。
所述映射表包括客户名称和标识符,所述客户名称与所述标识符一一对应;
所述消息通道列表包括消息来源和消息目标,所述消息来源和所述消息目标一一对应;
每一所述消息目标对应一所述目标客户端,每一所述消息来源对应一所述发送端。
图4为本发明中地面站与无人机之间通信原理示意图,如图4所示,当使用本发明提供的无人机安全通信方法时,地面站向服务器发起dtls连接,地面站和服务器互相验证证书,地面验证当前服务器对应证书的客户名称是否与希望连接的服务器对应证书的客户名称相符,服务器端获取地面站对应证书中的客户名称并找到相应的guid。当验证通过后,所述地面和所述服务器建立连接。地面站向服务器发送加密消息,所述加密消息添加了无人机的guid,服务器接收后根据无人机的guid与相应的无人机建立连接。在加密消息中去除无人机的guid,发送给已建立连接的无人机。
如图5所示,当本发明提供的无人机安全通信系统,用于无人机向地面站通信时,所述发送端为无人机;所述目标客户端为地面站,包括如下模块:
第一证书验证模块,用于通过所述发送端获取所述服务器的第一证书,并对所述第一证书进行验证,
第二证书验证模块,用于通过所述服务器获取所述发送端的第二证书,并对所述第二证书进行验证;
标识符获取模块,用于获取所述第二证书的客户名称,并根据所述客户名称查询预存储的映射表,查询所述客户名称对应的标识符;
待发送信息生成模块,用于当所述发送端向所述服务器发送加密信息后,所述服务器对所述加密信息进行解密生成目标信息并对所述目标信息添加所述标识符生成待发送信息;
目标客户端确定模块,用于根据所述标识符查询预存储的消息通道列表确定目标客户端,将待发送信息发送至目标客户端。
当本发明提供的无人机安全通信系统,用于地面站向无人机通信时,所述发送端为无人机;所述目标客户端为地面站,包括如下模块:
第一证书验证模块,用于通过所述发送端获取所述服务器的第一证书,并对所述第一证书进行验证;
第二证书验证模块,用于通过所述服务器获取所述发送端的第二证书,并对所述第二证书进行验证;
标识符获取模块,用于获取所述第一证书的客户名称,并根据所述客户名称查询预存储的映射表,查询所述客户名称对应的标识符;
待发送信息生成模块,用于当所述发送端将加密信息添加标识符生成待发送信息后向所述服务器发送,所述服务器根据所述标识符在预设的消息通道列表查找相对应的目标客户端并与所述目标客户端建立连接;
目标客户端确定模块,用于控制所述服务器将所述待发送信息移除标识符后发送至所述目标客户端。
在本实施例中,本发明中首先进行证书的验证并在证书验证通过后进而根据预设的消息通道列表建立发送端和目标客户端之间的联系即保证消息来源可靠和消息数据安全,有实现地面站通过服务器建立的一个连接即可控制多个无人机。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。