一种短信加固方法、装置及系统与流程

文档序号:11139592阅读:444来源:国知局
一种短信加固方法、装置及系统与制造工艺

本发明涉及安全技术领域,尤其涉及一种短信加固方法、装置及系统。



背景技术:

随着移动互联网和智能手机日益普及,移动办公、移动政务、移动支付、电子医疗等越来越多的应用APP(Application,应用程序)向移动端扩展,故移动互联网的安全需求对传统的密码技术(例如PKI(Public Key Infrastructure,公钥基础设施))提出了挑战。

在PKI体系中,一般以智能卡为载体,存储能够标识用户身份的密钥及身份信息的证书,广泛应用于实际的网络环境中。但是,在移动互联网应用的过程中,因为密钥介质携带不便,人们逐步发现以智能卡为载体的公钥基础设施在移动互联网上的应用受到了限制。

在实际应用中,短信不单单是一种认证方式,更是证据链中重要的一环,其不但在应用企业中有历史短信验证码的记录,运营商的数据库也有记录,因此成了不可抵赖的重要证据。以此,以手机银行、第三方支付和国内大型电商为首的企事业单位普遍采用短信验证码的方式对用户身份进行认证。且在身份认证的过程中,在用户登录时采用用户名+静态密码(或短信验证码)的方式,在转账交易时采用交易密码+短信验证码方式作为基本防护措施。

虽然短信验证码发展从开始的应用注册认证到现在认证级别越来越高,但是,对短信验证码的攻击行为也就越来越多,如网络钓鱼、木马拦截、伪基站、短信诈骗等,以此造成的用户财产的损失。可见,在短信验证码的过程中,短信的安全加固成为当前迫切解决的问题。



技术实现要素:

针对上述问题,本发明提供了一种短信加固方法、装置及系统,有效解决了现有技术中短信验证码发送过程中的安全问题。

本发明提供的技术方案如下:

一种短信加固方法,应用于终端设备,所述终端设备中内置的终端应用与应用服务器通信连接,所述应用服务器与混淆服务器通信连接,且所述终端设备和混淆服务器中分别存储有与所述终端应用唯一关联的安全插件,所述短信加固方法中包括:

S11发送短信验证码请求,所述短信验证请求中包括应用信息,所述应用信息中至少包括终端号码,所述应用信息中至少包括终端号码;

S21接收应用服务器根据短信验证码请求生成的短信验证码,及接收混淆服务器根据短信验证码请求下发的挑战码;

S31从内置的安全插件中调用混淆加密算法对接收到的短信验证码进行混淆加密生成加密短信验证码,所述混淆加密算法与用户唯一关联;

S41将加密短信验证码发送至应用服务器,混淆服务器对加密短信验证码混淆解密之后实现短信验证码的验证。

进一步优选地,在步骤S41中,混淆服务器对短信验证码进行验证之前,还包括混淆服务器根据终端应用提交的应用信息运算得到混淆加密/解密算法并编译成安全插件的步骤,具体包括:

S01根据接收的应用信息生成随机数,并将所述随机数设定为密钥参数;

S02根据所述密钥参数对预设算法进行重构得到混淆加密/解密算法;

S03将接收到的应用信息和生成的混淆加密/解密算法一并编译得到安全插件并将其下发至终端应用。

进一步优选地,在步骤S02,对预设算法进行重构得到混淆加密/解密算法的步骤中,具体包括:

根据密钥参数改变预设算法的运算顺序得到混淆加密/解密算法;和/或,

根据密钥参数改变预设算法的分组数据块的结构及对应分组数据块的运算顺序得到混淆加密/解密算法;和/或,

根据密钥参数改变预设算法的固定参数得到混淆加密/解密算法。

进一步优选地,步骤S21中,应用服务器根据短信验证码请求生成短信验证码的步骤具体包括:应用服务器根据接收到的短信验证码随机生成短信验证码,并经由短信服务器将生成的短信验证码下发至终端设备;和/或,

在步骤S21中,混淆服务器根据短信验证码请求生成挑战码的步骤具体包括:应用服务器根据接收到的短信验证码请求发送挑战码请求至混淆服务器,混淆服务器根据接收到的挑战码请求随机生成挑战码并将其下发至终端应用。

进一步优选地,在步骤S31中具体包括:

在终端应用中输入终端设备接收到的短信验证码;

终端应用获取应用信息;

终端应用调用安全插件中的混淆加密算法,使用应用信息和挑战码作为计算因子,对短信验证码进行混淆加密。

进一步优选地,在步骤S41中,

混淆服务器对混淆加密后的短信验证码混淆解密的步骤具体包括:

接收经由应用服务器转发的加密短信验证码;

调用安全插件中的混淆解密算法,使用应用信息和挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码;

将混淆还原得到的短信验证码反馈至应用服务器;

实现短信验证码验证的步骤具体包括:应用服务器接收混淆服务器反馈的短信验证码,并将其与接收到的短信验证码进行比对,完成对短信验证码的验证之后将验证结果反馈至终端应用。

本发明还提供了一种短信加固方法,应用于终端设备,所述终端设备中内置的终端应用与应用服务器通信连接,所述应用服务器与混淆服务器通信连接,且所述终端设备和混淆服务器中分别存储有与所述终端应用唯一关联的安全插件,所述短信加固方法中包括:

S12发送短信验证码请求,所述短信验证请求中包括应用信息,所述应用信息中至少包括终端号码,所述应用信息中至少包括终端号码;

S22接收混淆服务器根据短信验证码请求生成的挑战码及根据应用服务器生成的短信验证码加密混淆生成的加密短信验证码;

S32从内置的安全插件中调用混淆解密算法对接收到的加密短信验证码进行混淆解密还原得到短信验证码,所述混淆加密算法与用户唯一关联;

S42将还原得到的短信验证码发送至应用服务器,实现短信验证码的验证。

进一步优选地,在步骤S22中,混淆服务器对应用服务器生成的短信验证码进行加密之前,还包括混淆服务器根据终端应用提交的应用信息运算得到混淆加密/解密算法并编译成安全插件的步骤,具体包括:

S01根据接收的应用信息生成随机数,并将所述随机数设定为密钥参数;

S02根据所述密钥参数对预设算法进行重构得到混淆加密/解密算法;

S03将接收到的应用信息和生成的混淆加密/解密算法一并编译得到安全插件并将其下发至终端应用。

进一步优选地,在步骤S02,对预设算法进行重构得到混淆加密/解密算法的步骤中,具体包括:

根据密钥参数改变预设算法的运算顺序得到混淆加密/解密算法;和/或,

根据密钥参数改变预设算法的分组数据块的结构及对应分组数据块的运算顺序得到混淆加密/解密算法;和/或,

根据密钥参数改变预设算法的固定参数得到混淆加密/解密算法。

进一步优选地,在步骤S22中:

混淆服务器根据短信验证码请求生成挑战码的步骤具体包括:应用服务器根据接收到的短信验证码请求发送挑战码请求至混淆服务器,混淆服务器根据接收到的挑战码请求随机生成挑战码并将其下发至终端应用;

混淆服务器根据应用服务器生成的短信验证码加密混淆生成的加密短信验证码的步骤具体包括:应用服务器根据接收到的短信验证码随机生成短信验证码并将其发送至混淆服务器;混淆服务器调用与用户关联的安全插件中的混淆加密算法,使用应用信息和挑战码作为计算因子,对短信验证码进行混淆加密得到加密短信验证码并将其发送至应用服务器,经由短信服务器发送至应用终端。

进一步优选地,在步骤S32中具体包括:

在终端应用中输入终端设备接收到的加密短信验证码;

从内置的安全插件中调用混淆解密算法,使用应用信息和挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码;

将还原得到的短信验证码发送至应用服务器。

进一步优选地,在步骤S42中具体包括:应用服务器接收终端应用发送的短信验证码,并将其与生成的短信验证码进行比对,完成对短信验证码的验证之后将验证结果反馈至终端应用。

本发明还提供了一种短信加固装置,应用于终端设备,所述终端设备中内置的终端应用与应用服务器通信连接,所述应用服务器与混淆服务器通信连接,且所述终端设备和混淆服务器中分别存储有与所述终端应用唯一关联的安全插件,所述短信加固装置中包括:

信息发送模块,用于发送短信验证码请求及用于将混淆加密模块生成的加密短信验证码发送至应用服务器,所述短信验证请求中包括应用信息,所述应用信息中至少包括终端号码;

信息接收模块,用于接收应用服务器根据短信验证码请求生成的短信验证码,及接收混淆服务器根据短信验证码请求下发的挑战码;

