具体实施方式
本申请的主要思想在于,提供一种针对应用的验证方法,利用终端的近场通信功能,当启动终端上某一应用的特定操作时,通过检测所述终端近场通信有效距离内是否存在与所述特定操作对应的特定近场设备,以确定是否可以放行所述特定操作,进而保证终端上应用的使用的安全性。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
根据本申请的实施例,提供了一种针对应用的验证方法,该方法可以适用于具有近场通信功能的终端中,尤其是例如,手机、平板电脑等移动终端。所述近场通信功能可以包括但不限于:蓝牙通信(Bluetooth)功能、近距离无线通信(NFC)功能、射频识别(RFID)功能。所述终端可以为具有上述任意一项或多项近场通信功能的终端。
参考图1,图1是本申请实施例的一种针对应用的验证方法的流程图。
如图1所示,在步骤S101中,当特定操作被触发时,检测距所述终端一定距离内的近场设备。也就是说,搜索该终端的近场通信有效距离内,是否有与该终端近场通信类型相同的近场设备。
在步骤S102中,获取所述近场设备的标识,并向服务器发送所述标识,以请求服务器根据所述标识验证所述近场设备是否是与所述特定操作对应的特定近场设备。
在步骤S103中,接收所述服务器根据所述标识进行验证的结果。即,接收所述服务器返回的关于所述检测到的近场设备是否是与所述特定操作对应的特定近场设备的验证结果。
在步骤S104中,根据验证结果,对所述特定操作进行下一步处理。即,根据服务器根据所述标识验证所述近场设备是否是与所述特定操作对应的特定近场设备而返回的验证结果,对所述特定操作进行下一步处理。
其中,当所述验证结果为所述近场设备是与所述特定操作对应的特定近场设备时,执行所述特定操作;当所述验证结果为所述近场设备不是与所述特定操作对应的特定近场设备时,执行预设安全操作。
为了更清楚地描述本申请实施例的技术方案,下面将参考图2进行更详细的说明。
图2是本申请的一种针对应用的验证方法的优选实施方式的流程图,如图2所示,在步骤S201中,当特定操作被触发时,确定针对所述特定操作是否需要进行近场设备验证。即,首先确定针对该特定操作是否需要进行近场设备验证。
其中,针对所述特定操作是否需要进行近场设备验证,可以预先进行设置并保存在服务器。并且,该特定操作是否需要进行近场设备验证,可以预先由用户通过其他终端利用用户账号登录该应用进行设置。其他终端可以为台式计算机、便携式计算机等设备,例如,用户可以通过台式计算机登录该应用,设置该应用针对特定操作需要进行近场设备验证。并且,可以预先设置与该特定操作对应的特定近场设备,即,该特定操作与该特定近场设备的标识具有对应关系。实际上,也就是将设置该特定操作需要进行近场设备验证的用户账号与该特定近场设备绑定(应理解,将该特定操作与特定近场设备的标识的对应关系是由用户通过登录应用账号进行设置的,因此,该特定近场设备也是与用户账号对应的),所述特定近场设备可以由用户指定。并且通过该终端与服务器的交互来设置该特定近场设备与该特定操作的对应关系,其中,服务器是该应用的数据信息在后台的存储设备,该应用的信息展示及处理均须通过与服务器的数据交互来实现。在服务器可以保存该特定近场设备的标识,从而认为该标识所标识的该特定近场设备为该特定操作所对应的特定近场设备。其中,近场通信功能可以包括但不限于:蓝牙通信(Bluetooth)功能、近距离无线通信(NFC)功能、射频识别(RFID)功能。特定近场设备与该终端具有相同的近场通信功能,以便能与该终端进行近场通信。例如,对于具有蓝牙通信功能的移动终端,该特定近场设备可以为具有蓝牙功能的蓝牙耳机、蓝牙鼠标等具有蓝牙功能的设备。该特定近场设备还可以为与该终端类型相同的设备,例如,该终端为具有蓝牙功能的手机时,该特定近场设备也可以为具有蓝牙功能的手机,在这种情况下,两个终端还可以互为特定近场设备,即,在其中一个终端上使用该应用时,另一个终端可以作为特定近场设备,反之亦然。该特定近场设备可以为一个或一个以上,即,与该特定操作(以账号标识用户身份的应用的特定操作)对应的特定近场设备可以设置一个也可以设置多个,并可以通过该特定近场设备的标识来绑定该特定操作与该特定近场设备的对应关系,所述标识可以为该近场设备的物理地址(MAC地址)、用户对该近场设备的命名等。例如,可以通过该特定近场设备的MAC地址绑定,具体地,可以将该特定近场设备的MAC地址保存在服务器端,当进行近场设备验证时,终端获取待验证的近场设备的MAC地址,并上传至服务器,由服务器查询待验证的近场设备的MAC地址与服务器端保存的与该特定操作对应的特定近场设备的MAC地址是否一致,从而验证该待验证的近场设备是否为该特定近场设备。当该设备为蓝牙设备时,该标识还可以为蓝牙设备地址(Bluetooth Device Address)。每个蓝牙收发器都会被分配唯一的一个48位的设备地址,该设备地址包括24位的LAP域,16位的NAP域和一个8位的UAP域。可以将该蓝牙设备地址保存在服务器端,当进行近场设备验证时,终端获取待验证的蓝牙设备的设备地址,并上传至服务器,由服务器查询待验证的蓝牙设备的设备地址与服务器端保存的与该特定操作对应的蓝牙设备的设备地址是否一致,从而验证该待验证的蓝牙设备是否为与该特定操作对应的蓝牙设备。
根据本申请的一个实施例,所述特定操作是否需要进行近场设备验证,不通过当前所使用的终端来进行设置,以保证用户的由于遗失或其他原因被他人操作时,操作者不能随意更改该设置。其中,所述其他终端可以为个人计算机(台式计算机、便携式计算机等)、智能手机、平板电脑等。优选地,该其他终端为个人计算机。当用户通过某终端来设置针对该应用的特定操作是否需要进行近场设备验证时,服务器可以识别该终端的设备类型,并根据设备类型判断该设置是否可以生效,即,判断该终端类型是否是指定的可以设置针对应用的特定操作是否需要进行近场设备验证的设备类型,如果是,则可以在服务器端保存该设置,否则该设置无效。
根据本申请的一个实施例,可以预先设置所述特定操作与特定近场设备的标识的对应关系,即,通过该特定近场设备的标识,将该特定操作与该特定近场设备进行预先绑定,以便当用户再次触发该特定操作时,针对该特定操作进行近场设备验证。预先设置的所述特定操作与所述特定近场设备的标识的对应关系保存在服务器。
具体地,在服务器端可以存储用户对该应用的设置,而针对特定操作进行近场设备验证可以设置为该应用的一个功能,这里我们可以称之为近场设备验证功能,并且在服务器端可以存储用户对该应用的特定操作的近场设备验证功能进行的设置(或设置数据),例如,保存针对特定操作的近场设备验证功能开启关闭状态(或状态数据)、保存预先与该终端绑定的特定近场设备的标识等,当用户通过所述其他终端触发了该应用的特定操作时,服务器检查用户对该应用的近场设备验证功能的设置,如果用户没有开启针对特定操作的近场设备验证功能,例如,在用户第一次触发了该应用的特定操作时(用户必然没有开启针对特定操作的近场设备验证功能),则提示用户是否要设置针对该特定操作进行近场设备验证,即,提示用户是否开启针对该特定操作的近场设备验证功能,用户如果选择是,则提示用户设置一个(或多个)与该特定操作对应的特定近场设备。需注意,设置针对该应用的特定操作是否需要进行近场设备验证,并不仅限于用户通过所述其他终端在第一次触发该应用的特定操作时进行设置,也就是说,用户可以在其他终端上根据个人的需要更改针对特定操作是否需要进行近场设备验证的设置。
所述特定操作可以为所述应用的一项或多项操作,例如,登录某一应用时的登录操作、使用支付应用的进行支付时的确认支付操作等,并且,可以通过登录该应用,将该应用的一项或多项操作设置为特定操作。当用户开启该应用并触发了任意一项操作时,如果该操作是预先设置的特定操作,即可通过查询针对该特定操作是否需要进行近场设备验证,来确定是否对该特定操作进行近场设备的验证。
当应用的特定操作被触发时,向服务器发送查询针对所述特定操作是否需要进行近场设备验证的请求,并根据服务器返回的查询结果确定所述特定操作是否需要进行近场设备验证。所述特定操作是否需要进行近场设备验证,是预先进行设置并保存在所述服务器的,服务器收到该查询请求后,查询该用户是否设置了针对该特定操作进行近场设备验证,并返回查询的结果,从而可以根据服务器返回的查询结果,确定是否需要对于该特定操作进行近场设备的验证。
例如,当用户使用上的支付应用进行支付操作时,当用户点击表示“确认支付”的按钮后(该“确认支付”操作为一项特定操作),该应用可以向服务器发起查询请求,请求服务器查询该用户是否设置了针对该“确认支付”操作需要进行近场设备验证,以确定是否需要对于该“确认支付”的操作进行近场设备的验证。
如果针对所述特定操作不需要进行近场设备验证,则执行步骤S206,执行所述特定操作。即,执行用户所触发的操作。
如果针对所述特定操作需要进行近场设备验证,则执行步骤S202。
在步骤S202中,检测距所述终端一定距离内的近场设备。也就是说,搜索该终端的近场通信有效距离内,是否存在近场设备。
其中,所述终端与所述近场设备采用同样的近场通信方式,终端可能具有不只一种近场通信方式(例如,可能同时具有蓝牙功能和NFC功能),因此,该终端需要与该近场设备的近场通信方式相同,双方才能在进行近场设备验证时进行近场通信。例如,该近场通信方式可以为蓝牙通信,该近场设备可以为蓝牙耳机。所述一定距离为所述终端的近场通信有效距离,该终端,需要与要互相进行通信的近场设备保持在一定的距离范围内,才能搜索到该近场设备,进而与该近场设备配对并进行通信,即,近场通信的有效距离。也就是说,当与该特定操作对应的近场设备与该终端的距离在该终端近场通信有效距离以内时,该终端才能够搜索到该近场设备。
例如,在具有蓝牙功能的手机上开启应用时,由于蓝牙通信的有效距离一般约为10米,因此,当使用该应用的特定操作时,需要将与该特定操作绑定的蓝牙设备与该手机保持10米以内的距离,手机才能搜索到该蓝牙设备,并且通过与该设备配对获取该设备的设备信息,如设备标识等信息。由于蓝牙通信有效距离约为10米,因此,用户只需要随身携带与该手机对应的蓝牙设备(例如,蓝牙耳机),而不需要特意将蓝牙耳机靠近该手机。
如果距所述终端一定距离内存在近场设备,则执行步骤S203。
在步骤S203中,获取所述近场设备的标识,并向服务器发送所述标识,以请求服务器根据所述标识验证所述近场设备是否是与所述特定操作对应的特定近场设备。
服务器保存有预先设置的所述特定操作与所述特定近场设备的标识的对应关系,如果搜索到该终端的近场通信有效距离内存在近场设备,可以通过与近场该设备配对,从而与近场该设备进行近场通信,进而获取该近场设备的标识。获取到该近场设备的标识后,可以向服务器发送该标识,请求服务器查询该近场设备是否为与所述特定操作对应的特定近场设备,即,预先与该特定操作绑定的特定近场设备。
服务器接收到验证所述近场设备是否是与所述特定操作对应的特定近场设备的请求时,可以根据接收到的由所述终端发送的所述标识及所述保存的预先设置的所述特定操作与所述特定近场设备的标识的对应关系进行验证,并返回验证结果。
具体地,服务器可以保存预先设置的所述特定操作与所述特定近场设备的标识的对应关系,当接收到该终端发送的该近场设备的标识,服务器端通过将该标识与服务器端保存的与该特定操作对应的特定近场设备的标识进行比对,来验证该近场设备是否是与该特定操作对应的特定进场设备,并返回验证的结果。如果一致,则说明该近场设备是与该特定操作对应的特定近场设备,即,该的近场通信有效距离内存在与该特定操作对应的特定近场设备。如果比对的结果为不一致,则该近场设备不是与该特定操作对应的特定近场设备,即,该终端的近场通信有效距离内不存在与该特定操作对应的特定近场设备。所述标识可以为该近场设备的物理地址(MAC地址)、用户对该近场设备的命名等。并且可以将该标识保存在服务器端。例如,可以通过该近场设备的MAC地址绑定该近场设备与该终端,可以将该设备的MAC地址保存在服务器端,当进行近场设备验证时,向服务器发送该MAC地址,请求服务器验证该搜索到的近场设备是否是与该特定操作绑定的特定近场设备,服务器则根据该的MAC地址以及服务器端保存的与该特定操作对应的特定近场设备的对应关系,验证该近场设备是否为与该特定操作对应的特定近场设备,并返回验证结果。
在步骤S204处,接收所述服务器根据所述标识进行验证的结果。即,接收所述服务器返回的验证所述检测到的近场设备是否是与所述特定操作对应的特定近场设备的验证结果。
在步骤S205处,根据验证结果,对所述特定操作进行下一步处理。即,根据服务器根据所述标识验证所述近场设备是否是与所述特定操作绑定的特定近场设备而返回的验证结果,对所述特定操作进行下一步处理。
步骤S205可以包括两种情况,其中,一种情况为:当所述验证结果为所述近场设备是与所述特定操作对应的特定近场设备时,执行所述特定操作。
另一种情况为:当所述验证结果为所述近场设备不是与所述特定操作对应的特定近场设备时,执行预设安全操作。
例如,用户通过一个终端启动应用,与特定应用绑定的特定近场设备为一个蓝牙耳机,当用户开启终端上的应用并触发了登录操作(该登录操作为一项特定操作)时,并且,向服务器发起查询请求返回的结果为针对该登录操作需要进行近场设备验证,则检测该终端的一定距离内是否存在近场设备,其中,该终端采用与该近场设备相同的近场通信方式。即,搜索该终端的近场通信有效距离内有没有蓝牙设备,如果搜索到该终端的近场通信有效距离内存在蓝牙设备,则获取该蓝牙设备的MAC地址,并将该MAC地址向服务器发送,以请求服务器查询该蓝牙设备是否为与该特定操作对应的蓝牙耳机,服务器接收到该MAC地址后与之前保存的与该终端的蓝牙耳机的MAC地址进行比对,如果服务器返回的结果为这两个MAC地址一致,说明该设备是与该特定操作对应的蓝牙耳机,即近场设备验证成功;如果服务器返回的结果为两个MAC地址不一致,则说明该近场设备不是与该特定操作对应的蓝牙耳机,即,近场设备验证失败,则执行预设安全操作。
例如,当用户使用终端上的支付应用时,当用户点击表示“确认支付”的按钮后(该“确认支付”操作为一项特定操作),如果该用户设置了针对该支付应用需要进行近场设备验证,则搜索该终端的近场通信有效距离内是否有与该终端具有相同的近场通信功能的近场设备,并获取搜索到的近场设备的标识向服务器发送,以请求服务器验证该设备是否是与该确认支付操作对应的特定近场设备,实际上,也就是搜索该终端的近场通信有效距离内是否存在与该操作对应的特定近场设备,不存在(该终端的近场通信有效距离内没有搜索到近场通信类型相同的近场设备,或所搜索到的近场设备经查询并不是与该操作绑定的特定近场设备,则说明该“确认支付”操作,为异常操作(例如,用户终端丢失的情况、他人滥用该用户的终端的情况),即,验证失败,此时执行预设安全操作。
在步骤S202中,如果检测距所述终端一定距离内不存在近场设备,也就是说,该终端的近场通信有效距离内不存在与该特定操作对应的特定近场设备,则执行步骤S207,执行预设安全操作。
其中,所述预设安全操作可以包括以下任意一项或多项:锁定所述终端、清除所述终端中记忆的密码、通知其他的终端。
当在终端近场通信有效距离内没有搜索到与其绑定的特定近场设备,即,近场设备验证失败时,可以锁定该终端,例如,该终端为手机时,可以终止当前的被触发的特定操作,并锁定该手机的屏幕,即,需要输入预设的锁屏密码才能解锁,使当前的操作者不能继续使用该手机。
或者,还可以清除终端中记忆的密码或删除(卸载)该应用,例如,用户在登录手机上应用的时候,为了方便下次登录,经常会将该应用设置成记忆登录密码,如果用户的手机不慎丢失,那么,该应用则极容易被他人使用手机中保存的密码进行登录并使用,因此,可以在近场设备验证失败时,终止当前的操作,并清除记忆的密码,此时,虽然登录密码是正确的,但由于在手机端的近场设备验证失败,手机端已经终止了当前被触发的特定操作(即,并没有向服务器发送登录该应用的请求),因此,当前的操作者仍然不能成功登录用户的应用账号。
或者,还可以通知其他终端,用户可以设置当近场设备验证失败时,自动向其他终端发送提醒。例如,当用户的手机不慎丢失,当有人使用该用户手机上的该应用的该特定操作时,由于没有与该手机对应的特定近场设备(例如,蓝牙耳机),则近场设备验证就会失败,用户手机会通过短信等形式自动向其他终端发出提醒,例如,用户可以设置的其他手机的号码为发送提醒短信的手机号码,当近场设备验证失败时,自动向该手机号码发送提醒短信,这样一方面不但可以保证应用的使用安全,另一方面当用户在不知道自己的手机已经遗失的时候,还可以起到提醒用户的作用。另外,还可以设置当近场设备验证失败时,开启GPS定位或前置摄像头进行拍摄,并将定位得到的该终端当前的位置信息或前置摄像头拍摄的照片以提醒短信的形式发送给该其他终端,从而还能获取该终端当前所在的地点等信息,以方便用户寻回该终端。
根据本申请的一个实施例,上述的近场设备验证过程可以设置为隐藏过程,即在验证过程中,不在该应用的页面上显示任何有关近场设备验证的提示,因此,当前的操作者也不会感知到正在进行的验证操作。
本申请还提供了一种具有近场通信功能的终端。
图3示意性地示出了根据本申请一个实施例的一种终端300的结构框图。根据本申请的一个实施例,该终端300可以包括:检测模块301、获取模块302、发送模块303、接收模块304以及处理模块305。
其中,检测模块301可以用于当特定操作被触发时,检测距所述终端一定距离内的近场设备。
获取模块302可以用于获取所述近场设备的标识。
发送模块303可以用于向服务器发送所述标识,以请求服务器根据所述标识验证所述近场设备是否是与所述特定操作对应的特定近场设备。
接收模块304可以用于接收所述服务器根据所述标识进行验证的结果。
处理模块305可以用于根据验证结果,对所述特定操作进行下一步处理。
根据本申请的一个实施例,处理模块305可以进一步用于:当所述验证结果为所述近场设备是与所述特定操作对应的特定近场设备时,执行所述特定操作;以及当所述验证结果为所述近场设备不是与所述特定操作对应的特定近场设备时,执行预设安全操作。
根据本申请的一个实施例,终端300还可以包括:确定模块,用于当特定操作被触发时,向服务器发送查询针对所述特定操作是否需要进行近场设备验证的请求,并根据服务器返回的验证结果确定所述特定操作是否需要进行近场设备验证。
根据本申请的一个实施例,检测模块301可以进一步用于:检测距所述终端一定距离内的近场设备。获取模块302可以进一步用于:如果存在近场设备,则获取所述近场设备的标识;以及处理模块305可以进一步用于:如果不存在近场设备,则执行预设安全操作。
根据本申请的实施例,所述一定距离为所述终端的近场通信有效距离。
根据本申请的实施例,所述预设安全操作包括以下操作中的一个或多个:锁定所述终端、清除所述终端中记忆的密码、通知其他的终端。
参考图4,为本申请的一种终端系统400的结构框图,如图4所示,终端系统400包括:具有近场通信功能的终端410以与所述特定操作对应的特定近场设备420;
其中,所述终端包括:
检测模块411,可以用于当特定操作被触发时,检测距所述终端一定距离内的近场设备。
获取模块412,可以用于获取所述近场设备的标识。
发送模块413,可以用于向服务器发送所述标识,以请求服务器根据所述标识验证所述近场设备是否是与所述特定操作对应的特定近场设备。
接收模块414,可以用于接收所述服务器根据所述标识进行验证的结果。
处理模块415,可以用于根据验证结果,对所述特定操作进行下一步处理。
并且其中,所述特定近场设备420与所述终端410具有相同的近场通信功能。
根据本申请的一个实施例,所述近场通信为可以蓝牙通信,所述特定近场设备可以为蓝牙耳机。
由于本实施例的终端和终端系统所实现的功能基本相应于前述图1、图2所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。