具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
为了能对本申请的实施例有清楚的理解,以下对相关技术中短信诈骗、木马及钓鱼网站等场景进行分析。
首先,参照图1,是通过短信的校验码进行校验的流程图。
如图1所示,用户到某网站或某应用程序中使用某项服务时(如,支付服务),用户通过个人计算机等发送请求至服务提供方。服务提供方根据请求生成校验码,并向移动数据运营商发送请求,以请求移动数据运营商将校验码发送给用户。移动数据运营商根据服务提供方的请求向用户的手机发送包含校验码的短信。用户阅读短信以获得校验码,并通过个人计算机等填写校验码,用户通过个人计算机将填写的校验码反馈至服务提供方。服务提供方根据发送的校验码和反馈的校验码对用户身份进行校验,如果校验通过,则确认用户身份,可以继续为用户提供服务。但是在上述校验过程中,如果出现短信被盗窃或校验码被泄露的情况,则用户的信息安全将无法保证,特别是在支付应用时,会导致用户的资产被盗。
参照图2(a),是短信诈骗导致校验码泄露的流程图。
如图2(a)所示,盗窃者B获取用户A的账户,并使用用户A的账户请求服务提供方提供服务。服务提供方根据请求生成校验码,并向移动数据运营商发送请求,以请求移动数据运营商将校验码发送给用户A。移动数据运营商根据服务提供方的请求向用户A的手机发送包含校验码的短信。盗窃者B再打电话给用户A,声称自己是服务提供方的客服人员,骗取校验码,用户A将校验码告知盗窃者B,盗窃者B再反馈校验码至服务提供方,服务提供方对发送的校验码和反馈的校验码进行验证,如果通过校验,则服务提供方提供服务给盗窃者B。
参照如图2(b),是木马盗取校验码的流程图。
如图2(b)所示,盗窃者B获取用户A的账户,并使用用户A的账户请求服务提供方提供服务。服务提供方根据请求生成校验码,并向移动数据运营商发送请求,以请求移动数据运营商将校验码发送给用户A。移动数据运营商根据服务提供方的请求向用户A的手机发送包含校验码的短信。如果用户A的手机上有木马,则手机中的木马会盗取校验码,木马将校验码通过短信或网络发送给盗窃者B,盗窃者B再反馈校验码至服务提供方,服务提供方对发送的校验码和反馈的校验码进行验证,如果通过校验,则服务提供方提供服务给盗窃者B。
参照图2(c),是通过钓鱼网站盗取校验码的流程图。
如图2(c)所示,盗窃者B提供钓鱼网站,用户A误请求到该钓鱼网站上,使得盗窃者B提供的钓鱼网站利用用户A输入的账号请求服务提供方提供服务。服务提供方根据请求生成校验码,并向移动数据运营商发送请求,以请求移动数据运营商将校验码发送给用户A。移动数据运营商根据服务提供方的请求向用户A的手机发送包含校验码的短信。用户阅读短信以获得校验码,并在钓鱼网站上填写校验码。钓鱼网站将验证码发送给盗窃者B,盗窃者B获取校验码,并发送校验码至服务提供方。服务提供方根据发送的校验码和反馈的校验码对用户身份进行校验,如果通过校验,则服务提供方提供服务给盗窃者B。
通过上述示例可以看出,可通过多种方式对验证码进行盗取,一旦验证码失窃或被盗取,会对用户造成严重的损失。为此本申请提供了一种校验方法、系统、服务器和终端,能够识别验证码被盗用或冒用的情况,从而从根本上保护信息安全。
下面参考附图描述本申请实施例的校验方法、系统、服务器和终端。
图3是根据本申请一个实施例的校验方法的流程图。
如图3所示,该校验方法包括:
S101,服务器接收第一终端发送的校验请求,并根据校验请求生成校验码。
在本申请的一个实施例中,第一终端可以为个人计算机、笔记本或掌上电脑等。应理解,上述举例是为了说明第一终端的不同类型,不能作为对本申请实施例中第一终端的限定。例如,第一终端还可以是其他具有联网功能、能够使用网站或某个应用提供的服务的终端;另外,第一终端还可以是手机等。
具体地,用户通过第一终端使用网站或某个应用程序提供的服务(如支付服务)时,如果此时需要对用户身份进行校验,此时第一终端向网站或某个应用程序的服务器发送校验请求。应理解,需要对用户身份进行校验的情况不仅仅是上述例子所提到的支付服务,上述实施例描述的支付服务仅是个例子,本申请的实施例可以应用至各种需要校验的情况。在服务器接收到第一终端发送的校验请求后,可以根据校验请求生成校验码,在本申请的实施例中,可以采用任何技术手段生成校验码,本申请的实施例对此不进行限定。
S102,服务器将校验码发送至第二终端,并获取第二终端的属性信息。
在本申请的一个实施例中,第二终端可以是手机等,服务器通过短信的形式将校验码发送至第二终端。在本申请的其他实施例中,第二终端还可以是任何能够接收校验码的终端,第二终端可以因为校验码的发送途径不同而有所差异,例如如果是通过邮件发送,则第二终端还可以是个人计算机或掌上电脑等。
应理解,上述实施例说明校验码发送的几种途径仅是示意性的,在本申请的其他实施例中还可以采用其他途径进行发送,本申请的实施例对此不进行限定。
在本申请的实施例中,在将校验码发送至第二终端之后,还包括:第二终端判断短信中是否包含有校验码;以及如果判断包含有校验码,则第二终端将第二终端的属性信息向预设地址发送。具体地,预设地址可以是服务器的地址。第二终端具有相应的应用程序插件,该应用程序插件在识别短信中具有验证码之后,会将第二终端的属性信息反馈至服务器。具体而言,该应用程序插件与服务器对应,其保存有应用程序对应的预设地址,在判断短信中具有验证码后自动将第二终端的属性信息发送至预设地址。另外,第二终端具有相应的钩子hook程序,该hook程序可作为应用程序(例如支付程序)的插件。该钩子hook程序在识别短信中具有验证码之后,会将第二终端的属性信息反馈至服务器,第二终端还可以通过短信的方式向应用提供方对应服务器发送属性信息,本申请的实施例对此不进行限定。
具体地,第二终端的属性信息可以是与第二终端关联的信息,例如,第二终端的网络环境、地理位置、GPS(Global Positioning System,全球定位系统)信息、MAC(MediaAccess Control,媒体接入控制)地址或IP地址等。当然在本申请的其他实施例中,还可选择其他关联的信息作为第二终端的属性信息,属性信息可以根据具体的使用环境而有所不同,例如,对于支付服务来说,可能会选择MAC地址、IP地址或地理位置作为属性信息,而对于其他服务来说可能会选择其他的关联信息。
S103,服务器接收第一终端反馈的校验码,并获取第一终端的属性信息。
通常,用户在进行校验时,从第二终端获取校验码之后,通过第一终端将该校验码发送至服务器。在本申请的实施例中,第一终端在反馈用户输入的校验码的同时,还需要将第一终端的属性信息发送至服务器。在本申请的实施例中,第一终端的属性信息与第二终端的属性信息类似,在此不再赘述。
S104,服务器根据第一终端反馈的校验码、第一终端的属性信息和第二终端的属性信息进行校验。
具体地,服务器可以首先根据第一终端反馈的校验码进行校验,在验证码校验通过后,根据第一终端的属性信息和第二终端的属性信息进行校验;或服务器可以首先根据第一终端的属性信息和第二终端的属性信息进行校验,在属性信息校验通过后,再根据第一终端反馈的校验码进行校验。一旦有任何一次校验失败,即无论校验码校验失败,还是根据第一终端的属性信息和第二终端的属性信息判断校验失败,则都认为校验失败,退出相应的服务,或者向用户进行相应的告警,或者再次向用户发起校验或身份认证。这样即使是校验码被盗用或被冒用,也能够通过第一终端和第二终端的属性信息进行识别。
本申请实施例的校验方法,通过校验码、第一终端的属性信息和第二终端的属性信息进行校验,在校验码完成校验之后,再通过第一终端的属性信息和第二终端的属性信息进一步进行校验,从而能从根本上解决校验的安全性问题。并且本申请实施例的校验方法还可防止由于校验码被盗用或被冒用导致的用户信息泄露或用户资产流失等安全隐患。此外,通过第一终端属性信息和第二终端属性信息的比对能够识别多种盗用或冒用情景,即便校验码被盗用或冒用,也能够识别,从而从根本上保证信息安全。
在本申请的一个实施例中,校验请求包括用户身份信息,第二终端为与用户身份信息相关联的终端。具体地,第二终端是与用户身份信息绑定的终端。例如,将用户身份信息和第二终端的移动号码(如手机号码等)进行绑定,可以保证用户身份信息的安全。
图4是根据本申请另一个实施例的校验方法的流程图。
如图4所示,校验方法包括:
S201,服务器接收第一终端发送的校验请求,并根据校验请求生成校验码。
具体地,用户通过第一终端使用网站或某个应用程序提供的服务(如支付服务)时,如果此时需要对用户身份进行校验,此时第一终端向网站或某个应用程序的服务器发送校验请求。在服务器接收到第一终端发送的校验请求后,可以根据校验请求生成校验码。
S202,服务器将校验码发送至第二终端,并获取第二终端的属性信息。
在本申请的一个实施例中,第二终端可以是手机等,服务器通过短信的形式将校验码发送至第二终端。在本申请的其他实施例中,第二终端还可以是任何能够接收校验码的终端,第二终端可以因为校验码的发送途径不同而有所差异,例如如果是通过邮件发送,则第二终端还可以是个人计算机或掌上电脑等。
S203,服务器接收第一终端反馈的校验码,并获取第一终端的属性信息。
通常,用户在进行校验时,从第二终端获取校验码之后,通过第一终端将该校验码发送至服务器。在本申请的实施例中,第一终端在反馈用户输入的校验码的同时,还需要将第一终端的属性信息发送至服务器。
S204,服务器判断第一终端反馈的校验码与生成的校验码是否一致。
S205,如果判断第一终端反馈的校验码与生成的校验码一致,则进一步判断第一终端的属性信息和第二终端的属性信息是否匹配。
S206,如果判断第一终端的属性信息和第二终端的属性信息匹配,则判断通过校验。在本申请的实施例中,判断第一终端的属性信息和第二终端的属性信息是否匹配主要是指第一终端和第二终端之间的关系是否符合一般的或者惯常的标准,例如如果第一终端和第二终端的位置比较接近,那么则认为符合一般的或者惯常的标准,即判断二者匹配;反之,如果第一终端在北京,而第二终端在广东,则认为不符合一般的或惯常的标准,因此就判断二者不匹配。同样地,还可采用其他的判断标准,在此不再赘述。以下将具体列举几个实施例进行详细描述,但同样需要说明的是以下的实施例仅是示意性的,并非仅能通过以下实施例来实现,本领域技术人员可根据以下实施例进行相应的扩展或变化,这些均应包含在本申请的保护范围之内。
在本申请的一个实施例中,还包括:
S207,如果判断第一终端的属性信息和第二终端的属性信息不匹配,则判断没有通过校验。此时,校验码可能被盗用,可向用户发出安全警告。
本申请实施例的校验方法,在反馈的校验码与生成的校验码校验匹配后,进一步校验第一终端的属性信息和第二终端的属性信息是否匹配,并在第一终端的属性信息和第二终端的属性信息匹配时,确定校验通过,由此,可以通过第一终端的属性信息和第二终端的属性信息有效防止校验码被盗用或被冒用后,用户信息泄露或用户资产流失等安全隐患。
图5(a)是本申请实施例的S205的流程图。
在本申请的一个实施例中,属性信息包括第一终端的媒体接入控制MAC地址和第二终端的MAC地址,如图5(a)所示S205具体包括:
S501,服务器根据第一终端的MAC地址和第二终端的MAC地址判断第一终端和第二终端是否具有绑定关系。
具体地,MAC地址具有唯一性,如果第一终端和第二终端为不同的设备,其具有的MAC地址也不同。如果将第一终端的MAC地址和第二终端的MAC地址进行绑定,可以通过MAC地址判断第一终端的属性信息和第二终端属性信息是否匹配。
在本申请的一个实施例中,绑定关系由用户设定,或者根据用户的校验记录获取。例如,在本申请的一个实施例中,在提供支付服务之前,用户可以将第一终端和第二终端进行绑定,建立二者的绑定关系,从而在支付时就可通过该绑定关系来判断第一终端的MAC地址和第二终端的MAC地址是否匹配。或者,在本申请的另一个实施例中,服务器可以记录用户一段时间的支付记录,如果用户经常用第一终端购物,且经常用第二终端接收具有校验码的短信,那么服务器就可以自动建立第一终端和第二终端的绑定关系。
S502,如果判断第一终端和第二终端具有绑定关系,则判断第一终端的属性信息和第二终端的属性信息匹配,从而判断通过校验。
S503,如果判断第一终端和第二终端不具有绑定关系,则判断第一终端的属性信息和第二终端的属性信息不匹配,从而判断校验失败。
根据本申请的实施例,如果第一终端的MAC地址和第二终端的MAC地址已经被绑定,可以通过具有唯一性的MAC地址,判断第一终端的属性信息和第二终端的属性信息是否匹配,进而能够保证校验安全。
图5(b)是本申请实施例的S205的另一流程图。
在本申请的一个实施例中,属性信息包括第一终端的位置信息和第二终端的位置信息,如图5(b)所示S205具体包括:
S601,服务器根据第一终端的位置信息和第二终端的位置信息判断第一终端和第二终端之间的距离是否小于预设距离。
在本申请的一个实施例中,第一终端的位置信息和第二终端的位置信息包括IP地址或经纬度信息。具体地,如果是个人计算机、笔记本或掌上电脑等,可以获取连接网络所在的IP地址,直接使用IP地址和手机所连接网络的IP地址进行判断,例如,手机接入的无线网络所在的IP地址;还可以根据IP地址确定网络所处的经纬度信息,并根据确定的经纬度信息进行判断;还可以通过IP地址确定个人计算机、笔记本或掌上电脑等所处的经纬度信息,获取手机所处的经纬度信息,根据经纬度信息进行判断,其中,如果是手机,可以通过手机基站获取手机所处的经纬度信息,另外,如果该手机开启了定位功能,可以通过定位设备获取准确的经纬度信息。
S602,如果判断第一终端和第二终端之间的距离小于预设距离,则判断第一终端的属性信息和第二终端的属性信息匹配,从而判断通过校验。
S603,如果判断第一终端和第二终端之间的距离大于或等于预设距离,则判断第一终端的属性信息和第二终端的属性信息不匹配,从而判断校验失败。
根据本申请的实施例,根据判断第一终端和第二终端之间的距离进行判断,将距离在预设范围内的第一终端和第二终端确定为匹配,一般用户使用第一终端和第二终端进行支付时距离都不会太远,由此可以确定校验码是否被泄露,进而能够保证校验安全。
应理解,还可以将上述两个实施例结合起来进行判断,可以进一步保证判断结果的准确性,进一步保证信息的安全。
在本申请的实施例中,还存在以下情况:第一终端和第二终端为同一个终端,例如,用户使用手机上安装的支付客户端进行支付操作,同时也使用该手机接收包含验证码的短信。此时判断第一终端的属性信息和第二终端的属性信息是否匹配主要是指通过属性信息判断第一终端和第二终端是否为同一个终端。
图5(c)是本申请实施例的S205的又一流程图。
在本申请的一个实施例中,属性信息包括第一终端的位置信息和第二终端的位置信息,如图5(c)所示S205具体包括:
S701,服务器判断第一终端的属性信息和第二终端的属性信息是否相同。
在本申请的一个实施例中,第一终端的属性信息和第二终端的属性信息为IP地址或MAC地址。具体地,服务器判断第一终端的IP地址是否和第二终端的IP地址相同,或者服务器判断第一终端的MAC地址是否和第二终端的MAC地址相同。由于IP地址和MAC地址都具有唯一性,则服务器通过判断IP地址或MAC地址是否相同可准确地确定第一终端的属性信息和第二终端的属性信息是否相同。
S702,如果第一终端的属性信息和第二终端的属性信息相同,则判断第一终端的属性信息和第二终端的属性信息匹配,从而判断通过校验。
S703,如果第一终端的属性信息和第二终端的属性信息不同,则判断第一终端的属性信息和第二终端的属性信息不匹配,从而判断校验失败。
根据本申请的实施例,如果第一终端和第二终端为同一个终端,可以通过判断第一终端的属性信息和第二终端的属性信息是否相同确定是否为同一个终端,当确定为同一个终端时,判断通过校验,进而保证校验安全。
应理解,还可以将该实施例和上述两个实施例结合起来进行判断。
图5(d)是本申请实施例的S205的再一流程图。
在本申请的一个实施例中,属性信息包括第一终端的位置信息和第二终端的位置信息,如图5(d)所示S205具体包括:
S801,服务器判断第一终端的属性信息和第二终端的属性信息是否相同。
其中,如果第一终端的属性信息和第二终端的属性信息不同,则可以选择继续执行步骤S802或S803。如果第一终端的属性信息和第二终端的属性信息相同,则继续执行步骤S804。
S802,服务器根据第一终端的位置信息和第二终端的位置信息进一步判断第一终端和第二终端之间的距离是否小于预设距离。
其中,如果判断第一终端和第二终端之间的距离小于预设距离,则继续执行步骤S804。如果判断第一终端和第二终端之间的距离大于或等于预设距离,则继续执行步骤S805。
S803,服务器根据第一终端的MAC地址和第二终端的MAC地址判断第一终端和第二终端是否具有绑定关系。
其中,如果第一终端和第二终端具有绑定关系,则继续执行步骤S804。如果第一终端和第二终端不具有绑定关系,则继续执行步骤S805。
S804,判断第一终端的属性信息和第二终端的属性信息匹配,从而判断通过校验。
S805,判断第一终端的属性信息和第二终端的属性信息不匹配,从而判断校验失败。
为了实现上述实施例,本申请的实施例还提出一种校验系统。
图6是根据本申请一个实施例的校验系统的结构框图,图7是根据本申请一个实施例的校验系统的校验流程图。
如图6所示,校验系统10包括:第一终端100、第二终端200和服务器300。
具体地,第一终端100用于向服务器300发送校验请求,并向服务器发送第一终端的属性信息和用户输入的校验码。第二终端200用于接收服务器300发送的校验码,并向服务器300发送第二终端的属性信息。服务器300用于根据校验请求生成校验码,并接收第一终端100反馈的校验码,以及根据第一终端100反馈的校验码、第一终端100的属性信息和第二终端200的属性信息进行校验。
在本申请的一个实施例中,第一终端100可以为个人计算机、笔记本或掌上电脑等。应理解,上述举例是为了说明第一终端100的不同类型,不能作为对本申请实施例中第一终端100的限定。例如,第一终端100还可以是其他具有联网功能、能够使用网站或某个应用提供的服务的终端;另外,第一终端100还可以是手机等。
更具体地,用户通过第一终端100使用网站或某个应用程序提供的服务(如支付服务)时,如果此时需要对用户身份进行校验,此时第一终端100向网站或某个应用程序的服务器300发送校验请求。应理解,需要对用户身份进行校验的情况不仅仅是上述例子所提到的支付服务,上述实施例描述的支付服务仅是个例子,本申请的实施例可以应用至各种需要校验的情况。在服务器300接收到第一终端100发送的校验请求后,可以根据校验请求生成校验码,在本申请的实施例中,可以采用任何技术手段生成校验码,本申请的实施例对此不进行限定。
在本申请的一个实施例中,第二终端200可以是手机等,服务器300通过短信的形式将校验码发送至第二终端200。在本申请的其他实施例中,第二终端200还可以是任何能够接收校验码的终端,第二终端200可以因为校验码的发送途径不同而有所差异,例如如果是通过邮件发送,则第二终端200还可以是个人计算机或掌上电脑等。
应理解,上述实施例说明校验码发送的几种途径仅是示意性的,在本申请的其他实施例中还可以采用其他途径进行发送,本申请的实施例对此不进行限定。
更具体地,第二终端的属性信息可以是与第二终端关联的信息,例如,第二终端的网络环境、地理位置、GPS信息、MAC或IP地址等。当然在本申请的其他实施例中,还可选择其他关联的信息作为第二终端的属性信息,属性信息可以根据具体的使用环境而有所不同,例如,对于支付服务来说,可能会选择MAC地址、IP地址或地理位置作为属性信息,而对于其他服务来说可能会选择其他的关联信息。
通常,用户在进行校验时,从第二终端200获取校验码之后,通过第一终端100将该校验码发送至服务器300。在本申请的实施例中,第一终端100在反馈用户输入的校验码的同时,还需要将第一终端100的属性信息发送至服务器。在本申请的实施例中,第一终端的属性信息100与第二终端200的属性信息类似,在此不再赘述。
服务器300可以首先根据第一终端100反馈的校验码进行校验,在验证码校验通过后,根据第一终端100的属性信息和第二终端200的属性信息进行校验;或服务器300可以首先根据第一终端100的属性信息和第二终端200的属性信息进行校验,在属性信息校验通过后,再根据第一终端100反馈的校验码进行校验。一旦有任何一次校验失败,即无论校验码校验失败,还是根据第一终端100的属性信息和第二终端200的属性信息判断校验失败,则都认为校验失败,退出相应的服务,或者向用户进行相应的告警,或者再次向用户发起校验或身份认证。这样即使是校验码被盗用或被冒用,也能够通过第一终端100和第二终端200的属性信息进行识别。
参照图7,用户通过第一终端100向服务器300请求提供服务。服务器300根据该请求生成校验码,并向移动数据运营商400发送请求,以请求移动数据运营商400向第二终端200发送校验码。移动数据运营商400根据服务器300的请求将校验码发送至第二终端200。第二终端200在接收到校验码后上报自己的属性信息至服务器300。服务器300将校验码和上报的第二终端200的属性信息绑定。用户通过第一终端100向服务器300发送校验码,例如,用户在第一终端100中输入校验码,第一终端100将校验码发送至服务器300,同时第一终端100上报自己的属性信息至服务器300。服务器300根据第一终端100反馈的校验码、第一终端100的属性信息和第二终端200的属性信息进行校验。如果校验通过,则向第一终端100的用户提供服务。
本申请实施例的校验系统,服务器通过校验码、第一终端的属性信息和第二终端的属性信息进行校验,在校验码完成校验之后,再通过第一终端的属性信息和第二终端的属性信息进一步进行校验,从而能从根本上解决校验的安全性问题。并且本申请实施例的校验方法还可防止由于校验码被盗用或被冒用导致的用户信息泄露或用户资产流失等安全隐患。此外,通过第一终端属性信息和第二终端属性信息的比对能够识别多种盗用或冒用情景,即便校验码被盗用或冒用,也能够识别,从而从根本上保证信息安全。
在本申请的一个实施例中,校验请求包括用户身份信息,第二终端200为与用户身份信息相关联的终端。具体地,第二终端200是与用户身份信息绑定的终端。例如,将用户身份信息和第二终端200的移动号码(如手机号码等)进行绑定,可以保证用户身份信息的安全。
在本申请的一个实施例中,服务器300在判断第一终端100反馈的校验码与生成的校验码一致之后,如果判断第一终端100的属性信息和第二终端200的属性信息匹配,则判断通过校验。如果判断第一终端100的属性信息和第二终端200的属性信息不匹配,则判断没有通过校验。此时,校验码可能被盗用,可向用户发出安全警告。在本申请的实施例中,服务器300判断第一终端100的属性信息和第二终端200的属性信息是否匹配主要是指第一终端100和第二终端200之间的关系是否符合一般的或者惯常的标准,例如如果第一终端100和第二终端200的位置比较接近,那么则认为符合一般的或者惯常的标准,即判断二者匹配;反之,如果第一终端100在北京,而第二终端200在广东,则认为不符合一般的或惯常的标准,因此就判断二者不匹配。同样地,还可采用其他的判断标准,在此不再赘述。以下将具体列举几个实施例进行详细描述,但同样需要说明的是以下的实施例仅是示意性的,并非仅能通过以下实施例来实现,本领域技术人员可根据以下实施例进行相应的扩展或变化,这些均应包含在本申请的保护范围之内。
本申请实施例的校验系统,在反馈的校验码与生成的校验码校验匹配后,进一步校验第一终端的属性信息和第二终端的属性信息是否匹配,并在第一终端的属性信息和第二终端的属性信息匹配时,确定校验通过,由此,可以通过第一终端的属性信息和第二终端的属性信息有效防止校验码被盗用或被冒用后,用户信息泄露或用户资产流失等安全隐患。
在本申请的一个实施例中,属性信息包括第一终端100的媒体接入控制MAC地址和第二终端200的MAC地址,当服务器300根据第一终端100的MAC地址和第二终端200的MAC地址判断第一终端100和第二终端200具有绑定关系时,判断第一终端100的属性信息和第二终端200的属性信息匹配,从而判断通过校验。服务器300在判断第一终端100和第二终端200不具有绑定关系时,判断第一终端100的属性信息和第二终端200的属性信息不匹配,从而判断校验失败。具体地,MAC地址具有唯一性,如果第一终端100和第二终端200为不同的设备,其具有的MAC地址也不同。如果将第一终端100的MAC地址和第二终端200的MAC地址进行绑定,可以通过MAC地址判断第一终端100的属性信息和第二终端200属性信息是否匹配。
在本申请的一个实施例中,绑定关系由用户设定,或者根据用户的校验记录获取。例如,在本申请的一个实施例中,在提供支付服务之前,用户可以将第一终端100和第二终端200进行绑定,建立二者的绑定关系,从而在支付时就可通过该绑定关系来判断第一终端100的MAC地址和第二终端200的MAC地址是否匹配。或者,在本申请的另一个实施例中,服务器300可以记录用户一段时间的支付记录,如果用户经常用第一终端100购物,且经常用第二终端200接收具有校验码的短信,那么服务器300就可以自动建立第一终端100和第二终端200的绑定关系。
在本申请的一个实施例中,属性信息包括第一终端100的位置信息和第二终端200的位置信息,当服务器300根据第一终端100的位置信息和第二终端200的位置信息判断第一终端100和第二终端200之间的距离小于预设距离时,判断第一终端100的属性信息和第二终端200的属性信息匹配,从而判断通过校验。服务器300在判断第一终端100和第二终端200之间的距离大于或等于预设距离时,判断第一终端100的属性信息和第二终端200的属性信息不匹配,从而判断校验失败。其中,根据判断第一终端100和第二终端200之间的距离进行判断,将距离在预设范围内的第一终端100和第二终端200确定为匹配,一般用户使用第一终端100和第二终端200进行支付时距离都不会太远,由此可以确定校验码是否被泄露。
在本申请的一个实施例中,第一终端100的位置信息和第二终端200的位置信息包括IP地址或经纬度信息。具体地,如果是个人计算机、笔记本或掌上电脑等,可以获取连接网络所在的IP地址,直接使用IP地址和手机所连接网络的IP地址进行判断,例如,手机接入的无线网络所在的IP地址;还可以根据IP地址确定网络所处的经纬度信息,并根据确定的经纬度信息进行判断;还可以通过IP地址确定个人计算机、笔记本或掌上电脑等所处的经纬度信息,获取手机所处的经纬度信息,根据经纬度信息进行判断,其中,如果是手机,可以通过手机基站获取手机所处的经纬度信息,另外,如果该手机开启了定位功能,可以通过定位设备获取准确的经纬度信息。
在本申请的实施例中,还存在以下情况,第一终端100和第二终端200为同一个终端,例如,用户使用手机上安装的支付客户端进行支付操作,同时也使用该手机接收包含验证码的短信。此时服务器300判断第一终端100的属性信息和第二终端200的属性信息是否匹配主要是指通过属性信息判断第一终端100和第二终端200是否为同一个终端。
在本申请的一个实施例中,服务器300判断第一终端100的属性信息和第二终端200的属性信息是否相同,并在第一终端100的属性信息和第二终端200的属性信息相同时,判断第一终端100的属性信息和第二终端200的属性匹配,并确定校验通过。在第一终端100的属性信息和第二终端200的属性信息不同时,判断第一终端100的属性信息和第二终端200的属性不匹配,并确定校验失败。
在本申请的一个实施例中,服务器300在判断第一终端100的属性信息和第二终端200的属性信息不同时,还需要进一步判断第一终端100和第二终端200之间的距离是否小于预设距离或者判断第一终端100和第二终端200是否具有绑定关系。在这种情况下,先判断第一终端100的属性信息和第二终端200的属性信息是否相同,如果第一终端100的属性信息和第二终端200的属性信息不同,还可能存在第一终端100和第二终端200之间的距离小于预设距离或者判断第一终端100和第二终端200具有绑定关系等校验通过的情况。
在本申请的一个实施例中,第一终端100的属性信息和第二终端200的属性信息为IP地址或MAC地址。具体地,服务器300判断第一终端100的IP地址是否和第二终端200的IP地址相同,或者服务器300判断第一终端100的MAC地址是否和第二终端200的MAC地址相同。由于IP地址和MAC地址都具有唯一性,则服务器300通过判断IP地址或MAC地址是否相同可准确地确定第一终端100的属性信息和第二终端200的属性信息是否相同。
为了实现上述实施例,本申请的实施例还提出一种服务器。
图8是根据本申请一个实施例的服务器的结构框图。
如图8所示,服务器300包括:校验请求接收模块310、校验码生成模块320、校验码发送模块330、属性信息获取模块340、校验码接收模块350和校验模块360。
具体地,校验请求接收模块310用于接收第一终端发送的校验请求。在本申请的一个实施例中,第一终端可以为个人计算机、笔记本或掌上电脑等。应理解,上述举例是为了说明第一终端的不同类型,不能作为对本申请实施例中第一终端的限定。例如,第一终端还可以是其他具有联网功能、能够使用网站或某个应用提供的服务的终端;另外,第一终端还可以是手机等。更具体地,用户通过第一终端使用网站或某个应用程序提供的服务(如支付服务)时,如果此时需要对用户身份进行校验,此时第一终端向网站或某个应用程序的服务器300发送校验请求。校验请求接收模块310接收到第一终端发送的校验请求后。
校验码生成模块320用于根据校验请求生成校验码。在本申请的实施例中,可以采用任何技术手段生成校验码,本申请的实施例对此不进行限定。
校验码发送模块330用于将校验码发送至第二终端。在本申请的一个实施例中,第二终端可以是手机等,校验码发送模块330通过短信的形式将校验码发送至第二终端。在本申请的其他实施例中,第二终端还可以是任何能够接收校验码的终端,第二终端可以因为校验码的发送途径不同而有所差异,例如如果是通过邮件发送,则第二终端还可以是个人计算机或掌上电脑等。应理解,上述实施例说明校验码发送的几种途径仅是示意性的,在本申请的其他实施例中还可以采用其他途径进行发送,本申请的实施例对此不进行限定。
属性信息获取模块340用于获取第二终端的属性信息和第一终端的属性信息。其中,第二终端的属性信息可以是与第二终端关联的信息,例如,第二终端的网络环境、地理位置、GPS信息、MAC或IP地址等。当然在本申请的其他实施例中,还可选择其他关联的信息作为第二终端的属性信息,属性信息可以根据具体的使用环境而有所不同,例如,对于支付服务来说,可能会选择MAC地址、IP地址或地理位置作为属性信息,而对于其他服务来说可能会选择其他的关联信息。在本申请的实施例中,第一终端的属性信息100与第二终端200的属性信息类似,在此不再赘述。
校验码接收模块350用于接收第一终端反馈的校验码。
校验模块360用于根据第一终端反馈的校验码、第一终端的属性信息和第二终端的属性信息进行校验。更具体地,校验模块360可以首先根据第一终端反馈的校验码进行校验,在验证码校验通过后,根据第一终端的属性信息和第二终端的属性信息进行校验;或校验模块360可以首先根据第一终端的属性信息和第二终端的属性信息进行校验,在属性信息校验通过后,再根据第一终端反馈的校验码进行校验。一旦有任何一次校验失败,即无论校验码校验失败,还是根据第一终端的属性信息和第二终端的属性信息判断校验失败,则都认为校验失败,退出相应的服务,或者向用户进行相应的告警,或者再次向用户发起校验或身份认证。这样即使是校验码被盗用或被冒用,也能够通过第一终端和第二终端的属性信息进行识别。
本申请实施例的服务器,通过校验码、第一终端的属性信息和第二终端的属性信息进行校验,在校验码完成校验之后,再通过第一终端的属性信息和第二终端的属性信息进一步进行校验,从而能从根本上解决校验的安全性问题。并且本申请实施例的校验方法还可防止由于校验码被盗用或被冒用导致的用户信息泄露或用户资产流失等安全隐患。此外,通过第一终端属性信息和第二终端属性信息的比对能够识别多种盗用或冒用情景,即便校验码被盗用或冒用,也能够识别,从而从根本上保证信息安全。
在本申请的一个实施例中,校验请求包括用户身份信息,第二终端为与用户身份信息相关联的终端。具体地,第二终端是与用户身份信息绑定的终端。例如,将用户身份信息和第二终端的移动号码(如手机号码等)进行绑定,可以保证用户身份信息的安全。
图9是根据本申请另一个实施例的服务器的结构框图。
如图9所示,服务器300包括:校验请求接收模块310、校验码生成模块320、校验码发送模块330、属性信息获取模块340、校验码接收模块350和校验模块360,其中,校验模块360包括第一校验子模块361、第二校验子模块362。
具体地,第一校验子模块361用于判断第一终端反馈的校验码与生成的校验码是否一致。第二校验子模块362用于在第一校验子模块361判断第一终端反馈的校验码与生成的校验码一致时,进一步判断第一终端的属性信息和第二终端的属性信息是否匹配,如果判断第一终端的属性信息和第二终端的属性信息匹配,则判断通过校验。在本申请的实施例中,判断第一终端的属性信息和第二终端的属性信息是否匹配主要是指第一终端和第二终端之间的关系是否符合一般的或者惯常的标准,例如如果第一终端和第二终端的位置比较接近,那么则认为符合一般的或者惯常的标准,即判断二者匹配;反之,如果第一终端在北京,而第二终端在广东,则认为不符合一般的或惯常的标准,因此就判断二者不匹配。同样地,还可采用其他的判断标准,在此不再赘述。以下将具体列举几个实施例进行详细描述,但同样需要说明的是以下的实施例仅是示意性的,并非仅能通过以下实施例来实现,本领域技术人员可根据以下实施例进行相应的扩展或变化,这些均应包含在本申请的保护范围之内。
在本申请的一个实施例中,属性信息包括第一终端的媒体接入控制MAC地址和第二终端的MAC地址,第二校验子模块361在根据第一终端的MAC地址和第二终端的MAC地址判断第一终端和第二终端具有绑定关系时,判断第一终端的属性信息和第二终端的属性信息匹配,从而判断校验通过。第二校验子模块361在根据第一终端的MAC地址和第二终端的MAC地址判断第一终端和第二终端不具有绑定关系时,判断第一终端的属性信息和第二终端的属性信息不匹配,从而判断校验失败。具体地,MAC地址具有唯一性,如果第一终端和第二终端为不同的设备,其具有的MAC地址也不同。如果将第一终端的MAC地址和第二终端的MAC地址进行绑定,可以通过MAC地址判断第一终端的属性信息和第二终端属性信息是否匹配。
在本申请的一个实施例中,绑定关系由用户设定,或者根据用户的校验记录获取。例如,在本申请的一个实施例中,在提供支付服务之前,用户可以将第一终端和第二终端进行绑定,建立二者的绑定关系,从而在支付时就可通过该绑定关系来判断第一终端的MAC地址和第二终端的MAC地址是否匹配。或者,在本申请的另一个实施例中,服务器可以记录用户一段时间的支付记录,如果用户经常用第一终端购物,且经常用第二终端接收具有校验码的短信,那么服务器就可以自动建立第一终端和第二终端的绑定关系。
在本申请的另一个实施例中,属性信息包括第一终端的位置信息和第二终端的位置信息,第二校验子模块362在根据第一终端的位置信息和第二终端的位置信息判断第一终端和第二终端之间的距离小于预设距离时,判断第一终端的属性信息和第二终端的属性信息匹配,从而判断校验通过。第二校验子模块362在根据第一终端的位置信息和第二终端的位置信息判断第一终端和第二终端之间的距离大于或等于预设距离时,判断第一终端的属性信息和第二终端的属性信息不匹配,从而判断校验失败。
在本申请的一个实施例中,第一终端的位置信息和第二终端的位置信息包括IP地址或经纬度信息。具体地,如果是个人计算机、笔记本或掌上电脑等,可以获取连接网络所在的IP地址,直接使用IP地址和手机所连接网络的IP地址进行判断,例如,手机接入的无线网络所在的IP地址;还可以根据IP地址确定网络所处的经纬度信息,并根据确定的经纬度信息进行判断;还可以通过IP地址确定个人计算机、笔记本或掌上电脑等所处的经纬度信息,获取手机所处的经纬度信息,根据经纬度信息进行判断,其中,如果是手机,可以通过手机基站获取手机所处的经纬度信息,另外,如果该手机开启了定位功能,可以通过定位设备获取准确的经纬度信息。
在本申请的实施例中,还存在以下情况,第一终端和第二终端为同一个终端,例如,用户使用手机上安装的支付客户端进行支付操作,同时也使用该手机接收包含验证码的短信。此时判断第一终端的属性信息和第二终端的属性信息是否匹配主要是指通过属性信息判断第一终端和第二终端是否为同一个终端。
在本申请的一个实施例中,第二校验子模块362判断第一终端的属性信息和第二终端的属性信息是否相同,并在第一终端的属性信息和第二终端的属性信息相同时,判断第一终端的属性信息和第二终端的属性匹配,并确定校验通过。在第一终端的属性信息和第二终端的属性信息不同时,判断第一终端的属性信息和第二终端的属性不匹配,并确定校验失败。
在本申请的一个实施例中,第二校验子模块362在判断第一终端的属性信息和第二终端的属性信息不同时,还需要进一步判断第一终端和第二终端之间的距离是否小于预设距离或者判断第一终端和第二终端是否具有绑定关系。在这种情况下,先判断第一终端的属性信息和第二终端的属性信息是否相同,如果第一终端的属性信息和第二终端的属性信息不同,还可能存在第一终端和第二终端之间的距离小于预设距离或者判断第一终端和第二终端具有绑定关系等校验通过的情况。
在本申请的一个实施例中,第一终端的属性信息和第二终端的属性信息为IP地址或MAC地址。具体地,第二校验子模块362判断第一终端的IP地址是否和第二终端的IP地址相同,或者第二校验子模块362判断第一终端的MAC地址是否和第二终端的MAC地址相同。由于IP地址和MAC地址都具有唯一性,则第二校验子模块362通过判断IP地址或MAC地址是否相同可准确地确定第一终端的属性信息和第二终端的属性信息是否相同。
为了实现上述实施例,本申请的实施例还提出一种终端。
图10是根据本申请一个实施例的终端的结构框图。
如图10所示,终端200包括:短信接收模块210、属性信息采集模块220、判断模块230和发送模块240。在本申请的一个实施例中,终端200为手机。
具体地,短信接收模块210用于接收短信。
属性信息采集模块220用于采集终端的属性信息。在本申请的一个实施例中,终端的属性信息包括终端的MAC地址或位置信息,MAC地址或位置信息可参考上述实施例所述,在此不再赘述。
判断模块230用于判断短信中是否包含有校验码。
发送模块240用于在判断模块230判断短信中包含有校验码时,将终端的属性信息向预设地址发送。具体地,预设地址可以是服务器的地址。终端具有相应的应用程序插件,该应用程序插件在识别短信中具有验证码之后,会将终端的属性信息反馈至服务器。具体而言,该应用程序插件与服务器对应,其保存有应用程序对应的预设地址,在判断短信中具有验证码后自动将终端的属性信息发送至预设地址。另外,终端具有相应的钩子hook程序,该hook程序可作为应用程序(例如支付程序)的插件。该钩子hook程序在识别短信中具有验证码之后,会将终端的属性信息反馈至服务器,终端还可以通过短信的方式向应用提供方对应服务器发送属性信息,本申请的实施例对此不进行限定。
本申请实施例的终端,在短信发送至终端之后,可以自动识别短信中是否包含有校验码,并在识别短信中包含有校验码之后,自动获取终端的属性信息并反馈至对应的服务器的预设地址,从而使得服务器可以根据终端的属性信息进行校验。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。