混淆加密模块,用于从终端设备内置的安全插件中调用混淆加密算法对信息接收模块接收到的短信验证码进行混淆加密生成加密短信验证码,所述混淆加密算法与用户唯一关联。

进一步优选地,所述短信加固装置中还包括:混淆解密模块,用于从内置的安全插件中调用混淆解密算法对信息接收模块接收到的加密短信验证码进行混淆解密还原得到短信验证码,所述混淆加密算法与用户唯一关联。

本发明还提供了一种短信加固系统,所述短信加固系统中包括如权利要求13或14所述的短信加固装置,所述短信加固系统中还包括应用服务器、短信服务器以及混淆服务器,其中,

所述应用服务器,用于根据短信加固装置发送的短信验证码随机生成短信验证码,并经由短信服务器将生成的短信验证码下发至终端设备;用于根据接收到的短信验证码请求发送挑战码请求至混淆服务器;用于接收终端应用发送的短信验证码;以及用于接收混淆服务器反馈的短信验证码,并将其与接收到的短信验证码进行比对;

所述混淆服务器,用于根据接收到的挑战码请求随机生成挑战码并将其下发至终端应用;用于接收经应用服务器发送的加密短信验证码;以及用于调用安全插件中的混淆解密算法,使用应用信息和挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码,并将混淆还原得到的短信验证码反馈至应用服务器。

进一步优选地,所述应用服务器,还用于接收到的短信验证码随机生成短信验证码并将其发送至混淆服务器,及还用于将混淆服务器生成的加密短信验证码经由短信服务器发送至应用终端;

所述混淆服务器,还用于调用与用户关联的安全插件中的混淆加密算法,使用应用信息和挑战码作为计算因子,对短信验证码进行混淆加密得到加密短信验证码并将其发送至应用服务器。

进一步优选地,所述混淆服务器中包括:

随机数生成模块,用于根据接收的应用信息生成随机数,并将所述随机数设定为密钥参数;

算法重构模块,用于根据密钥参数改变预设算法的运算顺序得到混淆加密/解密算法,和/或根据密钥参数改变预设算法的分组数据块的结构及对应分组数据块的运算顺序得到混淆加密/解密算法,和/或根据密钥参数改变预设算法的固定参数得到混淆加密/解密算法;

插件编译模块,用于将应用信息和混淆加密/解密算法编译成安全插件。

与现有技术相比,本发明的有益效果在于:

在本发明提供在本发明提供的短信加固方法、装置及系统中,在短信上行的过程中,终端设备在接收到短信服务器发送的短信验证码之后,调用安全插件中的混淆加密算法对短信验证码进行加密得到加密短信验证码并将其发送至应用服务器中,之后混淆服务器从安全插件中调用相应的混淆解密算法对加密短信验证码进行解密还原得到短信验证码,以此实现短信验证码的上行传输。相对应地,在短信下行的过程中,应用服务器生成了短信验证码之后随即将其发送至混淆服务器,混淆服务器调用安全插件中的混淆加密算法对短信验证码进行加密得到加密短信验证码并将其发送至应用服务器,之后经由短信服务器将其转发至终端设备中;之后终端设备从安全插件中调用相应的混淆解密算法对加密短信验证码进行解密还原得到短信验证码,以此实现短信验证码的下行传输。

可以看出,不管是短信上行还是短信下行的过程中,都会从与用户唯一关联的安全插件中调用与用户唯一关联的混淆加密/解密算法对短信验证码/加密短信验证码进行加密/解密。由每个终端设备中存储的安全插件都是唯一的,使用其内部存储的混淆加密算法加密得到的加密短信验证码自然具备了唯一性,大大提高了短信验证码在传输过程中的安全性能,增强了终端设备在身份认证过程中的安全性能。

另外,在加解密过程中,采用多因素(包括应用信息、设备信息、挑战码、应用信息等)参与运算,有效地防止安全插件的非法拷贝使用,为数据的加解密提供了一个安全的运行环境,同时提高了一次性转账等操作过程中的安全性能。

附图说明

图1为本发明中短信加固方法一种实施方式流程示意图;

图2为本发明中短信加固方法另一种实施方式流程示意图;

图3为本发明中短信加固装置一种实施方式结构示意图;

图4为本发明中短信加固装置另一种实施方式结构示意图;

图5为本发明中短信加固系结构示意图。

