CN108667601B - 一种传输数据的方法、装置和设备 - Google Patents
一种传输数据的方法、装置和设备 Download PDFInfo
- Publication number
- CN108667601B CN108667601B CN201710210007.XA CN201710210007A CN108667601B CN 108667601 B CN108667601 B CN 108667601B CN 201710210007 A CN201710210007 A CN 201710210007A CN 108667601 B CN108667601 B CN 108667601B
- Authority
- CN
- China
- Prior art keywords
- key
- identifier
- data
- message
- receiver
- 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.)
- Active
Links
Images
Classifications
-
- 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/40—Network security protocols
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
Abstract
本公开提供了一种传输数据的方法、装置和设备,属于通信技术领域。所述方法包括:接收第一设备的通信消息,所述通信消息中携带有密钥标识、加密数据和第一消息验证码,其中,所述加密数据是通过所述密钥标识对应的密钥对待发送的目标数据加密得到的数据,所述第一消息验证码是根据所述密钥、所述目标数据和预设的辅助验证信息生成的验证码;获取所述密钥标识对应的密钥和所述辅助验证信息;根据所述密钥、所述第一消息验证码和所述辅助验证信息对所述加密数据进行验证。本公开可以提高传输数据的可靠性。
Description
技术领域
本公开涉及通信技术领域,特别涉及一种传输数据的方法、装置和设备。
背景技术
目前,通信网络的应用越来越广泛,人们可以通过通信网络实现信息化和远程管理控制。通信网络中两个设备跨越多个节点传输数据的多跳传输是常见的传输方式。在多跳传输的过程中,各设备将数据发送给与其相邻的设备,相邻设备根据某种方式(例如IP路由算法,或其他方式)将数据转发给自身相邻的设备,再由该设备进行转发,直到转发至接收方为止。例如,物联网通信网络可以包括业务服务器、平台服务器、网关和家庭中安装的摄像头,摄像头向业务服务器发送数据的传输路径为摄像头、网关、平台服务器、业务服务器。
为了提高传输数据的安全性,可以对待发送的数据进行加密传输,其中一种常见的处理过程可以为:发送设备在认证服务器中注册密钥并获得密钥标识,用该密钥对待发送的数据进行加密,然后向接收设备发送通信消息,该通信消息中携带加密后的数据和密钥标识等。接收设备接收到该通信消息后,可以根据密钥标识从认证服务器中获取相应的密钥,对加密后的数据进行解密,从而获取到数据原文。
在实际中,经常会出现数据被多个设备所需要的情况。例如,在家的用户通过访问本地的网关获取监控数据,外出的用户可以通过访问业务服务器获取监控数据,此时网关和业务服务器均需要获得监控数据。或者,一个人的健康数据(例如血糖,血压,体重等等)需要发送给远程诊断中心或者健身房中心,以获取日常注意指导或健身指导。为了确保安全,发送给网关和业务服务器的监控数据,或者发送给远程诊断中心或健身房中心的健康数据,均可采用上述方式进行加密传输。但这种情况下,若某一接收设备的传输路径中包含其他可以拥有密钥的接收设备(称中间设备),则会带来安全隐患,例如,若中间设备被入侵,则入侵者可以通过该密钥解密得到数据原文,对数据原文进行篡改,然后再用该密钥进行加密,将加密后的数据发送给该接收设备,而该接收设备无法获知该数据已被篡改,导致传输数据的可靠性降低。
发明内容
为了解决现有技术的问题,本公开实施例提供了一种传输数据的方法、装置和设备。所述技术方案如下:
第一方面,提供了一种传输数据的方法,所述方法包括:
接收第一设备的通信消息,所述通信消息中携带有密钥标识、加密数据和第一消息验证码,其中,所述加密数据是通过所述密钥标识对应的密钥对待发送的目标数据加密得到的数据,所述第一消息验证码是根据所述密钥、所述目标数据和预设的辅助验证信息生成的验证码;
获取所述密钥标识对应的密钥和所述辅助验证信息;
根据所述密钥、所述第一消息验证码和所述辅助验证信息对所述加密数据进行验证。
本公开实施例中,接收方接收第一设备发送的通信消息,该通信消息中携带有密钥标识、加密数据和第一消息验证码,接收方可以获取该密钥标识对应的密钥和辅助验证信息,根据该密钥、第一消息验证码和辅助验证信息对加密数据进行验证,从而判断加密数据是否篡改,提高了传输数据的可靠性。
在一种可能的实现方式中,所述获取所述密钥标识对应的密钥和所述辅助验证信息,包括:
向认证服务器发送密钥获取请求,所述密钥获取请求中携带有所述密钥标识和本地的标识;
接收所述认证服务器发送的第一响应消息,所述第一响应消息中携带有所述密钥标识对应的密钥和所述辅助验证信息。
这样,提供了一种获取密钥和辅助验证信息的实现方式。
在另一种可能的实现方式中,所述根据所述密钥、所述第一消息验证码和所述辅助验证信息对所述加密数据进行验证,包括:
基于所述密钥对所述加密数据进行解密;
根据所述密钥、所述辅助验证信息和解密得到的数据生成第二消息验证码,如果所述第一消息验证码与所述第二消息验证码不匹配,则所述加密数据验证未通过。
这样,提供了一种对加密数据进行验证的实现方式。
在另一种可能的实现方式中,所述方法还包括:
如果验证未通过,则向所述认证服务器发送数据异常通知。
这样,可以通知认证服务器数据出现异常,以便认证服务器按照预设的安全策略进行处理,提高数据的安全性。
在另一种可能的实现方式中,所述接收第一设备发送的通信消息之前,还包括:
向所述第一设备发送数据获取请求,以使所述第一设备发送所述通信消息。
这样,第二设备可以主动获取第一设备的数据。
在另一种可能的实现方式中,所述接收第一设备的通信消息,包括:
接收第三设备转发的第一设备的通信消息,所述第三设备是接收所述目标数据的传输路中的其他接收方。
第二方面,提供了一种传输数据的方法,所述方法包括:
接收第二设备发送的密钥获取请求,所述密钥获取请求中携带有密钥标识和所述第二设备的标识;
获取预先存储的所述密钥标识对应的密钥,以及所述第二设备的标识对应的辅助验证信息;
向所述第二设备发送第一响应消息,所述第一响应消息中携带有所述密钥和所述辅助验证信息,以使所述第二设备对接收到的加密数据进行验证。
本公开实施例中,接收方接收第一设备发送的通信消息,该通信消息中携带有密钥标识、加密数据和第一消息验证码,接收方可以获取该密钥标识对应的密钥和辅助验证信息,根据该密钥、第一消息验证码和辅助验证信息对加密数据进行验证,从而判断加密数据是否篡改,提高了传输数据的可靠性。
在一种可能的实现方式中,所述方法还包括:
接收第一设备发送的密钥注册请求,所述密钥注册请求中携带有所述目标数据的接收方的标识和所述第一设备的标识;
根据所述第一设备的标识和所述接收方的标识,获取各接收方对应的传输路径;
如果所述接收方中的所述第二设备对应的传输路径中,存在所述目标数据的其他接收方,则生成所述第二设备对应的辅助验证信息;
向所述第一设备发送第二响应消息,所述第二响应消息中携带有所述第二设备对应的辅助验证信息。
这样,提供了注册密钥以及生成辅助验证信息的实现方式。
在另一种可能的实现方式中,所述根据所述第一设备的标识和所述目标数据的接收方的标识,获取各接收方对应的传输路径,包括:
根据所述第一设备的标识和所述目标数据的接收方的标识,在预设的传输路径中查询各接收方对应的传输路径;或者,
根据所述第一设备的标识和所述目标数据的接收方的标识,生成各接收方对应的传输路径。
这样,提供了获取传输路径的实现方式。
在另一种可能的实现方式中,所述方法还包括:
接收所述第二设备发送的数据异常通知;
根据所述第二设备对应的传输路径,以及所述传输路径中的其他接收方,确定所述传输路径中的异常设备,向所述第一设备发送对应所述异常设备的告警消息。
这样,可以确定发生异常的设备,并可以通知第一设备,第一设备可以停止向异常设备发送通信消息,以防止数据被篡改。
第三方面,提供了一种传输数据的方法,所述方法包括:
获取待发送的目标数据;
基于预设的密钥对所述目标数据进行加密,得到加密数据,并根据接收所述目标数据的第二设备对应的预先存储的辅助验证信息、所述密钥和所述目标数据生成第一消息验证码,其中,所述第二设备对应的传输路径中存在所述目标数据的其他接收方;
向所述第二设备发送通信消息,所述通信消息中携带有所述密钥的密钥标识、所述加密数据和所述第一消息验证码。
本公开实施例中,接收方接收第一设备发送的通信消息,该通信消息中携带有密钥标识、加密数据和第一消息验证码,接收方可以获取该密钥标识对应的密钥和辅助验证信息,根据该密钥、第一消息验证码和辅助验证信息对加密数据进行验证,从而判断加密数据是否篡改,提高了传输数据的可靠性。
在一种可能的实现方式中,所述方法还包括:
向认证服务器发送密钥注册请求,所述密钥注册请求中携带有所述目标数据的接收方的标识和本地的标识;
接收所述认证服务器发送的第二响应消息,所述第二响应消息中携带有所述第二设备对应的辅助验证信息。
这样,提供了注册密钥以及生成辅助验证信息的实现方式。
在另一种可能的实现方式中,所述获取待发送的目标数据之前,还包括:
当接收到所述第二设备发送的数据获取请求时,执行获取待发送的目标数据的步骤。
这样,第二设备可以主动获取第一设备的数据。
在另一种可能的实现方式中,所述向所述第二设备发送通信消息,包括:
向第三设备发送所述通信消息,以使所述第三设备将所述通信消息转发给所述第二设备,所述第三设备是所述第二设备对应的传输路径中的其他接收方。
第四方面,提供了一种第二设备,该第二设备包括:第一处理器、第一网络接口、第一存储器、第一发射器和第一接收器,第一存储器与第一网络接口分别与第一处理器相连;第一处理器被配置为执行第一存储器中存储的指令;第一处理器通过执行指令来实现上述第一方面或第一方面中任意一种可能的实现方式所提供的传输数据的方法。
第五方面,本发明实施例提供了一种传输数据的装置,该传输数据的装置包括至少一个单元,该至少一个单元用于实现上述第一方面或第一方面中任意一种可能的实现方式所提供的传输数据的方法。
第六方面,提供了一种认证服务器,该认证服务器包括:第二处理器、第二网络接口、第二存储器、第二接收器和第二发射器,第二存储器与第二网络接口分别与第二处理器相连;第二处理器被配置为执行第二存储器中存储的指令;第二处理器通过执行指令来实现上述第二方面或第二方面中任意一种可能的实现方式所提供的传输数据的方法。
第七方面,本发明实施例提供了一种传输数据的装置,该传输数据的装置包括至少一个单元,该至少一个单元用于实现上述第二方面或第二方面中任意一种可能的实现方式所提供的传输数据的方法。
第八方面,提供了一种第一设备,该第一设备包括:第三处理器、第三网络接口、第三存储器、第三接收器和第三发射器,第三存储器与第三网络接口分别与第三处理器相连;第三处理器被配置为执行第三存储器中存储的指令;第三处理器通过执行指令来实现上述第三方面或第三方面中任意一种可能的实现方式所提供的传输数据的方法。
第九方面,本发明实施例提供了一种传输数据的装置,该传输数据的装置包括至少一个单元,该至少一个单元用于实现上述第三方面或第三方面中任意一种可能的实现方式所提供的传输数据的方法。
第十方面,本发明实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面至第三方面任意一种可能的实现方式所提供的传输数据的方法。
本公开实施例提供的技术方案带来的有益效果是:
本公开实施例中,接收方接收第一设备发送的通信消息,该通信消息中携带有密钥标识、加密数据和第一消息验证码,接收方可以获取该密钥标识对应的密钥和辅助验证信息,根据该密钥、第一消息验证码和辅助验证信息对加密数据进行验证,从而判断加密数据是否篡改,提高了传输数据的可靠性。
附图说明
图1是本公开实施例提供的系统框架图;
图2是本公开实施例提供的第二设备的结构示意图;
图3是本公开实施例提供的认证服务器的结构示意图;
图4是本公开实施例提供的第一设备的结构示意图;
图5是本公开实施例提供的传输数据的方法流程图;
图6是本公开实施例提供的传输数据的方法流程图;
图7是本公开实施例提供的传输数据的方法流程图;
图8是本公开实施例提供的传输数据的装置结构示意图;
图9是本公开实施例提供的传输数据的装置结构示意图;
图10是本公开实施例提供的传输数据的装置结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
随着通信网络的发展,设备之间的通讯方式越来越多样化。在机器通信(Machine-to-Machine Communications,M2M)系统中,通常会包含多层设备,例如,在智能监控的场景中,可以包括业务服务器、网关和家庭中安装的摄像头这三层设备。其中,层次相邻的设备,可称为相邻的设备。在多跳传输的过程中,各设备将数据发送给与其相邻的设备,相邻设备根据某种方式(例如IP路由算法,或其他方式)将数据转发给,直到转发至接收方为止。本发明实施例中,M2M系统可以包含应用服务节点(Application Service Node,ASN)、中间节点(Middle Node,MN)、基础设施节点(Infrastructure Node,IN)、M2M认证功能(M2MAuthentication Function,MAF)设备和业务服务器。其中,ASN可以为终端设备,比如智能摄像头或智能空调等,ASN可以包含一个公共服务实体(Common Service Entity,CSE)和至少一个应用实体(Application Entity,AE);MN可以为M2M系统中的网关设备,比如家庭网关,MN可以包含一个CSE,以及任意数目个AE;IN可以包含一个CSE,以及任意数目个AE;MAF可以是M2M系统在运行过程中为各设备注册和发放密钥的设备,可称为认证服务器;业务服务器可以是M2M系统中某业务的后台服务器,可以包含一个AE,比如某智能摄像头的后台服务器。如图1所示,为本实施提供的系统框架图,其中包括MAF001、AE002(即业务服务器)、IN003、MN004和ASN005。其中,MAF001可以与IN003、AE002建立数据连接,还可以与至少一个MN 004和ASN005建立数据连接。该数据连接可以是传输层安全(Transport LayerSecurity,TLS)协议连接,或数据包传输层安全性(Datagram Transport Layer Security,DTLS)协议连接。
需要说明的是,上述设备可以是一个单独的设备或服务器,也可以是某设备或某服务器中的一个功能模块。在传输数据时,可以是终端设备向上级设备(即网关设备或业务服务器)发送数据,也可以是上级设备向终端设备发送数据。为了便于描述,本实施例中发送方可称为第一设备,接收方可称为第二设备,第一设备与第二设备的传输路径中,可以存在至少一个中间设备,中间设备中可以存在至少一个待传输数据(即下文中的目标数据)的其他接收方。
参见图2,其示出了本发明示例性实施例提供的用于接收通信消息的第二设备,该第二设备10包括第一收发器1011和第一存储器1012,该第二设备还可以包括第一处理器1013和第一网络接口1014。其中,第一存储器1012和第一网络接口1014分别与第一处理器1013连接;第一存储器1012用于存储程序代码,程序代码包括计算机操作指令,第一处理器1013和第一收发器1011用于执行第一存储器1012中存储的程序代码,用于实现传输数据的相关处理,并可以通过第一网络接口1014与第一设备和认证服务器进行交互。
其中,第一存储器1012与第一网络接口1014分别与第一处理器1013和第一收发器1011相连,第一收发器1011可以包括第一发射器和第一接收器。
第一存储器1012可用于存储软件程序以及单元。具体的,第一存储器1012可存储第一操作系统10121、至少一个功能所需的第一应用程序单元10122。第一操作系统10121可以是实时操作系统(Real Time eXecutive,RTX)、LINUX、UNIX、WINDOWS或OS X之类的操作系统。
第一处理器1013包括一个或者一个以上处理核心。第一处理器1013通过运行软件程序以及单元,从而执行以下传输数据的操作的指令:
接收第一设备的通信消息,所述通信消息中携带有密钥标识、加密数据和第一消息验证码,其中,所述加密数据是通过所述密钥标识对应的密钥对待发送的目标数据加密得到的数据,所述第一消息验证码是根据所述密钥、所述目标数据和预设的辅助验证信息生成的验证码;
获取所述密钥标识对应的密钥和所述辅助验证信息;
根据所述密钥、所述第一消息验证码和所述辅助验证信息对所述加密数据进行验证。
在一种可能的实现方式中,所述获取所述密钥标识对应的密钥和所述辅助验证信息,包括:
向认证服务器发送密钥获取请求,所述密钥获取请求中携带有所述密钥标识和本地的标识;
接收所述认证服务器发送的第一响应消息,所述第一响应消息中携带有所述密钥标识对应的密钥和所述辅助验证信息。
在一种可能的实现方式中,所述根据所述密钥、所述第一消息验证码和所述辅助验证信息对所述加密数据进行验证,包括:
基于所述密钥对所述加密数据进行解密;
根据所述密钥、所述辅助验证信息和解密得到的数据生成第二消息验证码,如果所述第一消息验证码与所述第二消息验证码不匹配,则所述加密数据验证未通过。
在一种可能的实现方式中,所述方法还包括:
如果验证未通过,则向所述认证服务器发送数据异常通知。
在一种可能的实现方式中,所述接收第一设备发送的通信消息之前,还包括:
向所述第一设备发送数据获取请求,以使所述第一设备发送所述通信消息。
在一种可能的实现方式中,所述接收第一设备的通信消息,包括:
接收第三设备转发的第一设备的通信消息,所述第三设备是接收所述目标数据的传输路中的其他接收方。
参见图3,其示出了本发明示例性实施例提供的一种认证服务器,该认证服务器20包括第二收发器2011和第二存储器2012,该认证服务器还可以包括第二处理器2013和第二网络接口2014。其中,第二存储器2012和第二网络接口2014分别与第二处理器2013连接;第二存储器2012用于存储程序代码,程序代码包括计算机操作指令,第二处理器2013和第二收发器2011用于执行第二存储器2012中存储的程序代码,用于实现传输数据的相关处理,并可以通过第二网络接口2014与网络设备进行交互。
其中,第二存储器2012与第二网络接口2014分别与第二处理器2013和第二收发器2011相连,第二收发器2011可以包括第二发射器和第二接收器。
第二存储器2012可用于存储软件程序以及单元。具体的,第二存储器2012可存储第二操作系统20121、至少一个功能所需的第二应用程序单元20122。第二操作系统20121可以是实时操作系统(Real Time eXecutive,RTX)、LINUX、UNIX、WINDOWS或OS X之类的操作系统。
第二处理器2013包括一个或者一个以上处理核心。第二处理器2013通过运行软件程序以及单元,从而执行以下传输数据的操作的指令:
接收第二设备发送的密钥获取请求,所述密钥获取请求中携带有密钥标识和所述第二设备的标识;
获取预先存储的所述密钥标识对应的密钥,以及所述第二设备的标识对应的辅助验证信息;
向所述第二设备发送第一响应消息,所述第一响应消息中携带有所述密钥和所述辅助验证信息,以使所述第二设备对接收到的加密数据进行验证。
在一种可能的实现方式中,所述方法还包括:
接收第一设备发送的密钥注册请求,所述密钥注册请求中携带有所述目标数据的接收方的标识和所述第一设备的标识;
根据所述第一设备的标识和所述接收方的标识,获取各接收方对应的传输路径;
如果所述各接收方中的所述第二设备对应的传输路径中,存在所述目标数据的其他接收方,则生成所述第二设备对应的辅助验证信息;
向所述第一设备发送第二响应消息,所述第二响应消息中携带有所述第二设备对应的辅助验证信息。
在一种可能的实现方式中,所述根据所述第一设备的标识和所述目标数据的接收方的标识,获取各接收方对应的传输路径,包括:
根据所述第一设备的标识和所述目标数据的接收方的标识,在预设的传输路径中查询各接收方对应的传输路径;或者,
根据所述第一设备的标识和所述目标数据的接收方的标识,生成各接收方对应的传输路径。
在一种可能的实现方式中,所述方法还包括:
接收所述第二设备发送的数据异常通知;
根据所述第二设备对应的传输路径,以及所述传输路径中的其他接收方,确定所述传输路径中的异常设备,向所述第一设备发送对应所述异常设备的告警消息。
参见图4,其示出了本发明示例性实施例提供的一种用于发送通信消息的第一设备,该第一设备30包括第三收发器3011和第三存储器3012,该第一设备还可以包括第三处理器3013和第三网络接口3014。其中,第三存储器3012和第三网络接口3014分别与第三处理器3013连接;第三存储器3012用于存储程序代码,程序代码包括计算机操作指令,第三处理器3013和第三收发器3011用于执行第三存储器3012中存储的程序代码,用于实现传输数据的相关处理,并可以通过第三网络接口3014与第一设备和认证服务进行交互。
其中,第三存储器3012与第三网络接口3014分别与第三处理器3013和第三收发器3011相连,第三收发器3011可以包括第三发射器和第三接收器。
第三存储器3012可用于存储软件程序以及单元。具体的,第三存储器3012可存储第三操作系统30121、至少一个功能所需的第三应用程序单元30122。第三操作系统30121可以是实时操作系统(Real Time eXecutive,RTX)、LINUX、UNIX、WINDOWS或OS X之类的操作系统。
第三处理器3013包括一个或者一个以上处理核心。第三处理器3013通过运行软件程序以及单元,从而执行以下传输数据的操作的指令:
获取待发送的目标数据;
基于预设的密钥对所述目标数据进行加密,得到加密数据,并根据接收所述目标数据的第二设备对应的预先存储的辅助验证信息、所述密钥和所述目标数据生成第一消息验证码,其中,所述第二设备对应的传输路径中存在所述目标数据的其他接收方;
向所述第二设备发送通信消息,所述通信消息中携带有所述密钥的密钥标识、所述加密数据和所述第一消息验证码。
在一种可能的实现方式中,所述方法还包括:
向认证服务器发送密钥注册请求,所述密钥注册请求中携带有所述目标数据的接收方的标识和本地的标识;
接收所述认证服务器发送的第二响应消息,所述第二响应消息中携带有所述第二设备对应的辅助验证信息。
在一种可能的实现方式中,所述获取待发送的目标数据之前,还包括:
当接收到所述第二设备发送的数据获取请求时,执行获取待发送的目标数据的步骤。
在一种可能的实现方式中,所述向所述第二设备发送通信消息,包括:
向第三设备发送所述通信消息,以使所述第三设备将所述通信消息转发给所述第二设备,所述第三设备是所述第二设备对应的传输路径中的其他接收方。
为了提高传输数据的安全性和可靠性,本实施例提供了一种传输数据的方法,该方法可以由上述图2中的第二设备、上述图3中的认证服务器和上述图4中的第一设备共同实现。
首先,在传输数据之前,第一设备需要先在认证服务器中进行密钥注册,认证服务器则会进行执行密钥创建操作并向第一设备返回密钥标识,以便在后续传输数据的过程中为各设备(比如数据接收方)发放该发送方的密钥。如图5所示,密钥注册的处理流程可以包括以下几个步骤:
步骤501,第一设备向认证服务器发送密钥注册请求。
实施中,当第一设备需要注册密钥时,第一设备可以获取预先存储的接收方的标识和本地的标识,进而向认证服务器发送密钥注册请求,密钥注册请求中可以携带有目标数据的接收方的标识和本地的标识。目标数据的接收方可以由技术人员预先配置,也可以是第一设备根据业务需要确定。对于接收方为多个的情况,接收方的标识可以以接收方列表的形式携带在密钥注册请求中。不同的目标数据对应的接收方可以是相同的,也可以是不同的。另外,第一设备可以达到预设周期时,向认证服务器发送密钥注册请求;也可以在接收到密钥注册指令后,向认证服务器发送密钥注册请求。
传输数据的过程中所使用的密钥还可以由第一设备生成,相应的,密钥注册请求中还可以携带第一设备生成的密钥,该密钥可以是对称密钥。另外,密钥注册请求中还可以携带有密钥使用方式的标识。例如,该密钥注册请求可以如下:
POST http://m2m.maf.com/tef0001HTTP/1.1
X-M2M-Origin:http://m2m.things.com/cse001/ae001
Content-type:application/onem2m-resource+json
{“ResourceType”:“symmKeyReg”,
“symmKeyReg.targetIDs”:“/cse002,/cse000/ae002”,
“symmKeyReg.SUID”:“34”,
“symmKeyReg.keyValue”:“CDExedSGEdXGj142”}
其中,http://m2m.maf.com/tef0001表示MAF(即认证服务器)的统一资源定位器(Uniform Resoure Locator,URL),也就是密钥想要注册的父节点,其中tef001为MAF的身份标识号码(Identity,ID);http://m2m.things.com/cse001/ae001表示ASN-AE(即发送方)的URL,其中/cse001为ASN-CSE的ID,/cse001/ae001为ASN-AE的ID;“ResourceType”:“symmKeyReg”,表示要在tef001下创建一个symmKeyReg资源,“symmKeyReg.targetIDs”:“/cse002,/cse000/ae002”为接收方列表,接收方列表中包含接收该发送方的数据的设备的标识,这些设备可以获取该发送方的密钥,本示例中,密钥可以被标识为/cse002和/cse000/ae002的设备获取,其中/cse002为MN-CSE(即网关设备)的ID,/cse000/ae002为IN-AE的ID(即业务服务器的标识);“symmKeyReg.SUID”:“34”表示密钥使用方式,当值为34时,表示该密钥可以用于多跳传输的数据加密;“symmKeyReg.keyValue”:“CDExedSGEdXGj142”表示需要注册的密钥的值为“CDExedSGEdXGj142”。
或者,数据加密传输的过程中所使用的密钥也可以由认证服务器来生成,相应的,密钥注册请求则不需要携带密钥。例如,第一设备可以通知认证服务器生成密钥,认证服务器则可以使用TLS Key Export(IETF RFC 5705)算法生成密钥,并可以将该密钥发送给第一设备,以便第一设备基于该密钥,对目标数据进行加密处理。
步骤502,认证服务器接收第一设备发送的密钥注册请求,密钥注册请求中携带有目标数据的接收方的标识和第一设备的标识。
步骤503,认证服务器根据第一设备的标识和接收方的标识,获取各接收方对应的传输路径。
在实施中,认证服务器接收到密钥注册请求后,可以创建该密钥注册请求对应的symmKeyReg资源,并为该symmKeyReg资源分配资源ID,比如skr001;认证服务器还可以为该密钥分配密钥标识,即KcID,将该密钥注册请求中的密钥和接收方列表,与该密钥标识进行对应的存储,建立密钥标识与密钥的对应关系,以及密钥标识与接收方列表的对应关系。认证服务器可以根据接收方列表和密钥使用方式,判定该密钥是用于多数据接收方的多跳数据传输。认证服务器还可以根据第一设备的标识和接收方的标识,获取各接收方对应的传输路径,获取方式可以多样化,本实施例提供了两种可行的处理方式:
方式一、认证服务器根据第一设备的标识和目标数据的接收方的标识,在预设的传输路径中查询各接收方对应的传输路径。
在实施中,技术人员可以预先配置各设备之间的传输路径,每个传输路径可以包括该传输路中的发送方的标识、需要经过的中间设备的标识和接收方的标识。例如,网络系统中可以包括业务服务器003、网关设备002和家庭中安装的摄像头001,摄像头向业务服务器发送数据的传输路径为001,002,003;摄像头向网关设备发送数据的传输路径为001,002。认证服务器可以根据第一设备的标识,以及各接收方的标识,在预设的传输路径中分别查询各接收方对应的传输路径。上述传输路径可以存储在认证服务器中,由认证服务器进行查询;或者,上述传输路径可以存储在基础设施节点中,向基础设施节点进行查询,然后将查询到的结果发送给认证服务器。对于从基础设施节点查询各接收方对应的传输路径的情况,具体的处理过程可以包括以下几个步骤:
步骤1,认证服务器向基础设施节点发送传输路径查询请求。
在实施中,传输路径查询请求中可以携带有第一设备的标识和接收方列表,还需携带有传输路径请求指示。例如,传输路径查询请求可以如下:
GET http://m2m.things.com/cse000/dataTransPath HTTP/1.1
X-M2M-Origin:http://m2m.maf.com/tef001
Content-type:application/onem2m-resource+json
{“symmKeyReg.resourceID”:“skr001”;
“sourceID”:“/cse001/ae001”,
“targetIDs”:“/cse002,/cse000/ae002”,
“dataTransPathIndicator”:“1”}
其中,http://m2m.in.com/cse000/dataTransPath表示传输路径查询请求的虚资源URL,cse000为IN-CSE的ID(即基础设施节点的ID),对于该虚资源的访问,会触发基础设施节点执行数据传输路径检索;“symmKeyReg.resourceID”:“skr001”表示该传输路径查询请求是针对skr001资源中注册Kc;“sourceIDs”:“/cse001/ae001”表示该传输路径的发送方为ASN-AE,“targetIDs”:“/cse002,/cse000/ae002”表示数据传输路径的接收方为MN-CSE和IN-AE,“dataTransPathIndicator”:“1”为传输路径请求指示。
步骤2,基础设施节点根据第一设备的标识和目标数据的接收方的标识,在预设的传输路径中查询各接收方对应的传输路径。
在实施中,基础设施节点中可以预先存储各设备之间的传输路径,基础设施节点接收到传输路径查询请求后,可以对该传输路径查询请求进行解析,获取第一设备的标识,以及各接收方的标识,然后根据第一设备的标识(可称为第一标识),以及各接收方的标识(可称为第二标识),在预设的传输路径中查询以发送方的标识为第一标识,且接收方的标识为第二标识的传输路,从而得到各接收方对应的传输路径。
步骤3,基础设施节点将各接收方对应的传输路径发送给认证服务器。
在实施中,基础设施节点查询到各接收方对应的传输路径后,可以将各接收方对应的传输路径分别发送给认证服务器,也可以将各接收方对应的传输路径携带在一个响应消息(可称为成功响应)中,发送给认证服务器。例如,该成功响应可以如下:
HTTP/1.1 200OK
Content-type:application/onem2m-resource+json
{“symmKeyReg.resourceID”:“skr001”;
“dataTransPathList”:{
“dataTransPath”:“/cse001/ae001,/cse001,/cse002”
“dataTransPath”:“/cse001/ae001,/cse001,/cse002,/cse000,/cse000/ae002”}}
其中,“symmKeyReg.resourceID”:“skr001”;表示数据传输路径主要是针对skr001资源对应的注册Kc,“dataTransPath”:“/cse001/ae001,/cse001,/cse002”表示ASN-AE到MN-CSE的传输路径,“dataTransPath”:“/cse001/ae001,/cse001,/cse002,/cse000,/cse000/ae002”表示ASN-AE到IN-AE的传输路径。
步骤4,认证服务器接收基础设施节点发送的各接收方对应的传输路径。
方式二、认证服务器根据第一设备的标识和目标数据的接收方的标识,生成各接收方对应的传输路径。
在实施中,认证服务器也可以在接收到密钥注册请求后,根据预设的传输路径生成算法、第一设备的标识和目标数据的各接收方的标识,分别生成各接收方对应的传输路径。该传输路径生成算法可以存储在认证服务器中,由认证服务器生成传输路径;或者,该传输路径生成算法也可以存储在基础设施节点中,由基础设施节点生成传输路径,然后将生成的传输路径发送给认证服务器。
步骤504,如果接收方中的第二设备对应的传输路径中,存在目标数据的其他接收方,则认证服务器生成第二设备对应的辅助验证信息。
在实施中,对于任一接收方,认证服务器根据获取到的传输路径,判断该传输路径所包含的中间设备的标识中,是否包含上述接收方列表中的标识,如果包含,则判定该接收方对应的传输路径中,存在目标数据的其他接收方,然后可以生成该接收方(即第二设备)对应的辅助验证信息(即ExtAuthenData);如果不包含,则判定该接收方对应的传输路径中,不存在目标数据的其他接收方,不生成辅助验证信息。例如,IN-AE的数据传输路径中“/cse001/ae001,/cse001,/cse002,/cse000,/cse000/ae002”包含拥有密钥的接收方MN-CSE(/cse002),则认证服务器可以为IN-AE分配附加认证数据ExtAuthenData:CHMEGKSjMX23J。
其中,第二设备的数目可以是一个,也可以是多个。如果存在多个第二设备的情况,认证服务器可以分别生成每个第二设备对应的辅助验证信息,然后将设备的标识与对应的辅助验证信息进行存储,建立设备的标识和辅助验证信息的对应关系。
步骤505,认证服务器向第一设备发送第二响应消息。
在实施中,认证服务器生成第二设备对应的辅助验证信息后,可以向第一设备发送第二响应消息,第二响应消息中可以携带有每个第二设备对应的辅助验证信息,还可以携带有密钥标识和资源ID和接收方列表等信息。例如,第二响应消息可以如下:
HTTP/1.1 200OK
Content-type:application/onem2m-resource+json
{“symmKeyReg.kcIdentity”:“kc001”;
“symmKeyReg.targetIDs”:“/cse002,/cse000/ae002”,
“symmKeyReg.extAuthenDataList”:“/cse000/ae002,CHMEGKSjMX23J”}
其中,“symmKeyReg.kcIdentity”:“kc001”表示KcID为kc001,“symmKeyReg.extAuthenDataList”:“/cse000/ae002,CHMEGKSjMX23J”是表示分配给IN-AE的辅助验证信息为CHMEGKSjMX23J的映射对,对于第二设备为多个的情况,那么“symmKeyReg.extAuthenDataList”可以赋值为多个映射对。
步骤506,第一设备接收认证服务器发送的第二响应消息。
在实施中,第一设备可以接收认证服务器发送的第二响应消息,然后对第二响应消息进行解析,获取第二设备对应的辅助验证信息,然后可以将第二设备的标识与该辅助验证信息进行对应的存储,建立设备的标识和辅助验证信息的对应关系,以便在向第二设备发送通信消息时,基于该辅助验证信息,生成第二设备对应的消息验证码(即第一消息验证码)。
第一设备在认证服务器中成功注册密钥后,可以向接收方发送需要传输的目标数据,本实施例以第一设备通过第三设备将通信消息转发给第二设备,且第三设备被非法入侵为例,对上述传输数据方法进行说明,其中,第二设备和第三设备均是目标数据的接收方,均可以获得第一设备的密钥,第三设备设是第二设备对应的传输路径中的任一中间设备。如图6所示,该处理流程可以如下:
步骤601,第一设备获取待发送的目标数据。
在实施中,目标数据可以是第一设备检测到的数据,可以是其他设备向第一设备发送的数据,还可以是第一设备中预先存储的数据。相应的,第一设备获取目标数据的方式可以为,第一设备获取检测到的目标数据,或者,第一设备接收其他设备发送的目标数据,或者,第一设备获取预先存储的目标数据。例如,第一设备可以为智能摄像头,智能摄像头可以实时进行图像检测,将检测到的图像数据作为待发送的目标数据。
步骤602,第一设备使用已注册的密钥对目标数据进行加密,得到加密数据,并根据接收目标数据的第二设备对应的由认证服务器分配的辅助验证信息、密钥和目标数据生成第一消息验证码。
其中,第二设备对应的传输路径中可以存在目标数据的其他接收方。
在实施中,第一设备在向接收方发送目标数据时,可以使用已注册的密钥和加密算法对目标数据(可称为Data)进行加密,得到加密数据(可称为Data-Encry),第一设备还可以判断本地存储的设备的标识和辅助验证信息的对应关系中,是否存在该接收方的标识。如果存在,则可以获取该接收方(即第二设备)的标识对应的辅助验证信息,然后可以在目标数据的后面添加该辅助验证信息(可称为Data’),然后根据Data’、密钥和预设的加密算法生成第一消息验证码。该加密算法可以是任意加密算法,例如,可以基于消息完整性编码(Message Integrity Code,MIC)进行加密,该加密算法是基于密钥、Hash函数和Data’来计算消息验证码的。第一设备可以根据加密数据和第一消息验证码,生成第二设备对应的通信消息,该通信消息中还可以携带有第一设备的密钥的密钥标识、加密算法的标识以及第二设备的标识。其中,生成加密数据的加密算法,与生成消息验证码的加密算法可以是不同的。
如果第一设备判定设备的标识和辅助验证信息的对应关系中,不存在该接收方的标识,则可以不执行生成消息验证码的处理。第一设备可以根据加密数据生成该接收方对应的通信消息,该通信消息中还可以携带有第一设备的密钥的密钥标识和加密算法的标识。对于不同的接收方,第一设备可以分别生成每个接收方对应的通信消息,然后分别发送给每个接收方,下文中的通信消息均指代第一设备发送给第二设备的通信消息。
其中,上述通信消息的形式可以是多种多样的,例如,该通信消息可以是只用于发送上述数据的通信消息;或者,上述数据也可以携带其他通信消息中(比如Create/Update/Notify或响应消息等),直接作为该消息中的某个资源的属性赋值,或者包含在某个oneM2M的参数中进行发送。
步骤603,第一设备向第三设备发送通信消息。
其中,该通信消息中可以携带有该密钥的密钥标识、加密数据和第一消息验证码,且该通信消息的目的地址为第二设备的地址。
在实施中,第一设备生成第二设备对应的通信消息后,可以基于预设的传输策略,确定转发该通信消息的中间设备(即第三设备),然后向第三设备发送该通信消息,以使第三设备将该通信消息转发给第二设备。
步骤604,第三设备接收第一设备的通信消息。
其中,该通信消息中可以携带有密钥标识、加密数据和第一消息验证码,该加密数据是通过密钥标识对应的密钥对待发送的目标数据加密得到的数据,该第一消息验证码是根据密钥、目标数据和预设的辅助验证信息生成的验证码。
步骤605,第三设备向认证服务器发送密钥获取请求。
在实施中,第三设备可以对第一设备发送给自身的通信消息进行解析,获取第一设备对应的密钥标识,或者,也可以对该通信消息进行解析,获取第一设备对应的密钥标识。第三设备可以根据该密钥标识,获取本地预先存储的密钥,或者,第三设备也可以向认证服务器发送密钥获取请求,以获取该密钥。密钥获取请求中可以携带有密钥标识和第三设备的标识。该密钥获取请求可以如下所示:
GET http://m2m.maf.com/tef001/kc001/keyValue HTTP/1.1
X-M2M-Origin:http://m2m.things.com/cse002
Content-type:application/onem2m-resource+json
其中,http://m2m.maf.com/tef001/kc001/keyValue表示要请求的密钥标识为kc001。http://m2m.things.com/cse002表示该密钥获取请求的发送方为MN(即第三设备)的标识为cse002。
步骤606,认证服务器接收第三设备发送的密钥获取请求。
步骤607,认证服务器获取预先存储的密钥标识对应的密钥。
在实施中,认证服务器接收第三设备发送的密钥获取请求后,可以对该密钥获取请求进行解析,获取其中携带的密钥标识和第三设备的标识,然后可以根据预先存储的密钥标识与接收方列表的对应关系,以及接收到的密钥标识,确定对应的接收方列表,然后判断该接收方列表中是否包含第三设备的标识,如果包含,则说明第三设备可以获取该密钥,认证服务器可以根据预先存储的密钥标识与密钥的对应关系,确定接收到的密钥标识对应的密钥;如果不包含,则可以不进行处理,并可以向第三设备反馈请求失败的响应消息。例如,MAF根据密钥的标识kc001查找到其对应的接收方列表“/cse002,/cse000/ae002”,可以判断第三设备MN-CSE的标识/cse002在该接收方列表中,即MN-CSE具有获得Kc的权限。
步骤608,认证服务器向第三设备发送第三响应消息。
在实施中,第三响应消息中可以携带有该密钥标识对应的密钥,该第三响应消息可以如下所示:
HTTP/1.1 200OK
Content-type:application/onem2m-resource+json
{“symmKeyReg.kcIdentity”:“kc001”;
“symmKeyReg.keyValue”:“CDExedSGEdXGj142”}
其中,“CDExedSGEdXGj142”为密钥的值,“kc001”为密钥标识。
步骤609,第三设备将通信消息发送给第二设备。
在实施中,第三设备在正常的状态下,不会对该通信消息进行解析,而是在接收到该通信消息后,根据该通信消息中的目的地址,将该通信消息直接转发给第二设备。第三设备被入侵后,不法分子可以通过第三设备,基于接收到的密钥和预设的加密算法,对通信消息中的加密数据进行解析,得到目标数据的数据原文,然后对该数据原文(Data)进行篡改(篡改后的数据可称为Data”),通过该加密算法和密钥对Data”进行加密,将该加密数据携带在该通信消息中,将该通信消息转发给第二设备。
步骤610,第二设备接收第三设备转发的通信消息。
其中,该通信消息中可以携带有密钥标识、加密数据和第一消息验证码,还可以携带有加密算法的标识以及第二设备的标识,且该通信消息的目的地址为第二设备的地址。
步骤611,第二设备向认证服务器发送密钥获取请求。
在实施中,该密钥获取请求中携带有第二设备解析得到的密钥标识,以及第二设备的标识,该密钥获取请求可以参照上述605中的示例,不再赘述。
步骤612,认证服务器接收第二设备发送的密钥获取请求。
步骤613,认证服务器获取预先存储的密钥标识对应的密钥,以及第二设备的标识对应的辅助验证信息。
在实施中,认证服务器接收第二设备发送的密钥获取请求后,可以对该密钥获取请求进行解析,获取其中携带的密钥标识和第二设备的标识,然后可以根据预先存储的密钥标识与接收方列表的对应关系,以及接收到的密钥标识,确定对应的接收方列表,然后判断该接收方列表中是否包含第二设备的标识,如果包含,则说明第二设备可以获取该密钥,认证服务器可以根据预先存储的密钥标识与密钥的对应关系,确定接收到的密钥标识对应的密钥;如果不包含,则可以不进行处理,并可以向第二设备反馈请求失败的响应消息。另外,认证服务器还可以根据预先存储的设备的标识和辅助验证信息的对应关系,以及第二设备的标识,获取第二设备对应的辅助验证信息。例如,MAF根据kc001对应symmKeyReg查找到其存储的targetIDs为“/cse002,/cse000/ae002”,可以判定第二设备IN-AE(/cse000/ae002)具有获得Kc的权限,并且该IN-AE被分配了辅助验证信息ExtAuthenData。
步骤614,认证服务器向第二设备发送第一响应消息。
在实施中,第一响应消息中可以携带有密钥和辅助验证信息,该第一响应消息可以如下所示:
HTTP/1.1 200OK
Content-type:application/onem2m-resource+json
{“symmKeyReg.kcIdentity”:“kc001”,
“symmKeyReg.keyValue”:“CDExedSGEdXGj142”,
“symmKeyReg.extAuthenDataList”:“/cse000/ae002,CHMEGKSjMX23J”}
其中,“CDExedSGEdXGj142”为密钥的值,“kc001”为密钥标识。“CHMEGKSjMX23J”为第二设备对应的辅助验证信息。
步骤615,第二设备接收认证服务器发送的第一响应消息。
在实施中,第二设备接收到第一响应消息后,可以对第一响应消息进行解析,获取第一响应消息中的密钥和辅助验证信息。
步骤616,第二设备根据密钥、第一消息验证码和辅助验证信息对加密数据进行验证。
在实施中,第二设备可以根据该密钥对加密数据进行解密,得到解密后的数据,然后可以解密后的数据、辅助验证信息、该密钥和预设的加密算法,生成消息验证码(即第二消息验证码),然后可以判定第二消息验证码是否与第一消息验证码匹配(比如是否相同),如果第二消息验证码与第一消息匹配,则可以判定验证通过,该加密数据未被篡改;如果第二消息验证码与第一消息不匹配,则可以判定验证未通过,该加密数据异常,可能被篡改,然后可以执行步骤616。
步骤617,第二设备向认证服务器发送数据异常通知。
在实施中,如果验证未通过,则第二设备可以向认证服务器发送数据异常通知,该数据异常通知中可以携带有密钥标识和第二设备的标识,以便认证服务器可以根据该密钥标识对应的接收方列表,确定可能被篡改的接收方。该数据异常通知可以如下所示:
POST http://m2m.maf.com/tef001/HTTP/1.1
X-M2M-Origin:http://m2m.things.com/cse000/ae002
Content-type:application/onem2m-resource+json
{“symmKeyReg.kcIdentity”:“kc001”,
“kcAbnormalIndicator”:“1”}
其中“symmKeyReg.kcIdentity”:“kc001”表示该数据异常通知是针对密钥标识为kc001的密钥,“kcAbnormalIndicator”:“1”表示该密钥出现异常现象。
步骤618,认证服务器接收第二设备发送的数据异常通知。
步骤619,认证服务器根据第二设备对应的传输路径,以及传输路径中的其他接收方,确定传输路径中的异常设备,向第一设备发送对应异常设备的告警消息。
在实施中,认证服务器可以对该数据异常通知进行解析,获取其中的密钥标识和第二设备的标识,认证服务器可以根据预先获取到的第二设备对应的传输路径,判断第二设备的传输路径中存在其他能够获得该密钥标识对应的密钥的中间设备,说明可能是由于该中间设备受到攻击,导致数据发生异常,该密钥就可能被不法分子获得。认证服务器可以注销该密钥,并删除该密钥对应的symmKeyReg资源。认证服务器还可以获取该中间设备(即异常设备)的标识,然后向第一设备发送对应异常设备的告警消息,该告警消息中可以携带有该异常设备的标识、密钥标识和密钥注销指示,该告警消息可以如下所示:
POST http://m2m.things.com/cse001/ae001/HTTP/1.1
X-M2M-Origin:http://m2m.maf.com/tef001
Content-type:application/onem2m-resource+json
{“symmKeyReg.kcIdentity”:“kc001”,
“symmKeyReg.targetAbnormalId”:“/cse002”,
“kcDeRegistIndicator”:“1”}
其中“symmKeyReg.kcIdentity”:“kc001”表示该告警消息针对密钥标识为kc001的密钥,“symmKeyReg.targetAbnormalId”:“/cse002”表示第三设备MN-CSE存在异常的可能,“kcDeRegistIndicator”:“1”表示该密钥已被注销。
如图7所示,本实施例还提供了一种传输数据的方法,该方法中,第二设备可以主动获取第一设备的目标数据。第二设备可以直接向第一设备请求目标数据,第一设备在接收到数据获取请求后,生成第二设备对应的通信消息,将该通信消息发送给第二设备。或者,第一设备也可以预先生成各接收方对应的通信消息,然后将该通信消息存储在其他设备(可称为第四设备)中,第二设备从第四设备中获取通信消息。本实施例以第二设备直接向第一设备请求目标数据为例进行说明,具体的处理流程可以如下:
步骤701,第二设备向第一设备发送数据获取请求。
步骤702,第一设备接收第二设备发送的数据获取请求。
步骤703,第一设备获取待发送的目标数据。
本步骤的具体处理过程可以参照上述步骤601中的相关说明。
步骤704,第一设备基于预设的密钥对目标数据进行加密,得到加密数据,并根据接收目标数据的第二设备对应的预先存储的辅助验证信息、密钥和目标数据生成第一消息验证码。
本步骤的具体处理过程可以参照上述步骤602中的相关说明。
步骤705,第一设备向第三设备发送通信消息。
本步骤的具体处理过程可以参照上述步骤603中的相关说明。
步骤706,第三设备接收第一设备的通信消息。
本步骤的具体处理过程可以参照上述步骤604中的相关说明。
步骤707,第三设备向认证服务器发送密钥获取请求。
本步骤的具体处理过程可以参照上述步骤605中的相关说明。
步骤708,认证服务器接收第三设备发送的密钥获取请求。
本步骤的具体处理过程可以参照上述步骤606中的相关说明。
步骤709,认证服务器获取预先存储的密钥标识对应的密钥。
本步骤的具体处理过程可以参照上述步骤607中的相关说明。
步骤710,认证服务器向第三设备发送第三响应消息。
本步骤的具体处理过程可以参照上述步骤608中的相关说明。
步骤711,第三设备对将通信消息发送给第二设备。
本步骤的具体处理过程可以参照上述步骤609中的相关说明。
步骤712,第二设备接收第一设备的通信消息。
本步骤的具体处理过程可以参照上述步骤610中的相关说明。
步骤713,第二设备向认证服务器发送密钥获取请求。
本步骤的具体处理过程可以参照上述步骤611中的相关说明。
步骤714,认证服务器接收第二设备发送的密钥获取请求。
本步骤的具体处理过程可以参照上述步骤612中的相关说明。
步骤715,认证服务器获取预先存储的密钥标识对应的密钥,以及第二设备的标识对应的辅助验证信息。
本步骤的具体处理过程可以参照上述步骤613中的相关说明。
步骤716,认证服务器向第二设备发送第一响应消息。
本步骤的具体处理过程可以参照上述步骤614中的相关说明。
步骤717,第二设备接收认证服务器发送的第一响应消息。
本步骤的具体处理过程可以参照上述步骤615中的相关说明。
步骤718,第二设备根据密钥、第一消息验证码和辅助验证信息对加密数据进行验证。
本步骤的具体处理过程可以参照上述步骤616中的相关说明。
步骤719,第二设备向认证服务器发送数据异常通知。
本步骤的具体处理过程可以参照上述步骤617中的相关说明。
步骤720,认证服务器接收第二设备发送的数据异常通知。
本步骤的具体处理过程可以参照上述步骤618中的相关说明。
步骤721,认证服务器根据第二设备对应的传输路径,以及传输路径中的其他接收方,确定传输路径中的异常设备,向第一设备发送对应异常设备的告警消息。
本步骤的具体处理过程可以参照上述步骤619中的相关说明。
本公开实施例中,接收方接收第一设备发送的通信消息,该通信消息中携带有密钥标识、加密数据和第一消息验证码,接收方可以获取该密钥标识对应的密钥和辅助验证信息,根据该密钥、第一消息验证码和辅助验证信息对加密数据进行验证,从而判断加密数据是否篡改,提高了传输数据的可靠性。
图8是本发明实施例提供的一种传输数据的装置的结构方框图,该装置可以通过软件、硬件或者两者的结合实现成为第二设备的部分或者全部。
该装置包括:收发单元810、获取单元820和处理单元830。
收发单元810用于执行上述实施例中的步骤610、步骤617、步骤701、步骤721和步骤719及其可选方案。
获取单元820用于执行上述实施例中的步骤611、步骤617、步骤713和、步骤717及其可选方案。
处理单元830用于执行上述实施例中的步骤616和步骤718及其可选方案。
本公开实施例中,接收方接收第一设备发送的通信消息,该通信消息中携带有密钥标识、加密数据和第一消息验证码,接收方可以获取该密钥标识对应的密钥和辅助验证信息,根据该密钥、第一消息验证码和辅助验证信息对加密数据进行验证,从而判断加密数据是否篡改,提高了传输数据的可靠性。
图9是本发明实施例提供的一种传输数据的装置的结构方框图,该装置可以通过软件、硬件或者两者的结合实现成为认证服务器的部分或者全部。
该装置包括:收发单元910和获取单元920。
收发单元910用于执行上述实施例中的步骤502、步骤505、步骤606、步骤608、步骤612、步骤614、步骤618、步骤619、步骤708、步骤710、步骤714、步骤716、步骤720和步骤721及其可选方案。
获取单元920用于执行上述实施例中的步骤607及其可选方案。
该装置还可以包括处理单元,处理单元用于执行上述实施例中的步骤504及其可选方案。
本公开实施例中,接收方接收第一设备发送的通信消息,该通信消息中携带有密钥标识、加密数据和第一消息验证码,接收方可以获取该密钥标识对应的密钥和辅助验证信息,根据该密钥、第一消息验证码和辅助验证信息对加密数据进行验证,从而判断加密数据是否篡改,提高了传输数据的可靠性。
图10是本发明实施例提供的一种传输数据的装置的结构方框图,该装置可以通过软件、硬件或者两者的结合实现成为第一设备的部分或者全部。
该装置包括:获取单元1010、处理单元1020和收发单元1030。
获取单元1010用于执行上述实施例中的步骤601和步骤703及其可选方案。
处理单元1020用于执行上述实施例中的步骤602和步骤704及其可选方案。
收发单元1030用于执行上述实施例中的步骤501、步骤506、步骤603、步骤702和步骤705及其可选方案。
本公开实施例中,接收方接收第一设备发送的通信消息,该通信消息中携带有密钥标识、加密数据和第一消息验证码,接收方可以获取该密钥标识对应的密钥和辅助验证信息,根据该密钥、第一消息验证码和辅助验证信息对加密数据进行验证,从而判断加密数据是否篡改,提高了传输数据的可靠性。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (25)
1.一种传输数据的方法,其特征在于,所述方法包括:
接收第一设备的通信消息,所述通信消息中携带有密钥标识、加密数据和第一消息验证码,其中,所述加密数据是通过所述密钥标识对应的密钥对待发送的目标数据加密得到的数据,所述第一消息验证码是根据所述密钥、所述目标数据和预设的辅助验证信息生成的验证码;
向认证服务器发送密钥获取请求,所述密钥获取请求中携带有所述密钥标识和本地的标识;
接收所述认证服务器发送的第一响应消息,所述第一响应消息中携带有所述密钥标识对应的密钥和所述辅助验证信息;
根据所述密钥、所述第一消息验证码和所述辅助验证信息对所述加密数据进行验证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述密钥、所述第一消息验证码和所述辅助验证信息对所述加密数据进行验证,包括:
基于所述密钥对所述加密数据进行解密;
根据所述密钥、所述辅助验证信息和解密得到的数据生成第二消息验证码,如果所述第一消息验证码与所述第二消息验证码不匹配,则所述加密数据验证未通过。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果验证未通过,则向所述认证服务器发送数据异常通知。
4.根据权利要求1所述的方法,其特征在于,所述接收第一设备发送的通信消息之前,还包括:
向所述第一设备发送数据获取请求,以使所述第一设备发送所述通信消息。
5.根据权利要求1所述的方法,其特征在于,所述接收第一设备的通信消息,包括:
接收第三设备转发的第一设备的通信消息,所述第三设备是接收所述目标数据的传输路中的其他接收方。
6.一种传输数据的方法,其特征在于,所述方法包括:
接收第二设备发送的密钥获取请求,所述密钥获取请求中携带有密钥标识和所述第二设备的标识;
获取预先存储的所述密钥标识对应的密钥,以及所述第二设备的标识对应的辅助验证信息;
向所述第二设备发送第一响应消息,所述第一响应消息中携带有所述密钥和所述辅助验证信息,以使所述第二设备根据所述密钥和所述辅助验证信息对接收到的加密数据进行验证。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收第一设备发送的密钥注册请求,所述密钥注册请求中携带有目标数据的接收方的标识和所述第一设备的标识;
根据所述第一设备的标识和所述接收方的标识,获取各接收方对应的传输路径;
如果所述各接收方中的所述第二设备对应的传输路径中,存在所述目标数据的其他接收方,则生成所述第二设备对应的辅助验证信息;
向所述第一设备发送第二响应消息,所述第二响应消息中携带有所述第二设备对应的辅助验证信息。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一设备的标识和所述目标数据的接收方的标识,获取各接收方对应的传输路径,包括:
根据所述第一设备的标识和所述目标数据的接收方的标识,在预设的传输路径中查询各接收方对应的传输路径;或者,
根据所述第一设备的标识和所述目标数据的接收方的标识,生成各接收方对应的传输路径。
9.根据权利要求6-8任一所述的方法,其特征在于,所述方法还包括:
接收所述第二设备发送的数据异常通知;
根据所述第二设备对应的传输路径,以及所述传输路径中的其他接收方,确定所述传输路径中的异常设备,向所述第一设备发送对应所述异常设备的告警消息。
10.一种传输数据的方法,其特征在于,所述方法包括:
向认证服务器发送密钥注册请求,所述密钥注册请求中携带有目标数据的接收方的标识和本地的标识;
接收所述认证服务器发送的第二响应消息,所述第二响应消息中携带有第二设备对应的辅助验证信息;
获取待发送的目标数据;
基于预设的密钥对所述目标数据进行加密,得到加密数据,并根据接收所述目标数据的所述第二设备对应的辅助验证信息、所述密钥和所述目标数据生成第一消息验证码,其中,所述第二设备对应的传输路径中存在所述目标数据的其他接收方;
向所述第二设备发送通信消息,所述通信消息中携带有所述密钥的密钥标识、所述加密数据和所述第一消息验证码。
11.根据权利要求10所述的方法,其特征在于,所述获取待发送的目标数据之前,还包括:
当接收到所述第二设备发送的数据获取请求时,执行获取待发送的目标数据的步骤。
12.根据权利要求10所述的方法,其特征在于,所述向所述第二设备发送通信消息,包括:
向第三设备发送所述通信消息,以使所述第三设备将所述通信消息转发给所述第二设备,所述第三设备是所述第二设备对应的传输路径中的其他接收方。
13.一种传输数据的装置,其特征在于,所述装置包括:
收发单元,用于接收第一设备的通信消息,所述通信消息中携带有密钥标识、加密数据和第一消息验证码,其中,所述加密数据是通过所述密钥标识对应的密钥对待发送的目标数据加密得到的数据,所述第一消息验证码是根据所述密钥、所述目标数据和预设的辅助验证信息生成的验证码;
获取单元,用于向认证服务器发送密钥获取请求,所述密钥获取请求中携带有所述密钥标识和本地的标识;接收所述认证服务器发送的第一响应消息,所述第一响应消息中携带有所述密钥标识对应的密钥和所述辅助验证信息;
处理单元,用于根据所述密钥、所述第一消息验证码和所述辅助验证信息对所述加密数据进行验证。
14.根据权利要求13所述的装置,其特征在于,所述处理单元,还用于:
基于所述密钥对所述加密数据进行解密;
根据所述密钥、所述辅助验证信息和解密得到的数据生成第二消息验证码,如果所述第一消息验证码与所述第二消息验证码不匹配,则所述加密数据验证未通过。
15.根据权利要求13所述的装置,其特征在于,所述处理单元,还用于:
如果验证未通过,则控制所述收发单元向所述认证服务器发送数据异常通知。
16.根据权利要求13所述的装置,其特征在于,所述收发单元,还用于:
向所述第一设备发送数据获取请求,以使所述第一设备发送所述通信消息。
17.根据权利要求13所述的装置,其特征在于,所述收发单元,还用于:
接收第三设备转发的第一设备的通信消息,所述第三设备是接收所述目标数据的传输路中的其他接收方。
18.一种传输数据的装置,其特征在于,所述装置包括:
收发单元,用于接收第二设备发送的密钥获取请求,所述密钥获取请求中携带有密钥标识和所述第二设备的标识;
获取单元,用于获取预先存储的所述密钥标识对应的密钥,以及所述第二设备的标识对应的辅助验证信息;
所述收发单元,还用于向所述第二设备发送第一响应消息,所述第一响应消息中携带有所述密钥和所述辅助验证信息,以使所述第二设备根据所述密钥和所述辅助验证信息对接收到的加密数据进行验证。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
所述收发单元,还用于接收第一设备发送的密钥注册请求,所述密钥注册请求中携带有目标数据的接收方的标识和所述第一设备的标识;
所述获取单元,还用于根据所述第一设备的标识和所述接收方的标识,获取各接收方对应的传输路径;
处理单元,用于如果所述各接收方中的所述第二设备对应的传输路径中,存在所述目标数据的其他接收方,则生成所述第二设备对应的辅助验证信息;
所述收发单元,还用于向所述第一设备发送第二响应消息,所述第二响应消息中携带有所述第二设备对应的辅助验证信息。
20.根据权利要求19所述的装置,其特征在于,所述获取单元,还用于:
根据所述第一设备的标识和所述目标数据的接收方的标识,在预设的传输路径中查询各接收方对应的传输路径;或者,
根据所述第一设备的标识和所述目标数据的接收方的标识,生成各接收方对应的传输路径。
21.根据权利要求18-20任一所述的装置,其特征在于,所述收发单元,还用于:
接收所述第二设备发送的数据异常通知;
根据所述第二设备对应的传输路径,以及所述传输路径中的其他接收方,确定所述传输路径中的异常设备,向所述第一设备发送对应所述异常设备的告警消息。
22.一种传输数据的装置,其特征在于,所述装置包括:
收发单元,用于:
向认证服务器发送密钥注册请求,所述密钥注册请求中携带有目标数据的接收方的标识和本地的标识;
接收所述认证服务器发送的第二响应消息,所述第二响应消息中携带有第二设备对应的辅助验证信息;
获取单元,用于获取待发送的目标数据;
处理单元,用于基于预设的密钥对所述目标数据进行加密,得到加密数据,并根据接收所述目标数据的第二设备对应的辅助验证信息、所述密钥和所述目标数据生成第一消息验证码,其中,所述第二设备对应的传输路径中存在所述目标数据的其他接收方;
所述收发单元,还用于向所述第二设备发送通信消息,所述通信消息中携带有所述密钥的密钥标识、所述加密数据和所述第一消息验证码。
23.根据权利要求22所述的装置,其特征在于,所述收发单元,还用于:
当接收到所述第二设备发送的数据获取请求时,控制所述获取单元执行获取待发送的目标数据的步骤。
24.根据权利要求22所述的装置,其特征在于,所述收发单元,还用于:
向第三设备发送所述通信消息,以使所述第三设备将所述通信消息转发给所述第二设备,所述第三设备是所述第二设备对应的传输路径中的其他接收方。
25.一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1-13任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710210007.XA CN108667601B (zh) | 2017-03-31 | 2017-03-31 | 一种传输数据的方法、装置和设备 |
PCT/CN2018/081185 WO2018177385A1 (zh) | 2017-03-31 | 2018-03-29 | 一种传输数据的方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710210007.XA CN108667601B (zh) | 2017-03-31 | 2017-03-31 | 一种传输数据的方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108667601A CN108667601A (zh) | 2018-10-16 |
CN108667601B true CN108667601B (zh) | 2020-12-01 |
Family
ID=63674392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710210007.XA Active CN108667601B (zh) | 2017-03-31 | 2017-03-31 | 一种传输数据的方法、装置和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108667601B (zh) |
WO (1) | WO2018177385A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109698863A (zh) * | 2018-12-20 | 2019-04-30 | 杭州迪普科技股份有限公司 | 一种确定http报文安全性的方法、装置、设备及存储介质 |
CN111404671B (zh) * | 2019-01-02 | 2023-07-25 | 中国移动通信有限公司研究院 | 移动化量子保密通信方法、网关、移动终端及服务器 |
CN110766845A (zh) * | 2019-09-11 | 2020-02-07 | 中国南方电网有限责任公司 | 电力施工用户信息的识别方法、装置和计算机设备 |
CN111526122B (zh) * | 2020-03-25 | 2023-09-05 | 平安证券股份有限公司 | 数据监控的方法、装置、设备及介质 |
CN111629008B (zh) * | 2020-06-11 | 2022-02-25 | 深圳市智慧城市通信有限公司 | 一种通信数据处理方法及装置 |
CN114257385A (zh) * | 2020-09-10 | 2022-03-29 | 西交利物浦大学 | 一种安全通信方法、装置、电子设备和存储介质 |
CN112532629B (zh) * | 2020-11-30 | 2023-01-24 | 航天信息股份有限公司 | 一种数据传输方法、装置、设备和介质 |
CN113923655B (zh) * | 2020-12-23 | 2023-08-25 | 技象科技(南京)有限公司 | 基于相邻节点的数据解密接收方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345761A (zh) * | 2008-08-20 | 2009-01-14 | 深圳市同洲电子股份有限公司 | 一种私密数据的传输方法及系统 |
CN101931536A (zh) * | 2010-08-31 | 2010-12-29 | 武汉理工大学 | 一种无需认证中心的高效数据加密及认证方法 |
CN101989984A (zh) * | 2010-08-24 | 2011-03-23 | 北京易恒信认证科技有限公司 | 电子文件安全共享系统及方法 |
CN102594563A (zh) * | 2012-02-20 | 2012-07-18 | 南京中通电气有限公司 | 一种用于安全组播的源认证方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046565A1 (en) * | 2001-08-31 | 2003-03-06 | Toshiba Tec Kabushiki Kaisha | Method for encrypting and decrypting contents data distributed through network, and system and user terminal using that method |
CN101098229B (zh) * | 2006-06-26 | 2010-07-07 | 华为技术有限公司 | 验证待传消息完整性的方法 |
-
2017
- 2017-03-31 CN CN201710210007.XA patent/CN108667601B/zh active Active
-
2018
- 2018-03-29 WO PCT/CN2018/081185 patent/WO2018177385A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345761A (zh) * | 2008-08-20 | 2009-01-14 | 深圳市同洲电子股份有限公司 | 一种私密数据的传输方法及系统 |
CN101989984A (zh) * | 2010-08-24 | 2011-03-23 | 北京易恒信认证科技有限公司 | 电子文件安全共享系统及方法 |
CN101931536A (zh) * | 2010-08-31 | 2010-12-29 | 武汉理工大学 | 一种无需认证中心的高效数据加密及认证方法 |
CN102594563A (zh) * | 2012-02-20 | 2012-07-18 | 南京中通电气有限公司 | 一种用于安全组播的源认证方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018177385A1 (zh) | 2018-10-04 |
CN108667601A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667601B (zh) | 一种传输数据的方法、装置和设备 | |
JP6923611B2 (ja) | サービス層におけるコンテンツセキュリティ | |
CN112260995B (zh) | 接入认证方法、装置及服务器 | |
KR102001753B1 (ko) | 공개 키잉 메커니즘들을 사용한 서비스 계층에서의 종단간 인증 | |
CN100568800C (zh) | 用于安全远程访问的系统和方法 | |
JP5432999B2 (ja) | 暗号鍵配布システム | |
US20200358764A1 (en) | System and method for generating symmetric key to implement media access control security check | |
US20140298037A1 (en) | Method, apparatus, and system for securely transmitting data | |
CN110958142A (zh) | 设备维护方法、维护设备、存储介质及计算机程序产品 | |
CN105530253B (zh) | 基于CA证书的Restful架构下的无线传感器网络接入认证方法 | |
CN113411190B (zh) | 密钥部署、数据通信、密钥交换、安全加固方法及系统 | |
KR20160058491A (ko) | 사용자 기기의 식별자에 기반하여 서비스를 제공하는 방법 및 장치 | |
US20210184852A1 (en) | System and method for securely transmitting non-pki encrypted messages | |
CN110474921A (zh) | 一种面向局域物联网的感知层数据保真方法 | |
KR20150135032A (ko) | Puf를 이용한 비밀키 업데이트 시스템 및 방법 | |
US11882117B1 (en) | System and method for device label scan based zero touch device onboarding and device directory service | |
CN110892695A (zh) | 在建立连接期间检查受密码保护的通信连接的连接参数的方法、设备和计算机程序产品 | |
CN109587134B (zh) | 接口总线的安全认证的方法、装置、设备和介质 | |
Jansi et al. | Efficient privacy-preserving fault tolerance aggregation for people-centric sensing system | |
JP6056970B2 (ja) | 情報処理装置、端末機、情報処理システム及び情報処理方法 | |
CN109150661A (zh) | 一种设备发现方法及装置 | |
CN112437436B (zh) | 一种身份认证方法及装置 | |
WO2008014666A1 (fr) | Appareil et procédé de communication de l'erreur de chaque niveau du paquet de données tunnel dans un réseau de communication | |
CN113079506A (zh) | 网络安全认证方法、装置及设备 | |
US11711402B2 (en) | Methods and apparatus for lawful interception of communications |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220221 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |