使用智能图像反钓鱼的方法、系统、移动设备和介质转让专利

申请号 : CN201680009197.2

文献号 : CN107211030B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : G·安南沙拉句

申请人 : 甲骨文国际公司

摘要 :

本发明的实施例提供用于使用反钓鱼图像的系统和方法。更具体地,本发明的实施例提供使用非静态的、基于位置的反钓鱼图像,在一些情况下,反钓鱼图像可以包括认证信息。根据一个实施例,使用受信移动设备的用户可以在登记线上服务或者应用期间去到特定的位置。该位置可以由移动设备,例如,通过全球定位系统(GPS)接收器和/或其他位置检测技术检测。一旦检测到,该位置可以由移动设备提供到用户正在注册的服务或者应用并且由服务或者应用保存为“秘密位置”。同样在登记期间,用户可以选择反钓鱼图像。一旦保存,位置信息可以用于反钓鱼以及认证目的。

权利要求 :

1.一种用于反钓鱼的方法,包括:

在针对服务的注册过程期间,由计算机系统提供多个图像;

在所述注册过程期间,由所述计算机系统接收对所述多个图像中的图像的选择;

在所述注册过程期间,由所述计算机系统接收指示正在参与所述注册过程的移动设备的地理位置的位置信息;

由所述计算机系统保存从所述多个图像中选择的所述图像;

由所述计算机系统将所述位置信息保存作为注册位置;以及响应于由所述计算机系统接收到来自所述移动设备的访问所述服务的请求:由所述计算机系统检索所述图像和所述注册位置;

使用所述注册位置加密所述图像,以创建经加密的图像,所述加密包括:由所述计算机系统生成唯一访问代码;

由所述计算机系统将所述唯一访问代码添加到所述图像;以及由所述计算机系统通过使用所述注册位置加密具有所添加的唯一访问代码的所述图像,来生成所述经加密的图像;以及由所述计算机系统向所述移动设备提供所述经加密的图像,其中,基于所述移动设备使用所述注册位置对所述经加密的图像进行解密,所述经加密的图像被用于为所述移动设备验证对所述服务的访问。

2.根据权利要求1所述的方法,还包括:由所述移动设备在所述注册过程期间确定所述移动设备的所述地理位置;以及由所述移动设备在所述注册过程期间基于确定所述移动设备的所述地理位置来提供所述位置信息。

3.根据权利要求1所述的方法,还包括:在所述移动设备处接收所述经加密的图像;

由所述移动设备使用由所述移动设备基于所述移动设备的当前地理位置确定的位置信息对所述经加密的图像进行解密,从而获得具有访问代码的经解密的图像;

由所述移动设备向所述移动设备的用户呈现具有所述访问代码的所述经解密的图像;

以及

由所述移动设备将所述访问代码提供给所述服务。

4.根据权利要求1所述的方法,其中所述唯一访问代码包括一次性密码(OTP)。

5.根据权利要求1所述的方法,其中所述唯一访问代码包括区分计算机与人类的完全自动化公用图灵测试(CAPTCHA)代码。

6.根据权利要求1所述的方法,还包括:由所述计算机系统从所述移动设备接收所述唯一访问代码;以及由所述计算机系统为所述移动设备验证对所述服务的访问。

7.一种用于反钓鱼的系统,包括:

处理器;以及

存储器,所述存储器与所述处理器耦合并且能够由所述处理器读取,并且所述存储器在其中存储一个或多个计算机程序,所述一个或多个计算机程序在由所述处理器执行时,使得所述处理器执行包括以下步骤的处理:在针对服务的注册过程期间,提供多个图像;

在所述注册过程期间,接收对所述多个图像中的图像的选择;

在所述注册过程期间,接收指示正在参与所述注册过程的移动设备的地理位置的位置信息;

保存从所述多个图像中选择的所述图像;

将所述位置信息保存作为注册位置;以及响应于接收到来自所述移动设备的访问所述服务的请求:检索所述图像和所述注册位置;

使用所述注册位置加密所述图像,以创建经加密的图像,所述加密包括:生成唯一访问代码;

将所述唯一访问代码添加到所述图像;以及通过使用所述注册位置加密具有所添加的唯一访问代码的所述图像,来生成所述经加密的图像;以及向所述移动设备提供所述经加密的图像,其中,基于所述移动设备使用所述注册位置对所述经加密的图像进行解密,所述经加密的图像被用于为所述移动设备验证对所述服务的访问。

8.根据权利要求7所述的系统,其中所述唯一访问代码包括一次性密码(OTP)。

9.根据权利要求7所述的系统,其中所述唯一访问代码包括区分计算机与人类的完全自动化公用图灵测试(CAPTCHA)代码。

10.根据权利要求7所述的系统,其中所述处理还包括以下步骤:从所述移动设备接收所述唯一访问代码;以及为所述移动设备验证对所述服务的访问。

11.一种移动设备,包括:

处理器;以及

存储器,所述存储器与所述处理器耦合并且能够由所述处理器读取,并且所述存储器在其中存储一个或多个计算机程序,所述一个或多个计算机程序在由所述处理器执行时,使得所述处理器执行包括以下步骤的处理:在针对服务的注册过程期间,从计算机系统接收多个图像;

在所述注册过程期间,向所述计算机系统提供对所述多个图像中的图像的选择;

在所述注册过程期间,确定指示所述移动设备的地理位置的位置信息;

在所述注册过程期间,将所述位置信息提供给所述计算机系统作为注册位置;

请求对所述服务的访问;

响应于所述请求,从所述计算机系统接收包括唯一访问代码的经加密的图像,其中所述经加密的图像是使用所述注册位置加密的,其中使用所述注册位置来生成所述经加密的图像包括:由所述计算机系统生成所述唯一访问代码;

由所述计算机系统将所述唯一访问代码添加到所述图像;以及由所述计算机系统通过使用所述注册位置加密具有所添加的唯一访问代码的所述图像,来生成所述经加密的图像;以及基于使用注册位置对所述经加密的图像进行解密,使用所述经加密的图像来验证对所述服务的访问。

12.根据权利要求11所述的移动设备,其中,使用所述经加密的图像来验证对所述服务的访问包括:使用由所述移动设备基于所述移动设备的当前地理位置确定的位置信息对所述经加密的图像进行解密,从而生成具有访问代码的经解密的图像;

向所述移动设备的用户呈现具有所述访问代码的所述经解密的图像;以及将所述访问代码提供给所述服务。

13.根据权利要求11所述的移动设备,其中所述唯一访问代码包括一次性密码(OTP)。

14.根据权利要求11所述的移动设备,其中所述唯一访问代码包括区分计算机与人类的完全自动化公用图灵测试(CAPTCHA)代码。

15.一种非临时性计算机可读介质,存储有一个或多个计算机程序,所述一个或多个计算机程序在由一个或多个处理器执行时,使得所述一个或多个处理器执行包括以下步骤的处理:在针对服务的注册过程期间提供多个图像;

在所述注册过程期间接收对所述多个图像中的图像的选择;

在所述注册过程期间接收指示正在参与所述注册过程的移动设备的地理位置的位置信息;

保存从所述多个图像中选择的所述图像;

将所述位置信息保存作为注册位置;以及响应于接收到来自所述移动设备的访问所述服务的请求而执行以下操作:检索所述图像和所述注册位置;

通过以下操作,使用所述注册位置加密所述图像以创建经加密的图像:生成唯一访问代码;