附图标号说明:

100-短信加固装置,110-信息发送模块,120-信息接收模块,130-混淆加密模块,140-混淆解密模块,200-应用服务器、300-短信服务器,400-混淆服务器。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

如图1所示为本发明提供的短信加固方法一种实施方式流程示意图,具体该短信加固方法应用于终端设备,如手机、平板电脑等。从图中可以看出,在该短信加固方法中包括:S11发送短信验证码请求,短信验证请求中包括终端号码;S21接收应用服务器根据短信验证码请求生成的短信验证码,及接收混淆服务器根据短信验证码请求下发的挑战码;S31从内置的安全插件中调用混淆加密算法对接收到的短信验证码进行混淆加密生成加密短信验证码,混淆加密算法与用户唯一关联;S41将加密短信验证码发送至应用服务器,混淆服务器对加密短信验证码混淆解密之后实现短信验证码的验证。

更具体来说,在步骤S11中,用户首先通过终端设备中的终端应用输入终端号码(如手机号码),之后根据该终端号码发送短信验证码请求至应用服务器中。在步骤S21中,应用服务器接收到终端应用发送的短信验证码请求之后,随即根据该短信验证码请求随机生成短信验证码,并将生成的短信验证码发送至相应运营商的短信网关,短信服务器根据接收到的终端号码将生成的短信验证码下发至终端设备。与此同时,应用服务器在接收到该短信验证码请求之后,根据其中包含的应用信息生成挑战码请求并将其发送至混淆服务器;混淆服务器接收到该挑战码请求之后,随机生成挑战码存储之后将其下发至终端应用中。在另一实施方式中,应用服务器在接收到短信验证码请求之后,不向混淆服务器发送挑战码请求,该挑战码由混淆服务器的后台输入,混淆服务器获取到输入的挑战码之后进行存储(与应用信息关联存储)并将其发送至终端应用中。

具体来说,这里的应用信息可以是标识用户当前身份或状态的一切信息,如:手机号、用户名、登录密码、地理位置、时间、交易信息、终端应用使用行为等,在本实施方式中,这里的应用信息中至少包括手机号。另外,在具体实施例中,这里的终端应用可以为购物APP、网银APP等,简单来说,任意需要用户登录、进行身份认证、转账等业务的终端应用都包括在本实施方式的内容中。

在步骤S31中:用户将终端设备中接收到的短信验证码输入终端应用之后,终端应用随即调用安全插件中的混淆加密算法,使用应用信息和挑战码作为计算因子,对短信验证码进行混淆加密。在另一实施方式中,在该步骤中,终端应用调用安全插件中的混淆加密算法,使用应用信息、设备信息、应用信息以及挑战码作为计算因子,对短信验证码进行混淆加密。具体,这里的设备信息可以为标识终端设备的一切信息,如,IMEI(International Mobile Equipment Identity,国际移动设备标识),IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)、设备型号、设备品牌、生产商、CPU(Central Processing Unit,中央处理器)、MAC(Media Access Control,介质访问控制)地址、IP(Internet Protocol,网络之间互连的协议)地址等。

在步骤S41中,应用服务器在接收到终端应用发送的加密短信验证码之后,随即将其发送至混淆服务器中;混淆服务器接收到该加密短信验证码之后,随即根据应用信息查找到与该用户关联的安全插件(混淆服务器中存储有各注册用户关联的安全插件);进而调用安全插件中的混淆解密算法,使用应用信息和挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码;之后将混淆还原得到的短信验证码反馈至应用服务器。应用服务器在接收到该短信验证码之后,将其与步骤S21中生成的短信验证码进行比对,完成对短信验证码的验证之后将验证结果反馈至终端应用。具体,若比对成功,则短信验证码成功,反馈短信验证码成功的消息至终端应用;否则,短信验证码失败,提示用户重新输入。在另一实施方式中,应用服务器调用安全插件中的混淆解密算法,使用应用信息、设备信息、应用信息以及挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码。

根据上述实施方式,若用户第一次登陆应用服务器,则需要在该应用服务器中进行注册及在混淆服务器生成和下发安全插件,具体步骤包括:

