一种短信验证方法、装置、客户端、服务器及系统技术领域
本申请属于信息通信技术领域,尤其涉及一种短信验证方法、装置、客户端、服务
器及系统。
背景技术
随着移动通信技术和互联网的迅速发展,各种移动终端设备如手机、平板等越来
越普及,用户可以通过终端设备实现线上的各种工作和生活需求,如线上购物、在线办理对
公业务、银行转账、缴费等等,大大方便了人们的日常生活。
用户在移动终端的使用过程中,经常会收到各种各样的消息,这些消息通常是以
手机短信的方式下发给用户。例如在互联网涉及用户金融方便应用的验证、消息通知等,基
本都是通过手机号码以短信的方式下发给用户,如10086表示中国移动的官方短信、95588
表示中国工商银行的官方短信。一般的,用户通过短信发送方的号码来判断是否为官方发
来的短信,如果是,通常会对该短信内容深信不疑,然后会根据短信内容进行相应的回复、
打开连接、回电或执行其他操作。
然而,由于伪基站的存在和欺骗技术的升级,使得目前互联网金融安全存在安全
隐患,目前国内外已经发生多次通过伪基站实施的高科技诈骗案件。所述的伪基站可以利
用移动信令监测系统监测移动通讯过程中的各种信令过程,获得手机用户当前的位置信
息。当用户的位置信息(Cell-id)与业务选择发送的特定区域一致时,为用户下发业务定
制的短信。例如骗子通过伪基站,发送来源95188的短信给用户,引导用户到钓鱼网站输入
密码,从而导致用户上当受骗,造成财产损失。伪基站的一个主要特点,是可以随意更改发
送的号码,可以选择尾号较好的号码,例如可以使用尾数为10086或95588等号码,使手机用
户误以为真的是移动公司或工商银行发送的短信。或者,冒用公众服务号码或权威部门名
义编造发送虚假信息,造成的恶劣的社会影响。另外,伪基站还具有很强的流动性,欺骗者
可以将伪基站设备放置在汽车内,驾车缓慢行驶或将车停在特定区域,进行短信诈骗或广
告推销,使得伪基站打击难度非常大。
目前,用户接收到伪基站发送来的短信,尤其是伪装成官方发来的短信时,由于短
信迷惑性较大,很容易使用户相信该短信是真正的官方消息,导致用户回拨短信中的电话、
打开短信中的钓鱼网站等等,造成难以估量的财产损失。
发明内容
本申请目的在于提供一种短信验证方法、装置、客户端、服务器及系统,可以验证
接收到的短信的真伪,防止伪基站诈骗攻击,识别伪基站的假消息,保障用户财产安全。
本申请提供的一种短信验证方法、装置、客户端、服务器及系统是这样实现的:
一种短信验证方法,所述方法包括:
业务服务器在待下发给目标对象的初始短信内容中添加预置校验符,生成业务短
信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生成;
所述业务服务器发送所述业务短信;
客户端接收到目标对象的业务短信后,将所述目标对象的终端关联数据发送至验
证服务器;
所述验证服务器基于接收到的终端关联数据,按照第二加密方式生成终端校验
符;
所述验证服务器判断所述终端校验符与所述终端关联数据中的预置校验符是否
匹配,并根据所述判断的结果确定所述终端关联数据对应的业务短信的验证结果。
一种短信验证方法,所述方法包括:
在待下发给目标对象的初始短信内容中添加预置校验符,生成业务短信,所述预
置校验符根据所述目标对象的预设关联数据按照第一加密方式生成;
发送所述业务短信;
接收客户端发送来的终端关联数据,以及基于接收到的终端关联数据按照第二加
密方式生成终端校验符;
判断所述终端校验符与所述终端关联数据中的预置校验符是否匹配,并根据所述
判断的结果确定所述终端关联数据对应的业务短信的验证结果。
一种短信验证方法,所述方法包括:
接收业务服务器的业务短信,所述业务短信为业务服务器在待下发给目标对象的
初始短信内容中添加预置校验符生成;
将所述业务短信对应的目标对象的终端关联数据发送至验证服务器。
一种短信验证装置,所述装置包括:
业务处理模块,用于在待下发给目标对象的初始短信内容中添加预置校验符,生
成业务短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生成;
通信模块,用于发送业务短信和接收客户端发送来的终端关联数据;
验证处理模块,用于基于接收到的终端关联数据按照第二加密方式生成终端校验
符;还用于判断所述终端校验符与所述终端关联数据中的预置校验符是否匹配,并根据所
述判断的结果确定所述终端关联数据对应的业务短信的验证结果。
一种短信验证服务器,所述服务器包括:
业务处理单元,用于在待下发给目标对象的初始短信内容中添加预置校验符,生
成业务短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生成;
通信模块,用于发送业务短信和接收客户端发送来的终端关联数据;
验证处理单元,用于基于接收到的终端关联数据按照第二加密方式生成终端校验
符;还用于判断所述终端校验符与所述终端关联数据中的预置校验符是否匹配,并根据所
述判断的结果确定所述终端关联数据对应的业务短信的验证结果。
一种短信验证装置,包括短信通信模块,所述短信通信模块被设置成,
用于接收业务服务器的业务短信,所述业务短信为业务服务器在待下发给目标对
象的初始短信内容中添加预置校验符生成;还用于将所述业务短信对应的目标对象的终端
关联数据发送至验证服务器。
一种客户端,包括通信模块,所述通信模块被设置成,用于接收业务服务器的业务
短信,所述业务短信为业务服务器在待下发给目标对象的初始短信内容中添加预置校验符
生成;还用于将所述业务短信对应的目标对象的终端关联数据发送至验证服务器。
一种短信验证系统,所述系统包括:
业务服务器,用于在待下发给目标对象的初始短信内容中添加预置校验符,生成
业务短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生成;还
用于发送所述业务短信;
客户端,用于接收目标对象的业务短信,以及将所述目标对象的终端关联数据发
送至验证服务器;
验证服务器,用于接收客户端发送来的终端关联数据,以及基于接收到的终端关
联数据按照第二加密方式生成终端校验符;还用于判断所述终端校验符与所述终端关联数
据中的预置校验符是否匹配,并根据所述判断的结果确定所述终端关联数据对应的业务短
信的验证结果。
一种短信验证系统,所述系统包括:
服务器,用于在待下发给目标对象的初始短信内容中添加预置校验符,生成业务
短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生成;还用于
发送所述业务短信;还用于接收客户端发送来的终端关联数据,以及基于接收到的终端关
联数据按照第二加密方式生成终端校验符;还用于判断所述终端校验符与所述终端关联数
据中的预置校验符是否匹配,并根据所述判断的结果确定所述终端关联数据对应的业务短
信的验证结果;还用于将所述验证结果发送至相应的客户端;
客户端,用于接收目标对象的业务短信,以及将所述目标对象的终端关联数据发
送至验证服务器;还用于接收服务器返回的业务短信的验证结果,并根据所述验证结果执
行相应的操作指令。
本申请提供的一种短信验证方法、装置、客户端、服务器及系统,可以在下发给用
户的业务短信中添加预置校验符,而用户接收到业务短信后可以将短信内容的终端关联数
据发送到验证服务器进行验证业务短信的真伪,从而防止伪基站攻击,提高短信信息的安
全性,保障用户财产安全。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提
下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种短信验证方法一种实施例的方法流程图;
图2是本申请所述一种短信验证方法另一种实施例的方法流程示意图;
图3是本申请所述一种短信验证方法一种实施应用场景的示意图;
图4是本申请提供的一种短信待验证方法一种实施例的方法流程示意图;
图5是本申请提供的一种短信待验证方法另一种实施例的方法流程示意图;
图6是本申请提供的一种短信待验证方法一种实施例的方法流程示意图;
图7是本申请提供的一种短信验证装置一种实施例的模块结构示意图;
图8是本申请提供的验证处理模块103一种实施例的模块结构示意图;
图9是本申请提供的短信验证服务器一种实施例的模块结构示意图;
图10本申请提供的一种短信验证系统一种实施场景的构架示意图;
图11本申请提供的一种短信验证系统另一种实施场景的构架示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实
施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施
例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通
技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护
的范围。
图1是本申请所述一种短信验证方法一种实施例的方法流程图。虽然本申请提供
了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳
动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在
必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施
例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产
品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行
(例如并行处理器或者多线程处理的环境、甚至包括分布式处理的实施环境)。
具体的一种实施应用场景如图1所述,本申请提供的一种短信验证方法的一种实
施例可以包括:
S1:业务服务器在待下发给目标对象的初始短信内容中添加预置校验符,生成业
务短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生成。
本申请实施例中,需要下发给目标对象通知消息、推送消息等的业务服务器可以
在待下发的初始短信内容(也可以称为原始短信内容)中添加用户识别验证的预置校验符。
所述的预置校验符可以由服务器根据所述目标对象的预设关联数据按照预先选取/设计的
第一加密方式生成。目前短信通知、推广等主要是以手机号码为对象进行的处理,本申请的
一种实施例的应用场景中,所述目标对象可以为手机号码,如中国国内的11位阿拉伯数字
的移动、电信或者联通运营商为用户分配的手机号码。不同行业场景中的业务服务器可以
通过手机号码为目标对象发送通知、推广消息等,如某区域的中国工商银行的业务服务器
可以向注册预留的用户的手机号码广播发送积分年底过期的通知短信,或者商家向用户填
写的收件人的联系号码发送商户已发货注意查收的通知短信内容等。
上述所述的目标对象通常的可以为移动通信运营商为用户分配的手机号码,本申
请不排除在其他的实施例中,所述的目标对象可以为其他的短信接收对象,如所述的目标
对象也可以为用户的其他方式的身份标识或者设备识别码。如一种应用场景中企业局域网
内识别码可以为员工分配的花名标识,可以包括中文和英文的组合,企业可以通过广播设
备向可接受该广播的员工终端发送企业通知短信。
业务服务器可以在下发给目标对象的初始短信内容中添加预置校验符。所述的预
置校验符可以由所述业务服务器生成,也可以包括由专用的服务器或者第三方的服务器进
行相应的处理、生成。本申请实施例添加的预置校验符可以根据所述目标对象的预设关联
数据按照一定的加密方式生成。所述的预设关联数据可以包括预先设置的所述目标对象的
指定某一个或者多个相关联的数据,如短信内容、识别号码、用户标识等,利用这一个或者
多个相关联的数据按照设定好的加密方式生成预置校验符。
获取目标对象的预设关联数据后,可以根据预先设定的第一加密方式生成预置校
验符,然后可以将预置校验符添加到初始短信内容中,生成本实施例中要发送给目标对象
的业务短信。本申请的一种实施例中,所述的目标对象可以为通信运营商为用户分配的用
户识别号码,如中国国内的11为阿拉伯数字。即一种实施方中,所述预设关联数据可以包
括:所述初始短信内容、目标对象的识别码。所述目标对象的识别码可以为手机号码,或者
目标对象为手机号码,其识别码可以为手机号码本身。
具体一个应用场景中,例如某支付应用A的业务服务器S通过手机号码下发给用户
的初始短信内容C1为:
“请登录www.xxxpay.com进行实名认证。”
客户端的用户user1、手机号码为186XXXX6666通过支付应用A进行业务注册,需要
接收业务服务器S的短信。此时,业务服务器可以根据此次待下发给该用户user1的初始短
信内容和手机号码按照选取的第一加密方式生成一串校验符:L4IEK4KA5S1。具体的采用的
第一加密方式可以由设计人员根据应用场景选取,或者自定义设置加密方式。可以将该校
验符“L4IEK4KA5S1”作为预置校验符,然后,可以将针对此初始短信内容和手机号码的预置
校验符添加到初始短信内容中,生成业务短信:
“请登录www.xxxpay.com进行实名认证[L4IEK4KA5S1]。”
其他的实施方式中,所述的第一加密方式也可以采用md5摘要算法,即可以根据短
信内容+识别码生成md5,按照预设取值方式取md5的字符作为校验符。
本申请实施例中,业务服务器可以在待下发给目标对象的初始短信内容中添加预
置校验符,生成业务短信。所述预置校验符可以根据所述目标对象的预设关联数据按照第
一加密方式生成。
S2:所述业务服务器发送所述业务短信。
业务服务器生成添加了预置校验符的业务短信后,可以将所述业务短信发送出
去。一般的,所述的业务服务器可以为如中国移动、中国电信这样的通信运营商的服务器,
可以通过相应的服务器将业务短信内容传输到指定基站,然后基站通过广播发送到接入到
该基站小区的终端用户。当然,所述的业务服务器也可以为各个企业应用的业务服务器,如
上述支付应用A的业务服务器,或者中国工商银行的业务服务器。这些企业应用的业务服务
器不排除在一些实施方式中可以通过自己的专用基站发送所述业务短信,通常的这些企业
用户可以采用通过通信运营商的基站发送所述业务短信至目标对象。
S3:客户端接收到目标对象的业务短信后,将所述目标对象的终端关联数据发送
至验证服务器。
所述的客户端一般的可以包括所述目标对象所在的终端设备,如手机号码的SIM
卡安装的移动通信终端(如手机)。一般的,一个客户端中可以包括一个目标对象,其他的实
施例中也可以包括多个目标对象,如目前手机中可以实现的双卡双待可以同时使用两个手
机号码。所述的目标对象的终端关联数据可以包括预先设置的客户端上所述目标对象的指
定某一个或者多个相关联的数据,如客户端接收到的某个目标对象的业务短信的信息内
容,或者目标对象所在的客户端的设备标识或者其他指定的关联数据。一般的,所述的终端
关联数据可以与所述预设关联数据指定的参数/属性类型相同,如都可以包括短信内容或
者手机号码。本申请不排除在其他的一些实施例中,客户端要发送给验证服务器的终端关
联数据的类型可以不相同或者部分相同。具体的,在本实施例某支付应用A的业务服务器S
通过手机号码下发给用户的初始短信内容C1的应用场景中,所述的终端关联数据可以设置
为包括:所述业务短信、接收所述业务短信的目标对象的识别码。
当用户的手机接收到“请登录www.xxxpay.com进行实名认证[L4IEK4KA5S1]。”的
业务短信时,手机可以自动将该条业务短信内容以及接收该业务短信的手机号码
186XXXX6666的终端关联数据一同发送至指定的验证服务器进行短信真伪的验证。
本申请的一种实施例中,所述的验证服务器可以包括与业务服务器逻辑上分开、
单独设置的用于短信真伪验证的服务器。具体的可以是与业务服务器属于同一个商家或业
务系统下的验证服务器,也可以为合作友商的验证服务器。本申请的另一种实施例中,所述
的验证服务器与所述业务服务器也可以为同一个服务器,可以分属于不同的业务处理模
块。如某支付应用的业务服务器S可以向目标对象发送通知短信,同时也可以接收目标对象
所在客户端发送过来的终端关联数据,进行相应的验证处理。因此,本申请所述方法的一种
实施例中,所述业务服务器与验证服务器被设置成采用下述中任意一种实施方式:
所述业务服务器与验证服务器为同一服务器;
所述业务服务器与验证服务器为逻辑位置上不同的服务器。所述的逻辑位置上不
同可以包括物理位置属于同一机房或者同一业务系统的不同处理服务器。
本申请实施例中,客户端接收到目标对象的业务短信后,可以将所述目标对象的
终端关联数据发送至验证服务器。所述的终端关联数据可以预先指定设置目标对象在所述
客户端关联的一个或者多个关联数据。
S4:所述验证服务器基于接收到的终端关联数据,按照第二加密方式生成终端校
验符。
验证服务器可以开放相应的接口服务,接收客户端上传来的终端关联数据,用于
客户端业务短信的真伪验证。验证服务器可以根据所述目标对象的终端关联数据进行验
证,本实施例中可以采用选择的第二加密方式生成该终端关联数据对应的终端校验符。
一种实施方式中,所述的第二加密方式可以与上述生成预置校验符时使用的第一
加密方式相同,如可以获取与所述预设关联数据类型相同的终端关联数据(如都是根据短
信内容和手机号码生成校验符),验证服务器采用域第一加密方式相同的第二加密方式将
客户端上传的终端关联数据(终端上传的短信内容和用户的手机号码)生成终端校验符。当
然,本申请其他的实施例中,所述的第二加密方式也可以与所述第一加密方式不相同,如第
二加密方式可以根据终端关联数据的所包括的具体内容项在所述第一加密方式的基础上
设置一些其他的处理方式或改变其中一些参量。
S5:所述验证服务器判断所述终端校验符与所述终端关联数据中的预置校验符是
否匹配,并根据所述判断的结果确定所述终端关联数据对应的业务短信的验证结果。
验证服务器可以提取客户端上传的目标对象的终端关联数据,获取终端关联数据
中的预置校验符。验证服务器可以判断所述根据终端关联数据按照所述第二加密方式生成
的终端校验符与所述终端关联数据中包含的终端校验符是否匹配。
所述的匹配,可以包括所述终端校验符与所述预置校验符相同的实施方式,也可
以包括所述终端校验符与所述预置校验符符合预设的对应/映射关系。例如,如果两者都采
用短信内容和手机号码作为生成校验符的关联数据,并且采用的加密方式也相同。那么,验
证服务器可以比较根据终端关联数据生成的终端校验符与业务短信中自带的预置校验符
是否相同,如果相同,则验证通过,表示客户端收到的业务短信为真实的业务服务器下发
的;否则,验证不通过。
需要说明的是,如果验证服务器从客户端上传的终端关联数据中没有提取出预置
校验符,则一种实施方式中可以直接判定该终端关联数据对应的业务短信验证不通过,例
如一些欺诈者还不知道实施了本方案的业务系统实施短信验证功能。在一些应用场景下,
客户端如果真实的业务服务器发送而来的业务短信,该业务短信中是可以包含预置校验符
的信息。客户端此时上传给验证服务器的终端关联数据中也是可以包含该预置校验符的信
息,以便验证服务器来校验该业务短信的真伪。而客户端收到一些未添加预置校验符的业
务短信时,客户端也可以将相应的终端关联数据,如短信内容和手机号码,发送到验证服务
器。由于验证服务器检测到接收到的终端关联数据中没有预置校验符,则可以直接判定该
业务短信为欺诈短信等,验证不通过。当然,即使上传的终端关联数据中包含了预置校验
符,由于采用的关联数据、加密方式的处理不同,验证服务器根据短信内容、手机号码等生
成不了与预置校验符相匹配的终端校验符,同样验证不能通过。
验证服务器对根据客户端上传的终端关联数据验证相应业务对象的真伪后,所述
方法还可以包括
S6:将验证结果返回给相应的客户端。
图2是本申请所述一种短信验证方法另一种实施例的方法流程示意图。此时客户
端可以根据验证结果执行相应的操作,例如如果业务短信验证结果不通过,则客户端应用
向用户提示短信警告的信息;如果验证通过,则可以设置业务短信为官方短信,或者验证通
过时默认不出现提示信息。
图3是本申请所述一种短信验证方法一种实施应用场景的示意图。如图3所示,各
个应用的服务商可以通过互联网借助于通信运营商的基站将业务短信发送给客户端,客户
端收到业务短信后可以将如业务短信或者再包括接收时间的终端关联数据上传到应用的
验证服务器。验证服务器进行验证,识别业务短信真伪。通过上述可以看出,通过本申请实
施方案,业务服务器可以在下发给用户的业务短信中添加预置校验符,而用户接收到业务
短信后可以将短信内容的终端关联数据发送到验证服务器进行验证业务短信的真伪,从而
防止伪基站攻击,提高短信信息的安全性,保障用户财产安全。
基于上述所述,本申请还提供一种可以用于服务器一侧的短信验证方法,实现在
下发给客户端的业务短信中添加预置校验符,以及根据客户端上传的数据验证客户端的业
务短信真伪。具体的如图4所示,图4是本申请提供的一种短信待验证方法一种实施例的方
法流程示意图,本申请提供的一种短信验证方法中,所述方法可以包括:
S11:在待下发给目标对象的初始短信内容中添加预置校验符,生成业务短信,所
述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生成;
S22:发送所述业务短信;
S33:接收客户端发送来的终端关联数据,以及基于接收到的终端关联数据按照第
二加密方式生成终端校验符;
S44:判断所述终端校验符与所述终端关联数据中的预置校验符是否匹配,并根据
所述判断的结果确定所述终端关联数据对应的业务短信的验证结果。
如前所述,本申请所述方法的一种实施例中,在短信中添加的校验码的处理时可
以采用md5摘要算法。在应用服务开放平台提供验证服务,给接入的应用,如应用服务开放
平台自己的客户端应用或合作友商的客户端应用提供验证短信真伪的服务。具体的,本申
请所述一种短信验证方法的一种实施例中,所述第一加密方式和第二加密方式可以被设置
成:
S110:基于预设关联数据,采用预设加密算法生成第一源校验字符串;按照预设取
值方式取所述第一源校验字符串指定位置中的字符作为预置校验符;
基于终端关联数据,采用预设加密算法生成第二源校验字符串;按照预设取值方
式取所述第二源校验字符串指定位置中的字符作为终端校验符。
在上述向手机号码为186XXXX6666下发初始短信内容为“请登录www.xxxpay.com
进行实名认证。”应用场景处理中,如果采用md5摘要算法时可以生成32位的md5源校验字符
串:742D07543B0DFED86255296AC6EEE3DC,然后可以取其中指定位段第2、4、8、16、32的字符
作为校验符:4D48C。在下发业务短信处理过程中,可以将该校验符作为预置校验符添加到
初始短信内容中,生成最终的业务短信为:
“请登录www.xxxpay.com进行实名认证[4D48C]。”
若是在短信验证处理结果阶段,则验证服务器可以提提取终端关联数据中业务短
信的内容“请登录www.xxxpay.com进行实名认证[4D48C]。”,然后追加用户手机号码
186XXXX6666,采用第二加密方式生成终端校验符。最终生成的终端校验符,如果第一加密
方式和第二加密方式采用相同的加密算法,则可以生成终端校验符“4D48C”。如果采用不同
的加密算法,则可以生成其他的终端校验符。一般的,如果设置如果第一加密方式和第二加
密方式采用不同的加密算法,生成的校验符通常也不一样,此时可以采取第一加密方式与
第二加密方式有对应的关系,以使采用第二加密方式生成的终端校验符可以与采用第一加
密方式生成预置校验符进行比较、匹配等,验证出短信真伪。
本申请所述方法的另一种实施例中,
S220:所述预设关联数据包括所述初始短信内容、目标对象的识别码;所述终端关
联数据包括所述业务短信、接收所述业务短信的目标对象的识别码;
具体的实施过程中,可以以短信内容和手机号码作为生成校验符的关联数据,并
且生成预置校验符和终端校验符时采用相同的加密算法,如均使用md5摘要算法,取指定位
置的5位字符。
本申请所述短信验证方法的另一种实施例中,可以设置根据不同的用户的识别码
设置不同的校验符取值方式。因此,本申请所述方法的另一种实施例中,
S330:所述预设加密算法可以被设置成,根据识别码设置有至少两种源校验符中
字符的预设取值方式;在获取目标对象的识别码时,根据所述识别码选取对应的预设取值
方式生成预置校验符/终端校验符。
根据识别码设置有至少两种所述源校验符中字符的预设取值方式具体的可以自
定义规则,如不同的号码段设置不同的取值方式,或者不同结尾源校验字符串设置不同的
取值方式,甚至,每一个识别码都可以对应唯一一个取值方式。例如上述短信内容+手机号
码采用md5摘要算法的应用场景中,如果手机号码段为186,则可以配置成取源校验字符串
的第2、4、8、16、32的字符作为校验符;如果手机号码段为139,则可以配置成取源校验字符
串的第1、3、9、17、31的字符作为校验符。当然,还可以设计其他的预设取值方式,以实现根
据识别码采用不同的取值方式,增加校验符加密的安全性。
本申请所述方法的另一种实施例中,还可以在生成预置校验符时添加目标对象的
密钥进行处理,进一步加强校验符的安全性,避免一些加密信息泄露后导致整个服务系统
不可用。具体的,本申请所述一种短信验证方法的另一种实施例中,
S440:所述预设关联数据还包括目标对象的动态密钥,所述动态密钥被设置成,根
据目标对象的识别码生成密钥集合,且根据业务短信的处理时间选出目标对象在所述处理
时间对应的密钥集合中的密钥作为生成预置校验符的动态密钥;
所述终端关联数据还包括客户端接收到业务短信的接收时间;
相应的,所述在接收到所述终端关联数据之后所述方法还可以包括:
S441:获取接收所述业务短信的目标对象在所述接收时间对应的校验密钥;
以及,所述按照第二加密方式生成终端校验符包括:根据所述终端关联数据和所
述校验密钥,按照第二加密方式生成终端校验符。
例如上述实施例应用场景中可以使用短信内容+手机号码+密钥的方式生成md5,
然后按照预设取值方式取指定位置的5位字符作为预置校验符。本实施例的一种实施方式
中,所述目标对象的识别码可以为通信运营商为用户分配的用户识别号码,那么,所述密钥
集合中的密钥可以为根据所述用户识别号码指定位置的字符生成。
具体的实施过程中,可以根据手机号码的后几位来设置不同的密钥,避免某个密
钥泄露后,用户的短信验证服务不可用。例如可以采用手机号码最后6位数字,从000000到
999999,共可以生成100万个密钥。如果结合32位的md5取其6位字符,则可以有多达6亿的组
合。每个手机号都可以生成这样的密钥集合,密钥集合中的密钥可以设计成在不同的时间
点使用不同的密钥。如每隔30秒变换一次密钥,根据当前处理业务时间的当前系统时间从
用户手机号码对应的密钥集合从选出该当前系统时间对应的密钥作为动态密钥,然后再进
一步处理。
客户端上传终端关联数据时可以同时上传接收业务短信的时间。验证服务器根据
业务短信的接收时间提取出那个时间点所使用的密钥,然后利用这个密钥进行验证。
如前所述,本申请所述方法的一种方式中,所述目标对象的识别码可以为通信运
营商为用户分配的用户识别号码,所述密钥集合中的密钥可以为根据所述用户识别号码指
定位置的字符生成。
进一步的,验证服务器根据校验符验证接收的终端关联数据对应的业务短信真伪
后,可以将验证结果返给相应的客户端。图5是本申请提供的一种短信待验证方法另一种实
施例的方法流程示意图。客户端一侧可以根据验证结果进行相应的处理,例如如果验证不
通过,则向用户发出业务短信为欺诈短信等的提示信息。这样,可以基于服务器的验证结果
保障客户端用户接收到的短信的安全性,因此,本申请所述短信验证方法的一种实施例中,
在确定所述终端关联数据对应的业务短信的验证结果后,所述方法还可以包括:
S55:将所述验证结果返回至相应的客户端。
上述用于服务器一侧的短信验证方法的各个实施例,具体的实施方式可以参照本
申请其他实施例的相关描述,在此不做赘述。利用本申请实施例提供的短信验证方法,服务
器可以在下发给用户的业务短信中添加预置校验符,而用户接收到业务短信后可以将短信
内容的终端关联数据发送到验证服务器进行验证业务短信的真伪,从而防止伪基站攻击,
提高短信信息的安全性,保障用户财产安全。
进一步的,本申请还提供一种可以用于客户端的短信验证方法,实现客户端一侧
识别出接收到的短信的真伪,防止客户端用户受到伪基站攻击,保障客户端用户财产。图6
是本申请提供的一种短信待验证方法一种实施例的方法流程示意图。具体的如图6所示,一
种实施例中,所述方法可以包括:
S301:接收业务服务器的业务短信,所述业务短信为业务服务器在待下发给目标
对象的初始短信内容中添加预置校验符生成。所述预置校验符可以根据所述目标对象的预
设关联数据按照第一加密方式生成。
S302:将所述业务短信对应的目标对象的终端关联数据发送至验证服务器。
如前所述,一种实施方式中,所述终端关联数据可以包括所述业务短信、接收所述
业务短信的目标对象的识别码,以使验证服务器根据业务短信的内容和识别码生成终端校
验符。
其他的实施方式中,所述终端关联数据还可以包括:接收到业务短信的接收时间,
以使验证服务器根据所接收时间获取接收业务短信的目标对象在所述接收时间对应的校
验密钥,并根据所述校验密钥生成终端校验符。
一种实施方式中,为防止破解,服务器一侧设置了密钥按照一定周期更新。对于客
户端一侧,在上传短信时可以同时上传短信接收时间,然后服务器利用那个短信接收时间
的密钥进行短信验证,大大提高短信验证安全性和可靠性。
基于上述所述的短信验证方法,本申请提供一种短信验证装置。所述短信验证装
置可以用于服务器中,实现对客户端业务短信真伪的验证,防止伪基站攻击,提供短信业务
安全性,保障用户财产安全。图7是本申请提供的一种短信验证装置一种实施例的模块结构
示意图,如图7所示,所述装置可以包括:
业务处理模块101,可以用于在待下发给目标对象的初始短信内容中添加预置校
验符,生成业务短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方
式生成;
通信模块102,可以用于发送业务短信和接收客户端发送来的终端关联数据;
验证处理模块103,可以用于基于接收到的终端关联数据按照第二加密方式生成
终端校验符;还可以用于判断所述终端校验符与所述终端关联数据中的预置校验符是否匹
配,并根据所述判断的结果确定所述终端关联数据对应的业务短信的验证结果。
参照前述方法的实施方式,本申请提供的一种短信验证装置的另一种实施例中,
所述第一加密方式和第二加密方式被设置成:
基于预设关联数据,采用预设加密算法生成第一源校验字符串;按照预设取值方
式取所述第一源校验字符串指定位置中的字符作为预置校验符;
基于终端关联数据,采用预设加密算法生成第二源校验字符串;按照预设取值方
式取所述第二源校验字符串指定位置中的字符作为终端校验符。
所述的预设关联数据和终端关联数据可以根据业务场景或短信验证方式进行定
义设置。本申请提供的一种实施方式中,所述预设关联数据包括所述初始短信内容、目标对
象的识别码;所述终端关联数据包括所述业务短信、接收所述业务短信的目标对象的识别
码。
本申请所述装置的另一种实施例中,可以根据不同的用户的识别码设置不同的校
验符取值方式。因此,本申请所述装置的另一种实施例中,所述验证处理模块103可以包括:
取值规则模块1031,可以用于存储根据识别码设置的至少两种源校验符中字符的
取值方式;
取值方式确定模块1032,可以用于在获取目标对象的识别码时,根据所述识别码
确定源校验符中字符的取值方式;
校验符生成模块1033,可以用于根据所述源校验符中字符的取值方式生成预置校
验符/终端校验符。
图8是本申请提供的验证处理模块103一种实施例的模块结构示意图。根据识别码
设置有至少两种所述源校验符中字符的预设取值方式具体的可以自定义规则,如不同的号
码段设置不同的取值方式,或者不同结尾源校验字符串设置不同的取值方式,甚至,每一个
识别码都可以对应唯一一个取值方式。所述的源校验符在生成预置校验符时可以为根据预
设关联数据生成的第一源校验符,相应的,在终端校验符生成阶段,所述源校验符可以为根
据终端关联数据生成的第二源校验符。
所述的一种短信验证装置的另一种实施方式中,还可以在生成预置校验符时添加
目标对象的密钥进行处理,进一步加强校验符的安全性,避免一些加密信息泄露后导致整
个服务系统不可用。因此,所述的一种短信验证装置的另一种实施方式中,所述预设关联数
据还可以包括目标对象的动态密钥,所述动态密钥被设置成,根据目标对象的识别码生成
密钥集合,且根据业务短信的处理时间选出目标对象在所述处理时间对应的密钥集合中的
密钥作为生成预置校验符的动态密钥;
所述终端关联数据还包括客户端接收到业务短信的接收时间;
相应的,所述验证处理模块在接收到所述终端关联数据之后还包括:
获取接收所述业务短信的目标对象在所述接收时间对应的校验密钥;以及,
所述按照第二加密方式生成终端校验符包括:根据所述终端关联数据和所述校验
密钥,按照第二加密方式生成终端校验符。
利用本申请实施例提供的短信验证装置,服务器可以在下发给用户的业务短信中
添加预置校验符,而用户接收到业务短信后可以将短信内容的终端关联数据发送到验证服
务器进行验证业务短信的真伪,从而防止伪基站攻击,提高短信信息的安全性,保障用户财
产安全。
上述所述的方法或装置可以用于服务器中,实现对客户端业务短信真伪的验证,
防止伪基站攻击。因此,本申请还提供一种短信验证服务器,图9是本申请提供的短信验证
服务器一种实施例的模块结构示意图,如图9所示,所述服务器可以包括:
业务处理单元100,可以用于在待下发给目标对象的初始短信内容中添加预置校
验符,生成业务短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方
式生成;
通信模块110,可以用于发送业务短信和接收客户端发送来的终端关联数据;
验证处理单元120,可以用于基于接收到的终端关联数据按照第二加密方式生成
终端校验符;还用于判断所述终端校验符与所述终端关联数据中的预置校验符是否匹配,
并根据所述判断的结果确定所述终端关联数据对应的业务短信的验证结果。
当然,参照前述所述,所述第一加密方式和第二加密方式可以被设置成:
基于预设关联数据,采用预设加密算法生成第一源校验字符串;按照预设取值方
式取所述第一源校验字符串指定位置中的字符作为预置校验符;
基于终端关联数据,采用预设加密算法生成第二源校验字符串;按照预设取值方
式取所述第二源校验字符串指定位置中的字符作为终端校验符。
进一步的,另一种实施例中,所述预设加密算法还可以被设置成,根据识别码设置
有至少两种源校验符中字符的预设取值方式;在获取目标对象的识别码时,根据所述识别
码选取对应的预设取值方式生成预置校验符/终端校验符。
所述的预设关联数据和终端关联数据同样可以自定义设置。本申请所述服务器得
到一种实施例中,所述预设关联数据可以包括所述初始短信内容、目标对象的识别码;所述
终端关联数据可以包括所述业务短信、接收所述业务短信的目标对象的识别码。当然,其他
的实施例中,还可以加入密钥,实现密钥动态更新,进一步加强短信验证。
上述用于服务器一侧的短信验证装置的各个实施例以及目标对象可能的实施方
式、将验证结果返回相应客户端等的参考装置、方法的其他实施方式,具体的可以参照本申
请其他实施例的相关描述,在此不做赘述。
利用本申请实施例提供的短信验证服务器,可以在下发给用户的业务短信中添加
预置校验符,而用户接收到业务短信后可以将短信内容的终端关联数据发送到验证服务器
进行验证业务短信的真伪,从而防止伪基站攻击,提高短信信息的安全性,保障用户财产安
全。
对应客户端一侧,本申请还提供一种可以用于客户端的短信验证装置,所述装置
可以包括短信通信模块。一种实施例中,所述短信通信模块可以被设置成,
可以用于接收业务服务器的业务短信,所述业务短信为业务服务器在待下发给目
标对象的初始短信内容中添加预置校验符生成;还可以用于将所述业务短信对应的目标对
象的终端关联数据发送至验证服务器。
上述短信验证装置可以用于客户端,如客户端中某企业的支付应用。在安装有该
支付应用的客户端收到业务短信时,可以将业务短信发送到验证服务器进行验证,以识别
该业务短信是否来自真正的业务服务器。因此,本申请还提供一种客户端,包括通信模块,
一种实施例中,所述通信模块被设置成,可以用于接收业务服务器的业务短信,所述业务短
信为业务服务器在待下发给目标对象的初始短信内容中添加预置校验符生成;还用于将所
述业务短信对应的目标对象的终端关联数据发送至验证服务器。
上述实施所述的短信验证方法、装置、服务器、客户端等的实施方式可以应用于手
机短信的真伪验证。基于上述,本申请还提供一种短信验证系统,可以实现验证短信真伪,
防止伪基站攻击,提供短信业务安全性。图10本申请提供的一种短信验证系统一种实施场
景的构架示意图,如图1所示,所述短信验证系统可以包括:
业务服务器1,可以用于在待下发给目标对象的初始短信内容中添加预置校验符,
生成业务短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生
成;还可以用于发送所述业务短信;
客户端2,可以用于接收目标对象的业务短信,以及将所述目标对象的终端关联数
据发送至验证服务器;
验证服务器3,可以用于接收客户端发送来的终端关联数据,以及基于接收到的终
端关联数据按照第二加密方式生成终端校验符;还用于判断所述终端校验符与所述终端关
联数据中的预置校验符是否匹配,并根据所述判断的结果确定所述终端关联数据对应的业
务短信的验证结果。
上述实施例提供的验证系统的中业务服务器与验证服务器可以为逻辑上分开的
服务器。当然,本申请提供短信验证系统的另一种实施例中,所述业务服务器与验证服务器
可以为同一个处理服务器。图11本申请提供的一种短信验证系统另一种实施场景的构架示
意图,如图11所示,本申请提供的一种短信验证系统的另一种实施例中,所述系统可以包
括:
服务器,可以用于在待下发给目标对象的初始短信内容中添加预置校验符,生成
业务短信,所述预置校验符根据所述目标对象的预设关联数据按照第一加密方式生成;还
可以用于发送所述业务短信;还可以用于接收客户端发送来的终端关联数据,以及基于接
收到的终端关联数据按照第二加密方式生成终端校验符;还可以用于判断所述终端校验符
与所述终端关联数据中的预置校验符是否匹配,并根据所述判断的结果确定所述终端关联
数据对应的业务短信的验证结果;还可以用于将所述验证结果发送至相应的客户端;
客户端,可以用于接收目标对象的业务短信,以及将所述目标对象的终端关联数
据发送至验证服务器;还可以用于接收服务器返回的业务短信的验证结果,并根据所述验
证结果执行相应的操作指令。
如果客户端接收的业务短信的验证结果为验证不通过,则客户端应用可以向用户
提示短信警告的信息;如果验证通过,则可以设置业务短信为官方短信,或者验证通过时默
认不出现提示信息。
利用本申请实施例提供的短信验证系统,可以在下发给用户的业务短信中添加预
置校验符,而用户接收到业务短信后可以将短信内容的终端关联数据发送到验证服务器进
行验证业务短信的真伪,从而防止伪基站攻击,提高短信信息的安全性,保障使用终端应用
的用户的财产安全。
尽管本申请内容中提到业务服务器/客户端/验证服务器之间信息交互、目标对象
为手机号码的实施方式、MD5摘要算法、取手机号码最后6为生成密钥、预置校验符和终端校
验符的加密/生成方式等之类的信息交互方式、数据加密、关联数据定义等的描述,但是,本
申请并不局限于必须是符合信息通信标准、标识加密算法、行业常规/同一数据定义/设置
方法或实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础
上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实
施效果。应用这些修改或变形后的数据获取、交互、判断、定义方式等获取的实施例,仍然可
以属于本申请的可选实施方案范围之内。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创
造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤
执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以
按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理
的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖
非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备
所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或
者设备中还存在另外的相同或等同要素。
上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者
由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分
别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实
现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装
置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时
可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一
些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连
接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形
式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完
全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程
逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种
硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或
者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件
部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序
模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组
件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,
由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可
以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可
借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质
上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品
可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备
(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施
例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部
分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众
多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或
便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设
备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和
变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的
精神。