CN110798431A - 一种安全参数交互方法、装置、设备及*** - Google Patents

一种安全参数交互方法、装置、设备及*** Download PDF

Info

Publication number
CN110798431A
CN110798431A CN201810875609.1A CN201810875609A CN110798431A CN 110798431 A CN110798431 A CN 110798431A CN 201810875609 A CN201810875609 A CN 201810875609A CN 110798431 A CN110798431 A CN 110798431A
Authority
CN
China
Prior art keywords
message
key
expansion
http request
protocol
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.)
Pending
Application number
CN201810875609.1A
Other languages
English (en)
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201810875609.1A priority Critical patent/CN110798431A/zh
Publication of CN110798431A publication Critical patent/CN110798431A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例提供了一种安全参数交互方法、装置、设备及***,方法包括:执行本方案的设备基于密钥协议,构造第一消息,第一消息中包括已加密的安全参数;将第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;发送拓展HTTP请求报文;可见,本方案中,对HTTP报文进行了拓展,将安全参数添加到HTTP请求报文的拓展字段,实现了HTTP与密钥协议的兼容。

Description

一种安全参数交互方法、装置、设备及***
技术领域
本申请涉及通信技术领域,特别是涉及一种安全参数交互方法、装置、设备及***。
背景技术
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用广泛的一种网络协议。利用HTTP进行通信的报文一般包括请求报文(Request)和响应(Response)报文。由于HTTP通信过程中使用明文,HTTP与一些密钥协议,如MIKEY(MultimediaInternet KEYing,多媒体网络密钥协议,一种用于协商安全参数的标准协议)并不兼容。
发明内容
本申请实施例的目的在于提供一种安全参数交互方法、装置、设备及***,以实现HTTP与密钥协议的兼容。
为达到上述目的,本申请实施例提供了一种安全参数交互方法,所述方法包括:
基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数;
将所述第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;
发送所述拓展HTTP请求报文,以使接收端设备获取所述安全参数。
可选的,所述基于密钥协议,构造第一消息,可以包括:
基于密钥协议,得到加密密钥和认证密钥;
利用所述加密密钥,对安全参数进行加密,得到已加密的安全参数;
利用所述认证密钥,生成消息鉴权码,得到包括所述已加密的安全参数及所述消息鉴权码的第一消息。
可选的,所述密钥协议为MIKEY协议,所述第一消息为I_Message,所述拓展字段为Entity-Header。
为达到上述目的,本申请实施例还提供了一种安全参数交互方法,所述方法包括:
接收拓展HTTP请求报文;
读取所述拓展HTTP请求报文的拓展字段,得到第一消息;
获取所述第一消息中包括的安全参数。
可选的,所述方法还可以包括:
基于密钥协议,得到加密密钥和认证密钥;
所述获取所述第一消息中包括的安全参数,包括:
利用所述认证密钥,验证所述第一消息是否合法;
如果合法,利用所述加密密钥,对所述第一消息中的已加密的安全参数进行解密,得到解密后的安全参数。
可选的,所述方法还可以包括:
基于密钥协议和所述第一消息,构造第二消息;
将所述第二消息添加到HTTP响应报文的拓展字段,得到拓展HTTP响应报文;
发送所述拓展HTTP响应报文。
可选的,在所述读取所述拓展HTTP请求报文的拓展字段,得到第一消息之后,还可以包括:
根据所述第一消息,判断是否对所述拓展HTTP请求报文进行响应;
如果是,则执行所述基于密钥协议和所述第一消息,构造第二消息的步骤。
为达到上述目的,本申请实施例还提供了一种安全参数交互装置,所述装置包括:
第一构造模块,用于基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数;
第一添加模块,用于将所述第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;
第一发送模块,用于发送所述拓展HTTP请求报文,以使接收端设备获取所述安全参数。
可选的,所述构造模块,具体用于:
基于密钥协议,得到加密密钥和认证密钥;利用所述加密密钥,对安全参数进行加密,得到已加密的安全参数;利用所述认证密钥,生成消息鉴权码,得到包括所述已加密的安全参数及所述消息鉴权码的第一消息。
可选的,所述密钥协议为MIKEY协议,所述第一消息为I_Message,所述拓展字段为Entity-Header。
为达到上述目的,本申请实施例还提供了一种安全参数交互装置,所述装置包括:
接收模块,用于接收拓展HTTP请求报文;
读取模块,用于读取所述拓展HTTP请求报文的拓展字段,得到第一消息;
获取模块,用于获取所述第一消息中包括的安全参数。
可选的,所述装置还包括:
获得模块,用于基于密钥协议,得到加密密钥和认证密钥;
所述获取模块,具体用于:利用所述认证密钥,验证所述第一消息是否合法;如果合法,利用所述加密密钥,对所述第一消息中的已加密的安全参数进行解密,得到解密后的安全参数。
可选的,所述装置还包括:
第二构造模块,用于基于密钥协议和所述第一消息,构造第二消息;
第二添加模块,用于将所述第二消息添加到HTTP响应报文的拓展字段,得到拓展HTTP响应报文;
第二发送模块,用于发送所述拓展HTTP响应报文。
可选的,所述装置还包括:
判断模块,用于根据所述第一消息,判断是否对所述拓展HTTP请求报文进行响应;如果是,则触发所述第二构造模块。
为达到上述目的,本申请实施例还提供了一种电子设备,包括:处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一种安全参数交互方法。
为达到上述目的,本申请实施例还提供了一种安全参数交互***,包括:第一设备和第二设备,
所述第一设备,用于基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数;将所述第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;将所述拓展HTTP请求报文发送至所述第二设备;
所述第二设备,用于接收所述拓展HTTP请求报文;读取所述拓展HTTP请求报文的拓展字段,得到第一消息;获取所述第一消息中包括的安全参数。
应用本申请实施例进行安全参数交互时,执行本方案的设备基于密钥协议,构造第一消息,第一消息中包括已加密的安全参数;将第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;发送拓展HTTP请求报文;可见,本方案中,对HTTP报文进行了拓展,将安全参数添加到HTTP请求报文的拓展字段,实现了HTTP与密钥协议的兼容。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用于第一设备的安全参数交互方法的流程示意图;
图2为本申请实施例提供的一种应用于第二设备的安全参数交互方法的流程示意图;
图3为本申请实施例提供的一种信令交互示意图;
图4为本申请实施例提供的一种应用于第一设备的安全参数交互装置的结构示意图;
图5为本申请实施例提供的一种应用于第二设备的安全参数交互装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图;
图7为本申请实施例提供的一种安全参数交互***的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决上述技术问题,本申请实施例提供了一种应用于第一设备的安全参数交互方法及装置、以及一种应用于第二设备的一种安全参数交互方法、装置,还提供了一种安全参数交互设备及***。第一设备可以为客户端设备,如手机、个人电脑等,具体不做限定,第二设备可以为服务器设备,具体不做限定。
下面首先对本申请实施例提供的一种应用于第一设备的安全参数交互方法进行详细介绍。图1为本申请实施例提供的一种应用于第一设备的安全参数交互方法的流程示意图,包括:
S101:基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数。
举例来说,密钥协议可以为MIKEY(Multimedia Internet KEYing,多媒体网络密钥协议,一种用于协商安全参数的标准协议),或者,也可以为PKM(Privacy KeyManagement,密钥管理协议),或者,也可以为IKE(Internet Key Exchange Protocol,密钥交换协议)等等,不再一一列举,以下内容中,以MIKEY为例进行说明。
基于MIKEY协议构造的消息即为MIKEY消息,为了区分描述,将发起端构造的MIKEY消息称为I_Message,将反馈端构造的MIKEY消息称为R_Message。
第一消息即为I_Message,I_Message中包括已加密的安全参数。该安全参数可以理解为SA(Security Association,安全参数集),其中包括TEK(Terminal Encrypt Key,业务加密密钥)和其他参数。或者,TEK也可以替换为TGK(TEK Generation Key,TEK生成密钥),以下内容中以安全参数为TEK进行举例说明。
仍以MIKEY协议来说,MIKEY协议可以包括多种模式,如PSK(pre-shared key,预共享密钥)模式、PK(Public key,公共密钥)模式、DH(Diffie–Hellman key exchange迪菲-赫尔曼密钥交换)模式等等。以PSK模式为例来说,I_Message的格式可以为:I_Message=HDR,T,RAND,IDi,IDr,SP,KEMAC;其中各参数的解释如下:
HDR:Common header Payload,通用头负载;承载一些MIKEY消息的通用属性。
T:Timestamp Payload,时间戳负载;承载时间信息。
RAND:RAND Payload,随机数负载;承载随机数信息。
IDi/IDr:ID Payload,身份负载;承载发起者/反馈者的身份信息,如ID。
SP:Security Policy Payload,安全策略负载;承载所需协商的安全策略信息。
KEMAC:KeyData Transport Payload,关键信息传输负载;承载所需协商的关键信息。该负载由encr_key(加密密钥)对TGK进行加密,并且附带上MAC构成。
TGK:TEK Generation Key,TEK生成密钥;用于生成TEK的密钥。或者,TGK也可以替换为TEK。
MAC:Message Authentication Code,消息鉴权码。
在S101之前,可以由CA(Certificate Authority,可信任机构认证中心)将第一设备和第二设备的数字证书分发给第一设备和第二设备;也就是说第一设备既获取到自身的数字证书,还获取到第二设备的数字证书;同样的,第二设备既获取到自身的数字证书,还获取到第一设备的数字证书。
数字证书中包括公钥和ID等信息,第一设备可以基于该数字证书构造I_Message。
作为一种实施方式,基于密钥协议,构造第一消息,可以包括:
基于密钥协议,得到加密密钥和认证密钥;
利用所述加密密钥,对加密参数进行加密,得到已加密的安全参数;
利用所述认证密钥,生成消息鉴权码,得到包括所述已加密的安全参数及所述消息鉴权码的第一消息。
如上所述,MIKEY协议可以包括多种模式,如PSK模式、DH模式、PK模式等等。举例来说,PSK模式下,第一设备与第二设备预先约定共享密钥s,然后通过s和HDR中的相关参数,计算得到加密密钥(encr_key)和认证密钥(auth_key);DH模式下,第一设备与第二设备通过交互得到加密密钥(encr_key)和认证密钥(auth_key);PK模式下,利用封装密钥eny_key,得到加密密钥(encr_key)和认证密钥(auth_key)。
然后利用加密密钥(encr_key)对TEK(或者还包括其他安全参数)进行加密,得到加密的TEK(或者还包括其他安全参数);利用认证密钥(auth_key),对整个第一消息进行运算,得到MAC。
S102:将第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文。
本实施例中,对HTTP请求报文进行了拓展,HTTP标准中允许拓展定义Entity-Header,拓展字段即为Entity-Header,Entity-Header的具体格式可以为:
Key-Mgmt=“Key-Mgmt”:key-mgmt
key-mgmt:mikey,ACBBBBBBBB……
其中,key-mgmt之后为字符“:”
“:”之后为密钥管理协议类型
密钥管理协议类型之后为字符“,”
“,”之后为安全协议消息,MIKEY的消息为Base64编码格式。
本实施例中拓展定义的Entity-Header可以添加到HTTP请求报文(Request),也可以添加到HTTP响应报文(Response)中。为了区分描述,将添加了拓展字段的HTTP请求报文称为拓展HTTP请求报文,将添加了拓展字段的HTTP响应报文称为拓展HTTP响应报文。
本实施例中,除MIKEY协议外,还可以将基于其他密钥协议生成的安全参数添加到HTTP请求/响应报文的拓展字段中,具体不做限定。
S103:发送拓展HTTP请求报文,以使接收端设备获取安全参数。
接收端设备也就是第二设备。将S102中得到的拓展HTTP请求报文发送给第二设备。第二设备读取拓展HTTP请求报文的拓展字段,得到第一消息;获取第一消息中包括的安全参数。第二设备的具体执行流程在图2实施例中进行详细介绍。
应用本申请图1所示实施例进行安全参数交互时,第一设备基于密钥协议,构造第一消息,第一消息中包括已加密的安全参数;将第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;发送拓展HTTP请求报文;可见,本方案中,对HTTP报文进行了拓展,将安全参数添加到HTTP请求报文的拓展字段,实现了HTTP与密钥协议的兼容。
图2为本申请实施例提供的一种应用于第二设备的安全参数交互方法的第一种流程示意图,包括:
S201:接收拓展HTTP请求报文。
第一设备与第二设备基于HTTP协议进行通信,该拓展HTTP请求报文是在HTTP请求报文的基础上进行了拓展,拓展字段中包括第一消息。
S202:读取拓展HTTP请求报文的拓展字段,得到第一消息。
仍以MIKEY协议为例来说,第一消息即为I_Message。
S203:获取第一消息中包括的安全参数。
具体的,第二设备可以先基于密钥协议,得到加密密钥和认证密钥;这样,S203可以包括:利用所述认证密钥,验证所述第一消息是否合法;如果合法,利用所述加密密钥,对所述第一消息中的已加密的安全参数进行解密,得到解密后的安全参数。
仍以MIKEY协议来说,MIKEY协议可以包括多种模式,如PSK(pre-shared key,预共享密钥)、PK(Public key,公共密钥)、DH(Diffie–Hellman key exchange迪菲-赫尔曼密钥交换)等模式。举例来说,PSK模式下,第一设备与第二设备预先约定共享密钥s,然后通过s和HDR中的相关参数,计算得到加密密钥(encr_key)和认证密钥(auth_key);DH模式下,第一设备与第二设备通过交互得到加密密钥(encr_key)和认证密钥(auth_key);PK模式下,利用封装密钥eny_key,得到加密密钥(encr_key)和认证密钥(auth_key)。
根据图1实施例中的描述:第一设备利用加密密钥(encr_key)对TEK(或者还包括其他安全参数)进行加密,得到加密的TEK;利用认证密钥(auth_key),对整个第一消息进行运算,得到MAC。
相对应的,第二设备先利用认证密钥(auth_key),对整个第一消息进行运算,得到MAC,判断得到的MAC与第一消息中的MAC是否相同,如果相同,表示第一消息合法;再利用加密密钥(encr_key)对已加密的TEK(或者还包括其他安全参数)进行解密,得到解密后的TEK(或者还包括其他安全参数)。
此外,第二设备还可以验证I_Message中包括的IDi是否合法,也就是验证第一设备的身份是否合法。
作为一种实施方式,第二设备还可以基于密钥协议和所述第一消息,构造第二消息;将所述第二消息添加到HTTP响应报文的拓展字段,得到拓展HTTP响应报文;发送所述拓展HTTP响应报文。
仍以MIKEY协议为例来说,第二消息即为R_Message。具体的,R_Message的格式可以为:R_Message=HDR,T,RAND,IDr,V;其中各参数的解释如下:
HDR:Common header Payload,通用头负载;承载一些MIKEY消息的通用属性。
T:Timestamp Payload,时间戳负载;承载时间信息。
IDr:承载反馈者的身份信息,如ID。
V:Ver Message Payload,消息验证负载。发送端通过该负载来验证反馈端消息。
在S201之前,可以由CA(Certificate Authority,可信任机构认证中心)将第一设备和第二设备的数字证书分发给第一设备和第二设备;也就是说第一设备既获取到自身的数字证书,还获取到第二设备的数字证书;同样的,第二设备既获取到自身的数字证书,还获取到第一设备的数字证书。
数字证书中包括公钥和ID等信息,第二设备可以基于该数字证书、以及该I_Message,构造R_Message。比如,R_Message中的T与I_Message的T相同。
本实施例中,对HTTP响应报文进行了拓展,HTTP标准中允许拓展定义Entity-Header,拓展字段即为Entity-Header,Entity-Header的具体格式可以为:
Key-Mgmt=“Key-Mgmt”:key-mgmt
key-mgmt:mikey,ACBBBBBBBB……
其中,key-mgmt之后为字符“:”
“:”之后为密钥管理协议类型
密钥管理协议类型之后为字符“,”
“,”之后为安全协议消息,MIKEY的消息为Base64编码格式。
本实施例中拓展定义的Entity-Header可以添加到HTTP请求报文(Request),也可以添加到HTTP响应报文(Response)中。为了区分描述,将添加了拓展字段的HTTP请求报文称为拓展HTTP请求报文,将添加了拓展字段的HTTP响应报文称为拓展HTTP响应报文。
第二设备将该拓展HTTP响应报文发送至第一设备,该拓展HTTP响应报文可以用于第一设备与第二设备之间的相互认证。
或者,另一些情况下,也可以不对第一设备的I_Message进行反馈。一种实施方式中,第二设备在读取所述拓展HTTP请求报文的拓展字段,得到第一消息之后,还可以根据所述第一消息,判断是否对所述拓展HTTP请求报文进行响应;如果是,再执行所述基于密钥协议和所述第一消息,构造第二消息的步骤。
举例来说,I_Message中的HDR字段中可以包括是否需要对该I_Message进行反馈的信息。比如,第二设备可以根据I_Message中的HDR字段中的V,来判断是否需要针对该I_Message构造R_Message:HDR字段中的V为0时,表示不需要反馈,V为1时表示需要反馈。
第一设备与第二设备交互得到安全参数之后,便可以基于该安全参数进行通信,后续的通信过程不做限定。
一种实施方式中,可以每隔预设时间段执行一次本申请实施例,以交互得到新的安全参数。换言之,可以每隔一段时间对安全参数进行更新,以提高通信安全性。具体更新机制不做限定。
下面参照图3,介绍一种第一设备与第二设备的交互方式:
第一步,客户端基于HTTP协议,向服务器发起GET请求,也就是客户端向服务器发送HTTP请求报文。该HTTP请求报文为拓展后的HTTP请求报文,其中添加了拓展字段Entity-Header,Entity-Header的具体格式可以为:
Key-Mgmt=“Key-Mgmt”:key-mgmt
key-mgmt:mikey,ACBBBBBBBB……
其中,key-mgmt之后为字符“:”
“:”之后为密钥管理协议类型
密钥管理协议类型之后为字符“,”
“,”之后为安全协议消息,MIKEY的消息为Base64编码格式。
拓展字段中承载了客户端构造的MIKEY消息。基于MIKEY协议构造的消息即为MIKEY消息,为了区分描述,将发起端构造的MIKEY消息称为I_Message,将反馈端构造的MIKEY消息称为R_Message。
I_Message中包括已加密的安全参数。该安全参数可以理解为SA(SecurityAssociation,安全参数集),其中包括TEK(Terminal Encrypt Key,业务加密密钥)和其他参数。以下内容中以安全参数为TEK进行举例说明。
具体的,I_Message的格式可以为:I_Message=HDR,T,RAND,IDi,IDr,SP,KEMAC;其中各参数的解释如下:
HDR:Common header Payload,通用头负载;承载一些MIKEY消息的通用属性。
T:Timestamp Payload,时间戳负载;承载时间信息。
RAND:RAND Payload,随机数负载;承载随机数信息。
IDi/IDr:ID Payload,身份负载;承载发起者/反馈者的身份信息,如ID。
SP:Security Policy Payload,安全策略负载;承载所需协商的安全策略信息。
KEMAC:KeyData Transport Payload,关键信息传输负载;承载所需协商的关键信息。该负载由encr_key(加密密钥)对TGK进行加密,并且附带上MAC构成。
TGK:TEK Generation Key,TEK生成密钥;用于生成TEK的密钥。或者,TGK也可以替换为TEK。
MAC:Message Authentication Code,消息鉴权码。
在客户端与服务器进行安全参数交互之前,可以由CA(Certificate Authority,可信任机构认证中心)将客户端和服务器的数字证书分发给客户端和服务器;也就是说客户端既获取到自身的数字证书,还获取到服务器的数字证书;同样的,服务器既获取到自身的数字证书,还获取到客户端的数字证书。
数字证书中包括公钥和ID等信息,客户端可以基于该数字证书构造I_Message。
第二步,服务器基于HTTP协议接收到该GET请求,服务器读取该GET请求中的I_Message,得到其中的安全参数。
MIKEY协议可以包括多种模式,如PSK(pre-shared key,预共享密钥)、PK(Publickey,公共密钥)、DH(Diffie–Hellman key exchange迪菲-赫尔曼密钥交换)等模式。举例来说,PSK模式下,客户端与服务器预先约定共享密钥s,然后通过s和HDR中的相关参数,计算得到加密密钥(encr_key)和认证密钥(auth_key);DH模式下,客户端与服务器通过交互得到加密密钥(encr_key)和认证密钥(auth_key);PK模式下,利用封装密钥eny_key,得到加密密钥(encr_key)和认证密钥(auth_key)。
客户端构造I_Message时,利用加密密钥(encr_key)对TEK(或者还包括其他安全参数)进行加密,得到加密的TEK(或者还包括其他安全参数);利用认证密钥(auth_key),对整个I_Message进行运算,得到MAC。相对应的,服务器解析I_Message时,先利用认证密钥(auth_key),对整个I_Message进行运算,得到MAC,判断得到的MAC与I_Message中的MAC是否相同,如果相同,表示I_Message合法;再利用加密密钥(encr_key)对已加密的TEK(或者还包括其他安全参数)进行解密,得到解密后的TEK(或者还包括其他安全参数)。
此外,服务器还可以验证I_Message中包括的IDi是否合法,也就是验证客户端的身份是否合法,如果合法再执行后续步骤。
第三步,服务器根据I_Message中的HDR字段中的V,来判断是否需要针对该I_Message构造R_Message。如果需要,服务器构造R_Message,具体的,R_Message的格式可以为:R_Message=HDR,T,RAND,IDr,V;其中各参数的解释如下:
HDR:Common header Payload,通用头负载;承载一些MIKEY消息的通用属性。
T:Timestamp Payload,时间戳负载;承载时间信息。
IDr:承载反馈者的身份信息,如ID。
V:Ver Message Payload,消息验证负载。发送端通过该负载来验证反馈端消息。
如上所述,CA(Certificate Authority,可信任机构认证中心)将客户端和服务器的数字证书分发给客户端和服务器;也就是说客户端既获取到自身的数字证书,还获取到服务器的数字证书;同样的,服务器既获取到自身的数字证书,还获取到客户端的数字证书。
数字证书中包括公钥和ID等信息,服务器可以基于该数字证书、以及该I_Message,构造R_Message。比如,R_Message中的T与I_Message的T相同。
第四步,服务器向客户端发送200OK响应消息,也就是HTTP响应报文,该HTTP响应报文为拓展后的HTTP响应报文,其中添加了拓展字段Entity-Header,拓展字段中承载了服务器构造的MIKEY消息,也就是R_Message。
Entity-Header的具体格式可以为:
Key-Mgmt=“Key-Mgmt”:key-mgmt
key-mgmt:mikey,ACBBBBBBBB……
其中,key-mgmt之后为字符“:”
“:”之后为密钥管理协议类型
密钥管理协议类型之后为字符“,”
“,”之后为安全协议消息,MIKEY的消息为Base64编码格式。
客户端与服务器交互安全参数后,便可以基于安全参数进行通信,也就是图3中的数据(Data)交互。
图3实施方式中,第一方面,通过一次请求/响应的交互,客户端与服务器便实现了安全参数的交互。如果服务器根据I_Message中的HDR字段中的V,判定不需要针对该I_Message构造R_Message,则仅通过一个请求,则实现了客户端与服务器之间的安全参数交互。可见,本实施方式提供的交互机制效率高、资源消耗小。
第二方面,客户端与服务器基于安全参数进行通信,比如,HTTP通信过程中即可应用该安全参数,为HTTP通信提供了安全保障。
第三方面,本实施方式,在HTTP报文中承载MIKEY消息,实现了HTTP协议与MIKEY协议的兼容。
第四方面,本实施方式中,可以每隔一段时间进行安全参数的更新,进一步提高安全性能。
本申请实施例还提供了一种应用于第一设备的安全参数交互装置,第一设备可以为客户端设备,如手机、个人电脑等,具体不做限定。如图4所示,所述装置包括:
第一构造模块401,用于基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数;
第一添加模块402,用于将所述第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;
第一发送模块403,用于发送所述拓展HTTP请求报文,以使接收端设备获取所述安全参数。
作为一种实施方式,第一构造模块401,具体可以用于:
基于密钥协议,得到加密密钥和认证密钥;利用所述加密密钥,对安全参数进行加密,得到已加密的安全参数;利用所述认证密钥,生成消息鉴权码,得到包括所述已加密的安全参数及所述消息鉴权码的第一消息。
作为一种实施方式,所述密钥协议为MIKEY协议,所述第一消息为I_Message,所述拓展字段为Entity-Header。
应用本申请实施例进行安全参数交互时,执行本方案的设备基于密钥协议,构造第一消息,第一消息中包括已加密的安全参数;将第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;发送拓展HTTP请求报文;可见,本方案中,对HTTP报文进行了拓展,将安全参数添加到HTTP请求报文的拓展字段,实现了HTTP与密钥协议的兼容。
本申请实施例还提供了一种应用于第二设备的安全参数交互装置,第二设备可以为服务器设备,具体不做限定。如图5所示,所述装置包括:
接收模块501,用于接收拓展HTTP请求报文;
读取模块502,用于读取所述拓展HTTP请求报文的拓展字段,得到第一消息;
获取模块503,用于获取所述第一消息中包括的安全参数。
作为一种实施方式,所述装置还可以包括:
获得模块(图中未示出),用于基于密钥协议,得到加密密钥和认证密钥;
获取模块503,具体可以用于:利用所述认证密钥,验证所述第一消息是否合法;如果合法,利用所述加密密钥,对所述第一消息中的已加密的安全参数进行解密,得到解密后的安全参数。
作为一种实施方式,所述装置还可以包括:第二构造模块、第二添加模块和第二发送模块(图中未示出),其中,
第二构造模块,用于基于密钥协议和所述第一消息,构造第二消息;
第二添加模块,用于将所述第二消息添加到HTTP响应报文的拓展字段,得到拓展HTTP响应报文;
第二发送模块,用于发送所述拓展HTTP响应报文。
作为一种实施方式,所述装置还可以包括:
判断模块(图中未示出),用于根据所述第一消息,判断是否对所述拓展HTTP请求报文进行响应;如果是,则触发所述第二构造模块。
本申请实施例还提供一种电子设备,如图6所示,包括:处理器601和存储器602;
存储器602,用于存放计算机程序;
处理器601,用于执行存储器602上所存放的程序时,实现上述任一种安全参数交互方法。
本实施例中的电子设备可以为上述第一设备,也可以为上述第二设备。
上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种安全参数交互***,如图7所示,包括:第一设备和第二设备,
所述第一设备,用于基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数;将所述第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;将所述拓展HTTP请求报文发送至所述第二设备;
所述第二设备,用于接收所述拓展HTTP请求报文;读取所述拓展HTTP请求报文的拓展字段,得到第一消息;获取所述第一消息中包括的安全参数。
第一设备可以为客户端设备,如手机、个人电脑等,具体不做限定,第二设备可以为服务器设备,具体不做限定。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、设备实施例、以及***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (15)

