CN101521654A - 一种消息保护方法、发送端设备和接收端设备 - Google Patents
一种消息保护方法、发送端设备和接收端设备 Download PDFInfo
- Publication number
- CN101521654A CN101521654A CN200810006469A CN200810006469A CN101521654A CN 101521654 A CN101521654 A CN 101521654A CN 200810006469 A CN200810006469 A CN 200810006469A CN 200810006469 A CN200810006469 A CN 200810006469A CN 101521654 A CN101521654 A CN 101521654A
- Authority
- CN
- China
- Prior art keywords
- message
- mac
- data
- receiving device
- verification
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种消息保护方法、发送端设备和接收端设备,其中,方法包括:发送端设备和接收端设备之间的认证成功后,发送端设备按照预设的策略对要发送的数据消息进行选择,利用发送端设备与接收端设备之间的共享秘密信息针对选择出的数据消息生成消息校验码(MAC),并将生成的MAC携带在选择的数据消息中发送给接收端设备;接收端设备利用所述共享秘密信息对接收到的MAC进行校验,如果校验失败,则丢弃该校验失败的MAC对应的数据消息。以此对认证成功后的数据消息传输提供了一种保护机制,防止了对发送端设备和接收端设备之间的数据消息进行伪造而对接收端设备带来的影响和危害,提高了数据消息传输的安全性。
Description
技术领域
本发明涉及网络安全领域,特别涉及一种消息保护方法、发送端设备和接收端设备。
背景技术
通过互联网向用户发送短消息服务是目前最常用的通信增值业务之一,图1为现有技术中短消息通信系统结构图,如图1所示,互联网短信网关(ISMG,Internet Short Message Gateway)用于完成短信服务提供商(SP,Service Provider)和短消息中心(SMSC,Short Message Center)之间的消息转发,ISMG和SMSC之间的消息传输采用短消息网关接口(SMPP,ShortMessage Peer to Peer)协议,ISMG和SP之间的消息传输采用中国移动通信互联网短消息网关接口(CMPP,China Mobile Point to Point)协议。
ISMG和SP之间的CMPP消息承载于传输控制协议(TCP,TransferControl Protocol),由于现有ISMG和SP之间采用长连接,这必然增加了ISMG和SP之间消息传输的不安全因素。现有技术中,ISMG和SP之间的TCP连接建立后,SP利用自身与ISMG之间的共享秘密信息生成认证信息,并将携带该认证信息的CMPP连接(CMPP_CONNECT)消息发送给ISMG;ISMG接收到该CMPP_CONNECT消息后,利用自身与该SP的共享秘密信息对认证信息进行认证,并将认证结果携带在CMPP连接响应(CMPP_CONNECT_RESP)消息发送给SP;如果认证成功,则SP和ISMG之间可以进行数据消息的传输,如果认证失败,则SP和ISMG之间不能进行数据消息的传输,其中,SP发送给ISMG的数据消息通常为批量发送的CMPP数据(CMPP_SUBMIT)消息,CMPP_SUBMIT消息的数量可以由要发送的数据、以及运营商的具体设定决定。
但是,现有技术的上述方法中,在ISMG和SP之间的认证成功后,对数据消息的传输并没有任何保护机制,如果对ISMG和SP之间传输的数据消息进行伪造,则会对数据消息的安全性造成严重影响。例如,不法分子窃取到ISMG和SP之间的TCP连接信息后,伪造SP发送给ISMG的数据消息,并将该数据消息发送给ISMG,ISMG不能够识别该数据消息是伪造的数据消息,而转发给用户,当该伪造的数据消息包含欺骗信息或病毒信息时,会对用户造成不良的影响和危害。
发明内容
有鉴于此,本发明提供了一种消息保护的方法、发送端设备和接收端设备,以便于提高数据消息传输的安全性。
一种消息保护方法,该方法包括:
发送端设备和接收端设备之间的认证成功后,发送端设备按照预设的策略对要发送的数据消息进行选择,利用发送端设备与接收端设备之间的共享秘密信息针对选择出的数据消息生成消息校验码MAC,并将生成的MAC携带在所述选择的数据消息中发送给接收端设备;
接收端设备利用所述共享秘密信息对接收到的MAC进行校验,如果校验失败,则丢弃该校验失败的MAC对应的数据消息。
其中,所述按照预设的策略对要发送的数据消息进行选择包括:
选择所述要发送的数据消息中的每一个数据消息;或者,在所述要发送的数据消息中周期性地进行选择;或者,在所述要发送的数据消息中随机进行选择。
所述对选择出的数据消息生成MAC包括:
针对选择出的每一个数据消息分别生成MAC,或者,对所述选择出的数据消息中的多个数据消息共同生成一个MAC。
所述利用发送端设备与接收端设备之间的共享秘密信息针对选择出的数据消息生成MAC包括:
利用所述共享秘密信息、所述选择出的数据消息对应的数据消息标识和所述选择出的数据消息中携带的全部或部分参数,按照预设的算法生成MAC。
接收端设备利用所述共享秘密信息对接收到的MAC进行校验包括:
所述接收端设备按照所述预设的策略对接收到的数据消息进行选择,利用所述共享秘密信息、接收端设备选择出的数据消息对应的数据消息标识和接收端设备选择出的数据消息中携带的全部或部分参数,按照所述预设算法生成MAC,并将接收端设备生成的MAC与接收到的MAC进行比对,如果相同,则校验成功,否则,校验失败。
更优地,如果校验失败,则该方法还包括:
所述接收端设备将所述校验失败的MAC对应的数据消息标识发送给所述发送端设备;
所述发送端设备接收到所述数据消息标识后,重新向所述接收端设备发送所述数据消息标识对应的数据消息。
其中,重新向所述接收端设备发送所述数据消息标识对应的数据消息包括:利用本次传输控制协议TCP连接重新发送所述数据消息标识对应的数据消息,或者,在下次TCP连接建立后,重新发送所述数据消息标识对应的数据消息。
该方法还包括:
如果校验成功,则所述接收端设备利用所述共享秘密信息,针对所述MAC生成响应消息校验码res-MAC,并将该res-MAC发送给所述发送端设备;
所述发送端设备利用所述共享秘密信息,对接收到的res-MAC进行校验,如果校验失败,则重新向所述接收端设备发送校验失败的res-MAC对应的数据消息。
所述接收端设备利用所述共享秘密信息,针对所述MAC生成响应消息校验码res-MAC包括:所述接收端设备利用所述共享秘密信息、接收到的MAC以及该MAC所在的数据消息中携带的全部或部分参数,按照预设的算法生成res-MAC;
所述发送端设备利用所述共享秘密信息对接收到的res-MAC进行校验包括:所述发送端设备利用所述共享秘密信息、所述MAC、以及该MAC所在数据消息中携带的全部或部分参数,按照所述预设的算法生成res-MAC,并将发送端设备生成的res-MAC与接收到的res-MAC进行比对,如果相同,则校验成功,否则,校验失败。
重新向所述接收端设备发送校验失败的res-MAC对应的数据消息包括:
利用本次TCP连接重新向所述接收端设备发送校验失败的res-MAC对应的数据消息,或者,在下次TCP连接建立后,重新向所述接收端设备发送校验失败的res-MAC对应的数据消息。
所述数据消息中携带的参数至少包括以下参数中的一种:源设备标识、消息长度、消息内容、目的设备标识、临时值。
一种发送端设备,该发送端设备包括:消息选择单元、校验码生成单元和发送单元;
所述消息选择单元,用于在所述发送端设备和接收端设备之间的认证成功后,按照预设的策略对要发送的数据消息进行选择;
所述校验码生成单元,用于利用发送端设备和接收端设备之间的共享秘密信息,针对所述选择出的数据消息生成MAC;
所述消息发送单元,用于将所述MAC携带在所述选择的数据消息中发送给接收端设备。
另外,该发送端设备还包括:标识接收单元,用于接收校验失败的MAC对应的数据消息标识;
所述消息发送单元,还用于重新发送所述数据消息标识对应的数据消息。
该发送端设备还包括:响应校验码接收单元和校验单元;
所述响应校验码接收单元,用于接收针对所述MAC生成的响应消息校验码res-MAC;
所述校验单元,用于利用所述共享秘密信息,对所述res-MAC进行校验;
所述消息发送单元,还用于在所述res-MAC校验失败时,重新发送所述res-MAC对应的数据消息。
其中,所述校验单元包括:响应校验码生成单元和比对单元;
所述响应校验码生成单元,用于利用所述共享秘密信息、所述MAC、以及该MAC所在数据消息中携带的全部或部分参数,按照预设的算法生成res-MAC;
所述比对单元,用于将所述生成的res-MAC和所述校验码接收单元接收到的res-MAC进行比对,如果相同,则校验成功,否则校验失败。
一种接收端设备,该接收端设备包括:校验码接收单元、校验单元和丢弃单元;
所述校验码接收单元,用于接收数据消息;
所述校验单元,用于利用发送端设备和接收端设备之间的共享秘密信息,对接收到的数据消息中携带的MAC进行校验;
所述丢弃单元,用于在所述MAC校验失败时,丢弃该校验失败的MAC对应的数据消息。
其中,所述校验单元包括:消息选择单元、校验码生成单元和比对单元;
所述消息选择单元,用于按照预设的策略对接收到的数据消息进行选择;
所述校验码生成单元,用于利用所述共享秘密信息、所述消息选择单元选择出的数据消息对应的数据消息标识和所述选择出的数据消息中携带的全部或部分参数,按照预设算法生成MAC;
所述比对单元,用于将所述生成的MAC与接收到的数据消息中携带的MAC进行比对,如果相同,则校验成功,否则,校验失败。
更优地,该接收端设备还包括:标识发送单元,用于发送校验失败的MAC对应的数据标识。
该接收端设备还包括:响应校验码生成单元和响应校验码发送单元;
所述响应校验码生成单元,用于在所述MAC校验成功时,利用所述共享秘密信息,针对所述MAC生成res-MAC;
所述响应校验码发送单元,用于发送所述res-MAC。
由以上技术方案可以看出,在本发明提供的方法、发送端设备和接收端设备中,发送端设备和接收端设备之间的认证成功后,发送端设备按照预设的策略对要发送的数据消息进行选择,利用发送端设备与接收端设备之间的共享秘密信息针对选择出的数据消息生成MAC,并将生成的MAC携带在选择的数据消息中发送给接收端设备;接收端设备利用所述共享秘密信息对接收到的MAC进行校验,如果校验失败,则丢弃该校验失败的MAC对应的数据消息。以此对认证成功后的数据消息传输提供了一种保护机制,防止了对发送端设备和接收端设备之间的数据消息进行伪造而对接收端设备带来的影响和危害,提高了数据消息传输的安全性。例如,在SP和ISMG之间的TCP连接建立后,如果不法分子伪造SP发送给ISMG的数据消息,并将该数据消息发送给ISMG时,ISMG能够利用自身与SP之间的共享秘密信息对数据消息中的MAC进行校验,从而能够识别出伪造的数据消息,并丢弃伪造的数据消息,从而,避免伪造的数据消息对用户造成的不良影响和危害。
附图说明
图1为现有技术中短消息通信系统结构图;
图2为本发明实施例提供的主要方法流程图;
图3为本发明实施例提供的详细方法流程图;
图4为本发明实施例提供的发送端设备结构图;
图5为本发明实施例提供的接收端设备结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法主要包括:发送端设备和接收端设备之间的认证成功后,发送端设备按照预设的策略对要发送的数据消息进行选择,利用发送端设备与接收端设备之间的共享秘密信息针对选择出的数据消息生成消息校验码(MAC),并将生成的MAC携带在选择的数据消息中发送给接收端设备;接收端设备利用发送端设备与接收端设备之间的共享秘密信息,对接收到的MAC进行校验,如果校验失败,则丢弃该校验失败的MAC对应的数据消息。
另外,在对MAC进行校验失败后,还可以将校验失败的MAC对应的数据消息标识发送给发送端设备以通知该MAC校验失败,发送端设备接收到该数据消息的标识后,可以重新发送该标识对应的数据消息。
图2为本发明实施例提供的主要方法流程图,如图2所示,该方法主要包括以下步骤:
步骤201:发送端设备和接收端设备之间的认证成功后,发送端设备对要发送的数据消息进行选择,利用发送端设备与接收端设备之间的共享秘密信息,针对选择出的数据消息生成消息校验码(MAC,Message AuthenticationCode),并将生成的MAC携带在选择的数据消息中发送给接收端设备。
步骤202:接收端设备利用发送端设备与接收端设备之间的共享秘密信息,对接收到的MAC进行校验,如果校验成功,则执行步骤203,否则,执行步骤205。
步骤203:接收端设备利用发送端设备与接收端设备之间的共享秘密信息,针对该MAC生成响应消息校验码(res-MAC),并将该res-MAC发送给发送端设备。
步骤204:发送端设备利用发送端设备与接收端设备之间的共享秘密信息,对接收到的res-MAC进行校验,如果校验失败,则重新向接收端设备发送校验失败的res-MAC对应的数据消息,结束流程。
步骤205:接收端设备丢弃校验失败的MAC对应的数据消息,并将校验失败的MAC对应的数据消息标识发送给发送端设备。
本步骤中,为了防止该接收到的数据消息为不法分子伪造的数据消息,将该校验失败的MAC对应的数据消息丢弃;但该数据消息也可能是发送端设备发送来的数据消息,且由于程序故障或其它因素导致校验失败,因此,可以进一步将校验失败的MAC对应的数据消息标识发送给发送端设备,用于指示发送端设备重新发送该标识对应的数据消息。
步骤206:发送端设备接收到校验失败的MAC对应的数据消息标识后,重新向接收端设备发送该数据消息标识对应的数据消息。
下面以SP向ISMG发送数据消息为例对上述方法进行详细描述。图3为本发明实施例提供的详细方法流程图,假设SP与ISMG之间的共享秘密信息为Ksi,其中,该共享秘密信息Ksi可以是SP与ISMG之间预先约定的共享密钥,也可以是仅SP与ISMG之间所共知的秘密信息。如图3所示,该方法可以包括以下步骤:
步骤301:SP与ISMG之间的TCP连接建立后,SP向ISMG发送携带第一认证信息的CMPP_CONNECT消息。
本步骤中,CMPP_CONNECT消息中的第一认证信息可以是利用Ksi对CMPP_CONNECT消息中的部分参数进行预设的哈希计算后得到的。例如,该SP向ISMG发送的CMPP_CONNECT消息中可以包含:源地址(Source_Addr)参数、CMPP版本(Version)参数、时间戳(Timestamp)参数和第一认证信息(AuthenticatorSource)。其中,Timestamp是一种临时值,在此除了Timestamp,也可以采用随机数等其它临时值。第一认证信息AuthenticatorSource可以是利用Ksi对Source_Addr参数和Timestamp参数进行预设的哈希计算后得到的,可以表示为:
AuthenticatorSource=MD5(Source_Addr,9bytes0,Ksi,timestamp)。
其中,MD5是SP与ISMG之间约定好使用的哈希计算函数;9bytes0是用于进行补位的字符串,为了使计算出的AuthenticatorSource满足一定的长度。在生成AuthenticatorSource时,参数的选择也需发送端设备和接收端设备约定一致,在该实施例中,发送端设备和接收端设备可预先约定采用Source_Addr参数和timestamp参数。
SP可以将自身生成的该AuthenticatorSource进行存储,以便在步骤304中可以对ISMG发送的第二认证信息进行认证。
步骤302:ISMG接收到CMPP_CNNECT消息后,利用Ksi对CMPP_CNNECT消息中携带的第一认证信息进行认证,并将认证结果和第二认证信息携带在CMPP_CNNECT_RESP消息中回复给SP。
本步骤中,例如,ISMG利用Ksi、Source_Addr对第一认证信息进行MD5函数的哈希逆运算,可以得到timestamp参数,将该经过计算得到的timestamp参数与CMPP_CONNECT消息中包含的timestamp参数进行比对,如果相同,则认证成功,如果不相同,则认证失败。
同时,ISMG可以利用Ksi生成第二认证信息(AuthenticatorISMG),该AuthenticatorISMG可以是利用Ksi对第一认证信息和CMPP_CNNECT_RESP消息中的其它参数进行预设的哈希计算后得到的,例如,AuthenticatorISMG可以表示为:
AuthenticatorISMG=MD5(status,AuthenticatorSource,Ksi)。
其中,status参数为CMPP_CNNECT_RESP消息中携带的参数,用于表征认证结果,例如,status为0时可以表征认证成功,如果status为1时可以表征认证失败。
此时,发送出去的CMPP_CNNECT_RESP消息中可以包含:Status参数、AuthenticatorISMG、Version参数等。
步骤303:SP接收到CMPP_CNNECT_RESP消息后,判断该CMPP_CNNECT_RESP消息中携带的认证结果是否为认证成功,如果是,则执行步骤304,否则,SP重新尝试建立与ISMG之间的TCP连接。
步骤304:SP利用Ksi对第二认证信息进行认证,如果认证成功,则执行步骤305,否则,SP重新尝试建立与ISMG之间的TCP连接。
本步骤中,SP利用Ksi和自身在步骤301中生成的AuthenticatorSource,对CMPP_CNNECT_RESP消息中包含的AuthenticatorISMG进行哈希逆运算,可以得到status参数参数。SP将该得到的status参数与CMPP_CNNECT_RESP消息中携带的status参数进行比较,如果都相同,则认证成功,否则,认证失败。
步骤305:SP对要发送的CMPP数据(CMPP_SUBMIT)消息进行选择,利用Ksi针对选出的CMPP_SUBMIT消息生成MAC,并将生成的各MAC携带在对应的CMPP_SUBMIT消息中发送给ISMG。
SP可以将要发送的CMPP_SUBMIT消息进行缓存,从中选择全部或部分CMPP_SUBMIT消息,并利用Ksi针对选择出的CMPP_SUBMIT消息生成MAC。
通常CMPP_SUBMIT消息中可以包含以下参数:消息标识(Msg_ID)、源设备标识(Src_ID)、消息长度(Msg_Length)、消息内容(Msg_Content)、目的设备标识(Dest_terminal_ID)等。为了增加安全性,该CMPP_SUBMIT消息还可以包含timestamp、随机数等临时值。本步骤中,SP可以利用Ksi、选择出的CMPP_SUBMIT消息对应的Msg_ID和该CMPP_SUBMIT消息中的全部或部分参数,按照预设的算法生成MAC。
SP选择CMPP_SUBMIT消息并生成MAC的方法可以包括但不限于以下几种方式:
1)选择所有的CMPP_SUBMIT消息,针对每一个CMPP_SUBMIT消息都生成MAC。这种方式适用于SP发送的数据量较小的情况下。
2)按照预设的策略周期性地选择CMPP_SUBMIT消息,可以每隔n个CMPP_SUBMIT消息选择一个CMPP_SUBMIT消息,针对该消息生成MAC,例如,每隔10个CMPP_SUBMIT消息选择1个CMPP_SUBMIT消息,MAC(k)=MAC{Msg_ID(k),Ksi,timestamp(k)},其中,MAC(k)表示第k个CMPP_SUBMIT消息携带的MAC,MAC{}表示生成MAC采用的算法,Msg_ID(k)表示第k个CMPP_SUBMIT消息的消息标识,timestamp(k)表示第k个CMPP_SUBMIT消息携带的timestamp,k=10n,n为自然数;也可以以n个CMPP_SUBMIT消息为一个周期,每n个CMPP_SUBMIT消息共同生成一个MAC,例如,每10个CMPP_SUBMIT消息共同生成一个MAC,即MAC(p)=MAC{Msg_ID(p),Msg_ID(p-1),Msg_ID(p-2),...,Msg_ID(p-9),Ksi,timestamp(p)},其中,MAC(p)表示第p个CMPP_SUBMIT消息携带的MAC,timestamp(p)表示第p个CMPP_SUBMIT消息携带的timestamp。p=10n,n为自然数。
3)随机选择CMPP_SUBMIT消息。可以针对每一个随机选择出的CMPP_SUBMIT消息都生成MAC,将生成的MAC携带在对应的CMPP_SUBMIT消息中;也可以对选择出的CMPP_SUBMIT消息中的多个CMPP_SUBMIT消息共同生成一个MAC,并将该MAC携带在该多个CMPP_SUBMIT消息的其中一个CMPP_SUBMIT消息中。
也就是说,在生成MAC时可以针对选择出的每一个数据消息分别生成MAC,也可以对选择出的数据消息中的多个数据消息共同生成一个MAC。
步骤306:ISMG接收到CMPP_SUBMIT消息后,利用Ksi对MPP_SUBMIT消息中携带的MAC进行校验,如果校验成功,则执行步骤307;否则,执行步骤311。
ISMG接收到CMPP_SUBMIT消息后采用与SP端相同的选择方式选择CMPP_SUBMIT消息,并利用Ksi和所选择的CMPP_SUBMIT消息中携带的参数,按照预设的与SP端相同的算法生成MAC,如果ISMG生成的MAC与接收到的MAC相同,则校验成功,否则,校验失败。
例如,如果MAC(k)=MAC{Msg_ID(k),Ksi,timestamp(k)},k=10n,n为自然数。由于ISMG采用与SP相同的选择方式选择CMPP_SUBMIT消息,因此,ISMG端也会选择出标识为Msg_ID(k)的CMPP_SUBMIT消息,并从中获取MAC(k),然后利用Ksi、timestamp(k)和所选择的CMPP_SUBMIT消息的Msg_ID(k),按照MAC(k)=MAC{Msg_ID(k),Ksi,timestamp(k)}进行计算,得到MAC(k),将该计算得到的MAC(k)与从CMPP_SUBMIT消息中获取的MAC(k)进行比对,如果相同,则校验成功,否则校验失败。
如果MAC(p)=MAC{Msg_ID(p),Msg_ID(p-1),Msg_ID(p-2),...,Msg_ID(p-9),Ksi,timestamp(p)},p=10n,n为自然数。由于ISMG端采用与SP端相同的选择方式选择CMPP_SUBMIT消息,因此,ISMG端也会选择出标识为Msg_ID(p),Msg_ID(p-1),Msg_ID(p-2),...,Msg_ID(p-9)的CMPP_SUBMIT消息,并从标识为Msg_ID(p)的CMPP_SUBMIT消息中获取MAC(p)和timestamp(p),利用Ksi、timestamp(p)和Msg_ID(p),Msg_ID(p-1),Msg_ID(p-2),...,Msg_ID(p-9),按照MAC(p)=MAC{Msg_ID(p),Msg_ID(p-1),Msg_ID(p-2),...,Msg_ID(p-9),Ksi,timestamp(p)}进行计算,得到MAC(p),将ISMG计算得到的MAC(p)与从CMPP_SUBMIT消息中获取的MAC(p)进行比对,如果相同,则校验成功,否则,校验失败。
步骤307:ISMG利用Ksi对验证成功的MAC生成res-MAC,并将该res-MAC发送给SP,并将校验成功的MAC对应的CMPP_SUBMIT消息转发给SMSC。
本步骤中,ISMG可以利用Ksi,校验成功的MAC以及该MAC所在的CMPP_SUBMIT消息中的全部或部分参数生成res-MAC,ISMG可以采用与SP生成MAC相同的算法对校验成功的MAC生成res-MAC,例如,如果第q个消息的MAC校验成功,则res-MAC可以表示为:res-MAC(q)=MAC{MAC(q),Ksi,timestamp(q)}。
本步骤中的res-MAC可以携带在CMPP_SUBMIT_RESP消息中发送给SP。
步骤308:SP接收到res-MAC后,利用Ksi对res-MAC进行校验,如果校验成功,执行步骤309,如果校验失败,则执行步骤310。
本步骤中,SP接收到res-MAC后,采用与ISMG端生成res-MAC时相同的算法和参数,以及自身在步骤305中生成的MAC,计算res-MAC,并将计算得到的res-MAC与接收到的res-MAC进行比对,如果相同,则校验成功,否则,校验失败。
步骤309:断开SP与ISMG之间的TCP连接,结束流程。
步骤310:SP重新发送校验失败的res-MAC对应的CMPP_SUBMIT消息,结束流程。
本步骤中,SP可以在本次TCP连接中重新发送校验失败的res-MAC对应的CMPP_SUBMIT消息;也可以记录校验失败的res-MAC对应的CMPP_SUBMIT消息标识,在下次TCP连接建立后重新发送校验失败的res-MAC对应的CMPP_SUBMIT消息。
针对重新发送的CMPP_SUBMIT消息仍可以采用步骤305中的方式生成MAC,并将生成的MAC携带在对应的CMPP_SUBMIT消息中发送。
步骤311:ISMG将校验失败的MAC对应的Msg_ID发送给SP,并丢弃该校验失败的MAC对应的CMPP_SUBMIT消息。
例如,如果SP选择所有的CMPP_SUBMIT消息,且针对每一个CMPP_SUBMIT消息都生成MAC,则ISMG将该MAC所在的CMPP_SUBMIT消息的Msg_ID发送给SP。如果SP按照预设的策略每10个CMPP_SUBMIT消息周期性地选择CMPP_SUBMIT消息,且如果第m个CMPP_SUBMIT消息中携带的MAC(m)校验失败,则将Msg_ID(m)、Msg_ID(m-1),Msg_ID(m-2),...,Msg_ID(m-9)这10个CMPP_SUBMIT消息的Msg_ID都发送给SP。也就是说,该校验失败的MAC对应的CMPP_SUBMIT消息可以是该MAC所在的CMPP_SUBMIT消息,也可以是该MAC所在的CMPP_SUBMIT消息、以及该MAC与上一个MAC之间的其它CMPP_SUBMIT消息,等等。
本步骤中的Msg_ID可以携带在CMPP_SUBMIT_RESP消息中发送给SP,也可以携带在断开TCP连接(TCP diconnetion)消息中发送给SP.
步骤312:SP根据接收到的Msg_ID,重新发送该Msg_ID对应的CMPP_SUBMIT消息。
本步骤中,SP可以在本次TCP连接中重新发送接收到的Msg_ID对应的CMPP_SUBMIT消息;也可以记录接收到的Msg_ID,在下次TCP连接建立后重新发送接收到的Msg_ID对应的CMPP_SUBMIT消息。
针对重新发送的CMPP_SUBMIT消息仍可以采用步骤305中的方式生成MAC,并将生成的MAC携带在对应的CMPP_SUBMIT消息中发送。
MAC校验失败或者res-MAC校验失败可以认为是SP和ISMG之间本次的TCP连接受到拦截或存在伪造的CMPP_SUBMIT消息,造成原本的CMPP_SUBMIT消息丢失,因此,SP重新发送MAC校验失败或res-MAC校验失败对应的CMPP_SUBMIT消息。由于本次TCP连接受到拦截或存在伪造的CMPP_SUBMIT消息通常是由于不法分子获取了本次TCP连接信息,因此,较优的方式是在下次TCP连接建立后,重新发送MAC校验失败或res-MAC校验失败对应的CMPP_SUBMIT消息。
以上是对本发明提供的方法的详细描述,下面对本发明提供的发送端设备和接收端设备进行描述。图4为本发明实施例提供的发送端设备的结构图,如图4所示,该发送端设备主要包括:消息选择单元401、校验码生成单元402和发送单元403。
消息选择单元401,用于在发送端设备和接收端设备之间的认证成功后,按照预设的策略对要发送的数据消息进行选择。
该消息选择单元401可以按照方法实施例中所提供的数据消息选择方法进行选择。
校验码生成单元402,用于利用发送端设备和接收端设备之间的共享秘密信息,针对选择出的数据消息生成MAC。
消息发送单元403,用于将MAC携带在选择的数据消息中发送给接收端设备。
另外,该发送端设备还可以包括:标识接收单元404,用于接收校验失败的MAC对应的数据消息标识。
接收端设备接收到发送端设备发送的数据消息后,会对数据消息中携带的MAC进行校验,如果校验失败,则会向发送端设备返回校验失败的MAC对应的数据消息标识,此时,发送端设备的标识接收单元404可以接收接收端设备发送来的数据消息标识。
此时,消息发送单元403,还用于重新发送该数据消息标识对应的数据消息。
该发送端设备还可以包括:响应校验码接收单元405和校验单元406。
响应校验码接收单元405,用于接收针对MAC生成的响应消息校验码res-MAC。
校验单元406,用于利用共享秘密信息,对res-MAC进行校验。
消息发送单元403,还可以用于在res-MAC校验失败时,重新发送res-MAC对应的数据消息。
消息发送单元403可以在本次TCP连接中重新发送res-MAC对应的数据消息或接收到的数据消息标识对应的数据消息,或者,在下次TCP连接建立后重新发送res-MAC对应的数据消息或接收到的数据消息标识对应的数据消息。
其中,校验单元406可以包括:响应校验码生成单元4061和比对单元4062。
响应校验码生成单元4061,用于利用共享秘密信息、MAC、以及该MAC所在数据消息中携带的全部或部分参数,按照预设的算法生成res-MAC。
该响应校验码生成单元采用的预设算法与接收端设备生成res-MAC时采用的算法相同。
比对单元4062,用于将生成的res-MAC和校验码接收单元接收到的res-MAC进行比对,如果相同,则校验成功,否则校验失败。
图5为本发明实施例提供的接收端设备的结构图,如图5所示,该接收端设备主要包括:校验码接收单元501、校验单元502和丢弃单元503。
校验码接收单元501,用于接收数据消息。
校验单元502,用于利用发送端设备和接收端设备之间的共享秘密信息,对接收到的数据消息中携带的MAC进行校验。
丢弃单元503,用于在MAC校验失败时,丢弃该校验失败的MAC对应的数据消息。
其中,校验单元502可以包括:消息选择单元5021、校验码生成单元5022和比对单元5023。
消息选择单元5021,用于按照预设的策略对接收到的数据消息进行选择。
该消息选择单元5021采用的预设策略与发送端设备选择数据消息时采用的策略相同。
校验码生成单元5022,用于利用共享秘密信息、消息选择单元5021选择出的数据消息对应的数据消息标识和选择出的数据消息中携带的全部或部分参数,按照预设算法生成MAC。
比对单元5023,用于将生成的MAC与接收到的数据消息中携带的MAC进行比对,如果相同,则校验成功,否则,校验失败。
另外,该接收端设备还可以包括:标识发送单元504,用于发送校验失败的MAC对应的数据标识。
该接收端设备还可以包括:响应校验码生成单元505和响应校验码发送单元506。
响应校验码生成单元505,用于在MAC校验成功时,利用共享秘密信息,针对MAC生成res-MAC。
该响应校验码生成单元505可以利用该共享秘密信息、接收到的MAC以及该MAC所在的数据消息中携带的全部或部分参数,按照预设的算法生成res-MAC。
响应校验码发送单元506,用于发送res-MAC。
由以上描述可以看出,在本发明提供的方法、发送端设备和接收端设备中,发送端设备和接收端设备之间的认证成功后,发送端设备按照预设的策略对要发送的数据消息进行选择,利用发送端设备与接收端设备之间的共享秘密信息针对选择出的数据消息生成MAC,并将生成的MAC携带在选择的数据消息中发送给接收端设备;接收端设备利用所述共享秘密信息对接收到的MAC进行校验,如果校验失败,则丢弃该校验失败的MAC对应的数据消息。以此对认证成功后的数据消息传输提供了一种保护机制,防止了对发送端设备和接收端设备之间的数据消息进行伪造而对接收端设备带来的影响和危害,提高了数据消息传输的安全性。例如,在SP和ISMG之间的TCP连接建立后,如果不法分子伪造SP发送给ISMG的数据消息,并将该数据消息发送给ISMG时,ISMG能够利用自身与SP之间的共享秘密信息对数据消息中的MAC进行校验,从而能够识别出伪造的数据消息,并丢弃伪造的数据消息,从而,避免伪造的数据消息对用户造成的不良影响和危害。
更进一步地,本发明提供的方法、发送端设备和接收端设备,在丢弃校验失败的MAC对应的数据消息的同时,接收端设备还可以向发送端设备发送校验失败的MAC对应的数据消息标识,以通知发送端设备该MAC校验失败,指示发送端设备重新发送该数据消息标识对应的数据消息,以便于在该数据消息是由发送端设备发送,而由于校验程序故障或其它因素导致该校验失败时,可能引起的数据消息丢失。
更进一步地,本发明提供的方法、发送端设备和接收端设备,在MAC校验成功时,接收端设备利用发送端设备和接收端设备之间的共享秘密信息,针对该MAC生成res-MAC;发送端设备对接收到的res-MAC进行校验,如果校验失败,则重新发送该数据消息。通过该方法可以避免不法分子对发送端设备和接收端设备之间发送的数据消息进行拦截所带来的危害。例如,在现有技术中,不法分子窃取到发送端设备发送给接收端设备之间的TCP连接信息后,对发送端设备和接收端设备之间的中继设备进行攻击从而拦截发送端设备发送给接收端设备的数据消息,并在拦截后向发送端设备发送响应消息,由于发送端设备能够接收到响应消息,会认为接收端设备已经接收到了该数据消息,而接收端设备并没有接收到该数据消息,从而造成数据消息的丢失。如果采用了本发明的方法,由于接收端设备如果接收到发送端设备发送的数据消息,在MAC校验成功后,会生成res-MAC通过响应消息发送给发送端设备,发送端设备接收到响应消息后,会通过对响应消息中的res-MAC进行校验来确认接收端设备是否接收到数据消息,如果校验失败,则可以认为数据消息被拦截而导致数据消息丢失,此时,发送端设备会重新发送该数据消息,从而保证接收端设备能够正确接收到该数据消息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (19)
1.一种消息保护方法,其特征在于,该方法包括:
发送端设备和接收端设备之间的认证成功后,发送端设备按照预设的策略对要发送的数据消息进行选择,利用发送端设备与接收端设备之间的共享秘密信息针对选择出的数据消息生成消息校验码MAC,并将生成的MAC携带在所述选择的数据消息中发送给接收端设备;
接收端设备利用所述共享秘密信息对接收到的MAC进行校验,如果校验失败,则丢弃该校验失败的MAC对应的数据消息。
2.根据权利要求1所述的方法,其特征在于,所述按照预设的策略对要发送的数据消息进行选择包括:
选择所述要发送的数据消息中的每一个数据消息;或者,在所述要发送的数据消息中周期性地进行选择;或者,在所述要发送的数据消息中随机进行选择。
3.根据权利要求1或2所述的方法,其特征在于,所述对选择出的数据消息生成MAC包括:
针对选择出的每一个数据消息分别生成MAC,或者,对所述选择出的数据消息中的多个数据消息共同生成一个MAC。
4.根据权利要求1所述的方法,其特征在于,所述利用发送端设备与接收端设备之间的共享秘密信息针对选择出的数据消息生成MAC包括:
利用所述共享秘密信息、所述选择出的数据消息对应的数据消息标识和所述选择出的数据消息中携带的全部或部分参数,按照预设的算法生成MAC。
5.根据权利要求4所述的方法,其特征在于,接收端设备利用所述共享秘密信息对接收到的MAC进行校验包括:
所述接收端设备按照所述预设的策略对接收到的数据消息进行选择,利用所述共享秘密信息、接收端设备选择出的数据消息对应的数据消息标识和接收端设备选择出的数据消息中携带的全部或部分参数,按照所述预设算法生成MAC,并将接收端设备生成的MAC与接收到的MAC进行比对,如果相同,则校验成功,否则,校验失败。
6.根据权利要求1所述的方法,其特征在于,如果校验失败,则该方法还包括:
所述接收端设备将所述校验失败的MAC对应的数据消息标识发送给所述发送端设备;
所述发送端设备接收到所述数据消息标识后,重新向所述接收端设备发送所述数据消息标识对应的数据消息。
7.根据权利要求6所述的方法,其特征在于,重新向所述接收端设备发送所述数据消息标识对应的数据消息包括:利用本次传输控制协议TCP连接重新发送所述数据消息标识对应的数据消息,或者,在下次TCP连接建立后,重新发送所述数据消息标识对应的数据消息。
8.根据权利要求1所述的方法,其特征在于,该方法还包括:
如果校验成功,则所述接收端设备利用所述共享秘密信息,针对所述MAC生成响应消息校验码res-MAC,并将该res-MAC发送给所述发送端设备;
所述发送端设备利用所述共享秘密信息,对接收到的res-MAC进行校验,如果校验失败,则重新向所述接收端设备发送校验失败的res-MAC对应的数据消息。
9.根据权利要求8所述的方法,其特征在于,所述接收端设备利用所述共享秘密信息,针对所述MAC生成响应消息校验码res-MAC包括:所述接收端设备利用所述共享秘密信息、接收到的MAC以及该MAC所在的数据消息中携带的全部或部分参数,按照预设的算法生成res-MAC;
所述发送端设备利用所述共享秘密信息对接收到的res-MAC进行校验包括:所述发送端设备利用所述共享秘密信息、所述MAC、以及该MAC所在数据消息中携带的全部或部分参数,按照所述预设的算法生成res-MAC,并将发送端设备生成的res-MAC与接收到的res-MAC进行比对,如果相同,则校验成功,否则,校验失败。
10.根据权利要求8所述的方法,其特征在于,重新向所述接收端设备发送校验失败的res-MAC对应的数据消息包括:
利用本次TCP连接重新向所述接收端设备发送校验失败的res-MAC对应的数据消息,或者,在下次TCP连接建立后,重新向所述接收端设备发送校验失败的res-MAC对应的数据消息。
11.根据权利要求4、5或9所述的方法,其特征在于,所述数据消息中携带的参数至少包括以下参数中的一种:源设备标识、消息长度、消息内容、目的设备标识、临时值。
12.一种发送端设备,其特征在于,该发送端设备包括:消息选择单元、校验码生成单元和发送单元;
所述消息选择单元,用于在所述发送端设备和接收端设备之间的认证成功后,按照预设的策略对要发送的数据消息进行选择;
所述校验码生成单元,用于利用发送端设备和接收端设备之间的共享秘密信息,针对所述选择出的数据消息生成MAC;
所述消息发送单元,用于将所述MAC携带在所述选择的数据消息中发送给接收端设备。
13.根据权利要求12所述的发送端设备,其特征在于,该发送端设备还包括:标识接收单元,用于接收校验失败的MAC对应的数据消息标识;
所述消息发送单元,还用于重新发送所述数据消息标识对应的数据消息。
14.根据权利要求12所述的发送端设备,其特征在于,该发送端设备还包括:响应校验码接收单元和校验单元;
所述响应校验码接收单元,用于接收针对所述MAC生成的响应消息校验码res-MAC;
所述校验单元,用于利用所述共享秘密信息,对所述res-MAC进行校验;
所述消息发送单元,还用于在所述res-MAC校验失败时,重新发送所述res-MAC对应的数据消息。
15.根据权利要求14所述的发送端设备,其特征在于,所述校验单元包括:响应校验码生成单元和比对单元;
所述响应校验码生成单元,用于利用所述共享秘密信息、所述MAC、以及该MAC所在数据消息中携带的全部或部分参数,按照预设的算法生成res-MAC;
所述比对单元,用于将所述生成的res-MAC和所述校验码接收单元接收到的res-MAC进行比对,如果相同,则校验成功,否则校验失败。
16.一种接收端设备,其特征在于,该接收端设备包括:校验码接收单元、校验单元和丢弃单元;
所述校验码接收单元,用于接收数据消息;
所述校验单元,用于利用发送端设备和接收端设备之间的共享秘密信息,对接收到的数据消息中携带的MAC进行校验;
所述丢弃单元,用于在所述MAC校验失败时,丢弃该校验失败的MAC对应的数据消息。
17.根据权利要求16所述的接收端设备,其特征在于,所述校验单元包括:消息选择单元、校验码生成单元和比对单元;
所述消息选择单元,用于按照预设的策略对接收到的数据消息进行选择;
所述校验码生成单元,用于利用所述共享秘密信息、所述消息选择单元选择出的数据消息对应的数据消息标识和所述选择出的数据消息中携带的全部或部分参数,按照预设算法生成MAC;
所述比对单元,用于将所述生成的MAC与接收到的数据消息中携带的MAC进行比对,如果相同,则校验成功,否则,校验失败。
18.根据权利要求16所述的接收端设备,其特征在于,该接收端设备还包括:标识发送单元,用于发送校验失败的MAC对应的数据标识。
19.根据权利要求16所述的接收端设备,其特征在于,该接收端设备还包括:响应校验码生成单元和响应校验码发送单元;
所述响应校验码生成单元,用于在所述MAC校验成功时,利用所述共享秘密信息,针对所述MAC生成res-MAC;
所述响应校验码发送单元,用于发送所述res-MAC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810006469A CN101521654A (zh) | 2008-02-29 | 2008-02-29 | 一种消息保护方法、发送端设备和接收端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810006469A CN101521654A (zh) | 2008-02-29 | 2008-02-29 | 一种消息保护方法、发送端设备和接收端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101521654A true CN101521654A (zh) | 2009-09-02 |
Family
ID=41082032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810006469A Pending CN101521654A (zh) | 2008-02-29 | 2008-02-29 | 一种消息保护方法、发送端设备和接收端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101521654A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188158A (zh) * | 2011-12-28 | 2013-07-03 | 清华大学 | 一种片上网络路由器及路由方法 |
CN103679492A (zh) * | 2012-09-12 | 2014-03-26 | 卓望数码技术(深圳)有限公司 | 一种o2o模式下的商品订购及消费识别的方法和系统 |
CN104036406A (zh) * | 2013-03-07 | 2014-09-10 | 中国移动通信集团北京有限公司 | 一种提高订购信息安全性的方法和装置 |
CN104883352A (zh) * | 2015-03-31 | 2015-09-02 | 北京畅游天下网络技术有限公司 | 一种用于社交软件中的消息防伪方法及装置 |
WO2016061948A1 (zh) * | 2014-10-23 | 2016-04-28 | 中兴通讯股份有限公司 | 一种配置终端的方法、设备和系统 |
WO2017031677A1 (zh) * | 2015-08-25 | 2017-03-02 | 华为技术有限公司 | 一种数据包传输方法、装置、节点设备以及系统 |
CN110017575A (zh) * | 2019-04-16 | 2019-07-16 | 珠海格力电器股份有限公司 | 信息传输装置、方法和系统、空调 |
CN113219941A (zh) * | 2021-04-22 | 2021-08-06 | 湖南联塑科技实业有限公司 | 一种工业设备间信号链接与确认方法 |
-
2008
- 2008-02-29 CN CN200810006469A patent/CN101521654A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188158A (zh) * | 2011-12-28 | 2013-07-03 | 清华大学 | 一种片上网络路由器及路由方法 |
CN103679492A (zh) * | 2012-09-12 | 2014-03-26 | 卓望数码技术(深圳)有限公司 | 一种o2o模式下的商品订购及消费识别的方法和系统 |
CN103679492B (zh) * | 2012-09-12 | 2017-07-28 | 卓望数码技术(深圳)有限公司 | 一种o2o模式下的商品订购及消费识别的方法和系统 |
CN104036406A (zh) * | 2013-03-07 | 2014-09-10 | 中国移动通信集团北京有限公司 | 一种提高订购信息安全性的方法和装置 |
CN104036406B (zh) * | 2013-03-07 | 2017-08-08 | 中国移动通信集团北京有限公司 | 一种提高订购信息安全性的方法和装置 |
WO2016061948A1 (zh) * | 2014-10-23 | 2016-04-28 | 中兴通讯股份有限公司 | 一种配置终端的方法、设备和系统 |
CN105591777A (zh) * | 2014-10-23 | 2016-05-18 | 中兴通讯股份有限公司 | 一种配置终端的方法、设备和系统 |
CN104883352A (zh) * | 2015-03-31 | 2015-09-02 | 北京畅游天下网络技术有限公司 | 一种用于社交软件中的消息防伪方法及装置 |
WO2017031677A1 (zh) * | 2015-08-25 | 2017-03-02 | 华为技术有限公司 | 一种数据包传输方法、装置、节点设备以及系统 |
CN107431691A (zh) * | 2015-08-25 | 2017-12-01 | 华为技术有限公司 | 一种数据包传输方法、装置、节点设备以及系统 |
CN110017575A (zh) * | 2019-04-16 | 2019-07-16 | 珠海格力电器股份有限公司 | 信息传输装置、方法和系统、空调 |
CN113219941A (zh) * | 2021-04-22 | 2021-08-06 | 湖南联塑科技实业有限公司 | 一种工业设备间信号链接与确认方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101521654A (zh) | 一种消息保护方法、发送端设备和接收端设备 | |
JP5101565B2 (ja) | 移動無線通信装置におけるコンタクトの認証及び信頼できるコンタクトの更新 | |
EP2779524A1 (en) | Secure data transmission method, device and system | |
US8200193B2 (en) | Detection of anomalies in traffic transmitted by a mobile terminal within a radiocommunication network | |
EP2590356A1 (en) | Method, device and system for authenticating gateway, node and server | |
CN105139204B (zh) | 一种进行安全认证的方法和系统 | |
CN101771564B (zh) | 会话上下文的处理方法、装置和系统 | |
JP2011515984A (ja) | ハンドオーバの間における不正操作されまたは欠陥のある基地局の識別 | |
CN103067402A (zh) | 数字证书的生成方法和系统 | |
CN108024243B (zh) | 一种eSIM卡入网通信方法及其系统 | |
CN109691156A (zh) | 无线装置的增强型聚合式重新认证 | |
CN105519028A (zh) | 一种无线系统接入控制方法及装置 | |
CN102638468A (zh) | 保护信息传输安全的方法、发送端、接收端及系统 | |
CN105072132A (zh) | 验证方法、验证系统和通信设备 | |
US9648650B2 (en) | Pairing of devices through separate networks | |
TWI358920B (en) | Communication system and handshake method thereof | |
CN103905194A (zh) | 身份溯源认证方法及系统 | |
CN109729000B (zh) | 一种即时通信方法及装置 | |
CN105812380A (zh) | 验证方法及装置 | |
CN106912049B (zh) | 改善用户认证体验的方法 | |
CN102685746A (zh) | 一种对移动设备验证的方法、装置及系统 | |
CN102905267B (zh) | Me标识鉴权、安全模式控制方法及装置 | |
CN106789076B (zh) | 服务器与智能设备的交互方法及装置 | |
CN110300105B (zh) | 一种网络密码机的远程密钥管理方法 | |
CN101415169A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090902 |