CN104955050A - 合成消息验证码 - Google Patents

合成消息验证码 Download PDF

Info

Publication number
CN104955050A
CN104955050A CN201510441700.9A CN201510441700A CN104955050A CN 104955050 A CN104955050 A CN 104955050A CN 201510441700 A CN201510441700 A CN 201510441700A CN 104955050 A CN104955050 A CN 104955050A
Authority
CN
China
Prior art keywords
transmission unit
authentication code
message authentication
message
sub
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
Application number
CN201510441700.9A
Other languages
English (en)
Inventor
M·帕登
A·埃斯科特
G·G·罗斯
P·M·霍克斯
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104955050A publication Critical patent/CN104955050A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Detergent Compositions (AREA)
  • Error Detection And Correction (AREA)
  • Radio Relay Systems (AREA)

Abstract

在传输之前,将消息分割为多个传输单元。获取每个传输单元的子消息验证码。基于多个传输单元的子消息验证码,获取整个消息的合成消息验证码。然后,发送多个传输单元和合成消息验证码。消息接收机接收与消息相对应的多个传输单元。接收机对每个传输单元的本地子消息验证码进行计算。接收机基于多个传输单元的本地子消息验证码,对本地合成消息验证码进行计算。将本地合成消息验证码与所接收的合成消息验证码进行比较,以确定所接收的信息的完整性和/或真实性。

Description

