基于增强型GCM算法的Macsec实现方法技术

技术编号:35480903 阅读:17 留言:0更新日期:2022-11-05 16:31
本发明专利技术提供一种基于增强型GCM算法的Macsec实现方法,该方法包括:将初始化向量送到AES/SM4加密核得到Y0,将Y0进行α模乘逻辑运算得到每个分组的alfa值,然后将alfa值与每个分组值进行异或运算,从而弱化原有GCM算法的每个分组间的关联性,其中,α模乘逻辑运算表达式为:a0[k]为输入字节数组,a

【技术实现步骤摘要】
基于增强型GCM算法的Macsec实现方法


[0001]本专利技术涉及加密认证领域,尤其涉及一种基于增强型GCM算法的Macsec实现方法。

技术介绍

[0002]如今以太网技术已经被广泛用于负责提供全球电信、无线和互联网业务的大部分广域网(WAN)中,其低成本和高性能也使它成为了许多新兴应用中的流行介质。以太网虽然专利技术距今已经有40多年了,但仍然对网络和通信系统的几乎每个方面都产生着重大影响。随着越来越多的机器变得智能并且需要网络连接,用于物联网的以太网或“工业以太网”得到了快速扩展。
[0003]但在公共网络的应用中,存在着十分多的不安全因素,这些安全漏洞容易造成信息泄露、信息破环、非法信息传播、网络资源错误使用等,因此有必要为了安全的网络环境,有必要采取强有力的安全措施。早在2004年,GCM算法就已经被提出,作为AES加解密的一种操作模式,其也在2005年正式成为NIST的加密认证标准。在2006年公布的IEEE802.1ae标准中,GCM算法是这个协议的默认加密认证算法。GCM算法既可以应用于IEEE802.1ae标准中,也可以应用于因特网安全性协议集(Internet Protocol Security,IPSec)中。除此之外,如果只用GCM算法来认证,而不进行加密操作,便可以作为一种认证模式,即GMAC认证。
[0004]GCM算法是对不同Count值进行分组加密,然后与明文进行异或,产生密文。因为每个分组间的Count值是相互关联的,若其中一组分组被破解,相应的其他分组很容易被推到出来,这样降低了数据的安全性。

技术实现思路

[0005]为了解决上述技术问题,本专利技术公开了一种基于增强型GCM算法的Macsec实现方法,本专利技术在不改变默认的GCM结构前提下,通过增加简单逻辑结构,强化分组算法中每个分组间的差异性,降低分组间的可推导性,使算法实现健壮性更高,从而保证本专利技术实现的MacSec处理后的Mac帧数据可靠性更高。同时,本专利技术支持的加密算法核,不仅包括支持AES

128/AES

192/AES

256,而且支持国密SM4算法。
[0006]为达到上述目的,本专利技术的技术方案提供了一种基于增强型GCM算法的Macsec实现方法,该方法包括:将初始化向量送到AES/SM4加密核得到Y0,将Y0进行α模乘逻辑运算得到每个分组的alfa值,然后将alfa值与每个分组值进行异或运算,从而弱化原有GCM算法的每个分组间的关联性,其中,α模乘逻辑运算表达式为:
[0007][0008]a0[k]为输入字节数组,a
j
[k]为输出字节数组,α为对应于多项式x的GF(2
128
)域内的一个基本元素,j为α的指数。
[0009]在进一步的技术方案中,密文产生过程包括:(1)第一次加密,即Count=0时,将{IV[95:0],32

h0}送到AES/SM4加密核得到Y0,32

h0为32个1位的0;(2)使用Y0值产生每个分组的alfa值,并与分组{IV[95:0],Count[31:0]}值进行异或,并将结果送到AES/SM4加密
核得到每个分组IV Count密文,再与Mac帧明文数据进行异或得到Mac帧密文。
[0010]在进一步的技术方案中,认证产生过程包括:附加信息模乘、密文模乘和长度模乘。
[0011]在进一步的技术方案中,在进行附加信息模乘时,MacSec中附加鉴别信息为20字节或者28字节,所以分两次进行调用模乘Xor_MultH模块;
[0012]在进一步的技术方案中,在进行密文模乘时,将每次得到的分组MacSec密文与Xor_MultH存储寄存器值异或,并与H进行模乘,得到模乘结果并更新到Xor_MultH存储寄存器中,直到所有分组数据计算完成;
[0013]在进一步的技术方案中,在进行长度模乘时,将附加信息长度和密文长度分别用64Bits表示,并将两个64Bits拼接为128Bits,与Xor_MultH存储寄存器值异或,并与H进行模乘,得到模乘结果并更新到Xor_MultH存储寄存器中,最后再与Y0值异或得到最终ICV值。
[0014]在进一步的技术方案中,分两次进行调用模乘Xor_MultH模块包括:第一次,将附加鉴别信息的前16字节与Xor_MultH存储寄存器的复位值0异或,并与H进行模乘,得到模乘结果并更新到Xor_MultH存储寄存器中;第二次,将附加鉴别信息的剩余字节与Xor_MultH存储寄存器值异或,并与H进行模乘,得到模乘结果并更新到Xor_MultH存储寄存器中。
[0015]在进一步的技术方案中,H为预先算定的由全0值加密得到。
附图说明
[0016]图1是MacSec帧数据格式的示意图;
[0017]图2是本专利技术的基于Enhanced

GCM算法的MacSec实现结构的示意图;
[0018]图3是本专利技术的α模乘逻辑的示意图;
[0019]图4是本专利技术的Enhanced

GCM算法结构的示意图;
[0020]图5是本专利技术的MacSec Enhanced

GCM算法实现的示意图。
具体实施方式
[0021]下面结合具体实施例对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。
[0022]MacSec中默认采用GCM算法对数据进行授权加密和认证解密。在认证加密时,输入参数包括密钥(Key,K)、初始化向量(Initialization Vector,IV)、明文(Plaintext,P)、附加鉴别信息(Additional Authenticated Data,AAD),输出参数包括密文(Ciphertext,C)和认证标识(Tag)。在鉴别解密时,输入参数包括C,Tag,K,IV,ADD,对应输出有P或FAIL标志。其中,当鉴别解密得到的Tag值与输入Tag值不一致,则输出FAIL标志。
[0023]IEEE802.1ae标准中,MacSec帧数据格式如图1所示。DA为目的地址,SA为源地址与普通Mac帧意义相同。SecTag长度为8字节和16字节可选,其中,MacSec Ethertype长度2字节,固定值0x88e5表示该帧是一个MacSec帧。TCI长度1字节,表示TAG控制信息,包括版本号(V)、终端站(ES)、存在SCI(SC),单副本广播(SCB)、加密有效负载(E)、更改文本(C)和关联编号(AN)。SL长度1字节,表示短帧,其中Bit7

6为0,Bit5

0为有效位。如果该数值小于48,表示SecTag的最后一个字节和ICV的第一个字节之间的字节。否则,SL设置为0。PN长度4字节,Packet Num主要用于防止重放攻击。在每个MacSec帧中,PN是唯一的,通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于增强型GCM算法的Macsec实现方法,其特征在于,该方法包括:将初始化向量送到AES/SM4加密核得到Y0,将Y0进行α模乘逻辑运算得到每个分组的alfa值,然后将alfa值与每个分组值进行异或运算,从而弱化原有GCM算法的每个分组间的关联性,其中,α模乘逻辑运算表达式为:a0[k]为输入字节数组,a
j
[k]为输出字节数组,α为对应于多项式x的GF(2
128
)域内的一个基本元素,j为α的指数。2.根据权利要求1所述的方法,其特征在于,密文产生过程包括:(1)第一次加密,即Count=0时,将{IV[95:0],32

h0}送到AES/SM4加密核得到Y0,32

h0为32个1位的0;(2)使用Y0值产生每个分组的alfa值,并与分组{IV[95:0],Count[31:0]}值进行异或,并将结果送到AES/SM4加密核得到每个分组IV Count密文,再与Mac帧明文数据进行异或得到Mac帧密文。3.根据权利要求1所述的方法,其特征在于,认证产生过程包括:附加信息模乘、密文模乘和长度模乘。4.根据权利要求3所述的方法,其特征在于,在进行附加...

【专利技术属性】
技术研发人员:周荣俊郑海东
申请(专利权)人:昆高新芯微电子江苏有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1