CN103259768A - 一种消息认证方法、***和装置 - Google Patents
一种消息认证方法、***和装置 Download PDFInfo
- Publication number
- CN103259768A CN103259768A CN2012100369093A CN201210036909A CN103259768A CN 103259768 A CN103259768 A CN 103259768A CN 2012100369093 A CN2012100369093 A CN 2012100369093A CN 201210036909 A CN201210036909 A CN 201210036909A CN 103259768 A CN103259768 A CN 103259768A
- Authority
- CN
- China
- Prior art keywords
- timestamp
- time
- receiving terminal
- transmitting
- terminal
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种消息认证方法、***和装置,方法包括:发送端和接收端为每个建立的连接保存初始化的时间戳,并定期更新该时间戳,该时间戳包括发送时间戳和接收时间戳;在需要通过该连接发送数据时,发送端依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;接收端收到该消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证消息认证码的正确性。通过本发明,能够解决现有传输控制协议认证选项(TCP-AO)技术中存在的重放攻击问题。
Description
技术领域
本发明涉及通信网络中的路由安全技术,尤其涉及一种消息认证方法、***和装置。
背景技术
现有数据网络大多以互联网协议(IP,Internet Protocol)技术为基础,路由器是以IP技术为基础的网络上的核心设备,它通过运行在其上的路由协议,维护一套路由表,并根据路由表转发接收到的IP数据包。发送者发出的IP数据包经多个路由器转发后,被传输到目的地。为了维护一套路由表,不同路由器上的路由协议之间需要交互路由消息,以实现路由表信息的创建、更新、学习功能。由于路由消息在公共网络中传输,其信道由多个网络节点共享,因此攻击者可以很容易的拦截并伪造或篡改路由消息。路由器一旦接收这种错误的路由消息,将产生错误的路由表;路由协议根据错误的路由表转发IP数据包时,将无法把数据包传输到目的地。为解决这一问题,必须为路由协议提供完整性保护机制,以防止攻击者伪造或篡改路由消息。完整性保护机制的基本思路是使用密钥材料为路由消息生成消息认证码(这一过程通常使用单向函数或限门单向函数),并将消息认证码随同消息一起发送给接收者,接收者收到路由消息和认证码后,使用对应的密钥材料对消息和其认证码进行验证,只有通过验证的路由消息才是未被攻击者篡改的正确消息。由于攻击者没有密钥材料,其将无法伪造、篡改消息,并生成正确的消息认证码。这种机制使得只有拥有密钥材料的路由器生成的路由消息才能通过验证,没有密钥材料的攻击者生成的路由消息将无法通过验证,从而有效防止了攻击者伪造和篡改路由消息。
传输控制协议认证选项(TCP-AO,Transmission Control ProtocolAuthentication Option)是很多路由协议如边界网关协议(BGP,Border GatewayProtocol)、路径计算单元(PCE,Path Computation Element)、标签分发协议(LDP,Label Distribution Protocol)、组播源发现协议(MSDP,Multicast Source DiscoveryProtocol)等的完整性保护机制。它定义了一个新的TCP选项:authentication(认证)选项。路由协议将生成的消息认证码存储在该选项中,随着路由协议一起传输给对端,对端则通过验证authentication选项的正确性来判断路由协议数据是否被修改了。
TCP-AO技术采用sequence number(序列号)来防止replay(重放)攻击。TCP协议头有一个序列号(sequence number)字段,该字段长度为32bit。在建立连接时,TCP协议会随机生成一个初始序列号,之后每次收发数据序列号都会相应的增加。这样每次发送路由协议数据包时,TCP的序列号都不同。TCP-AO就是利用这种机制防止重放攻击的。然而,这种基于序列号的技术存在如下问题:
一、当sequence number在序列号取值范围中取遍所有的值时,TCP-AO协议将会重复使用之前的序列号,此时攻击者将可使用之前相同序列号的数据包对路由协议执行重放攻击;
二、当路由器之间的TCP连接断开后又重新连接时,断链前后的序列号可能有重叠部分,此时攻击者也可能实行重放攻击;
三、当路由器重启时,重启前后建立的TCP连接的序列号也可能重叠,此时攻击者也可能实行重放攻击。
也就是说,当sequence number重复出现时,攻击者可以用具有同样sequencenumber的旧的数据报文代替新的数据报文,发起重放攻击。由于报文中包含有路由协议数据,接收者将会收到一个旧的路由协议数据;而如果这个旧的路由协议数据是一个路由更新消息,则接收者将使用旧的路由更新消息来取代目前的路由信息,即路由协议将采用过时的路由信息进行路由,从而导致路由失败。由此可以看出,解决重放攻击的问题,对路由协议的安全非常关键。
目前解决此问题的一种方法是增加sequence number字段的长度,以减少sequence number字段的重叠。从理论上说,只要sequence number字段足够长,就不会有sequence number重叠的问题,也就不会出现重放攻击的安全隐患。然而,无限制的增大sequence number字段将会增加通信开销。而在实际应用中,由于sequence number不可能真正无限大,因此,理论上说,增大sequence number字段并不能从根本上解决重放攻击的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种消息认证方法、***和装置,以解决现有TCP-AO技术中存在的重放攻击问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种消息认证方法,该方法包括:
发送端和接收端为每个建立的连接保存初始化的时间戳,并定期更新所述时间戳,所述时间戳包括发送时间戳和接收时间戳;
在需要通过所述连接发送数据时,发送端依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;
接收端收到所述消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证所述消息认证码的正确性。
所述发送端和接收端为每个建立的连接保存初始化的时间戳,具体为:
所述发送端和接收端通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,所述发送端和接收端为建立的连接保存初始化的时间戳,且发送端保存的发送时间戳的取值与接收端保存的接收时间戳的取值相同,发送端保存的接收时间戳的取值与接收端保存的发送时间戳的取值相同。
所述定期更新时间戳具体为:
所述发送端和接收端的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,所述发送端和接收端交互各自的新时间戳;
交互完毕后,所述发送端和接收端更新各自保存的时间戳,且所述发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
本发明还提供了一种消息认证***,该***包括:发送端和接收端,
发送端和接收端,用于为每个建立的连接保存初始化的时间戳,并定期更新所述时间戳,所述时间戳包括发送时间戳和接收时间戳;
发送端还用于,在需要通过所述连接发送数据时,依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;
接收端还用于,在收到所述消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证所述消息认证码的正确性。
所述发送端和接收端进一步用于,通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,所述发送端和接收端为建立的连接保存初始化的时间戳,且发送端保存的发送时间戳的取值与接收端保存的接收时间戳的取值相同,发送端保存的接收时间戳的取值与接收端保存的发送时间戳的取值相同。
所述发送端和接收端的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,所述发送端和接收端交互各自的新时间戳;
交互完毕后,所述发送端和接收端更新各自保存的时间戳,且所述发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
本发明还提供了一种消息认证装置,包括:
时间戳处理模块,用于为每个建立的连接保存初始化的时间戳,并定期更新所述时间戳,所述时间戳包括发送时间戳和接收时间戳;
发送处理模块,用于在所述装置作为发送端需要通过所述连接发送数据时,依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;
接收处理模块,用于在所述装置作为接收端收到来自发送端的消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证消息认证码的正确性。
发送端的时间戳处理模块与接收端的时间戳处理模块,通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,发送端的时间戳处理模块和接收端的时间戳处理模块为建立的连接保存初始化的时间戳,且发送端的时间戳处理模块保存的发送时间戳的取值与接收端的时间戳处理模块保存的接收时间戳的取值相同,发送端的时间戳处理模块保存的接收时间戳的取值与接收端的时间戳处理模块保存的发送时间戳的取值相同。
发送端和接收端的时间戳处理模块的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,发送端和接收端的时间戳处理模块交互各自的新时间戳;
交互完毕后,发送端和接收端的时间戳处理模块更新各自保存的时间戳,且发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
本发明所提供的一种消息认证方法、***和装置,利用时间戳的不同来防止sequence number重复出现时带来的重放攻击问题;由于时间戳定期更新,因此即使sequence number相同,而由于时间戳不同,生成的消息认证码也会不同,从而可以很好的解决现有TCP-AO技术中存在的重放攻击问题。
附图说明
图1为本发明实施例的一种消息认证方法的流程图;
图2为本发明实施例中为建立的连接保存初始化的时间戳的流程图;
图3为本发明实施例中定期更新时间戳的流程图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明实施例提供的一种消息认证方法,如图1所示,主要包括:
步骤101,发送端和接收端为每个建立的连接保存初始化的时间戳,并定期更新该时间戳,该时间戳包括发送时间戳和接收时间戳。
本发明的实施例扩展TCP协议,定义了一种新的TCP-AO时间戳选项,如下表1所示:
Kind | Length | Data |
表1
其中,Kind为选项的类型定义,长度为一个字节,目前50以后的类型定义都没有定义,因此,本发明实施例定义新的TCP-AO时间戳选项内容如下:
TCP_AO_T的取值为50,用以标识该类型为TCP-AO时间戳选项;
Length为TCP-AO时间戳选项的数据段长度,本发明实施例中定义TCP-AO时间戳选项的数据段长度为10字节;
Data字段包含两个时间数据,Time1和Time2,其中,Time1为发送时间戳,Time2为接收时间戳。Time1和Time2的时间格式可以取任意不超过5字节长度的标识形式,例如,取1979年1月1日到当前的时间的秒数等等。任何时间格式的Time1和Time2都属于本发明的保护范围。
如此一来,TCP-AO时间戳选项的基本形式如下表2所示:
50 | 10 | Time1 | Time2 |
表2
本发明的实施例不重用现有的TCP时间戳选项,而是定义新的TCP-AO时间戳选项,目的是防止现有TCP协议栈在进行往返时间测量(RTTM,Round TripTime Measurement)和防止序号环绕(PAWS,Protection Against WrappedSequence number)过程时引起TCP-AO的处理流程,而导致路由协议的TCP-AO处理流程出错。本发明的实施例定义了TCP-AO时间戳选项后,TCP-AO的防重放攻击技术就会与现有的RTTM和PAWS过程完全区分开来,这样就不用再改动现有的TCP协议栈代码了,向后兼容性好。
当然,如果采用另一种方式,即修改现有的TCP时间戳选项定义,使其区分现有时间戳的用处,然后修改TCP协议栈的处理流程,使其能按照不同的方式处理TCP时间戳选项。这种方式也是可行的,但这种方式对现有TCP协议改动较大,会带来兼容性问题。本发明的实施例也涵盖这种方式。
本发明的实施例还定义了TCP-AO的时间戳数据结构,即在每个路由器上为每个TCP连接建立两个时间戳存储空间,一个是发送数据的时间戳,一个是接收数据的时间戳,如下表3所示:
源端口号 | 目的端口号 | 发送时间戳(SendT) | 接收时间戳(RecvT) |
表3
其中,源端口号和目的端口号都是16位的数字,用于标识一对TCP连接,SendT和RecvT的格式说明与表2中的Time1和Time2分别相同,分别表示发送时间戳和接收时间戳。
需要说明的是,本发明的实施例定义了TCP-AO的时间戳数据结构的格式,而实际应用中,也可以将SendT和RecvT字段合并在TCPCB数据结构中。本发明的实施例涵盖这种方式。
时间戳选项和时间戳数据结构的区别在于:时间戳选项是用来发送时间戳的,时间戳数据结构是TCP-AO用来生成消息认证码的。
步骤102,在需要通过该连接发送数据时,发送端依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端。
步骤103,接收端收到该消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证消息认证码的正确性。
上述步骤103中,发送端和接收端为每个建立的连接保存初始化的时间戳,具体可采用以下方式:
发送端和接收端通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,发送端和接收端为建立的连接保存初始化的时间戳,且发送端保存的发送时间戳的取值与接收端保存的接收时间戳的取值相同,发送端保存的接收时间戳的取值与接收端保存的发送时间戳的取值相同。
下面以TCP客户端和TCP服务器的交互为例进行说明,当TCP连接建立时,初始化本发明实施例中的时间戳数据结构的具体流程如图2所示,主要包括:
步骤201,TCP客户端向TCP服务器发送同步(SYN)包,同时发送自身的时间戳。该时间戳可以从***时钟获取。
其中,Syn=j,TCP客户端发送Syn包(Syn=j)到TCP服务器时,序列号的值j是0-232之间随机产生的一个数据;TCP客户端发送的TCP-AO-T选项(TCP-AO-T1)中的Time1为TCP客户端发送SYN包时的当前时间,Time2的值为0。TCP客户端发送完后,进入SYN_SEND状态,等待TCP服务器确认。
步骤202,TCP服务器向TCP客户端返回确认,包含以下内容:Ack=j+1,Syn=k,TCP-AO-T2,TCP-AO。其中,Ack=j+1表示TCP服务器确认TCP客户端的Syn;Syn=k表示TCP服务器自己也发送一个SYN包,其中的序列号的值k是0-232之间随机产生的一个数;TCP-AO-T2是一个TCP-AO-T选项,该选项中的Time1为TCP服务器返回确认时的当前时间,Time2的取值与步骤201中TCP-AO-T选项(TCP-AO-T1)的Time1字段的取值相同。
TCP服务器返回确认后,进入SYN_RECV状态,等待TCP客户端的确认。
步骤203,TCP客户端向TCP服务器返回确认,包含以下内容:Ack=k+1,TCP-AO-T3,TCP-AO。其中,Ack=k+1表示TCP客户端确认TCP服务器的Syn;TCP-AO-T3是一个TCP-AO-T选项,该选项中的Time1为0,Time2的取值与步骤202中TCP-AO-T选项(TCP-AO-T2)的Time1字段的取值相同。
TCP客户端返回确认后,进入ESTABLISHED状态,完成握手过程。之后双方就可以交互路由协议数据了。
TCP客户端和TCP服务器交互的时间戳,在得到确认后,将被保存到各自的数据结构(表3所示)中,TCP客户端和TCP服务器的序列号则保存在TCPCB数据结构的对应字段中。
本实施例在TCP连接建立时,初始化时间戳信息,从而为解决如下问题做准备:路由器之间的TCP连接重新建立前后、或者路由器重启前后,序列号sequence number可能重复,存在重放攻击的危险。
另外,当TCP连接很长时间时,sequence number可能重复,一旦重复则将可能带来重放攻击的隐患。因此,本申请的实施例需要定期更新时间戳,具体可以采用以下方式:发送端和接收端的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,发送端和接收端交互各自的新时间戳;交互完毕后,发送端和接收端更新各自保存的时间戳,且发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
下面以TCP客户端和TCP服务器的交互为例进行说明,定期更新时间戳的具体流程如图3所示,主要包括:
步骤301,TCP客户端向TCP服务器发送路由协议数据,同时发送自己的新时间戳。
其中,TCPHD为TCP协议头,一般包含sequence number;TCP-AO为TCP认证选项;RPD为路由协议的数据,也就是TCP协议承载的路由协议数据。TCP-AO-T4是一个TCP-AO-T选项,该选项中的Time1为TCP客户端发送时的当前时间,Time2的值为0。
步骤302,TCP服务器应答TCP客户端的新时间戳,同时发送自己的新时间戳。
其中,TCPHD为TCP协议头,一般包含sequence number;TCP-AO为TCP认证选项;RPD为路由协议的数据,也就是TCP协议承载的路由协议数据;TCP-AO-T5是一个TCP-AO-T选项,该选项中的Time1为TCP服务器应答时的当前时间,Time2的值为步骤301中TCP-AO-T选项(TCP-AO-T4)的Time1字段的值。
步骤303,TCP客户端应答TCP服务器的新时间戳。
其中,TCPHD为TCP协议头,一般包含sequence number;TCP-AO为TCP认证选项;RPD为路由协议的数据,也就是TCP协议承载的路由协议数据;TCP-AO-T6是一个TCP-AO-T选项,该选项中的Time1为0,Time2的值为步骤302中TCP-AO-T选项(TCP-AO-T5)的Time1字段的值。
需要说明的是,上述实施例中定期更新时间戳数据结构的操作是从TCP客户端发起的,当然,实际应用中也可以先从TCP服务器发起。操作的触发条件可以是定时器,在发起方设置定时器,当定时器到期时,发起方向对端发送时间戳更新的选项。定时器的时间可以由运营商自行配置调整。
TCP客户端和TCP服务器交互的时间戳,在得到确认后,将被保存到各自的数据结构(表3所示)中。更新时间戳数据结构的过程对sequence number的处理没有影响。
本实施例更新各路由器的时间戳,能有效避免以下问题:路由器之间的TCP连接保持很长时间后,sequence number重复情况,会带来重放攻击隐患。
前述实施例的主要目的是为了维护一个TCP-AO的时间戳数据结构,维护此TCP-AO的时间戳数据结构用以完成路由协议的完整性保护。
发送端在需要通过建立的连接发送数据时,其生成消息认证码的方法如下:
MAC=MAC_alg(traffic_key,message,SendT)
其中,MAC表示发送端计算所得的消息认证码,MAC_alg表示消息认证码的计算方法,traffic_key表示密钥材料,message表示TCP数据报文,SendT表示发送端保存的对应该连接的发送时间戳。
接收端验证消息认证码正确性的方法如下:
MAC=MAC_alg(traffic_key,message,RecvT)
其中,MAC表示接收端计算所得的消息认证码,MAC_alg表示消息认证码的计算方法,traffic_key表示密钥材料,message表示TCP数据报文,RecvT表示接收端保存的对应该连接的接收时间戳。经过图2和图3所示的实施例后,可以保证发送端保存的SendT与接收端保存的RecvT相同。
将接收端计算所得的消息验证码与发送端发送的消息验证码进行比较,如果两者一致,则验证正确;否则,验证错误。
由此可以看出,本发明的实施例可以很好的解决现有TCP-AO技术的以下几个问题:
一、当TCP连接重启时(包括路由器***重启和TCP连接断开后重连两种情况),sequence number可能会重叠,引起重放攻击;
二、当TCP连接时间过长时,sequence number可能会重叠,引起重放攻击。
对于第一个问题,根据本发明的实施例,由于每次重新建立TCP连接时,都会重新取当前的***时间为时间戳,而每次取得***时间是不同的,且必然会递增。因此,将时间戳加入到生成消息认证码的过程中后,就算sequencenumber重叠,由于时间戳不同,生成的消息认证码也不同。这样就可以很好的解决TCP连接重启时的重放攻击问题。
对于第二个问题,根据本发明的实施例,当TCP连接时间过长时会更新时间戳,只要在sequence number出现重叠前更新时间戳,生成的消息认证码就会不同,从而解决了TCP连接时间过长时的重放攻击问题。
另外,在本发明的实施例中,时间戳只会定期更新并通过TCP-AO时间戳选项发送,因此,本发明的实施例可以节省传输的开销。
在本发明的实施例中,TCP-AO自身设计的基于sequence number的防重放攻击机制并没有被丢弃,因此本发明的实施例是对现有TCP-AO机制的增强,而不会对现有TCP-AO机制造成太大影响。
本本发明的实施例只改变消息认证码的生成机制,而不改变增加TCP-AO时间戳选项后的TCP协议交互流程,因此添加本实施例的功能后,TCP协议在使用TCP-AO选项时的做法与现有标准没有区别。
本发明的实施例使得消息认证码的值不仅由sequence number和路由协议信息决定,还由时间戳决定,从而防止了sequence number重复时的重放攻击问题。综上所述,本发明的实施例可以解决现有技术存在的问题,使得Internet安全关联和密钥管理协议(ISAKMP,Internet Security Association and KeyManagement Protocol)可以借助EAP(身份验证)协议和diameter协议进行多种方式的认证过程,以满足不同拓扑结构的路由器网络进行密钥管理的需要。
另外,对应本发明实施例的消息认证方法,本发明的实施例还提供了一种消息认证***,包括:发送端和接收端。
发送端和接收端,用于为每个建立的连接保存初始化的时间戳,并定期更新所述时间戳,所述时间戳包括发送时间戳和接收时间戳;
发送端还用于,在需要通过该连接发送数据时,依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;
接收端还用于,在收到该消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证消息认证码的正确性。
较佳的,发送端和接收端可进一步用于,通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,发送端和接收端为建立的连接保存初始化的时间戳,且发送端保存的发送时间戳的取值与接收端保存的接收时间戳的取值相同,发送端保存的接收时间戳的取值与接收端保存的发送时间戳的取值相同。
较佳的,发送端和接收端的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,发送端和接收端交互各自的新时间戳;
交互完毕后,发送端和接收端更新各自保存的时间戳,且发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
本发明的实施例还提供了一种消息认证装置,具备发送端和接收端的功能,该装置包括:时间戳处理模块、发送处理模块和接收处理模块。
其中,时间戳处理模块,用于为每个建立的连接保存初始化的时间戳,并定期更新所述时间戳,所述时间戳包括发送时间戳和接收时间戳;
发送处理模块,用于在所述装置作为发送端需要通过连接发送数据时,依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;
接收处理模块,用于在所述装置作为接收端收到来自发送端的消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证消息认证码的正确性。
较佳的,发送端的时间戳处理模块与接收端的时间戳处理模块,通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,发送端的时间戳处理模块和接收端的时间戳处理模块为建立的连接保存初始化的时间戳,且发送端的时间戳处理模块保存的发送时间戳的取值与接收端的时间戳处理模块保存的接收时间戳的取值相同,发送端的时间戳处理模块保存的接收时间戳的取值与接收端的时间戳处理模块保存的发送时间戳的取值相同。
较佳的,发送端和接收端的时间戳处理模块的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,发送端和接收端的时间戳处理模块交互各自的新时间戳;
交互完毕后,发送端和接收端的时间戳处理模块更新各自保存的时间戳,且发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (9)
1.一种消息认证方法,其特征在于,该方法包括:
发送端和接收端为每个建立的连接保存初始化的时间戳,并定期更新所述时间戳,所述时间戳包括发送时间戳和接收时间戳;
在需要通过所述连接发送数据时,发送端依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;
接收端收到所述消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证所述消息认证码的正确性。
2.根据权利要求1所述消息认证方法,其特征在于,所述发送端和接收端为每个建立的连接保存初始化的时间戳,具体为:
所述发送端和接收端通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,所述发送端和接收端为建立的连接保存初始化的时间戳,且发送端保存的发送时间戳的取值与接收端保存的接收时间戳的取值相同,发送端保存的接收时间戳的取值与接收端保存的发送时间戳的取值相同。
3.根据权利要求2所述消息认证方法,其特征在于,所述定期更新时间戳具体为:
所述发送端和接收端的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,所述发送端和接收端交互各自的新时间戳;
交互完毕后,所述发送端和接收端更新各自保存的时间戳,且所述发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
4.一种消息认证***,其特征在于,该***包括:发送端和接收端,
发送端和接收端,用于为每个建立的连接保存初始化的时间戳,并定期更新所述时间戳,所述时间戳包括发送时间戳和接收时间戳;
发送端还用于,在需要通过所述连接发送数据时,依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;
接收端还用于,在收到所述消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证所述消息认证码的正确性。
5.根据权利要求4所述消息认证***,其特征在于,所述发送端和接收端进一步用于,通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,所述发送端和接收端为建立的连接保存初始化的时间戳,且发送端保存的发送时间戳的取值与接收端保存的接收时间戳的取值相同,发送端保存的接收时间戳的取值与接收端保存的发送时间戳的取值相同。
6.根据权利要求5所述消息认证***,其特征在于,所述发送端和接收端的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,所述发送端和接收端交互各自的新时间戳;
交互完毕后,所述发送端和接收端更新各自保存的时间戳,且所述发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
7.一种消息认证装置,其特征在于,包括:
时间戳处理模块,用于为每个建立的连接保存初始化的时间戳,并定期更新所述时间戳,所述时间戳包括发送时间戳和接收时间戳;
发送处理模块,用于在所述装置作为发送端需要通过所述连接发送数据时,依据待发送的数据报文、保存的发送时间戳和密钥材料,生成消息认证码,并将生成的消息认证码随同发送数据的消息一起发送给接收端;
接收处理模块,用于在所述装置作为接收端收到来自发送端的消息时,依据保存的接收时间戳、密钥材料和消息中的数据报文,认证消息认证码的正确性。
8.根据权利要求7所述消息认证装置,其特征在于,发送端的时间戳处理模块与接收端的时间戳处理模块,通过三次握手协议的流程建立连接,并交互各自的时间戳;
交互完毕后,发送端的时间戳处理模块和接收端的时间戳处理模块为建立的连接保存初始化的时间戳,且发送端的时间戳处理模块保存的发送时间戳的取值与接收端的时间戳处理模块保存的接收时间戳的取值相同,发送端的时间戳处理模块保存的接收时间戳的取值与接收端的时间戳处理模块保存的发送时间戳的取值相同。
9.根据权利要求8所述消息认证装置,其特征在于,发送端和接收端的时间戳处理模块的其中一方在设置的定时器到期时,发起时间戳的更新过程,在更新过程中,发送端和接收端的时间戳处理模块交互各自的新时间戳;
交互完毕后,发送端和接收端的时间戳处理模块更新各自保存的时间戳,且发送端的新的发送时间戳的取值与接收端的新的接收时间戳的取值相同,发送端的新的接收时间戳的取值与接收端的新的发送时间戳的取值相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210036909.3A CN103259768B (zh) | 2012-02-17 | 2012-02-17 | 一种消息认证方法、***和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210036909.3A CN103259768B (zh) | 2012-02-17 | 2012-02-17 | 一种消息认证方法、***和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103259768A true CN103259768A (zh) | 2013-08-21 |
CN103259768B CN103259768B (zh) | 2018-06-19 |
Family
ID=48963471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210036909.3A Active CN103259768B (zh) | 2012-02-17 | 2012-02-17 | 一种消息认证方法、***和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103259768B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103974455A (zh) * | 2014-01-26 | 2014-08-06 | 杭州古北电子科技有限公司 | 快速安全的wifi网络连接方法 |
CN104978144A (zh) * | 2015-06-26 | 2015-10-14 | 中国工商银行股份有限公司 | 手势密码输入设备和***,及基于该***进行交易的方法 |
CN105207846A (zh) * | 2015-09-17 | 2015-12-30 | 新浪网技术(中国)有限公司 | 一种tcp协议栈延时的统计方法、装置及*** |
CN105594183A (zh) * | 2013-10-04 | 2016-05-18 | 高通股份有限公司 | 用于无线通信中的单独安全性实现的装置和方法 |
CN107395312A (zh) * | 2017-09-19 | 2017-11-24 | 电信科学技术第五研究所有限公司 | 一种安全网络时间同步方法及装置 |
CN107454042A (zh) * | 2016-05-31 | 2017-12-08 | 中兴通讯股份有限公司 | 报文发送、接收方法及装置 |
CN108390825A (zh) * | 2018-01-04 | 2018-08-10 | 中国人民武装警察部队工程大学 | 基于分层pce的多域光网络安全光树建立方法及*** |
CN109714172A (zh) * | 2019-01-17 | 2019-05-03 | 重庆邮电大学 | 一种高效抗重放攻击的安全自启动方案 |
CN110719259A (zh) * | 2019-09-12 | 2020-01-21 | 视联动力信息技术股份有限公司 | 一种数据处理方法及视联网*** |
CN111614601A (zh) * | 2019-02-25 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种信息传输的实现方法、装置和*** |
CN113301432A (zh) * | 2021-05-14 | 2021-08-24 | 海信视像科技股份有限公司 | 显示设备、终端设备及通信连接方法 |
CN114422616A (zh) * | 2022-01-29 | 2022-04-29 | 杭州迪普科技股份有限公司 | 数据通讯方法、客户端、服务器及*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767429A (zh) * | 2004-10-29 | 2006-05-03 | 大唐移动通信设备有限公司 | 移动通信用户认证与密钥协商方法 |
CN1780468A (zh) * | 2004-11-19 | 2006-05-31 | 华为技术有限公司 | 空闲模式下防止消息重放攻击的方法 |
CN1889434A (zh) * | 2006-07-21 | 2007-01-03 | 胡祥义 | 一种安全高效网络用户身份鉴别的方法 |
CN1972237A (zh) * | 2006-12-06 | 2007-05-30 | 胡祥义 | 基于动态加密算法的vpn*** |
CN1980124A (zh) * | 2005-12-05 | 2007-06-13 | 刘任 | 使用一次性变量的密钥数字认证方法 |
US20080037420A1 (en) * | 2003-10-08 | 2008-02-14 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san |
CN101136750A (zh) * | 2007-10-15 | 2008-03-05 | 胡祥义 | 一种网络实名制的实现方法 |
CN101282222A (zh) * | 2008-05-28 | 2008-10-08 | 胡祥义 | 基于csk的数字签名方法 |
CN101217429B (zh) * | 2008-01-18 | 2010-09-29 | 清华大学 | 基于tcp时间戳选项确定tcp报文之间的引发关系的方法 |
-
2012
- 2012-02-17 CN CN201210036909.3A patent/CN103259768B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037420A1 (en) * | 2003-10-08 | 2008-02-14 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san |
CN1767429A (zh) * | 2004-10-29 | 2006-05-03 | 大唐移动通信设备有限公司 | 移动通信用户认证与密钥协商方法 |
CN1780468A (zh) * | 2004-11-19 | 2006-05-31 | 华为技术有限公司 | 空闲模式下防止消息重放攻击的方法 |
CN1980124A (zh) * | 2005-12-05 | 2007-06-13 | 刘任 | 使用一次性变量的密钥数字认证方法 |
CN1889434A (zh) * | 2006-07-21 | 2007-01-03 | 胡祥义 | 一种安全高效网络用户身份鉴别的方法 |
CN1972237A (zh) * | 2006-12-06 | 2007-05-30 | 胡祥义 | 基于动态加密算法的vpn*** |
CN101136750A (zh) * | 2007-10-15 | 2008-03-05 | 胡祥义 | 一种网络实名制的实现方法 |
CN101217429B (zh) * | 2008-01-18 | 2010-09-29 | 清华大学 | 基于tcp时间戳选项确定tcp报文之间的引发关系的方法 |
CN101282222A (zh) * | 2008-05-28 | 2008-10-08 | 胡祥义 | 基于csk的数字签名方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105594183B (zh) * | 2013-10-04 | 2018-12-18 | 高通股份有限公司 | 用于无线通信中的单独安全性实现的装置和方法 |
CN105594183A (zh) * | 2013-10-04 | 2016-05-18 | 高通股份有限公司 | 用于无线通信中的单独安全性实现的装置和方法 |
CN103974455A (zh) * | 2014-01-26 | 2014-08-06 | 杭州古北电子科技有限公司 | 快速安全的wifi网络连接方法 |
CN103974455B (zh) * | 2014-01-26 | 2019-03-05 | 杭州古北电子科技有限公司 | 快速安全的wifi网络连接方法 |
CN104978144A (zh) * | 2015-06-26 | 2015-10-14 | 中国工商银行股份有限公司 | 手势密码输入设备和***,及基于该***进行交易的方法 |
CN105207846A (zh) * | 2015-09-17 | 2015-12-30 | 新浪网技术(中国)有限公司 | 一种tcp协议栈延时的统计方法、装置及*** |
CN105207846B (zh) * | 2015-09-17 | 2018-11-27 | 新浪网技术(中国)有限公司 | 一种tcp协议栈延时的统计方法、装置及*** |
CN107454042A (zh) * | 2016-05-31 | 2017-12-08 | 中兴通讯股份有限公司 | 报文发送、接收方法及装置 |
CN107395312A (zh) * | 2017-09-19 | 2017-11-24 | 电信科学技术第五研究所有限公司 | 一种安全网络时间同步方法及装置 |
CN107395312B (zh) * | 2017-09-19 | 2019-03-19 | 电信科学技术第五研究所有限公司 | 一种安全网络时间同步方法及装置 |
CN108390825A (zh) * | 2018-01-04 | 2018-08-10 | 中国人民武装警察部队工程大学 | 基于分层pce的多域光网络安全光树建立方法及*** |
CN109714172A (zh) * | 2019-01-17 | 2019-05-03 | 重庆邮电大学 | 一种高效抗重放攻击的安全自启动方案 |
CN111614601A (zh) * | 2019-02-25 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种信息传输的实现方法、装置和*** |
CN111614601B (zh) * | 2019-02-25 | 2022-07-12 | 阿里巴巴集团控股有限公司 | 一种信息传输的实现方法、装置和*** |
CN110719259A (zh) * | 2019-09-12 | 2020-01-21 | 视联动力信息技术股份有限公司 | 一种数据处理方法及视联网*** |
CN113301432A (zh) * | 2021-05-14 | 2021-08-24 | 海信视像科技股份有限公司 | 显示设备、终端设备及通信连接方法 |
CN114422616A (zh) * | 2022-01-29 | 2022-04-29 | 杭州迪普科技股份有限公司 | 数据通讯方法、客户端、服务器及*** |
Also Published As
Publication number | Publication date |
---|---|
CN103259768B (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103259768A (zh) | 一种消息认证方法、***和装置 | |
CN107395312B (zh) | 一种安全网络时间同步方法及装置 | |
EP2720438B1 (en) | Method and system for negotiation based on IKE messages | |
CN102812671B (zh) | 用于进行diameter消息处理器间路由的方法、***和计算机可读介质 | |
US10897710B2 (en) | Disjoint security in wireless networks with multiple managers or access points | |
CN101577725B (zh) | 一种防重放机制中的信息同步方法、装置和*** | |
EP2866395B1 (en) | Maximum transmission unit negotiation method and data terminal | |
CN103475655A (zh) | 一种实现IPSecVPN主备链路动态切换的方法 | |
CN103166849A (zh) | IPSec VPN互联组网路由收敛的方法及路由设备 | |
CN103095563A (zh) | 一种报文处理方法及*** | |
CN102045714A (zh) | 提供3gpp网络与无线局域网互通安全的方法和装置 | |
CN105227309A (zh) | 用于物联网终端与云端通讯的加密方法 | |
US9419891B2 (en) | Virtual private network communication system, routing device and method thereof | |
US10630479B2 (en) | Network communication method having function of recovering terminal session | |
CN102469063B (zh) | 路由协议安全联盟管理方法、装置及*** | |
CN102202108A (zh) | 实现ipsec在ah模式下nat穿越的方法、设备及*** | |
CN103401751A (zh) | 因特网安全协议隧道建立方法和装置 | |
CN101895522A (zh) | 主机标识标签获取方法及*** | |
CN104135358B (zh) | 基于非对称数字签名的配电终端sntp对时方法 | |
US8792519B2 (en) | Method for transferring network event protocol messages | |
WO2011134293A1 (zh) | 一种局域网节点间安全连接建立方法及*** | |
CN101841547A (zh) | 一种端到端共享密钥的建立方法及*** | |
CN102668504B (zh) | 具有改善转换的速度和质量的密钥分配功能的方法和设备 | |
CN108270613B (zh) | 发送消息方法及网络设备 | |
CN103944795A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |