合成消息验证码的制作方法

文档序号:7679693阅读:197来源:国知局
专利名称:合成消息验证码的制作方法
技术领域
与通信有关的各种结构,具体来讲,与用于验证消息的方法有关。
背景技术
消息验证码(MAC)是附随在或内嵌在传输消息中的短信息,并且是许多通信协议的公共特征。MAC的目的是通过允许检验者(其还拥有密钥)检测消息和域MAC的任何变化,从而保护消息的完整性及其真实性。典型的MAC算法接受密钥和任意长度的消息作为输入,并且计算结果MAC。当接收到消息时,接收机计算该消息的MAC,并且对照所传送的MAC来检查该消息的MAC。如果这两个MAC匹配,则处理该消息,否贝lj,(通常)丢弃该消息。
当传输消息时,可将其拆分成多个传输单元(TU)。通常在通信链路的最大传输单元(MTU)小于原始消息的长度时会出现这种情况。在某些情形中,消息的部分TU可能会无序地到达接收机。
通常,为了完成对传统MAC的计算,需给出整个消息。如果该消息已经拆分成了多个TU,那么在计算MAC之前,必须首先由接收机对消息进行重组。例如,在计算MAC之前,必须重组已被路由器分解为传输单元或片段、或已被链路层分解为帧的数据包。
MAC计算是相对昂贵和耗时的过程。因此,为了最小化延迟并且最大化吞吐量,期望可以尽快对消息进行MAC计算。常常还希望由专门的硬件来处理这种计算。
传统的MAC是通过从头至尾处理整个消息来计算的。如果消息已被拆 分成多个传输单元(TU)(例如,数据包、片段等),并且这些TU无序地 到达,那么该接收机将拥有一些TU,而在其它的TU到达之前,无法对这 些TU进行MAC计算。在最坏的情况下,即使接收机可能已拥有大部分消 息,但是由于尚未接收到消息的一个或几个TU,仍无法启动任何MAC计 算。如果能够单独地处理TU以便计算MAC,那么会显著地提高效率。
此外,在TU可以无序地到达的情况下,接收硬件通常将TU传送给通 用处理元件以用于重组和MAC计算。如果可以单独地处理TU (例如,不 按次序地和/或无需等待特定消息的所有TU到达),那么可以直接在接收硬 件中实现这些计算。

