CN111555859A - Sm4-gcm算法及在网络安全协议中的应用 - Google Patents
Sm4-gcm算法及在网络安全协议中的应用 Download PDFInfo
- Publication number
- CN111555859A CN111555859A CN202010241697.7A CN202010241697A CN111555859A CN 111555859 A CN111555859 A CN 111555859A CN 202010241697 A CN202010241697 A CN 202010241697A CN 111555859 A CN111555859 A CN 111555859A
- Authority
- CN
- China
- Prior art keywords
- authentication
- algorithm
- data
- protocol
- plaintext
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 16
- 239000013598 vector Substances 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 12
- 238000005538 encapsulation Methods 0.000 claims description 7
- 238000013461 design Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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
- H04L63/0435—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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种SM4‑GCM算法,其是基于伽罗瓦/计数器模式算法,并将其中的加密算法更换成SM4,采用国密SM4作为网络数据的认证加密算法,拥有自主知识产权,SM4采用128比特密钥长度对分组数据进行32轮迭代加密,安全高效。SM4算法设计简洁,实现起来较为简单,密钥调度和加密的算法基本相同,而且解密时也可以使用同样的程序,只要将密钥的顺序倒置即可。本发明采用GCM算法来生成身份认证标签,GCM算法的伽罗瓦域乘法每个时钟周期可以处理16个字节的消息,高速高效,完全可以满足各种网络线速的要求。
Description
技术领域
本发明属于网络安全技术领域,涉及一种SM4-GCM算法及在网络安全协议中的应用。
背景技术
网络安全是一个关系国家安全和主权、社会的稳定、民族文化的继承和发扬的重要问题。其重要性,正随着全球信息化步伐的加快而变到越来越重要。“家门就是国门”,安全问题刻不容缓。从用户(个人、企业等)的角度来说,他们希望涉及个人隐私或商业利益的信息在网络上传输时受到机密性、完整性和真实性的保护,避免其他人或对手利用窃听、冒充、篡改、抵赖等手段侵犯用户的利益和隐私,访问和破坏用户的数据。
目前国际上主要的网络信息传输安全协议有电气和电子工程师协会(IEEE)定义于IEEE802.1AE的媒体访问控制安全(MACsec)和国际互联网工程任务组(IETF)定义于RFC4301的互联网安全协议(IPsec)体系结构。
媒体访问控制安全(MACsec)定义了基于IEEE 802局域网络的数据安全通信的方法。MACsec可为用户提供安全的MAC层数据发送和接收服务,包括用户数据加密、数据帧完整性检查及数据源真实性校验。MACsec通常与802.1X认证框架配合使用,工作在802.1X认证过程成功之后,通过识别出已认证设备发送的报文,并使用MKA(MACsec Key Agreement,MACsec密钥协商)协议协商生成的密钥对已认证的用户数据进行加密和完整性检查,避免端口处理未认证设备的报文或者未认证设备篡改的报文。
互联网安全协议(IPsec),是一个协议包,透过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。IPsec主要由以下协议组成:一、身份验证标头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护;二、封装安全负载(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性;三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。IPsec使用两种协议来提供流量安全服务-身份验证标头(AH)和封装安全负载(ESP)。两种协议都在它们各自的RFC[RFC4302,RFC4303]中详细描述。这些协议可以单独应用或相互组合应用,以提供IPv4和IPv6安全服务。但是,通过单独使用ESP可以满足大多数安全要求。每种协议都支持两种使用模式:传输模式和隧道模式。在传输模式中,AH和ESP主要提供保护下一层协议;在隧道模式下,应用AH和ESP隧道IP数据包。
伽罗瓦/计数器模式(GCM)是对称密钥加密分组密码的一种操作模式,由于其效率和性能而被广泛采用于媒体访问控制安全(MACsec)和互联网安全协议(IPsec)中。通过合理的硬件资源,可以实现最先进的高速通信信道的GCM吞吐率。该操作是经过验证的加密算法,旨在提供数据真实性(完整性)和机密性。GCM是为块密码为128位的块密码定义的。伽罗瓦消息认证码(GMAC)是GCM的仅认证变体,可用作增量消息认证码。GCM和GMAC都可以接受任意长度的初始化向量。即使与相同的分组密码一起使用,不同的分组密码操作模式也可以具有不同的性能和效率特性。GCM可以充分利用并行处理,实现GCM可以有效利用指令流水线或硬件流水线。
目前国际上通常采用AES-128-GCM算法作为媒体访问控制安全(MACsec)和互联网安全协议(IPsec)的认证加密算法。AES-128-GCM算法的基本操作正如在正常计数器模式中一样,数据块按顺序编号,然后将该块编号与初始化向量(IV)组合,并用块密码E(AdvancedEncryption Standard(AES),高级加密标准,128位密钥长度)加密。然后将该加密的结果与明文进行异或运算以产生密文。与所有计数器模式一样,这本质上是一个流密码,因此必须为每个加密的流使用不同的IV。密文块被视为多项式的系数,然后使用有限域算法在密钥相关点H处对其进行评估。然后对结果进行加密,生成可用于验证数据完整性的身份认证标签。然后,加密文本包含IV,密文和身份认证标签。AES-128-GCM算法采用AES-128作为网络数据的认证加密算法,AES-128算法是由美国政府发布,采用128比特密钥长度对分组数据进行10轮加密。AES算法使用了复杂的密钥调度算法,并且解密算法也需要另外编写代码,实现起来较为复杂。
另外,SM4-HMAC-SM3算法也可以应用在网络数据的认证加密中,其加密采用的是SM4计数器模式与上面的AES-128类似,身份验证采用的是哈希消息验证码HMAC-SM3算法,HMAC-SM3运算利用SM3哈希算法,以一个密钥和一个消息(SM4加密后的密文块)为输入,生成一个消息摘要作为输出,网络数据包最后一个消息块生成的消息摘要输出作为身认证标签。SM4-HMAC-SM3算法采用哈希消息验证码HMAC-SM3来生成身份认证标签,SM3算法每64个时钟周期处理64字节的消息块,每个时钟周期处理1个字节的消息,并且HMAC在消息最后需要处理额外的输出填充(OPAD)块,这样需要额外的64个时钟周期的时间,假定其工作在125MHz的时钟频率,其处理速度达不到1G网络的线速。
发明内容
针对上述背景技术介绍中存在的问题,本发明的目的在于提供一种实现起来较为简单,完全可以满足网络线速要求的SM4-GCM算法及在网络安全协议中的应用。
本发明采用的技术方案是:
一种SM4-GCM算法,其特征在于:其是基于伽罗瓦/计数器模式算法,并将其中的加密算法更换成SM4,设n和u表示唯一的正整数对,使得明文中的总位数为(n-1)128+u,其中1≤u≤128;明文由n个位字符串序列组成,其中最后一个位字符串的位长为u,其他位字符串的位长为128;序列表示为P1,P2,。。。,Pn-1、P* n,位字符串称为数据块;密文被表示为C1,C2,。。。,Cn-1,C* n,其中最后一个数据块C* n中的位数为u;附加的认证数据A表示为A1,A2,。。。,Am-1,A* m,其中最后一个位字符串A* m可以是长度为v的部分数据块,而m和v表示唯一的一对正整数,使得A中的比特总数为(m-1)128+v,其中1≤v≤128;
其认证加密操作如下:
散列密钥:H=SM4(K,0128)
计数器0的值:Y0=IV||0311, len(IV)=96
计数器i的值:Yi=incr(Yi-1) for i=1,...,n-1
密文分组i:Ci=Pi⊕SM4(K,Yi) for i=1,...,n-1
密文分组n:C* n=P* n⊕MSBu(SM4(K,Yn))
认证标签:T=MSB128(GHASH(H,A,C)⊕SM4(K,Y0))
其中,SM4(K,0128)表示用密钥K对值0128的分组密码进行国密SM4加密;0128表示一个L位0的位字符串;IV为初始化向量;符号||表示两个位字符串的级联;符号⊕表示两个位字符串的异或;函数MSB128(S)返回只包含S的最重要128位的位字符串;函数len()返回一个64位字符串,该字符串包含描述其参数中位数的非负整数,右边的位数最小;连续计数器值是用函数incr()生成的,该函数将其参数中最右边的32位作为一个非负整数,右边的位数最小,并递增此值模232;
伽罗瓦散列GHASH函数由GHASH(H,A,C)=Xm+n+1定义,其中输入A和C的格式如下所述,变量Xi,i=0,…,m+n+1定义为:
进一步,认证解密操作具体如下:
散列密钥:H=SM4(K,0128)
计数器0的值:Y0=IV||0311, len(IV)=96
认证标签:T`=MSB128(GHASH(H,A,C)⊕SM4(K,Y0))
计数器i的值:Yi=incr(Yi-1) for i=1,...,n-1
明文分组i:Pi=Ci⊕SM4(K,Yi) for i=1,...,n-1
明文分组n:P* n=C* n⊕MSBu(SM4(K,Yn))
通过解密操作计算的认证标签T`与密文C相关联的标签T进行比较;如果这两个标签匹配,则表示认证成功;否则,表示认证失败。
上述SM4-GCM算法在网络安全协议中的应用,其特征在于:包括
认证加密时,所述网络安全协议中初始化向量IV和明文数据以及附加认证数据AAD经过SM4-GCM算法生成的认证标签放在完整性检查值ICV字段中与加密数据或明文数据一起携带;
认证解密时,所述网络安全协议中初始化向量IV和密文数据或明文数据以及附加认证数据AAD经过SM4-GCM算法生成的认证标签与输入的完整性检查值ICV字段比较做身份验证检查,身份验证检查成功则输出经SM4解密后的明文或未加密的明文;在身份验证检查失败的情况下,解密操作将返回失败状态及相应的明文处理。
进一步,所述网络安全协议包括MACsec协议、IPsec ESP协议、IPsec AH协议。
进一步,当网络安全协议为MACsec协议时,其认证加密时,典型的数据包加密封装,数据字段被加密和验证,并与包头一起携带,包头包括MAC地址和MACsec的安全标签,通过将包头包含在附加认证数据AAD中来验证包头,初始化向量IV由MACsec的安全标签中的安全通道标识符SCI字段和包号PN字段级联而成。
进一步,当网络安全协议为MACsec协议时,其认证解密时,输入的字段为经MACsec安全封装的数据包的字段;身份验证检查成功则输出经SM4解密后的明文,并且可以信任包头字段中的值;在身份验证检查失败的情况下,解密操作将返回失败而不是明文,并且解封装将停止并且明文将被丢弃而不是转发或进一步处理。
进一步,当网络安全协议为IPsec ESP协议时,其认证加密时,IPsec ESP数据包加密封装,数据字段被加密和验证,并与MAC地址,IP标头和封装安全负载ESP标头一起携带;MAC地址和IP标头不做验证,将封装安全负载ESP标头包含在附加认证数据AAD中来验证;初始化向量IV取自于封装安全负载ESP标头中的初始化向量IV字段。
进一步,当网络安全协议为IPsec ESP协议时,其认证解密时,输入的字段为经封装安全负载ESP安全封装的数据包的字段;身份验证检查成功则输出经SM4解密后的明文;在身份验证检查失败的情况下,解密操作将返回失败状态,并且明文和状态将被发送给上层系统做进一步处理。
进一步,当网络安全协议为IPsec AH协议时,其认证加密时,IPsec AH数据包封装,数据字段被验证,并与MAC地址,IP标头和IP身份验证标头AH一起携带;MAC地址不做验证,IP标头和IP身份验证标头AH部分可变字段清零后包含在附加认证数据AAD中来验证;初始化向量IV取自于IP身份验证标头AH中的初始化向量(IV)字段;明文不做加密,直接输出。
进一步,当网络安全协议为IPsec AH协议时,其认证解密时,输入的字段为经IP身份验证标头AH安全封装的数据包的字段;身份验证检查成功则输出未加密的明文;在身份验证检查失败的情况下,认证操作将返回失败状态,并且明文和状态将被发送给上层系统做进一步处理。
本发明与现有技术相比,其显著优点包括:
1、本发明应用安全高速的SM4-GCM算法到媒体访问控制安全(MACsec)和互联网安全协议(IPsec)中,对网络数据包进行认证加密,确保网络传输安全可靠。
2、采用SM4算法作为网络信息的加解密算法,SM4算法拥有自主知识产权,安全高效,设计简洁,实现简单。
3、采用GCM算法来生成身份认证标签,GCM算法的伽罗瓦域乘法每个时钟周期可以处理16个字节的消息,高速高效,完全可以满足各种网络线速的要求。
附图说明
图1是本发明的SM4-GCM认证加密操作的过程示意图。
图2是本发明的SM4-GCM认证解密操作的过程示意图。
图3是本发明使用SM4-GCM加密和验证MACsec数据包结构示意图。
图4是本发明使用SM4-GCM解密并验证MACsec数据包的真实性示意图。
图5是本发明使用SM4-GCM加密和验证IPsec ESP数据包结构示意图。
图6是本发明使用SM4-GCM解密并验证IPsec ESP数据包的真实性示意图。
图7是本发明使用SM4-GCM封装IPsec AH数据包结构示意图。
图8是本发明使用SM4-GCM验证IPsec AH数据包的真实性示意图。
具体实施方式
下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些具体实施方式。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
实施例一
本实施例提供了一种SM4-GCM算法,是基于伽罗瓦/计数器模式(GCM)算法,将其中的加密算法更换成SM4。SM4是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T0002-2012《SM4分组密码算法》”。在商用密码体系中,SM4主要用于数据加密,其算法公开,SM4密码算法是一个分组算法,其算法设计简洁,结构有特点,安全高效。数据分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法均采取32轮迭代结构。SM4密码算法以字节(8位)和字节(32位)作为单位进行数据处理。SM4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
SM4-GCM的两个主要功能是分组加密和伽罗瓦域GF(2128)上的乘法。用密钥K对值X的分组密码进行国密SM4加密表示为SM4(K,X)。两个元素X,Y∈GF(2128)的乘法表示为X·Y。函数len()返回一个64位字符串,该字符串包含描述其参数中位数的非负整数,右边的位数最小。表达式0L表示一个L位0的位字符串,而A||B表示两个位字符串A和B的级联,A⊕B表示两个位字符串A和B的异或。函数MSBt(S)返回只包含S的最重要(最左边)t位的位字符串。
设n和u表示唯一的正整数对,使得明文中的总位数为(n-1)128+u,其中1≤u≤128。明文由n个位字符串序列组成,其中最后一个位字符串的位长为u,其他位字符串的位长为128。序列表示为P1,P2,。。。,Pn-1、P* n,位字符串称为数据块,尽管最后一个位字符串P* n可能不是一个完整的块。同样,密文被表示为C1,C2,。。。,Cn-1,C* n,其中最后一个数据块C* n中的位数为u。附加的认证数据A表示为A1,A2,。。。,Am-1,A* m,其中最后一个位字符串A* m可以是长度为v的部分数据块,而m和v表示唯一的一对正整数,使得A中的比特总数为(m-1)128+v,其中1≤v≤128。
SM4-GCM算法认证加密操作由下列方程定义:
散列密钥:H=SM4(K,0128)
计数器0的值:Y0=IV||0311 (这里len(IV)=96)
计数器i的值:Yi=incr(Yi-1) for i=1,...,n-1
密文分组i:Ci=Pi⊕SM4(K,Yi) for i=1,...,n-1
密文分组n:C* n=P* n⊕MSBu(SM4(K,Yn))
认证标签:T=MSB128(GHASH(H,A,C)⊕SM4(K,Y0))
连续计数器值是用函数incr()生成的,该函数将其参数中最右边的32位作为一个非负整数,右边的位数最小,并递增此值模232。加密过程如图1所示。
伽罗瓦散列GHASH函数(基于伽罗瓦域的乘法)由GHASH(H,A,C)=Xm+n+1定义,其中输入A和C的格式如下所述,变量Xi,i=0,。。。,m+n+1定义为:
图1为了简单起见,只显示一个附加认证数据块(标记为:附加认证数据1)和两个明文分组块的情况。这里SM4(K,Yi)表示使用密钥K的分组密码经由SM4算法加密计数器值Yi,Mult H表示由散列密钥H做为乘数在伽罗瓦域GF(2128)中的乘法,而incr表示计数器增量函数。
密文分组1:由计数器值Y1使用密钥K经由SM4算法加密的结果与明文分组1异或而成。
密文分组2:由计数器值Y2使用密钥K经由SM4算法加密的结果与明文分组2异或而成。
认证标签T:由附加认证数据1乘以H的结果异或密文分组1然后再乘以H,其结果标记为乘法结果1;再由乘法结果1异或密文分组2然后再乘以H,其结果标记为乘法结果2;再由乘法结果2异或(len(A)||len(C):就是附加认证数据的位长度与加密数据的位长度的级联)然后再乘以H,其结果标记为乘法结果3;最后由乘法结果3异或(SM4(K,Y0):就是计数器值Y0用密钥K经由SM4算法加密的结果)生成认证标签T。
SM4-GCM算法认证解密操作类似于加密操作,但与散列步骤和加密步骤的顺序相反。更正式地说,它是由下列方程式定义的:
散列密钥:H=SM4(K,0128)
计数器0的值:Y0=IV||0311 (这里len(IV)=96)
认证标签:T`=MSB128(GHASH(H,A,C)⊕SM4(K,Y0))
计数器i的值:Yi=incr(Yi-1) for i=1,...,n-1
明文分组i:Pi=Ci⊕SM4(K,Yi) for i=1,...,n-1
明文分组n:P* n=C* n⊕MSBu(SM4(K,Yn))
通过解密操作计算的认证标签T`与密文C相关联的标签T进行比较。如果这两个标签匹配(长度和值都匹配),则表示认证成功。否则,表示认证失败。解密过程如图2所示。
图2显示的操作流程与图1类似,这里由计数器值Yi用密钥K经SM4算法加密后异或密文来生成明文。
明文分组1:由计数器值Y1使用密钥K经由SM4算法加密的结果与密文分组1异或而成。
明文分组2:由计数器值Y2使用密钥K经由SM4算法加密的结果与密文分组2异或而成。
认证标签T`:由附加认证数据1乘以H的结果异或密文分组1然后再乘以H,其结果标记为乘法结果1;再由乘法结果1异或密文分组2然后再乘以H,其结果标记为乘法结果2;再由乘法结果2异或(len(A)||len(C):就是附加认证数据的位长度与加密数据的位长度的级联)然后再乘以H,其结果标记为乘法结果3;最后由乘法结果3异或(SM4(K,Y0):就是计数器值Y0用密钥K经由SM4算法加密的结果)生成认证标签T。
本发明SM4-GCM算法采用国密SM4作为网络数据的认证加密算法,拥有自主知识产权,SM4采用128比特密钥长度对分组数据进行32轮迭代加密,安全高效。SM4算法设计简洁,实现起来较为简单,密钥调度和加密的算法基本相同,而且解密时也可以使用同样的程序,只要将密钥的顺序倒置即可。本发明采用GCM算法来生成身份认证标签,GCM算法的伽罗瓦域乘法每个时钟周期可以处理16个字节的消息,高速高效,完全可以满足各种网络线速的要求。
实施例二
本实施例提供了一种SM4-GCM算法在MACsec协议中的应用,即SM4-GCM算法应用于《IEEE 802.1AE媒体访问控制安全(MACsec)标准》。保护网络数据包流的示例用途如图3和4所示,图3中包括典型的数据包加密封装,数据字段被加密和验证,并与包头(MAC地址和MACsec的安全标签)一起携带。通过将包头包含在附加认证数据(AAD)中来验证包头。初始化向量(IV)由MACsec安全标签中的安全通道标识符(SCI)字段和包号(PN)字段级联而成。经SM4-GCM算法生成的认证标签放在完整性检查值(ICV)字段中与加密数据一起携带。注意,不需要填充明文,因为可以提供任何长度作为输入。
在认证解密操作中(图4),这些经MACsec安全封装的数据包的字段提供输入。经SM4-GCM算法生成的认证标签与输入的完整性检查值(ICV)字段比较做身份验证检查,身份验证检查成功则输出经SM4解密后的明文,并且可以信任包头字段中的值。在身份验证检查失败的情况下,解密操作将返回失败而不是明文,并且解封装将停止并且明文将被丢弃而不是转发或进一步处理。
其中MACsec安全标签是在MACsec封装的时候插入到网络数据包头的MAC地址后面的。具体的MACsec操作过程不在此赘述。MACsec安全标签在认证解密之后可以从网络数据包头中剥离。
实施例三
本实施例提供了一种SM4-GCM算法在IPsec ESP协议中的应用,即SM4-GCM算法应用于RFC4301《互联网安全(IPsec)体系结构》中的《IP封装安全负载(ESP)》协议(定义于RFC4303)。保护网络数据包流的示例用途如图5和6所示,图5中包括IPsec ESP数据包加密封装,数据字段被加密和验证,并与MAC地址,IP标头和封装安全负载(ESP)标头一起携带。MAC地址和IP标头不做验证,将封装安全负载(ESP)标头包含在附加认证数据(AAD)中来验证。初始化向量(IV)取自于封装安全负载(ESP)标头中的初始化向量(IV)字段。经SM4-GCM算法生成的认证标签放在完整性检查值(ICV)字段中与加密数据一起携带。注意,不需要填充明文,因为可以提供任何长度作为输入。
在认证解密操作中(图6),这些经封装安全负载(ESP)安全封装的数据包的字段提供输入。经SM4-GCM算法生成的认证标签与输入的完整性检查值(ICV)字段比较做身份验证检查,身份验证检查成功则输出经SM4解密后的明文。在身份验证检查失败的情况下,解密操作将返回失败状态,并且明文和状态将被发送给上层系统做进一步处理。
其中,封装安全负载(ESP)标头是在IPsec ESP封装的时候插入到网络数据包头的IP标头后面的,具体的IPsec ESP操作过程不在此赘述。
实施例四
本实施例提供了一种SM4-GCM算法在IPsec AH协议中的应用,即SM4-GCM算法应用于RFC4301《互联网安全协议(IPsec)体系结构》中的《IP身份验证标头(AH)》协议(定义于RFC4302)。保护网络数据包流的示例用途如图7和8所示,图7中包括IPsec AH数据包封装,数据字段被验证,并与MAC地址,IP标头和IP身份验证标头(AH)一起携带。MAC地址不做验证,IP标头和IP身份验证标头(AH)部分可变字段清零后包含在附加认证数据(AAD)中来验证。初始化向量(IV)取自于IP身份验证标头(AH)中的初始化向量(IV)字段。经SM4-GCM算法生成的认证标签放在IP身份验证标头(AH)中的完整性检查值(ICV)字段中与数据一起携带。注意,明文不做加密,直接输出。
在接收认证操作中(图8),这些经IP身份验证标头(AH)安全封装的数据包的字段提供输入。经SM4-GCM算法生成的认证标签与输入的完整性检查值(ICV)字段比较做身份验证检查,身份验证检查成功则输出未加密的明文。在身份验证检查失败的情况下,认证操作将返回失败状态,并且明文和状态将被发送给上层系统做进一步处理。
其中,IP身份验证标头(AH)是在IPsec AH封装的时候插入到网络数据包头的IP标头后面的,具体的IPsec AH操作过程不在此赘述。
本发明的用处在于和媒体访问控制安全(MACsec)和互联网安全协议(IPsec)相结合,使用拥有自主知识产权的SM4-GCM算法对网络信息进行认证加密,确保网络信息传输的机密性、完整性,真实性和自主可控性。
Claims (10)
1.一种SM4-GCM算法,其特征在于:其是基于伽罗瓦/计数器模式算法,并将其中的加密算法更换成SM4,设n和u表示唯一的正整数对,使得明文中的总位数为(n-1)128+u,其中1≤u≤128;明文由n个位字符串序列组成,其中最后一个位字符串的位长为u,其他位字符串的位长为128;序列表示为P1,P2,。。。,Pn-1、P* n,位字符串称为数据块;密文被表示为C1,C2,。。。,Cn-1,C* n,其中最后一个数据块C* n中的位数为u;附加的认证数据A表示为A1,A2,。。。,Am-1,A* m,其中最后一个位字符串A* m可以是长度为v的部分数据块,而m和v表示唯一的一对正整数,使得A中的比特总数为(m-1)128+v,其中1≤v≤128;
其认证加密操作如下:
散列密钥:H=SM4(K,0128)
计数器0的值:Y0=IV||0311,len(IV)=96
计数器i的值:Yi=incr(Yi-1)for i=1,...,n-1
密文分组i:Ci=Pi⊕SM4(K,Yi)for i=1,...,n-1
密文分组n:C* n=P* n⊕MSBu(SM4(K,Yn))
认证标签:T=MSB128(GHASH(H,A,C)⊕SM4(K,Y0))
其中,SM4(K,0128)表示用密钥K对值0128的分组密码进行国密SM4加密;0128表示一个L位0的位字符串;IV为初始化向量;符号||表示两个位字符串的级联;符号⊕表示两个位字符串的异或;函数MSB128(S)返回只包含S的最重要128位的位字符串;函数len()返回一个64位字符串,该字符串包含描述其参数中位数的非负整数,右边的位数最小;连续计数器值是用函数incr()生成的,该函数将其参数中最右边的32位作为一个非负整数,右边的位数最小,并递增此值模232;
伽罗瓦散列GHASH函数由GHASH(H,A,C)=Xm+n+1定义,其中输入A和C的格式如下所述,变量Xi,i=0,…,m+n+1定义为:
2.根据权利要求1所述的一种SM4-GCM算法,其特征在于:认证解密操作具体如下:
散列密钥:H=SM4(K,0128)
计数器0的值:Y0=IV||0311,len(IV)=96
认证标签:T`=MSB128(GHASH(H,A,C)⊕SM4(K,Y0))
计数器i的值:Yi=incr(Yi-1)for i=1,...,n-1
明文分组i:Pi=Ci⊕SM4(K,Yi)for i=1,...,n-1
明文分组n:P* n=C* n⊕MSBu(SM4(K,Yn))
通过解密操作计算的认证标签T`与密文C相关联的标签T进行比较;如果这两个标签匹配,则表示认证成功;否则,表示认证失败。
3.根据权利要求1或2所述的一种SM4-GCM算法在网络安全协议中的应用,其特征在于:包括
认证加密时,所述网络安全协议中初始化向量IV和明文数据以及附加认证数据AAD经过SM4-GCM算法生成的认证标签放在完整性检查值ICV字段中与加密数据或明文数据一起携带;
认证解密时,所述网络安全协议中初始化向量IV和密文数据或明文数据以及附加认证数据AAD经过SM4-GCM算法生成的认证标签与输入的完整性检查值ICV字段比较做身份验证检查,身份验证检查成功则输出经SM4解密后的明文或未加密的明文;在身份验证检查失败的情况下,解密操作将返回失败状态及相应的明文处理。
4.根据权利要求3所述的一种SM4-GCM算法在网络安全协议中的应用,其特征在于:所述网络安全协议包括MACsec协议、IPsec ESP协议、IPsec AH协议。
5.根据权利要求4所述的一种SM4-GCM算法在网络安全协议中的应用,其特征在于:当网络安全协议为MACsec协议时,其认证加密时,典型的数据包加密封装,数据字段被加密和验证,并与包头一起携带,包头包括MAC地址和MACsec的安全标签,通过将包头包含在附加认证数据AAD中来验证包头,初始化向量IV由MACsec的安全标签中的安全通道标识符SCI字段和包号PN字段级联而成。
6.根据权利要求4所述的一种SM4-GCM算法在网络安全协议中的应用,其特征在于:当网络安全协议为MACsec协议时,其认证解密时,输入的字段为经MACsec安全封装的数据包的字段;身份验证检查成功则输出经SM4解密后的明文,并且可以信任包头字段中的值;在身份验证检查失败的情况下,解密操作将返回失败而不是明文,并且解封装将停止并且明文将被丢弃而不是转发或进一步处理。
7.根据权利要求4所述的一种SM4-GCM算法在网络安全协议中的应用,其特征在于:当网络安全协议为IPsec ESP协议时,其认证加密时,IPsec ESP数据包加密封装,数据字段被加密和验证,并与MAC地址,IP标头和封装安全负载ESP标头一起携带;MAC地址和IP标头不做验证,将封装安全负载ESP标头包含在附加认证数据AAD中来验证;初始化向量IV取自于封装安全负载ESP标头中的初始化向量IV字段。
8.根据权利要求4所述的一种SM4-GCM算法在网络安全协议中的应用,其特征在于:当网络安全协议为IPsec ESP协议时,其认证解密时,输入的字段为经封装安全负载ESP安全封装的数据包的字段;身份验证检查成功则输出经SM4解密后的明文;在身份验证检查失败的情况下,解密操作将返回失败状态,并且明文和状态将被发送给上层系统做进一步处理。
9.根据权利要求4所述的一种SM4-GCM算法在网络安全协议中的应用,其特征在于:当网络安全协议为IPsec AH协议时,其认证加密时,IPsec AH数据包封装,数据字段被验证,并与MAC地址,IP标头和IP身份验证标头AH一起携带;MAC地址不做验证,IP标头和IP身份验证标头AH部分可变字段清零后包含在附加认证数据AAD中来验证;初始化向量IV取自于IP身份验证标头AH中的初始化向量IV字段;明文不做加密,直接输出。
10.根据权利要求4所述的一种SM4-GCM算法在网络安全协议中的应用,其特征在于:当网络安全协议为IPsec AH协议时,其认证解密时,输入的字段为经IP身份验证标头AH安全封装的数据包的字段;身份验证检查成功则输出未加密的明文;在身份验证检查失败的情况下,认证操作将返回失败状态,并且明文和状态将被发送给上层系统做进一步处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010241697.7A CN111555859A (zh) | 2020-03-31 | 2020-03-31 | Sm4-gcm算法及在网络安全协议中的应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010241697.7A CN111555859A (zh) | 2020-03-31 | 2020-03-31 | Sm4-gcm算法及在网络安全协议中的应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111555859A true CN111555859A (zh) | 2020-08-18 |
Family
ID=72002336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010241697.7A Pending CN111555859A (zh) | 2020-03-31 | 2020-03-31 | Sm4-gcm算法及在网络安全协议中的应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111555859A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769551A (zh) * | 2020-12-29 | 2021-05-07 | 杭州电子科技大学 | 基于fpga的sm4-gcm网络加密传输系统实现方法 |
CN113364575A (zh) * | 2021-04-04 | 2021-09-07 | 黑龙江头雁科技有限公司 | 一种基于SM算法的Portal认证方法 |
WO2023130952A1 (zh) * | 2022-01-05 | 2023-07-13 | 西安西电捷通无线网络通信股份有限公司 | 一种数据安全传输的方法和装置及设备 |
CN116961908A (zh) * | 2023-09-21 | 2023-10-27 | 深圳市纽创信安科技开发有限公司 | 加密方法、电子装置、电子设备及计算机存储介质 |
CN117134914A (zh) * | 2023-10-26 | 2023-11-28 | 山东山大鸥玛软件股份有限公司 | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 |
CN118018329A (zh) * | 2024-04-08 | 2024-05-10 | 苏州萨沙迈半导体有限公司 | 数据通信方法及装置、发送端设备、接收端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090080646A1 (en) * | 2007-09-21 | 2009-03-26 | Chih-Hsu Yen | Method And Architecture For Parallel Calculating Ghash Of Galois Counter Mode |
CN101827107A (zh) * | 2010-05-11 | 2010-09-08 | 南京大学 | 一种基于ieee802.1ae协议的gcm高速加解密器 |
US20170093567A1 (en) * | 2015-09-29 | 2017-03-30 | Vinodh Gopal | Hardware enforced one-way cryptography |
CN107251476A (zh) * | 2015-02-13 | 2017-10-13 | 维萨国际服务协会 | 保密通信管理 |
CN110378139A (zh) * | 2019-07-25 | 2019-10-25 | 江苏芯盛智能科技有限公司 | 一种数据密钥保护方法、系统及电子设备和存储介质 |
-
2020
- 2020-03-31 CN CN202010241697.7A patent/CN111555859A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090080646A1 (en) * | 2007-09-21 | 2009-03-26 | Chih-Hsu Yen | Method And Architecture For Parallel Calculating Ghash Of Galois Counter Mode |
CN101827107A (zh) * | 2010-05-11 | 2010-09-08 | 南京大学 | 一种基于ieee802.1ae协议的gcm高速加解密器 |
CN107251476A (zh) * | 2015-02-13 | 2017-10-13 | 维萨国际服务协会 | 保密通信管理 |
US20170093567A1 (en) * | 2015-09-29 | 2017-03-30 | Vinodh Gopal | Hardware enforced one-way cryptography |
CN110378139A (zh) * | 2019-07-25 | 2019-10-25 | 江苏芯盛智能科技有限公司 | 一种数据密钥保护方法、系统及电子设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
叶院红: "IEEE802.1ae安全协议引擎的设计研究", 《中国优秀博硕士学位论文全文数据库 (硕士)信息科技辑》 * |
张才贤: "基于CUDA的并行SM4-GCM设计与实现" * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769551A (zh) * | 2020-12-29 | 2021-05-07 | 杭州电子科技大学 | 基于fpga的sm4-gcm网络加密传输系统实现方法 |
CN112769551B (zh) * | 2020-12-29 | 2022-07-26 | 杭州电子科技大学 | 基于fpga的sm4-gcm网络加密传输系统实现方法 |
CN113364575A (zh) * | 2021-04-04 | 2021-09-07 | 黑龙江头雁科技有限公司 | 一种基于SM算法的Portal认证方法 |
WO2023130952A1 (zh) * | 2022-01-05 | 2023-07-13 | 西安西电捷通无线网络通信股份有限公司 | 一种数据安全传输的方法和装置及设备 |
CN116961908A (zh) * | 2023-09-21 | 2023-10-27 | 深圳市纽创信安科技开发有限公司 | 加密方法、电子装置、电子设备及计算机存储介质 |
CN116961908B (zh) * | 2023-09-21 | 2024-01-05 | 深圳市纽创信安科技开发有限公司 | 加密方法、电子装置、电子设备及计算机存储介质 |
CN117134914A (zh) * | 2023-10-26 | 2023-11-28 | 山东山大鸥玛软件股份有限公司 | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 |
CN117134914B (zh) * | 2023-10-26 | 2024-01-30 | 山东山大鸥玛软件股份有限公司 | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 |
CN118018329A (zh) * | 2024-04-08 | 2024-05-10 | 苏州萨沙迈半导体有限公司 | 数据通信方法及装置、发送端设备、接收端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar | Review on network security and cryptography | |
CN111555859A (zh) | Sm4-gcm算法及在网络安全协议中的应用 | |
Whiting et al. | Counter with cbc-mac (ccm) | |
US7095850B1 (en) | Encryption method and apparatus with forward secrecy and random-access key updating method | |
US8356177B2 (en) | Key transport in authentication or cryptography | |
Harba | Secure data encryption through a combination of AES, RSA and HMAC | |
Schäfer et al. | Security in fixed and wireless networks | |
Yang et al. | An overview of cryptographic primitives for possible use in 5G and beyond | |
Igoe et al. | AES Galois counter mode for the secure shell transport layer protocol | |
Reyad et al. | Key-based enhancement of data encryption standard for text security | |
CN118214558B (zh) | 一种数据流通处理方法、系统、装置及存储介质 | |
Paar et al. | Message authentication codes (MACs) | |
Samiah et al. | An efficient software implementation of AES-CCM for IEEE 802.11 i Wireless St | |
Whiting et al. | RFC3610: Counter with CBC-MAC (CCM) | |
Gupta | Cryptography and Network Security | |
McGrew et al. | AES-GCM authenticated encryption in the secure real-time transport protocol (SRTP) | |
Ubochi et al. | A comparative analysis of symmetric cryptographic algorithm as a data security tool: A survey | |
Hartl et al. | Subverting Counter Mode Encryption for Hidden Communication in High-Security Infrastructures | |
CN115549987B (zh) | 一种基于数据安全隐私保护的混合加密方法 | |
Park et al. | Efficient OTP (one time password) generation using AES-based MAC | |
Mohamed | Wireless Communication Systems: Confidentiality: Encryption and Decryption | |
Jenkins et al. | AES Encryption with HMAC-SHA2 for Kerberos 5 | |
Priya et al. | Lightweight encryption techniques: Types, challenges and security issues | |
Kaddouri et al. | New Transport Layer Security using Metaheuristics and New Key Exchange Protocol | |
Taha | Text encryption using modified AES-2 keys |
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: 20200818 |
|
RJ01 | Rejection of invention patent application after publication |