1.一种安全参数交互方法,其特征在于,所述方法包括:
基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数;
将所述第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;
发送所述拓展HTTP请求报文,以使接收端设备获取所述安全参数。
2.根据权利要求1所述的方法,其特征在于,所述基于密钥协议,构造第一消息,包括:
基于密钥协议,得到加密密钥和认证密钥;
利用所述加密密钥,对安全参数进行加密,得到已加密的安全参数;
利用所述认证密钥,生成消息鉴权码,得到包括所述已加密的安全参数及所述消息鉴权码的第一消息。
3.根据权利要求1所述的方法,其特征在于,所述密钥协议为MIKEY协议,所述第一消息为I_Message,所述拓展字段为Entity-Header。
4.一种安全参数交互方法,其特征在于,所述方法包括:
接收拓展HTTP请求报文;
读取所述拓展HTTP请求报文的拓展字段,得到第一消息;
获取所述第一消息中包括的安全参数。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于密钥协议,得到加密密钥和认证密钥;
所述获取所述第一消息中包括的安全参数,包括:
利用所述认证密钥,验证所述第一消息是否合法;
如果合法,利用所述加密密钥,对所述第一消息中的已加密的安全参数进行解密,得到解密后的安全参数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于密钥协议和所述第一消息,构造第二消息;
将所述第二消息添加到HTTP响应报文的拓展字段,得到拓展HTTP响应报文;
发送所述拓展HTTP响应报文。
7.根据权利要求6所述的方法,其特征在于,在所述读取所述拓展HTTP请求报文的拓展字段,得到第一消息之后,还包括:
根据所述第一消息,判断是否对所述拓展HTTP请求报文进行响应;
如果是,则执行所述基于密钥协议和所述第一消息,构造第二消息的步骤。
8.一种安全参数交互装置,其特征在于,所述装置包括:
第一构造模块,用于基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数;
第一添加模块,用于将所述第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;
第一发送模块,用于发送所述拓展HTTP请求报文,以使接收端设备获取所述安全参数。
9.根据权利要求8所述的装置,其特征在于,所述构造模块,具体用于:
基于密钥协议,得到加密密钥和认证密钥;利用所述加密密钥,对安全参数进行加密,得到已加密的安全参数;利用所述认证密钥,生成消息鉴权码,得到包括所述已加密的安全参数及所述消息鉴权码的第一消息。
10.根据权利要求8所述的装置,其特征在于,所述密钥协议为MIKEY协议,所述第一消息为I_Message,所述拓展字段为Entity-Header。
11.一种安全参数交互装置,其特征在于,所述装置包括:
接收模块,用于接收拓展HTTP请求报文;
读取模块,用于读取所述拓展HTTP请求报文的拓展字段,得到第一消息;
获取模块,用于获取所述第一消息中包括的安全参数。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
获得模块,用于基于密钥协议,得到加密密钥和认证密钥;
所述获取模块,具体用于:利用所述认证密钥,验证所述第一消息是否合法;如果合法,利用所述加密密钥,对所述第一消息中的已加密的安全参数进行解密,得到解密后的安全参数。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二构造模块,用于基于密钥协议和所述第一消息,构造第二消息;
第二添加模块,用于将所述第二消息添加到HTTP响应报文的拓展字段,得到拓展HTTP响应报文;
第二发送模块,用于发送所述拓展HTTP响应报文。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
判断模块,用于根据所述第一消息,判断是否对所述拓展HTTP请求报文进行响应;如果是,则触发所述第二构造模块。
15.一种安全参数交互***,其特征在于,包括:第一设备和第二设备,
所述第一设备,用于基于密钥协议,构造第一消息,所述第一消息中包括已加密的安全参数;将所述第一消息添加到HTTP请求报文的拓展字段,得到拓展HTTP请求报文;将所述拓展HTTP请求报文发送至所述第二设备;
所述第二设备,用于接收所述拓展HTTP请求报文;读取所述拓展HTTP请求报文的拓展字段,得到第一消息;获取所述第一消息中包括的安全参数。
CN201810875609.1A 2018-08-03 2018-08-03 一种安全参数交互方法、装置、设备及*** Pending CN110798431A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810875609.1A CN110798431A (zh) 2018-08-03 2018-08-03 一种安全参数交互方法、装置、设备及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810875609.1A CN110798431A (zh) 2018-08-03 2018-08-03 一种安全参数交互方法、装置、设备及***