发明内容
提供了一种在发送机设备上执行的方法,用于进行消息的完整性检验 和验证。在传输之前,将消息分割为多个传输单元。获取每个传输单元的 子消息验证码。基于多个传输单元的子消息验证码,获取整个消息的合成 消息验证码。然后,发送多个传输单元和合成消息验证码。在发送之前, 可将合成验证码附加到多个传输单元中的一个上。合成消息验证码可以是 多个传输单元的子消息验证码的函数。例如,可以通过以下方法来得出合 成消息验证码(1)对子消息验证码执行异或运算;(2)根据将多个固定 长度的输入合成为单个固定长度的输出的函数来获取;(3)根据将子消息 验证码加到一起的函数来获取;和/或(4)根据计算以子消息验证码作为系 数的多项式的函数来获取。子消息验证码可以基于相应传输单元的内容。
还提供了一种传输设备,其包含发射机电路,用于(1)将消息分割 为多个传输单元,(2)获取每个传输单元的子消息验证码,(3)基于多个 传输单元的子消息验证码,获取整个消息的合成消息验证码,(4)将合成 验证码附加到多个传输单元中的一个上,和域(5)发送多个传输单元和合 成消息验证码。子消息验证码可基于相应的传输单元的内容。
另外的结构提供了一种传输设备,包含(1)消息分割模块,用于将 消息分割为多个传输单元,(2)子消息验证码获取模块,用于获取每个传输单元的子消息验证码,(3)合成消息验证码获取模块,用于基于多个传 输单元的子消息验证码,获取整个消息的合成消息验证码,(4)附加模块, 用于将合成验证码附加到多个传输单元中的一个上;和/或(5)发送模块, 用于发送多个传输单元和合成消息验证码。
还提供了一种处理设备,包括(1)输入接口,用于接收未处理的消 息;(2)处理电路。该处理电路可用于(a)将所接收的未处理的消息分 割为多个传输单元,(b)获取每个传输单元的子消息验证码,(c)基于多 个传输单元的子消息验证码,获取整个消息的合成消息验证码,(d)将合 成验证码附加到多个传输单元中的一个上,和/或(e)发送多个传输单元和 合成消息验证码。
还提供了具有一个或多个指令的机器可读介质,其中,这些指令用于 在发送机设备上对消息进行验证,当处理器执行这些指令时,使得处理器 进行以下操作(1)将所接收的消息分割为多个传输单元,(2)获取每个 传输单元的子消息验证码,(3)基于多个传输单元的子消息验证码,获取 整个消息的合成消息验证码,(4)将合成验证码附加到多个传输单元中的 一个上,和/或(5)发送多个传输单元和合成消息验证码。
提供了一种在接收设备上执行的方法,用于对所接收的消息进行完整 性检验和验证。获取与消息相对应的多个传输单元。计算每个传输单元的 本地子消息验证码。基于多个传输单元的本地子消息验证码,计算本地合 成消息验证码。将本地合成消息验证码与所接收的合成消息验证码进行比 较,以确定其关联消息的完整性和/或真实性。可以在传输单元到达时计算 其关联的本地子消息验证码。所述传输单元可能会无序地到达,并在获取 它们时,对它们进行缓冲。如果本地合成消息验证码和所接收的合成消息 验证码相同,则可将这些传输单元提供给其它设备。否则,如果本地合成 消息验证码和所接收的合成消息验证码不同,则丢弃这些传输单元。
提供了一种接收设备,包括接收机电路,用于(1)获取与消息相 对应的多个传输单元;(2)计算每个传输单元的本地子消息验证码;(3) 基于多个传输单元的本地子消息验证码,计算合成消息验证码;(4)将本 地合成消息验证码和所接收的合成消息验证码进行比较,以确定关联消息 的完整性和/或真实性;(5)如果本地合成消息验证码和所接收的合成消息验证码相同,则可将传输单元提供给其它设备;和/或(|5)如果本地合成消 息验证码和所接收的合成消息验证码不同,则丢弃传输单元。
提供了一种接收机设备,包括(1)获取模块,用于获取与消息相对 应的多个传输单元;(2)本地子消息验证码计算模块,用于计算每个传输 单元的本地子消息验证码;(3)合成消息验证码计算模块,用于基于多个 传输单元的本地子消息验证码,计算合成消息验证码;(4)比较模块,用 于将本地合成消息验证码与所接收的合成消息验证码进行比较,以确定关 联消息的完整性和/或真实性;(5)提供模块,用于如果本地合成消息验证 码和所接收的合成消息验证码相同,则将传输单元提供给其它设备;和/或 (6)丢弃模块,用于如果本地合成消息验证码和所接收的合成消息验证码 不同,则丢弃传输单元。
还提供了一种处理设备,包括(1)输入接口,用于接收与消息相对 应的多个传输单元;(2)处理电路。该处理电路可用于(a)计算每个传 输单元的本地子消息验证码;(b)基于多个传输单元的本地子消息验证码, 计算合成消息验证码;(c)将本地合成消息验证码与所接收的合成消息验 证码进行比较,以确定消息的完整性和/或真实性;(d)如果本地合成消息 验证码和所接收的合成消息验证码相同,则将传输单元提供给其它设备; 和/或(e)如果本地合成消息验证码和所接收的合成消息验证码不同,则丢 弃消息。
提供了具有一个或多个指令的机器可读介质,其中,这些指令用于在 接收设备上对消息进行验证;当处理器执行这些指令时,使得处理器进行 以下操作(1)获取与消息相对应的多个传输单元;(2)计算每个传输单 元的本地子消息验证码;(3)基于多个传输单元的本地子消息验证码,计 算合成消息验证码;(4)将本地合成消息验证码和所接收的合成消息验证 码进行比较,以确定关联消息的完整性和/或真实性;(5)如果本地合成消 息验证码和所接收的合成消息验证码相同,则将传输单元提供给其它设备; 和/或(6)如果本地合成消息验证码和所接收的合成消息验证码不同,则丢 弃传输单元。


