加密套件的处理方法及设备
技术领域
本申请涉及网络安全技术领域,特别涉及一种加密套件的处理方法及设备。
背景技术
MACsec(MAC security,MAC安全)是IEEE在802.1AE中定义的MAC(MediaAccess Control,媒体访问控制)安全标准。该标准定义了无连接的数据机密性和完整性,为媒体访问无关的协议提供服务。MACsec工作在链路层的MAC子层之上,为LLC(Logical Link Control,逻辑链路控制)子层以及LLC子层之上的协议提供安全的MAC层发送和接收服务。
MACsec定义了一个协议集,用于满足在以太网上传输数据的安全需求。MACsec可以识别出未经授权的局域网连接,并把它们排除在网络通信之外。与IPsec(InternetProtocol security,IP安全)和SSL(Secure Sockets Layer,安全套接层)类似,MACsec定义了一个安全基础架构,该架构提供数据机密性,数据完整性和数据源验证。通过对于数据源的验证,MACsec可以减轻二层协议受到的攻击。
MACsec在协议层次上工作于链路层的LLC子层与MAC子层之间,相当于一个垫层,为上层MAC用户(包括LLC子层以及其他二层协议)提供封装了加密功能的MAC子层服务访问接口。MACsec是紧靠物理层之上的协议层次,在协议分层架构中处于底层位置。
MACsec的基本概念主要包括:CA、SC和SA。
CA是连接联盟(Connectivity Association)的简称。拥有同一个CAK(SecureConnectivity Association Key,CA密钥),并且使用相同的加密套件的参与者(也可称为CA成员设备)组成一个CA。在CA存在期间,CAK和加密套件不能改变。实现MACsec功能的实体:SecY(MAC Security Entity,MAC安全实体),并不会意识到CA的存在。MACsec密钥协商协议(MACsec Key Agreement protocol,MKA)负责CA成员设备的发现、认证、和授权。SecY只负责MACsec帧(进过MACsec处理后的数据帧)的加密、解密和验证。SecY只能属于一个CA。
CAK(CA Key)是CA的根密钥,该CA使用的所有密钥由该CAK导出。
SC(Secure Channel)是安全通道的简称。SC在概念上是一个单向的点到多点的数据发送通道。点到点的通道被认为是一种特殊的点到多点通道。SecY负责在自己的SC内发送MACsec帧,并接收由其他SC传送的MACsec帧并解密和验证。MKA负责通知SecY其自身的SC标识(Identifier,SCI),以及其他SC的SCI。
SA(Secure Association)是安全联盟的简称。SC包含一系列的SA,每一个SA拥有一个不同的SAK(Secure Association Key,SA密钥)。SA由SAI标识(SA Identifier,SA标识),SAI由SCI+AN号构成。AN(Association Number)是安全联盟编号的简称,SC最多可以同时包含4个SA。SecY正常工作时,为了保证数据发送不间断,至少要同时持有两个有效的SA。
MACsec帧的报文格式如图1所示,该MACsec帧中包括:目的MAC地址、源MAC地址、SecTAG(安全标签)、安全数据(Secure Data)和ICV。其中,SecTAG的第一字节和第二字节是EtherType(以太类型),用于表明是本数据帧是MACsec帧;安全数据是将用户数据MSDU(MAC Service Data Unit)加密得到的;ICV(IntegrityCheck Value,完整性检查值)是对包括源MAC地址、目的MAC地址、SecTAG和安全数据在内的所有数据按照加密套件计算得到的。
在现有的MACsec标准中,仅描述了加密套件(Cipher Suite)由密钥服务器(KEYSERVER)选择,但是,没有描述加密套件的协商方法。并且,当CA成员设备不支持密钥服务器为该CA成员设备所属的CA选择的加密套件时,会导致CA成员设备在该CA内无法使用MACsec功能,来对传输的报文进行加密保护。
发明内容
本申请提供了一种加密套件的处理方法及设备,以解决现有技术中存在的没有描述加密套件的协商方法,且当CA成员设备不支持密钥服务器为该CA成员设备所属的CA选择的加密套件时,会导致该CA成员设备在该CA内无法使用MACsec功能对传输的报文进行加密保护的问题。
本申请的技术方案如下:
一方面,提供了一种加密套件的处理方法,应用于MACsec协议中,该方法包括:
密钥服务器为CA选择加密套件,将选择的加密套件通知给该CA内的CA成员设备;
密钥服务器接收CA成员设备针对密钥服务器的通知发送的加密套件协商报文,其中,加密套件协商报文中包含有:支持指示信息和发送本加密套件协商报文的CA成员设备所支持的加密套件,支持指示信息用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件;
密钥服务器根据接收的加密套件协商报文中的支持指示信息,判断是否所有CA成员设备均支持密钥服务器选择的加密套件;
若判断出不是所有CA成员设备均支持密钥服务器选择的加密套件,则密钥服务器根据接收的加密套件协商报文选择一个所有CA成员设备均支持的加密套件,并将选择的加密套件通知给CA成员设备。
另一方面,还提供了一种加密套件的处理方法,应用于MACsec协议中,该方法包括:
CA成员设备接收密钥服务器发来的通知,通知中携带有密钥服务器为CA成员设备所属的CA选择的加密套件;
CA成员设备向密钥服务器发送加密套件协商报文,其中,加密套件协商报文中包含有:支持指示信息和发送本加密套件协商报文的CA成员设备所支持的加密套件,支持指示信息用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件。
又一方面,还提供了一种密钥服务器,应用于MACsec协议中,密钥服务器包括:选择模块、发送模块、接收模块和判断模块,其中,
选择模块,用于为CA选择加密套件;还用于若判断模块判断出不是所有CA成员设备均支持选择模块选择的加密套件,则根据接收模块接收的加密套件协商报文选择一个所有CA成员设备均支持的加密套件;
发送模块,用于将选择模块为CA选择加密套件通知给该CA内的CA成员设备;还用于将选择模块选择的所有CA成员设备均支持的加密套件通知给CA成员设备;
接收模块,用于接收CA成员设备针对密钥服务器的通知发送的加密套件协商报文,其中,加密套件协商报文中包含有:支持指示信息和发送本加密套件协商报文的CA成员设备所支持的加密套件,支持指示信息用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件;
判断模块,用于根据接收模块接收的加密套件协商报文中的支持指示信息,判断是否所有CA成员设备均支持密钥服务器选择的加密套件。
又一方面,还提供了一种CA成员设备,应用于MACsec协议中,CA成员设备包括:
接收模块,用于接收密钥服务器发来的通知,通知中携带有密钥服务器为CA成员设备所属的CA选择的加密套件;
发送模块,用于向密钥服务器发送加密套件协商报文,其中,加密套件协商报文中包含有:支持指示信息和发送本加密套件协商报文的CA成员设备所支持的加密套件,支持指示信息用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件。
通过本申请的技术方案,描述了一种密钥服务器与CA成员设备之间协商加密套件的方法,密钥服务器先为CA选择加密套件为通知给该CA内的所有CA成员设备,CA成员设备接收到该通知后会发送加密套件协商报文给密钥服务器,该加密套件协商报文中携带有用于指示本CA成员设备是否支持密钥服务器选择的加密套件的支持指示信息、以及本CA成员设备所支持的加密套件,然后,密钥服务器就可以根据接收的加密套件协商报文中的支持指示信息来判断是否所有CA成员设备均支持密钥服务器选择的加密套件,若不是,密钥服务器可以根据接收的加密套件协商报文从所有CA成员设备均支持的加密套件中选择一个加密套件再次通知给CA成员设备。这样,密钥服务器与CA成员设备之间可以针对密钥服务器选择的加密套件进行协商,在某一个CA成员设备不支持密钥服务器选择的加密套件时,该CA成员设备可以反向告知给密钥服务器,并同时将本CA成员设备支持的加密套件告知给密钥服务器,密钥服务器可以重新选择一个所有CA成员设备均支持的加密套件,从而该CA成员设备不会因为不支持密钥服务器选择的加密套件而无法使用MACsec功能对传输的报文进行加密保护。
附图说明
图1是现有技术的MACsec帧的格式示意图;
图2是本申请实施例一的加密套件的处理方法的流程图;
图3是本申请实施例一的加密套件协商报文中的参数集的格式示意图;
图4是图3的参数集中的TLV的格式示意图;
图5是本申请实施例二的加密套件的处理方法的流程图;
图6是本申请实施例三的密钥服务器的结构示意图;
图7是本申请实施例三的CA服务器的结构示意图。
具体实施方式
为了解决现有技术中存在的没有描述加密套件的协商方法,且当CA成员设备不支持密钥服务器为该CA成员设备所属的CA选择的加密套件时,会导致该CA成员设备在该CA内无法使用MACsec功能对传输的报文进行加密保护的问题,本申请的以下实施例中提供了一种加密套件的处理方法、一种密钥服务器和CA成员设备。
以下实施例的方法、密钥服务器和CA成员设备均应用于MACsec协议中。
实施例一
本申请实施例一的加密套件的处理方法,如图2所示,包括以下步骤:
步骤S202,密钥服务器为CA选择加密套件,将选择的加密套件通知给该CA内的CA成员设备;
密钥服务器可通过现有的MACsec协议报文,通知CA成员设备应该使用的加密套件是密钥服务器为CA选择的加密套件。
步骤S204,密钥服务器接收CA成员设备针对密钥服务器的通知发送的加密套件协商报文,其中,加密套件协商报文中包含有:支持指示信息和发送本加密套件协商报文的CA成员设备所支持的加密套件,支持指示信息用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件;
在实际实施过程中,可以通过扩展现有的MACsec协议报文实现加密套件协商报文,具体的,现有的MACsec协议报文中包含有多个参数集(Parameter set),可以通过扩展现有的参数集来携带支持指示信息和CA成员设备所支持的加密套件。参数集的格式如图3所示,下面对其中的主要字段进行解释。
Parameter set Type(参数集类型):用于指示本报文的类型,当该字段的值置为预定类型值时,表示本报文是加密套件协商报文,在实际实施过程中,该预定类型值的具体取值只需与现有MACsec协议报文的Parameter set Type的值不冲突即可,目前MACsec协议报文的Parameter set Type已经定义到7,因此,该预定类型值可以定义为11;该字段的长度可以是1个字节;
支持指示信息(Support Suite):用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件,当该字段的值置为第一值时,用于指示发送本加密套件协商报文的CA成员设备支持密钥服务器选择的加密套件,当该字段的值置为第二值时,用于指示发送本加密套件协商报文的CA成员设备不支持密钥服务器选择的加密套件;该字段的长度可以是1个比特,则,第一值可以是1,第二值可以是0;
TLV(Type Length Value,类型长度值):用于携带CA成员设备所支持的加密套件,其格式具体可以参见图4,其中的各个字段的含义与现有技术相同,这里不再赘述,在实际实施过程中,在加密套件编号字段中携带CA成员设备所支持的加密套件的编号。
步骤S206,密钥服务器根据接收的加密套件协商报文中的支持指示信息,判断是否所有CA成员设备均支持密钥服务器选择的加密套件,若是,则执行步骤S208,若否,即,不是所有CA成员设备均支持密钥服务器选择的加密套件,则执行步骤S210;
步骤S208,使用在步骤S202中选择的加密套件按照现有技术执行后续操作;
步骤S210,密钥服务器根据接收的加密套件协商报文选择一个所有CA成员设备均支持的加密套件,并将选择的加密套件通知给CA成员设备。
在实际实施过程中,由于GCM(Galois Counter Mode,伽罗瓦计数器模式)-AES(Advanced Encryption Standard,高级加密标准)-128是MACsec默认的加密套件,所有CA成员设备都必须支持该加密套件,所以,所有CA成员设备均支持的加密套件中至少会有GCM-AES-128加密套件。
实施例二
本申请实施例二的加密套件的处理方法,如图5所示,包括以下步骤:
步骤S402,CA成员设备接收密钥服务器发来的通知,该通知中携带有密钥服务器为该CA成员设备所属的CA选择的加密套件;
步骤S404,CA成员设备向密钥服务器发送加密套件协商报文,其中,加密套件协商报文中包含有:支持指示信息和发送本加密套件协商报文的CA成员设备所支持的加密套件,支持指示信息用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件。
在步骤S404中,CA成员设备会判断本设备是否支持该通知中携带的密钥服务器选择的加密套件,若支持,则CA成员设备将本设备支持的加密套件携带在加密套件协商报文中发送给密钥服务器,其中,发送的加密套件协商报文中的支持指示信息用于指示CA成员设备支持密钥服务器选择的加密套件;若不支持,则CA成员设备将本设备支持的加密套件携带在加密套件协商报文中发送给密钥服务器,其中,发送的加密套件协商报文中的支持指示信息用于指示CA成员设备不支持密钥服务器选择的加密套件。
其中,加密套件协商报文的报文格式的描述可以参见实施例一,这里不再赘述。
上述实施例中,描述了一种密钥服务器与CA成员设备之间协商加密套件的方法,密钥服务器先为CA选择加密套件为通知给该CA内的所有CA成员设备,CA成员设备接收到该通知后会发送加密套件协商报文给密钥服务器,该加密套件协商报文中携带有用于指示本CA成员设备是否支持密钥服务器选择的加密套件的支持指示信息、以及本CA成员设备所支持的加密套件,然后,密钥服务器就可以根据接收的加密套件协商报文中的支持指示信息来判断是否所有CA成员设备均支持密钥服务器选择的加密套件,若不是,密钥服务器可以根据接收的加密套件协商报文从所有CA成员设备均支持的加密套件中选择一个加密套件再次通知给CA成员设备。这样,密钥服务器与CA成员设备之间可以针对密钥服务器选择的加密套件进行协商,在某一个CA成员设备不支持密钥服务器选择的加密套件时,该CA成员设备可以反向告知给密钥服务器,并同时将本CA成员设备支持的加密套件告知给密钥服务器,密钥服务器可以重新选择一个所有CA成员设备均支持的加密套件,从而该CA成员设备不会因为不支持密钥服务器选择的加密套件而无法使用MACsec功能对传输的报文进行加密保护。
实施例三
针对上述实施例一中的方法,本申请实施例三提供了一种密钥服务器,如图6所示,该密钥服务器中包括以下模块:选择模块10、发送模块20、接收模块30和判断模块40,其中,
选择模块10,用于为CA选择加密套件;还用于若判断模块40判断出不是所有CA成员设备均支持选择模块10选择的加密套件,则根据接收模块30接收的加密套件协商报文选择一个所有CA成员设备均支持的加密套件;
发送模块20,用于将选择模块10为CA选择加密套件通知给该CA内的CA成员设备;还用于将选择模块10选择的所有CA成员设备均支持的加密套件通知给CA成员设备;
接收模块30,用于接收CA成员设备针对密钥服务器的通知发送的加密套件协商报文,其中,加密套件协商报文中包含有:支持指示信息和发送本加密套件协商报文的CA成员设备所支持的加密套件,支持指示信息用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件;
判断模块40,用于根据接收模块30接收的加密套件协商报文中的支持指示信息,判断是否所有CA成员设备均支持密钥服务器选择的加密套件。
针对上述实施例二中的方法,本申请实施例三中还提供了一种CA成员设备,如图7所示,该CA成员设备中包括:接收模块101和发送模块102,其中,
接收模块101,用于接收密钥服务器发来的通知,该通知中携带有密钥服务器为该CA成员设备所属的CA选择的加密套件;
发送模块102,用于向密钥服务器发送加密套件协商报文,其中,加密套件协商报文中包含有:支持指示信息和发送本加密套件协商报文的CA成员设备所支持的加密套件,支持指示信息用于指示发送本加密套件协商报文的CA成员设备是否支持密钥服务器选择的加密套件。
其中,发送模块中包括:判断单元和报文发送单元,其中:
判断单元,用于判断本设备是否支持接收模块接收的通知中携带的密钥服务器选择的加密套件;
报文发送单元,用于若判断单元的判断结果是支持,则将本设备支持的加密套件携带在加密套件协商报文中发送给密钥服务器,其中,发送的加密套件协商报文中的支持指示信息用于指示CA成员设备支持密钥服务器选择的加密套件;还用于若判断单元的判断结果是不支持,则将本设备支持的加密套件携带在加密套件协商报文中发送给密钥服务器,其中,发送的加密套件协商报文中的支持指示信息用于指示CA成员设备不支持密钥服务器选择的加密套件。
其中,加密套件协商报文的报文格式的描述可以参见实施例一,这里不再赘述。
综上,本申请以上实施例可以达到以下技术效果:
本申请以上实施例描述了一种密钥服务器与CA成员设备之间协商加密套件的方法,密钥服务器先为CA选择加密套件为通知给该CA内的所有CA成员设备,CA成员设备接收到该通知后会发送加密套件协商报文给密钥服务器,该加密套件协商报文中携带有用于指示本CA成员设备是否支持密钥服务器选择的加密套件的支持指示信息、以及本CA成员设备所支持的加密套件,然后,密钥服务器就可以根据接收的加密套件协商报文中的支持指示信息来判断是否所有CA成员设备均支持密钥服务器选择的加密套件,若不是,密钥服务器可以根据接收的加密套件协商报文从所有CA成员设备均支持的加密套件中选择一个加密套件再次通知给CA成员设备。这样,密钥服务器与CA成员设备之间可以针对密钥服务器选择的加密套件进行协商,在某一个CA成员设备不支持密钥服务器选择的加密套件时,该CA成员设备可以反向告知给密钥服务器,并同时将本CA成员设备支持的加密套件告知给密钥服务器,密钥服务器可以重新选择一个所有CA成员设备均支持的加密套件,从而该CA成员设备不会因为不支持密钥服务器选择的加密套件而无法使用MACsec功能对传输的报文进行加密保护。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。