CN103428204A - 一种可抵御计时攻击的数据安全实现方法及设备 - Google Patents

一种可抵御计时攻击的数据安全实现方法及设备 Download PDF

Info

Publication number
CN103428204A
CN103428204A CN2013103241791A CN201310324179A CN103428204A CN 103428204 A CN103428204 A CN 103428204A CN 2013103241791 A CN2013103241791 A CN 2013103241791A CN 201310324179 A CN201310324179 A CN 201310324179A CN 103428204 A CN103428204 A CN 103428204A
Authority
CN
China
Prior art keywords
message
length
padding
mac value
mac
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.)
Granted
Application number
CN2013103241791A
Other languages
English (en)
Other versions
CN103428204B (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
Original Assignee
Hangzhou H3C Technologies 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 H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310324179.1A priority Critical patent/CN103428204B/zh
Publication of CN103428204A publication Critical patent/CN103428204A/zh
Application granted granted Critical
Publication of CN103428204B publication Critical patent/CN103428204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种可抵御计时攻击的数据安全实现方法及设备,该方法适用于对原始消息先计算消息认证码MAC值再做加密,且加密算法采用密码分组链接模式的算法套件,加封装者将原始信息、填充数据、MAC值依次串接,且MAC值为原始信息与填充数据的MAC值,三者长度之和为加密算法分组长度的整数倍,将报文加密后发送给解封装者,解封装者接收到加密报文,对其解密后提取原始消息与填充数据,计算其MAC值,与加密报文携带的MAC值进行对比,如果相同则报文未经篡改,否则丢弃报文,向加封装者返回错误警告信息。本发明提出的技术方案能够确保解封装者对加密报文的处理总消耗相同的时间,从而有效抵御计时攻击,使得加密报文的机密性保护和完整性保护得到保障。

Description

一种可抵御计时攻击的数据安全实现方法及设备
技术领域
本发明涉及现代密码技术,特别是一种可抵御计时攻击的数据安全实现方法和设备。
背景技术
现代密码技术可以为数据提供机密性保护和完整性保护。机密性保护可以保证数据的内容不会被未经授权的人员知道。完整性保护可以保证数据的读者读到的内容与数据的写者写入的内容完全一致(即未经篡改)。采用现代密码技术的安全协议通常会使用加密算法(例如高级加密标准AES,三重数据加密算法3DES等)来完成机密性保护,使用消息认证码(MAC,Message AuthenticationCode)算法(例如密钥相关的哈希运算消息认证码-消息摘要算法第五版HMAC-MD5,密钥相关的哈希运算消息认证码-安全哈希算法HMAC-SHA1等)来完成完整性保护。安全传输层协议(TLS,Transport Layer Security)是一种常见的安全协议,TLS中定义的算法套件大多是先做MAC、再做加密的MEE(MAC-Encode-Encrypt)类型的,即封装时,先对原始消息计算MAC值,然后把原始消息和MAC值串接在一起,加密,得到密文形式的TLS报文;解封装时,先对密文解密,得到原始消息和MAC值,然后重新计算MAC值,并与解密后得到的MAC值比较,如果这两个MAC值一致,则认为完整性验证通过,否则认为验证不通过。
密码块链接(CBC,Cipher Block Chaining)是分组加密算法的一种工作模式,工作于这种模式下时,输入加密算法的待加密数据的长度必须是该加密算法分组长度的整数倍,例如DES/3DES的分组长度为8字节,AES的分组长度为16字节。待加密的有效数据的长度是随机的,可能不满足分组长度整数倍这个条件,这种情况下需要给有效数据增加填充部分,使其总长度达到分组长度的整数倍。
TLS中定义的算法套件大部分是MEE类型的,更进一步说,大部分是MEE-CBC类型的。这里的CBC,表示加密算法工作在CBC模式。
TLS协议对数据加密的处理如图1所示:
先对原始消息计算MAC,然后把MAC值串接于原始消息后面,把原始消息+MAC值作为加密算法的有效输入数据,如果采用的是CBC模式的对称加密算法,则根据该加密算法的分组长度,计算所需的填充长度。举例来说,如果原始消息长度为100字节,MAC算法为HMAC-SHA(输出的MAC值长度为20字节),加密算法为CBC模式的AES(分组长度为16字节),则加密算法的有效输入数据长度为120字节,最接近加密算法分组长度整数倍的值是128字节,因此填充部分长度是8个字节,TLS协议中定义填充后的数据的最后一个字节叫padding_length,其记录的值为填充部分长度减1,且其它填充字节的值也记为与padding_length相同的值,因此,上述情况下,图1中填充数据部分的总长度是8个字节,每个字节都取值为7。
现有技术中采用MEE-CBC类型的算法套件会招致计时攻击。由于加密报文中填充部分未受到MAC保护,攻击者可以修改不受MAC保护的部分的填充数据,因此解封装者对加密报文进行解密验证时就会发现报文错误,从而向加封装者返回相应的信息,攻击者通过观察解封装者对被修改过的加密报文的反应及反应时间,从而降低对加密报文实施攻击的时间复杂度,这就称为计时攻击。
发明内容
有鉴于此,本发明提出了一种可抵御计时攻击的数据安全实现方法及设备,当使用MEE-CBC类型的算法套件时,本发明将填充数据串接于原始信息之后,使填充数据全部作为有效输入数据,计算原始消息与填充数据的MAC值,并将MAC值串接于填充数据之后,这样原始消息与填充数据全部受到完整性保护,攻击者无法对加密报文进行修改,从而确保解封装者对加密报文的处理总消耗相同的时间,有效抵御计时攻击。本发明提出的技术方案是:
一种可抵御计时攻击的数据安全实现方法,该方法适用于对原始消息先计算消息认证码MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,包括以下步骤:
加封装者根据使用的MAC算法与对称加密算法计算原始消息的填充数据长度,所述原始消息、填充数据与MAC值三者的长度之和为对称加密算法分组长度的整数倍;
对原始消息进行数据填充,填充数据串接于原始消息后面,其长度为计算得到的填充长度;
把原始消息与填充数据共同作为有效输入数据,计算有效输入数据的MAC值,并将MAC值串接于填充数据后面;
加封装者对原始消息、填充数据与MAC值进行加密,并将其发送给解封装者。
上述方案中,特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,该方法进一步包括:
加封装者将填充数据分为两部分,填充值padding与填充长度padding_length,所述填充值padding串接于原始消息后面,所述填充长度padding_length为1个字节,取值为0,串接于MAC值后面,所述MAC值串接于padding后面。
上述方案中,该方法适用于对原始消息先计算MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,包括以下步骤:
解封装者接收到加封装者发送来的加密报文,对其解密得到原始消息、填充数据与MAC值,提取原始消息与填充数据,计算其MAC值,如果计算得到MAC值与加密报文携带的MAC值相同,则原始消息的完整性未被破坏,否则解封装者丢弃该报文,并且发送错误警告消息给加封装者。
上述方案中,特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,该方法进一步包括:
解封装者对加密报文进行解密得到原始消息、填充数据padding、MAC值与填充长度padding_length,所述填充长度padding_length串接于MAC值后面,长度为1个字节。
上述方案中,该方法进一步包括:
如果解封者对加密报文解密得到的padding_length的值与报文携带的MAC值之和大于或等于报文总长度减1,则丢弃加密报文,返回错误警告消息;否则进行MAC验证。
本发明提出的加封装设备的技术方案是:
一种加封装设备,该设备适用于对原始消息先计算MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,该设备包括:
处理模块,用于根据使用的MAC算法与对称加密算法计算原始消息的填充数据长度,所述原始消息、填充数据与MAC值三者的长度之和为对称加密算法分组长度的整数倍;还用于对原始消息进行数据填充,填充数据串接于原始消息后面,其长度为计算得到的填充长度;还用于把原始消息与填充数据共同作为有效输入数据,计算有效输入数据的MAC值,并将MAC值串接于填充数据后面;进一步用于对原始消息、填充数据与MAC值进行加密;
收发模块,用于将加密报文发送给解封装者。
上述方案中,特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,处理模块进一步用于:将填充数据分为两部分,填充值padding与填充长度padding_length,所述填充值padding串接于原始消息后面,所述填充长度padding_length为1个字节,取值为0,串接于MAC值后面,所述MAC值串接于padding后面。
本发明提出的解封装设备的技术方案是:
一种解封装设备,该设备适用于对原始消息先计算MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,该设备包括:
收发模块,用于接收加封装者发送来的加密报文;还用于发送错误警告消息给加封装者;
处理模块,用于对加密报文进行解密;还用于提取原始消息与填充数据,计算其MAC值,如果计算得到MAC值与加密报文携带的MAC值相同,则原始消息的完整性未被破坏,否则解封装者丢弃该报文。
上述方案中,特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,处理模块进一步用于:
判断对加密报文解密得到的padding_length的值与报文携带的MAC值之和是否大于或等于报文总长度减1,如果是则丢弃加密报文,返回错误警告消息,否则进行MAC验证。
综上所述,本发明提出的技术方案能够防止攻击者对加密报文进行修改,确保解封装者对加密报文的处理总消耗相同的时间,从而有效抵御计时攻击,使得加密报文的机密性保护和完整性保护得到保障,有利于现代密码技术的推广应用。
附图说明
图1是TLS协议对数据加密的处理过程示意图。
图2是方法实施例一的流程图。
图3是方法实施例二的流程图。
图4是实现本发明实施例的加封装设备结构示意图。
图5是实现本发明实施例的解封装设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达的更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的技术方案是:一种可抵御计时攻击的数据安全实现方法,该方法适用于对原始消息先计算消息认证码MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,包括以下步骤:
加封装者根据使用的MAC算法与对称加密算法计算原始消息的填充数据长度,所述原始消息、填充数据与MAC值三者的长度之和为对称加密算法分组长度的整数倍;
对原始消息进行数据填充,填充数据串接于原始消息后面,其长度为计算得到的填充长度;
把原始消息与填充数据共同作为有效输入数据,计算有效输入数据的MAC值,并将MAC值串接于填充数据后面;
加封装者对原始消息、填充数据与MAC值进行加密,并将其发送给解封装者。
由上述方案可知,本发明与现有技术的区别在于:本发明将填充部分的数据全部作为原始消息的一部分,确保MAC保护的范围包括加密报文中全部其他数据,这样攻击者无法对加密报文进行修改,确保解封装者对加密报文的处理总消耗相同的时间,可以有效抵御计时攻击。
为了更好地说明本发明技术方案,下面用实施例分别从适用于所有MEE-CBC类型的算法套件情况与特定安全传输层协议/安全套接层TLS/SSL协议中应用MEE-CBC类型算法套件的场景两个角度对其进行详细描述。
方法实施例一
在本实施例中,假设原始消息100字节,MAC算法为HMAC-SHA(输出的MAC长度为20字节),加密算法为CBC模式的AES(分组长度为16字节)。
图2是本实施例的流程图,以适用于所有MEE-CBC类型的算法套件情况为例对本发明的技术方案进行说明,如图2所示,本实施例包括以下步骤:
步骤201:计算原始消息填充部分的长度。
本步骤中,原始消息为100字节,MAC长度为20字节,加密算法的分组长度为16字节,最接近加密算法分组长度整数倍的值是128字节,因此填充部分的数据长度为8字节。
步骤202:为原始消息填充数据。
本步骤中,在100字节的原始消息后面填充8字节填充数据。
步骤203:计算原始消息与填充数据的MAC值。
本步骤中,将原始消息与填充数据作为有效输入数据,一共108字节,计算这108字节有效数据的MAC值,并将其串接于填充数据后面,长度为20字节,这样,MAC保护所有数据,包括原始消息和填充数据。
步骤204:对原始消息、填充数据、MAC值进行加密,并且发送给解封装者。
本步骤中,加密前的报文为100字节原始消息,8字节填充数据,20字节MAC值,报文长度一共128字节,为加密算法分组长度16字节的整数倍,应用CBC模式的AES加密算法对其加密,然后由加封装者发送给解封装者。
步骤205:解封装者对加密报文进行解密。
本步骤中,解封装者收到加密报文,采用CBC模式的对称加密算法对加密报文进行解密,得到解密后的原始消息、填充数据与MAC值,并且原始消息、填充数据与MAC值得长度之和应为加密算法分组长度的整数倍。
步骤206:解封装者计算解密得到的原始消息与填充数据的MAC值。
本步骤中,解封装者需要验证加密报文的完整性,对解密得到的原始消息和填充数据计算MAC值,计算方法同步骤203中的MAC值计算方法,得到解密后的有效输入数据的MAC值。
步骤207:解封装者将计算得到的MAC值与加密报文携带的MAC值进行对比,验证加密报文的完整性。
解封装者比较步骤206中计算得到的MAC值与加密报文携带的MAC值,如果上述两个MAC值相同,则认为该加密报文的完整性验证通过,否则认为加密报文的完整性验证不通过。
本实施例中,MAC的保护范围包括原始消息和填充数据,攻击者无法对原始消息和填充数据进行修改,验证完整性时,解封装者计算原始消息和填充数据的内容不会发生变化,因此解封装者进行解密得到的数据完整性验证消耗的时间跟验证正常报文中原始消息和填充数据的MAC值消耗的时间是相同的,计时攻击者无法通过观察解封装者的反应及相应时间推测加密报文的内容,因此本实施例中的技术方案可以实现抵御计时攻击的目标。
方法实施例二
方法实施例一中的技术方案可以推广为各种安全协议实现MEE-CBC类型算法套件的一般方案,当特定于TLS/SSL协议的应用场景时,本发明还提供了一种替代方案完成抵御计时攻击的发明目的,此方案在方法实施例二中展示,本实施例仍然用方法实施例一的数据参数。
图3为方法实施例二的流程图,本实施例以特定TLS/SSL协议的应用场景为例展示本发明的技术方案,包括以下步骤:
步骤301:计算原始消息填充部分的长度L。
本步骤中,原始消息为100字节,MAC长度为20字节,加密算法的分组长度为16字节,最接近加密算法分组长度整数倍的值是128字节,因此填充部分的长度L为8字节。
步骤302:在原始消息后面填充数据,长度为L-1,记为填充值padding。
本步骤中,在原始消息后面填充数据,填充长度为L-1,即原始消息后面填充的数据长度为7字节,本步骤中填充的数据记为填充值padding。
步骤303:计算原始消息与填充值的MAC值,并将MAC值串接于填充数据后面。
本步骤中,对原始消息与步骤302中填充的数据计算MAC值,并将MAC值串接于步骤302中填充值的后面。原始消息为100字节,其后填充的数据长度为7字节,MAC值为20字节,此时报文总长度为127字节。
步骤304:在MAC值后面填充一个字节,赋值为0,记为填充长度padding_length。
本步骤中,在MAC值后面填充一个字节,记为填充长度padding_length,其值为0。此处填充此字节的意义在于解封装者对加密报文解密后根据padding_length为0即可判断padding_length字节之前的内容即为MAC,从而对原始消息与填充数据计算MAC值,进行MAC验证。
padding_length值填充以后,报文实际为如下形式:
Figure BDA00003582003500091
其中,原始消息与填充值padding共同构成content字节,总长度为107字节;对content计算得到的MAC值构成MAC字节,长度为20字节;padding_length值为0,长度为一个字节,至此,报文总长度为128字节,是加密算法分组长度16字节的整数倍。
这样的报文形式,除了padding_length字节,报文的其他数据全部受到完整性保护,攻击者无法修改padding_length之前的数据,只能修改padding_length的值,而解封装者的正常处理流程就可以抵御这种攻击。
步骤305:对原始消息、填充值padding、MAC值、填充长度padding_length进行加密,并且发送给解封装者。
本步骤中,加密前的报文为100字节原始消息,7字节填充值padding,20字节MAC值,1字节填充长度padding_length,报文长度一共128字节,为加密算法分组长度16字节的整数倍,应用CBC模式的AES加密算法对其加密,然后由加封装者发送给解封装者。
步骤306:解封装者对加密报文进行解密。
本步骤中,解封装者收到加密报文,采用CBC模式的对称加密算法对加密报文进行解密,得到解密后的原始消息、填充值padding、MAC值与填充长度padding_length,并且原始消息、填充值padding、MAC值与填充长度padding_length的长度之和应为加密算法分组长度的整数倍。
步骤307:长度检查是否通过?
本步骤中,解封装者得到解密后的报文时,首先判断填充长度padding_length是否通过长度检查。正常报文中padding_length值为0,若受到攻击者的计时攻击,padding_length的值会发生变化,由于padding_length的值是用来帮助解封装者判断MAC值的位置的,此值若发生变化,解封装者就找不到正确的MAC值位置,例如padding_length的值为6,则说明以padding_length字节为基准,其前面6个字节都不是MAC,padding_length前面第7个字节才是MAC,这样,用来和解封装者计算得出的MAC值进行对比的加密报文携带的MAC值就会不同,从而验证加密报文被篡改过。
如果解密得到的padding_length不是0,且满足padding_length的值+MAC≥报文总长度-1,这说明整个报文仅仅MAC值与padding_length之间的数据长度、MAC长度、1个字节的padding_length三者长度之和已经超过报文总长度128字节,则推断报文中没有原始消息,显然此报文是错误的,这种情况称为padding_length检查未通过,则应转向步骤308,否则转向步骤309。
步骤308:丢弃加密报文,向加封装者返回错误警告信号。
基于步骤307的判断结果,解封装者受收到的加密报文未通过长度检查,则显然其接收到的加密报文是被攻击者篡改过的,是错误的,则不必进行MAC验证,直接丢弃该加密报文,向加封装者发送错误警告信号。
步骤309:验证MAC值。
基于步骤307的判断结果,解封装者收到的加密报文通过了长度检查,即padding_length的值+1+MAC<报文总长度,则不能立即判断此报文是否曾经被攻击者修改过,还应进一步进行MAC验证。如果攻击者曾经修改过padding_length的值,则解封装者在解封得到的报文中一定会找到错误的MAC值,相应的MAC验证一定会失败,而且由于执行了真实的MAC计算,其消耗的时间与正常报文MAC计算消耗的时间是相同的,因此攻击者无法通过计时进行攻击。
如果解封装者收到的加密报文未曾被攻击者修改,则一定会通过MAC验证,此时解封装者只需要对content数据进行解析,提取有效的原始消息,忽略填充值即可。
应用本实施例方案,加封装者将填充值作为原始消息的一部分,使加密报文除最后一个字节外全部受到完整性保护,攻击者只能修改加密报文的最后一个字节,无法修改其他数据,而这种修改解封装者通过正常流程即可发现,且无论加密报文是否曾经被攻击者修改,解封装者进行MAC验证消耗的时间和正常报文进行MAC计算消耗的时间是相同的,攻击者无法通过统计解封装者的反应及反应时间对报文内容进行推断,实施攻击。并且本实施例方案应用于TLS/SSL场景时,解封装侧不必作特别的修改,根据padding_length的值为0可知padding_length字节之前的内容即为MAC值,与现有广泛应用的TLS协议是兼容的。
针对上述方法,本发明还公开一种加封装设备,该设备适用于对原始消息先计算MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件。本发明公开的设备如图4所示,包括:
收发模块401,用于将加密报文发送给解封装者。
处理模块402,用于根据使用的MAC算法与对称加密算法计算原始消息的填充数据长度,所述原始消息、填充数据与MAC值三者的长度之和为对称加密算法分组长度的整数倍;还用于对原始消息进行数据填充,填充数据串接于原始消息后面,其长度为计算得到的填充长度;还用于把原始消息与填充数据共同作为有效输入数据,计算有效输入数据的MAC值,并将MAC值串接于填充数据后面;进一步用于对原始消息、填充数据与MAC值进行加密;特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,处理模块进一步用于:将填充数据分为两部分,填充值padding与填充长度padding_length,所述填充值padding串接于原始消息后面,所述填充长度padding_length为1个字节,取值为0,串接于MAC值后面,所述MAC值串接于padding后面。
本发明还公开一种解封装设备,该设备适用于对原始消息先计算MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件。本发明公开的设备如图5所示,包括:
收发模块501,用于接收加封装者发送来的加密报文;还用于发送错误警告消息给加封装者;
处理模块502,用于对加密报文进行解密;还用于提取原始消息与填充数据,计算其MAC值,如果计算得到MAC值与加密报文携带的MAC值相同,则原始消息的完整性未被破坏,否则解封装者丢弃该报文;特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,处理模块进一步用于:判断对加密报文解密得到的padding_length的值与报文携带的MAC值之和是否大于或等于报文总长度减1,如果是则丢弃加密报文,返回错误警告消息,否则进行MAC验证。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (9)

1.一种可抵御计时攻击的数据安全实现方法,其特征在于,该方法适用于对原始消息先计算消息认证码MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,包括以下步骤:
加封装者根据使用的MAC算法与对称加密算法计算原始消息的填充数据长度,所述原始消息、填充数据与MAC值三者的长度之和为对称加密算法分组长度的整数倍;
对原始消息进行数据填充,填充数据串接于原始消息后面,其长度为计算得到的填充长度;
把原始消息与填充数据共同作为有效输入数据,计算有效输入数据的MAC值,并将MAC值串接于填充数据后面;
加封装者对原始消息、填充数据与MAC值进行加密,并将其发送给解封装者。
2.根据权利要求1所述的方法,其特征在于,特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,该方法进一步包括:
加封装者将填充数据分为两部分,填充值padding与填充长度padding_length,所述填充值padding串接于原始消息后面,所述填充长度padding_length为1个字节,取值为0,串接于MAC值后面,所述MAC值串接于padding后面。
3.一种可抵御计时攻击的数据安全实现方法,其特征在于,该方法适用于对原始消息先计算MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,包括以下步骤:
解封装者接收到加封装者发送来的加密报文,对其解密得到原始消息、填充数据与MAC值,提取原始消息与填充数据,计算其MAC值,如果计算得到MAC值与加密报文携带的MAC值相同,则原始消息的完整性未被破坏,否则解封装者丢弃该报文,并且发送错误警告消息给加封装者。
4.根据权利要求3所述的方法,其特征在于,特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,该方法进一步包括:
解封装者对加密报文进行解密得到原始消息、填充数据padding、MAC值与填充长度padding_length,所述填充长度padding_length串接于MAC值后面,长度为1个字节。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:
如果解封者对加密报文解密得到的padding_length的值与报文携带的MAC值之和大于或等于报文总长度减1,则丢弃加密报文,返回错误警告消息;否则进行MAC验证。
6.一种加封装设备,其特征在于,该设备适用于对原始消息先计算MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,该设备包括:
处理模块,用于根据使用的MAC算法与对称加密算法计算原始消息的填充数据长度,所述原始消息、填充数据与MAC值三者的长度之和为对称加密算法分组长度的整数倍;还用于对原始消息进行数据填充,填充数据串接于原始消息后面,其长度为计算得到的填充长度;还用于把原始消息与填充数据共同作为有效输入数据,计算有效输入数据的MAC值,并将MAC值串接于填充数据后面;进一步用于对原始消息、填充数据与MAC值进行加密;
收发模块,用于将加密报文发送给解封装者。
7.根据权利要求6所述的设备,其特征在于,特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,处理模块进一步用于:将填充数据分为两部分,填充值padding与填充长度padding_length,所述填充值padding串接于原始消息后面,所述填充长度padding_length为1个字节,取值为0,串接于MAC值后面,所述MAC值串接于padding后面。
8.一种解封装设备,其特征在于,该设备适用于对原始消息先计算MAC值再做加密,且加密算法采用密码分组链接模式的MEE-CBC类型的算法套件,该设备包括:
收发模块,用于接收加封装者发送来的加密报文;还用于发送错误警告消息给加封装者;
处理模块,用于对加密报文进行解密;还用于提取原始消息与填充数据,计算其MAC值,如果计算得到MAC值与加密报文携带的MAC值相同,则原始消息的完整性未被破坏,否则解封装者丢弃该报文。
9.根据权利要求8所述的设备,其特征在于,特定于安全传输层协议/安全套接层TLS/SSL的应用场景时,处理模块进一步用于:
判断对加密报文解密得到的padding_length的值与报文携带的MAC值之和是否大于或等于报文总长度减1,如果是则丢弃加密报文,返回错误警告消息,否则进行MAC验证。
CN201310324179.1A 2013-07-29 2013-07-29 一种可抵御计时攻击的数据安全实现方法及设备 Active CN103428204B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310324179.1A CN103428204B (zh) 2013-07-29 2013-07-29 一种可抵御计时攻击的数据安全实现方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310324179.1A CN103428204B (zh) 2013-07-29 2013-07-29 一种可抵御计时攻击的数据安全实现方法及设备

Publications (2)

Publication Number Publication Date
CN103428204A true CN103428204A (zh) 2013-12-04
CN103428204B CN103428204B (zh) 2016-08-10

Family

ID=49652381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310324179.1A Active CN103428204B (zh) 2013-07-29 2013-07-29 一种可抵御计时攻击的数据安全实现方法及设备

Country Status (1)

Country Link
CN (1) CN103428204B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363233A (zh) * 2014-11-20 2015-02-18 成都卫士通信息安全技术有限公司 一种vpn网关中应用服务器之间的安全跨域通讯方法
WO2017031677A1 (zh) * 2015-08-25 2017-03-02 华为技术有限公司 一种数据包传输方法、装置、节点设备以及系统
CN107045614A (zh) * 2017-05-05 2017-08-15 北京图凌科技有限公司 一种文件处理方法及装置
CN107294958A (zh) * 2017-05-27 2017-10-24 宁波大学 基于全同态mac的消息完整性认证方法
CN108989740A (zh) * 2018-08-06 2018-12-11 北京数码视讯科技股份有限公司 一种视频会议系统和方法
CN110521167A (zh) * 2017-04-04 2019-11-29 佳能株式会社 信息处理装置、信息处理方法和计算机程序
CN112636898A (zh) * 2019-09-24 2021-04-09 比亚迪股份有限公司 基于通信网络的通信方法、装置和系统
CN113676445A (zh) * 2021-07-05 2021-11-19 国网上海能源互联网研究院有限公司 一种适用于传输配电物联网文件的方法及系统
WO2021248999A1 (zh) * 2020-06-12 2021-12-16 华为技术有限公司 一种校验应用信息的方法、报文处理方法及装置
CN114339632A (zh) * 2021-12-15 2022-04-12 贵州航天计量测试技术研究所 一种基于sm4分组加密算法的北斗短报文加解密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859291A (zh) * 2005-12-13 2006-11-08 华为技术有限公司 一种对网络报文安全封装的方法
CN102437910A (zh) * 2011-10-18 2012-05-02 国家超级计算深圳中心(深圳云计算中心) 数据加/解密校验方法及其系统
US20120331305A1 (en) * 2011-06-27 2012-12-27 Canon Kabushiki Kaisha Encryption processing apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859291A (zh) * 2005-12-13 2006-11-08 华为技术有限公司 一种对网络报文安全封装的方法
US20120331305A1 (en) * 2011-06-27 2012-12-27 Canon Kabushiki Kaisha Encryption processing apparatus
CN102437910A (zh) * 2011-10-18 2012-05-02 国家超级计算深圳中心(深圳云计算中心) 数据加/解密校验方法及其系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363233A (zh) * 2014-11-20 2015-02-18 成都卫士通信息安全技术有限公司 一种vpn网关中应用服务器之间的安全跨域通讯方法
WO2017031677A1 (zh) * 2015-08-25 2017-03-02 华为技术有限公司 一种数据包传输方法、装置、节点设备以及系统
CN110521167A (zh) * 2017-04-04 2019-11-29 佳能株式会社 信息处理装置、信息处理方法和计算机程序
US11444789B2 (en) 2017-04-04 2022-09-13 Canon Kabushiki Kaisha Decrypted packet padding removal
CN107045614A (zh) * 2017-05-05 2017-08-15 北京图凌科技有限公司 一种文件处理方法及装置
CN107294958A (zh) * 2017-05-27 2017-10-24 宁波大学 基于全同态mac的消息完整性认证方法
CN107294958B (zh) * 2017-05-27 2020-05-22 宁波大学 基于全同态mac的消息完整性认证方法
CN108989740A (zh) * 2018-08-06 2018-12-11 北京数码视讯科技股份有限公司 一种视频会议系统和方法
CN112636898A (zh) * 2019-09-24 2021-04-09 比亚迪股份有限公司 基于通信网络的通信方法、装置和系统
WO2021248999A1 (zh) * 2020-06-12 2021-12-16 华为技术有限公司 一种校验应用信息的方法、报文处理方法及装置
CN113676445A (zh) * 2021-07-05 2021-11-19 国网上海能源互联网研究院有限公司 一种适用于传输配电物联网文件的方法及系统
CN114339632A (zh) * 2021-12-15 2022-04-12 贵州航天计量测试技术研究所 一种基于sm4分组加密算法的北斗短报文加解密方法

Also Published As

Publication number Publication date
CN103428204B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN103428204A (zh) 一种可抵御计时攻击的数据安全实现方法及设备
US10909532B2 (en) POS system with white box encryption key sharing
EP2290872B1 (en) Device for generating a message authentication code for authenticating a message
CN103595530B (zh) 软件密钥更新方法和装置
EP2840758B1 (en) Compact and efficient communication security through combining anti-replay with encryption
KR20140122188A (ko) 센서 및/또는 센서의 센서 데이터의 조작 검출 방법
CN109194656A (zh) 一种配电无线终端安全接入的方法
CN106487749A (zh) 密钥生成方法及装置
CN106506149B (zh) 一种tbox终端和tsp平台之间密钥生成方法以及系统
WO2016058404A1 (zh) 基于预共享密钥的实体鉴别方法及装置
CN103684772B (zh) 动态缺失加密系统
CN105897748B (zh) 一种对称密钥的传输方法及设备
CN105610837A (zh) 用于scada系统主站与从站间身份认证的方法及系统
CN112653719A (zh) 汽车信息安全存储方法、装置、电子设备和存储介质
CN103441983A (zh) 基于链路层发现协议的信息保护方法和装置
CN103404073A (zh) 针对无源监听的保护
CN102857503A (zh) 一种安全的指纹数据无线传输方法
Daily et al. Securing CAN traffic on J1939 networks
CN104732614B (zh) 一种对韦根协议信号加密的门禁系统及其加解密方法
CN113591109B (zh) 可信执行环境与云端通信的方法及系统
US8958556B2 (en) Method of secure cryptographic calculation, in particular, against attacks of the DFA and unidirectional type, and corresponding component
CN103532964A (zh) 一种验证tcp连接安全性的方法
CN105306437B (zh) 一种网络安全加密及校验方法
CN107534552A (zh) 交易完整性密钥的分发和验证
CN113784342B (zh) 一种基于物联网终端的加密通讯方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.