将所述唯一访问代码添加到所述图像;以及通过使用所述注册位置加密具有所添加的唯一访问代码的所述图像,来生成所述经加密的图像;以及向所述移动设备提供所述经加密的图像,其中,基于所述移动设备使用所述注册位置来解密所述经加密的图像,所述经加密的图像被用于为所述移动设备验证对所述服务的访问。

16.根据权利要求15所述的非临时性计算机可读介质,其中所述唯一访问代码包括一次性密码(OTP)。

17.根据权利要求15所述的非临时性计算机可读介质,其中所述唯一访问代码包括区分计算机与人类的完全自动化公用图灵测试(CAPTCHA)代码。

18.根据权利要求15所述的非临时性计算机可读介质,其中所述处理还包括以下步骤:从所述移动设备接收所述唯一访问代码;以及为所述移动设备验证对所述服务的访问。

说明书 :

使用智能图像反钓鱼的方法、系统、移动设备和介质

背景技术

[0001] 本发明的实施例一般地涉及用于在线上交互的多方之间建立信任的方法和系统,并且更具体而言涉及使用非静态、基于位置的反钓鱼(anti-phishing)图像,在一些情况下,反钓鱼图像可以包括认证信息。
[0002] 随着线上活动(并且具体而言是线上商务)继续增长,线上诈骗和阴谋的发生率如果不是以更大的步速也是以相等的步速增长。例如,钓鱼操作经常涉及大量联系消费者(例如,通过“垃圾邮件(spam)”电子邮件消息、文本消息、VoIP呼叫、即时消息等,以及通过其他设备),这些联系声称来自特定并且可能众所周知的公司或者其他实体,并且通常将所联系的消费者引导至响应站点,该响应站点经常是网站但是也可以是电话号码等。响应站点可能看上去是消息所指示的公司或者实体的站点,但是是欺诈的并且与该公司或者其他实体不相关联。确切地说,站点被设计以引诱消费者提供诸如密码、账号等个人信息,然后这些个人信息可以由操作钓鱼站点的犯罪分子使用。
[0003] 为了防止钓鱼攻击,现今的许多或者大多数线上方案使用反钓鱼图像作为建立信任以及确保终端用户他已经进入了正确网站的方法。例如,当向特定公司或者其他实体的已知站点注册时,用户可以选择或者提供特定的图像。当未来访问该站点时,典型地作为登录过程的一部分,此图像可以被提供给用户,作为该站点确实是同一受信站点的快速并且容易的视觉确认。然而,在大多数线上解决方案中使用的当前反钓鱼图像是静态图像。照此,如果黑客能够窃取或者以另外的方式确定所使用的图像,那么黑客设立钓鱼站点并且收获用户信息仍然相对容易。另外,用作二次认证的基于知识的认证、由短消息服务(SMS)递送的一次性密码(OTP)或者电子邮件OTP或者这些方法的组合具有它们自身的限制。因此,存在对于用于在线上交互的多方之间建立信任的改进方法和系统的需求。

发明内容

[0004] 本发明的实施例提供用于使用反钓鱼图像的系统和方法。根据一个实施例,使用反钓鱼图像可以包括提供服务的注册功能。注册功能可以提供从多个反钓鱼图像中选择反钓鱼图像。在对注册功能的访问期间,注册功能可以接收对反钓鱼图像的选择以及指示由移动设备确定和提供的位置的位置信息。所选择的反钓鱼图像以及所接收的位置信息可以被保存作为注册位置。在另一个时间,可以接收访问服务的请求。在对请求的响应以及对服务的访问过程中可以检索并且使用所保存的反钓鱼图像和注册位置。
[0005] 例如,在对请求的响应以及对服务的访问过程中使用检索到的反钓鱼图像和注册位置可以包括生成唯一访问代码,将所生成的唯一访问代码添加到反钓鱼图像,使用注册位置对具有所添加的唯一访问代码的反钓鱼图像进行加密,以及响应于接收到的访问服务的请求提供经加密的反钓鱼图像。移动设备可以接收经加密的反钓鱼图像,使用由移动设备基于移动设备的当前位置确定的位置信息对经加密的反钓鱼图像进行解密,呈现经解密的反钓鱼图像,并且在一些情况下,可以将来自经解密的反钓鱼图像的访问代码提供给服务或者另一个设备。服务继而可以接收来自移动设备或者其他设备的响应。该响应可以包括访问代码。响应于接收到的访问代码与所生成的唯一访问代码匹配,可以授予对服务的访问。
[0006] 在另一个示例中,在对请求的响应以及对服务的访问过程中使用检索到的反钓鱼图像和注册位置可以包括对注册位置进行散列,将经散列的注册位置添加到反钓鱼图像的头部并且将反钓鱼图像提供给移动设备。移动设备可以在移动设备处接收反钓鱼图像,呈现接收到的反钓鱼,生成移动设备的当前位置的散列,并且确定在反钓鱼图像的头部中接收到的经散列的注册位置是否与所生成的移动设备的当前位置的散列匹配。响应于在反钓鱼图像的头部中接收到的经散列的注册位置与所生成的移动设备的当前位置的散列匹配,移动设备可以请求访问代码。服务可以从移动设备接收访问服务的请求并且将可以用来访问服务的唯一访问代码提供给该移动设备。

附图说明

[0007] 图1是示出可以在其中实现本发明的各种实施例的示例性分布式系统的部件的框图。
[0008] 图2是示出系统环境的部件的框图,由本发明的实施例提供的服务通过该系统环境可以被提供作为云服务。
[0009] 图3是示出可以在其中实现本发明的实施例的示例性计算机系统的框图。
[0010] 图4是在高级别处示出根据本发明的一个实施例的用于使用反钓鱼图像的系统的功能部件的框图。
[0011] 图5是示出根据本发明的一个实施例的用于注册反钓鱼图像的过程的流程图。
[0012] 图6是示出根据本发明的一个实施例的用于使用反钓鱼图像的过程的流程图。
[0013] 图7是示出根据本发明的一个实施例的用于使用反钓鱼图像的过程的附加细节的流程图。
[0014] 图8是示出根据本发明的一个实施例的用于使用反钓鱼图像的过程的附加细节的流程图。

具体实施方式