合成消息验证码
本申请是申请日为2007年10月25日,题为“合成消息验证码”,申请号为200780039719.4的专利申请的分案申请。
根据美国法典第35编第119条要求优先权
本申请要求享有于2006年10月27日提交的、名称为“合成消息验证码”(Composed Message Authentication Code)、序号为60/863,217的美国临时专利申请的优先权,该申请已转让给本申请的受让人,故明确地以引用方式并入本文。
技术领域
与通信有关的各种结构,具体来讲,与用于验证消息的方法有关。
背景技术
消息验证码(MAC)是附随在或内嵌在传输消息中的短信息,并且是许多通信协议的公共特征。MAC的目的是:通过允许检验者(其还拥有密钥)检测消息和/或MAC的任何变化,从而保护消息的完整性及其真实性。典型的MAC算法接受密钥和任意长度的消息作为输入,并且计算结果MAC。当接收到消息时,接收机计算该消息的MAC,并且对照所传送的MAC来检查该消息的MAC。如果这两个MAC匹配,则处理该消息,否则,(通常)丢弃该消息。
当传输消息时,可将其拆分成多个传输单元(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)如果本地合成消息验证码和所接收的合成消息验证码相同,则可将传输单元提供给其它设备;和/或(6)如果本地合成消息验证码和所接收的合成消息验证码不同,则丢弃传输单元。
提供了一种接收机设备,包括:(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)A 204、B 206直到N 208。对于每个TU,获取子消息验证码(SMAC)。SMAC可以是基于其关联TU中的数据或消息而计算出的值。例如,可根据TU A 204中的信息计算SMACA
在一个实现中,可基于特定消息的所有SMAC来获取CMAC。例如,可基于TU A 204、B 206到N 208的SMAC(即,SMACA、SMACB到SMACN)来获取值CMACA…N。可将CMACA…N发送到接收机,其使用该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)=F(SMAC(TU0),SMAC(TU1),…SMAC(TUN-1)),
其中,F是将多个固定长度的输入(例如,SMAC)合成为单个固定长度的输出(例如,CMAC)的函数。函数F的一个实现可以是计算所有该函数的输入(SMAC)的异或。另一实现提供了函数F,其以所期望的输出长度(CMAC)为模对所有的输入(SMAC)求和。另一实现提供了函数,其对以输入(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传递到接收机设备的其它部件。否则,如果本地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)来计算或获取本地合成消息验证码(CMACLocal)(710)。将本地合成消息验证码(CMACLocal)与所接收的、传输单元的合成消息验证码(CMACReceived)进行比较,以确定其关联消息的完整性和/或真实性(712)。如果本地消息验证码与所接收的消息验证码不同,则丢弃该消息(714)。
图8是示出如何将消息从根据一个实施例的发送机设备传输到接收机设备的网络视图的框图。发送机设备802将消息划分或分割成多个传输单元TU0、TU1、TU2、TU3、TU4、TUN-1(其中N为整数),并且通过网络806(例如,因特网或无线通信网络)将它们传输到接收机设备804。在传输之前,发送机设备802计算每个TU的SMAC,并且基于所述SMAC计算消息的CMAC。将CMAC附加到一个TU上。发送机设备802可以有序地或无序地发送TU。然而,当通过网络806时,TU可能采取不同的传输路径并且无序地到达。例如,一些TU会被路由器808或其它网络设备延迟,使得这些TU落后于后发送的TU而到达。
接收机设备802可能无序地接收TU(TU3、TU0、TU2、TU1、TUN-1、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中所描述的方法、特征或步骤。
技术人员还将意识到,结合本文所公开的实例和结构而描述的各种说明性的逻辑框图、模块、电路和算法步骤可以实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种互换性,上面已经一般性地对各种说明性部件、框图、模块、电路和步骤进行了功能性描述。将这种功能实现为硬件还是软件取决于特定的应用和施加于整个***的设计约束。
应当注意到,前述的实施例和结构仅仅是示例性的,并且不应当解释为限制本发明。对于实施例和结构的描述旨在说明,并非限制权利要求的范围。同样地,可以容易地将本技术应用到其它类型的装置中,并且对本领域技术人员而言,多种替代、更改和变形是显而易见的。

Claims (26)

1.一种在发送机设备上操作的方法,用于执行消息的完整性检验和验证,所述方法包括:
将所述消息分割为多个传输单元;
获取所述多个传输单元中的每一个传输单元的子消息验证码;
基于所述多个传输单元的子消息验证码,获取整个消息的合成消息验证码;
将所述多个传输单元中的每一个传输单元的子消息验证码附加到该相应的传输单元上;
独立地发送所述多个传输单元中的每一个传输单元,其中,所独立地发送的多个传输单元中的每一个传输单元具有附加于其上的用于该相应的传输单元的子消息验证码;以及
与所述多个传输单元中的每一个传输单元相独立地发送用于所述整个消息的所述合成消息验证码。
2.根据权利要求1所述的方法,其中,所述合成消息验证码是所述多个传输单元的子消息验证码的函数。
3.根据权利要求1所述的方法,其中,通过对所述子消息验证码执行异或运算来导出所述合成消息验证码。
4.根据权利要求1所述的方法,其中,根据用于将多个固定长度的输入合成为单个固定长度的输出的函数,获取所述合成消息验证码。
5.根据权利要求1所述的方法,其中,根据用于将所述子消息验证码加在一起的函数,获取所述合成消息验证码。
6.根据权利要求1所述的方法,其中,根据用于计算以所述子消息验证码作为系数的多项式的函数,获取所述合成消息验证码。
7.根据权利要求1所述的方法,其中,所述传输单元具有不同的长度。
8.根据权利要求1所述的方法,其中,所述子消息验证码是基于对应的传输单元的内容的。
9.一种传输设备,包括:
发射机电路,其被配置为:
将消息分割为多个传输单元;
获取所述多个传输单元中的每一个传输单元的子消息验证码;
基于所述多个传输单元的子消息验证码,获取整个消息的合成消息验证码;
将所述多个传输单元中的每一个传输单元的子消息验证码附加到该相应的传输单元上;
独立地发送所述多个传输单元中的每一个传输单元,其中,所独立地发送的多个传输单元中的每一个传输单元具有附加于其上的用于该相应的传输单元的子消息验证码;以及
与所述多个传输单元中的每一个传输单元相独立地发送用于所述整个消息的所述合成消息验证码。
10.根据权利要求9所述的设备,其中,所述发射机包括将多个固定长度的输入合成为单个固定长度的输出的功能。
11.根据权利要求9所述的设备,其中,所述子消息验证码是基于对应的传输单元的内容的。
12.一种传输设备,包括:
用于将消息分割为多个传输单元的模块;
用于获取所述多个传输单元中的每一个传输单元的子消息验证码的模块;
用于基于所述多个传输单元的子消息验证码来获取整个消息的合成消息验证码的模块;
用于将所述多个传输单元中的每一个传输单元的子消息验证码附加到该相应的传输单元上的模块;
用于独立地发送所述多个传输单元中的每一个传输单元的模块,其中,所独立地发送的多个传输单元中的每一个传输单元具有附加于其上的用于该相应的传输单元的子消息验证码;以及
用于与所述多个传输单元中的每一个传输单元相独立地发送用于所述整个消息的所述合成消息验证码的模块。
13.一种处理设备,包括:
输入接口,用于接收未处理的消息;
处理电路,其被配置为:
将所接收的、未处理的消息分割为多个传输单元;
获取所述多个传输单元中的每一个传输单元的子消息验证码;
基于所述多个传输单元的子消息验证码,获取整个消息的合成消息验证码;
将所述多个传输单元中的每一个传输单元的子消息验证码附加到该相应的传输单元上;
独立地发送所述多个传输单元中的每一个传输单元,其中,所独立地发送的多个传输单元中的每一个传输单元具有附加于其上的用于该相应的传输单元的子消息验证码;以及
与所述多个传输单元中的每一个传输单元相独立地发送用于所述整个消息的所述合成消息验证码。
14.根据权利要求13所述的设备,其中,所述发射机包括将多个固定长度的输入合成为单个固定长度的输出的功能。
15.一种在接收设备上操作的方法,用于对所接收的消息进行完整性检验和验证,所述方法包括:
获取与所述消息相对应的多个独立的传输单元,其中,所述多个独立的传输单元中的每一个传输单元具有附加到其上的子消息验证码;
与所述多个传输单元中的每一个传输单元相独立地获取用于整个所述消息的合成消息验证码;
计算每个传输单元的本地子消息验证码;
基于所述多个独立的传输单元的本地子消息验证码,计算本地合成消息验证码;
将所述本地子消息验证码与附加到所述多个独立的传输单元上的子消息验证码进行比较,以确定相关联传输单元的完整性和/或真实性;以及
将所述本地合成消息验证码与所述多个独立的传输单元中的所述一个传输单元上附加的所述合成消息验证码进行比较,以确定整个所述消息的完整性和/或真实性。
16.根据权利要求15所述的方法,其中,当传输单元到达时,计算该传输单元的本地子消息验证码。
17.根据权利要求15所述的方法,其中,所述传输单元无序地到达。
18.根据权利要求15所述的方法,还包括:
在获取所述传输单元时,对所述传输单元进行缓冲。
19.根据权利要求15所述的方法,还包括:
如果所述本地合成消息验证码和所接收的合成消息验证码相同,则将所述传输单元提供给其它设备。
20.根据权利要求15所述的方法,还包括:
如果所述本地合成消息验证码和所接收的合成消息验证码不同,则丢弃所述传输单元。
21.一种接收设备,包括:
接收机电路,其被配置为:
获取与消息相对应的多个独立的传输单元,其中,所述多个独立的传输单元中的每一个传输单元具有附加到其上的子消息验证码;
与所述多个传输单元中的每一个传输单元相独立地获取用于整个所述消息的合成消息验证码;
计算每个传输单元的本地子消息验证码;
基于所述多个独立的传输单元的本地子消息验证码,计算合成消息验证码;
将所述本地子消息验证码与附加到所述多个独立的传输单元上的子消息验证码进行比较,以确定相关联传输单元的完整性和/或真实性;以及
将所述本地合成消息验证码与所述多个独立的传输单元中的所述一个传输单元上附加的所述合成消息验证码进行比较,以确定整个所述消息的完整性和/或真实性。
22.根据权利要求21所述的设备,其中,所述接收机还被配置为:
如果所述本地合成消息验证码和所接收的合成消息验证码相同,则将所述传输单元提供给其它设备;以及
如果所述本地合成消息验证码和所接收的合成消息验证码不同,则丢弃所述传输单元。
23.一种接收机设备,包括:
用于获取与消息相对应的多个独立的传输单元的模块,其中,所述多个独立的传输单元中的每一个传输单元具有附加到其上的子消息验证码;
用于与所述多个传输单元中的每一个传输单元相独立地获取用于整个所述消息的合成消息验证码的模块;
用于计算每个传输单元的本地子消息验证码的模块;
用于基于所述多个独立的传输单元的本地子消息验证码来计算合成消息验证码的模块;
用于将所述本地子消息验证码与附加到所述多个独立的传输单元上的子消息验证码进行比较,以确定相关联传输单元的完整性和/或真实性的模块;以及
用于将所述本地合成消息验证码与所述多个独立的传输单元中的所述一个传输单元上附加的所述合成消息验证码进行比较,以确定整个所述消息的完整性和/或真实性的模块。
24.根据权利要求23所述的接收机设备,还包括:
用于如果所述本地合成消息验证码和所接收的合成消息验证码相同,则将所述传输单元提供给其它设备的模块;以及
用于如果所述本地合成消息验证码和所接收的合成消息验证码不同,则丢弃所述消息的模块。
25.一种处理设备,包括:
输入接口,用于接收与消息相对应的多个独立的传输单元,其中,所述多个独立的传输单元中的每个传输单元具有附加到其上的子消息验证码,并且用于与所述多个传输单元中的每一个传输单元相独立地接收用于整个所述消息的合成消息验证码;和
处理电路,其被配置为:
计算每个传输单元的本地子消息验证码;
基于所述多个独立的传输单元的本地子消息验证码,计算合成消息验证码;
将所述本地子消息验证码与附加到所述多个独立的传输单元上的子消息验证码进行比较,以确定相关联传输单元的完整性和/或真实性;以及
将所述本地合成消息验证码与所述多个独立的传输单元中的所述一个传输单元上附加的所述合成消息验证码进行比较,以确定整个所述消息的完整性和/或真实性。
26.根据权利要求25所述的处理设备,其中,所述处理电路还被配置为:
如果所述本地合成消息验证码和所接收的合成消息验证码相同,则将所述传输单元提供给其它设备;以及
如果所述本地合成消息验证码和所接收的合成消息验证码不同,则丢弃所述传输单元。
CN201510441700.9A 2006-10-27 2007-10-25 合成消息验证码 Pending CN104955050A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86321706P 2006-10-27 2006-10-27
US60/863,217 2006-10-27
US11/681,117 2007-03-01
US11/681,117 US8949600B2 (en) 2006-10-27 2007-03-01 Composed message authentication code
CNA2007800397194A CN101529937A (zh) 2006-10-27 2007-10-25 合成消息验证码

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800397194A Division CN101529937A (zh) 2006-10-27 2007-10-25 合成消息验证码

Publications (1)

Publication Number Publication Date
CN104955050A true CN104955050A (zh) 2015-09-30

Family

ID=39325441

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2007800397194A Pending CN101529937A (zh) 2006-10-27 2007-10-25 合成消息验证码
CN201510441700.9A Pending CN104955050A (zh) 2006-10-27 2007-10-25 合成消息验证码

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA2007800397194A Pending CN101529937A (zh) 2006-10-27 2007-10-25 合成消息验证码

Country Status (9)

Country Link
US (1) US8949600B2 (zh)
EP (1) EP2087766B1 (zh)
JP (1) JP2010508719A (zh)
KR (1) KR101212103B1 (zh)
CN (2) CN101529937A (zh)
AT (1) ATE505041T1 (zh)
DE (1) DE602007013795D1 (zh)
TW (1) TW200838255A (zh)
WO (1) WO2008052137A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632218A (zh) * 2017-03-21 2018-10-09 罗伯特·博世有限公司 用于消息安全的方法和装置
CN110166250A (zh) * 2019-05-16 2019-08-23 四川长虹电器股份有限公司 一种防暴力破解的验证码交互方法
WO2022068633A1 (zh) * 2020-09-30 2022-04-07 华为技术有限公司 一种切片帧的发送方法及装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404847B (zh) * 2008-09-11 2014-09-24 电信科学技术研究院 寻呼状态下数据传输的方法、***及装置
DE102010042539B4 (de) * 2010-10-15 2013-03-14 Infineon Technologies Ag Datensender mit einer sicheren, aber effizienten Signatur
JP5286380B2 (ja) * 2011-03-07 2013-09-11 株式会社東芝 データ送信装置および送信方法
JP5612006B2 (ja) 2012-03-13 2014-10-22 株式会社東芝 データ送信装置、データ受信装置、及びプログラム
US9535658B2 (en) * 2012-09-28 2017-01-03 Alcatel Lucent Secure private database querying system with content hiding bloom filters
CN103456050B (zh) * 2013-07-22 2015-09-23 金硕澳门离岸商业服务有限公司 电子确认方法和***
US9509665B2 (en) * 2014-08-11 2016-11-29 Alcatel Lucent Protecting against malicious modification in cryptographic operations
KR101596753B1 (ko) * 2014-10-02 2016-02-23 현대자동차주식회사 메시지 인증 코드 분할을 통한 순차적 can 패킷 인증 방법 및 그 장치
KR101572935B1 (ko) * 2014-10-02 2015-12-11 현대자동차주식회사 메시지 인증 코드 혼합을 통한 can 패킷 인증 방법 및 그 장치
CN107113180B (zh) 2015-01-19 2020-01-17 三菱电机株式会社 分组发送装置、分组接收装置以及存储介质
US10140458B2 (en) * 2016-04-07 2018-11-27 Intel Corporation Parallelized authentication encoding
JP2019527509A (ja) * 2016-07-18 2019-09-26 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 暗号化のセキュリティおよび完全性保護
US10630661B2 (en) * 2017-02-03 2020-04-21 Qualcomm Incorporated Techniques for securely communicating a data packet via at least one relay user equipment
US10608822B2 (en) * 2017-04-26 2020-03-31 Nxp B.V. Efficient calculation of message authentication codes for related data
JP6949416B2 (ja) * 2017-07-13 2021-10-13 株式会社デンソー 電子制御装置、プログラム改ざん検知方法
US10812479B2 (en) 2018-12-05 2020-10-20 Fiserv, Inc. Authenticating a user via multiple biometric inputs
DE102018221954A1 (de) * 2018-12-17 2020-06-18 Robert Bosch Gmbh Recheneinrichtung und Verfahren zum Betreiben einer Recheneinrichtung
US11139981B2 (en) * 2019-03-29 2021-10-05 Intel Corporation Message authentication code (MAC) based compression and decompression

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998047264A1 (de) * 1997-04-14 1998-10-22 Siemens Aktiengesellschaft Verfahren und anordnung zur bildung und überprüfung einer prüfsumme für digitale daten, die in mehrere datensegmente gruppiert sind
CN1363077A (zh) * 2000-01-21 2002-08-07 索尼公司 数据处理设备和数据处理方法
CN1749987A (zh) * 2004-09-14 2006-03-22 安捷伦科技有限公司 用于管理及预测自动分类器性能的方法和装置
CN1750020A (zh) * 2004-09-14 2006-03-22 安捷伦科技有限公司 用于管理及预测自动分类器性能的方法和装置
US7043677B1 (en) * 2001-07-19 2006-05-09 Webex Communications, Inc. Apparatus and method for separating corrupted data from non-corrupted data within a packet
WO2006086554A2 (en) * 2005-02-09 2006-08-17 Sinett Corporation Methods and systems for incremental crypto processing of fragmented packets

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844918A (en) * 1995-11-28 1998-12-01 Sanyo Electric Co., Ltd. Digital transmission/receiving method, digital communications method, and data receiving apparatus
JPH09312642A (ja) 1996-05-20 1997-12-02 Fujitsu Ltd データ通信方式
JPH1079732A (ja) 1996-09-03 1998-03-24 Iryo Joho Syst Kaihatsu Center ネットワークセキュリティシステムおよびネットワークセキュリティ方法
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
AU2583099A (en) 1998-02-04 1999-08-23 Sun Microsystems, Inc. Method and apparatus for efficient authentication and integrity checking using hierarchical hashing
JP3948595B2 (ja) 2000-03-06 2007-07-25 Kddi株式会社 メッセージ認証装置
US6963976B1 (en) * 2000-11-03 2005-11-08 International Business Machines Corporation Symmetric key authenticated encryption schemes
GB0103416D0 (en) * 2001-02-12 2001-03-28 Nokia Networks Oy Message authentication
JP4193380B2 (ja) 2001-07-05 2008-12-10 Kddi株式会社 ストリーム転送における電子署名システム
US7032224B2 (en) * 2001-12-31 2006-04-18 Slam Dunk Networks, Inc. Method for the secure and timely delivery of large messages over a distributed communication network
US7523306B2 (en) 2003-01-16 2009-04-21 Texas Instruments Incorporated Simplified CCMP mode for a wireless local area network
JP2004260639A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ埋め込み方法及び視聴確認方法
JP4346962B2 (ja) 2003-06-05 2009-10-21 日本電気株式会社 暗号化通信制御装置
JP2005012466A (ja) 2003-06-18 2005-01-13 Denso Corp メッセージ認証方法及びメッセージ認証システム
US7558954B2 (en) * 2003-10-31 2009-07-07 Hewlett-Packard Development Company, L.P. Method and apparatus for ensuring the integrity of data
US7586948B2 (en) * 2003-12-24 2009-09-08 Agere Systems Inc. Packet sub-frame structure for selective acknowledgment
US7965674B2 (en) * 2004-05-05 2011-06-21 New Jersey Institute Of Technology Sub-segment based transport layer protocol for wireless medium
JP2006039206A (ja) 2004-07-27 2006-02-09 Canon Inc 暗号化装置および復号化装置
JP2006134013A (ja) 2004-11-05 2006-05-25 Me Tec:Kk 医療デジタルデーターの固有化フォーマット

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998047264A1 (de) * 1997-04-14 1998-10-22 Siemens Aktiengesellschaft Verfahren und anordnung zur bildung und überprüfung einer prüfsumme für digitale daten, die in mehrere datensegmente gruppiert sind
CN1363077A (zh) * 2000-01-21 2002-08-07 索尼公司 数据处理设备和数据处理方法
US7043677B1 (en) * 2001-07-19 2006-05-09 Webex Communications, Inc. Apparatus and method for separating corrupted data from non-corrupted data within a packet
CN1749987A (zh) * 2004-09-14 2006-03-22 安捷伦科技有限公司 用于管理及预测自动分类器性能的方法和装置
CN1750020A (zh) * 2004-09-14 2006-03-22 安捷伦科技有限公司 用于管理及预测自动分类器性能的方法和装置
WO2006086554A2 (en) * 2005-02-09 2006-08-17 Sinett Corporation Methods and systems for incremental crypto processing of fragmented packets

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632218A (zh) * 2017-03-21 2018-10-09 罗伯特·博世有限公司 用于消息安全的方法和装置
CN110166250A (zh) * 2019-05-16 2019-08-23 四川长虹电器股份有限公司 一种防暴力破解的验证码交互方法
WO2022068633A1 (zh) * 2020-09-30 2022-04-07 华为技术有限公司 一种切片帧的发送方法及装置

Also Published As

Publication number Publication date
EP2087766B1 (en) 2011-04-06
TW200838255A (en) 2008-09-16
WO2008052137A3 (en) 2008-07-17
US8949600B2 (en) 2015-02-03
WO2008052137A2 (en) 2008-05-02
KR101212103B1 (ko) 2012-12-13
ATE505041T1 (de) 2011-04-15
CN101529937A (zh) 2009-09-09
EP2087766A2 (en) 2009-08-12
KR20090085639A (ko) 2009-08-07
JP2010508719A (ja) 2010-03-18
DE602007013795D1 (de) 2011-05-19
US20080104397A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
CN104955050A (zh) 合成消息验证码
CN103765848A (zh) 用于媒体访问控制替换的装置和方法
CN110581812A (zh) 一种数据报文的处理方法和装置
CN107181971A (zh) 一种iptv终端的升级方法及相关设备
CN113114472A (zh) 一种基于报文哈希链的认证方法及***
CN101542962B (zh) 容许消息数据的非顺序到达的消息完整性的处理方法
CN103684684A (zh) 用于处理端到端网络连接的无线段上的分组的方法和***
US10389481B2 (en) Methods and apparatus for calculating transport block (TB) cyclic redundancy ceck (CRC) values
CN111225077B (zh) 物联网设备配网方法、装置和***
US10949645B2 (en) Method, apparatus, and storage medium for data verification
CN108303926A (zh) 一种电动车控制方法及计算设备
US11368246B2 (en) Method and device for transmitting or receiving broadcast service in multimedia service system
CN111246428A (zh) 一种网络可靠通信方法、***、装置及存储介质
CN103346961A (zh) 一种数据打包交换的方法和***
WO2010032391A1 (ja) 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム
CN107113305A (zh) 用于发送和验证签名的装置和方法
CN108055360A (zh) 网络数据发送方法、***、发送设备及存储介质
CN113078986B (zh) 一种数据传输方法及电子设备
CN113395133B (zh) 一种解速率匹配方法及装置
JP5355408B2 (ja) メッセージデータの非順次着信に対する許容度を有するメッセージ完全性のための処理方法
WO2010020264A1 (en) Method for coded data transmission and apparatus for decoding coded data
JP2007274309A (ja) 送信装置
CN105897382A (zh) 数据同步方法及装置
CN116132059A (zh) 通信方法和装置、电子设备及存储介质
CN106713422A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150930