用户在终端应用的登录界面中输入用户名和登录密码,生成注册请求发送到应用服务器;应用服务器接收到注册请求之后,首先对用户输入的用户名进行验证(具体在这一过程中,应用服务器根据接收到的用户名在当前注册用户列表中进行查找,若未查找到相同的用户名,则验证成功);若用户名验证通过,则应用服务器将用户名和登录密码关联存储在当前注册用户列表中形成新的注册用户列表,并将验证结果返回至终端应用。

终端应用接收验证结果,提取能够唯一标识用户的应用信息(如手机号等)并生成短信验证码请求发送至应用服务器;应用服务器接收到该验证码请求之后,随机生成短信验证码并反馈至终端应用;终端设备接收并显示验证码,并在终端应用中输入该短信验证码,与此同时终端应用生成验证码认证请求至应用服务器;应用服务器接收验证码认证请求对验证码进行认证;若认证成功,则发送应用信息和安全插件生成请求至混淆服务器。另外,这里的应用信息还可以为IMEI、IMSI等能够唯一标识用户的信息。

混淆服务器接收安全插件生成请求之后,首先,根据接收的应用信息生成随机数,并将随机数设定为密钥参数;之后,根据密钥参数对预设算法进行重构得到混淆加密/解密算法;最后,将接收到的应用信息和生成的混淆加密/解密算法一并编译得到安全插件并将其下发至终端应用。更具体来说,在对预设算法进行重构得到混淆加密/解密算法的步骤中包括:根据密钥参数改变预设算法的运算顺序得到混淆加密/解密算法;和/或,根据密钥参数改变预设算法的分组数据块的结构及对应分组数据块的运算顺序得到混淆加密/解密算法;和/或,根据密钥参数改变预设算法的固定参数得到混淆加密/解密算法。在具体实施例中,这里的预设算法可以为SM3等算法。

以下结合具体实施例对混淆服务器生成混淆加密/加密算法的过程作出详细描述:

通过改变预设算法的运算优先级生成混淆加密/加密算法的一个具体实施例为:根据应用信息随机生成一8位随机密钥,则根据生成的随机密钥对预算算法各步骤的运算优先级重新排列。此时,若预设算法中包括了8个步骤,且生成的随机密钥为31245768,则生成的混淆加密/加密算法中,原本预设算法中的第3个步骤优先运算,接着依次是第1个步骤、第2个步骤、第4个步骤、第5个步骤、第7个步骤、第6个步骤以及第8个步骤进行运算,以此改变了原有的预设算法的运算先后顺序,生成全新的混淆加密/加密算法。当然,根据该随机密钥,改变预设算法的规则可以根据实际情况进行相应的变化,如该随机密钥中的第1位3代表将原本预设算法中8个步骤中的第1个步骤作为混淆加密/加密算法中的第3个步骤进行运算;随机密钥中第2位中的1代表将原本预设算法中8个步骤中的第2个步骤作为混淆加密/加密算法中的第1个步骤进行运算,以此类推,得到根据该混淆加密/加密算法的全新混淆加密/加密算法。当然,以上我们只是简单的介绍两个改变运算优先级的规则,可以根据实际情况重新进行设定,若预设算法中只包括了6个步骤,则可以通过改变生成的随机密钥的位数来调整,也可以通过忽略生成的8位随机密钥中的两位来适应性的调整。

通过改变预设算法的分组结构和分组结构的运算优先级来得到新的混淆加密/加密算法的一个具体实施例为:假若按照预设算法的分组结构规则,将进行运算信息分成n个数据块,且每个数据块中包括8个小的分块(a1、a2、a3、a4、a5、a6、a7以及a8),此时假若根据应用信息随机生成的随机密钥为73124568,且该8位随机密钥中的第1位代表运算顺序,第2为代表相应的分块。则在运算过程中,位于第2位的3表示分块a3与分块a1交换以此改变该分组结构,位于第1位的7表示分块a7优先运算,以此实现目的。以上我们只是示例性的给出了一种具体实施方式,在其他实施例中,对上述分组规则(每个数据的长度)、随机秘钥中每位数字对应的意义(如分块交换)等都可以根据实际情况进行设定。

通过改变预设算法的运算参数来得到新的混淆加密/加密算法的一个具体实施例为:假若预设算法中包括先后两个常数,分别为1和2,还包括一个未知数项X。且根据应用信息随机得到的随机密钥为73124568,具体该随机密钥中的第3位表示该固定参数,则该预设算法中的X即为1,以此形成新的混淆加密/加密算法。当然,在另一具体实施例中,也可以根据第3位中的1改变预设算法中已有常数项,如将已有的第二个常数2改为该第3位中的1,即生成的混淆加密/加密算法中两个常数都是1。

