CN114760093B - 通信方法及装置 - Google Patents

通信方法及装置 Download PDF

Info

Publication number
CN114760093B
CN114760093B CN202210225974.4A CN202210225974A CN114760093B CN 114760093 B CN114760093 B CN 114760093B CN 202210225974 A CN202210225974 A CN 202210225974A CN 114760093 B CN114760093 B CN 114760093B
Authority
CN
China
Prior art keywords
network device
value
tunnel
parameter set
message
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
Application number
CN202210225974.4A
Other languages
English (en)
Other versions
CN114760093A (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.)
New H3C Technologies Co Ltd Hefei Branch
Original Assignee
New H3C Technologies Co Ltd Hefei Branch
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 New H3C Technologies Co Ltd Hefei Branch filed Critical New H3C Technologies Co Ltd Hefei Branch
Priority to CN202210225974.4A priority Critical patent/CN114760093B/zh
Publication of CN114760093A publication Critical patent/CN114760093A/zh
Application granted granted Critical
Publication of CN114760093B publication Critical patent/CN114760093B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供一种通信方法及装置,所述方法应用于第一网络设备,所述方法包括:向第二网络设备发送第一MKPDU协议报文,所述第一MKPDU协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一类型字段,所述第一类型字段的值为第一值;接收所述第二网络设备根据所述第一值发送的第二MKPDU协议报文;若所述第二MKPDU协议报文包括第二扩展类型参数集,且所述第二扩展类型参数集包括的第二类型字段为所述第一值,则与所述第二网络设备协商建立第一隧道,所述第一隧道为加密隧道;在所述第一隧道内,与所述第二网络设备进行MKA协商,并通过所述MKA协商交互加密的SKA。

Description

通信方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
媒体存取控制位址安全(英文:Media Access Control Security,简称:MACsec)定义了基于IEEE 802协议的局域网内数据安全通信方法,可为用户提供安全的MAC层数据发送和接收服务。例如,用户数据加密、数据帧完整性检查及数据源真实性校验,未用户提供加密数据的线速转发等等。
在实际应用中,例如,密钥服务端(key server)确定需要启用MACsec保护服务时,生成安全关联密钥(英文:Secure Association Key,简称:SAK),并与非密钥服务端(例如,密钥客户端(key client))建立MACsec密钥协商(英文:MACsec Key Agreement,简称:MKA)会话。通过MKA会话告知密钥客户端SAK,以使得密钥服务段与密钥客户端在后续收发数据报文时,使用相同SAK为收发的报文提供保护。
其中,在通过MKA会话告知密钥客户端SAK时,密钥服务端通过AES算法对SAK进行加密操作。密钥服务端生成密钥协商协议数据单元(英文:MACsec Key AgreementProtocol Data Unit,简称:MKPDU)或称之为MKPDU协议报文,该MKPDU包括SAK分发参数集,在SAK分发参数集内存储加密后的SAK。密钥客户端接收到MKPDU后,从SAK分发参数集内获取加密后的SAK,并利用AES算法对加密后的SAK进行解密,得到SAK。
但是,如果在密钥服务端发送MKPDU的过程,存在“中间人攻击”,也即是,攻击者监听MKA会话,并直接截获MKPDU,然后,利用AES算法解密,则攻击者就会获取到密钥服务端发布的SAK,从而对后续采用SAK加密的数据报文进行解密。
发明内容
有鉴于此,本申请提供了一种通信方法及装置,用以解决现有密钥服务端在发布SAK过程中,易被攻击者截获加密后的SAK的问题。
第一方面,本申请提供了一种通信方法,所述方法应用于第一网络设备,所述方法包括:
向第二网络设备发送第一MKPDU协议报文,所述第一MKPDU协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一类型字段,所述第一类型字段的值为第一值;
接收所述第二网络设备根据所述第一值发送的第二MKPDU协议报文;
若所述第二MKPDU协议报文包括第二扩展类型参数集,且所述第二扩展类型参数集包括的第二类型字段为所述第一值,则与所述第二网络设备协商建立第一隧道,所述第一隧道为加密隧道;
在所述第一隧道内,与所述第二网络设备进行MKA协商,并通过所述MKA协商交互加密的SKA。
第二方面,本申请提供了一种通信装置,所述装置应用于第一网络设备,所述方法包括:
发送单元,用于向第二网络设备发送第一MKPDU协议报文,所述第一MKPDU协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一类型字段,所述第一类型字段的值为第一值;
接收单元,用于接收所述第二网络设备根据所述第一值发送的第二MKPDU协议报文;
建立单元,用于若所述第二MKPDU协议报文包括第二扩展类型参数集,且所述第二扩展类型参数集包括的第二类型字段为所述第一值,则与所述第二网络设备协商建立第一隧道,所述第一隧道为加密隧道;
协商单元,用于在所述第一隧道内,与所述第二网络设备进行MKA协商,并通过所述MKA协商交互加密的SKA。
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,通过应用本申请提供的通信方法及装置,第一网络设备向第二网络设备发送第一MKPDU协议报文,该第一MKPDU协议报文包括第一扩展类型参数集,其中,第一扩展类型参数集包括第一类型字段,第一类型字段的值为第一值;第一网络设备接收第二网络设备根据第一值发送的第二MKPDU协议报文;若第二MKPDU协议报文包括第二扩展类型参数集,且第二扩展类型参数集包括的第二类型字段为第一值,则第一网络设备与第二网络设备协商建立第一隧道,第一隧道为加密隧道;在第一隧道内,第一网络设备与第二网络设备进行MKA协商,并通过MKA协商交互加密的SKA。
如此,通过协商建立加密隧道,使得后续的MKA协商、发布SAK均在加密隧道中进行,最大限度地保障SAK的安全性解决了现有密钥服务端在发布SAK过程中,易被攻击者截获加密后的SAK的问题。
附图说明
图1为本申请实施例提供的通信方法的流程图;
图2为本申请实施例提供的EAP协议报文结构示意图;
图3为本申请实施例提供的PEAP类型的EAP协议报文结构示意图;
图4为本申请实施例提供的EAPOL报文结构示意图;
图5为本申请实施例提供的MKPDU协议报文包括多个参数集结构示意图;
图6为本申请实施例提供的第一扩展类型参数集结构示意图;
图7为本申请实施例提供的通信装置结构图;
图8为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的通信方法进行详细地说明。参见图1,图1为本申请实施例提供的通信方法的流程图。该方法应用于第一网络设备。本申请实施例提供的通信方法可包括如下所示步骤。
步骤110、向第二网络设备发送第一MKPDU协议报文,所述第一MKPDU协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一类型字段,所述第一类型字段的值为第一值;
具体地,第一网络设备与第二网络设备建立MKA会话,并在MKA会话上进行MKA协商。
首先,第一网络设备与第二网络设备选举密钥服务端(key server)端,具体过程为:
已使能MACsec功能的网络设备(例如,第一网络设备)持续发送MKPDU协议报文(例如,以2s为周期发送),该MKPDU协议报文包括一基本参数集。基本参数集包括CAK名称字段(CAK Name)。接收到上述MKPDU的网络设备(例如,第二网络设备)确定报文中包括的CAKName的值与本地配置的CAK Name的值相同,则将第一网络设备学习为潜在对端(PotentialPeer)。
第二网络设备生成MKPDU协议报文,该MKPDU协议报文包括一基本参数集。基本参数集包括Potential Peer字段,Potential Peer字段内携带第二网络设备学习到的邻居信息。第一网络设备接收到上述MKPDU协议报文后,确定Potential Peer字段内携带的邻居信息包括自身自身,则第一网络设备将第二网络设备学习为Potential Peer。第一网络设备再次生成MKPDU协议报文,该MKPDU协议报文包括一基本参数集。基本参数集包括PotentialPeer字段,Potential Peer字段内携带第二网络设备的信息。
第一网络设备、第二网络设备相互发现对端并将对端设置为邻居后,各自再次生成并发送MKPDU协议报文。该MKPDU协议报文包括一基本参数集。基本参数集包括密钥服务端优先级(Key Server Priority)字段。上述两个网络设备比较设备端口优先级的大小,将优先级高的配置为key server端,将优先级低的配置为key client端。在本申请实施例中,第一网络设备的优先级高于第二网络设备,则第一网络设备为key server端,第二网络设备为key client端。
若两个网络设备的端口优先级相同,则比较设备端口的SCI值(MAC地址+设备端口的ID),将SCI值小的配置为配置为key server端,将SCI值大的配置为key client端。
上述第一网络设备与第二网络设备选举key server端的过程与现有网络设备选举key server端的过程相同,在此仅简单说明。
第一网络设备作为key server端,生成第一MKPDU协议报文,该第一MKPDU协议报文包括第一扩展类型参数集。该第一扩展类型参数集包括第一类型字段,第一类型字段的值为第一值。
第一网络设备生成第一MKPDU协议报文后,向第二网络设备发送第一MKPDU协议报文。第二网络设备接收第一MKPDU协议报文后,先从中获取第一扩展类型参数集。然后,从第一扩展类型参数集中获取第一类型字段的值。
进一步地,下面对第一MKPDU协议报文的报文格式进行详细说明。
第一网络设备生成EAP协议报文,并通过EAPOL技术对EAP协议进行封装处理,得到EAPOL报文。EAPOL技术是802.1X协议定义的一种承载EAP协议报文的封装技术,主要用于在局域网中传送客户端和服务端之间的EAP协议报文。
如图2所示,图2为本申请实施例提供的EAP协议报文结构示意图。在图2中,EAP协议报文包括代码(Code)字段、标识(Identifier)字段、长度(Length)字段以及数据(Data)字段。
其中,Code字段的值用于表示EAP报文的类型,EAP报文的类型包括请求(Request)类型,值为1;响应(Response)类型,值为2;成功(Success)类型,值为3以及失败(Failure)类型,值为4。Identifier字段的值用于匹配类型为Request的EAP报文和类型Response为的EAP报文的标识符。Length字段的值用于表示EAP报文的长度。Data字段表示EAP报文的内容,该字段仅在EAP报文的类型为Request类型和Response类型时存在,其由类型域和类型数据组成。例如,类型域的值为1表示Identity类型,类型域的值为4表示MD5 challenge类型。类型域的值为25表示受保护的可扩展认证协议(英文:Protected ExtensibleAuthentication Protocol,简称:PEAP)类型。类型域的值为254表示厂商支持自身的扩展类型。
下面给出类型域的值为25表示PEAP类型的EAP协议报文。如图3所示,图3为本申请实施例提供的PEAP类型的EAP协议报文结构示意图。在图3中,PEAP类型的EAP协议报文包括代码(Code)字段、标识(Identifier)字段、长度(Length)字段以及数据(Data)字段。Data字段由类型域和类型数据组成。类型域具体为类型(Type)字段,类型数据包括标志(Flags)字段、版本(Version)字段、TLS信息长度(TLS Message Length)字段以及TLS数据(Data)字段。
其中,Code字段的值为1或2,值为1表示Request类型;值为2表示响应Response类型。Identifier字段以及Length字段的含义前述已说明,在此不再复述。Type字段的值为25标识PEAP类型。
Flags字段包括L位、M位、S位以及R位。L位被置位用于表明TLS Message Length字段有效,且必须在具有TLS信息的第一个分片报文中或者所有分片报文中设置;M位被置位用于表明后续还有分片报文;S位被置位用于表明该PEAP类型的EAP协议报文为PEAP开始(Start)报文,并启动PEAP认证;R位为保留位且必须置0。
Version字段包括R位以及1位。R位为保留位且必须置0。TLS Message Length字段用于表示TLS信息的总长度或一组分片TLS信息的总长度。TLS Data字段用于表示以TLS记录格式封装的报文。
如图4所示,图4为本申请实施例提供的EAPOL报文结构示意图。在图4中,EAPOL报文包括PAE以太网类型(PAE Ethernet Type)字段、协议版本(Protocol Version)字段、报文类型(Packet Type)字段、报文体长度(Packet Body Length)字段以及报文体(PacketBody)字段(该报文体字段可称之为第一报文体字段)。
其中,PAE Ethernet Type字段、Protocol Version字段、Packet Type字段、Packet Body Length字段可组成EAPOL头部。当Packet Type字段的值为0000 0101(该值可称之为第二值)时,表征EAPOL报文为MKPDU协议报文。也即是,第一MKPDU协议报文包括的Packet Type字段的值为0000 0101。Packet Body字段用于承载第一扩展类型参数集。
每个MKPDU协议报文包括多个参数集,多个参数集携带在报文体(Packet Body)字段中。各参数集的使用标准由MACsec密钥协议在IEEE802.1X-2010第9条中指定,该条款指定各参数集的编码。
如图5所示,图5为本申请实施例提供的MKPDU协议报文包括多个参数集结构示意图。在图5中,第一个参数集为基本参数集(Basic Parameter Set),其始终存在,基本参数集后面可伴随着0个或更多个参数集,最后为ICV字段。
可以理解的是,基本参数集中包括前述网络设备选举key server端的过程中涉及的多个字段。例如,CAK Name字段、Potential Peer字段、Key Server Priority字段。
在本申请实施例中,第一网络设备在基本参数集后新增第一扩展类型(ExpandedTypes)参数集。如图6所示,图6为本申请实施例提供的第一扩展类型参数集结构示意图。在图6中,第一扩展类型参数集包括参数集类型(Parameter Set Type)字段(该参数集类型字段的值为254,该值可称之为第三值)、版本(Version)字段、类型(Type)字段(该类型字段可称之为第一类型字段)、长度(Length)字段以及报文体(Packet Body)字段(该报文体字段可称之为第二报文体字段)。
其中,版本字段的值为1,用于标记扩展类型协议版本为1;类型字段的值为1(该值可称之为第一值),用于表示启用协议加密保护(Protocol encryption protection)类型,也即是,在MKA协商前需与对端建立加密隧道;长度字段,用于表示第一扩展类型参数集整体长度;报文体字段用于携带报文内容;当类型字段的值为1表示启用协议加密保护类型时,报文体字段内的报文格式为EAP协议报文。
进一步地,通过前述对第一MKPDU协议报文的报文格式描述可知,本申请实施例,第一MKPDU协议报文包括第一报文体字段(即,Packet Body字段),该第一报文体字段承载第一扩展类型参数集。
第一扩展类型参数集包括第一类型字段(即,Type字段)以及第二报文体字段(即Packet Body字段),当第一类型字段的值为第一值(即,Type字段的值为1)时,第二报文体字段承载上述EAP协议报文。
在本申请实施例中,若第一网络设备不支持第一扩展类型参数集,则第一网络设备按现有MACsec协议发起与第二网络设备之间的MKA协商。
步骤120、接收所述第二网络设备根据所述第一值发送的第二MKPDU协议报文;
具体地,根据步骤110的描述,第一网络设备向第二网络设备发送第一MKPDU协议报文。第二网络设备接收到第一MKPDU协议报文后,先从第一报文体字段中获取第一扩展类型参数集。第二网络设备识别自身是否支持第一扩展类型参数集。
若第二网络设备支持第一扩展类型参数集,则第二网络设备从第一扩展类型集中获取类型字段,并识别类型字段的值。若类型字段的值为1,则表示启用协议加密保护类型,也即是,在MKA协商前需与对端建立加密隧道。
第二网络设备根据第一值,生成第二MKPDU协议报文。
可以理解的是,第二MKPDU协议报文的报文结构与前述第一MKPDU协议报文的报文结构相同,在此不再复述。
第二网络设备也将第二扩展类型参数集包括的类型字段的值置为1,第二扩展类型参数集包括的第三报文体字段承载EAP协议报文(该第三报文体字段与第二报文体字段相同)。EAP协议报文的封装方式、报文结构与步骤110中描述的EAP协议报文的封装方式、报文结构相同,在此不再复述。
第二网络设备将第二扩展类型参数集携带在第四报文体字段(该第四报文体字段与第一报文体字段相同),从而,第二网络设备生成第二MKPDU协议报文。
可以理解的是,上述第二MKPDU协议报文、第二扩展类型集包括的未提到的其他字段可根据现有协议规定、前述步骤110中对第一扩展类型集的描述设置各字段的值,在此不再复述。
第二网络设备生成第二MKPDU协议报文后,向第一网络设备发送第二MKPDU协议报文。
第一网络设备接收第二网络设备发送的第二MKPDU协议报文。
步骤130、若所述第二MKPDU协议报文包括第二扩展类型参数集,且所述第二扩展类型参数集包括的第二类型字段为所述第一值,则与所述第二网络设备协商建立第一隧道,所述第一隧道为加密隧道;
具体地,根据步骤320的描述,第一网络设备接收到第二MKPDU协议报文之后,先从第四报文体字段中获取第二扩展类型参数集。
第一网络设备获取到第二扩展类型参数集后,确定第二网络设备也支持同参数集类型(例如,参数集类型字段的值为254)。第一网络设备从第二扩展类型参数集中获取类型字段(该类型字段可称之为第二类型字段),并识别第二类型字段的值。若第二类型字段的值为1,则表示第三报文体字段内存储的为EAP协议报文。
第一网络根据第二类型字段的值,与第二网络设备协商建立第一隧道,该第一隧道可具体为TLS隧道且为加密隧道。
第一网络设备与第二网络设备协商建立第一隧道,具体过程为:
在步骤120中,第二网络设备识别出第一类型字段的值为1后,确定启用协议加密保护类型,也即是,在MKA协商前需与第一网络设备建立加密隧道。
此时,第二网络设备产生一个第一随机数。第二网络设备获取自身支持的加密算法列表、TLS协议版本、会话ID、以及压缩方法(目前可为NULL)。
第二网络设备将第一随机数、自身支持的加密算法列表、TLS协议版本、会话ID、以及压缩方法形成客户端你好(Client Hello)报文。第二网络设备将Client Hello封装为EAP-Rsponse报文,并将该EAP-Rsponse报文携带在第二扩展类型参数集包括的第三报文体字段中。
可以理解的是,前述第一网络设备发送的第一MKPDU报文包括第一扩展类型参数集。该第一扩展类型参数集包括的第二报文体字段中承载的EAP协议报文可具体为PEAP/Start报文。
第二网络设备向第一网络设备发送第二MKPDU协议报文。
第一网络设备接收到第二MKPDU协议报文且识别出第二类型字段的值为1后,确定第二网络设备支持启用协议加密保护类型。第一网络设备从第三报文体字段中获取第二网络设备自身支持的加密算法列表,并从中选择自身支持的一组加密算法(例如,第一加密算法)。此时,第一网络设备产生一个第二随机数。第一网络设备获取服务端证书(该服务端证书包括服务端名称以及公钥)。
第一网络设备将第二随机数、第一加密算法的标识、服务端证书、证书请求以及服务端完成(Server_Hello_Done)属性形成服务端你好(Server Hello)报文。第一网络设备将Server Hello报文封装为EAP-request报文,并将该EAP-request报文携带在第一扩展类型参数集包括的第二报文体字段中。如此,第一网络设备生成第三MKPDU协议报文,并向第二网络设备发送第三MKPDU协议报文。
第二网络设备接收到第三MKPDU协议报文后,从中获取服务端证书。第二网络设备验证服务端证书是否合法(例如,第二网络设备使用从CA证书颁发机构获取的根证书进行验证,主要验证服务端证书时间是否合法,名称是否合法,即第二网络设备对网络进行认证,从而可以保证服务端的合法)。
可以理解的是,若第二网络设备未安装客户端证书,则其不会对服务端证书的合法性进行认证,也即是,第二网络设备无法对网络进行认证。
若合法,则第二网络设备从服务端证书内提取公钥,并产生一个随机密码串(pre-master-secret)。第二网络设备使用公钥对pre-master-secret进行加密操作,得到客户端密钥交换(Client Key Exchange)。
第二网络设备还从第三MKPDU协议报文中获取第二随机数。第二网络设备对pre-master-secret、第一随机数、第二随机数进行运算处理(例如,对pre-master-secret、第一随机数、第二随机数进行和运算处理),生成加密密钥、加密初始化向量和hmac密钥。
第二网络设备将Client Key Exchange、客户端证书(若未存在证书,则该属性置0)以及TLS完成(TLS finished)属性(该属性用于告知第一网络设备,第二网络设备本端TLS隧道已准备完成)形成TLS OK报文。第二网络设备将TLS OK报文封装为EAP-Rsponse报文,并将该EAP-Rsponse报文携带在第二扩展类型参数集包括的第三报文体字段中。如此,第二网络设备生成第四MKPDU协议报文,并向第一网络设备发送第四MKPDU协议报文。
第一网络设备接收到第四MKPDU协议报文后,从中获取Client Key Exchange。第一网络设备利用服务端证书对应的私钥对Client Key Exchange进行解密操作,从而获取pre-master-secret。第一网络设备对pre-master-secret、第一随机数、第二随机数进行运算处理(例如,对pre-master-secret、第一随机数、第二随机数进行和运算处理),生成加密密钥、加密初始化向量和校验密钥(例如,hmac密钥,该密钥具体为一种哈希算法)。
综上所述,两端均已安全的协商出一套加密方式。至此,TLS隧道,也即是第一隧道已建立完成。在后续的MKA协商过程中,利用TLS隧道,两端将使用协商出的加密密钥、加密初始化向量、hmac密钥进行加密和校验。
步骤140、在所述第一隧道内,与所述第二网络设备进行MKA协商,并通过所述MKA协商交互加密的SKA;
具体地,根据步骤130的描述,第一网络设备与第二网络设备建立第一隧道后,在第一隧道内,利用上述加密密钥、加密初始化向量、hmac密钥与第二网络设备继续进行MKA协商,并通过MKA协商交互加密的SKA。
可以理解的是,第一网络设备与第二网络设备进行MKA协商时,可利用加密密钥、加密初始化向量、hmac密钥对交互的往来报文(例如,两端相互发布接收SA、发送SA以告知对端自身收发就绪,进而建立SA会话)进行加密操作,以保证在交互SKA时,SKA的安全性。具体的MKA协商过程与现有MKA协商过程相同,在此不再复述。
因此,通过应用本申请提供的通信方法,第一网络设备向第二网络设备发送第一MKPDU协议报文,该第一MKPDU协议报文包括第一扩展类型参数集,其中,第一扩展类型参数集包括第一类型字段,第一类型字段的值为第一值;第一网络设备接收第二网络设备根据第一值发送的第二MKPDU协议报文;若第二MKPDU协议报文包括第二扩展类型参数集,且第二扩展类型参数集包括的第二类型字段为第一值,则第一网络设备与第二网络设备协商建立第一隧道,第一隧道为加密隧道;在第一隧道内,第一网络设备与第二网络设备进行MKA协商,并通过MKA协商交互加密的SKA。
如此,通过协商建立加密隧道,使得后续的MKA协商、发布SAK均在加密隧道中进行,最大限度地保障SAK的安全性解决了现有密钥服务端在发布SAK过程中,易被攻击者截获加密后的SAK的问题。
可选地,在本申请实施例步骤110之前,还包括第一网络设备接收用户输入的配置指令的步骤。
具体地,用户通过向第一网络设备输入命令行的方式,向第一网络设备下发配置指令。该配置指令包括MKA协商策略,该MKA协商策略用于使第一网络设备与第二网络设备建立第一隧道,并在第一隧道内进行所述MKA协商。
第一网络设备接收配置指令后,待启动与第二网络设备之间的MKA协商过程中,在第一MKPDU协议报文中携带第一扩展类型参数集,并将第一扩展类型参数集包括的第一类型字段的值置为第一值。
例如,命令行具体为:mka eap-method peap-mka。
通过上述命令行,用户指定两端网络设备在进行MKA协商前,先建立加密隧道。然后,在加密隧道内进行MKA协商。MKA协商出的SAK在加密隧道内进行传输,如此保证了SAK在分发传输过程中的安全性。
可选地,在本申请实施例中,第一网络设备接收到第二MKPDU协议报文之后,还包括第二MKPDU协议报文未包括第二扩展类型参数集的情况。
具体地,第二网络设备在识别自身是否支持第一扩展类型参数集的过程中,若第二网络设备不支持第一扩展类型参数集,则根据IEEE802.1X-2010协议,第二网络设备在处理时,跳过无法识别的参数集。也即是,第二网络设备不对第一扩展类型参数集进行识别、处理。
可以理解的是,第二网络设备在生成第二MKPDU协议报文时,由于自身不支持第一扩展类型参数集,因此,第二MKPDU协议报文不包括与第一扩展类型参数集相同字段值的第二扩展类型参数集(例如,参数集类型字段的值为254)。
第一网络设备接收到第二MKPDU协议报文后,若未从第四报文体字段中获取第二扩展类型参数集,则第一网络设备确定第二网络设备无法支持同参数集类型(例如,参数集类型字段的值为254)。
此时,第一网络设备按照现有MKA协商规则,与第二网络设备协商其他密钥参数,不进行建立第一隧道的协商。
基于同一发明构思,本申请实施例还提供了与通信方法对应的通信装置。参见图7,图7为本申请实施例提供的通信装置,所述装置应用于第一网络设备,所述装置包括:
发送单元710,用于向第二网络设备发送第一MKPDU协议报文,所述第一MKPDU协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一类型字段,所述第一类型字段的值为第一值;
接收单元720,用于接收所述第二网络设备根据所述第一值发送的第二MKPDU协议报文;
建立单元730,用于若所述第二MKPDU协议报文包括第二扩展类型参数集,且所述第二扩展类型参数集包括的第二类型字段为所述第一值,则与所述第二网络设备协商建立第一隧道,所述第一隧道为加密隧道;
协商单元740,用于在所述第一隧道内,与所述第二网络设备进行MKA协商,并通过所述MKA协商交互加密的SKA。
可选地,所述接收单元720还用于,接收用户输入的配置指令,所述配置指令包括MKA协商策略,所述MKA协商策略用于使所述第一网络设备与所述第二网络设备建立所述第一隧道,并在所述第一隧道内进行所述MKA协商。
可选地,所述装置还包括:生成单元(图中未示出),用于生成EAP协议报文;
封装单元(图中未示出),用于基于EAPOL协议,对所述EAP报文进行封装处理,得到EAPOL报文,所述EAPOL报文包括EAPOL头部以及第一报文体字段,所述EAPOL头部包括EAPOL报文类型字段,所述EAPOL报文类型字段的值为第二值,所述第二值用以标识所述EAPOL报文为MKPDU协议报文,所述第一报文体字段包括所述第一扩展类型参数集,所述第一扩展类型参数集包括第一参数集类型字段以及第二报文体字段,所述第一参数集类型字段的值为第三值,所述第三值用于表示所述第一网络设备支持所述第一扩展类型参数集,当所述第一类型字段的值为所述第一值时,所述第二报文体字段用于承载所述EAP协议报文。
可选地,所述建立单元730还用于,若所述第二MKPDU协议报文未包括所述第二扩展类型参数集,则确定不与所述第二网络设备协商建立所述第一隧道。
可选地,所述第二扩展类型参数集还包括所述第二网络设备支持的加密算法列表以及所述第二网络设备产生的第一随机数;
所述建立单元730具体用于,从所述第二网络设备支持的加密算法列表中,获取所述第一网络设备支持的第一加密算法;
向所述第二网络设备发送第三MKPDU协议报文,所述第三MKPDU协议报文包括所述第一加密算法的标识、服务端证书,所述服务端证书包括公钥;
接收所述第二网络设备发送的第四MKPDU协议报文,所述第四MKPDU协议报文包括客户端密钥交换以及隧道属性,所述客户端密钥交换信息为当所述服务端证书合法时,所述第二网络设备基于所述第一加密算法的标识对应的所述第一加密算法以及公钥对产生的随机密码串进行加密操作后得到;
当所述隧道属性表征所述第二网络设备本端隧道已准备完成时,基于所述服务端证书对应的私钥对所述加密信息进行解密,获取所述第二网络设备产生的所述随机密码串;
对所述随机密码串、所述第一随机数以及所述第一网络设备产生的第二随机数进行运算处理,生成加密密钥、加密初始化向量和校验密钥;
建立所述第一隧道。
可选地,所述第三MKPDU协议报文还包括第二随机数,所述第二随机数用于使所述第二网络设备对所述随机密码串、所述第一随机数以及所述第二随机数进行运算处理,生成所述加密密钥、加密初始化向量和校验密钥。
因此,通过应用本申请提供的通信装置,第一网络设备向第二网络设备发送第一MKPDU协议报文,该第一MKPDU协议报文包括第一扩展类型参数集,其中,第一扩展类型参数集包括第一类型字段,第一类型字段的值为第一值;第一网络设备接收第二网络设备根据第一值发送的第二MKPDU协议报文;若第二MKPDU协议报文包括第二扩展类型参数集,且第二扩展类型参数集包括的第二类型字段为第一值,则第一网络设备与第二网络设备协商建立第一隧道,第一隧道为加密隧道;在第一隧道内,第一网络设备与第二网络设备进行MKA协商,并通过MKA协商交互加密的SKA。
如此,通过协商建立加密隧道,使得后续的MKA协商、发布SAK均在加密隧道中进行,最大限度地保障SAK的安全性解决了现有密钥服务端在发布SAK过程中,易被攻击者截获加密后的SAK的问题。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图8所示,包括处理器810、收发器820和机器可读存储介质830,机器可读存储介质830存储有能够被处理器810执行的机器可执行指令,处理器810被机器可执行指令促使执行本申请实施例所提供的通信方法。前述图7所示的通信装置,可采用如图8所示的网络设备硬件结构实现。
上述计算机可读存储介质830可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质830还可以是至少一个位于远离前述处理器810的存储装置。
上述处理器810可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器810通过读取机器可读存储介质830中存储的机器可执行指令,被机器可执行指令促使能够实现处理器810自身以及调用收发器820执行前述本申请实施例描述的通信方法。
另外,本申请实施例提供了一种机器可读存储介质830,机器可读存储介质830存储有机器可执行指令,在被处理器810调用和执行时,机器可执行指令促使处理器810自身以及调用收发器820执行前述本申请实施例描述的通信方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于通信装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

1.一种通信方法,其特征在于,所述方法应用于第一网络设备,所述方法包括:
向第二网络设备发送第一MKPDU协议报文,所述第一MKPDU协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一类型字段,所述第一类型字段的值为第一值;
接收所述第二网络设备根据所述第一值发送的第二MKPDU协议报文;
若所述第二MKPDU协议报文包括第二扩展类型参数集,且所述第二扩展类型参数集包括的第二类型字段为所述第一值,则与所述第二网络设备协商建立第一隧道,所述第一隧道为加密隧道;
在所述第一隧道内,与所述第二网络设备进行MKA协商,并通过所述MKA协商交互加密的安全关联密钥SAK。
2.根据权利要求1所述的方法,其特征在于,所述向第二网络设备发送第一MKPDU协议报文之前,所述方法还包括:
接收用户输入的配置指令,所述配置指令包括MKA协商策略,所述MKA协商策略用于使所述第一网络设备与所述第二网络设备建立所述第一隧道,并在所述第一隧道内进行所述MKA协商。
3.根据权利要求1所述的方法,其特征在于,所述向第二网络设备发送第一MKPDU协议报文之前,所述方法还包括:
生成EAP协议报文;
基于EAPOL协议,对所述EAP报文进行封装处理,得到EAPOL报文,所述EAPOL报文包括EAPOL头部以及第一报文体字段,所述EAPOL头部包括EAPOL报文类型字段,所述EAPOL报文类型字段的值为第二值,所述第二值用以标识所述EAPOL报文为MKPDU协议报文,所述第一报文体字段包括所述第一扩展类型参数集,所述第一扩展类型参数集包括第一参数集类型字段以及第二报文体字段,所述第一参数集类型字段的值为第三值,所述第三值用于表示所述第一网络设备支持所述第一扩展类型参数集,当所述第一类型字段的值为所述第一值时,所述第二报文体字段用于承载所述EAP协议报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二MKPDU协议报文未包括所述第二扩展类型参数集,则确定不与所述第二网络设备协商建立所述第一隧道。
5.根据权利要求1所述的方法,其特征在于,所述第二扩展类型参数集还包括所述第二网络设备支持的加密算法列表以及所述第二网络设备产生的第一随机数;
所述与所述第二网络设备协商建立第一隧道,具体包括:
从所述第二网络设备支持的加密算法列表中,获取所述第一网络设备支持的第一加密算法;
向所述第二网络设备发送第三MKPDU协议报文,所述第三MKPDU协议报文包括所述第一加密算法的标识、服务端证书,所述服务端证书包括公钥;
接收所述第二网络设备发送的第四MKPDU协议报文,所述第四MKPDU协议报文包括客户端密钥交换以及隧道属性,所述客户端密钥交换信息为当所述服务端证书合法时,所述第二网络设备基于所述第一加密算法的标识对应的所述第一加密算法以及公钥对产生的随机密码串进行加密操作后得到;
当所述隧道属性表征所述第二网络设备本端隧道已准备完成时,基于所述服务端证书对应的私钥对所述加密信息进行解密,获取所述第二网络设备产生的所述随机密码串;
对所述随机密码串、所述第一随机数以及所述第一网络设备产生的第二随机数进行运算处理,生成加密密钥、加密初始化向量和校验密钥;
建立所述第一隧道。
6.根据权利要求5所述的方法,其特征在于,所述第三MKPDU协议报文还包括第二随机数,所述第二随机数用于使所述第二网络设备对所述随机密码串、所述第一随机数以及所述第二随机数进行运算处理,生成所述加密密钥、加密初始化向量和校验密钥。
7.一种通信装置,其特征在于,所述装置应用于第一网络设备,所述装置包括:
发送单元,用于向第二网络设备发送第一MKPDU协议报文,所述第一MKPDU协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一类型字段,所述第一类型字段的值为第一值;
接收单元,用于接收所述第二网络设备根据所述第一值发送的第二MKPDU协议报文;
建立单元,用于若所述第二MKPDU协议报文包括第二扩展类型参数集,且所述第二扩展类型参数集包括的第二类型字段为所述第一值,则与所述第二网络设备协商建立第一隧道,所述第一隧道为加密隧道;
协商单元,用于在所述第一隧道内,与所述第二网络设备进行MKA协商,并通过所述MKA协商交互加密的安全关联密钥SAK。
8.根据权利要求7所述的装置,其特征在于,所述接收单元还用于,接收用户输入的配置指令,所述配置指令包括MKA协商策略,所述MKA协商策略用于使所述第一网络设备与所述第二网络设备建立所述第一隧道,并在所述第一隧道内进行所述MKA协商。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
生成单元,用于生成EAP协议报文;
封装单元,用于基于EAPOL协议,对所述EAP报文进行封装处理,得到EAPOL报文,所述EAPOL报文包括EAPOL头部以及第一报文体字段,所述EAPOL头部包括EAPOL报文类型字段,所述EAPOL报文类型字段的值为第二值,所述第二值用以标识所述EAPOL报文为MKPDU协议报文,所述第一报文体字段包括所述第一扩展类型参数集,所述第一扩展类型参数集包括第一参数集类型字段以及第二报文体字段,所述第一参数集类型字段的值为第三值,所述第三值用于表示所述第一网络设备支持所述第一扩展类型参数集,当所述第一类型字段的值为所述第一值时,所述第二报文体字段用于承载所述EAP协议报文。
10.根据权利要求7所述的装置,其特征在于,所述建立单元还用于,若所述第二MKPDU协议报文未包括所述第二扩展类型参数集,则确定不与所述第二网络设备协商建立所述第一隧道。
11.根据权利要求7所述的装置,其特征在于,所述第二扩展类型参数集还包括所述第二网络设备支持的加密算法列表以及所述第二网络设备产生的第一随机数;
所述建立单元具体用于,从所述第二网络设备支持的加密算法列表中,获取所述第一网络设备支持的第一加密算法;
向所述第二网络设备发送第三MKPDU协议报文,所述第三MKPDU协议报文包括所述第一加密算法的标识、服务端证书,所述服务端证书包括公钥;
接收所述第二网络设备发送的第四MKPDU协议报文,所述第四MKPDU协议报文包括客户端密钥交换以及隧道属性,所述客户端密钥交换信息为当所述服务端证书合法时,所述第二网络设备基于所述第一加密算法的标识对应的所述第一加密算法以及公钥对产生的随机密码串进行加密操作后得到;
当所述隧道属性表征所述第二网络设备本端隧道已准备完成时,基于所述服务端证书对应的私钥对所述加密信息进行解密,获取所述第二网络设备产生的所述随机密码串;
对所述随机密码串、所述第一随机数以及所述第一网络设备产生的第二随机数进行运算处理,生成加密密钥、加密初始化向量和校验密钥;
建立所述第一隧道。
12.根据权利要求11所述的装置,其特征在于,所述第三MKPDU协议报文还包括第二随机数,所述第二随机数用于使所述第二网络设备对所述随机密码串、所述第一随机数以及所述第二随机数进行运算处理,生成所述加密密钥、加密初始化向量和校验密钥。
CN202210225974.4A 2022-03-07 2022-03-07 通信方法及装置 Active CN114760093B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210225974.4A CN114760093B (zh) 2022-03-07 2022-03-07 通信方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210225974.4A CN114760093B (zh) 2022-03-07 2022-03-07 通信方法及装置

Publications (2)

Publication Number Publication Date
CN114760093A CN114760093A (zh) 2022-07-15
CN114760093B true CN114760093B (zh) 2024-02-09

Family

ID=82325267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210225974.4A Active CN114760093B (zh) 2022-03-07 2022-03-07 通信方法及装置

Country Status (1)

Country Link
CN (1) CN114760093B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197662A (zh) * 2006-12-06 2008-06-11 华为技术有限公司 生成安全关联密钥sak的方法、网络设备、网络系统
CN103532720A (zh) * 2013-10-22 2014-01-22 杭州华三通信技术有限公司 一种capwap报文的传输方法和设备
CN105763318A (zh) * 2016-01-29 2016-07-13 杭州华三通信技术有限公司 一种预共享密钥获取、分配方法及装置
CN111865906A (zh) * 2015-07-17 2020-10-30 华为技术有限公司 报文传输的方法、装置和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529933B2 (en) * 2002-05-30 2009-05-05 Microsoft Corporation TLS tunneling
US9225699B2 (en) * 2012-09-29 2015-12-29 Avaya Inc. Security key generation in link aggregation group topologies
US20190386824A1 (en) * 2018-06-13 2019-12-19 Hewlett Packard Enterprise Development Lp Failover in a media access control security capabale device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197662A (zh) * 2006-12-06 2008-06-11 华为技术有限公司 生成安全关联密钥sak的方法、网络设备、网络系统
CN103532720A (zh) * 2013-10-22 2014-01-22 杭州华三通信技术有限公司 一种capwap报文的传输方法和设备
CN111865906A (zh) * 2015-07-17 2020-10-30 华为技术有限公司 报文传输的方法、装置和系统
CN105763318A (zh) * 2016-01-29 2016-07-13 杭州华三通信技术有限公司 一种预共享密钥获取、分配方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
无线局域网隧道认证协议PEAP的分析与改进;赵志新, 祝跃飞, 梁立明;信息工程大学学报(第03期);全文 *

Also Published As

Publication number Publication date
CN114760093A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN105530238B (zh) 用于安全对话建立和数据的加密交换的计算机实现系统和方法
US7865727B2 (en) Authentication for devices located in cable networks
US7676676B2 (en) Method and apparatus for performing mutual authentication within a network
JP4649513B2 (ja) 無線携帯インターネットシステムの認証方法及び関連キー生成方法
US7461253B2 (en) Method and apparatus for providing a key for secure communications
US11736304B2 (en) Secure authentication of remote equipment
US11075907B2 (en) End-to-end security communication method based on mac protocol using software defined-networking, and communication controller and computer program for the same
Cam-Winget et al. The flexible authentication via secure tunneling extensible authentication protocol method (EAP-FAST)
CN110995414B (zh) 基于国密算法在tls1_3协议中建立通道的方法
AU2003284144A1 (en) Lightweight extensible authentication protocol password preprocessing
WO2011076008A1 (zh) 一种wapi终端与应用服务器传输文件的系统及方法
EP3340530B1 (en) Transport layer security (tls) based method to generate and use a unique persistent node identity, and corresponding client and server
JP2004194196A (ja) パケット通信認証システム、通信制御装置及び通信端末
CN114760093B (zh) 通信方法及装置
CN114614984B (zh) 一种基于国密算法的时间敏感网络安全通信方法
WO2014117524A1 (zh) Wlan接入网络中传递成对主密钥的方法和系统
KR20230039722A (ko) 사전-공유 키 psk 업데이트 방법 및 장치
WO2021236078A1 (en) Simplified method for onboarding and authentication of identities for network access
CN115314278B (zh) 可信网络连接身份认证方法、电子设备及存储介质
Boire et al. Credential provisioning and device configuration with EAP
CN115037504A (zh) 通信方法及装置
CN117714125A (zh) 基于用户安全等级的ssl vpn终端认证方法及系统
CN115278660A (zh) 接入认证方法、装置及系统
Cam-Winget et al. RFC 4851: The Flexible Authentication via Secure Tunneling Extensible Authentication Protocol Method (EAP-FAST)

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