[0015] 在下面的描述中,为了说明的目的,阐释许多具体的细节以便提供对本发明的各种实施例的透彻理解。然而,对本领域技术人员将清楚的是,本发明的实施例可以在没有这些具体细节中的一些的情况下被实践。在其他实例中,以框图形式示出众所周知的结构和设备。
[0016] 随后的描述仅提供示例性实施例,并且不旨在限制本公开的范围、适用性或者配置。确切地说,对示例性实施例的随后描述将向本领域技术人员提供用于实现示例性实施例的实现性描述。应当理解,可以在元件的功能和布置方面进行各种改变而不背离如所附权利要求书中阐释的本发明的精神和范围。
[0017] 在下面的描述中给出具体的细节以提供对实施例的透彻理解。然而,本领域普通技术人员将理解的是,可以在没有这些具体细节的情况下实践这些实施例。例如,电路、系统、网络、进程以及其他部件可以以框图形式被示出为部件,从而不以不必要的细节模糊实施例。在其他实例中,众所周知的电路、进程、算法、结构和技术可以在没有不必要的细节的情况下示出,从而避免模糊实施例。
[0018] 而且,应当注意的是,各个实施例可以被描述为过程,这些过程被描绘为流程图、流图、数据流图、结构图或者框图。虽然流程图可以将操作描述成顺序的过程,但是这些操作中的许多操作可以并行或者并发地执行。另外,可以重新布置操作的次序。过程在它的操作完成时终止,但是可以具有图中没有包括的附加步骤。过程可以对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,过程的终止可以对应于函数向调用函数或者主函数的返回。
[0019] 术语“机器可读介质”包括但不限于便携式的或者固定的存储设备、光学存储设备以及能够存储、包含或者运载(一个或多个)指令和/或数据的各种其他介质。代码段或者机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类或者指令、数据结构或者程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、变元、参数或者存储器内容而耦合到另一个代码段或者硬件电路。信息、变元、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何适当手段而传递、转发或者传输。
[0020] 此外,实施例可以由硬件、软件、固件、中间件、微代码、硬件描述语言或者其任何组合实现。当以软件、固件、中间件或者微代码实现时,执行必要任务的程序代码或者代码段可以存储在机器可读介质中。(一个或多个)处理器可以执行必要的任务。
[0021] 本发明的实施例提供用于使用反钓鱼图像的系统和方法。更具体而言,本发明的实施例提供使用非静态的、基于位置的反钓鱼图像,在一些情况下,这些反钓鱼图像可以包括认证信息。根据一个实施例,使用受信移动设备的用户可以在向线上服务或者应用登记期间去到特定的位置。这个位置可以由移动设备例如通过全球定位系统(GPS)接收器和/或其他位置检测技术而检测到。一旦被检测到,该位置就可以由移动设备提供给用户正在注册的服务或者应用,并且由该服务或者应用保存为“秘密位置”。而且在登记期间,用户可以选择反钓鱼图像。一旦被保存,位置信息就可以用于反钓鱼以及认证目的。
[0022] 例如,位置信息可以被服务或者应用用来对反钓鱼图像进行加密,无论何时用户尝试访问该服务或者应用,反钓鱼图像可以被发送到移动设备或者被发送到将经加密的图像传送到该移动设备的其他计算设备。一旦该图像被移动设备获得,移动设备就可以检测该移动设备的当前位置并且尝试使用当前位置对图像进行解密。如果移动设备处于与注册时相同的“秘密位置”或者当移动设备处于与注册时相同的“秘密位置”时,图像可以被恰当地解密并且因此像原始选择的图像一样以可识别的形式呈现给用户。另外,在一些情况下,在加密之前,图像可以由服务或者应用使用代码进行标记,这些代码诸如是一次性密码(OTP)或者区分计算机与人类的完全自动化公用图灵测试(CAPTCHA)代码。例如,在图像被加密之前,可以生成代码并且将其作为水印或者重叠物(overlay)添加到图像。一旦图像被移动设备解密,用户就可以然后使用此代码完成向服务或者应用的登录过程和/或认证过程。
[0023] 在另一个示例中,无论何时用户尝试访问服务或者应用,图像可以被服务或者应用以原始、未加密的形式提供给用户,但是该图像具有在其头部中保存的位置信息的经加密的版本或者经散列的版本。一旦移动设备处于与注册时相同的“秘密位置”,头部中的位置信息可以由移动设备恰当地解密,并且被移动设备用来从服务或者应用中获得包含OTP或者CAPTCHA代码的新图像,用户然后可以使用该OTP或者CAPTCHA代码完成向服务或者应用的登录过程和/或认证过程。
[0024] 在任一情况下,在注册期间获得的位置信息不仅可以用来使得反钓鱼图像更加安全,而且可以取代较弱的基于知识的认证方法以及SMS或者电子邮件OTP类型的认证方法。本文描述的实施例可以在增强的安全性是被要求的或者是适当的并且可以与特定的物理位置相关的情况下使用。例如,对企业系统或者应用的访问可以与用户的办公室相关并且被限制到用户的办公室。用户向其注册的应用或者服务的某些功能(诸如改变注册信息)可以被限制到在注册期间使用的特定位置。例如,线上银行或者其他类似的服务可以将对账户信息的访问或者像发起转账这样的某些功能限制为仅当基于移动设备的当前位置确定用户位于注册位置(诸如用户家)时可用。下面将参考附图对本发明的实施例的各种附加细节进行描述。
[0025] 图1是示出可以在其中实现本发明的各种实施例的示例性分布式系统的部件的框图。在所示出的实施例中,分布式系统100包括一个或多个客户端计算设备102、104、106和108,它们被配置为通过(一个或多个)网络110执行并且操作诸如网络浏览器、专有客户端(例如,Oracle表格)等等的客户端应用。服务器112可以经由网络110与远程客户端计算设备102、104、106和108在通信上耦合。
[0026] 在各种实施例中,服务器112可以适于运行由系统的部件中的一个或多个提供的一个或多个服务或者软件应用。在一些实施例中,这些服务可以作为基于网络的服务或者云服务或者在软件即服务(SaaS)模型下提供给客户端计算设备102、104、106和/或108的用户。操作客户端计算设备102、104、106和/或108的用户继而可以利用一个或多个客户端应用与服务器112交互从而利用由这些部件提供的服务。
[0027] 在图中描绘的配置中,系统100的软件部件118、120和122被示出为实现在服务器112上。在其他实施例中,系统100的部件中的一个或多个和/或由这些部件提供的服务也可以由客户端计算设备102、104、106和/或108中的一个或多个实现。操作客户端计算设备的用户然后可以利用一个或多个客户端应用以使用由这些部件提供的服务。这些部件可以以硬件、固件、软件或者其组合实现。应当领会,各种不同的系统配置是可能的,这些配置可以与分布式系统100不同。在图中示出的实施例因此是用于实现实施例系统的分布式系统的一个示例并且不旨在是限制性的。
[0028] 客户端计算设备102、104、106和/或108可以是便携式手持设备(例如,蜂窝式电话、 计算平板电脑、个人数字助理(PDA))或者可穿戴设备(例如,Google 头戴式显示器),这些设备运行诸如Microsoft Windows
之类的软件和/或诸如iOS、Windows Phone、Android、BlackBerry 10、Palm OS等的各种移动操作系统,并且启用互联网、电子邮件、短消息服务(SMS)、 或者其他通
信协议。客户端计算设备可以是通用个人计算机,包括例如运行各种版本的MicrosoftApple 和/或Linux操作系统的个人计算机和/或膝上型计
算机。客户端计算设备可以是运行各种商业可用的 或者类UNIX操作系统中的任何操作系统的工作站计算机,这些操作系统包括但不限于诸如例如Google Chrome OS之类的各种GNU/Linux操作系统。替代地或者附加地,客户端计算设备102、104、106和108可以是能够通过(一个或多个)网络110进行通信的任何其他电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或者不具有 手势输入设备的Microsoft Xbox游戏控制台)和/或个人消息传送设备。
[0029] 虽然示例性分布式系统100被示出为具有四个客户端计算设备,但是可以支持任何数量的客户端计算设备。其他设备(诸如具有传感器的设备等)可以与服务器112交互。
[0030] 分布式系统100中的(一个或多个)网络110可以是本领域技术人员熟悉的任何类型的网络,这些网络可以支持使用各种商业可用的协议中的任何协议的数据通信,这些协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系结构)、IPX(互联网分组交换)、AppleTalk等。仅作为示例,(一个或多个)网络110可以是局域网(LAN),诸如基于以太网、令牌环和/或诸如此类的局域网。(一个或多个)网络110可以是广域网和互联网。它可以包括虚拟网络(包括但不限于虚拟私有网络(VPN))、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,在电气电子协会(IEEE)802.11协议组、和/或任何其他无线协议中的任何协议下操作的网络);和/或这些网络和/或其他网络的任何组合。
[0031] 服务器112可以由一个或多个通用计算机、专用服务器计算机(包括例如PC(个人计算机)服务器、 服务器、中档服务器、大型计算机、机架式安装的服务器等)、服务器场、服务器集群或者任何其他适当的布置和/或组合组成。在各种实施例中,服务器112可以适合于运行在前述公开中描述的一个或多个服务或者软件应用。例如,服务器112可以对应于用于执行根据本公开的实施例在上面描述的处理的服务器。
[0032] 服务器112可以运行包括上面讨论的那些操作系统中的任何操作系统以及任何商业可用的服务器操作系统。服务器112也可以运行各种附加的服务器应用和/或中间层应用中的任何应用,包括HTTP(超文本传送协议)服务器、FTP(文件传送协议)服务器、CGI(公共网关接口)服务器、 服务器、数据库服务器等。示例性数据库服务器包括但不限于从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商业可用的数据库服务器。
[0033] 在一些实现方式中,服务器112可以包括一个或多个应用来分析和整合从客户端计算设备102、104、106和108的用户接收的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于 馈送、 更新或者从一个或多个第三方信息源和连续数据流接收的实时更新,实时更新可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器112也可以包括一个或多个应用以经由客户端计算设备
102、104、106和108的一个或多个显示设备显示数据馈送和/或实时事件。
[0034] 分布式系统100也可以包括一个或多个数据库114和116。数据库114和116可以驻留在各种位置。例如,数据库114和116中的一个或多个可以驻留在服务器112本地(和/或驻留在服务器112中)的非临时性存储介质上。替代地,数据库114和116可以远离服务器112并且经由基于网络的连接或者专用连接与服务器112通信。在一组实施例中,数据库114和116可以驻留在存储区域网络(SAN)中。类似地,用于执行服务器112所属功能的任何必要文件可以本地地存储在服务器112上和/或远程地存储,视情况而定。在一组实施例中,数据库114和116可以包括适合于响应SQL格式的命令而存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
[0035] 图2是示出系统环境的部件的框图,由本发明的实施例提供的服务可以通过该系统环境被提供作为云服务。在所示出的实施例中,系统环境200包括一个或多个客户端计算设备204、206和208,这些客户端计算设备可以被用户用来与提供云服务的云基础设施系统202交互。客户端计算设备可以被配置为操作诸如网络浏览器、专有客户端应用(例如,Oracle表格)或者某个其他应用的客户端应用,这些客户端应用可以被客户端计算设备的用户用来与云基础设施系统202交互以使用由云基础设施系统202提供的服务。
[0036] 应当领会,图中描绘的云基础设施系统202可以具有除了所描绘的那些部件之外的其他部件。此外,图中所示的实施例仅是可以合并本发明实施例的云基础设施系统的一个示例。在一些其他的实施例中,云基础设施系统202可以具有比图中所示的更多或者更少的部件,可以组合两个或更多个部件,或者可以具有部件的不同配置或者布置。
[0037] 客户端计算设备204、206和208可以是与上面针对102、104、106和108所描述的那些设备类似的设备。
[0038] 虽然示例性系统环境200被示出为具有三个客户端计算设备,但是可以支持任何数量的客户端计算设备。其他设备(诸如具有传感器的设备等)可以与云基础设施系统202交互。
[0039] (一个或多个)网络210可以便于客户端204、206和208与云基础设施系统202之间的通信和数据交换。每个网络可以是本领域技术人员熟悉的任何类型的网络,这些网络可以支持使用各种商业可用的协议中的任何协议(包括上面针对(一个或多个)网络110描述的那些协议)的数据通信。
[0040] 云基础设施系统202可以包括一个或多个计算机和/或服务器,这些计算机和/或服务器可以包括上面针对服务器112描述的那些计算机和/或服务器。
[0041] 在某些实施例中,由云基础设施系统提供的服务可以包括按需而变得对云基础设施系统的用户可用的众多服务,诸如线上数据存储和备份方案、基于网络的电子邮件服务、托管办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态地缩放以满足其用户的需求。由云基础设施系统提供的服务的具体实例化在本文中被称作“服务实例”。通常,来自云服务提供商的系统的经由诸如互联网之类的通信网络对用户可用的任何服务被称作“云服务”。典型地,在公有云环境中,组成云服务提供商的系统的服务器和系统与客户自己的内部(on-premises)服务器和系统不同。例如,云服务提供商的系统可以托管应用,并且用户可以经由诸如互联网之类的通信网络按需订购和使用该应用。
[0042] 在一些示例中,计算机网络云基础设施中的服务可以包括对由云供应商提供给用户或者以本领域中已知的其他方式提供的存储空间、托管数据库、托管网络服务器、软件应用或者其他服务的受保护的计算机网络访问。例如,服务可以包括通过互联网对云上的远程存储的受密码保护的访问。作为另一个示例,服务可以包括用于由联网开发者私人使用的基于网络服务的托管的关系数据库和脚本语言中间件引擎。作为另一个示例,服务可以包括对托管在云供应商的网络站点上的电子邮件软件应用的访问。
[0043] 在某些实施例中,云基础设施系统202可以包括以自助服务、基于订阅、弹性可扩展、可靠、高可用性和安全的方式递送给客户的一套应用、中间件和数据库服务供应物。这种云基础设施系统的示例是由本受让人提供的Oracle公有云。
[0044] 在各种实施例中,云基础设施系统202可以适用于自动地供应、管理和跟踪客户对由云基础设施系统202提供的服务的订阅。云基础设施系统202可以经由不同的部署模型提供云服务。例如,服务可以在公有云模型下提供,在公有云模型中,云基础设施系统202由销售云服务的组织所有(例如,由Oracle所有)并且服务对一般公众或者不同的工业企业可用。作为另一个示例,服务可以在私有云模型下提供,在私有云模型中,云基础设施系统202只为单个组织而操作并且可以为该组织内的一个或多个实体提供服务。云服务也可以在社区云模型下提供,在社区云模型中,云基础设施系统202以及由云基础设施系统202提供的服务由相关社区中的几个组织共享。云服务也可以在混合云模型下提供,混合云模型是两种或多种不同模型的组合。
[0045] 在一些实施例中,由云基础设施系统202提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的其它服务类别下提供的一个或多个服务。客户可以经由订阅订单订购由云基础设施系统202提供的一个或多个服务。云基础设施系统202然后执行处理,以提供客户的订阅订单中的服务。
[0046] 在一些实施例中,由云基础设施系统202提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些实例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供SaaS类别下的云服务。例如,SaaS平台可以提供在集成的开发和部署平台上构建和交付一套按需应用(on-demand application)的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户购买单独的许可证和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供用于销售绩效管理、企业集成和业务灵活性的解决方案的服务。
[0047] 在一些实施例中,平台服务可以由云基础设施系统经由PaaS平台提供。PaaS平台可以被配置为提供PaaS类别下的云服务。平台服务的示例可以包括但不限于使组织(诸如)能够在共享的公共体系架构上整合现有应用、以及能够构建利用由平台提供的共享服务的新应用的服务。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获得由云基础设施系统提供的PaaS服务,而无需客户购买单独的许可证和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)以及其它服务。
[0048] 通过利用由PaaS平台提供的服务,客户可以采用云基础设施系统所支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle Fusion Middleware服务)和Java云服务。在一个实施例中,数据库云服务可以支持共享服务部署模型,该共享服务部署模型使得组织能够汇集(pool)数据库资源并且以数据库云的形式向客户提供数据库即服务。在云基础设施系统中,中间件云服务可以为客户提供开发和部署各种业务应用的平台,并且Java云服务可以为客户提供部署Java应用的平台。
[0049] 在云基础设施系统中,可以由IaaS平台提供各种不同的基础设施服务。基础设施服务便于管理和控制底层计算资源(诸如存储装置、网络和其它基本计算资源),以便客户利用由SaaS平台和PaaS平台提供的服务。
[0050] 在某些实施例中,云基础设施系统202还可以包括基础设施资源230,用于提供用来向云基础设施系统的客户提供各种服务的资源。在一个实施例中,基础设施资源230可以包括执行由PaaS平台和SaaS平台提供的服务的硬件(诸如服务器、存储装置和联网资源)的预先集成的和经优化的组合。
[0051] 在一些实施例中,云基础设施系统202中的资源可以由多个用户共享并且按需动态地重新分配。附加地,资源可以分配给在不同时区中的用户。例如,云基础设施系统230可以使第一时区内的第一组用户能够针对指定的小时数利用云基础设施系统的资源,然后使得能够将相同资源重新分配给位于不同时区中的另一组用户,从而最大化资源的利用。
[0052] 在某些实施例中,可以提供由云基础设施系统202的不同部件或模块以及由云基础设施系统202提供的服务共享的若干内部共享服务232。这些内部共享服务可以包括但不限于安全性和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性的备份和恢复服务、用于实现云支持的服务、电子邮件服务、通知服务、文件传送服务等。
[0053] 在某些实施例中,云基础设施系统202可以提供对云基础设施系统中的云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统202接收到的客户的订阅的能力等。
[0054] 在一个实施例中,如在图中所描绘的,云管理功能可以由诸如订单管理模块220、订单编排模块222、订单供应模块224、订单管理和监视模块226以及身份管理模块228的一个或多个模块提供。这些模块可以包括一个或多个计算机和/或服务器,或者使用一个或多个计算机和/或服务器来提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器群组、服务器集群或任何其它适当的布置和/或组合。
[0055] 在示例性操作234中,使用客户端设备(诸如客户端设备204、206或208)的客户可以通过请求由云基础设施系统202提供的一个或多个服务以及对由云基础设施系统202提供的一个或多个服务的订阅下订单来与云基础设施系统202交互。在某些实施例中,客户可以访问云用户接口(UI)(云UI 212、云UI 214和/或云UI 216)并经由这些UI下订阅订单。响应于客户下订单由云基础设施系统202接收到的订单信息可以包括识别客户以及客户打算订阅的由云基础设施系统202提供的一个或多个服务的信息。
[0056] 在客户下订单之后,订单信息经由云UI 212、214和/或216接收。
[0057] 在操作236处,订单被存储在订单数据库218中。订单数据库218可以是由云基础设施系统218操作以及结合其它系统元件操作的若干个数据库之一。
[0058] 在操作238处,订单信息被转发到订单管理模块220。在一些情况下,订单管理模块220可以被配置为执行与订单相关的计费和记帐功能,诸如验证订单和在通过验证时接纳(book)订单。
[0059] 在操作240处,关于订单的信息被传送到订单编排模块222。订单编排模块222可以利用订单信息为客户下的订单编排服务和资源的供应。在一些情况下,订单编排模块222可以编排资源的供应,以使用订单供应模块224的服务来支持所订阅的服务。
[0060] 在某些实施例中,订单编排模块222实现对与每个订单相关联的业务过程的管理,并且应用业务逻辑来确定订单是否应当继续供应。在操作242处,当接收到新订阅的订单时,订单编排模块222向订单供应模块224发送分配资源和配置履行订阅订单所需的那些资源的请求。订单供应模块224实现为由客户订购的服务分配资源。订单供应模块224提供在由云基础设施系统200提供的云服务与用来供应用于提供所请求的服务的资源的物理实现层之间的抽象层级。订单编排模块222可以因此与实现细节(诸如服务和资源实际上是被即时(on the fly)供应,还是预先被供应并且仅在请求时才进行分配/指定)隔离。
[0061] 在操作244处,一旦供应了服务和资源,就可以通过云基础设施系统202的订单供应模块224向客户端设备204、206和/或208上的客户发送所提供的服务的通知。
[0062] 在操作246处,可以由订单管理和监视模块226来管理和跟踪客户的订阅订单。在一些情况下,订单管理和监视模块226可以被配置为收集订阅订单中的服务的使用统计数据,诸如所使用的存储量、所传送的数据量、用户的数量、以及系统运行时间和系统停机时间的量。
[0063] 在某些实施例中,云基础设施系统200可以包括身份管理模块228。身份管理模块228可以被配置为提供身份服务,诸如云基础设施系统200中的访问管理和授权服务。在一些实施例中,身份管理模块228可以控制关于希望利用由云基础设施系统202提供的服务的客户的信息。这种信息可以包括认证这种客户的身份的信息和描述那些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行哪些动作的信息。身份管理模块228也可以包括对关于每个客户的描述性信息和关于该描述性信息可以如何访问和修改以及可以由谁访问和修改的管理。
[0064] 图3是示出在其中可以实现本发明的实施例的示例性计算机系统的框图。系统300可以用来实现上述计算机系统中的任何计算机系统。如图所示,计算机系统300包括经由总线子系统302与若干外围子系统通信的处理单元304。这些外围子系统可以包括处理加速单元306、I/O子系统308、存储子系统318和通信子系统324。存储子系统318包括有形的计算机可读存储介质322和系统存储器310。
[0065] 总线子系统302提供了用于让计算机系统300的各种部件和子系统按意图彼此通信的机制。虽然总线子系统302被示意性地示为单个总线,但是总线子系统的可替代实施例可以利用多个总线。总线子系统302可以是若干种类型的总线结构中的任何总线结构,包括利用各种总线体系架构中的任何总线体系架构的存储器总线或存储器控制器、外围总线、以及局部总线。例如,这样的体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线,其中PCI总线可以实现为按IEEE P1386.1标准制造的夹层(Mezzanine)总线。
[0066] 可以实现为一个或多个集成电路(例如,常规的微处理器或微控制器)的处理单元304控制计算机系统300的操作。在处理单元304中可以包括一个或多个处理器。这些处理器可以包括单核处理器或多核处理器。在某些实施例中,处理单元304可以实现为一个或多个独立的处理单元332和/或334,其中在每个处理单元中包括单核或多核处理器。在其它实施例中,处理单元304也可以实现为通过将两个双核处理器集成到单个芯片中而形成的四核处理单元。
[0067] 在各个实施例中,处理单元304可以响应于程序代码执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定时间,要执行的程序代码中的一些或全部可以驻留在(一个或多个)处理器304中和/或存储子系统318中。通过适当的编程,(一个或多个)处理器304可以提供上述各种功能。计算机系统300可以附加地包括处理加速单元306,处理加速单元306可以包括数字信号处理器(DSP)、专用处理器等。
[0068] I/O子系统308可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、诸如鼠标或轨迹球的指点设备、结合到显示器中的触摸板或触摸屏、滚轮、点拨轮、拨盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备可以包括例如运动感测和/或姿势识别设备,诸如Microsoft 运动传感器,Microsoft 运动传感器使得用户能够使用姿势和口语命令通过自然用户接口控制输入设备(诸如Microsoft 360游戏控制器)并与其交互。用户接口输入设备也可以包括眼睛姿势识别设备,诸如Google 眨眼检测器,Google 眨眼检测器检测用户的眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并将眼睛姿势变换为到输入设备(例如,Google )中的输入。附加地,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如, 导航器)交互的语音识别感测设备。
[0069] 用户接口输入设备也可以包括但不限于三维(3D)鼠标、操纵杆或指点杆、游戏板和绘图平板、以及音频/视频设备,诸如扬声器、数码相机、数码摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及眼睛注视跟踪设备。附加地,用户接口输入设备可以包括例如医疗成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层扫描、医疗超声设备。用户接口输入设备还可以包括例如音频输入设备,诸如MIDI键盘、数字乐器等。
[0070] 用户接口输出设备可以包括显示子系统、指示器灯或诸如音频输出设备的非视觉显示器等。显示子系统可以是阴极射线管(CRT)、诸如利用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于从计算机系统300向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。
[0071] 计算机系统300可以包括存储子系统318,存储子系统318包括被示为当前位于系统存储器310内的软件元件。系统存储器310可以存储可加载在处理单元304上并且可在处理单元304上执行的程序指令,以及可以存储在这些程序执行期间生成的数据。
[0072] 取决于计算机系统300的配置和类型,系统存储器310可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器,等等)。RAM典型地包含可被处理单元304立即访问和/或目前正被处理单元304操作和执行的数据和/或程序模块。在一些实现中,系统存储器310可以包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实现中,基本输入/输出系统(BIOS)典型地可以存储在ROM中,基本输入/输出系统(BIOS)包含有助于诸如在启动期间在计算机系统300内的元件之间传送信息的基本例程。作为示例而不是限制,系统存储器310还示出了应用程序312、程序数据314以及操作系统316,应用程序312可以包括客户端应用、web浏览器、中间层应用、关系数据库管理系统(RDBMS)等。作为示例,操作系统316可以包括各种版本的Microsoft Apple 和/或Linux操作系统、各种可商用的或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、Google 操
作系统等)和/或诸如iOS、 Phone、 OS、 10 OS和
OS操作系统的移动操作系统。
[0073] 存储子系统318也可以提供有形计算机可读存储介质,以存储提供一些实施例的功能的基本编程和数据构造。当被处理器执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统318中。这些软件模块或指令可以被处理单元304执行。存储子系统318也可以提供用于存储根据本发明被使用的数据的储存库。
[0074] 存储子系统300也可以包括计算机可读存储介质读取器320,计算机可读存储介质读取器320可以进一步连接到计算机可读存储介质322。计算机可读存储介质322可以与系统存储器310一起以及可选地与系统存储器310组合来全面地表示用于临时地和/或更持久地包含、存储、传输和检索计算机可读信息的远程、本地、固定和/或可移除存储设备加存储介质。
[0075] 包含代码或代码的部分的计算机可读存储介质322也可以包括本领域已知的或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。这可以包括有形的计算机可读存储介质,诸如RAM、ROM、电可擦除可编程ROM(EEPROM)、闪存存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、磁卡带、磁带、磁盘存储装置或其它磁存储设备、或其它有形的计算机可读介质。这也可以包括非有形的计算机可读介质,诸如数据信号、数据传输,或者可以用来传输期望的信息并且可以被计算机系统300访问的任何其它介质。
[0076] 作为示例,计算机可读存储介质322可以包括从不可移除的非易失性磁介质读取或写到不可移除的非易失性磁介质的硬盘驱动器、从可移除的非易失性磁盘读取或写到可移除的非易失性磁盘的磁盘驱动器、以及从可移除的非易失性光盘(诸如CD ROM、DVD和Blu- 盘或其它光学介质)读取或写到可移除的非易失性光盘的光盘驱动器。计算机可读存储介质322可以包括但不限于 驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字音频带等。计算机可读存储介质322也可以包括基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如固态RAM、动态RAM、静态RAM、基于DRAM的SSD、磁阻RAM(MRAM)SSD))以及使用DRAM和基于闪存存储器的SSD的组合的混合SSD。盘驱动器及其相关联的计算机可读介质可以为计算机系统300提供计算机可读指令、数据结构、程序模块及其它数据的非易失性存储装置。
[0077] 通信子系统324提供到其它计算机系统和网络的接口。通信子系统324用作用于从其它系统接收数据和从计算机系统300向其它系统传输数据的接口。例如,通信子系统324可以使计算机系统300能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统324可以包括用于访问无线语音和/或数据网络的射频(RF)收发器部件(例如,利用蜂窝电话技术、诸如3G、4G或EDGE(用于全球演进的增强型数据速率)的先进数据网络技术、Wi-Fi(IEEE 802.11标准族)、或其它移动通信技术、或其任意组合)、全球定位系统(GPS)接收器部件和/或其它部件。在一些实施例中,作为无线接口的附加或替代,通信子系统324可以提供有线网络连接(例如,以太网)。
[0078] 在一些实施例中,通信子系统324也可以代表可以使用计算机系统300的一个或多个用户来接收结构化和/或非结构化的数据馈送326、事件流328、事件更新330等形式的输入通信。
[0079] 作为示例,通信子系统324可以被配置为实时地接收来自社交网络和/或其它通信服务的用户的数据馈送326,诸如 馈送、 更新、web馈送(诸如丰富站点摘要(Rich Site Summary,RSS)馈送)和/或来自一个或多个第三方信息源的实时更新。
[0080] 附加地,通信子系统324也可以被配置为接收连续数据流形式的数据,连续数据流可以包括实时事件的事件流328和/或事件更新330,连续数据流形式的数据本质上可能是连续或无界的而没有明确结束。生成连续数据的应用的示例可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
[0081] 通信子系统324也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送326、事件流328、事件更新330等,其中这一个或多个数据库可以与耦合到计算机系统300的一个或多个流数据源计算机通信。
[0082] 计算机系统300可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、 计算平板、PDA)、可穿戴设备(例如,Google 头戴式显示器)、PC、工作站、大型机、信息站、服务器机架或任何其它数据处理系统。
[0083] 由于计算机和网络不断变化的本质,在图中描绘的计算机系统300的描述旨在仅仅作为具体示例。具有比图中所描绘的系统更多或更少部件的许多其它配置是可能的。例如,也可以使用定制的硬件,和/或特定的元件可以实现在硬件、固件、软件(包括applets)或组合中。另外,可以采用到其它计算设备(诸如网络输入/输出设备)的连接。基于本文所提供的公开和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。
[0084] 图4是在高级别处示出根据本发明的一个实施例的用于使用反钓鱼图像的系统的功能部件的框图。如在该示例中示出的,系统400可以包括服务405,诸如线上电子商务服务、线上银行服务或者任何其他这种服务。该服务可以由一个或多个企业或者在如上所述的其他计算设备的一个或多个服务器上执行的其他应用提供。移动设备410和/或诸如上面描述的其他客户端设备415可以经由互联网或者也如上所述的任何其他局域网或广域网(这里未示出)访问该服务。为了在访问服务405时建立移动设备410和/或其他客户端设备415的用户之间的信任,可以使用反钓鱼图像。
[0085] 如上面介绍的,本发明的实施例提供使用非静态、基于位置的反钓鱼图像,在一些情况下,该反钓鱼图像可以包括认证信息。根据一个实施例,使用受信移动设备410的用户可以去到特定的物理位置以执行向服务的登记过程。该登记过程可以通过由线上服务405的注册模块420提供的网站或者其他接口访问。该特定的物理位置可以由移动设备410例如通过诸如全球定位系统(GPS)接收器之类的位置模块425检测。一旦被检测到,该位置可以由移动设备410提供给用户正在向其注册的服务405的注册模块420。注册模块420可以将该注册位置440保存在针对该用户的一组注册信息430中。而且在登记期间,用户可以选择反钓鱼图像435,该反钓鱼图像435也可以由服务405的注册模块420保存在针对该用户的注册信息430中。
[0086] 换句话说,注册反钓鱼图像可以包括例如通过由注册模块420提供的注册网站或者其他接口将注册功能提供给服务405的用户。注册模块420的注册功能可以提供从多个反钓鱼图像中选择反钓鱼图像。用户可以通过移动设备410和/或其他客户端设备415访问该网站或者接口。一旦访问注册功能,如本领域中已知的,用户可以选择反钓鱼图像中的一个。在注册模块420由用户访问期间,可以确定移动设备410的位置。例如,可以由移动设备410的位置模块425使用GPS接收器、蜂窝塔三角测量(triangulation)或者通过本领域中已知的其他方法确定一组纬度-经度坐标或者其他位置信息。这种位置信息可以由移动设备
410或者其他客户端设备415连同所选择的反钓鱼图像的指示一起提供给注册模块420。对反钓鱼图像的选择和指示用户的移动设备的位置的位置信息可以由服务通过注册模块420接收。所选择的反钓鱼图像435可以被保存在针对用户的注册信息中以供服务405使用。另外,所接收的位置信息可以作为用户的注册位置440保存在注册信息430中。所选择的反钓鱼图像435和用户的注册位置440然后可以由服务405在同一用户对服务405的随后访问中使用。
[0087] 一旦被保存,位置信息就可以用于反钓鱼以及认证目的。例如,服务405的访问模块445可以提供门户网站或者登陆网站或者其他接口,用户可以通过这些网站或者接口发起与服务的交互。用户可以通过移动设备410和/或其他客户端设备415访问该网站或者接口。继而,服务405的访问模块445可以接收来自用户的访问请求。响应于该请求,可以由访问模块445检索所保存的用户的反钓鱼图像和注册位置并且在该用户的访问过程中使用。取决于确切的实现方式,用户的反钓鱼图像和注册位置可以由访问模块445、移动设备410和/或其他客户端设备415以不同的方式和以不同的组合使用。
[0088] 例如,经注册的440位置信息可以由服务405的编码模块455用来对经注册的反钓鱼图像435进行加密,无论何时用户尝试访问服务405,该反钓鱼图像435可以被发送到移动设备410或者被发送到将经加密的图像传送到移动设备410的其他客户端设备415。一旦图像被移动设备410获得,移动设备410的位置模块425就可以检测移动设备410的当前位置并且移动设备410的解码模块460就可以尝试使用该当前位置对图像进行解密。如果移动设备410处于与注册时相同的位置或者当移动设备410处于与注册时相同的位置时,图像可以由解码模块460恰当地解密并且因此由移动设备410呈现或者被传送回其他客户端设备415,以用于像原始选择的图像一样以可识别的形式呈现给用户。另外,在一些情况下,在由编码模块455加密之前,图像可以由服务405的反钓鱼图像模块450使用代码进行标记,其中这些代码诸如是一次性密码(OTP)或者区分计算机与人类的完全自动化公用图灵测试(CAPTCHA)代码。例如,在图像由编码模块455进行加密之前,代码可以由访问模块445生成并且由反钓鱼图像模块450作为水印或者重叠物添加到该图像。一旦图像被移动设备410解密,用户就可以然后使用此代码完成向服务405的登录过程和/或认证过程。
[0089] 换句话说,在对请求的响应以及用户的访问过程中使用检索到的用户的反钓鱼图像435和注册位置440可以包括访问模块455生成唯一访问代码,反钓鱼图像模块450将所生成的唯一访问代码添加到反钓鱼图像435,编码模块455使用注册位置440对具有所添加的唯一访问代码的反钓鱼图像进行加密,以及访问模块445将经加密的反钓鱼图像通过移动设备410和/或其他客户端设备415提供给用户。
[0090] 移动设备410和/或其他客户端设备415可以接收经加密的反钓鱼图像,并且移动设备410的解码模块460可以尝试使用由位置模块425基于移动设备410的当前位置确定的位置信息对该经加密的反钓鱼图像进行解密。经解密的反钓鱼图像可以通过移动设备410或者其他客户端设备415呈现给用户。如果移动设备410处于与注册位置相同的位置,那么图像可以被恰当地解码并且因此变得对用户可见/可识别。用户然后可以识别反钓鱼图像并且还读取所包含的访问代码。该代码然后可以由用户使用以访问服务405。换句话说,来自经解密的反钓鱼图像的访问代码可以由移动设备410或者其他客户端设备415提供回给服务405的访问模块445。
[0091] 服务405继而可以接收来自用户的包括访问代码的响应。然后可以由访问模块445做出关于代码是否正确(亦即,是否匹配与图像一起提供的所生成的访问代码)的确定。响应于确定从用户接收的访问代码与所生成的唯一访问代码匹配,对服务405的访问可以由访问模块445授予用户。如果从用户接收的访问代码与所生成的唯一访问代码不匹配,那么可以由访问模块445拒绝对服务405的访问。
[0092] 在另一个示例中,无论何时用户尝试访问服务405,反钓鱼图像435可以由访问模块445以原始、未加密形式提供给用户,但是该反钓鱼图像435在其头部中包含注册位置信息440的经加密的版本或者经散列的版本。一旦移动设备410处于与注册时相同的位置,头部中的位置信息就可以由移动设备410的解码模块460恰当地解密并且被用来从服务405获得OTP或者CAPTCHA代码,然后用户可以使用该OTP或者CAPTCHA代码完成向服务405的登录过程和/或认证过程。
[0093] 换句话说,在对请求的响应以及用户的访问过程中使用检索到的用户的反钓鱼图像435和注册位置440可以包括编码模块455对注册位置进行加密,反钓鱼图像模块450将经加密的注册位置添加到反钓鱼图像的头部,以及访问模块445将反钓鱼图像提供给移动设备410和/或其他客户端设备415。
[0094] 移动设备410和/或其他客户端设备415可以接收反钓鱼图像并且将接收到的反钓鱼图像呈现给用户。移动设备410的解码模块460也可以尝试使用由位置模块425基于移动设备410的当前位置确定的位置信息从图像的头部中解密经加密的注册位置。如果移动设备410处于与注册位置相同的位置,那么可以恰当地解码位置信息。移动设备410和/或客户端设备415然后可以使用来自图像头部的注册位置的经解密的版本回复图像。
[0095] 服务405继而可以从用户接收注册位置的经解密的版本。然后可以由访问模块445做出关于位置信息是否正确(亦即,是否与检索到的用户的注册位置440相匹配)的确定。响应于确定从用户接收的位置信息与检索到的用户的注册位置440匹配,对服务405的访问可以由访问模块445授予用户。如果从用户接收的位置信息与检索到的用户的注册位置440不匹配,那么可以由访问模块445拒绝对服务405的访问。
[0096] 在任一情况下,在注册期间获得的位置信息不仅可以用来使得反钓鱼图像更加安全,而且可以取代较弱的基于知识的认证方法以及SMS或者电子邮件OTP类型的认证方法。本文描述的实施例可以在增强的安全性是被要求的或者是适当的并且可以与特定物理位置相关的情况下使用。例如,对企业系统或者应用的访问可以与用户的办公室相关并且被限制到用户的办公室。用户向其注册的应用或者服务的某些功能(诸如改变注册信息)可以被限制到在注册期间使用的特定位置。例如,线上银行或者其他类似的服务可以将对账户信息的访问或者像发起转账这样的某些功能限制为仅当基于移动设备的当前位置确定用户位于注册位置(诸如用户的家)时可用。
[0097] 图5是示出根据本发明的一个实施例的用于注册反钓鱼图像的过程的流程图。如在该示例中示出的,注册反钓鱼图像可以包括例如通过注册网站或者其他接口向服务的用户提供505注册功能。注册功能可以提供从多个反钓鱼图像中选择反钓鱼图像。用户可以通过如上所述的移动设备和/或其他客户端设备访问510该网站或者接口。一旦访问注册功能,如本领域中已知的,用户可以选择反钓鱼图像中的一个。在用户访问注册功能期间,可以确定520移动设备的位置。例如,可以由移动设备的GPS接收器或者通过本领域中已知的其他方法确定一组纬度-经度坐标或者其他位置信息。这种位置信息可以由移动设备连同所选择的反钓鱼图像的指示一起提供525给注册功能。对反钓鱼图像的选择以及指示用户的移动设备的位置的位置信息可以由服务通过注册功能接收530。所选择的反钓鱼图像可以被保存535以供服务使用。另外,所接收的位置信息可以被保存535作为用户的注册位置。所选择的反钓鱼图像和用户的注册位置然后可以由服务在由同一用户对该服务的随后访问中使用。
[0098] 图6是示出根据本发明的一个实施例的用于使用反钓鱼图像的过程的流程图。如该示例中示出的,注册信息的使用可以以例如通过访问网站或者其他接口向服务的用户提供605访问功能而开始。用户可以通过如上所述的移动设备和/或其他客户端设备访问610该网站或者接口。继而,服务可以接收615来自用户的访问请求。响应于该请求,所保存的反钓鱼图像和用户的注册位置可以由服务检索620并且在用户的访问过程中使用625。取决于确切的实现方式,用户的反钓鱼图像和注册位置可以由服务以及移动设备和/或其他客户端设备以不同的方式和以不同的组合使用625。为了说明性目的将描述示例性访问过程。
[0099] 图7是示出根据本发明的一个实施例的用于使用反钓鱼图像的过程的附加细节的流程图。如该示例中示出的,在对请求的响应以及用户的访问过程中使用625检索到的用户的反钓鱼图像和注册位置可以包括服务生成705唯一访问代码,将所生成的唯一访问代码添加710到反钓鱼图像,使用注册位置对具有所添加的唯一访问代码的反钓鱼图像进行加密715,以及将经加密的反钓鱼图像提供720给用户。例如,访问代码可以包括OTP或者CAPTCHA代码,并且将访问代码添加到反钓鱼图像可以包括将代码例如作为水印重叠到图像上等。
[0100] 移动设备和/或其他客户端设备可以接收725经加密的反钓鱼图像,并且尝试使用由移动设备基于移动设备的当前位置确定的位置信息对经加密的反钓鱼图像进行解密735。经解密的反钓鱼图像可以被呈现740给用户。如果移动设备处于与注册位置相同的位置,那么图像可以被恰当地解码并且因此变得对用户可见/可识别。用户然后可以识别反钓鱼图像并且还读取所包括的访问代码。该代码然后可以由用户使用以访问服务。换句话说,来自经解密的反钓鱼图像的访问代码可以由移动设备或者其他客户端设备提供745回给服务。
[0101] 服务继而可以接收750来自用户的包括访问代码的响应。然后可以由服务做出关于代码是否正确(亦即,是否匹配与图像一起提供的所生成的访问代码)的确定750。响应于确定755从用户接收的访问代码与所生成的唯一访问代码匹配,对服务的访问可以被授予760用户。如果755从用户接收的访问代码与所生成的唯一访问代码不匹配,那么可以拒绝
765对服务的访问。
[0102] 图8是示出根据本发明的另一个实施例的用于使用反钓鱼图像的过程的附加细节的流程图。如该示例中所示出的,在对请求的响应和用户的访问过程中使用625检索到的用户的反钓鱼图像和注册位置可以包括对注册位置进行散列805,将经散列的注册位置添加810到反钓鱼图像的头部,并且将反钓鱼图像提供815给移动设备和/或其他客户端设备。
[0103] 移动设备和/或其他客户端设备可以接收820反钓鱼图像并且将接收到的反钓鱼图像呈现825给用户。移动设备也可以生成835移动设备的当前位置的散列(亦即,使用服务所使用的相同的散列函数),并且确定840在反钓鱼图像的头部中接收到的经散列的注册位置是否与所生成的移动设备的当前位置的散列匹配。响应于在反钓鱼图像的头部中接收到的经散列的注册位置与所生成的移动设备的当前位置的散列匹配,可以由移动设备请求845访问代码。
[0104] 服务可以接收850来自移动设备的该请求。作为响应,服务可以生成访问代码并且将它提供855给移动设备。例如,访问代码可以包括OTP或者CAPTCHA代码。
[0105] 移动设备可以接收865所请求的访问代码并且使用865它来访问服务。例如,移动设备或者用户通过其输入该代码的用户的另一个设备可以将代码提供回给服务。服务继而可以接收来自用户的代码,并且响应于确定从用户接收的访问代码是正确的(亦即,与所生成的唯一访问代码匹配),对服务的访问可以被授予用户。如果从用户接收的访问代码与所生成的唯一访问代码不匹配,那么可以拒绝对服务的访问。
[0106] 在前述描述中,为了说明的目的,以特定的次序对方法进行描述。应当领会,在替代的实施例中,可以以与所描述的次序不同的次序来执行方法。还应当领会,上面描述的方法可以由硬件部件执行或者可以体现在机器可执行指令的序列中,这些机器可执行指令可以用来使得机器(诸如使用这些指令编程的通用处理器或专用处理器或者逻辑电路)执行这些方法。这些机器可执行指令可以存储在一个或多个机器可读介质或者存储设备上,诸如CD-ROM或者其他类型的光盘、软盘、ROM、RAM、EPROM、EEPROM、磁卡或光学卡、闪存存储器或者适合于存储电子指令的其他类型的机器可读介质或者存储设备。替代地,方法可以由硬件和软件的组合执行。
[0107] 虽然本文已经详细地描述了本发明的说明性的和目前优选的实施例,但是应当理解,可以另外的方式不同地体现和采用本发明的概念,并且除了被现有技术限制之外,所附权利要求书旨在被解释为包括这样的变型。