CN101542962B - 容许消息数据的非顺序到达的消息完整性的处理方法 - Google Patents
容许消息数据的非顺序到达的消息完整性的处理方法 Download PDFInfo
- Publication number
- CN101542962B CN101542962B CN2007800430648A CN200780043064A CN101542962B CN 101542962 B CN101542962 B CN 101542962B CN 2007800430648 A CN2007800430648 A CN 2007800430648A CN 200780043064 A CN200780043064 A CN 200780043064A CN 101542962 B CN101542962 B CN 101542962B
- Authority
- CN
- China
- Prior art keywords
- label
- section
- sections
- pseudo
- byte stream
- 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.)
- Expired - Fee Related
Links
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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
-
- 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/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Abstract
公开了一种处理应用分组以便传输的方法,包括:接收字节流中的所述应用分组的多个段;通过在所述字节流中将所述多个块中的若干块进行聚合来在所述字节流中产生多个超级块;产生所述多个超级块的第一伪随机位;确定所述多个段中的每个段的开始和结束的块编号和超级块编号;基于所述第一伪随机位来生成所述多个段中的每个段的部分标签,所述第一伪随机位与所述字节流内的所述多个段中的每个段的所确定的开始和结束之间的所述块编号和超级块编号关联;组合所述部分标签以产生累加的标签;根据所述累加的标签和第二伪随机位生成验证标签;存储所述验证标签;以及传送包括所述验证标签的所述多个段。
Description
优先权信息
本非临时申请依据35U.S.C.119(e)(1)要求在2006年11月21日申请的临时申请第60/860,330号的优先权,在此引入其公开的全部内容。本非临时申请依据35 U.S.C.120还要求在2007年10月22日申请的非临时申请第11/976,126号的优先权,在此引入其公开的全部内容。
背景技术
需要加密和消息验证/完整性两者以在无线空中接口上提供安全性。消息加密保护消息的秘密,而消息验证防止消息被篡改。
在消息验证过程中,使用密钥和消息验证算法的发送方计算一个短标签,后者被附加到消息。接收方也根据所述密钥计算所接收消息的标签并将计算的标签与接收的标签相比较。如果标签相同,则接收方接受消息;否则,将丢弃消息。
现有的消息验证算法,例如,基于散列的消息验证代码-安全散列算法(HMAC-SHA)和高级加密标准-密码块链接中的密码算法(AES-CBC),不允许乱序分组处理,因为它们是顺序操作并且要求以发送位的顺序来处理位。因此,常规的消息验证方法必须将数据发送到RAM,由中央处理器(CP)重新排序数据分组并重新组装应用分组(消息),以及将应用分组发送到硬件以执行消息验证。这显著增加了总线上的通信量并且会显著增大分组处理中的等待时间。
此外,现有的消息验证算法每次针对块进行操作。结果,块级别的算法无法针对以非块边界结束的消息段执行操作。在开始执行消息验证标签检验之前,必须从所有消息段重新组装全部应用分组。
发明内容
在本发明的一个示例性实施例中,一种处理应用分组以便传输的方法包括:接收字节流中的所述应用分组的多个段,所述字节流包括多个块;通过在所述字节流中将所述多个块中的若干块进行聚合来在所述字节流中产生多个超级块;产生所述多个超级块的第一伪随机位;以及确定所述多个段中的每个段的开始的块编号和超级块编号。所述方法还包括:确定所述字节流内的所述多个段中的每个段的结束的块编号和超级块编号;以及基于所述第一伪随机位生成所述字节流内的所述多个段中的每个段的部分标签,所述第一伪随机位与所述字节流内的所述多个段中的每个段的所确定的开始和结束之间的所述块编号和超级块编号关联。所述方法还包括:将包括与所述应用分组的最后段关联的最后部分标签的所述部分标签进行组合以产生累加的标签;根据所述累加的标签和第二伪随机位生成验证标签;存储所述验证标签;以及传送包括所述验证标签的所述多个段。
在另一示例性实施例中,一种处理所接收的应用分组段的方法包括:接收字节流中的应用分组的多个段,所述字节流包括多个块;通过在所述字节流中将所述多个块中的若干块进行聚合来在所述字节流中产生多个超级块;产生所述多个超级块的第一伪随机位;以及确定所述多个段中的每个段的开始的块编号和超级块编号。所述方法还包括:确定所述字节流内的所述多个段中的每个段的结束的块编号和超级块编号;以及基于所述第一伪随机位生成所述字节流内的所述多个段中的每个段的部分标签,所述第一伪随机位与所述字节流内的所述多个段中的每个段的所确定的开始和结束之间的所述块编号和超级块编号关联。所述方法还包括:将所述部分标签、所接收的多个段以及所接收的验证标签存储在存储器中;组合所接收的多个段以产生所述应用分组;组合所述部分标签以产生计算的标签;以及根据所计算的标签和所接收的验证标签检验所述应用分组的真实性。
附图说明
从以下给出的详细说明和附图,将更完全地理解本发明的示例性实施例,所述附图只是通过例示的方式给出并且因此并非是限制本发明的示例性实施例:
图1是根据本发明的一个示例性实施例的逻辑加密方法的流程图;
图2示出了图1中的实施例的图形实例;
图3示出了根据本发明的一个示例性实施例的产生完整性标签的流程图;
图4A示出了图3所示的完整性标签产生方法的图形实例;
图4B示出了根据图3的方法的累加操作;
图5示出了根据本发明的一个示例性实施例的重传RLP段的流程图;
图6示出了根据本发明的一个示例性实施例的解密和在线(inline)完整性检查的流程图;
图7示出了根据本发明的一个示例性实施例的可变长度应用分组的部分标签计算。
具体实施方式
将理解的是,尽管术语第一、第二、第三等可在此用于描述各种元素、组件、区域和/或部分,但是这些元素、组件、区域和/或部分不应被这些术语所限制。这些术语仅可用于将一个元素、组件、区域或部分与另一区域或部分区分开。因此,以下讨论的第一元素、组件、区域或部分可以被称为第二元素、组件、区域或部分而不脱离本发明的教导。
在此使用的术语只是为了描述特定示例性实施例并且并非旨在进行限制。如在此使用的,单数形式“一”、“一个”和“该”可以旨在同样包括复数形式,除非上下文另外明确指出。还将理解的是,术语“包括”和/或“包含”,当在本说明书中使用时,指定声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其他特性、整数、步骤、操作、元素、组件和/或它们的组的存在,或不排除添加一个或多个其他特性、整数、步骤、操作、元素、组件和/或它们的组。
在此可以参考典型例示描述示例性实施例,所述典型例示可以是理想化实施例(以及中间结构)的示意性例示。因此,示例性实施例不应被理解为限于在此例示的特定位置和布置,而是将包括偏离它们的形式。
除非另外定义,否则在此使用的所有术语(包括技术和科技术语)都具有与本领域技术人员通常理解的含义相同的含义。还将理解的是,术语(如常用字典中定义的那些术语)应被解释为具有与其在相关领域的上下文中的含义一致的含义,并且不应以理想化和过分正式的含义来进行解释,除非在此明确地这样定义。
本发明涉及发送方与接收方之间的消息验证。发送方可以是能够发送分组通信的任何公知无线通信系统中的任何通讯设备。例如,发送方可以是移动站、基站等。如将理解的,移动站可以是移动电话、PDA、便携式计算机等。接收方可以是发送方的任何接收配对方,如移动站、基站等。此外,将理解的是,本发明可应用于无线和/或网络通信。
为了最佳地理解根据本发明的实施例的消息验证,首先将说明消息加密。并且,为了理解加密,首先将说明无线电链路协议。
无线电链路协议
无线电链路协议(RLP)是在接入终端(AT)(也称为移动站)与接入节点(AN)(也称为基站)之间的无线空中接口上工作的分段和重新组装协议。RLP负责将应用分组分割(分段)成RLP段或分组以便在RF链路上高效地发送RLP段或分组。此外,RLP还负责在接收方处重新组装RLP段,将乱序的分组重新排序,以及当段在传输期间丢失的情况下重传段。
消息加密
可以针对RLP段执行加密和/或验证/完整性。例如,可以使用公知的计数器模式(CTR)加密来加密RLP段。
要加密的RLP段(例如,消息、数据、话音等)通常可被称为明文,而加密过程的结果被称为密文。通常,加密过程涉及针对明文执行加密算法以获得密文。许多加密算法(如数据加密标准(DES)、高级加密标准(AES)等)涉及在加密过程中使用密钥。加密密钥是加密算法中用于生成密文的位序列。加密密钥在通信的发送和接收侧都是已知的,并且在接收侧,加密密钥用于将密文解密成明文。
在无线通信环境中进行加密的情况下,涉及加密在AN与AT之间发送的信息帧,如果在两个不同的帧期间发送了相同的信息(即,相同的明文),则会出现问题。在该情况下,为两个帧中的每个帧都产生相同的密文。这样,关于密文的信息被称为泄漏。为了防止可能针对此类泄漏的密文发生的重放攻击,已开发了使用密码同步(cryptosync)的加密技术。密码同步例如包括在每次使用密码同步进行加密后递增的计数值。通过此方式,密码同步随时间而变化。在密码同步的典型使用中,将加密算法应用于密码同步,就像密码同步是明文那样。结果输出被称为掩码。然后将掩码与要加密的信息(例如,RLP段)执行“异或”操作以生成密文。对于加密密钥,密码同步在发送和接收侧都是已知的,并且在接收侧,密码同步被用于将密文解密成明文。
应用分组加密
为了更好地理解根据本发明的实施例的消息完整性,将给出加密应用分组的方法应用于消息完整性时的简要说明。
图1是根据本发明的示例性实施例的逻辑加密方法的流程图,并且图2是此过程的图形实例。
在该示例性实施例中,假定发送应用分组的无线电链路协议(RLP)段以便进行加密而不与其他应用分组的RLP段交织。仅出于例示的目的,还假定在RLP流的第9001个字节上发送64,000字节的应用分组,并且RLP段是8字节的倍数。换言之,RLP段是块大小的倍数。如本领域技术人员将理解的,应用分组大小、RLP字节流以及RLP段的大小都可以被改变。
参考图1和2,发送方将长度为64,000字节的应用分组或数据分组逻辑地拆分成块大小的倍数(步骤S100),例如,8字节明文块M1-M8000。图2中示出了块M1到M8。
使用具有两个变元(输入)的高级加密标准(AES),所述变元例如密钥k和基于字节数的密码同步值,可以在步骤S110中产生第一伪随机块(位)AESK(0,9001)-AESK(0,9049)。在图2中,使用标号(即,TYPE)“0”区分第一伪随机位与其他伪随机位。参见以下说明。
进一步地,第一伪随机位AESK(0,9001)-AESK(0,9049)可以被写为:
第一伪随机位(OUTPUT)=AES(k,INPUT)
到AES的密码同步值(INPUT)可以被分成两个部分,即,TYPE(例如,8位)和COUNTER(例如,64位),其余INPUT位可以被设置为0。如通常公知的,对于特定TYPE值,COUNTER值应永远不重复,以便保证对于AES,全部INPUT值永远不会重复。此外,“TYPE”用于区分AES的使用来产生各个伪随机位。为了产生第一伪随机位,可以将RLP流中的字节编号用作COUNTER值,因为对于特定的流,BYTE_NUMBER永远不重复。相应地,密钥k和密码同步值可用于产生128位输出。密码同步值的大小可以变化,并且密码同步值可以包含其他输入,例如,流ID、重置计数器等。以下将提供更多细节。
接着,在步骤S120,发送方将明文块M1到M8与第一伪随机位AESK(0,9001)-AESK(0,9049)执行“异或”操作(XOR),以便产生如图2所示的加密后的(密文)块C1-C8。
尽管描述了计数器模式(CTR)加密来加密以上的RLP段,但是可以使用其他公知的加密方法,例如,输出反馈(OFB)模式、密码反馈(CFB)模式等。
消息完整性
一旦加密了应用分组(更具体地说,RLP段),就可以针对RLP段执行根据本发明的示例性实施例的完整性过程以便产生所述应用分组的验证标签。
再次地,使用具有两个变元(输入)的高级加密标准(AES),所述变元例如密钥k和密码同步值,可以产生第二伪随机位Ai。
每个第二伪随机位Ai都是64位(8字节)。Ai用于称为“超级块”的特定数量的数据块,例如,数据块的数量可以是512,并且每个数据块可以是8字节。构成超级块的数据块的数量可以变化。
具体地说,使用高级加密标准(AES),例如,基于多项式求值通用散列的完整性,密钥k和基于超级块编号i的密码同步值,可以产生第二伪随机位AESk(1,超级块编号i)。使用标号,即,TYPE,“1”区分第二伪随机位与其他伪随机位(例如,第一伪随机位)。
为每个超级块生成随机散列密钥Ai,并且应用分组被视为某种程度的多项式。密钥Ai仅对于特定超级块有效。密钥Ai的幂用于超级块中的特定块。
Ai=AES(1,超级块编号i),
其中i=floor(RLP字节编号/512x64)
例如,应用分组将始于加密块C1并且终于加密块Cn。略为不同地说,RLP段始于特定的RLP字节编号和RLP块编号B,其中B是ceiling(RLP字节编号/8)。RLP块编号被确定性地映射到超级块S和该超级块S内的块编号b,即,B←→(S,b),其中S=ceiling(B/512)并且b=B-(S-1)512。
假设应用分组始于超级块S和块编号b并且终于超级块S2和块编号b2。对于每个超级块S到S2,可使用以下表达式来计算每个部分标签:
部分标签=C1(AS)+C2(AS)b+1+...+Cn-b+1(AS)n+C(S2-S1)n-b+2(AS2)+...+C(S2-S1)n-b+1+b2(AS2)b2,
其中S是所述超级块编号,b是所述超级块中的所述块编号,n是所述超级块中的块的数量,Cj是所述段中的加密块,并且As是所述第一伪随机位。
完整性标签是超级块S到S2中的每个超级块的部分标签的总和。因此,如果超级块S到S2中的每个超级块中的块的数量为512,使用以下表达式来计算全部超级块S到S2的完整性标签:
完整性标签=C1(As)b-1+C1(As)b+...C512-b+1(As)512+C512-b+2(As+1)+C512+b+3(As+1)2+...C1024-b+1(As+1)512+C(S2-S1)512-b(As2)+...C(S2-S1)512-b+b2(As2)b2+AES(2,最后字节编号)64位
在本发明的一个示例性实施例中,假设RLP段始于RLP字节编号9000并且终于RLP段字节编号9239。还假设位流始于1并且继续向前。相应地,超级块1将始于位流1并且终于位流4096(超级块中存在512个块);超级块2将始于位流4097并且终于位流8192;超级块3将始于位流8193并且终于位流12,288;以此类推。
第一块始于RLP字节编号9001或RLP块编号B=9001/8=1126,并且结束块终于RLP字节编号9240或RLP块编号B=9240/8=1155。已知开始和结束RLP字节编号后,可以确定RLP段在3个超级块内开始和结束。通过将开始B映射到(S,b)=(3,102)以及将结束B映射到(S,b)=(3,131),可以确定开始和结束块编号。
相应地,使用以下表达式计算部分标签:
部分标签=C1(A3)102+C2(A3)103+...+C30(A3)131
计算应用分组中的每个RLP段的部分标签。在计算每个部分标签之后,将部分标签发送到累加器。在计算最后RLP段的最后部分标签之后,所有部分标签被累加并被进一步加密,加密的方法是通过将累加的标签与第三伪随机位AES(2,最后字节编号)64位的最低有效位(lsb)进行“异或”。
图3示出了根据本发明的示例性实施例的产生完整性(验证)标签的流程图。图4A示出了该过程的图形实例。
首先,在步骤S200,发送方产生如上所述的第二伪随机位Ai。然后,在步骤S220,发送方判定RLP段是否为最后RLP段。RLP段的头部中的标志可被设置为指示开始段、中间段或最后RLP段。如果该RLP段不是最后RLP段,则在步骤S230,将部分标签(例如,64位部分标签)发送到发送方内的累加器(未示出)。在步骤S240,发送方还将所述RLP段发送到接收方。
如果所述RLP段是最后RLP段,则在步骤S235,还将最后部分标签发送到累加器。将最后部分标签发送到累加器的过程与将非最后部分标签发送到累加器的过程是相同的。如图4B所示,在将最后部分标签发送到累加器后,在步骤S245,通过将部分标签相加以产生64位累加标签来形成累加的标签。如将理解的,在生成每个部分标签之后,部分标签可以被替代地添加到部分地累加的标签。然后,在步骤S250,发送方通过将累加的标签与第三伪随机位AESk(2,最后字节编号)的最低有效位(lsb)进行“异或”来加密累加的标签以产生验证标签。由于从上述说明形成第三伪随机位是十分显而易见的,所以为了简洁,将省略产生第三伪随机位的说明。
在步骤S260,在RLP段重传的情况下,还将验证标签发送到存储器。在步骤S270,将验证标签附加到最后RLP段并将其传送到接收方以便进行解码。所述存储器可以是RAM或任何其他由中央处理器(CP)控制的存储设备,或者所述存储器可以是专用集成电路(ASIC)的一部分或受其控制。仅为应用分组的最后RLP分组存储验证标签。
应当理解,可以存在图4的实施例的大量修改而不偏离其所提供的总体教导。例如,步骤S210和S220可以以相反的顺序执行或可以并行执行。作为另一个实例,步骤S260和S270可以并行和/或顺序执行。
重传
如通常所知的,接收方可能会未从发送方或传送方接收到所有传送的RLP段。接收方可能未接收到所有发送的RLP段的原因有很多。为了简洁,将省略为何会丢失RLP段的细节。如果接收方未接收到所有RLP段,则发送方可以重传未接收到的RLP段。
当发送方中的中央处理器将RLP段发送到硬件以便传送和重传时,中央处理器还发送指示所述RLP段是否是重传的位。请求重传的过程是本领域中公知的,相应地,为了简洁,也将省略对其的说明。
参考图5,在步骤S300,发送方或传送方接收重传RLP段的请求。在步骤S310,发送方判定重传请求是针对应用分组的最后RLP段还是针对非最后RLP段。如果请求是针对非最后RLP段,则在步骤S320中,加密并重传该RLP段。
如果在步骤S310中,所述请求是针对应用分组的最后RLP段,则在步骤S330,加密存储在中央处理器/RAM中的累加的验证标签并将其附加到最后RLP段。在步骤S340,加密后的最后RLP段连同加密后的验证标签一起被发送到接收方。
作为一种选择,在步骤S310和S330之间,可以将最后RLP段进一步分成片段。例如,传送方可以基于传送情况而确定整体的最后RLP段应被进一步拆分为更小的片段以便减小负荷。在不同的时隙发送每个更小的段。在此,在重传之前,所述更小的片段中只有最后片段才被附加有加密的验证标签。
解密和在线完整性检查
如果接收方正确地接收到包括验证标签的所有RLP段,则接收方必须解密RLP段(如果它们被加密)并且执行完整性检查。
图6是示出根据本发明的一个示例性实施例的解密和在线完整性检查的方法的流程图。在此,“在线”指接收方在接收RLP段的同时执行完整性计算,而不是等待接收全部的RLP段。
产生RLP段的部分标签的步骤与以上在消息完整性部分中所述的步骤相同。再次地,在超级块级别使用Ai。已知RLP段的开始RLP字节编号和结束RLP字节编号后,可以确定超级块和该超级块内的各块以便计算部分标签。
在步骤S400,在接收方处接收到所有RLP段之后,可以产生第四伪随机位。如图4的步骤S200,可以使用AES来产生第四伪随机位。
在步骤S410,为所接收的RLP段产生部分标签。所述部分标签可以是64位部分标签。然后,在步骤S420,接收方判定所述RLP段是否是最后RLP段。如果所述RLP段不是最后RLP段,则在步骤S430,解密该RLP段并将其与部分标签一起发送到接收方中的存储器。与传送方类似,接收方的存储器可以是RAM或任何其他由中央处理器(CP)控制的存储设备,或者所述存储器可以是专用集成电路(ASIC)的一部分或受其控制。还与以上根据图3和4所述的步骤类似,部分标签产生步骤和判定RLP段是否是最后RLP段的步骤可以被颠倒。
如果在步骤S420,接收方判定所述RLP段是最后RLP段,则在步骤S440解密该最后RLP段。此外,在步骤S440,将该最后RLP段的部分标签与第五伪随机位AESk(2,最后字节编号)的最低有效位进行“异或”,并将结果与来自步骤S270的验证标签一起发送到存储器。为了简洁,将省略产生第五伪随机位的说明。此外,对于本领域技术人员将显而易见的是,产生第四和第五伪随机位的方法分别与上述的产生第二和第三伪随机位的方法相同。此外,作为一种选择,可以针对所计算的标签执行第二次散列以将其缩减为32位值。
中央处理器(CP)组装所有的RLP段以形成应用分组。中央处理器还将步骤S430和S440中接收的所有部分标签相加。在步骤450,如果所计算的部分标签的总和等于所接收的验证标签,则应用分组被验证。
在上述示例性实施例中,根据是块大小(例如,64位(8字节))的倍数的RLP段描述了完整性、加密以及解密方法。换言之,RLP段包括64位的标准块大小。在以下示例性实施例中,将描述不是标准块大小,例如,不是64位的倍数的RLP分组。为了简洁,将仅描述标准RLP段块大小与非标准RLP段块大小之间不同的那些方面(步骤)。
不是块大小的倍数
假设应用分组的RLP段不是块大小的倍数,例如,不是64位的倍数,并且给定位序号,可以确定是64位的倍数的开始字节。一旦确定了是64位的倍数的开始字节,就可以针对64位值执行通用散列。
可以理解,必须适当地管理“64位的倍数”之前的位和结束位。在不是64位的倍数的RLP段的开始,可以将0添加到该RLP段之前和/或还可以将0附加到该RLP段的结尾,以便使64位密文块Ci变得完整。
可以基于伽罗瓦(Galois)域(264)计算加法和乘法,或可以使用其他域进行修改,例如,在大于64位的调制器质数(modulator prime)上工作。
其余的加密和部分标签产生过程类似于以上根据图1-4所述的过程。此外,上述的验证标签产生、解密RLP分组、重传RLP分组以及检验的方法都是相同的。参见图5-6及其说明。
可变长度应用分组
应用分组也可以具有各种字节长度。相应地,现在将给出本发明的示例性实施例如何应用于这些应用分组的描述。为了简洁,将仅描述那些与上述示例性实施例不同的方面。
应用分组可以具有可变的字节长度。在常规技术中,可以通过将长度(块数)参数包括为通用散列计算的一部分或包括为到标签加密的输入来处理具有可变字节长度的应用分组。例如,可以使用填充来填满最后部分填满的块。但是,此方法在示例性实施例中无法使用,因为当乱序接收RLP时长度是未知的。
开始字节的字节数以及最后字节可用于取代字节长度值。C0值可被设置为开始字节数,其对C0xA0项有贡献。例如,A0可以是伪随机的、预先计算的和固定的值,或者,A0可以例如是伪随机流Ai中的A1之前的64位值,并且C0是应用分组之前的开始位。
假设对于任何C0(开始字节编号,其不是64位边界的倍数),A0是伪随机流Ai中的A1之前的64位值,则A0被设置为包含开始字节编号的块之前的64位伪随机块。RLP流的最开始(例如,字节0、1、2和3)还需要额外的步骤,因为没有在前的块。示例性地,A0可被设置为第六伪随机位AESk(3,0)的最后字节,或设置为A0=AESk(1,264-1),其是0之前的值对264求余(mod)。要指出的是,RLP流实际上不可能达到26464位块。因此,假设到AES的全部字节编号输入是64位。因此,为了产生部分64位标签,C0是开始字节编号(64位);并且A0是伪随机流Ai中的A1之前的64位掩码,例如,A0=在先AESk(1,...)输出位的最后64位。以下说明具体产生RLP流的最开始8个字节的C0的A0。
当使用第七伪随机位AESk(2,最后字节编号)产生加密标签(验证标签)时,在不同字节编号处结束的应用分组将具有不同的加密标签。再次地,产生第七伪随机位的方法可以与上述产生第三和第五伪随机位的方法相同。为了加密标签,不使用128位块编号,而是可以使用与AES输入完全相同的最后字节编号。两个不同的消息,例如,长度为64位的倍数的消息M和后跟字节0的消息M,可以产生相同的标签。但是,每个消息将被不同地加密,因为将为每个消息添加不同的随机字符串。
对于在非64位的倍数处开始和结束,但是属于同一应用分组的RLP段,可以在RLP段的开始字节处以及在下一RLP段的开始字节处重用Ai。参考图8,将说明在非64位的倍数处结束的应用分组和在非64位的倍数处开始的下一应用分组。
RLP分组可填充有0以使8字节Ci变得完整。在此,可以为两个应用分组重用Ai。换言之,将在第一应用分组的结束处使用Ai并且在第二应用分组的开始处再次使用该Ai。
第二应用分组的开始字节将继续使用基于当前i的8字节Ai,其中i等于(最后字节编号/8)。对于第一应用分组的结束字节,例如,8X+1、8X+2或8X+3字节,使用与最后字节关联的64位Ai,i等于(最后字节编号/8)。
本发明的示例性实施例允许在接收数据的“同时”进行消息验证标签检验,而不必等待重新组装整体应用分组。所述示例性实施例允许字节级加密和验证处理,以及乱序处理。
如此描述了本发明的示例性实施例,将显而易见的是,可以以许多方式改变所述示例性实施例。此类变型不会被视为偏离本发明,并且所有此类修改都旨在被包括在本发明的范围之内。
Claims (12)
1.一种处理应用分组以便传输的方法,包括:
接收字节流中的所述应用分组的多个段,其中所述字节流包括多个块并且所述多个段中的每个段包括所述多个块的一部分;
通过在所述字节流中将所述多个块中的若干块进行聚合来在所述字节流中产生多个超级块;
基于用于所述多个超级块中的每个超级块的超级块编号,产生所述多个超级块的第一伪随机位;
确定所述多个段中的每个段的开始的块编号和所述超级块编号;
确定所述字节流内的所述多个段中的每个段的结束的所述块编号和所述超级块编号;
基于(i)所述第一伪随机位、(ii)所述块编号以及(iii)所述超级块编号,生成所述字节流内的所述多个段中的每个段的部分标签,其中所述块编号和超级块编号分别与位于所述字节流内的所述多个段中的每个段的所确定的开始和所确定的结束之间的所述块和超级块关联;
将包括与所述应用分组的最后段关联的最后部分标签的所述部分标签进行组合以产生累加的标签;
根据所述累加的标签和第二伪随机位生成验证标签;
存储所述验证标签;以及
传送包括所述验证标签的所述多个段。
2.根据权利要求1所述的方法,其中生成所述验证标签包括:
将所述累加的标签与所述第二伪随机位执行“异或”操作。
3.根据权利要求1所述的方法,其中生成所述多个段中的每个段的部分标签包括:
部分标签=C1(AS)+C2(AS)b+1+...+Cn-b+1(AS)n+C(S2-S1)n-b+2(AS2)+...+C(S2-S1)n-b+1+b2(AS2)b2,
其中S是所述超级块编号,b是所述超级块中的所述块编号,n是所述超级块中的块的数量,Cj是所述段中的加密块,并且As是所述第一伪随机位。
4.根据权利要求1所述的方法,还包括:
通过将所述多个段与第三伪随机位的相应部分执行“异或”操作来加密所述多个段以产生密文块。
5.根据权利要求1所述的方法,其中生成所述部分标签包括:
将所述应用分组的开始字节编号与第四伪随机位相乘,使用具有密钥k和密码同步值的AES产生所述第四伪随机位,并且所述密码同步值是在所述应用分组之前的字节编号。
6.根据权利要求1所述的方法,还包括:
接收重传所述多个段中的最后段的请求;
将所存储的验证标签附加到所述多个段中的所述最后段;以及
重传所述最后段和所述验证标签。
7.根据权利要求6所述的方法,还包括:
将所述最后段重新分段成多个片段;并且其中
所述重传传送所述多个片段和所述验证标签。
8.根据权利要求1所述的方法,其中如果所述多个段不是块大小的倍数,则所述方法进一步包括:
标识是块大小的倍数的段;以及
执行以下操作中的至少一个操作:将0添加到是块大小的倍数的段的开始之前,以及将0附加到是块大小的倍数的段的结束之后。
9.一种处理所接收的应用分组段的方法,包括:
接收字节流中的应用分组的多个段,其中所述字节流包括多个块并且所述多个段中的每个段包括所述多个块的一部分;
通过在所述字节流中将所述多个块中的若干块进行聚合来在所述字节流中产生多个超级块;
基于用于所述多个超级块中的每个超级块的超级块编号,产生所述多个超级块的第一伪随机位;
确定所述多个段中的每个段的开始的块编号和所述超级块编号;
确定所述字节流内的所述多个段中的每个段的结束的所述块编号和所述超级块编号;
基于(i)所述第一伪随机位、(ii)所述块编号以及(iii)所述超级块编号,生成所述字节流内的所述多个段中的每个段的部分标签,其中所述块编号和超级块编号分别与位于所述字节流内的所述多个段中的每个段的所确定的开始和所确定的结束之间的所述块和超级块关联;
将所述部分标签、所接收的多个段以及所接收的验证标签存储在存储器中;
组合所接收的多个段以产生所述应用分组;
组合所述部分标签以产生计算的标签;以及
基于所计算的标签和所接收的验证标签检验所述应用分组的真实性。
10.根据权利要求9所述的方法,其中生成所述多个段中的每个段的部分标签包括:
部分标签=C1(AS)+C2(AS)b+1+...+Cn-b+1(AS)n+C(S2-S1)n-b+2(AS2)+...+C(S2-S1)n-b+1+b2(AS2)b2,
其中S是所述超级块编号,b是所述超级块中的所述块编号,n是所述超级块中的块的数量,Cj是所述段中的加密块,并且As是所述第一伪随机位。
11.根据权利要求9所述的方法,还包括:
产生所述多个段中的所接收的最后段的最后部分标签;以及
将所述最后部分标签与第二伪随机位的最低有效位执行“异或”操作。
12.根据权利要求9所述的方法,还包括:
接收所述多个段中的最后段的重传;
产生所述多个段中的所接收的最后段的最后部分标签;以及
将所述最后部分标签与第二伪随机位的最低有效位执行“异或”操作。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86033006P | 2006-11-21 | 2006-11-21 | |
US60/860,330 | 2006-11-21 | ||
US11/976,126 US8122247B2 (en) | 2006-10-23 | 2007-10-22 | Processing method for message integrity with tolerance for non-sequential arrival of message data |
US11/976,126 | 2007-10-22 | ||
US11/984,400 US8204216B2 (en) | 2006-10-23 | 2007-11-16 | Processing method for message integrity with tolerance for non-sequential arrival of message data |
US11/984,400 | 2007-11-16 | ||
PCT/US2007/085092 WO2008064153A2 (en) | 2006-11-21 | 2007-11-19 | Processing method for message integrity with tolerance for non-sequential arrival of message data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101542962A CN101542962A (zh) | 2009-09-23 |
CN101542962B true CN101542962B (zh) | 2013-11-06 |
Family
ID=39430534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800430648A Expired - Fee Related CN101542962B (zh) | 2006-11-21 | 2007-11-19 | 容许消息数据的非顺序到达的消息完整性的处理方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2087635A4 (zh) |
JP (1) | JP2010510756A (zh) |
KR (1) | KR101088549B1 (zh) |
CN (1) | CN101542962B (zh) |
WO (1) | WO2008064153A2 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729250B (zh) * | 2008-10-21 | 2014-03-26 | 日电(中国)有限公司 | 增量可证数据完整性验证方法、设备和系统 |
JP2010192944A (ja) * | 2009-02-13 | 2010-09-02 | Sony Corp | コンテンツ配信装置、コンテンツ利用装置、コンテンツ配信システム、コンテンツ配信方法、およびプログラム |
US10198248B2 (en) * | 2012-07-11 | 2019-02-05 | Intel Corporation | Parallel processing of a single data buffer |
CN104156326A (zh) * | 2014-08-04 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种实现数据一致性的方法 |
DE112015005991B4 (de) | 2015-01-19 | 2024-02-08 | Mitsubishi Electric Corporation | Paketsendevorrichtung, Paketempfangsvorrichtung, Paketsendeprogramm und Paketempfangsprogramm |
WO2018138006A1 (en) * | 2017-01-25 | 2018-08-02 | Koninklijke Kpn N.V. | Guaranteeing authenticity and integrity in signalling exchange between mobile networks |
EP4054113A1 (en) * | 2017-01-25 | 2022-09-07 | Koninklijke KPN N.V. | Guaranteeing authenticity and integrity in signalling exchange between mobile networks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608801A (en) * | 1995-11-16 | 1997-03-04 | Bell Communications Research, Inc. | Efficient cryptographic hash functions and methods for amplifying the security of hash functions and pseudo-random functions |
CN1349331A (zh) * | 2001-12-03 | 2002-05-15 | 上海交通大学 | 分级标记防篡改系统 |
CN1653458A (zh) * | 2000-07-27 | 2005-08-10 | Rpost国际公司 | 验证电子消息的传递和内容的系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5008935A (en) * | 1989-06-30 | 1991-04-16 | At&T Bell Laboratories | Efficient method for encrypting superblocks of data |
US5809148A (en) * | 1996-05-17 | 1998-09-15 | Motorola, Inc. | Decryption of retransmitted data in an encrypted communication system |
ES2219883T3 (es) * | 1997-04-14 | 2004-12-01 | Siemens Aktiengesellschaft | Procedimiento y dispositivo para la formacion y comprobacion de una suma de comprobacion para datos digitales que estan agrupados en varios segmentos de datos. |
US20020051537A1 (en) * | 2000-09-13 | 2002-05-02 | Rogaway Phillip W. | Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function |
US7046802B2 (en) * | 2000-10-12 | 2006-05-16 | Rogaway Phillip W | Method and apparatus for facilitating efficient authenticated encryption |
US6963976B1 (en) * | 2000-11-03 | 2005-11-08 | International Business Machines Corporation | Symmetric key authenticated encryption schemes |
US7321659B2 (en) * | 2003-10-01 | 2008-01-22 | International Business Machines Corporation | Simple universal hash for plaintext aware encryption |
WO2005076522A1 (en) * | 2004-02-10 | 2005-08-18 | Cryptico A/S | Methods for generating identification values for identifying electronic messages |
WO2005111926A1 (en) * | 2004-05-18 | 2005-11-24 | Silverbrook Research Pty Ltd | Method and apparatus for security document tracking |
-
2007
- 2007-11-19 WO PCT/US2007/085092 patent/WO2008064153A2/en active Application Filing
- 2007-11-19 EP EP07864586.8A patent/EP2087635A4/en not_active Withdrawn
- 2007-11-19 JP JP2009538471A patent/JP2010510756A/ja active Pending
- 2007-11-19 CN CN2007800430648A patent/CN101542962B/zh not_active Expired - Fee Related
- 2007-11-19 KR KR1020097010385A patent/KR101088549B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608801A (en) * | 1995-11-16 | 1997-03-04 | Bell Communications Research, Inc. | Efficient cryptographic hash functions and methods for amplifying the security of hash functions and pseudo-random functions |
CN1653458A (zh) * | 2000-07-27 | 2005-08-10 | Rpost国际公司 | 验证电子消息的传递和内容的系统及方法 |
CN1349331A (zh) * | 2001-12-03 | 2002-05-15 | 上海交通大学 | 分级标记防篡改系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2087635A2 (en) | 2009-08-12 |
JP2010510756A (ja) | 2010-04-02 |
CN101542962A (zh) | 2009-09-23 |
WO2008064153A2 (en) | 2008-05-29 |
WO2008064153A3 (en) | 2008-09-04 |
KR101088549B1 (ko) | 2011-12-05 |
EP2087635A4 (en) | 2017-07-05 |
KR20090071656A (ko) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101542962B (zh) | 容许消息数据的非顺序到达的消息完整性的处理方法 | |
JP6397987B2 (ja) | 暗号学的チェックサムの生成 | |
US20020159598A1 (en) | System and method of dynamic key generation for digital communications | |
US8204216B2 (en) | Processing method for message integrity with tolerance for non-sequential arrival of message data | |
EP1133099A2 (en) | Method and apparatus for symmetric-key encryption | |
JP5556659B2 (ja) | 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム | |
JP2007140566A (ja) | 効率的なパケット暗号化方法 | |
JP7353375B2 (ja) | エポック鍵交換を用いたエンドツーエンドの二重ラチェット暗号化 | |
US20180069706A1 (en) | Generating Cryptographic Checksums | |
Zhang et al. | Energy efficiency of encryption schemes applied to wireless sensor networks | |
US20080294905A1 (en) | Secure approach to send data from one system to another | |
CN108964870B (zh) | 基于自同步混沌密码的铁路应答器报文安全增强方法 | |
US8122247B2 (en) | Processing method for message integrity with tolerance for non-sequential arrival of message data | |
JP2007013366A (ja) | 通信処理装置、通信処理システム、および方法、並びにコンピュータ・プログラム | |
Albath et al. | Practical algorithm for data security (PADS) in wireless sensor networks | |
JP5355408B2 (ja) | メッセージデータの非順次着信に対する許容度を有するメッセージ完全性のための処理方法 | |
Song et al. | Secure frame format for avoiding replay attack in Distributed Network Protocol (DNP3) | |
WO2010020264A1 (en) | Method for coded data transmission and apparatus for decoding coded data | |
Zhang et al. | An RC4-based lightweight security protocol for resource-constrained communications | |
KR101875528B1 (ko) | 경량 장치를 위한 스테가노그래피 기법에 기반한 통신 방법 | |
Zibideh et al. | Key-based coded permutation ciphers with improved error performance and security in wireless channels | |
CN114978699A (zh) | 一种数据加密和数据解密方法、装置、设备以及存储介质 | |
Mohasefi et al. | DSBS: A novel dependable secure broadcast stream over lossy and non-synchronized channels | |
Mourier et al. | An implementation of the hash-chain signature scheme for wireless sensor networks | |
Albath et al. | III. PRACTICAL ALGORITHM FOR DATA SECURITY (PADS) IN WIRELESS SENSOR NETWORKS |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131106 Termination date: 20191119 |
|
CF01 | Termination of patent right due to non-payment of annual fee |