图1是示出发送机设备的功能、逻辑、软件和/或硬件等部件的框图, 所述发送机设备实现根据一个实施例的合成消息验证码方案。
图2是示出实现根据一个实施例的合成消息验证码方案的消息处理的 框图。
图3是示出实现合成消息验证码方案的发送机设备的实施例的框图。 图4示出一种在发送机设备上执行的方法,该方法用于实现合成消息 验证码方案。
图5是示出实现根据一个实施例的合成消息验证码方案的接收机设备
的功能、逻辑、软件和/或硬件等部件的框图。
图6是示出实现合成消息验证码方案的接收机设备的实施例的框图。 图7示出一种在接收机设备上执行的方法,用于实现合成消息验证码方案。
图8是示出根据一个实施例的如何将消息从发送机设备传输到接收机 设备的网络视图的框图。
具体实施例方式
在下面的描述中,给出了特定的细节以便于全面理解示例和结构。然 而,本领域技术人员应该理解,在没有这些特定细节的情况下也可以实现 这些示例和结构。例如,为了不会由于不必要的细节而使这些示例和结构 不清楚,在框图中可以不显示电路。
此外,应当注意到,可以将这些示例和结构描述为操作过程,该操作 过程可通过流程图、流图、结构图或框图来表示。尽管流程图会将操作描 述为顺序过程,但是许多操作可以并行地或并发地执行。此外,也可重排 操作的顺序。当过程的操作完成时,该过程结束。操作过程可与方法、函 数、程序过程、子例程、子程序等相对应。当操作过程与函数相对应时, 该操作过程的终止对应于该函数返回调用函数或主函数。
此外,存储介质可以表示用于存储数据的一个或多个设备,包括只读 存储器(ROM),随机访问存储器(RAM)、磁盘存储介质、光存储介质、 闪存设备、和/或其它用于存储信息的机器可读介质。术语"机器可读介质" 包括但不限于便携式或固定存储设备、光存储设备、无线信道、和其它各种能够存储、包含或承载指令和/或数据的介质。
另外,可以通过硬件、软件、固件、中间件、微码或它们的组合来实 现这些结构。当以软件、固件、中间件或微码来实现时,可将用于执行必 要任务的程序代码或代码段存储在诸如存储介质或其它存储装置之类的机 器可读介质中。处理器可执行这些必要任务。代码段可以表示过程、函数、 子程序、程序、例程、子例程、模块、软件包、类、或指令、数据结构或 程序语句的组合。通过传递和/或接收信息、数据、自变量、参数或存储器 内容,可以将一代码段耦合到另外的代码段或硬件电路。信息、自变量、 参数、数据等可通过适当方式被传递、转发或传输,这些方式包括存储器 共享、消息传递、令牌传递和网络传输等。
在下面的描述中,特定的术语用于描述一个或多个示例的特定特征。 术语"消息验证码"是指附随或嵌入传输消息的任何信息,该信息能够用 于保护消息的完整性和真实性。
一个新的特征提供了合成消息验证码(CMAC),其中,对每个TU独 立地计算子消息验证码(SMAC)。然后,将SMAC合成为涵盖整个消息的 CMAC。
图1是说明实现根据一个实施例的合成消息验证码方案的发送机设备 的功能、逻辑、软件和/或硬件等部件的框图。获取长度为LM的消息102。 不对整个消息的MAC进行计算(例如在传统的系统中),而是由消息分割 器104将该消息分割为多个传输单元(TU)。这些TU可以具有相等的或不 同的长度LS,其中,LS<LM。然后,验证码生成器108为每个TU生成子 消息验证码(SMAC)。将每个TU的SMAC发送到合成MAC生成器114, 该合成MAC生成器114将组合所有的SMAC以形成合成消息验证码 (CMAC) 116。将传输单元106发送到接收机118。将CMAC 116也发送 到接收机118。例如,可将CMAC 116附加到最后一个将发送到接收机118 的TU上。
在另一实现中,将消息的SMAC和CMAC都发送到接收机以检验消息 的完整性和域真实性。
图2是说明实现根据一个实施例的合成消息验证码方案的消息处理过 程的框图。将消息202分割、分段或拆分为多个更短的传输单元(TU)A204、B206直到N208。对于每个TU,获取子消息验证码(SMAC)。 SMAC可 以是基于其关联TU中的数据或消息而计算出的值。例如,可根据TUA204 中的信息计算SMACA。
在一个实现中,可基于特定消息的所有SMAC来获取CMAC。例如, 可基于TU A204、B 206到N 208的SMAC(即,SMACA、SMACB到SMACN) 来获取值CMACA...N。可将CMACA,发送到接收机,其使用该CMACA...N 来检验整个消息的完整性和/或真实性。
在一些实现中,可将SMAC附加到其相应的TU上来传输。按照这种 方法,当接收到TU时,接收机可基于附加在该TU上的SMAC来检验该 TU的完整性和/或真实性。
通过发送具有各自SMAC的更小的TU,接收机可以在接收到每个TU 时对该TU进行预处理,从而减少了检验或验证特定消息的延迟。虽然在现 有技术中,通常在接收到整个消息之后,才能计算该消息的MAC,但是本 特征在接收到消息的每个片段或TU时就可以计算它们的SMAC。当接收 到最后一个片段或TU时,接收机只基于先前计算出的SMAC来计算所接 收的消息的CMAC。计算CMAC所花的时间少于对整个消息计算MAC所 花的时间。这是因为CMAC使用预先计算的代码(SMAC),而不必在接收 到消息的所有部分之后分析整个消息。
不需将SMAC附加到每个TU上来传输。取而代之的是,发送设备(在 内部)使用SMAC以生成CMAC,该CMAC和TU —起被发送到接收机。 可将CMAC独立地发送或附加到TU上发送。然后,接收机可以通过计算 消息本身的SMAC (在接收到每个TU时)以生成本地CMAC,并且将该 本地CMAC与所接收的CMAC进行比较,从而检验消息的完整性和/或真 实性。
将消息的CMAC作为与该消息的TU关联的SMAC的函数来计算。也 就是说,对于具有N个传输单元的消息M,将CMAC表示为
CMAC(M)邻MAC(TU。), SMAC(TUO,…SMAC(H 其中,F是将多个固定长度的输入(例如,SMAC)合成为单个固定长度的 输出(例如,CMAC)的函数。函数F的一个实现可以是计算所有该函数 的输入(SMAC)的异或。另一实现提供了函数F,其以所期望的输出长度。另一实现提供了函数,其对 以输入(SMAC)作为系数的多项式进行计算。这些实现仅仅是可以用于基 于多个SMAC来计算CMAC的函数的一些例子。其它类型的函数F也可包 含在本方案中。
图3是说明实现合成消息验证码方案的发送机设备的实施例的框图。 发送机设备302可包括发射机304和通用处理器306。发射机304使得发送 机设备302能够在通信链路上传输信息(例如消息)。根据一个实现,发射 机304可包括硬件和/或软件部件,用于将消息分割成多个TU,获取每个 TU的SMAC,基于所述SMAC获取消息的CMAC,发送TU和CMAC。 例如,发射机304的硬件可实现图1和域图2中所示的操作和功能。通过 在发射机304的硬件上实现这些操作和功能,可减轻通用处理器306上的 负荷。
图4示出用于实现合成消息验证码方案的发送机设备上的操作方法。 将消息分割为多个传输单元(TU) (402)。获取每个传输单元的子消息验证 码(SMAC) (404)。在一个实现中,可将SMAC附加到对应的TU上(406)。 将多个TU发送到接收机(408)。然后,接收机可以通过计算每个所接收的 TU的本地SMAC,并且将该本地SMAC与和每个TU —起接收的SMAC 进行比较,从而检验消息的完整性和/或真实性。
不必将SMAC附加到每个TU上或同每个TU —起传输。取而代之的 是,可以基于传输单元的SMAC来获取整个消息的合成消息验证码 (CMAC) (410)。发射机设备在内部使用SMAC以计算CMAC。将CMAC 发送到接收机(412)。例如,可将CMAC附加到最后一个TU,然后发送 其。然后,接收机通过计算每个接收的TU的本地SMAC,并基于所述本 地SMAC计算本地CMAC,然后将本地CMAC与所接收的CMAC相比较, 从而检验消息的完整性和/或真实性。
图5是说明根据一个实施例的实现合成消息验证码方案的接收机设备 的功能、逻辑、软件和域硬件等部件的框图。接收多个消息传输单元(TU) 502。当接收到每个TU时,子消息验证码生成器504基于TU的内容生成 SMAC。也就是说,生成器504基于TU中的有效负载或信息生成自身的本 地SMAC。合成MAC生成器512获取所接收的TU的本地SMAC,并且一旦接收到了所有的TU,该生成器将基于本地SMAC计算本地CMAC。然 后,CMAC验证器514将本地CMAC和所接收的CMAC (通常附加到最后 一个传输的TU)进行比较,以确定整个消息的完整性和/或真实性。如果本 地CMAC和所接收的CMAC相同,则CMAC验证是成功的(516),并且 将构成所接收的消息的TU从消息缓冲器510传递到接收机设备的其它部 件。否贝lj,如果本地CMAC和所接收的CMAC不同,则验证失败(518), 并且丢弃消息的TU。
图6是示出实现合成消息验证码方案的接收机设备的一个实施例的框 图。接收机设备602可以包括接收机604和通用处理器606。接收机604使 得接收机设备602能够在通信链路上接收信息(例如,消息)。根据一个实 现,接收机604可以包括硬件和域软件部件,用于接收多个TU,获取每个 TU的本地SMAC,并基于本地SMAC获取本地CMAC,并且将本地 SMAC/CMAC与所接收的SMAC/CMAC进行比较,以确定所接收的消息的 完整性和/或真实性。例如,接收机604的硬件可以实现图5所示的操作和 功能。通过在接收机604的硬件上实现这些操作和功能,可以减轻通用处 理器606上的处理负荷。
图7说明用于实现合成消息验证码方案的接收机设备上的操作方法。 获取与消息相对应的多个传输单元(702)。可以无序地接收这些传输单元, 并且这些单元可以具有不同的尺寸。计算或获取每个传输单元的本地子消 息验证码(SMAC) (704)。即使无序地接收到这些传输单元,也可以在接 收到每个传输单元时计算每个传输单元的本地子消息验证码(SMAC)。根 据所述多个传输单元的本地子消息验证码(SMAC)来计算或获取本地合成
消息验证码(CMACL。cai) (710)。将本地合成消息验证码(CMACL。ea!)与
所接收的、传输单元的合成消息验证码(CMACReceived)进行比较,以确定 其关联消息的完整性和/或真实性(712)。如果本地消息验证码与所接收的 消息验证码不同,则丢弃该消息(714)。
图8是示出如何将消息从根据一个实施例的发送机设备传输到接收机 设备的网络视图的框图。发送机设备802将消息划分或分割成多个传输单 元TOo、 TU,、 TU2、 TU3、 TU4、 TU^ (其中N为整数),并且通过网络806 (例如,因特网或无线通信网络)将它们传输到接收机设备804。在传输之前,发送机设备802计算每个TU的SMAC,并且基于所述SMAC计算消 息的CMAC。将CMAC附加到一个TU上。发送机设备802可以有序地或 无序地发送TU。然而,当通过网络806时,TU可能采取不同的传输路径 并且无序地到达。例如, 一些TU会被路由器808或其它网络设备延迟,使 得这些TU落后于后发送的TU而到达。
接收机设备802可能无序地接收TU (TU3、 TUG、 TU2、 TU,、 TU^、 TU4)。当接收到每个TU时,接收机设备804为每个TU计算SMAC。 一 旦接收到最后的TU,则由接收机设备804计算本地CMAC。将本地CMAC 与由发送机设备802所发送的CMAC进行比较,以确定消息的完整性和/ 或真实性。如果本地CMAC与所发送的CMAC相匹配,则消息完整性得到 验证并且认为该消息是真实的。如果本地CMAC和所接收的CMAC不匹配, 那么会丢弃该消息。
在各种实现中,发送机设备802和/或接收机设备804可以是无线电话、 基站、接入点、计算机服务器、网络路由器、和/或在有线和/或无线网络上 进行通信的其它通信设备。
在不脱离本发明范围的前提下,可将图1-8中示出的一个或多个部件、 步骤和/或功能重排和/或组合成单个部件、步骤或功能,或将它们包含在多 个部件、步骤或功能中。在不脱离本发明范围的前提下,也可以添加额外 的元件、部件、步骤和/或功能。图1、 3、 5、 6和减8中示出的装置、设 备和/或部件可用于执行一个或多个图2、 4和/或7中所描述的方法、特征 或步骤。
技术人员还将意识到,结合本文所公开的实例和结构而描述的各种说 明性的逻辑框图、模块、电路和算法步骤可以实现为电子硬件、计算机软 件或两者的组合。为了清楚地说明硬件和软件的这种互换性,上面已经一 般性地对各种说明性部件、框图、模块、电路和步骤进行了功能性描述。 将这种功能实现为硬件还是软件取决于特定的应用和施加于整个系统的设 计约束。
应当注意到,前述的实施例和结构仅仅是示例性的,并且不应当解释 为限制本发明。对于实施例和结构的描述旨在说明,并非限制权利要求的 范围。同样地,可以容易地将本技术应用到其它类型的装置中,并且对本领域技术人员而言,多种替代、更改和变形是显而易见的,
权利要求
1、一种在发送机设备上执行的方法,用于执行消息的完整性检验和验证,所述方法包括将所述消息分割为多个传输单元;获取所述传输单元中的每一个的子消息验证码;基于所述多个传输单元的子消息验证码,获取整个消息的合成消息验证码;以及发送所述多个传输单元和所述合成消息验证码。
2、 根据权利要求1所述的方法,还包括在发送之前,将所述合成验证码附加到所述多个传输单元中的一个上。
3、 根据权利要求1所述的方法,其中,所述合成消息验证码是所述多 个传输单元的子消息验证码的函数。
4、 根据权利要求1所述的方法,其中,通过对所述子消息验证码执行 异或运算来导出所述合成消息验证码。
5、 根据权利要求1所述的方法,其中,根据用于将多个固定长度的输 入合成为单个固定长度的输出的函数,获取所述合成消息验证码。
6、 根据权利要求1所述的方法,其中,根据用于将所述子消息验证码 加在一起的函数,获取所述合成消息验证码。
7、 根据权利要求1所述的方法,其中,根据用于计算以所述子消息验 证码作为系数的多项式的函数,获取所述合成消息验证码。
8、 根据权利要求1所述的方法,其中,所述传输单元具有不同的长度。
9、 根据权利要求1所述的方法,其中,所述子消息验证码基于对应的传输单元的内容。
10、 一种传输设备,包括发射机电路,用于-将消息分割为多个传输单元;获取每个所述传输单元的子消息验证码;基于所述多个传输单元的子消息验证码,获取整个消息的合成消息验证码;以及发送所述多个传输单元和所述合成消息验证码。
11、 根据权利要求10所述的设备,其中,所述发射机还用于-将所述合成验证码附加到所述多个传输单元中的一个上。
12、 根据权利要求10所述的设备,其中,所述发射机包括将多个固定长度的输入合成为单个固定长度的输出的功能。
13、 根据权利要求10所述的设备,其中,所述子消息验证码基于对应的传输单元的内容。
14、 一种传输设备,包括消息分割模块,用于将消息分割为多个传输单元;子消息验证码获取模块,用于获取每个所述传输单元的子消息验证码;合成消息验证码获取模块,用于基于所述多个传输单元的子消息验证码来获取整个消息的合成消息验证码;以及发送模块,用于发送所述多个传输单元和所述合成消息验证码。
15、 根据权利要求14所述的设备,还包括附加模块,用于将所述合成验证码附加到所述多个传输单元中的一个上。
16、 一种处理设备,包括输入接口,用于接收未处理的消息;处理电路,用于将所接收的、未处理的消息分割为多个传输单元;获取每个所述传输单元的子消息验证码;基于所述多个传输单元的子消息验证码,获取整个消息的合成消息验证码;以及发送所述多个传输单元和所述合成消息验证码。
17、 根据权利要求16所述的设备,其中,所述处理电路还用于将所述合成验证码附加到所述多个传输单元中的一个上。
18、 根据权利要求16所述的设备,其中,所述发射机包括将多个固定长度的输入合成为单个固定长度的输出的功能。
19、 一种机器可读介质,具有用于在发送机设备上验证消息的一个或多个指令,当由处理器执行所述指令时,使得所述处理器进行以下操作将所接收的消息分割为多个传输单元;获取每个所述传输单元的子消息验证码;基于所述多个传输单元的子消息验证码,获取整个消息的合成消息验证码;以及发送所述多个传输单元和所述合成消息验证码。
20、 根据权利要求19所述的机器可读介质,具有一个或多个指令,当由处理器执行所述指令时,使得所述处理器还进行以下操作将所述合成验证码附加到所述多个传输单元中的一个上。
21、 一种在接收设备上执行的方法,用于对所接收的消息进行完整性检验和验证,所述方法包括获取与所述消息相对应的多个传输单元;计算每个传输单元的本地子消息验证码;基于所述多个传输单元的本地子消息验证码,计算本地合成消息验证码;以及将所述本地合成消息验证码与所接收的合成消息验证码进行比较,以确定关联消息的完整性和/或真实性。
22、 根据权利要求21所述的方法,其中,当传输单元到达时,计算该传输单元的本地子消息验证码。
23、 根据权利要求21所述的方法,其中,所述传输单元无序地到达。
24、 根据权利要求21所述的方法,还包括在获取所述传输单元时,对所述传输单元进行缓冲。
25、 根据权利要求21所述的方法,还包括如果所述本地合成消息验证码和所述所接收的合成消息验证码相同,则将所述传输单元提供给其它设备。
26、 根据权利要求21所述的方法,还包括如果所述本地合成消息验证码和所述所接收的合成消息验证码不同,则丢弃所述传输单元。
27、 一种接收设备,包括接收机电路,用于获取与消息相对应的多个传输单元;计算每个传输单元的本地子消息验证码;基于所述多个传输单元的本地子消息验证码,计算合成消息验证码;以及将所述本地合成消息验证码与所接收的合成消息验证码进行比较,以确定关联消息的完整性和/或真实性。
28、 根据权利要求27所述的设备,其中,所述接收机还用于如果所述本地合成消息验证码和所述所接收的合成消息验证码相同,则将所述传输单元提供给其它设备;以及如果所述本地合成消息验证码和所述所接收的合成消息验证码不同,则丢弃所述传输单元。
29、 一种接收机设备,包括-获取模块,用于获取与消息相对应的多个传输单元;本地子消息验证码计算模块,用于计算每个传输单元的本地子消息验证码;合成消息验证码计算模块,用于基于所述多个传输单元的本地子消息验证码来计算合成消息验证码;以及比较模块,用于将所述本地合成消息验证码与所接收的合成消息验证码进行比较,以确定关联消息的完整性和/或真实性。
30、 根据权利要求29所述的接收机设备,还包括提供模块,用于如果所述本地合成消息验证码和所述所接收的合成消息验证码相同,则将所述传输单元提供给其它设备;和丢弃模块,用于如果所述本地合成消息验证码和所述所接收的合成消息验证码不同,则丢弃所述消息。
31、 一种处理设备,包括输入接口,用于接收与消息相对应的多个传输单元;和处理电路,用于计算每个传输单元的本地子消息验证码;基于所述多个传输单元的本地子消息验证码,计算合成消息验证码;以及将所述本地合成消息验证码与所接收的合成消息验证码进行比较,以确定所述消息的完整性和/或真实性。
32、 根据权利要求31所述的处理设备,其中,所述处理电路还用于如果所述本地合成消息验证码和所述所接收的合成消息验证码相同,则将所述传输单元提供给其它设备;以及如果所述本地合成消息验证码和所述所接收的合成消息验证码不同,则丢弃所述传输单元。
33、 一种机器可读介质,具有用于验证消息的一个或多个指令,当由处理器执行所述指令时,使得所述处理器进行以下操作获取与消息相对应的多个传输单元;计算每个传输单元的本地子消息验证码;基于所述多个传输单元的本地子消息验证码,计算合成消息验证码;以及将所述本地合成消息验证码与所接收的合成消息验证码进行比较,以确定关联消息的完整性和/或真实性。
34、 根据权利要求33所述的机器可读介质,具有一个或多个指令,当由处理器执行所述指令时,使得所述处理器还进行以下操作如果所述本地合成消息验证码和所述所接收的合成消息验证码相同,则将所述传输单元提供给其它设备;以及如果所述本地合成消息验证码和所述所接收的合成消息验证码不同,则丢弃所述传输单元。
全文摘要
在传输之前,将消息分割为多个传输单元。获取每个传输单元的子消息验证码。基于多个传输单元的子消息验证码,获取整个消息的合成消息验证码。然后,发送多个传输单元和合成消息验证码。消息接收机接收与消息相对应的多个传输单元。接收机对每个传输单元的本地子消息验证码进行计算。接收机基于多个传输单元的本地子消息验证码,对本地合成消息验证码进行计算。将本地合成消息验证码与所接收的合成消息验证码进行比较,以确定所接收的信息的完整性和/或真实性。
文档编号H04W12/10GK101529937SQ200780039719
公开日2009年9月9日 申请日期2007年10月25日 优先权日2006年10月27日
发明者A·埃斯科特, G·G·罗斯, M·帕登, P·M·霍克斯 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1