CN107113171B - 安全通信系统、方法及装置 - Google Patents

安全通信系统、方法及装置 Download PDF

Info

Publication number
CN107113171B
CN107113171B CN201580071830.6A CN201580071830A CN107113171B CN 107113171 B CN107113171 B CN 107113171B CN 201580071830 A CN201580071830 A CN 201580071830A CN 107113171 B CN107113171 B CN 107113171B
Authority
CN
China
Prior art keywords
key
party
communication
sequence number
data packet
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.)
Expired - Fee Related
Application number
CN201580071830.6A
Other languages
English (en)
Other versions
CN107113171A (zh
Inventor
陈永森
谢鹏
万日栋
吴军
龚明
尤中乾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dajiang Innovations Technology Co Ltd
Original Assignee
Shenzhen Dajiang Innovations Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Dajiang Innovations Technology Co Ltd filed Critical Shenzhen Dajiang Innovations Technology Co Ltd
Publication of CN107113171A publication Critical patent/CN107113171A/zh
Application granted granted Critical
Publication of CN107113171B publication Critical patent/CN107113171B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/037Protecting confidentiality, e.g. by encryption of the control plane, e.g. signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

一种安全通信方法,在该方法中,通讯第一方向通信第二方发送多级加密的密钥数据包,以执行通信第一方与通信第二方之间的安全认证,以及通讯第一方向通信第二方发送多级加密的指令数据包,以向所述通信第二方发送指令数据。本发明还提供一种安全通信系统及装置。本发明能够防止通信系统中的重放攻击。

Description

安全通信系统、方法及装置
技术领域
本发明涉及一种无线通信系统中安全认证以及安全通信技术,尤其是防止重放攻击的安全通信系统及方法。
背景技术
在安全通信中,往往有以下的基本要求:
1、保密:必须保证通信的数据只有通信双方可以解读;
2、认证:必须保证通信的数据是授信方发送出来的;
3、防止重放攻击:防止攻击者录制以前发送的数据,从而欺骗接收者。攻击者可能使用系统上次运行或者本次运行的数据来欺骗接收者,所以在系统设计时,必须防止这两种攻击。
无线通信系统很容易遭受中间人攻击,比如对无线系统进行指令注入,达到控制和劫持接收方的目的;修改无线系统的数据,从而欺骗接收方;通过重放攻击,劫持接收方,从而(1)俘获受攻击的对象,从而造成系统所有者的财产损失;(2)操作受劫持的对象完成一些恶意攻击,给他人的生命财产造成损失。
目前的无线通信系统,有些因为没有对通信双方进行有效认证,并进行数据保护,容易遭受攻击。而就算加入加密和认证,也因为没有有效防止重放攻击,而使系统被劫持。
在单向通信系统中,上述的问题尤为突出。而在双向通信系统中,上述的问题也存在。
对发明的公开
发明内容
鉴于以上内容,有必要提出一种安全通信系统、方法及装置,能够防止通信系统中的重放攻击。
一种安全通信方法,由一通信第一方所执行,该方法包括:
获取通信第一方与一通信第二方配对时生成的秘密码字,并获取预先存储的产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
随机产生一会话密钥;
获取一密钥序列号N,并对序列号N进行自增,及设置一初始值为0的发送序列号Q;
利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算,生成一密钥帧;
将所述密钥帧、密钥序列号N、发送序列号Q及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为密钥数据包;
获取发送序列号Q,并对序列号Q进行自增;
获取待发送的指令数据,利用所述会话密钥对所述指令数据以及所述指令数据的校验认证码进行加密,生成一指令数据帧;及
将所述指令数据帧、发送序列号Q以及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为指令数据包。
优选地,所述通信第一方为控制方及通信第二方为受控方。
优选地,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述无人飞行器上的一个或者多个模块包括相机、云台。
优选地,该方法还包括:重复执行上述获取发送序列号Q的步骤到将所述指令数据帧、发送序列号Q以及一数据类型的数据包发送给通信第二方的步骤直到所述通讯第一方上电重启。
优选地,所述产品密钥是通讯第一方在生产时,烧录在其安全存储区的。
优选地,所述模块密钥是对所述秘密码字及产品密钥执行派生算法得到的,所述派生算法包括加密、消息认证码。
优选地,所述会话密钥是使用随机数发生器动态产生的。
优选地,对序列号N的自增方法包括每向通信第二方发送一次数据,则N值增加1。
优选地,所述序列号Q的自增方法包括每向通信第二方发送一次数据,则Q值增加1,或者每隔预设的时间段Q值增加1。
优选地,利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算的方法包括加密运算及/或消息认证码。
优选地,所述模块密钥、发送序列号Q以及会话密钥存储于通信第一方的易失性存储器中。
优选地,所述秘密码字以及密钥序列号N存储于所述通信第一方的非易失性存储器中。
一种安全通信方法,由一通信第一方所执行,该方法包括:
获取通信第一方与一通信第二方配对时生成的秘密码字,并获取一预先存储的产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
随机产生一会话密钥;
获取一密钥序列号N,对序列号N进行自增,及设置一初始值为0的发送序列号Q;
利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算,生成一密钥帧;
将所述密钥帧、密钥序列号N、发送序列号Q及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为密钥数据包;及
每隔预设的时间段执行将所述密钥帧、密钥序列号N、发送序列号Q及一数据类型的数据包发送给通信第二方。
优选地,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述产品密钥是通讯第一方在生产时,烧录在其安全存储区的。
优选地,所述秘密码字及所述密钥序列号N存储于所述通信第一方的非易失性存储器中。
优选地,所述模块密钥、会话密钥及发送序列号Q存储于所述通信第一方的易失性存储器中。
优选地,所述钥序列号N在每次生成会话密钥时,该N的值进行自增。
一种安全通信方法,由一通信第一方所执行,该方法包括:
获取一发送序列号Q,并序列号Q进行自增;
获取待发送的指令数据,利用一随机生成的会话密钥对所述指令数据以及所述指令数据的校验认证码进行加密,生成一指令数据帧;及
将所述指令数据帧、发送序列号Q以及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为指令数据包。
优选地,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述发送序列号Q的初始值为0,并在所述会话密钥发生变更时,重新归0,在所述会话密钥没有发生变更时,单调增长。
优选地,所述会话密钥及发送序列号Q存储于所述通信第一方的易失性存储器中。
一种安全通信方法,由一通信第二方所执行,该方法包括:
接收配对的通信第一方传送的密钥数据包;
读取一密钥序列号n;
获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;
在N>n时,获取与通信第二方与一通信第一方配对时生成的秘密码字,并获取一产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
利用所述模块密钥解密所述密钥数据包,得到一会话密钥及校验认证码;
当利用所述校验认证码验证所述会话密钥不正确时,丢弃所述密钥数据包;
当所述会话密钥正确时,存储所述会话密钥;
接收通信第一方传送的指令数据包;
从获取一发送序列号q;
获取所述指令数据包中的发送序列号Q,当Q<=q时,丢弃所述指令数据包;
当Q>q时,获取所述会话密钥;
利用所述会话密钥解密指令数据包,得到指令数据及校验认证码;
当利用所述校验认证码验证所述指令数据不正确时,丢弃所述指令数据包;及
当所述指令数据正确时,执行所述指令。
优选地,所述通信第一方为控制方及通信第二方为受控方。
优选地,所述通信第一方飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述无人飞行器上的一个或者多个模块包括相机、云台。
优选地,所述产品密钥存储在通讯第二方的安全存储区。
优选地,所述模块密钥是对所述秘密码字及产品密钥执行派生算法得到的,所述派生算法包括加密、消息认证码。
优选地,该方法还包括:
将所述模块密钥以及所接收的发送序列号Q以及会话密钥存储于通信第二方的易失性存储器中,并记发送序列号q=Q。
优选地,该方法还包括:
将所述密钥序列号N存储于所述通信第二方的非易失性存储器中,并记密钥序列号n=N。
一种安全通信方法,由一通信第二方所执行,该方法包括:
接收配对的通信第一方传送的密钥数据包;
获取一预先存储的密钥序列号n;
获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;
在N>n时,获取与通信第二方与一通信第一方配对时生成的秘密码字,及从获取一预先存储的产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
利用所述模块密钥解密所述密钥数据包,得到一会话密钥及校验认证码;
当利用所述校验认证码验证所述会话密钥不正确时,丢弃所述密钥数据包;及
当所述会话密钥正确时,存储所述会话密钥。
优选地,所述通信第一方飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述产品密钥是存储在通讯第二方的安全存储区。
优选地,所述秘密码字及所述密钥序列号n存储于所述通信第二方的非易失性存储器中。
一种安全通信方法,由一通信第二方所执行,该方法包括:
接收配对的通信第一方传送的指令数据包;
获取一发送序列号q;
获取所述指令数据包中的发送序列号Q,当Q<=q时,丢弃所述指令数据包;
当Q>q时,获取一会话密钥;
利用所述会话密钥解密指令数据包,得到指令数据及校验认证码;
当利用所述校验认证码验证所述指令数据不正确时,丢弃所述指令数据包;及
当所述指令数据正确时,执行所述指令。
优选地,所述通信第一方飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述会话密钥及发送序列号q存储于所述通信第二方的易失性存储器中。
一种安全通信方法,由一通信第二方所执行,该方法包括:
获取一会话密钥;
获取一发送序列号M,并对发送序列号M进行自增;
获取待发送的反馈数据,利用所述会话密钥对所述反馈数据以及反馈数据的校验认证码进行加密,生成一反馈数据帧;及
将所述反馈数据帧、发送序列号M发送给配对的通信第一方。
优选地,所述通讯第一方为主控方,所述通信第二方为受控方。
优选地,所述通信第一方飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述无人飞行器上的一个或者多个模块包括相机、云台。
优选地,所述会话密钥通过下述方法得到:
接收所述通信第一方传送的密钥数据包;
获取一预先存储的密钥序列号n;
获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;
在N>n时,获取与通信第二方与一通信第一方配对时生成的秘密码字,及从获取一预先存储的产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
利用所述模块密钥解密所述密钥数据包,得到一会话密钥及校验认证码;
当利用所述校验认证码验证所述会话密钥不正确时,丢弃所述密钥数据包;及
当所述会话密钥正确时,存储所述会话密钥。
优选地,所述产品密钥是存储在通讯第二方的安全存储区。
优选地,所述秘密码字及所述密钥序列号n存储于所述通信第二方的非易失性存储器中。
一种安全通信方法,该方法包括:
通信第一方利用一模块密钥对一随机产生的会话密钥进行加密,并传送给通信第二方;
所述通信第二方利用所述模块密钥对所述会话密钥进行解密,得到所述会话密钥。
优选地,所述模块密钥通过下述方法得到:
获取通信第一方与一通信第二方配对时生成的秘密码字,并获取一预先存储的产品密钥;及
基于所述秘密码字及产品密钥,通过派生算法得到所述模块密钥。
优选地,所述通信第一方为控制方及通信第二方为受控方。
优选地,所述通信第一方飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述无人飞行器上的一个或者多个模块包括相机、云台。
优选地,所述通信第一方及通信第二方均既是信息发送方又是信息接收方。
优选地,所述通信第一方及通信第二方是两个无人飞行器、或者是无人飞行器的两个模块。
一种通信装置,该装置包括:
认证发送模块,用于获取所述通信装置与另一通信装置配对时生成的秘密码字,并获取预先存储的产品密钥;基于所述秘密码字及产品密钥得到一模块密钥;随机产生一会话密钥;获取一密钥序列号N,并对序列号N进行自增,及设置一初始值为0的发送序列号Q;利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算,生成一密钥帧;将所述密钥帧、密钥序列号N、发送序列号Q及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为密钥数据包;及
指令发送模块,用于获取所述发送序列号Q,并对序列号Q进行自增;获取待发送的指令数据,利用所述会话密钥对所述指令数据以及所述指令数据的校验认证码进行加密,生成一指令数据帧;及将所述指令数据帧、发送序列号Q以及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为指令数据包。
优选地,所述通信装置为飞行遥控器。
优选地,所述通信装置包括一个或者多个非易失性存储器,用于存储所述产品密钥、秘密码字以及密钥序列号N。
优选地,所述通信装置包括一个或者多个易失性存储器,用于存储所述模块密钥、会话密钥以及发送序列号Q。
优选地,所述模块密钥是对所述秘密码字及产品密钥执行派生算法得到的,所述派生算法包括加密、消息认证码。
优选地,所述会话密钥是使用随机数发生器动态产生的。
优选地,对序列号N的自增方法包括每向通信第二方发送一次数据,则N值增加1。
优选地,所述序列号Q的自增方法包括每向通信第二方发送一次数据,则Q值增加1,或者每隔预设的时间段Q值增加1。
优选地,利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算的方法包括加密运算及/或消息认证码。
一种通信装置,该通信装置包括:
认证接收模块,用于接收配对的另一个通信装置传送的密钥数据包;读取一密钥序列号n;获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;在N>n时,获取与通信第二方与一通信第一方配对时生成的秘密码字,并获取一产品密钥;基于所述秘密码字及产品密钥得到一模块密钥;利用所述模块密钥解密所述密钥数据包,得到一会话密钥及校验认证码;当利用所述校验认证码验证所述会话密钥不正确时,丢弃所述密钥数据包;当所述会话密钥正确时,存储所述会话密钥;及
指令执行模块,用于接收另一通信装置传送的指令数据包;从获取一发送序列号q;获取所述指令数据包中的发送序列号Q,当Q<=q时,丢弃所述指令数据包;当Q>q时,获取所述会话密钥;利用所述会话密钥解密指令数据包,得到指令数据及校验认证码;当利用所述校验认证码验证所述指令数据不正确时,丢弃所述指令数据包;及当所述指令数据正确时,执行所述指令。
优选地,所述通信装置为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述无人飞行器上的一个或者多个模块包括相机、云台。
优选地,所述通信装置包括非易失性存储器,用于存储所述产品密钥、密钥码字以及密钥序列号n。
优选地,所述认证接收模块还用于将所述密钥序列号N存储于所述非易失性存储器中,并记密钥序列号n=N。
优选地,所述通信装置包括易失性存储器,用于存储所述模块密钥、会话密钥及发送序列号q。
优选地,所述指令接收模块还用于将所接收的发送序列号Q以及会话密钥存储于所述通信装置的易失性存储器中,并记发送序列号q=Q。
优选地,所述模块密钥是对所述秘密码字及产品密钥执行派生算法得到的,所述派生算法包括加密、消息认证码。
优选地,所述通信装置还包括:
反馈数据发送模块,用于获取所述会话密钥;
获取一发送序列号M,并对发送序列号M进行自增;
获取待发送的反馈数据,利用所述会话密钥对所述反馈数据以及反馈数据的校验认证码进行加密,生成一反馈数据帧;及
将所述反馈数据帧、发送序列号M发送给配对的通信第一方。
一种安全通信系统,包括通过无线网络进行通信的通信第一方及通信第二方,其中:
所述通信第一方利用一模块密钥对一随机产生的会话密钥进行加密,并传送给通信第二方;及
所述通信第二方利用所述模块密钥对所述会话密钥进行解密,得到所述会话密钥。
优选地,所述模块密钥通过下述方法得到:
获取通信第一方与一通信第二方配对时生成的秘密码字,并获取一预先存储的产品密钥;及
基于所述秘密码字及产品密钥,通过派生算法得到所述模块密钥。
优选地,所述通信第一方为控制方及通信第二方为受控方。
优选地,所述通信第一方飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
优选地,所述无人飞行器上的一个或者多个模块包括相机、云台或遥控器中的一个或多个。
优选地,所述通信第一方及通信第二方均既是信息发送方又是信息接收方。
优选地,所述通信第一方及通信第二方是两个无人飞行器、或者是无人飞行器的两个模块。
相较于现有技术,利用本发明提供的安全通信系统及方法能够实现通信发送方与接收方的安全认证、加密通信以及防止重放攻击。
附图说明
图1是本发明安全通信系统较佳实施例的硬件架构示意图。
图2是本发明安全通信方法较佳实施例中单向通信系统的发送方的数据处理方法流程图。
图3是本发明安全通信方法较佳实施例中单向通信系统的接收方的数据处理方法流程图。
图4是本发明安全通信方法较佳实施例中单向通信系统的数据流的传输处理示意图。
图5是本发明安全通信方法较佳实施例中非对称双向通信系统的受控方向主控方传送反馈数据的方法流程图。
图6是本发明安全通信方法较佳实施例中非对称双向通信系统的主控方接收受控方反馈数据的方法流程图。
主要元件符号说明
通信第一方1
安全存储区10
产品密钥100
秘密码字101
密钥序列号102
易失性存储器11
模块密钥110
会话密钥111
发送序列号112
认证发送模块12
指令发送模块13
反馈数据接收模块14
通信第二方2
安全存储区20
产品密钥200
秘密码字201
密钥序列号202
易失性存储器21
模块密钥210
会话密钥211
发送序列212
认证接收模块22
指令执行模块23
反馈数据发送模块24
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
参阅图1所示,是本发明安全通信系统较佳实施例的硬件架构示意图。
本实施例中,所述安全通信系统1000包括通过无线网络进行通信的通信装置,如通信第一方1及通信第二方2。所述通信第一方1及通信第二方2可以分别是单向通信系统的信息发送方及信息接收方,或者是非对称双向通信系统中的主控方及受控方。例如,所述通信第一方1可以是飞行控制器,如遥控器等,以及所述通信第二方2可以是无人飞行器或者无人飞行器上的相机模块、云台等。
在其他实施例中,所述通信第一方1及通信第二方2也可以既是信息发送方又是信息接收方。例如,所述通信第一方1及通信第二方2可以是两个无人飞行器、或者无人飞行器的两个相机模块等。
所述通信第一方1包括一个或者多个安全存储区10以及一个或者多个易失性存储器11。所述安全存储区10可以是通信第一方1的只读存储器(Read-Only Memory,简称:ROM)或者其他类型的非易失性存储器,如可编程只读存储器(erasable programmable readonly memory,简称:EPROM)、闪存(Flash Memory)软盘、硬盘、磁盘、光盘、SM卡、CF卡、XD卡、SD卡、MMC卡、SONY记忆棒、eMMC、NAND等。所述易失性存储器11可以是随机存取存储器(Random-Access Memory,简称RAM),包括为静态RAM(SRAM)和动态内存(DRAM)等。
本实施例中,所述通信第一方1在生产时,会分配一个产品密钥(ProductKey),并将其烧录或固化在所述通信第一方1的安全存储区10,如ROM中。
相似地,所述通信第二方2也包括一个或者多个安全存储区20以及一个或者多个易失性存储器21。对应的,通信第二方2的安全存储区20中也存储有产品密钥200。所述产品密钥200与所述产品密钥100相同。
进一步地,所述通信第一方1还包括认证发送模块12以及指令发送模块13。
所述认证发送模块12用于向通信第二方2发送多级加密的密钥数据包,以执行通信第一方1与通信第二方2之间的安全认证。所述指令发送模块13用于向通信第二方2发送多级加密的指令数据包,以向所述通信第二方2发送指令数据。
本发明所述认证发送模块12及指令发送模块13可以防止通信过程中的重放攻击,详细地请参阅下述图2中的描述。
进一步地,所述通信第二方2还包括认证接收模块22以及指令执行模块23。
所述认证接收模块22用于接收通信第一方1发送的密钥数据包,执行对通信第一方1的认证。所述指令执行模块23用于接收通信第一方1发送的指令数据包,以执行通信第一方1下达的指令。
参阅图2所示,是本发明安全通信方法较佳实施例中单向通信系统的发送方的数据处理方法流程图。本实施例中,所述发送方为通信第一方1。根据不同的需求,图2所示数据处理方法中,步骤的执行顺序可以改变,某些步骤可以省略,而并不限于图2所示的步骤及顺序。
步骤S10,在通信第一方1开机或者上电重启时,通信第一方1的认证发送模块12获取通信第一方1在与通信第二方2配对时生成并写入到安全存储区10的秘密码字(SecretCode)101,并从所述安全存储区10获取预先存储的产品密钥100。本实施例中,所述通信第一方1与通信第二方2的配对一般在安全环境下进行,从而保证该秘密码字101的安全性。所述配对过程可为无人机和遥控器的对频过程。
步骤S11,所述认证发送模块12基于所述秘密码字101及产品密钥100得到一模块密钥(ModuleKey)110。本实施例中,所述认证发送模块12对所述秘密码字101及产品密钥100执行派生算法,产生所述模块密钥110。所述派生算法可以是加密、哈希、消息认证码(Message Authentication Code,MAC)或者任意之结合。本实施例中,所述模块密钥110只在上电时生成一次,因此,为了提高安全性,所述认证发送模块12将该模块密钥110存储于易失性存储器11中。
步骤S12,所述认证发送模块12随机产生一个或者多个会话密钥(SessionKey)111。所述会话密钥111可以使用随机数发生器或者其他生成随机数的方法动态产生。所述会话密钥111也只在上电时生成一次,因此,所述认证发送模块12将该会话密钥111存储于易失性存储器11中。
步骤S13,所述认证发送模块12从安全存储区10获取一密钥序列号(Key Number)N102,对所述序列号N进行自增,并设置一初始值为0的发送序列号(Sequence Number)Q112。本实施例中,所述密钥序列号N 102的初始值可以设为0或者其他值,并在每次生成会话密钥111时,该N的值进行自增,如增加1,因此,所述认证发送模块12将所述密钥序列号N102存储于安全存储区10,以在掉电时可以找回。所述发送序列号Q 112在会话密钥111发生变更时,重新归零,在会话密钥111没有发生变更时,单调增长,因此,所述认证发送模块12可以将所述发送序列号Q 112存储于易失性存储器11中。发送序列号Q 112增长的方法可以是每次向通信第二方2发送一条信息时,Q的值增加1,或者每隔一小段时间,如50ms、1s后,Q的值增加1。可以理解,所述密钥序列号N102也可能存储于易失性存储器中,则所述认证发送模块12从所述易失性存储器中获取所述密钥序列号N102。
步骤S14,所述认证发送模块12利用校验方法生成所述会话密钥111、密钥序列号N102、发送序列号Q 112及一数据类型的校验认证码。所述校验方法可以是数据摘要算法,如各种哈希值,包括MD5、SHA等,或者校验码,如CRC等,以及消息认证码等。所述数据类型可以是代表认证数据类型的字符。
步骤S15,所述认证发送模块12利用所述模块密钥110对所述会话密钥111及其校验认证码进行运算,生成一密钥帧。所述运算可以是(1)计算原始消息的校验码(或者摘要),然后使用模块秘钥对会话密钥以及校验码(或者摘要)进行加密;(2)计算原始消息的MAC,然后使用模块秘钥对会话密钥进行加密。步骤S16,所述认证发送模块12将所述密钥帧、密钥序列号N 102、发送序列号Q 112及所述数据类型发送给通信第二方2。
对于单向通信系统,所述认证发送模块12每隔一段时间,如1s,将所述密钥帧、密钥序列号N 102、发送序列号Q 112及所述数据类型发送给通信第二方2一次,以确通信第二方2可以收到所述密钥帧。
步骤S17,所述认证发送模块12将自增后的密钥序列号N 102写入到安全存储区10,及将所述发送序列号Q 112写入到存储器11内。可以理解,所述发送序列号Q112可被写入易失性存储区,存于易失性存储器中时,可保证及时擦除,保证了信息的安全性;若存储到安全存储区,则需保证通过加密等手段保证信息的足够安全性。
步骤S18,所述认证发送模块12判断通信第一方1是否发生重新上电。若发生了重新上电,则重复执行上述的步骤S10至S17。若通信第一方1没有发生重新上电,则执行下述的步骤S19。
步骤S19,通信第一方1的指令发送模块13从易失性存储器11内获取发送序列号Q112,并对序列号Q 112进行自增。如上所述,序列号Q增长的方法可以是每次向通信第二方2发送一条信息时,Q的值增加1,或者每隔一小段时间,如50ms、1s后,Q的值增加1。
步骤S20,所述指令发送模块13获取待发送的指令数据,利用校验方法生成所述指令数据、发送序列号Q 112及一数据类型的校验认证码。所述指令数据可以是,例如控制无人飞行器的相机的旋转方向及旋转角度等。所述校验方法可以是数据摘要算法,如各种哈希值,包括MD5、SHA等,或者校验码,如CRC等,以及消息认证码等。所述数据类型可以是代表指令数据类型的字符。
步骤S21,所述指令发送模块13利用存储于易失性存储器11中的会话密钥111对所述指令数据以及其校验认证码进行运算,生成一指令数据帧。所述运算可以是加密算法或者消息认证码等。
步骤S22,所述指令发送模块13将所述指令数据帧、发送序列号Q 112以及所述数据类型发送给通信第二方2。
步骤S23,所述指令发送模块13将所述发送序列号Q 112写入到易失性存储器11中。
可以理解,所述产品密钥110、会话密钥111、密钥序列号N102及发送序列号Q112也可均存储于遥控器或无人机的安全存储区域内。
可以理解,上述执行操作的模块可合并或拆分,可实现密钥交换和通信功能即可。
参阅图3所示,是本发明安全通信方法较佳实施例中单向通信系统的接收方。本实施例中,所述接收方为通信第二方2。根据不同的需求,图3所示数据处理方法中,步骤的执行顺序可以改变,某些步骤可以省略,而并不限于图3所示的步骤及顺序。
步骤S30,所述通信第二方2接收通信第一方1传送的数据包。
步骤S31,所述通信第二方2判断所述数据包是否为密钥数据包。本实施例中,所述认证接收模块22根据所述数据包中包括的数据类型判断所述数据包是否为密钥数据包。若所述数据包是密钥数据包,则流程执行下述的步骤S32-S40。否则,若所述数据包不是密钥数据包,且根据所述数据包中包括的数据类型判断所述数据包为指令数据包时,执行下述的步骤S41-S46。
步骤S32,所述通信第二方2的认证接收模块22从所述通信第二方2的安全存储区20获取一密钥序列号n 202。
步骤S33,所述认证接收模块22获取所接收的数据包中的密钥序列号N 102,并判断是否N<=n。当N<=n时,说明该数据包可能是通信第一方1重复发送的,或者是攻击者通过重放攻击发送的数据包,则执行步骤S34,认证接收模块22丢弃该数据包。否则,若N>n,则执行下述的步骤S35。
具体地,因为所述密钥序列号N102在每次生成会话密钥111时一并产生,在同一会话中,此密钥序列号N102可保持不变,故若N<=n时,则说明可能是攻击者使用了上次会话的时运行的数据进行重放攻击。从而,通过比对密钥序列号N102和密钥序列号n202,可防止攻击者使用上次会话的数据进行重放攻击。
步骤S35,所述认证接收模块22获取所述通信第二方2与通信第一方1配对时生成并写入到安全存储区20的秘密码字201。所述秘密码字201与上述通信第一方1的秘密码字101相同。
步骤S36,所述认证接收模块22从所述安全存储区20获取一预先存储的产品密钥200。所述产品密钥200与上述通信第一方1的产品密钥100相同。
步骤S37,所述认证接收模块22基于所述秘密码字201及产品密钥200得到一模块密钥210。本实施例中,所述认证接收模块22对所述秘密码字201及产品密钥200执行如派生算法,产生模块密钥。所述派生算法可以使用加密或者消息认证码(MessageAuthentication Code,MAC)。所述认证接收模块22将该模块密钥210存储于易失性存储器21中。
步骤S38,所述认证接收模块22利用所述模块密钥210解密所述数据包中的密钥帧,得到其中的会话密钥111及校验认证码。
步骤S39,所述认证接收模块22利用所述校验认证码验证所述会话密钥111是否正确。若会话密钥111不正确,则执行上述的步骤S34,丢弃该数据包。否则,若会话密钥111正确,则执行下述的步骤S40。
步骤S40,认证接收模块22存储数据包中的会话密钥111及发送序列号Q 112于易失性存储器21内,并记发送序列号q=Q,及存储数据包中的密钥序列号N 102于安全存储区20,并记密钥序列号n=N。至此,所述通信第二方2获取了通信第一方1传送的会话密钥,完成了密钥交换过程。
可以理解,也可省去判断所述数据包类型的步骤,即步骤S31。而在上电或重启时,待生成会话密钥后即发送密钥数据包。接收方接收到该密钥数据包之后,若接收成功,则返回接收成功的信息,若不成功,则要求发送方重新发送直至接收成功。后续发送的数据包则均认为是指令数据包。
若所接收的数据包是指令数据包,则步骤S41,所述通信第二方2的指令执行模块23从易失性存储器21内获取一发送序列号q 212。
步骤S42,所述指令执行模块23获取所接收的数据包中的发送序列号Q 112,并判断是否Q<=q。当Q<=q时,说明该数据包可能是通信第一方1重复发送的,或者是攻击者通过重放攻击发送的数据包,则执行步骤S34,指令执行模块23丢弃该数据包。否则,若Q>q,则执行下述的步骤S43。
步骤S43,所述指令执行模块23从易失性存储器21内获取所存储的会话密钥211。
步骤S44,所述指令执行模块23利用所述会话密钥211解密数据包中的指令数据帧,得到指令数据及校验认证码。
步骤S45,所述指令执行模块23利用所述校验认证码验证所述指令数据是否正确。若指令数据不正确,则执行步骤S34,指令执行模块23丢弃该数据包。若指令数据正确,则执行下述的步骤S46。
步骤S46,所述指令执行模块23存储发送序列号Q 112于易失性存储器21内,记发送序列号q=Q,并执行所述指令,如控制无人飞行器的相机模组按指令中的方向或者角度旋转等。
在图3所述实施例运行时,若通信第二方2发生异常,如掉电重启后,需要通信第一方1重新进行密钥交换。实现方法可以包括使通信第一方1也重新上电或者在双向通信的情况下,通信第二方2主动要求通信第一方1重新进行密钥交换。
具体地,若通信第二方2发生如掉电或重启异常,可选择两种方案:对通信第一方1进行重启,从而使通信第一方1和通信第二方2重新进行密钥交换;若有从通信第二方2到通信第一方1的回传链路,则在通信第二方2重新启动后,给通信第一方1发送请求,要求通信第一方1重新发送会话密钥或密钥数据包。
参阅图4所示,是本发明安全通信方法较佳实施例中单向通信系统的数据流的传输处理示意图。
通信第一方1在开机或者上电重启时,根据预先存储的产品密钥100及配对时产生的秘密码字101派生出一模块密钥110,并从其安全存储区10读取一密钥序列号N 102。在执行与通信第二方2的交换密钥的过程中,通信第一方1对所获取的密钥序列号N 102自增,如每发送一次增加1,将自增后的N写入其安全存储区10,用自增后的N取代原来的N,同时,通信第一方1随机产生一会话密钥111,并设置一初始值为0的发送序列号Q 112。进一步地,通信第一方1利用所述模块密钥110对所述会话密钥111以及会话密钥的验证码进行加密或者其他运算生成一密钥帧,并生成一个包括所述密钥帧、密钥序列号N 102及发送序列号Q112的密钥数据包,并将该密钥数据包定期发送给通信第二方2。
通信第二方2在开机或者上电重启时,也会根据预先存储的产品密钥200及配对时产生的秘密码字201派生出一模块密钥210,并从其安全存储区20读取一密钥序列号n 202。在接收到通信第一方1传送的密钥数据包时,首先判断是否N<=n。当N<=n时,丢弃该数据包,及当N>n时,解密并验证所述会话密钥,存储所述会话密钥及发送序列号Q 112于通信第二方2的易失性存储器21中,记q=Q,并存储密钥序列号N 102于通信第二方2的安全存储区20,如非亦失性存储器内,记n=N,从而完成密钥交换过程。
认证之后,若通信第一方1及通信第二方2均没有上电重启,则可以执行指令数据的发送过程。首先,通信第一方1读取一发送序列号Q 112,对序列号Q进行自增,如每发送一次增加1或者每隔预设时间增加1,并利用所述会话密钥111对待发送的指令数据以及该指令数据的验证码进行加密或者其他运算生成一个指令数据帧,并生成一个包括所述指令数据帧、所述发送序列号Q 112的指令数据包,将该指令数据包传送给通信第二方2。
通信第二方2接收到所述指令数据包后,从其易失性存储器21内,获取一发送序列q 212,并判断是否Q<=q。当Q<=q时,丢弃密钥数据包;否则,当Q>q时,解密及验证所述指令数据,存储发送序列号Q 112于易失性存储器21内,记q=Q,及执行所述指令数据。
所述密钥数据包包括数据类型、密钥序列号N、发送序列号Q、会话密钥和验证码,并使用模块密钥对会话密钥和验证码进行加密,而MAC码本身不加密。同样,所述指令数据包包括数据类型、发送序列号Q、指令数据和验证码,并通过会话密钥对指令数据和验证码进行加密。
以上所述的实施例中,所述产品密钥预先存储在通信第一方及通信第二方的安全存储区,如ROM中,防止攻击者读取到。所述通信第一方与通信第二方的配对一般在安全环境下进行,从而保证该秘密码字的安全性。因此,保证了基于所述产品密钥及秘密码字产生的模块密钥的秘密性及安全性。通信第二方在收到通信第一方发送的数据包时,当N<=n及/或Q<=q时,代表所述数据包可能是通信第一方重复发送的,或者是攻击者通过重放攻击发送的,因此将该数据包丢掉,当N>n及Q>q时,才处理该数据包,保证了防止数据传输过程中的重放攻击。
其中,所述密钥序列号是每次通信第一方上电重新产生会话密钥时自增一次,因此,为了保障安全性,所述密钥序列号存储于通信第一方及通信第二方的非易失性存储器内。所述的发送序列号在重新产生会话密钥时会清零,因此,所述发送序列号可以存储于通信第一方及通信第二方的易失性存储器内。
可以理解,所述密钥数据包也可包括数据类型、密钥序列号N、发送序列号Q、会话密钥和MAC码,此种情况中,使用模块密钥对会话密钥进行加密或MAC运算,而MAC码本身不加密。同样,所述指令数据包可包括数据类型、发送序列号Q、指令数据和MAC码,并通过会话密钥对指令数据进行加密或MAC运算。
以上实施例描述了单向通信系统中的认证及指令传输系统,即通讯第一方为信息发送方及通讯第二方为信息接收方。本领域技术人员应该了解,上述实施例同样适用于非对称双向通信系统,即通信第一方为主控方,通讯第二方为受控方。在非对称双向通信系统系统中,从主控方到受控方的通信可靠度要求较高,而从受控方到主控方的通信可靠度要求较低。因此,非对称双向通信系统中,从主控方到受控方的通信可以参照如图2到图4的通信过程。从受控方到主控方的通信过程可以参照下述描述的图5及图6。
参阅图5所示,是本发明安全通信方法较佳实施例中非对称双向通信系统的受控方向主控方传送反馈数据的方法流程图。本实施例中,所述受控方为所述通信第二方2。根据不同的需求,图5所示数据处理方法中,步骤的执行顺序可以改变,某些步骤可以省略,而并不限于图5所示的步骤及顺序。
步骤S50,通信第二方2的反馈数据发送模块24从其易失性存储器21中获取所存储的会话密钥211。所述会话密钥211是利用如图2所示方法,从通信第一方1接收的。
步骤S51,所述反馈数据发送模块24从易失性存储器21中获取一发送序列号M,对序列号M进行自增。所述自增的方法可以是每发送一次,增加1,或者每隔预设时间,如50ms或者1s,增加1。
步骤S52,所述反馈数据发送模块24获取待发送的反馈数据,利用校验方法生成所述反馈数据、发送序列号M的校验认证码。所述校验方法包括可以是数据摘要算法,如各种哈希值,包括MD5、SHA等,或者校验码,如CRC等,以及消息认证码等。
步骤S53,所述反馈数据发送模块24利用所述会话密钥212对所述反馈数据以及所述校验认证码进行加密或者其他运算,生成一反馈数据帧。
步骤S54,所述反馈数据发送模块24将所述反馈数据帧、发送序列M发送给通信第一方1。
参阅图6所示,是本发明安全通信方法较佳实施例中非对称双向通信系统的主控方接收受控方反馈数据的方法流程图。本实施例中,所述主控方为通信第一方1。根据不同的需求,图6所示数据处理方法中,步骤的执行顺序可以改变,某些步骤可以省略,而并不限于图6所示的步骤及顺序。
步骤S60,通信第一方1的反馈数据接收模块14接收通信第二方2发送的数据包。
步骤S61,所述反馈数据接收模块14从易失性存储器11内获取一发送序列号m。
步骤S62,所述反馈数据接收模块14获取数据包中的发送序列号M,并判断是否M<=m。
若M<=m,则步骤S63,所述反馈数据接收模块14丢弃该数据包。
若M>m,则步骤S64,所述反馈数据接收模块14利用所述会话密钥111对所述反馈数据帧解密,获取其中的反馈数据及校验认证码。
步骤S65,所述反馈数据接收模块14利用所述校验认证码判断所述反馈数据是否准确。若所述反馈数据不准确,则执行上述的步骤S63,所述反馈数据接收模块14丢弃该数据包。
若所述反馈数据准确,则步骤S66,所述反馈数据接收模块14接收所述反馈数据,并将所述发送序列号M存储于易失性存储器内,并记为发送序列号m=M。
应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (70)

1.一种安全通信方法,由一通信第一方所执行,其特征在于,该方法包括:
获取通信第一方与一通信第二方配对时生成的秘密码字,并获取预先存储的产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
随机产生一会话密钥;
获取一密钥序列号N,并对密钥序列号N进行自增,及设置一初始值为0的发送序列号Q;
利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算,生成一密钥帧;
将所述密钥帧、密钥序列号N、发送序列号Q及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为密钥数据包;
获取发送序列号Q,并对发送序列号Q进行自增;
获取待发送的指令数据,利用所述会话密钥对所述指令数据以及所述指令数据的校验认证码进行加密,生成一指令数据帧;及
将所述指令数据帧、发送序列号Q以及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为指令数据包;
其中,所述密钥序列号N用于,当所述通信第二方接收所述通信第一方发送的密钥数据包中的密钥序列号N后,与读取的一密钥序列号n进行比较,在N<=n时,丢弃所述密钥数据包;在N>n时,获取所述秘密码字和所述产品密钥;
其中,所述发送序列号Q用于,当所述通信第二方接收所述通信第一方发送的指令数据包中的发送序列号Q后,与获取的一发送序列号q进行比较,当Q<=q时,丢弃所述指令数据包;当Q>q时,获取所述会话密钥。
2.如权利要求1所述的安全通信方法,其特征在于,所述通信第一方为控制方及通信第二方为受控方。
3.如权利要求2所述的安全通信方法,其特征在于,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
4.如权利要求3所述的安全通信方法,其特征在于,所述无人飞行器上的一个或者多个模块包括相机、云台。
5.如权利要求1所述的安全通信方法,其特征在于,该方法还包括:重复执行:
获取发送序列号Q,并对发送序列号Q进行自增;
获取待发送的指令数据,利用所述会话密钥对所述指令数据以及所述指令数据的校验认证码进行加密,生成一指令数据帧;及
将所述指令数据帧、发送序列号Q以及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为指令数据包;
直到所述通信第一方上电重启。
6.如权利要求1所述的安全通信方法,其特征在于,所述产品密钥是通信第一方在生产时,烧录在其安全存储区的。
7.如权利要求1所述的安全通信方法,其特征在于,所述模块密钥是对所述秘密码字及产品密钥执行派生算法得到的,所述派生算法包括加密、消息认证码。
8.如权利要求1所述的安全通信方法,其特征在于,所述会话密钥是使用随机数发生器动态产生的。
9.如权利要求1所述的安全通信方法,其特征在于,对密钥序列号N的自增方法包括每次生成会话密钥时,N值增加1。
10.如权利要求1所述的安全通信方法,其特征在于,所述发送序列号Q的自增方法包括每向通信第二方发送一次数据,则Q值增加1,或者每隔预设的时间段Q值增加1。
11.如权利要求1所述的安全通信方法,其特征在于,所述发送序列号Q在所述会话密钥发生变更时,重新归0,在所述会话密钥没有发生变更时,单调增长。
12.如权利要求1所述的安全通信方法,其特征在于,利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算的方法包括加密运算及/或消息认证码。
13.如权利要求1至12中任意一项所述的安全通信方法,其特征在于,所述模块密钥、发送序列号Q以及会话密钥存储于通信第一方的易失性存储器中。
14.如权利要求1至12中任意一项所述的安全通信方法,其特征在于,所述秘密码字以及密钥序列号N存储于所述通信第一方的非易失性存储器中。
15.一种安全通信方法,由一通信第一方所执行,其特征在于,该方法包括:
获取通信第一方与一通信第二方配对时生成的秘密码字,并获取一预先存储的产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
随机产生一会话密钥;
获取一密钥序列号N,对密钥序列号N进行自增,及设置一初始值为0的发送序列号Q;
利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算,生成一密钥帧;
将所述密钥帧、密钥序列号N、发送序列号Q及一数据类型的数据包发送给通信第二方,其中,所述数据类型指示所述数据包为密钥数据包;及
每隔预设的时间段执行将所述密钥帧、密钥序列号N、发送序列号Q及一数据类型的数据包发送给通信第二方;
其中,所述密钥序列号N用于,当所述通信第二方接收所述通信第一方发送的密钥数据包中的密钥序列号N后,与读取的一密钥序列号n进行比较,在N<=n时,丢弃所述密钥数据包;在N>n时,获取所述秘密码字和所述产品密钥。
16.如权利要求15所述的安全通信方法,其特征在于,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
17.如权利要求16所述的安全通信方法,其特征在于,所述产品密钥是通信第一方在生产时,烧录在其安全存储区的。
18.如权利要求15或17所述的安全通信方法,其特征在于,所述秘密码字及所述密钥序列号N存储于所述通信第一方的非易失性存储器中。
19.如权利要求15或17所述的安全通信方法,其特征在于,所述模块密钥、会话密钥及发送序列号Q存储于所述通信第一方的易失性存储器中。
20.如权利要求15所述的安全通信方法,其特征在于,所述密钥序列号N在每次生成会话密钥时,该N的值进行自增。
21.一种安全通信方法,由一通信第二方所执行,其特征在于,该方法包括:
接收配对的通信第一方传送的密钥数据包;
读取一密钥序列号n;
获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;
在N>n时,获取通信第二方与所述通信第一方配对时生成的秘密码字,并获取一产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
利用所述模块密钥解密所述密钥数据包,得到一会话密钥及校验认证码;
当利用所述校验认证码验证所述会话密钥不正确时,丢弃所述密钥数据包;
当所述会话密钥正确时,存储所述会话密钥;
接收通信第一方传送的指令数据包;
获取一发送序列号q;
获取所述指令数据包中的发送序列号Q,当Q<=q时,丢弃所述指令数据包;
当Q>q时,获取所述会话密钥;
利用所述会话密钥解密指令数据包,得到指令数据及校验认证码;
当利用所述校验认证码验证所述指令数据不正确时,丢弃所述指令数据包;及
当所述指令数据正确时,执行所述指令。
22.如权利要求21所述的安全通信方法,其特征在于,所述通信第一方为控制方及通信第二方为受控方。
23.如权利要求22所述的安全通信方法,其特征在于,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
24.如权利要求23所述的安全通信方法,其特征在于,所述无人飞行器上的一个或者多个模块包括相机、云台。
25.如权利要求24所述的安全通信方法,其特征在于,所述产品密钥存储在通信第二方的安全存储区。
26.如权利要求21所述的安全通信方法,其特征在于,所述模块密钥是对所述秘密码字及产品密钥执行派生算法得到的,所述派生算法包括加密、消息认证码。
27.如权利要求21至26中任意一项所述的安全通信方法,其特征在于,该方法还包括:
将所述模块密钥以及所接收的发送序列号Q以及会话密钥存储于通信第二方的易失性存储器中,并记发送序列号q=Q。
28.如权利要求21至26中任意一项所述的安全通信方法,其特征在于,该方法还包括:
将所述密钥序列号N存储于所述通信第二方的非易失性存储器中,并记密钥序列号n=N。
29.一种安全通信方法,由一通信第二方所执行,其特征在于,该方法包括:
接收配对的通信第一方传送的密钥数据包;
获取一预先存储的密钥序列号n;
获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;
在N>n时,获取通信第二方与所述通信第一方配对时生成的秘密码字,及获取一预先存储的产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
利用所述模块密钥解密所述密钥数据包,得到一会话密钥及校验认证码;
当利用所述校验认证码验证所述会话密钥不正确时,丢弃所述密钥数据包;及
当所述会话密钥正确时,存储所述会话密钥。
30.如权利要求29所述的安全通信方法,其特征在于,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
31.如权利要求29所述的安全通信方法,其特征在于,所述产品密钥存储在通信第二方的安全存储区。
32.如权利要求29或31所述的安全通信方法,其特征在于,所述秘密码字及所述密钥序列号n存储于所述通信第二方的非易失性存储器中。
33.一种安全通信方法,由一通信第二方所执行,其特征在于,该方法包括:
获取一会话密钥;
获取一发送序列号M,并对发送序列号M进行自增;
获取待发送的反馈数据,利用所述会话密钥对所述反馈数据以及反馈数据的校验认证码进行加密,生成一反馈数据帧;及
将所述反馈数据帧、发送序列号M发送给配对的通信第一方;
其中,所述会话密钥通过下述方法得到:
接收所述通信第一方传送的密钥数据包;
获取一预先存储的密钥序列号n;
获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;
在N>n时,获取通信第二方与所述通信第一方配对时生成的秘密码字,及获取一预先存储的产品密钥;
基于所述秘密码字及产品密钥得到一模块密钥;
利用所述模块密钥解密所述密钥数据包,得到一会话密钥及校验认证码;
当利用所述校验认证码验证所述会话密钥不正确时,丢弃所述密钥数据包;及
当所述会话密钥正确时,存储所述会话密钥。
34.如权利要求33所述的安全通信方法,其特征在于,所述通信第一方为主控方,所述通信第二方为受控方。
35.如权利要求34所述的安全通信方法,其特征在于,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
36.如权利要求35所述的安全通信方法,其特征在于,所述无人飞行器上的一个或者多个模块包括相机、云台。
37.如权利要求33所述的安全通信方法,其特征在于,所述产品密钥存储在通信第二方的安全存储区。
38.如权利要求33所述的安全通信方法,其特征在于,所述秘密码字及所述密钥序列号n存储于所述通信第二方的非易失性存储器中。
39.一种安全通信方法,其特征在于,该方法包括:
通信第一方利用一模块密钥对一随机产生的会话密钥进行加密,并传送给通信第二方;
所述通信第二方利用所述模块密钥对所述会话密钥进行解密,得到所述会话密钥;
其中,所述模块密钥由通信第二方通过下述方法得到:
接收配对的通信第一方传送的密钥数据包;
获取一预先存储的密钥序列号n;
获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;
在N>n时,获取通信第二方与所述通信第一方配对时生成的秘密码字,及获取一预先存储的产品密钥;
基于所述秘密码字及产品密钥得到所述模块密钥。
40.如权利要求39所述的安全通信方法,其特征在于,
基于所述秘密码字及产品密钥,通过派生算法得到所述模块密钥。
41.如权利要求39所述的安全通信方法,其特征在于,所述通信第一方为控制方及通信第二方为受控方。
42.如权利要求41所述的安全通信方法,其特征在于,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
43.如权利要求42所述的安全通信方法,其特征在于,所述无人飞行器上的一个或者多个模块包括相机、云台。
44.如权利要求39所述的安全通信方法,其特征在于,所述通信第一方及通信第二方均既是信息发送方又是信息接收方。
45.如权利要求44所述的安全通信方法,其特征在于,所述通信第一方及通信第二方是两个无人飞行器、或者是无人飞行器的两个模块。
46.一种通信装置,其特征在于,该装置包括:
认证发送模块,用于获取所述通信装置与另一通信装置配对时生成的秘密码字,并获取预先存储的产品密钥;基于所述秘密码字及产品密钥得到一模块密钥;随机产生一会话密钥;获取一密钥序列号N,并对序列号N进行自增,及设置一初始值为0的发送序列号Q;利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算,生成一密钥帧;将所述密钥帧、密钥序列号N、发送序列号Q及一数据类型的数据包发送给另一通信装置,其中,所述数据类型指示所述数据包为密钥数据包;及
指令发送模块,用于获取所述发送序列号Q,并对发送序列号Q进行自增;获取待发送的指令数据,利用所述会话密钥对所述指令数据以及所述指令数据的校验认证码进行加密,生成一指令数据帧;及将所述指令数据帧、发送序列号Q以及一数据类型的数据包发送给另一通信装置,其中,所述数据类型指示所述数据包为指令数据包;
其中,所述密钥序列号N用于,当所述另一通信装置接收所述通信装置发送的密钥数据包中的密钥序列号N后,与读取的一密钥序列号n进行比较,在N<=n时,丢弃所述密钥数据包;在N>n时,获取所述秘密码字和所述产品密钥;
其中,所述发送序列号Q用于,当所述另一通信装置接收所述通信装置发送的指令数据包中的发送序列号Q后,与获取的一发送序列号q进行比较,当Q<=q时,丢弃所述指令数据包;当Q>q时,获取所述会话密钥。
47.如权利要求46所述的通信装置,其特征在于,所述通信装置为飞行遥控器。
48.如权利要求46所述的通信装置,其特征在于,所述通信装置包括一个或者多个非易失性存储器,用于存储所述产品密钥、秘密码字以及密钥序列号N。
49.如权利要求46所述的通信装置,其特征在于,所述通信装置包括一个或者多个易失性存储器,用于存储所述模块密钥、会话密钥以及发送序列号Q。
50.如权利要求46所述的通信装置,其特征在于,所述模块密钥是对所述秘密码字及产品密钥执行派生算法得到的,所述派生算法包括加密、消息认证码。
51.如权利要求46所述的通信装置,其特征在于,所述会话密钥是使用随机数发生器动态产生的。
52.如权利要求46所述的通信装置,其特征在于,对序列号N的自增方法包括每次生成会话密钥时,N值增加1。
53.如权利要求46所述的通信装置,其特征在于,所述序列号Q的自增方法包括每向另一通信装置发送一次数据,则Q值增加1,或者每隔预设的时间段Q值增加1。
54.如权利要求46所述的通信装置,其特征在于,利用所述模块密钥对所述会话密钥及所述会话密钥的校验认证码进行运算的方法包括加密运算及/或消息认证码。
55.一种通信装置,其特征在于,该通信装置包括:
认证接收模块,用于接收配对的另一通信装置传送的密钥数据包;读取一密钥序列号n;获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;在N>n时,获取通信装置与另一通信装置配对时生成的秘密码字,并获取一产品密钥;基于所述秘密码字及产品密钥得到一模块密钥;利用所述模块密钥解密所述密钥数据包,得到一会话密钥及校验认证码;当利用所述校验认证码验证所述会话密钥不正确时,丢弃所述密钥数据包;当所述会话密钥正确时,存储所述会话密钥;及
指令执行模块,用于接收另一通信装置传送的指令数据包;获取一发送序列号q;获取所述指令数据包中的发送序列号Q,当Q<=q时,丢弃所述指令数据包;当Q>q时,获取所述会话密钥;利用所述会话密钥解密指令数据包,得到指令数据及校验认证码;当利用所述校验认证码验证所述指令数据不正确时,丢弃所述指令数据包;及当所述指令数据正确时,执行所述指令。
56.如权利要求55所述的通信装置,其特征在于,所述通信装置为无人飞行器或者无人飞行器上的一个或者多个模块。
57.如权利要求56所述的通信装置,其特征在于,所述无人飞行器上的一个或者多个模块包括相机、云台。
58.如权利要求55所述的通信装置,其特征在于,所述通信装置包括非易失性存储器,用于存储所述产品密钥、密钥码字以及密钥序列号n。
59.如权利要求58所述的通信装置,其特征在于,所述认证接收模块还用于将所述密钥序列号N存储于所述非易失性存储器中,并记密钥序列号n=N。
60.如权利要求55所述的通信装置,其特征在于,所述通信装置包括易失性存储器,用于存储所述模块密钥、会话密钥及发送序列号q。
61.如权利要求60所述的通信装置,其特征在于,所述指令执行模块还用于将所接收的发送序列号Q以及会话密钥存储于所述通信装置的易失性存储器中,并记发送序列号q=Q。
62.如权利要求55所述的通信装置,其特征在于,所述模块密钥是对所述秘密码字及产品密钥执行派生算法得到的,所述派生算法包括加密、消息认证码。
63.如权利要求55所述的通信装置,其特征在于,所述通信装置还包括:
反馈数据发送模块,用于获取所述会话密钥;
获取一发送序列号M,并对发送序列号M进行自增;
获取待发送的反馈数据,利用所述会话密钥对所述反馈数据以及反馈数据的校验认证码进行加密,生成一反馈数据帧;及
将所述反馈数据帧、发送序列号M发送给配对的另一通信装置。
64.一种安全通信系统,包括通过无线网络进行通信的通信第一方及通信第二方,其特征在于:
所述通信第一方利用一模块密钥对一随机产生的会话密钥进行加密,并传送给通信第二方;及
所述通信第二方利用所述模块密钥对所述会话密钥进行解密,得到所述会话密钥;
其中,所述模块密钥由通信第二方通过下述方法得到:
接收配对的通信第一方传送的密钥数据包;
获取一预先存储的密钥序列号n;
获取密钥数据包中的密钥序列号N,在N<=n时,丢弃所述密钥数据包;
在N>n时,获取通信第二方与所述通信第一方配对时生成的秘密码字,及获取一预先存储的产品密钥;
基于所述秘密码字及产品密钥得到所述模块密钥。
65.如权利要求64所述的安全通信系统,其特征在于,
基于所述秘密码字及产品密钥,通过派生算法得到所述模块密钥。
66.如权利要求64所述的安全通信系统,其特征在于,所述通信第一方为控制方及通信第二方为受控方。
67.如权利要求66所述的安全通信系统,其特征在于,所述通信第一方为飞行遥控器及所述通信第二方为无人飞行器或者无人飞行器上的一个或者多个模块。
68.如权利要求67所述的安全通信系统,其特征在于,所述无人飞行器上的一个或者多个模块包括相机、云台。
69.如权利要求64所述的安全通信系统,其特征在于,所述通信第一方及通信第二方均既是信息发送方又是信息接收方。
70.如权利要求69所述的安全通信系统,其特征在于,所述通信第一方及通信第二方是两个无人飞行器、或者是无人飞行器的两个模块。
CN201580071830.6A 2015-12-10 2015-12-10 安全通信系统、方法及装置 Expired - Fee Related CN107113171B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/097060 WO2017096599A1 (zh) 2015-12-10 2015-12-10 安全通信系统、方法及装置

Publications (2)

Publication Number Publication Date
CN107113171A CN107113171A (zh) 2017-08-29
CN107113171B true CN107113171B (zh) 2019-03-29

Family

ID=59012552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580071830.6A Expired - Fee Related CN107113171B (zh) 2015-12-10 2015-12-10 安全通信系统、方法及装置

Country Status (3)

Country Link
US (1) US10833853B2 (zh)
CN (1) CN107113171B (zh)
WO (1) WO2017096599A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118210B (zh) * 2019-06-20 2023-09-01 阿里巴巴集团控股有限公司 一种认证密钥配置方法、设备、系统及存储介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017096599A1 (zh) * 2015-12-10 2017-06-15 深圳市大疆创新科技有限公司 安全通信系统、方法及装置
US10511446B2 (en) * 2017-09-22 2019-12-17 Cisco Technology, Inc. Methods and apparatus for secure device pairing for secure network communication including cybersecurity
WO2020107486A1 (zh) * 2018-11-30 2020-06-04 深圳市大疆创新科技有限公司 一种数据传输方法、设备、终端、服务器及存储介质
WO2020133085A1 (zh) * 2018-12-27 2020-07-02 深圳市大疆软件科技有限公司 信息传输方法、存储介质、信息传输系统及无人飞行器
EP3697052A1 (de) * 2019-02-14 2020-08-19 Siemens Aktiengesellschaft Verfahren und system zum übertragen von daten in einem netzwerk
CN109862022B (zh) * 2019-02-27 2021-06-18 中国电子科技集团公司第三十研究所 一种基于方向的协议新鲜性检查方法
US11336683B2 (en) 2019-10-16 2022-05-17 Citrix Systems, Inc. Systems and methods for preventing replay attacks
KR102364450B1 (ko) * 2019-12-06 2022-02-17 서강대학교 산학협력단 블록체인을 기반으로 한 센서 네트워크 시스템 및 상기 센서 네트워크 시스템에서의 동적 링크키 생성 방법
CN111917972B (zh) * 2019-12-31 2021-07-30 宁波大学 一种移动网络摄像机控制方法
CN111541715B (zh) * 2020-05-11 2022-05-20 青岛海信网络科技股份有限公司 一种交通信号控制机与上位机之间通信的改进方法及装置
CN111884797B (zh) * 2020-07-22 2023-11-24 北京市建筑设计研究院有限公司 一种安全加密密钥更新方法
CN114389793B (zh) * 2020-10-16 2024-03-08 中移动信息技术有限公司 会话密钥验证的方法、装置、设备及计算机存储介质
CN114697051B (zh) * 2020-12-25 2024-01-09 华为技术有限公司 安全传输数据的方法、装置及系统
CN113726796B (zh) * 2021-08-31 2023-10-27 深圳平安智慧医健科技有限公司 基于医疗物联网的数据交互方法、装置、设备及介质
US11570180B1 (en) * 2021-12-23 2023-01-31 Eque Corporation Systems configured for validation with a dynamic cryptographic code and methods thereof

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040218762A1 (en) * 2003-04-29 2004-11-04 Eric Le Saint Universal secure messaging for cryptographic modules
IL155671A (en) * 2003-04-30 2004-12-15 Elad Barkan Method and system of encryption decryption
CN100544249C (zh) * 2004-10-29 2009-09-23 大唐移动通信设备有限公司 移动通信用户认证与密钥协商方法
CN100571124C (zh) * 2005-06-24 2009-12-16 华为技术有限公司 防止重放攻击的方法以及保证消息序列号不重复的方法
US20070014403A1 (en) * 2005-07-18 2007-01-18 Creative Technology Ltd. Controlling distribution of protected content
CN101286997B (zh) * 2008-06-05 2011-08-17 北京中星微电子有限公司 数据可靠性验证方法、系统及发送设备和接收设备
CN101826960A (zh) * 2010-04-16 2010-09-08 中国电子科技集团公司第二十八研究所 一种实时传输加解密数据的校验方法
US20120284524A1 (en) * 2011-05-03 2012-11-08 Texas Instruments Incorporated Low overhead nonce construction for message security
EP2629223A1 (en) * 2012-02-14 2013-08-21 Thomson Licensing System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
IN2015DN00854A (zh) * 2012-07-09 2015-06-12 Debiotech Sa
CN102769572B (zh) * 2012-07-30 2014-12-24 福建星网锐捷网络有限公司 报文防重放方法及装置、网络设备
US9094191B2 (en) * 2013-03-14 2015-07-28 Qualcomm Incorporated Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks
DE102013206202A1 (de) * 2013-04-09 2014-10-30 Robert Bosch Gmbh Sensormodul und Verfahren zum Betreiben eines Sensorsmoduls
US9633547B2 (en) * 2014-05-20 2017-04-25 Ooma, Inc. Security monitoring and control
CN104023013B (zh) * 2014-05-30 2017-04-12 上海帝联信息科技股份有限公司 数据传输方法、服务端和客户端
US10073449B1 (en) * 2014-11-18 2018-09-11 Amazon Technologies, Inc. Unmanned aerial vehicle data services
CN104579562A (zh) * 2014-12-24 2015-04-29 北京世纪东方国铁科技股份有限公司 数据传输装置及方法
WO2017096599A1 (zh) * 2015-12-10 2017-06-15 深圳市大疆创新科技有限公司 安全通信系统、方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118210B (zh) * 2019-06-20 2023-09-01 阿里巴巴集团控股有限公司 一种认证密钥配置方法、设备、系统及存储介质

Also Published As

Publication number Publication date
US20180295516A1 (en) 2018-10-11
US10833853B2 (en) 2020-11-10
WO2017096599A1 (zh) 2017-06-15
CN107113171A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
CN107113171B (zh) 安全通信系统、方法及装置
CN108064440B (zh) 基于区块链的fido认证方法、装置及系统
US10454913B2 (en) Device authentication agent
CN103051628B (zh) 基于服务器获取认证令牌的方法及系统
US20200287726A1 (en) Remote device control
US8526606B2 (en) On-demand secure key generation in a vehicle-to-vehicle communication network
US20200259667A1 (en) Distributed management system for remote devices and methods thereof
US10305887B2 (en) Method and system for hand held terminal security
US8898475B2 (en) Method, controller and system for detecting infringements of the authenticity of system components
CN107948183B (zh) 一种适用于物联网的密钥分配方法及系统
Lipps et al. Proof of concept for IoT device authentication based on SRAM PUFs using ATMEGA 2560-MCU
US20060224889A1 (en) Methods for authenticating an identity of an article in electrical communication with a verifier system
US10873460B2 (en) UAV authentication method and system
EP3563516B1 (en) Pseudo-random generation of matrices for a computational fuzzy extractor and method for authentication
CN109937419A (zh) 安全功能强化的设备的初始化方法及设备的固件更新方法
CN110189442A (zh) 认证方法及装置
CN104539420B (zh) 一种通用的智能硬件的安全密钥管理方法
CN104821933A (zh) 证书生成的设备和方法
CN103152366A (zh) 获得终端权限的方法、终端及服务器
US9773129B2 (en) Anti-replay protected flash
CN108650261B (zh) 基于远程加密交互的移动终端系统软件烧录方法
CN112653553B (zh) 物联网设备身份管理系统
CN103138923A (zh) 一种节点间认证方法、装置及系统
CN113872986B (zh) 配电终端认证方法、装置和计算机设备
CN115865448A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190329

CF01 Termination of patent right due to non-payment of annual fee