本发明涉及伪基站相关的技术领域,尤其涉及一种伪基站防范方法和装置。
背景技术:
伪基站即假基站,设备一般由主机和笔记本电脑组成,通过短信群发器、短信发信机等相关设备能够搜取以其为中心、一定半径范围内的手机卡信息,通过伪装成运营商的基站,冒用他人手机号码强行向用户手机发送诈骗、广告推销等短信息。伪基站的主要特点是可以随意更改发送的号码、可以选择尾号较好的号码、可以使用10086或95588等号码,使手机用户误以为是移动公司或工商银行等发送的短信。
针对伪基站问题,运营商和手机安全厂商纷纷推出自有解决方案,目前主流的解决方案主要是现场侦测和大数据分析两类:
一、现场侦测
首先需进行信息收集,信息收集主要依赖用户投诉、网管指标、现场路测、话单比对等方式,发现疑似伪基站的出现的迹象后,派遣基站信号侦测车第一时间到指定位置收集伪基站信息;如果存在诈骗等行为,则转送相关执法机关执行处理。
该方法存在以下缺点:
相对滞后,对于移动伪基站的监控能力较差;由于伪基站通常藏身在城市中心、人口密集区,体积小,流动性强,而且十分隐蔽,如果没有准确定位,容易打草惊蛇;该方法治理伪基站需要大量的人力、物力和时间。
二、大数据分析
目前手机安全厂商对该类短信处理方式是将用户短信上传至平台,用敏感词等大数据分析方式,解析短信内容,判定其是否是伪基站短信。例如:
1:360手机卫士:使用语言学规则与统计学方法相结合的方式来定义伪基站短信特征,可从海量数据中精确识别出伪基站短信;
2:腾讯手机管家:用户收到伪基站发来的诈骗短信后,会进行迅速拦截,大量用户在同一区域举报该短信后,该区域就会在地图上变成红点,警方通过登录麒麟系统即可看到伪基站分布地图,并派民警现场盘查和抓捕;
3:蚂蚁金服:推出基于蚂蚁金服及阿里巴巴的大数据模型推出的伪基站实时监控平台,能做到伪基站50米内精准定位。
该方法存在以下缺点:
需要用户预先安装手机安全厂商的客户端软件,本地的防护软件也要及时更新,或者手机经常保持数据连接,需要依赖云端才能更好地对手机进行保护;需要上传用户短信,存在用户隐私泄露的风险;使用敏感词等方式分析,无法应对新型的短信,或者钓鱼短信。
技术实现要素:
有鉴于此,本发明实施例期望提供一种伪基站防范方法和装置,增强移动终端对伪基站短信的防范能力,并提高恶意短信的识别度。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种伪基站防范方法,应用于平台侧,所述方法包括:
接收短信,根据签名密钥对所述短信进行签名,将签名值加入消息头,以得到目标短信;
将所述目标短信发送至发送方的所属地短信中心;
在所述目标短信由所述发送方的所属地短信中心转发到接收方的所属地短信中心后,发送给移动终端。
上述方案中,所述接收短信,根据密钥对所述短信进行签名,将签名值加入消息头之前,所述方法还包括:
根据移动终端的通信号生成签名密钥,保存所述签名密钥和所述通信号的对应关系;并将加密后的所述签名密钥发送给移动终端。
上述方案中,所述根据签名密钥对所述短信进行签名,将签名值加入消息头,包括:
根据签名密钥对所述短信的来源、目的通信号、内容、发送时间进行签名;将签名后获得的签名值加入消息头。
本发明实施例提供了一种伪基站防范方法,应用于移动终端,所述方法包括:
接收目标短信后,从所述目标短信的消息头中提取出签名值,将所述签名值作为第一签名值;
获取签名密钥,并根据所述签名密钥对目标短信进行签名,获得签名值,作为第二签名值;
对比所述第一签名值和所述第二签名值,若相同,则直接显示给移动终端;若不相同,则确定所述目标短信为来源于伪基站的伪基站短信。
上述方案中,所述获取签名密钥,并根据所述签名密钥对目标短信进行签名,获得签名值,作为第二签名值;包括:
接收加密后的签名密钥,进行解密获得签名密钥;
根据所述签名密钥对所述短信的来源、目的通信号、内容、发送时间进行签名,获得签名值,作为第二签名值。
本发明实施例提供了一种伪基站防范装置,所述装置包括:密钥管理模块和签名模块;其中,
所述密钥管理模块,用于保存签名密钥;
所述签名模块,用于接收短信,根据签名密钥对所述短信进行签名,将签名值加入消息头,以得到目标短信;
将所述目标短信发送至发送方的所属地短信中心;
在所述目标短信由所述发送方的所属地短信中心转发到接收方的所属地短信中心后,发送给移动终端。
上述方案中,所述密钥管理模块,具体用于根据移动终端的通信号生成签名密钥,保存所述签名密钥和所述通信号的对应关系,并将加密后的所述签名密钥发送给移动终端。
上述方案中,所述签名模块,具体用于:根据签名密钥对所述短信的来源、目的通信号、内容、发送时间进行签名;将签名后获得的签名值加入消息头。
本发明实施例提供了一种伪基站防范装置,所述装置包括:密钥模块和校验签名模块;其中,
所述密钥模块,用于保存签名密钥;
所述签名校验模块,用于接收目标短信后,从所述目标短信的消息头中提取出签名值,将所述签名值作为第一签名值;
获取签名密钥,并根据所述签名密钥对目标短信进行签名,获得签名值,作为第二签名值;
对比所述第一签名值和所述第二签名值,若相同,则直接显示给移动终端;若不相同,则确定所述目标短信为来源于伪基站的伪基站短信。
上述方案中,所述密钥模块,具体用于接收加密后的签名密钥,进行解密获得签名密钥并保存。
与现有技术相比,本发明提供的一种伪基站防范方法和装置,接收短信,根据签名密钥对所述短信进行签名,将签名值加入消息头,以得到目标短信;将所述目标短信发送至发送方的所属地短信中心;在所述目标短信由所述发送方的所属地短信中心转发到接收方的所属地短信中心后,发送给移动终端。通过本发明实施例提供的方法和装置,借用大网短信网关携带签名技术的伪基站防范方法,增强移动终端对伪基站短信的防范能力,并提高恶意短信的识别度。
附图说明
图1为本发明实施例提供的伪基站防范方法一的流程示意图;
图2为tp-ud中的消息头字段tp-ud-header的示意图;
图3为element的命名标志位的示意图;
图4为本发明实施例提供的伪基站防范方法二的流程示意图;
图5为本发明实施例提供的伪基站防范装置一的结构示意图;
图6为本发明实施例提供的伪基站防范装置二的结构示意图;
图7为本发明实施例提供的伪基站防范方法三的流程示意图;
图8为本发明实施例提供的伪基站防范系统的结构示意图。
具体实施方式
本发明实施例中,接收短信,根据签名密钥对所述短信进行签名,将签名值加入消息头,以得到目标短信;将所述目标短信发送至发送方的所属地短信中心;在所述目标短信由所述发送方的所属地短信中心转发到接收方的所属地短信中心后,发送给移动终端。
下面结合实施例对本发明再作进一步详细的说明。
图1为本发明实施例提供的伪基站防范方法一的流程示意图;如图1所示,所述方法,应用于平台侧,包括:
步骤101、接收短信,根据签名密钥对所述短信进行签名,将签名值加入消息头,以得到目标短信;
具体地,所述短信可以是企业或者服务提供商(sp,serviceprovider)发送的短信。所述目标短信即为签名后的短信。
所述接收短信,根据签名密钥对所述短信进行签名,加入信息头之前,所述方法还包括:
根据移动终端的通信号生成签名密钥,保存所述签名密钥和所述通信号的对应关系,将所述签名密钥进行加密,并将加密后的签名密钥发送给移动终端。
所述通信号,可以是移动终端的手机号码。
这里,在步骤101之前,所述移动终端和平台侧进行初始化,具体包括:
用户的移动终端向平台侧发起初始化请求,将终端公钥及通信号发送给平台;
之后,平台侧根据通信号生成对应的签名密钥(hmackey),保存hmackey与通信号的关系,再将根据终端公钥加密后的hmackey发送给移动终端。
具体地,所述根据签名密钥对所述短信进行签名,包括:
根据签名密钥对所述短信的来源、目的通信号、内容、发送时间进行签名,将签名后获得的签名值加入消息头。
这里,根据全球移动通信系统(gsm,globalsystemformobilecommunication)网络的短消息服务规范,具体为gsm03.40版本点对点短消息协议规范的描述,当短信格式中tp-udhi字段数值为40时,短信中tp-ud字段含有消息头字段tp-ud-header。
利用gsm03.40中定义的消息头、即tp-ud-header字段,在发送点对点消息时,平台侧对短信来源、目的通信号、内容、发送时间等可以进行签名,将签名按照一定规则截取4byte放在tp-ud-header字段中;当用户的移动终端收到短信后,预置的模块也对短信的来源、目的通信号、内容、发送时间等进行签名并按相同规则截取4byte,与tp-ud-header字段中的签名值进行对比是否相同,以验证消息来源。
图2为tp-ud中的消息头字段tp-ud-header的示意图;如图2所示,消息头字段具体指udhl到iedn这段。
7个字节的tp-ud-header格式为:06xx04mmmmmmmm;
byte1:06,表示剩余协议头的长度;
byte2:xx,在gsm03.40规范9.2.3.24中规定,表示element的命名标志位,填写未被使用的保留字段;具体如图3所示,包括value值为02、08-7f、a0-bf、e0-ff;
byte3:04,这个值表示剩下短信标识的长度;
byte4-7:mmmmmmmm,后面4字节作为短信签名的抽选结果。
步骤102、将所述目标短信发送至发送方的所属地短信中心;
在所述目标短信由所述发送方的所属地短信中心转发到接收方的所属地短信中心后,发送给移动终端。
这里,所述目标短信为加密后的短信,其携带有签名值。
图4为本发明实施例提供的伪基站防范方法二的流程示意图;如图4所示,所述方法,应用于移动终端,包括:
步骤401、接收目标短信后,从所述目标短信的消息头中提取出签名值,将所述签名值作为第一签名值;
具体地,接收通过短信中心转发的目标短信;这里所述目标短信的消息头携带有签名值。
步骤402、获取签名密钥,并根据所述签名密钥对目标短信进行签名,获得签名值,作为第二签名值;
具体地,所述获取签名密钥,并根据所述签名密钥对目标短信进行签名;包括:
接收加密后的签名密钥,进行解密获得签名密钥;
根据所述签名密钥对所述目标短信的来源、目的通信号、内容、发送时间进行签名,获得签名值。
步骤403、对比所述第一签名值和所述第二签名值,若相同,则验证成功,可以直接显示移动终端;若不相同,则验证失败,确定为来源于伪基站的伪基站短信。
具体地,所述对比所述第一签名值和所述第二签名值,可以任意选择签名值中的来源、目的通信号、内容、发送时间对应的签名值中的一个或几个进行比对,判断是否相同。
图5为本发明实施例提供的伪基站防范装置一的结构示意图;如图5所示,所述装置包括:密钥管理模块和签名模块;其中,
所述密钥管理模块,用于保存签名密钥;
具体地,所述密钥管理模块,具体用于根据移动终端的通信号生成签名密钥,保存所述签名密钥和所述通信号的对应关系;并将加密后的所述签名密钥发送给移动终端。
所述签名模块,用于接收短信,根据签名密钥对所述短信进行签名,将签名值加入消息头,以得到目标短信;
将所述目标短信发送至发送方的所属地短信中心;
在所述目标短信由所述发送方的所属地短信中心转发到接收方的所属地短信中心后,发送给移动终端。
所述目标短信为加密后的短信,其消息头携带有签名值。
具体地,所述签名模块,具体用于:根据签名密钥对所述短信的来源、目的通信号、内容、发送时间进行签名;将签名后获得的签名值加入消息头。
图6为本发明实施例提供的伪基站防范装置二的结构示意图;如图6所示,所述装置包括:密钥模块和校验签名模块;其中,
所述密钥模块,用于保存签名密钥;
具体地,所述密钥模块,具体用于接收加密后的签名密钥,进行解密获得签名密钥并保存。
所述签名校验模块,用于接收目标短信后,从所述目标短信的消息头中提取出签名值,将所述签名值作为第一签名值;
获取签名密钥,并根据所述签名密钥对目标短信进行签名,获得签名值,作为第二签名值;
对比所述第一签名值和所述第二签名值,若相同,则直接显示给移动终端;若不相同,则确定所述目标短信为来源于伪基站的伪基站短信。
具体地,所述签名校验模块,具体用于根据所述签名密钥对所述目标短信的来源、目的通信号、内容、发送时间进行签名,获得签名值,作为第二签名值。
图7为本发明实施例提供的伪基站防范方法三的流程示意图;如图7所示,所述方法,包括:
步骤701、移动终端中的密钥模块向平台侧的密钥管理模块发起初始化请求,将移动终端的公钥及通信号同步给平台侧;
步骤702、平台侧根据通信号生成签名密钥(hmackey),保存hmackey与通信号的关系,将加密后的hmackey发送给移动终端的密钥模块;
步骤703、所述密钥模块解密hmackey并保存;
步骤704、企业或者服务提供商将短信发送至平台侧;
步骤705、平台侧的签名模块向密钥管理模块获取hmackey,密钥管理模块根据保存的hmackey与通信的对应关系发送相应的hmackey至签名模块后,签名模块基于hmackey对当前短信的来源、目的通信号、内容、发送时间等进行签名,将签名值加入到消息头,以得到目标短信;
步骤706、短信网关将目标短信发送至发送方的所属地短信中心;
步骤707、发送方的所属地短信中心将短信转发至接收方的所属地短信中心;
步骤708、所述接收方的所属地短信中心将目标短信发送至移动终端;
步骤709、用户的移动终端接收到目标短信后,从目标短信的消息头中提取出签名值,作为第一签名值;
签名检验模块向密钥模块获取移动终端存储的hmackey,并基于hmackey对目标短信的来源、目的通信号、内容、发送时间等进行签名,获得的签名值作为第二签名值;
对比所述第一签名值与所述第二签名值,如果相同,则验证成功,可以直接通过移动终端显示给用户;不相同,则验证失败,确定为伪基站发送的伪基站短信,直接屏蔽。
图8为本发明实施例提供的伪基站防范系统的结构示意图;如图8所示,所述系统,包括:企业或服务提供商、平台侧、移动终端、短信网关和短信中心;其中,
所述平台侧,可以包括:密钥管理模块、运营管理模块、网络通讯模块和签名模块;
所述密钥管理模块,用于确定平台侧与移动终端对应的签名密钥,将加密后的签名密钥发送给移动终端;
所述运营管理模块,用于进行企业客户的维护,系统的运行管理等运营维护功能;
所述网络通讯模块,用于与所述移动终端进行通信;
所述签名模块,用于对短信的来源、目的通信号、内容、发送时间等相关信息进行签名,并将签名值放入消息头即tp-ud-header字段中;
所述移动终端,包括密钥模块和校验签名模块;
所述密钥模块,具体用于接收加密后的签名密钥,进行解密获得签名密钥并保存;
所述签名校验模块,用于接收目标短信后,从所述目标短信的消息头中提取出签名值,将所述签名值作为第一签名值;获取签名密钥,并根据所述签名密钥对目标短信进行签名,获得签名值,作为第二签名值;对比所述第一签名值和所述第二签名值,若相同,则直接显示给移动终端;若不相同,则确定所述目标短信为来源于伪基站的伪基站短信。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。