短信签名方法及系统的制作方法

文档序号:7862057阅读:386来源:国知局
专利名称:短信签名方法及系统的制作方法
技术领域
本发明涉及网络信息安全技术领域,更为具体地,涉及一种基于短信网关系统的短 目签名方法及系统。
背景技术
近年来垃圾短信问题日益严重,移动用户每日收到的短信中充斥着大量的广告,甚至黄、赌、毒等内容的垃圾短信;另外还有部分犯罪分子利用短信通道实现以诈骗、销赃等为目的的犯罪活动,对人们的正常生活及安全造成一定的影响。为了治理垃圾短信,各省市通信管理局要求移动通信运营商对使用短消息服务代码(短信端口)发送短信业务的各行业、企业(EC/SI)实行企业实名签名管理,要求在其向手机用户发送的短信内容中填写并显示出真实的企业名称,如“XX银行”、“XX公司”, 以有效避免短信端口发生二次转包、分包现象,避免被不法分子利用,也让用户知晓短信来源。针对该要求,中国移动通信运营商要求对于企业、行业短信业务接入网元设备-行业应用网关系统实现企业、行业短信的签名功能。而且,为了避免短信签名对原有短信内容的连续性及完整性构成影响,对于超长短信经由EC/SI拆分后成多条消息发送至手机终端的情况,网关只在最后一条消息内容后面追加企业实名签名。这种短信签名的要求如下I、短信正文签名功能行业应用网关需要支持短信正文签名功能,在MT流程中,SMS-A需要从IAGW-M返回的应答中获取是否需要正文签名以及签名内容等信息,若需要正文签名,则SMS-A把签名内容加入到EC/SI提交的MT短信正文的后面,并下发给手机用户。EC/SI在提交MT消息时,需自己对短信进行拆分,假设拆分后的短信共N (Ν>=1)条,即Pk_total = N,前N-I条短信不会被加签名,第N条(即最后一条,Pk_number = N)短信会被加上签名。上述信息取自于中国移动企业通信标准QB-D-038-2008《行业应用网关设备规范一短信&WAP PUSH代理分册V2. O. O》I. I现有机制及流程现有系统中采用如下流程进行消息的签名;I)、企业、行业用户(EC/SI)将待发送的短信内容按照长度拆分成I条或者多条消息,每条消息内容长度〈160个字节或者〈=140个字节;拆分后的短信共N (N>=1)条消息,那么在EC/SI发送短信时,由EC/SI设定CMPP_SUBMIT通信包中的Pk_total和Pk_number字段,其中Pk_total填写为被拆分的总条数N,Pk_number填写为拆分后的每条消息序号,该序号从I开始以I为增量,那么第一条消息的 pk_number=l,最后一条消息的 pk_number=N;如待发送的短信内容被拆分为3条,那么EC/SI需要设置第一条CMPP_SUBMIT包中的 Pk_total=3, Pk_number = I ;第二条CMPP_SUBMIT 包中的 Pk_total=3, Pk_number=2 ;第三条(最后一条)CMPP_SUBMIT包中的 Pk_total=3, Pk_number=3 ;2)、EC/SI将拆分后的每条消息通过CMPP_SUBMIT通信包发送至行业应用网关系统;3)、行业应用网关系统判断Pk_total是否等于Pk_number ;如果相等,那么行业应用网关将在消息的内容中追加该EC/SI的企业实名签名,然后将该消息发送至短消息中心,并最终将消息发送至手机终端;如果不等,那么行业应用网关直接将该消息转发短消息中心,并最终将消息发送至手机终端; 1. 2现有机制及流程存在的问题现有的消息转发处理及签名机制针对一条超长短信被EC/SI拆分成多条消息发送情况,网关系统不对拆分后的多消息进行关联及完整性判断处理,而是每条消息收到后均被立即转发;网关系统只针对EC/SI所设定的Pk_total=Pk_number的消息进行追加签名处理。由此,EC/SI可以通过设定其每条消息的Pk_total不等于Pk_number的方式,令其短信不被网关系统追加企业实名签名而成功发送至手机终端。针对该机制存在的漏洞,一个典型的流程如下I)、企业、行业用户(EC/SI)发送的短信内容为200个字节,需要拆分成2条消息发送;第一条消息设定为Pk_total=3,Pk_number=l ;第二条消息设定为Pk_total=3,Pk_number=2;2),EC/SI将拆分后的2条消息通过CMPP_SUBMIT通信包发送行业应用网关系统;3)、行业应用网关系统判断Pk_total不等于Pk_number ;行业应用网关直接将该消息转发短消息中心,并最终将消息发送至手机终端;这两条消息没有被追加企业实名签名。目前,一些EC/SI利用现有机制存在的漏洞,使用其服务号码(短信端口)大量发送超出其业务范围的垃圾短信,并对其短信端口进行二次转包、分包;致使某些不法分子利用该通道进行诈骗、传销等非法活动,给手机用户带来严重的安全隐患。

发明内容
鉴于上述问题,本发明的目的是提供一种短信签名方法及系统。根据本发明的一个方面,提供了一种短信签名方法,包括客户端将一条长文本短信按其文本长度拆分成多条消息,并发送所述多条消息至服务器端,所述发送的多条消息使用同一个短消息业务标识,且所述多条消息中的每条消息均包含该条消息的消息序号的数值及所述多条消息的消息总量的数值;服务器端接收并缓所述多条消息,并设定每条消息的缓存等待时间;服务器端在所述缓存等待时间内对收到的属于所述同一个短消息业务标识的消息数量及序列与所述消息总量的数值及消息序号的数值进行校验,如果所述收到的消息数量与所述消息总量的数值相等,并且所述多条消息的每条消息序号是从I开始以I为增量顺序递增至所述消息总量的数值,则所述多条消息被视为能够通过所述校验的消息;服务器端对能够通过所述校验的多条消息中的最后一条消息追加签名;服务器端按照所述多条消息的消息序号转发处理所述缓存的多条消息。根据本发明的另一方面,提供了一种短信签名系统,包括客户端和服务器端,其中,所述客户端将一条长文本短信按其文本长度拆分成多条消息,并发送所述多条消息至服务器端,所述发送的多条消息使用同一个短消息业务标识,且所述多条消息中的每条消息均包含该条消息的消息序号的数值及所述多条消息的消息总量的数值;所述服务器端包括
消息接收单元,用于接收并缓存所述多条消息,并设定每条消息缓存等待时间;消息校验单元,用于在所述缓存等待时间内对收到的属于所述同一个短消息业务标识的消息数量及序列与所述消息总量的数值及消息序号的数值进行校验,如果所述收到的消息数量与所述消息总量的数值相等,并且所述多条消息的每条消息序号是从I开始以I为增量顺序递增至所述消息总量的数值,则所述多条消息被视为能够通过所述校验的消息;签名单元,用于对能够通过所述校验的多条消息中的最后一条消息追加签名;转发单元,用于按照所述多条消息的消息序号转发处理所述缓存的多条消息。再一方面,本发明还提供一种包括上述短信签名系统的短信网关系统。本发明提供的短信签名方法及系统,根据发送方(EC/SI)设定的短信拆分信息将其拆分后的多条短信进行缓存、组合及匹配处理判断超长短信完整性的方式来选择在哪条短信内容中追加短信签名,能够有效的避免短信网关追加签名的漏洞问题;并且采用发送方(EC/SI)对超长短信设定短信的内容标识的方式,可以保障被缓存匹配消息内容的关联性;同时,针对超长短信在短信网关内缓存、匹配组合异常的消息设定超时处理可选机制的方式,极大的保障了短信签名的灵活性。为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。


通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中图I为根据本发明实施例的短信签名方法的流程图;图2为现有的短信网关签名机制下EC/SI、短信网关、短信中心和移动终端之间的信息交互流程示意图;图3为现有的短信网关短信签名处理流程示意图;图4为根据本发明实施例的短信签名正常处理流程示意图;图5为根据本发明实施例的短信签名异常处理流程;图6为根据本发明实施例的短信签名系统的逻辑结构框图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施例方式在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。由于现行行业应用网关系统的消息转发机制及签名处理机制,现有的消息转发处理及签名机制存在遗漏短信签名的问题。为了解决这一问题,本发明针对由EC/SI拆分成多条消息发送的超长内容的短信,采用先缓存并将多条消息进行完整性关联、匹配后再进行签名处理及转发处理的方法,以避免短信签名的漏洞问题。以下将结合附图对本发明的具体实施例进行详细描述。
图I示出了根据本发明实施例的短信签名方法的流程图。如图I所示,本发明提供的短信签名方法,包括如下步骤SllO :客户端将一条长文本短信按其文本长度拆分成多条消息,并发送所述多条消息至服务器端,所发送的多条消息使用同一个短消息业务标识,且多条消息中的每条消息均包含该条消息的消息序号的数值及多条消息的消息总量的数值;S120 :服务器端接收并缓存上述多条消息,并设定每条消息的缓存等待时间;S130:服务器端在缓存等待时间内对收到的属于所述同一个短消息业务标识的消息数量及序列与上述消息总量的数值及消息序号的数值进行校验,如果所收到的消息数量与消息总量的数值相等,并且多条消息的每条消息序号是从I开始以I为增量顺序递增至所述消息总量的数值,则多条消息被视为能够通过该校验的消息;S140 :服务器端对能够通过上述校验的多条消息中的最后一条消息追加签名;S150:服务器端按照多条消息的消息序号转发处理缓存的多条消息。根据以上流程可以看出,本发明提供的短信签名方法对于所有涉及到EC/SI将长短信拆分后所发送的多条消息(即PK_0TAL>1的消息)先进行消息缓存、不进行转发,并设定消息在系统内的缓存等待时间;在缓存等待时间内,网关陆续收到EC/SI发送给该手机用户拆分后的其他的消息,并对收到的属于同一条长短信的消息数量的数值及序列与pk_total设定的数量(即消息总量)及pk_number (即消息序号)的数值进行完整性及正确性匹配校验;如果网关收到的拆分后的消息数量等于EC/SI设定pk_total的数值,且多条消息的pk_number是从I开始以I为增量顺序递增至pk_total,那么在pk_number=pk_total的消息内容中追加企业实名签名。然后将这些消息进行后续转发处理。对于长短信在短信网关内缓存、匹配组合异常的情况,可以通过设定超时处理可选机制的方式来保障短信签名的灵活性。具体地,当到达或者超过缓存等待时间时,如果网关收到EC/SI发送给该手机用户拆分后的消息数量〈EC/SI设定的pk_total数量,那么,可以采用如下两种可以选择的处理方式对于已经缓存的消息进行拒绝转发处理,向EC/SI返回消息转发失败的状态报告,状态报告中的错误码标识出下发的消息不完整而导致失败;在pk_number与pk_total最接近消息内容中追加签名,然后将所收到的多条消息进行后续转发处理。上述存储转发机制及签名处理方法可以解决EC/SI不按照规则填写PK_T0TAL、PK_NUMBER所带来的短信签名漏洞问题。但是,在实际操作过程中,还存在同一个EC/SI在短时间内(系统设定的缓存等待时间内)向一个用户发送不同内容的2个或者多个的需要被拆分的短信情况,例如EC/SI需要向同一个用户分别发送两个不同内容的需要被拆分的短信;内容I为“您的银行存钱XXXX.... ”,内容长度为240个字节(超过160个字节),需要被拆分成2条消息发送;另一个内容2为“您使用的XXXX证券当前市值XXXX....”内容长度为200个字节(超过160个字节),也需要被拆分成2条消息发送。上述情况下,仅仅根据EC/SI设定的PK_T0TAL及PK_NUMBER无法判别从EC/SI所收到的拆分后的消息属于哪个超长短信。因此,在本发明中,使用同一个短消息业务标识来确认拆分发送的多条消息属于同一个短消息业务标识。也就是说,由EC/SI根据短信内容设定一个唯一的短消息业务标识,该短信如果内容超长需要被拆分成多条消息发送,那么, 这些拆分后的消息使用同一个短消息业务标识。下面以短信接入规范CMPP2. O协议为例进一步详细说明本发明提供的短信签名方法和现有的消息转发处理及签名机制的不同。原CMPP_SUBMIT消息定义(SP — ISMG)如下表I所示
字段名字节数属性描述
Msg-IdBUnsigne 信息标识,由SP侧短信网关本身产生,本处
d Integer 填空。
Pk-totalIUnsIgne 相同Msg—Id的信息总条数,从I开始
d Integer
Pk—numberIUnsigne 相同Msg—Id的信息序号,从I开始
d Integer
RegisteredIUnsigne 是否要求返回状态确认报告
—Deliveryd IntegerO:不需要
I:需要
2:产生SMC话单
(该类型短信仅供网关计费使用,不发____送给目的终端)_
权利要求
1.一种短信签名方法,包括 客户端将一条长文本短信按其文本长度拆分成多条消息,并发送所述多条消息至服务器端,所述发送的多条消息使用同一个短消息业务标识,且所述多条消息中的每条消息均包含该条消息的消息序号的数值及所述多条消息的消息总量的数值; 服务器端接收并缓存所述多条消息,并设定每条消息的缓存等待时间; 服务器端在所述缓存等待时间内对收到的属于所述同一个短消息业务标识的消息数量及序列与所述消息总量的数值及消息序号的数值进行校验,如果所述收到的消息数量与所述消息总量的数值相等,并且所述多条消息的每条消息序号是从I开始以I为增量顺序递增至所述消息总量的数值,则所述多条消息被视为能够通过所述校验的消息; 服务器端对能够通过所述校验的多条消息中的最后一条消息追加签名; 服务器端按照所述多条消息的消息序号转发处理所述缓存的多条消息。
2.如权利要求I所述的短信签名方法,其中,在对能够通过所述校验的多条消息中的最后一条消息追加签名的过程中, 在所述消息序号的数值等于所述预设的消息总量的数值的消息内容中追加短信签名。
3.如权利要求2所述的短信签名方法,其中, 在到达或者超过所述缓存等待时间时,如果所述收到的消息数量少于预设的消息总量,贝丨J 拒绝转发所述缓存的多条消息;或者, 在所述消息序号的数值最接近于所述预设的消息总量的数值的消息内容中追加短信签名,然后将所述缓存的多条消息进行转发处理。
4.一种短信签名系统,包括客户端和服务器端,其中, 所述客户端将一条长文本短信按其文本长度拆分成多条消息,并发送所述多条消息至服务器端,所述发送的多条消息使用同一个短消息业务标识,且所述多条消息中的每条消息均包含该条消息的消息序号的数值及所述多条消息的消息总量的数值; 所述服务器端包括消息接收单元,用于接收并缓存所述多条消息,并设定每条消息的缓存等待时间;消息校验单元,用于在所述缓存等待时间内对收到的属于所述同一个短消息业务标识的消息数量及序列与所述消息总量的数值及消息序号的数值进行校验,如果所述收到的消息数量与所述消息总量的数值相等,并且所述多条消息的每条消息序号是从I开始以I为增量顺序递增至所述消息总量的数值,则所述多条消息被视为能够通过所述校验的消息;签名单元,用于对能够通过所述校验的多条消息中的最后一条消息追加签名; 转发单元,用于按照所述多条消息的消息序号转发处理所述缓存的多条消息。
5.如权利要求4所述的短信签名系统,其中,所述签名单元在所述消息序号的数值等于所述预设的消息总量的数值的消息内容中追加短信签名。
6.如权利要求5所述的短信签名系统,还包括 异常处理单元,用于在到达或者超过所述缓存等待时间时,如果所述收到的消息数量少于预设的消息总量,则 拒绝转发所述缓存的多条消息;或者, 在所述消息序号的数值最接近于所述预设的消息总量的数值的消息内容中追加短信签名,然后将所述缓存的多条消息进行转发处理。
7.—种短信网关系统,包括如权利要求4 6所述的短信签名系统。
全文摘要
本发明提供了一种短信签名方法及系统,其中的方法包括客户端将一条长文本短信拆分成多条消息,并发送至服务器端,所发送的多条消息使用同一个短消息业务标识,且每条消息均包含该条消息的消息序号的数值及所述多条消息的消息总量的数值;服务器端接收并缓存所述多条消息,并设定每条消息接收的缓存等待时间;服务器端在所述缓存等待时间内对收到的属于所述同一个短消息业务标识的消息数量及序列与所述消息总量的数值及消息序号的数值进行校验;服务器端对能够通过所述校验的多条消息中的最后一条消息追加签名;服务器端按照所述多条消息的消息序号转发处理所述缓存的多条消息。本发明有效的避免短信网关追加签名的漏洞问题。
文档编号H04W4/14GK102905240SQ20121037546
公开日2013年1月30日 申请日期2012年9月28日 优先权日2012年9月28日
发明者韩曾帆, 许晓非 申请人:东软集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1