Publications (1)

Publication Number Publication Date
CN110798431A true CN110798431A (zh) 2020-02-14

Family

ID=69425370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810875609.1A Pending CN110798431A (zh) 2018-08-03 2018-08-03 一种安全参数交互方法、装置、设备及***

Country Status (1)

Country Link
CN (1) CN110798431A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438071A (zh) * 2021-05-28 2021-09-24 荣耀终端有限公司 安全通信的方法及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859291A (zh) * 2005-12-13 2006-11-08 华为技术有限公司 一种对网络报文安全封装的方法
CN101156412A (zh) * 2005-02-11 2008-04-02 诺基亚公司 用于在通信网络中提供引导过程的方法和装置
CN101478755A (zh) * 2009-01-21 2009-07-08 中兴通讯股份有限公司 一种网络安全的http协商的方法及其相关装置
US20110138458A1 (en) * 2009-12-04 2011-06-09 Cisco Technology, Inc. Establishing Internet Protocol Security Sessions Using the Extensible Messaging and Presence Protocol
US8503681B1 (en) * 2005-11-04 2013-08-06 Cisco Technology, Inc. Method and system to securely transport data encryption keys
CN105519028A (zh) * 2015-07-01 2016-04-20 海能达通信股份有限公司 一种无线***接入控制方法及装置
CN107251476A (zh) * 2015-02-13 2017-10-13 维萨国际服务协会 保密通信管理

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156412A (zh) * 2005-02-11 2008-04-02 诺基亚公司 用于在通信网络中提供引导过程的方法和装置
US8503681B1 (en) * 2005-11-04 2013-08-06 Cisco Technology, Inc. Method and system to securely transport data encryption keys
CN1859291A (zh) * 2005-12-13 2006-11-08 华为技术有限公司 一种对网络报文安全封装的方法
CN101478755A (zh) * 2009-01-21 2009-07-08 中兴通讯股份有限公司 一种网络安全的http协商的方法及其相关装置
US20110138458A1 (en) * 2009-12-04 2011-06-09 Cisco Technology, Inc. Establishing Internet Protocol Security Sessions Using the Extensible Messaging and Presence Protocol
CN107251476A (zh) * 2015-02-13 2017-10-13 维萨国际服务协会 保密通信管理
CN105519028A (zh) * 2015-07-01 2016-04-20 海能达通信股份有限公司 一种无线***接入控制方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KARL NORRMAN等: "《RFC3830, IETF, https://datatracker.ietf.org/doc/rfc3830》", 31 August 2004 *
李昕 等: "MIKEY协议在实时流传输中密钥协商模式的研究", 《计算机应用与软件》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438071A (zh) * 2021-05-28 2021-09-24 荣耀终端有限公司 安全通信的方法及设备
CN113438071B (zh) * 2021-05-28 2024-04-09 荣耀终端有限公司 安全通信的方法及设备

