用于保护消息数据的设备和方法_2

文档序号:8303668阅读:来源:国知局
定填补位的末尾。例如,可迫使所有填补字节(除最后一个字节之外)的最高有效位为0,且可迫使最后一个字节的最高有效位为1消息接收器将能够通过此模式确定填补的末尾。作为另一实例,可将填补的长度放在前5个位中。(假设最大长度是32字节)。位的其余部分可来自散列函数330。下文关于图6描述压缩函数370及压缩参数值390。
[0036]进一步参考图4,本发明的另一方面可存在于远程站102中,远程站102包括:用于使用基于对消息数据执行的确定性函数330而产生的填补位320填补消息数据310的装置410 ;用于压缩所述经填补的消息数据335以产生经压缩数据340的装置410,其中所述经压缩数据的长度取决于所述填补位;及用于加密所述经压缩数据以产生经加密消息数据350的装置410。
[0037]本发明的另一方面可存在于远程站102中,远程站102包括:处理器410,处理器410经配置以:使用基于对消息数据执行的确定性函数330而产生的填补位320填补消息数据310 ;压缩所述经填补的消息数据335以产生经压缩数据340,其中所述经压缩数据的长度取决于所述填补位;及加密所述经压缩数据以产生经加密消息数据350。
[0038]本发明的另一方面可存在于计算机程序产品中,计算机程序产品包括:计算机可读媒体420,计算机可读媒体420包括:用于致使计算机400使用基于对消息数据执行的确定性函数而产生的填补位320填补消息数据310的代码;用于致使计算机压缩所述填补消息数据335以产生经压缩数据340的代码,其中所述经压缩数据的长度取决于所述填补位;及用于致使计算机400加密所述经压缩数据以产生经加密消息数据350的代码。
[0039]参考图5及6,本发明的另一方面可存在于用于保护消息数据610的方法500中。在所述方法中,使用对消息数据执行的确定性函数630选择压缩函数670的压缩算法的压缩参数值690 (步骤510)。使用所述压缩算法及所述选定的压缩参数值压缩所述消息数据以产生经压缩数据640 (步骤520)。所述经压缩数据的长度取决于所述压缩参数值。所述经压缩数据经加密以产生经加密消息数据650 (步骤530)。加密函数680使用加密密钥及加密算法来加密所述经压缩数据。
[0040]在本发明的更详细方面中,所述压缩参数值可为最大链长值。所述确定性函数可包含散列函数630。压缩函数670可在压缩期间作出许多选择。通常用于网络上的数据的压缩中的DEFLATE函数具有使用从O到9的范围指示压缩应如何积极的参数。可从散列函数采用几个位,缩小到所述范围中,且传递到对压缩函数的调用中。这将在消息数据中改变任何内容的情况下致使压缩函数不同地表现。
[0041]在DEFLATE函数中,若干值可用作内部调谐参数:good_length、max_lazy、nice_length及max_chain。max_chain值例如控制其将寻找的最长链等。可修改DEFLATE函数以个别地接受这些调谐参数,而不是作为选自表的O与9之间的单一整数。可使用来自散列函数630的输出的位中的一些位选择调谐参数。
[0042]压缩消息数据610可包括使用基于确定性函数而选择的若干填补位填补消息数据以产生经填补的消息数据,及通过对经填补的消息数据使用压缩算法及所述选定的压缩参数值而产生经压缩数据640。可将所述填补位作为所述消息数据的前缀。所述填补位可经约束以允许由接收器确定所述填补位的末尾。随机化所述填补及/或所述压缩效果可防止此类长度泄漏类型的攻击。
[0043]本发明的另一方面可存在于远程站102中,远程站102包括:用于使用对消息数据610执行的确定性函数630选择压缩算法的压缩参数值690的装置410 ;用于使用所述压缩算法及所述选定的压缩参数值压缩所述消息数据以产生经压缩数据640的装置410,其中所述经压缩数据的长度取决于所述压缩参数值;及用于加密所述经压缩数据以产生经加密消息数据650的装置。
[0044]本发明的另一方面可存在于远程站102中,远程站102包括:处理器410,处理器410经配置以:使用对消息数据610执行的确定性函数630选择压缩算法的压缩参数值690 ;使用所述压缩算法及所述选定的压缩参数值压缩所述消息数据以产生经压缩数据640,其中所述经压缩数据的长度取决于所述压缩参数值;及加密所述经压缩数据以产生经加密消息数据650。
[0045]本发明的另一方面可存在于计算机程序产品中,计算机程序产品包括:计算机可读媒体420,计算机可读媒体420包括:用于致使计算机400使用对消息数据610执行的确定性函数630选择压缩算法的压缩参数值690的代码;用于致使计算机使用所述压缩算法及所述选定的压缩参数值压缩所述消息数据以产生经压缩数据640的代码,其中所述经压缩数据的长度取决于所述压缩参数值;及用于致使计算机加密所述经压缩数据以产生经加密消息数据650的代码。
[0046]参考图7到10,本发明的另一方面可存在于用于保护消息数据810的方法700中。在所述方法中,压缩消息数据以产生包括第一数目的数据字节的经压缩数据840 (步骤710) ο填补所述经压缩数据以产生包括第二数目的数据字节837的经填补的经压缩数据835,其中所述第二数目等于所述第一数目加上数据字节的填补数目,且数据字节的所述填补数目是基于消息数据的散列来确定(步骤720)。加密所述经填补的经压缩数据以产生经加密消息数据850 (步骤730)。
[0047]在本发明的更详细方面中,消息数据810的散列830可为所述消息数据的带密钥散列935。所述消息数据的所述带密钥散列可使用消息认证散列(HMAC)加密散列函数来执行,且可采用使用密钥导出函数导出的混淆密钥。所述混淆密钥可从交换的机密值产生。所述密钥导出函数可使用加密密钥及认证密钥产生所述混淆密钥。所述加密密钥及所述认证密钥可从交换的机密值及从多个非机密值产生。数据字节的所述填补数目可包括从I到32的数目。
[0048]可计算未经压缩文本810的散列或类似函数。可通过某一算术或逻辑运算从所述散列值确定某一填补837的长度。例如,所述运算可仅使用所述散列的最低有效5个位。此将是在O与31之间的数目,其将为可添加的填补837的字节的数目。此技术将挫败此类型的攻击,因为所述长度将随着每一试验数字上的许多字节而变化,且正确的一者不大可能是最短的。散列函数可包含机密,例如混淆密钥。HMAC是包含机密的散列状函数(HMAC有时被称为带密钥散列)。
[0049]可作为会话建立的部分而导出机密。在会话建立期间导出加密密钥及认证密钥是较常见的,所述密钥可用于导出长度混淆密钥。长度混淆密钥将为填补的长度的计算的部分。由于攻击者不知晓长度混淆密钥,所以他无法计算填补的长度。
[0050]一方面可涉及修改压缩函数的运算。压缩函数一般作出许多决策。例如,压缩函数常常构建最近遇到的字符串的“词典”。但由于存储有限,所以必须以频繁的间隔丢弃词典中的一或多个条目。最近最少看到的字符串常常是丢弃的选择。然而,可使选择取决于消息的散列。在实际的压缩算法中,可存在可作出的许多其它选择。使这些选择中的一些或全部取决于消息的散列(或带密钥散列)可将大量“噪声”引入到长度中。
[0051]在实际的安全通信系统中,存在交换机密值(通常称为预主机密)的协议,且随后使用密钥导出函数将其与若干非机密值组合,以便产生加密密钥及认证密钥。可从加密密钥及认证密钥导出第三密钥,例如填补的混淆密钥。
[0052]在本发明的其它更详细方面中,填补经压缩数据840以产生经填补的经压缩数据可包括使用基于消息数据810的确定性函数而修改的压缩算法845。所述消息数据可包括传输层安全(TLS)协议消息或安全套接层(SSL)协议消息。上文关于图3描述散列函数830、填补产生器860及加密函数880。可基于来自随机数产生器1035的随机数确定填补数目。
[0053]本发明的另一方面可存在于远程站102中,远程站102包括:用于压缩消息数据810以产生包括第一数目的数据字节的经压缩数据840的装置410 ;用于填补所述经压缩数据以产生包括第二数目的数据字节的经填补的经压缩数据835的装置410,其中所述第二数目等于所述第一数目加上数据字节的填补数目,且数据字节的所述填补数目是基于消息数据的散列来确定;及用于加密经填补的经压缩数据以产生经加密消息数据850的装置410。
[0054]本发明的另一方面可存在于远程站102中,远程站102包括:处理器410,处理器410经配置以:压缩消息数据810以产生包括第一数目的数据字节的经压缩数据840 ;填补所述经压缩数据以产生包括第二数目的数据字节的经填补的经压缩数据835,其中所述第二数目等于所述第一数目加上数据字节的填补数目,且数据字节的所述填补数目是基于消息数据的散列来确定;及加密经填补的经压缩数据以产生经加密消息数据850。
[0055]本发明的另一方面可存在于计算机程序产品中,计算机程序产品包括:计算机可读媒体420,计算机可读媒体420包括:用于致使计算机400压缩消息数据810以产生包括第一数目的数据字节的经压缩数据840的代码;用于致使计算机填补所述经压缩数据以产生包括第二数目的数据字节的经填补的经压缩数据835的代码,其中所述第二数目等于所述第一数目加上数据字节的填补数目,且数据字节的所述填补数目是基于消息数据的散列来确定;及用于致使计算机加密经填补的经压缩数据以产生经加密消息数据850的代码。
[0056]远程站10
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1