作为一个完整实施例,假若生成的随机密钥中第1位代表运算优先级,第2位代表分组结构,第3位代表常数项。此时,如若生成的随机密钥为35781246,则分组块中的a5与a1进行调整改变分组结构,且a3优先运算,同时将混淆加密/加密算法中某一常数变为7,以此生成与用户唯一关联的混淆加密/加密算法。

在具体实施例中,上述安全插件为提供终端设备密码体制服务的软件包,内置与用户唯一关联的混淆加密/加密算法。具体,若终端设备为android系统,则以so库的形式存在;若终端设备为ios系统,则以zip压缩包的形式存在。根据此,在调用安全插件之前,首先对终端设备的运行环境进行检测,包括检测安全插件是否ROOT、检测终端应用的完整性、检测安全插件的完整性、检测设备的硬件信息等,只有运行环境满足条件,才进入后续的步骤,否则提示用户对运行环境进行检查。

如图2所示为本发明提供的另一种短信加固方法流程示意图,应用于终端设备,从图中可以看出,在该短信加固方法中包括:S12发送短信验证码请求,短信验证请求中包括应用信息,所述应用信息中至少包括终端号码;S22接收混淆服务器根据短信验证码请求生成的挑战码及根据应用服务器生成的短信验证码加密混淆生成的加密短信验证码;S32从内置的安全插件中调用混淆解密算法对接收到的加密短信验证码进行混淆解密还原得到短信验证码,混淆加密算法与用户唯一关联;S42将还原得到的短信验证码发送至应用服务器,实现短信验证码的验证。

更具体来说,在步骤S11中,用户首先通过终端设备中的终端应用输入终端号码(如手机号码),之后根据该终端号码发送短信验证码请求至应用服务器中。

在步骤S22中,应用服务器接收到终端应用发送的短信验证码请求之后,随即根据该短信验证码请求随机生成短信验证码,并将生成的短信验证码发送至混淆服务器。混淆服务器在接收到短信验证码之后,随即调用与用户关联的安全插件中的混淆加密算法,使用应用信息和挑战码作为计算因子,对短信验证码进行混淆加密得到加密短信验证码并将其反馈至应用服务器。应用服务器接收到加密短信验证码之后,将其发送至相应运营商的短信网关,以此短信服务器将生成的短信验证码下发至终端设备。与此同时,应用服务器在接收到该短信验证码请求之后,根据其中包含的应用信息生成挑战码请求并将其发送至混淆服务器;混淆服务器接收到该挑战码请求之后,随机生成挑战码存储之后将其下发至终端应用中。在另一实施方式中,应用服务器在接收到短信验证码请求之后,不向混淆服务器发送挑战码请求,该挑战码由混淆服务器的后台输入,混淆服务器获取到输入的挑战码之后进行存储(与应用信息关联存储)并将其发送至终端应用中。在另一实施方式中,混淆服务器在接收到短信验证码之后,随即调用与用户关联的安全插件中的混淆加密算法,使用应用信息、设备信息、应用信息和挑战码作为计算因子,对短信验证码进行混淆加密得到加密短信验证码并将其反馈至应用服务器。

具体来说,这里的应用信息可以是标识用户当前身份或状态的一切信息,如:手机号、用户名、登录密码、地理位置、时间、交易信息、终端应用使用行为等,在本实施方式中,这里的应用信息中至少包括手机号。另外,在具体实施例中,这里的终端应用可以为购物APP、网银APP等,简单来说,任意需要用户登录、进行身份认证、转账等业务的终端应用都包括在本实施方式的内容中。

在步骤S32中,用户将终端设备中接收到的短信验证码输入终端应用之后,终端应用随即调用安全插件中的混淆加密算法,从内置的安全插件中调用混淆解密算法,使用应用信息和挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码;并将还原得到的短信验证码发送至应用服务器。在另一实施方式中,在该步骤中,终端应用调用安全插件中的混淆加密算法,使用应用信息、设备信息、应用信息以及挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码。

在步骤S42中:应用服务器在接收到终端应用发送的短信验证码之后,随即将其与步骤S22中生成的短信验证码进行比对,完成对短信验证码的验证之后将验证结果反馈至终端应用。具体,若比对成功,则短信验证码成功,反馈短信验证码成功的消息至终端应用;否则,短信验证码失败,提示用户重新输入。