Similar Documents

Publication Publication Date Title
CN108886468B (zh) 用于分发基于身份的密钥资料和证书的***和方法
WO2017045552A1 (zh) 一种在ssl或tls通信中加载数字证书的方法和装置
JP2019531630A (ja) 量子通信及びトラステッドコンピューティングに基づくデータセキュリティのための方法及びシステム
CN111030814B (zh) 秘钥协商方法及装置
US20140298037A1 (en) Method, apparatus, and system for securely transmitting data
EP2173055A1 (en) A method, a system, a client and a server for key negotiating
US20120054491A1 (en) Re-authentication in client-server communications
Zhang et al. Efficient and privacy-preserving blockchain-based multifactor device authentication protocol for cross-domain IIoT
WO2010078755A1 (zh) 电子邮件的传送方法、***及wapi终端
CN111756529B (zh) 一种量子会话密钥分发方法及***
CN113497778A (zh) 一种数据的传输方法和装置
KR101765081B1 (ko) 클라우드 컴퓨팅을 위한 안전한 속성기반 인증 방법
CN112637136A (zh) 加密通信方法及***
Claeys et al. Securing complex IoT platforms with token based access control and authenticated key establishment
CN112564912A (zh) 建立安全连接的方法、***、装置和电子设备
Bali et al. Lightweight authentication for MQTT to improve the security of IoT communication
CN110493272B (zh) 使用多重密钥的通信方法和通信***
JP2016514913A (ja) セッション鍵を確立する方法および装置
CN111756528A (zh) 一种量子会话密钥分发方法、装置及通信架构
CN114553590A (zh) 数据传输方法及相关设备
CN104243452A (zh) 一种云计算访问控制方法及***
CN117155564A (zh) 一种双向加密认证***及方法
CN111654503A (zh) 一种远程管控方法、装置、设备及存储介质
CN110611679A (zh) 一种数据传输方法、装置、设备及***
KR101572598B1 (ko) Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200214

RJ01 Rejection of invention patent application after publication