本发明涉及短信签名技术,尤其涉及一种短信签名认证方法及装置。
背景技术:
在数据业务领域,电信运营商为服务提供商提供的短信服务业务为端口类短信,通常情况下电信运营商要对服务提供商提供的短信服务业务进行监控,以免用户接收到垃圾短信。
目前常用的端口类短信签名有效性认证方法是:在短信网关与短信中心之间通过采集程序实时采集短信内容,通过提取程序完成待发短信内容中短信签名的识别与提取,并通过认证审核程序逐一完成短信签名认证审核,如果发现短信内容中无短信签名,则认证不通过;如果短信签名内容不为空,则将短信签名与预置短信签名进行逐一比较,如果匹配成功,则认证通过,否则认证不通过。
例如:预置的有效短信签名为{a1、b1},正常情况下,短信服务业务a应该携带短信签名a1,短信服务业务b应该携带短信签名b1,如果此时短信服务业务a携带b1签名或短信服务业务b携带a1签名下发短信,根据现有端口类短信签名认证方法,短信服务业务a与短信服务业务b仍可以正常下发短信;目前的端口类短信签名认证方法,仅实现了短信内容中短信签名自身有效性的认证,但业务之间会存在短信签名被篡改或盗用的问题,造成用户接收到垃圾短信。
技术实现要素:
有鉴于此,本发明实施例期望提供一种短信签名认证方法及装置,以解决现有的短信签名认证方法中存在短信签名被篡改或盗用的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供一种短信签名认证方法,所述方法包括:
获取短信网关发送的短信的签名认证请求消息及所述短信的服务端口号;
根据服务端口号与认证节点对应的预设规则从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点;
提取所述短信的签名认证请求消息中的待认证的相关联信息;
根据所述待认证的相关联信息与所述对应的认证节点中存储的已认证的相关联信息进行比对,确定所述短信的签名认证结果。
上述方案中,在所述获取短信网关发送的短信的签名认证请求消息及所述短信的服务端口号之前,所述方法还包括:
更新所述服务端口号与认证节点对应的预设规则,更新所述存储有多个分布式的认证节点的关联信息库中的已认证的相关联信息。
上述方案中,所述根据服务端口号与认证节点对应的预设规则从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点,包括:
在所述短信的服务端口号匹配服务端口号与认证节点对应的关系列表时,从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点。
上述方案中,所述待认证的相关联信息包括:待认证的短信签名、待认证的短信下发时间;
所述已认证的相关联信息包括:已认证的短信签名、已认证的短信签名的有效期。
上述方案中,所述根据所述待认证的相关联信息与所述对应的认证节点中存储的已认证的相关联信息进行比对,确定所述短信的签名认证结果,包括:
判断所述待认证的短信签名是否与所述对应的认证节点中存储的已认证的短信签名匹配,若所述待认证的短信签名与所述对应的认证节点中存储的已认证的短信签名不匹配,则确定所述短信的签名认证结果为不通过;
若所述待认证的短信签名与所述对应的认证节点中存储的已认证的短信签名匹配,则判断所述待认证的短信下发时间是否超出所述已认证的短信签名的有效期,若所述待认证的短信下发时间超出所述已认证的短信签名的有效期,则确定所述短信的签名认证结果为不通过;
若所述待认证的短信下发时间没有超出所述已认证的短信签名的有效期,则确定所述短信的签名认证结果为通过。
本发明还提供一种短信签名认证装置,所述装置包括:
获取模块,用于获取短信网关发送的短信的签名认证请求消息及所述短信的服务端口号;
第一处理模块,用于根据服务端口号与认证节点对应的预设规则从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点;
提取模块,用于提取所述短信的签名认证请求消息中的待认证的相关联信息;
第二处理模块,用于根据所述待认证的相关联信息与所述对应的认证节点中存储的已认证的相关联信息进行比对,确定所述短信的签名认证结果。
上述方案中,所述装置还包括:
更新模块,用于更新所述服务端口号与认证节点对应的预设规则,更新所述存储有多个分布式的认证节点的关联信息库中的已认证的相关联信息。
上述方案中,所述第一处理模块,具体用于在所述短信的服务端口号匹配服务端口号与认证节点对应的关系列表时,从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点。
上述方案中,所述待认证的相关联信息包括:待认证的短信签名、待认证的短信下发时间;
所述已认证的相关联信息包括:已认证的短信签名、已认证的短信签名的有效期。
上述方案中,所述第二处理模块,具体用于判断所述待认证的短信签名是 否与所述对应的认证节点中存储的已认证的短信签名匹配,若所述待认证的短信签名与所述对应的认证节点中存储的已认证的短信签名不匹配,则确定所述短信的签名认证结果为不通过;
若所述待认证的短信签名与所述对应的认证节点中存储的已认证的短信签名匹配,则判断所述待认证的短信下发时间是否超出所述已认证的短信签名的有效期,若所述待认证的短信下发时间超出所述已认证的短信签名的有效期,则确定所述短信的签名认证结果为不通过;
若所述待认证的短信下发时间没有超出所述已认证的短信签名的有效期,则确定所述短信的签名认证结果为通过。
本发明实施例提供的短信签名认证方法及装置,通过获取短信网关发送的短信的签名认证请求消息及所述短信的服务端口号;根据服务端口号与认证节点对应的预设规则从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点;提取所述短信的签名认证请求消息中的待认证的相关联信息;根据所述待认证的相关联信息与所述对应的认证节点中存储的已认证的相关联信息进行比对,确定所述短信的签名认证结果;基于短信的服务端口号及短信的相关联信息来确定短信签名认证结果,解决了传统短信签名认证方法中存在短信签名被篡改或盗用的问题。
附图说明
图1为本发明短信签名认证方法实施例的流程图;
图2为本发明短信签名认证方法实施例的总体架构图;
图3为本发明短信签名认证装置实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明主要应用在电信增值业务及集团行业应用等端口类短信业务领域, 涉及大批量端口类短信的短信签名有效性认证。
图1为本发明短信签名认证方法实施例的流程图,图2为本发明短信签名认证方法实施例的总体架构图,如图2所示,该短信签名认证方法应用在短信签名认证装置、短信网关中,短信签名认证装置与短信网关电连接;其中,签名认证装置包括了短信签名更新模块、短信签名认证接口、短信签名分发模块、短信签名提取模块、具有多个分布式的认证节点的短信签名认证模块;短信网关可以为大批量的端口类短信下发行业及梦网短信网关;如图1所示,本发明的方法可以包括如下步骤:
步骤101、更新所述服务端口号与认证节点对应的预设规则,更新所述存储有多个分布式的认证节点的关联信息库中的已认证的相关联信息。
短信签名管理模块主要完成短信签名分发模块中、存储有多个分布式的认证节点的关联信息库中数据的管理(包括数据的录入、更新、查询等等);具体的,短信签名更新模块更新短信签名分发模块中存储的服务端口号与认证节点对应的预设规则,更新存储有多个分布式的认证节点的关联信息库中存储的已认证的相关联信息。
其中,服务端口号与认证节点对应的预设规则是短信签名认证开始之前设置好的规则,主要为短信的服务端口号与认证节点号的对应关系,可以存储在表格或者列表中;已认证的相关联信息包括已认证的短信签名、已认证的短信签名的有效期、对应的认证节点号等。
步骤102、获取短信网关发送的短信的签名认证请求消息及所述短信的服务端口号。
短信签名认证接口与短信网关电连接后,可以获取到短信网关发送的短信的签名认证请求消息以及该短信的服务端口号;其中,短信的签名认证请求消息包括了待认证的相关联信息,该待认证的相关联信息包括了待认证的短信签名、待认证的短信下发时间等关键信息。
短信签名认证接口作为本发明实施例中对接短信网关的唯一实时接口,监听并响应短信网关短信的签名认证请求,当短信网关下发端口类短信时,首先 将待认证的短信内容、短信下发时间等关键信息封装至签名认证请求消息中,并向短信签名认证接口发送该签名认证请求消息及该短信的服务端口号,短信签名认证接口接收到短信网关发送的签名认证请求消息及服务端口号后,将签名认证请求消息及服务端口号实时同步至短信签名分发模块。
步骤103、根据服务端口号与认证节点对应的预设规则从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点。
短信签名分发模块首先根据最新的服务端口号与认证节点对应的预设规则从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点,其次通过消息队列将签名认证请求消息分发至短信签名提取模块;其中,分布式的认证节点特别适用于端口类短信的短信签名认证,与传统的采用集中式的认证审核程序逐条进行判断相比,能够有效的提高处理大批量的端口类短信的短信签名认证效率。
具体的,这里以服务端口号与认证节点对应的关系列表来举例说明。
短信签名分发模块判断所述短信的服务端口号是否与服务端口号与认证节点对应的关系列表匹配,在所述短信的服务端口号匹配服务端口号与认证节点对应的关系列表时,从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点;在所述短信的服务端口号不匹配服务端口号与认证节点对应的关系列表时,结束认证流程,即短信签名认证不通过。
表1为服务端口号与认证节点对应的关系列表,如表1所示。
表1
例如,当前的短信的服务端口号为服务端口号2,短信签名分发模块判断服务端口号2是否与服务端口号与认证节点对应的关系列表匹配,通过表1可以得到服务端口号2匹配的对应的认证节点为认证节点2,所以可以得到从存储有多个分布式的认证节点的关联信息库中确定出与当前短信的服务端口号2对应的认证节点为认证节点2。
进一步的,为提高查找效率,本发明实施例中的短信签名分发模块通过第一定时器将服务端口号与认证节点对应的预设规则定期同步至短信签名分发模块的缓存中,短信签名分发模块在通过短信的服务端口号查找认证节点时直接在缓存中进行查找,缩短了数据查找时间。步骤104、提取所述短信的签名认证请求消息中的待认证的相关联信息。
短信签名提取模块提取该短信的签名认证请求消息中的待认证的相关联信息,并将待认证的相关联信息通过消息队列发送至与短信的端口号所对应的认证节点中;其中,所述待认证的相关联信息包括:待认证的短信签名、待认证的短信下发时间;所述待认证的短信签名由短信签名提取模块根据短信签名特殊符号(如“[]”或“【】”)从所述短信的签名认证请求消息中的待认证的短信内容中进一步提取出来。
步骤105、根据所述待认证的相关联信息与所述对应的认证节点中存储的已认证的相关联信息进行比对,确定所述短信的签名认证结果。
具体的,短信签名认证模块先判断所述待认证的短信签名是否与所述对应的认证节点中存储的已认证的短信签名匹配,若所述待认证的短信签名与所述对应的认证节点中存储的已认证的短信签名不匹配,则短信签名认证模块确定所述短信的签名认证结果为不通过;
若所述待认证的短信签名与所述对应的认证节点中存储的已认证的短信签名匹配,则短信签名认证模块继续判断所述待认证的短信下发时间是否超出所述已认证的短信签名的有效期,若所述待认证的短信下发时间超出所述已认证 的短信签名的有效期,则短信签名认证模块确定所述短信的签名认证结果为不通过;
若所述待认证的短信下发时间没有超出所述已认证的短信签名的有效期,则短信签名认证模块确定所述短信的签名认证结果为通过。
在对大批量的端口类短信进行短信签名认证时,针对端口类短信可按短信的服务端口号进行短信分类,并按短信的服务端口号分布式部署多个认证节点,在进行短信签名认证时,按短信的服务端口号将待认证的相关联信息下发至对应的认证节点进行认证,这样可以有效解决集中式的短信签名认证程序带来的短信签名认证耗时长、效率低的问题,提高了工作效率。
进一步的,为提高查找效率,本发明实施例中的短信签名认证模块通过第二定时器将已认证的相关联信息定期同步至短信签名认证模块的缓存中,短信签名认证模块在进行相关联信息判断时直接在缓存中进行调取,缩短了数据匹配判断的时间。本发明实施例提供的短信签名认证方法,通过获取短信网关发送的短信的签名认证请求消息及所述短信的服务端口号;根据服务端口号与认证节点对应的预设规则从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点;提取所述短信的签名认证请求消息中的待认证的相关联信息;根据所述待认证的相关联信息与所述对应的认证节点中存储的已认证的相关联信息进行比对,确定所述短信的签名认证结果;基于短信的服务端口号及短信的相关联信息来确定短信签名认证结果,解决了传统短信签名认证方法中存在短信签名被篡改或盗用的问题;另外,分布式部署多个认证节点,在进行短信签名认证时,按短信的服务端口号将待认证的相关联信息下发至对应的认证节点进行认证,这样可以有效解决集中式的短信签名认证程序带来的短信签名认证耗时长、效率低的问题,提高了工作效率。
图3为本发明短信签名认证装置实施例的结构示意图,如图3所示,本发明的短信签名认证装置03包括:获取模块31、第一处理模块32、提取模块33、第二处理模块34、更新模块35;其中,
所述获取模块31,用于获取短信网关发送的短信的签名认证请求消息及所 述短信的服务端口号;
所述第一处理模块32,用于根据服务端口号与认证节点对应的预设规则从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点;
所述提取模块33,用于提取所述短信的签名认证请求消息中的待认证的相关联信息;
所述第二处理模块34,用于根据所述待认证的相关联信息与所述对应的认证节点中存储的已认证的相关联信息进行比对,确定所述短信的签名认证结果。
进一步的,所述装置还包括:
所述更新模块35,用于更新所述服务端口号与认证节点对应的预设规则,更新所述存储有多个分布式的认证节点的关联信息库中的已认证的相关联信息。
进一步的,所述第一处理模块32,具体用于在所述短信的服务端口号匹配服务端口号与认证节点对应的关系列表时,从存储有多个分布式的认证节点的关联信息库中确定出与所述短信的服务端口号对应的认证节点。
进一步的,所述待认证的相关联信息包括:待认证的短信签名、待认证的短信下发时间;
所述已认证的相关联信息包括:已认证的短信签名、已认证的短信签名的有效期。
进一步的,所述第二处理模块34,具体用于判断所述待认证的短信签名是否与所述对应的认证节点中存储的已认证的短信签名匹配,若所述待认证的短信签名与所述对应的认证节点中存储的已认证的短信签名不匹配,则确定所述短信的签名认证结果为不通过;
若所述待认证的短信签名与所述对应的认证节点中存储的已认证的短信签名匹配,则判断所述待认证的短信下发时间是否超出所述已认证的短信签名的有效期,若所述待认证的短信下发时间超出所述已认证的短信签名的有效期,则确定所述短信的签名认证结果为不通过;
若所述待认证的短信下发时间没有超出所述已认证的短信签名的有效期,则确定所述短信的签名认证结果为通过。
本实施例的装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在实际应用中,所述获取模块31、第一处理模块32、提取模块33、第二处理模块34、更新模块35可由位于终端上的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等器件实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。