根据上述实施方式,若用户第一次登陆应用服务器,则需要在该应用服务器中进行注册及在混淆服务器生成和下发安全插件,具体步骤在上述实施方式中已做出详细描述,在此不做赘述。

如图3所示为本发明提供的短信加固装置一种实施方式示意图,应用于终端设备和上述短信加固方法,从图中可以看出,在该短信加固装置100中包括:信息发送模块110、信息接收模块120以及混淆加密模块130,其中,信息接收模块120与混淆加密模块130连接,混淆加密模块130与信息发送模块110连接。

在工作过程中,终端设备中的终端应用获取到应用信息之后,生成短信验证码请求,并通过信息发送模块110发送至应用服务器200;之后,信息接收模块120接收应用服务器200根据短信验证码请求生成的短信验证码及接收混淆服务器400根据短信验证码请求下发的挑战码;最后,混淆加密模块130从终端设备内置的安全插件中调用混淆加密算法对信息接收模块120接收到的短信验证码进行混淆加密生成加密短信验证码并经由信息发送模块110发送至应用服务器200中。

具体,这里的应用信息可以是标识用户当前身份或状态的一切信息,如:手机号、用户名、登录密码、地理位置、时间、交易信息、终端应用使用行为等,在本实施方式中,这里的应用信息中至少包括手机号。设备信息可以为标识终端设备的一切信息,如,IMEI(International Mobile Equipment Identity,国际移动设备标识),IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)、设备型号、设备品牌、生产商、CPU(Central Processing Unit,中央处理器)、MAC(Media Access Control,介质访问控制)地址、IP(Internet Protocol,网络之间互连的协议)地址等。更具体来说,在混淆加密模块130中调用安全插件中的混淆加密算法,使用应用信息、设备信息、应用信息以及挑战码作为计算因子,对短信验证码进行混淆加密。

对上述实施方式进行改进得到本实施方式,如图4所示,在本实施方式中,在该短信加固装置100中除了包括信息发送模块110、信息接收模块120以及混淆加密模块130之外,还包括混淆解密模块140,用于从内置的安全插件中调用混淆解密算法对信息接收模块120接收到的加密短信验证码进行混淆解密还原得到短信验证码,混淆加密算法与用户唯一关联。

在工作过程中,终端设备中的终端应用获取到应用信息之后,生成短信验证码请求,并通过信息发送模块110发送至应用服务器200;之后,信息接收模块120接收混淆服务器400根据短信验证码请求生成的加密短信验证码及挑战码;最后,混淆解密模块140从终端设备内置的安全插件中调用混淆解密算法对信息接收模块120接收到的短信验证码进行混淆加密还原得到短信验证码并经由信息发送模块110发送至应用服务器200中。更具体来说,在混淆加密模块130中调用安全插件中的混淆加密算法,使用应用信息、设备信息、应用信息以及挑战码作为计算因子,对短信验证码进行混淆加密。

如图5所示本发明还提供了一种短信加固系统,短信加固系统中包括上述短信加固装置100,短信加固系统中还包括应用服务器200、短信服务器300以及混淆服务器400。

在一种实施方式中,用户首先通过短信加固装置100输入终端号码,之后根据该终端号码发送短信验证码请求至应用服务器200中。应用服务器200接收到短信加固装置100发送的短信验证码请求之后,随即根据该短信验证码请求随机生成短信验证码,并将生成的短信验证码发送至相应运营商的短信网关,短信服务器300将生成的短信验证码下发至终端设备。与此同时,应用服务器200在接收到该短信验证码请求之后,根据其中包含的应用信息生成挑战码请求并将其发送至混淆服务器400;混淆服务器400接收到该挑战码请求之后,随机生成挑战码存储之后将其下发至短信加固装置100中。在另一实施方式中,应用服务器200在接收到短信验证码请求之后,不向混淆服务器400发送挑战码请求,该挑战码由混淆服务器400的后台输入,混淆服务器400获取到输入的挑战码之后进行存储(与应用信息关联存储)并将其发送至短信加固装置100中。

用户将终端设备中接收到的短信验证码输入短信加固装置100之后,短信加固装置100随即调用安全插件中的混淆加密算法,使用应用信息和挑战码作为计算因子,对短信验证码进行混淆加密。具体,短信加固装置100调用安全插件中的混淆加密算法,使用应用信息、设备信息、应用信息以及挑战码作为计算因子,对短信验证码进行混淆加密。具体,这里的设备信息可以为标识终端设备的一切信息,如,IMEI(International Mobile Equipment Identity,国际移动设备标识),IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)、设备型号、设备品牌、生产商、CPU(Central Processing Unit,中央处理器)、MAC(Media Access Control,介质访问控制)地址、IP(Internet Protocol,网络之间互连的协议)地址等。

之后,应用服务器200在接收到短信加固装置100发送的加密短信验证码之后,随即将其发送至混淆服务器400中;混淆服务器400接收到该加密短信验证码之后,随即根据应用信息查找到与该用户关联的安全插件(混淆服务器400中存储有各注册用户关联的安全插件);进而调用安全插件中的混淆解密算法,使用应用信息和挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码;之后将混淆还原得到的短信验证码反馈至应用服务器200。应用服务器200在接收到该短信验证码之后,将其与之前生成的短信验证码进行比对,完成对短信验证码的验证之后将验证结果反馈至短信加固装置100。具体,若比对成功,则短信验证码成功,反馈短信验证码成功的消息至短信加固装置100;否则,短信验证码失败,提示用户重新输入。

在另一实施方式中,用户首先通过短信加固装置100输入终端号码,之后根据该应用信息发送短信验证码请求至应用服务器200中。应用服务器200接收到短信加固装置100发送的短信验证码请求之后,随即根据该短信验证码请求随机生成短信验证码,并将生成的短信验证码发送至混淆服务器400。混淆服务器400在接收到短信验证码之后,随即调用与用户关联的安全插件中的混淆加密算法,使用应用信息和挑战码作为计算因子,对短信验证码进行混淆加密得到加密短信验证码并将其反馈至应用服务器200。应用服务器200接收到加密短信验证码之后,将其发送至相应运营商的短信网关,以此短信服务器300将生成的短信验证码下发至终端设备。与此同时,应用服务器200在接收到该短信验证码请求之后,根据其中包含的应用信息生成挑战码请求并将其发送至混淆服务器400;混淆服务器400接收到该挑战码请求之后,随机生成挑战码存储之后将其下发至短信加固装置100中。在另一实施方式中,应用服务器200在接收到短信验证码请求之后,不向混淆服务器400发送挑战码请求,该挑战码由混淆服务器400的后台输入,混淆服务器400获取到输入的挑战码之后进行存储(与应用信息关联存储)并将其发送至短信加固装置100中。在另一实施方式中,混淆服务器400在接收到短信验证码之后,随即调用与用户关联的安全插件中的混淆加密算法,使用应用信息、设备信息、应用信息和挑战码作为计算因子,对短信验证码进行混淆加密得到加密短信验证码并将其反馈至应用服务器200。

用户将终端设备中接收到的短信验证码输入短信加固装置100之后,短信加固装置100随即调用安全插件中的混淆加密算法,从内置的安全插件中调用混淆解密算法,使用应用信息和挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码;并将还原得到的短信验证码发送至应用服务器200。在另一实施方式中,短信加固装置100调用安全插件中的混淆加密算法,使用应用信息、设备信息、应用信息以及挑战码作为计算因子,对加密短信验证码进行混淆解密还原得到短信验证码。

应用服务器200在接收到短信加固装置100发送的短信验证码之后,随即将其与之前生成的短信验证码进行比对,完成对短信验证码的验证之后将验证结果反馈至短信加固装置100。具体,若比对成功,则短信验证码成功,反馈短信验证码成功的消息至短信加固装置100;否则,短信验证码失败,提示用户重新输入。

进一步来说,混淆服务器400中包括:随机数生成模块,用于根据接收的应用信息生成随机数,并将随机数设定为密钥参数;算法重构模块,用于根据密钥参数改变预设算法的运算顺序得到混淆加密/解密算法,和/或根据密钥参数改变预设算法的分组数据块的结构及对应分组数据块的运算顺序得到混淆加密/解密算法,和/或根据密钥参数改变预设算法的固定参数得到混淆加密/解密算法;插件编译模块,用于将应用信息和混淆加密/解密算法编译成安全插件。具体算法重构过程在支付状态管理方法中以做出相应描述,在此不做赘述。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1