基于位置和时间阻止未经授权的帐户访问的制作方法

文档序号:22760099发布日期:2020-10-31 09:58阅读:133来源:国知局
基于位置和时间阻止未经授权的帐户访问的制作方法

本说明书涉及基于访问的位置和时间阻止对帐户的未经授权访问。



背景技术:

协作平台允许客户端装置处的用户连接到因特网并且经由因特网相互共享信息。协作平台可包括例如游戏平台、社交网络平台、购物平台、消息传递平台或创作平台。协作平台、例如游戏平台的用户可经过协作平台来参与在线活动,例如多用户游戏环境、设计定制游戏环境、装饰化身或者与其他用户交换虚拟物品。



技术实现要素:

按照第一实施例,一种方法包括:

由协作平台中的至少一个处理装置响应于第一认证请求的成功认证而存储对协作平台上的帐户的第一认证请求的第一地理位置和第一时间;

由处理装置来接收用于协作平台上的帐户的第二认证请求;

由处理装置来识别第二认证请求的第二地理位置和第二时间;

确定第一时间与第二时间之间的时间差是否足够大以使帐户的用户能够在该时间差之内行进第一地理位置与第二地理位置之间的距离差;以及

响应于关于该时间差足够大的确定并且响应于第二认证请求的成功认证而提供对帐户的访问。

按照第二实施例,一种非暂时计算机可读介质包含其中存储的指令,所述指令响应于由至少一个处理装置执行而使该处理装置执行操作或者控制操作的执行,所述操作包括:

由协作平台中的处理装置响应于第一认证请求的成功认证而存储对协作平台上的帐户的第一认证请求的第一地理位置和第一时间;

由处理装置来接收用于协作平台上的帐户的第二认证请求;

由处理装置来识别第二认证请求的第二地理位置和第二时间;

确定第一时间与第二时间之间的时间差是否足够大以使帐户的用户能够在该时间差之内行进第一地理位置与第二地理位置之间的距离差;以及

响应于关于该时间差足够大的确定并且响应于第二认证请求的成功认证而提供对帐户的访问。

按照第三实施例,一种系统包括:

存储指令的至少一个存储器;以及

至少一个处理装置,执行指令以:

响应于第一认证请求的成功认证而在协作平台中存储对协作平台上的帐户的第一认证请求的第一地理位置和第一时间;

接收对协作平台上的帐户的第二认证请求;

识别第二认证请求的第二地理位置和第二时间;

确定第一时间与第二时间之间的时间差是否足够大以使帐户的用户能够在该时间差之内行进第一地理位置与第二地理位置之间的距离差;以及

响应于关于该时间差足够大的确定并且响应于第二认证请求的成功认证而提供对帐户的访问。

附图说明

图1是示出用于基于访问的位置和时间阻止对帐户的未经授权访问的系统的示例的框图。

图2是示出用于基于访问的位置和时间阻止对帐户的未经授权访问的系统的示例的图表。

图3是示出用于基于访问的位置和时间阻止对帐户的未经授权访问的过程的示例的流程图。

图4是示出能够用来基于访问的位置和时间阻止对帐户的未经授权访问的计算系统的示例的示意图。

具体实施方式

本文档描述用于基于访问的位置和时间阻止对帐户的未经授权访问的系统和技术。该系统能够存储前一个访问的前一个位置和前一个时间。该系统能够将后一个访问的后一个位置和后一个时间与前一个访问的前一个位置和前一个时间进行比较。如果该系统确定前一个时间与后一个时间之间的时间差足够大以使用户能够在该时间差之内从前一个位置行进到后一个位置,则该系统可允许后一个访问发生。在附图和以下描述中提出一个或多个实现的细节。通过本描述和附图并且通过权利要求书,其他特征和优点将是显而易见的。

这里所述的系统和技术可提供下列优点的一个或多个。首先,通过阻止未经授权访问(其中认证请求在不会允许用户从前一个认证请求发生的前一个时间和地理位置行进到的时间和地理位置发生),该系统可提供优于一些认证系统的优点。这可指示后一个认证请求来源于某个用户,该用户不同于与认证请求中的登录信息关联的用户。该另一用户可能未被授权访问该用户的帐户。

其次,通过允许自前一个认证以来的距离和时间的组合的范围的多个阈值,该系统可提供优于一些认证系统的优点。阈值可表示用户可从前一个位置行进的速度。例如,该系统可将第一阈值用于自前一个认证以来的组合距离和时间,该第一阈值表示或近似行人的行走速度。该系统可将第二阈值用于自前一个认证以来的组合距离和时间,该第二阈值表示或近似用于本地旅行的较慢车辆(例如低速地方公路上的汽车或者自行车)的速度。该系统可将第三阈值用于自前一个认证以来的组合距离和时间,该第三阈值表示或近似用于长途旅行的较快车辆(例如高速公路上的汽车、列车或飞机)的速度。当通过使用自前一个认证以来的距离和时间的组合范围的多个阈值来防止对一些认证系统的未授权访问时,该系统可以减少误报的数量。

第三,通过即使用户的帐户可能没有与电子邮件地址、电话号码或者用来向系统认证用户的帐户的登录信息之外的其他外部认证模式关联也阻止未经授权访问,该系统可提供优于一些认证系统的优点。该系统可使用如与前一个认证请求的前一个时间和地理位置相比的后一个认证请求的时间和地理位置阻止未经授权访问,而无需使用外部认证模式来检验用户的真实性。

相应地,本公开的方面提供对协作系统上的帐户的未经授权访问的阻止。特别是,在帐户的认证信息(例如用户名和密码)可从多个地理位置来接收或者帐户可能没有与除了认证信息(例如电话号码、电子邮件地址或一次性密码生成器)之外的认证要素关联的情况下,以上所述解决阻止帐户的未经授权访问的技术难题。上述对未经授权访问的阻止还改进计算机或计算机网络的操作。例如,阻止对帐户的未经授权访问能够降低通过帐户所访问的计算系统的处理器上的负荷以及发生访问的网络上的负荷。

可注意,为了便于说明而不是限制而提供本文中描述为游戏平台的协作平台。协作平台可以是众多平台的一个或多个,例如游戏平台、通信平台、社交网络平台、购物平台、消息传递平台、创作平台等。

图1是示出用于基于访问的位置阻止对帐户的未经授权访问的系统100的示例的框图。系统100包括通过网络105进行通信的一个或多个客户端装置110a-b、数据存储单元106、协作平台120和服务器130。

网络105可包括公共网络(例如组成因特网的计算装置的一个或多个)和/或专用网络(例如局域网(lan)或广域网(wan))。网络105可包括有线网络(例如以太网网络)和/或无线网络(例如wi-fi网络(例如802.11网络)和/或蜂窝网络(例如长期演进(lte)网络))。网络105可包括一个或多个路由器、集线器、交换机和/或服务器计算机。

数据存储单元106可以是存储器(例如随机存取存储器)、高速缓存、驱动器(例如硬盘驱动器和/或闪存驱动器)、数据库系统或者能够存储数据的另一种类型的组件或装置。数据存储单元106还可包括多个存储组件(例如多个驱动器或多个数据库),所述多个存储组件还可跨越多个计算装置(例如多个服务器计算机)。

服务器130可包括一个或多个计算装置,例如机架安装服务器或者另一服务器计算机。服务器130可包含在协作平台120中,或者作为另一个系统或平台的组成部分,或者是独立系统。

协作平台120可以是一个或多个计算装置(例如机架安装服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储单元(例如驱动器、存储器、数据库)、网络、软件组件和/或可用来为客户端装置110a-b处的用户提供对协作平台120的访问的硬件组件。协作平台120还可包括可用来为客户端装置110a-b处的用户提供对协作平台120所提供的内容的访问的网站(例如一个或多个网页)或应用后端软件。

协作平台120可以是提供用户之间的连接的一种类型的社交网络。例如,“用户”可表示为单一个体。作为替代或补充,“用户”可以是由用户集合和/或自动化源所控制的实体。例如,社交网络中被联合为社区的单独用户的集合可被认为是“用户”。在另一个示例中,自动化消费者可以是自动化摄取管线(automatedingestionpipeline),例如一个或多个游戏122a-z或者协作平台120中的游戏122a-z的一个或多个的组件。

协作平台120可以是游戏平台。例如,游戏平台可向用户(所述用户可使用客户端装置110a-b来访问游戏122a-z或者与其交互)的社区提供游戏122a-z。游戏122a-z可以是单玩家和/或多玩家的。游戏122a-z(本文中又称作“视频游戏”、“在线游戏”或“虚拟游戏”)可以是二维(2d)游戏、三维(3d)游戏、虚拟现实(vr)游戏或增强现实(ar)游戏。游戏122a-z的每个可包括电子文件,该电子文件能够使用软件、固件或硬件(它们配置成向实体呈现游戏内容(例如数字媒体项目))来执行或加载。

在一些实现中,协作平台120托管游戏122a-z,并且允许用户使用客户端装置110a-b上的一个或多个协作应用114与游戏122a-z进行交互。作为替代或补充,数据存储单元106可容纳协作平台120的游戏122a-z,并且向客户端装置110a-b提供游戏122a-z。协作平台120的用户可进行、创建和构建游戏122a-z、与其交互,或者创建和构建游戏122a-z的内容。例如,用户可创建人物、人物的装饰、交互式游戏的一个或多个虚拟环境或者构建游戏中的结构。用户可与协作平台120的其他用户购买、销售或交易游戏物品,例如平台内货币(例如虚拟货币)。

协作平台120可向协作应用114传送游戏内容。游戏内容(又称作“内容”)可表示与协作平台120或协作应用114关联的任何数据或软件指令(例如游戏中物品、用户信息、视频、图像、命令等)。可注意,虽然协作平台120被描述为托管游戏122a-z,但是这是为了便于说明而不是限制而提供。在一些实现中,协作平台120可托管其他内容,例如一个或多个媒体项目。媒体项目能够包括但不限于数字视频、数字电影、数字照片、数字音乐、音频内容、旋律、网站内容、社交媒体更新、电子书籍(电子书)、电子杂志、数字报纸、数字有声书、电子期刊、万维网博客、简易信息聚合(rss)订阅源、电子漫画书、软件应用等。例如,媒体项目可以是电子文件,该电子文件能够使用软件、固件或硬件(它们配置成向使用诸如显示装置或音频输出装置之类的输出装置的个人呈现数字媒体项目)来执行或加载。

协作平台120可合并来自客户端装置110a-b的游戏内容,并且将合并游戏内容(例如游戏视频、渲染命令、用户输入、图形资料库命令等)传送给客户端装置110a-b的每个,以便在多玩家游戏环境中显示多个用户的交互。协作平台120可把来自客户端装置110a-b的游戏内容传送给另一个客户端装置,以供另一客户端装置合并和显示游戏内容。协作平台120可接收游戏内容。例如,协作平台120可从第一客户端装置110a接收由第一用户进行的用户输入以及从第二客户端装置110b接收由第二用户进行的第二用户输入。协作平台120可基于所接收的第一用户输入和所接收的第二用户输入来生成游戏结果,例如第一用户在游戏122a-z之一中击败第二用户。协作平台120然后可向客户端装置110a-b传送游戏结果,以通知第一用户和第二用户关于游戏结果。

协作平台120可将每个用户的每个帐户与可参与游戏122a-z的一个或多个的一个或多个人物或化身关联。协作平台120可将游戏122a-z的一个或多个与特定用户帐户或特定一组用户帐户关联(例如私人游戏)。协作平台120可使游戏122a-z的一个或多个是协作平台120内的用户帐户广泛可用的(例如公共游戏)。在协作平台120将游戏122a-z的一个或多个与特定用户帐户或者一组用户帐户关联的情况下,协作平台120可使用用户帐户信息(例如,用户帐户标识符,例如用户名和密码)将所述特定用户帐户或者所述一组用户帐户与游戏122a-z的一个或多个关联。

在一些实现中,游戏122a-z可包括基本功能性以及一个或多个附加功能性121。协作平台120可允许客户端装置110a-b处的用户帐户参与游戏122a-z的基本功能性,而没有使用游戏122a-z的附加功能性121。在一些实现中,协作平台120对协作平台120的全部(或大部分)用户帐户准予基本功能性。协作平台120可对用户帐户的较小集合(例如信任关系的用户帐户)准予附加功能性121。在一些实现中,附加功能性121可允许用户帐户之间的敏感交互,例如消息传递功能性、跟随功能性、共享功能性、购买功能性或邀请功能性。

协作平台120可使附加功能性121在相互之间已经建立信任关系的用户帐户之间是可用的。协作平台120可阻止相互之间尚未建立信任关系的用户帐户使用附加功能性121彼此交互。在一些实现中,协作平台120可阻止与不足阈值年龄的用户(例如不足13岁的未成年人)关联的协作平台120的用户帐户使用附加功能性121与尚未建立信任关系的其他用户进行交互。在一些实现中,协作平台120可阻止已经提供其少于阈值信息量的协作平台120的用户帐户(例如访客用户帐户以及尚未提供出生日期的用户帐户)使用附加功能性121与尚未建立信任关系的其他用户进行交互。在一些实现中,协作平台120可阻止加入协作平台120少于阈值时间量(例如向协作平台120注册少于阈值时间量,例如不到一个月前,或者已经记录少于主动参与协作平台120的阈值时间量,例如少于50小时的游戏时间)的协作平台120的用户帐户使用附加功能性121与尚未建立信任关系的其他用户进行交互。

附加功能性121可包括消息传递功能性,该消息传递功能性允许第一用户帐户经由协作平台120使用消息传递服务(例如消息传递模块128)与至少一个第二用户帐户进行通信(例如发送帖子、聊天、个人消息、公共消息或者虚拟游戏环境中的消息传递)。例如,协作平台120内的游戏122a-z的附加功能性121可允许用户帐户相互传送消息。在另一个示例中,附加功能性121允许用户帐户相互传送原本被消息传递模块128所过滤的信息类型(例如敏感信息、联络信息、姓名、图片、语音记录、当前位置或者例如装置标识符等的唯一标识符)。

附加功能性121可包括共享功能性,该共享功能性允许第一用户帐户经由协作平台120与至少一个第二用户帐户共享一个或多个物品。例如,游戏平台的协作平台120的用户帐户可具有共享功能性,该共享功能性允许用户帐户在虚拟游戏环境中购买、交易或转移虚拟物品(例如虚拟货币)。

附加功能性121可包括跟随功能性,该跟随功能性允许至少一个第一用户帐户跟随第二用户帐户进入游戏122a-z之一或者进入协作平台120所托管的游戏122a-z之一的特定游戏环境。例如,第二用户帐户可参与第一游戏122a,跟随功能性可允许第一用户帐户导航到第二用户帐户的简档页面,选择简档页面上的选项“参加游戏”,以及跟随功能性可将第一用户帐户放入第一游戏122a(例如第二用户帐户正参与的第一游戏122a的特定游戏环境)。在一些实现中,跟随功能性还可包括通知特征,所述通知特征例如通知第一用户帐户关于第二用户帐户已经移动或者当前参与的第一游戏122a。

附加功能性121可包括邀请功能性,该邀请功能性允许第一用户帐户将至少一个第二用户帐户邀请到协作平台120所托管的游戏122a-z的私人游戏。例如,第一用户帐户可创建游戏122a-z的私有游戏,以及邀请功能性可允许第一用户帐户邀请第二用户帐户来参与游戏122a-z的私人游戏。

附加功能性121可包括一组功能性,该组功能性允许多个用户帐户参加协作平台120所托管的编组。例如,附加功能性121可允许第一用户将至少一个第二用户帐户邀请到其中第一用户帐户是编组成员或编组创建者的编组。在一些实现中,协作平台120可允许编组的成员共同参与以便在游戏122a-z之一中对抗不同编组的成员。协作平台120可允许编组的成员共同参与游戏122a-z之一内的构建或者创建游戏122a-z之一(例如经由创作者模块126)。协作平台120可允许编组的成员参加相互之间的讨论(例如经由消息传递模块128的编组讨论)。

附加功能性121可包括交互功能性,该交互功能性允许第一用户和至少一个第二用户经由协作平台120彼此交互。例如,基本功能性可允许第一用户参与单玩家游戏,以及交互功能性可允许用户参与与其他用户的多玩家游戏。在另一个示例中,基本功能性可允许第一用户在第一游戏122a中对抗其他用户,以及交互功能性可允许第一用户与第二用户共同合作以便在第一游戏122a中对抗其他用户。在一些实现中,协作平台120可包括游戏引擎124。游戏引擎124可用于游戏122a-z的开发或执行。例如,游戏引擎124可包括用于2d、3d、vr或ar图形的渲染引擎(“渲染器”)、物理引擎或冲突检测(和冲突响应)、声音、脚本、动画、人工智能、连网、流播、存储器管理、线程化、本地化支持、场景图或者电影的视频支持。

在一些实现中,协作平台120可包括创作者模块126。创作者模块126可允许用户成为创作者,以设计或创建现有游戏122a-z中的环境,创建新游戏,或者创建游戏122a-z或环境内的新物品。在一些实现中,游戏122a-z的每个可具有规则的通用集合或者共同目标,以及游戏122a-z的环境可共享规则的通用集合或共同目标。游戏122a-z的不同游戏可具有相互不同的规则或目标。游戏122a-z可具有一个或多个环境,其中可链接多个环境。例如,用户可构建一种虚拟环境,该虚拟环境被链接到另一个用户所创建的另一个虚拟环境。游戏122a-z之一内的人物可跨越该虚拟环境与另一虚拟环境之间的虚拟边界,以进入与该虚拟环境相邻的另一虚拟环境。物品可表示协作平台120的游戏122a-z中使用、创建、共享或者以其他方式描绘的对象。例如,物品可包括人物、工具、服装、大楼、车辆、货币等。

客户端装置110a-b各自可包括计算装置,例如个人计算机(pc)、移动装置(例如膝上型、移动电话、智能电话、平板计算机或上网本计算机)、网络连接电视机、游戏控制台等。在一些实现中,客户端装置110a-b又可称作“用户装置”。客户端装置110a-b可在任何给定时刻经由协作应用114来连接到协作平台120。

客户端装置110a-b的每个可包括协作应用114的实例。协作应用114可包括应用,所述应用允许用户使用协作平台120并且与其交互,例如控制协作平台120所托管的游戏122a-z之中的虚拟游戏中的虚拟人物,或者查看或上传内容(例如图像、视频项目、网页、文档等)。协作应用114可包括万维网浏览器,所述万维网浏览器能够访问、检索、呈现或导航万维网服务器所服务的内容(例如虚拟环境中的虚拟人物等)。协作应用114可在客户端装置110a-b上的显示装置上对用户渲染、显示或呈现内容(例如网页或媒体查看器)。协作应用114还可包括嵌入网页中的嵌入式媒体播放器(例如播放器)。协作应用114可包括独立应用(例如移动应用、app或游戏程序),所述应用允许用户与协作平台120进行交互。协作应用114可包括应用,以供用户创建、编辑、向协作平台120上传内容以及与协作平台120进行交互。服务器130或协作平台120可向客户端装置110a-b提供协作应用114。例如,客户端装置110a-b可从服务器130、协作平台120或数据存储单元106来下载协作应用114。

协作平台120可包括认证模块140。客户端装置110a-b之一(例如第一客户端装置110a)处的用户可经由应用(例如协作应用114之一或者第一客户端装置110a上的认证模块140的实例)来登录到协作平台120上的用户的帐户。第一客户端装置110a上的应用可从第一客户端装置110a处的用户来接收认证信息,例如用户名和密码。作为替代或补充,第一客户端装置110a上的应用可检索由第一客户端装置110a处的用户先前输入的已存储认证信息,例如在第一客户端装置110a已存储的加密认证信息。例如,第一客户端装置110a上的协作应用114的实例可包括万维网浏览器应用,该万维网浏览器应用可在第一客户端装置110a上的cookie中存储加密认证信息。第一客户端装置110a上的应用可在认证的请求中向协作平台120上的认证模块140提供认证信息。

在一些实现中,协作平台120上的认证模块140从第一客户端装置110a接收认证请求。认证模块140可识别第一客户端装置110a的客户端装置信息。认证模块140可识别认证请求的内容或元数据内的客户端装置信息。例如,客户端装置信息可包括第一客户端装置110a的网络地址(例如因特网协议地址)或者第一客户端装置110a的指纹,例如由浏览器应用所提供的浏览器指纹或者由向协作平台120发送认证请求的应用或第一客户端装置110a所提供的其他客户端装置指纹信息。应用或第一客户端装置110a可提供指纹信息,所述指纹信息包括第一客户端装置110a用来与网络105进行通信的网络接口控制器(nic)的媒体访问控制(mac)地址、第一客户端装置110a的中央处理器(cpu)或另一处理单元所提供的标识符、第一客户端装置110a上的存储装置的标识符、操作系统标识符或版本或者应用的标识符或版本的一个或多个。浏览器应用可在认证请求的报头中包含的用户代理元数据中提供指纹信息,例如与渲染标准的版本的兼容性的指示、客户端装置类型、操作系统类型或版本、客户端装置或应用所使用的语言、浏览器所使用的渲染平台类型或版本、浏览器类型或版本或者可用浏览器扩展的指示的一个或多个。

在一些实现中,协作平台120上的认证模块140将第一客户端装置110a的所识别客户端装置信息与被成功认证的先前接收的认证请求的已存储客户端装置信息进行比较。例如,认证模块140可接收到来自第二客户端装置110b的前一个认证请求。认证模块140可从自第二客户端装置110b所接收的前一个认证请求识别了已存储客户端装置信息。在一些实现中,前一个认证请求是作为在从第一客户端装置110a接收当前认证请求之前被成功认证的最后一个的认证请求。

在一些实现中,在比较客户端装置信息中,认证模块140可将第一客户端装置110a的所识别网络地址与第二客户端装置110b的已存储网络地址进行比较以及将第一客户端装置110a上的浏览器所提供的所识别浏览器指纹与第二客户端装置110b上的浏览器所提供的已存储浏览器指纹进行比较。如果两者均是不同的,则认证模块140可确定或估计是否有可能使用户在前一个认证请求与当前认证请求的接收之间的时间中从第二客户端装置110b的地理位置行进到第一客户端装置110a的地理位置。备选地,如果一个是不同的,则认证模块140可确定或估计是否有可能使用户在所分配的时间中行进了该距离。在另一个实现中,认证模块140可单独比较网络地址或者浏览器指纹,以及如果它是不同的,则认证模块140可确定或估计是否有可能使用户在所分配的时间中行进了该距离。

在一些实现中,为了确定或估计是否有可能使用户在所分配的时间中行进了该距离,认证模块140识别或估计客户端装置110a-b的地理位置。认证模块140可例如在协作平台120或数据存储单元106中已经存储第二客户端装置110b的前一个地理位置。例如,客户端装置110a-b的一个或多个上的协作应用114(例如台式应用、移动app或万维网浏览器应用)可例如从客户端装置110a-b上的操作系统所提供的位置服务有权访问客户端装置110a-b的相应客户端装置的地理位置信息。由操作系统所提供的位置服务可从到例如全球定位系统(gps)、wi-fi定位或三角测量系统或者手机发射塔定位或三角测量系统的接口来得到客户端装置110a-b的相应客户端装置的地理位置信息。在一些实现中,客户端装置110a-b的一个或多个具有可由客户端装置110a-b的相应客户端装置直接报告或者由另一个实体报告的固定地理位置。例如,认证模块140(例如响应于协作应用114的相应协作应用不能够提供地理位置)或者协作应用114可向提供查找服务以便从网络地址来确定地理位置的外部系统(例如服务器130)提供客户端装置110a-b的一个或多个的网络地址。

在一些实现中,为了确定或估计是否有可能使用户在所分配的时间中行进了该距离,认证模块140还识别从客户端装置110a-b接收认证请求的时间。认证模块140可例如在协作平台120或数据存储单元106中已经存储从第二客户端装置110b接收前一个认证请求的时间。

在一些实现中,通过将接收认证请求的时间的差以及客户端装置110a-b的地理位置之间的距离的组合与一个或多个阈值进行比较,认证模块140确定或估计是否有可能使用户在所分配的时间中行进了该距离。该组合可表示用户的估计或平均速度。认证模块140可将用户的计算速度与阈值进行比较,以确定是否有可能用户可在认证请求之间的时间中从第二客户端装置110b的地理位置行进到第一客户端装置110a的地理位置。

在一些实现中,阈值的第一阈值可基于地理位置的测量或估计中的误差或精度。例如,gps位置中的误差可能较小而精度可能较高(例如10至20英尺),因此认证模块140可使用第一阈值,该第一阈值仅为大约10、20或30英尺(例如来自具有gps的客户端装置的所报告地理位置信息中的最大误差或最小精度)。但是,与gps相比,其他定位系统(例如wi-fi定位、手机发射塔定位或反向网络地址查找)中的误差可能更大而精度可能更低,因此认证模块140可对其他定位系统具有对应更高阈值。在一些实现中,客户端装置110a-b可向认证模块140报告地理位置信息的误差或精度或者地理位置信息的来源,使得认证模块140可相应地调整第一阈值。

在一些实现中,认证模块140可使用一个或多个其他阈值,所述阈值表示用户可能从前一个地理位置行进到当前地理位置的典型或最大速度。第二阈值的时间和距离的间隔或范围可表示中等速度,例如以行走速度或者低速地方公路上的车辆的速度的本地旅行(例如大约每小时3至35英里的范围中的值)。第三阈值的时间和距离的间隔或范围可表示更快速度,例如在高速公路上的车辆中的区域旅行(例如大约每小时35至70英里的范围中的值)。第四阈值的时间和距离的间隔或范围可表示最快速度,例如在飞机中的长途旅行(例如大约每小时70至500英里的范围中的值)。下面针对图2进一步描述阈值。

如果认证模块140确定有可能使用户在所分配的时间中行进了该距离,则认证模块140检验或认证当前认证请求中的认证信息(例如通过将所接收用户名和密码与帐户的已存储用户名和密码进行比较,或者通过将所接收的加密信息与对应信息进行比较)。在一些实现中,如果认证模块140确定不可能使用户在所分配的时间中行进了该距离,则认证模块140不检验或认证该认证信息。在一些实现中,如果检验或认证是成功的(例如存在匹配),则认证模块140为第一客户端装置110a处的用户提供对协作平台120上的用户的帐户的访问,以及认证模块140存储当前认证请求的所识别时间、所识别地理位置和所识别客户端装置信息,使得已存储数据可与来自认证模块140所接收的下一个或后一个认证请求的对应数据进行比较。在一些实现中,如果检验或认证不成功(例如不存在匹配),则认证模块140不为第一客户端装置110a处的用户提供对协作平台120上的帐户的访问,并且不存储当前认证请求的所识别时间、所识别地理位置或者所识别客户端装置信息。

在一些实现中,由认证模块140进行的关于不可能使用户在所分配的时间中行进了该距离的确定指示发送当前认证请求的第一客户端装置110a处的用户不是与从第二客户端装置110b发送前一个成功认证请求的帐户关联的用户。这可指示第一客户端装置110a处的用户未被授权访问协作平台120上的帐户。相应地,认证模块140拒绝或阻止第一客户端装置110a处的用户访问协作平台120上的帐户。基于访问请求的位置和时间阻止未经授权访问是优于其他认证系统的优点。

在一些实现中,协作平台120上的帐户可能没有用于检验或认证的另一个形式或要素,例如电子邮件地址、电话号码或一次性密码(otp)生成器。例如,帐户的用户可能是未被授权提供电子邮件地址或电话号码的未成年人。在一些实现中,用户或用户的代表可发起与协作平台120的通信(例如通过向协作平台120的已发布电子邮件地址发送邮件或者通过向协作平台120的已发布电话号码拨打电话),以确认未经授权访问或废弃未经授权访问。例如,在通信期间,用户或用户的代表可从帐户向协作平台120的管理员提供唯一信息的标识,以检验对帐户的所有权或者与帐户的关联。

在一些实现中,认证模块140可允许具有协作平台120上的帐户的用户建立与协作平台120上的其他用户的一个或多个帐户的信任关系。第一客户端装置110a的第一用户和第二客户端装置110b的第二用户可通过认证模块140在建立信任关系之前来登录到协作平台120。

在一些实现中,认证模块140可在服务器130上实现。在其他实现中,认证模块140可部分或完全在客户端装置110a-b上实现。在其他实现中,认证模块140可部分或完全在协作平台120上实现。在其他实现中,认证模块140可在客户端装置110、服务器130或协作平台120的一个或多个上进行操作,并且可结合工作以执行本文所述的操作。

协作平台120可包括消息传递模块128。消息传递模块128可以是允许用户经由通信系统(例如网络105)来交换电子消息的系统、应用或模块。消息传递模块128可与协作应用114(例如协作应用114的模块或者作为独立应用)关联。客户端装置110a-b之一处的用户可与消息传递模块128进行接口,并且在协作平台120的其他用户的帐户之间交换电子消息。消息传递模块128可以是例如即时消息传递应用、文本消息传递应用、电子邮件应用、语音消息传递应用、视频消息传递应用或者多个应用的组合等等。

消息传递模块128可促进用户之间的电子消息的交换。例如,用户可登录第一客户端装置110a上的消息传递应用,而另一个用户可登录第二客户端装置110b上的消息传递应用。两个用户可开始会话(例如经由消息传递模块128),例如即时消息传递会话。消息传递模块128可通过发送和接收协作平台120的两个用户之间的电子消息,来帮助促进消息传递会话。

在一些实现中,消息传递模块128可禁止尚未建立信任关系的用户相互进行消息传递。消息传递模块128可禁止来自用户的子集(例如未成年人、具有少于完全特权的用户)的用户与尚未建立信任关系的其他用户进行消息传递。消息传递模块128可阻止协作平台120的用户之间(例如尚未建立信任关系的用户之间)的诸如联络人信息(例如电话号码、电子邮件地址、地址、网站等)或识别信息(例如照片、姓名、当前位置)之类的敏感信息的传递。例如,消息传递模块128可阻止包含联络人信息的消息和帖子或者从消息和帖子中过滤联络人信息。

响应于协作平台120阻止联络人信息在尚未建立信任关系的用户之间共享以及协作平台120在信任关系的建立期间执行禁用操作,第一用户能够与协作平台120外部的第二用户进行通信(例如采用认证代码)暗示第一用户和第二用户不只是协作平台120上的“虚拟好友”,而且也具有现实世界连接。具有协作平台120外部的备选通信形式暗示第一用户和第二用户在协作平台120外部相互认识,并且可能是现实生活好友。与向仅经由协作平台120相互认识的用户提供附加功能性121相比,为具有协作平台120外部的备选通信形式的用户(例如暗示现实生活好友)之间的交互提供附加功能性121的协作平台120不太容易受到滥用。

在一些实现中,在一个实现中描述为由协作平台120所执行的功能也能够在客户端装置110a-b或服务器130上执行。另外,归于特定组件的功能性能够由共同操作的不同或者多个组件来执行。协作平台120还能够作为提供给其他系统或装置的服务、经过适当应用编程接口来访问,并且因而并不局限于网站中的使用。虽然根据协作平台来论述本公开的实现,但是实现也可一般适用于提供用户之间的连接的任何类型的社交网络。

在这里所述的系统收集与用户有关的个人信息或者可利用个人信息的状况中,用户可被提供有控制协作平台120是否收集用户信息(例如,与用户的社交网络、社交动作或活动、职业、用户的偏好或者用户的当前位置有关的信息)或者控制是否和/或如何接收来自内容服务器、可能与用户更为相关的内容的机会。另外,某些数据可在被存储或使用之前按照一种或多种方式来处理,使得删除个人可识别信息。例如,用户的身份可被处理,使得不能够对该用户确定个人可识别信息,或者可一般化其中得到位置信息(例如城市、zip码或州级)的用户地理位置,使得不能确定用户的特定位置。因此,用户可对如何收集并且由协作平台120使用与用户有关的信息具有控制权。

图2是示出用于基于访问的位置和时间阻止对帐户的未经授权访问的系统200的示例的图表。垂直轴表示前一个认证请求与当前认证请求的接收之间的时间差,其中tprevious(t先前)是接收前一个认证请求的时间。水平轴表示前一个认证请求的地理位置与当前认证请求的地理位置之间的距离差,其中lprevious(l先前)是发送前一个认证请求的客户端装置的地理位置。认证模块140可执行多个阈值的分段评估。阈值可通过线条202来表示,该线条202将经授权区域204与未经授权区域206分开。

在一些实现中,第一阈值包括lprevious与lbase(l基础)之间的距离,其可表示客户端装置110a-b的地理位置的测量中的最大误差或最小精度,如以上针对图1所述。第一阈值的时间的范围可以为零。如果认证模块140在与前一个认证请求相同的时间接收认证请求,则认证模块140可确定或估计有可能使用户从lprevious行进达到lbase。这可在地图上表示为以lprevious为中心、半径lbase的圆。

在一些实现中,第二阈值包括lbase与llocal(l本地)之间的距离,其可表示用户可在本地区域中以低速行进的距离,如以上针对图1所述。第二阈值的时间的范围是tprevious至tlocal(t本地)。时间间隔tprevious至tlocal和距离间隔lbase和llocal内的线条202的斜率可表示对该时间间隔的用户的最大容许速度。如果认证模块140确定当前认证请求处于第二阈值的时间间隔之内,则认证模块140可确定或估计有可能使用户在第二阈值的时间间隔中行进达到lbase加上认证请求的时间的差与阈值速度(例如线条202的斜率)相乘(参见下式)。这可在地图上表示为lbase与llocal之间以lprevious为中心的环面。例如,当前认证请求可通过图表上的点208来表示。认证模块140可确定点208处于第二阈值的时间间隔之内,并且位于经授权区域204中的线条202上方。

distancemax=lbase+δtime×threshold2(距离最大=l基础+时间差×阈值2)

在一些实现中,第三阈值包括llocal与lregion(l地区)之间的距离,其可表示用户可在地区区域中以更高速度行进的距离,如以上针对图1所述。第三阈值的时间的范围是tlocal至tregion(t地区)。时间间隔tlocal至tregion和距离间隔llocal和lregion内的线条202的斜率可表示对该时间间隔的用户的最大容许速度。如果认证模块140确定当前认证请求处于第三阈值的时间间隔之内,则认证模块140可确定或估计有可能使用户在第三阈值的时间间隔中行进达到lbase加上tlocal与第二阈值的阈值速度相乘、加上认证请求的时间的差减去tlocal后与阈值速度(例如线条202的斜率)相乘(参见下式)。这可在地图上表示为llocal与lregion之间以lprevious为中心的环面。例如,当前认证请求可通过图表上的点210来表示。认证模块140可确定点210处于第三阈值的时间间隔之内,并且位于未经授权区域206中的线条202下方。

distancemax=lbase+tlocal×threshold2+(δtime–tlocal)×threshold3(距离最大=l基础+t本地×阈值2+(时间差–t本地)×阈值3)

在一些实现中,第四阈值包括lregion及以上之间的距离,其可表示用户可在远距区域中以最高速度行进的距离,如以上针对图1所述。第四阈值的时间的范围是tregion至以上。时间间隔tregion及以上和距离间隔lregion及以上之内的线条202的斜率可表示对该时间间隔的用户的最大容许速度。如果认证模块140确定当前认证请求处于第四阈值的时间间隔之内,则认证模块140可确定或估计有可能使用户在第四阈值的时间间隔中行进达到lbase加上tlocal与第二阈值的阈值速度相乘、加上tregion与第三阈值的阈值速度相乘、加上认证请求的时间的差减去tlocal减去tregion后与阈值速度(例如线条202的斜率)相乘(参见下式)。这可在地图上表示为以lprevious为中心并且大于lregion的区域。

distancemax=lbase+tlocal×threshold2+tregion×threshold3+(δtime–tlocal–tregion)×threshold4(距离最大=l基础+t本地×阈值2+t地区×阈值3+(时间差–t本地–t地区)×阈值4)

图3是示出按照本公开的一些方面、用于基于访问的位置和时间阻止对帐户的未经授权访问的过程300的示例的流程图。过程300可例如由系统(例如系统100和200)来执行。在一些实现中,过程300可由协作平台120或客户端装置110a-b的认证模块140来执行。为了呈现的清楚起见,以下描述使用系统100和200作为描述过程300的示例。但是,另一个系统或者系统的组合可用来执行过程300。

在框302,由协作平台中的至少一个处理装置来接收用于协作平台上的帐户的认证请求。例如,协作平台120上的认证模块140可从第二客户端装置110b上的协作应用114的实例来接收认证请求。认证请求可以是访问由协作平台120向帐户提供的服务的请求。认证请求可包括认证信息(例如被提供给第二客户端装置110b上的协作应用114的实例的帐户的用户名和密码)或者浏览器cookie中存储的加密或哈希认证信息。

在框304,由处理装置来识别所接收认证请求的地理位置和时间。在一些实现中,由处理装置来识别所接收认证请求的客户端装置信息。例如,认证模块140可识别来自第一客户端装置110a的当前认证请求的时间、第一客户端装置110a的地理位置以及第一客户端装置110a的客户端装置信息(例如网络地址或浏览器指纹)。

在框306,可确定所识别客户端装置信息是否与前一个成功认证请求的已存储客户端装置信息是不同的。所识别客户端装置信息可包括向协作系统发送所接收认证请求的客户端装置的网络地址。已存储客户端装置信息可包括向协作系统发送前一个成功认证请求的客户端装置的已存储网络地址。所识别客户端装置信息可包括向协作系统发送所接收认证请求的客户端装置上的浏览器的浏览器指纹。已存储客户端装置信息可包括向协作系统发送前一个成功认证请求的客户端装置上的浏览器的已存储浏览器指纹。例如,认证模块140可将第一客户端装置110a的网络地址与从其中接收最后一个成功认证请求的第二客户端装置110b的已存储网络地址进行比较。认证模块140可将第一客户端装置110a的浏览器指纹与从其中接收最后一个成功认证请求的第二客户端装置110b的已存储浏览器指纹进行比较。

在框308,确定所识别时间与前一个成功认证请求的已存储时间之间的时间差足够大以使帐户的用户能够在该时间差之内行进所识别地理位置与前一个成功认证请求的已存储地理位置之间的距离差。关于时间差是否足够大的确定可响应于关于所识别客户端装置信息与已存储客户端装置信息是不同的确定。关于时间差是否足够大的确定可包括时间差和距离差与多个阈值(所述多个阈值对应于时间和距离的多个范围)的比较。阈值可表示对时间和距离的范围的用户的速度。速度可随着时间和距离的范围离已存储时间和已存储地理位置更远而对时间和距离的范围增加。例如,认证模块140可确定通过点208所表示的当前认证请求与前一个认证请求的接收之间的时间差足够大以使帐户的用户能够行进认证请求的地理位置之间的距离差。

在框310,确定所接收认证请求的认证信息是否被处理装置成功认证。关于认证信息被成功认证的确定可响应于关于时间差足够大的确定以及关于所识别客户端装置信息与已存储客户端装置信息是不同的确定,或者响应于关于所识别客户端装置信息与已存储客户端装置信息是相同的确定。例如,认证模块140可成功认证从第一客户端装置110a所接收的当前认证请求的认证信息(例如匹配用户名和密码或加密认证信息)。

如果客户端装置信息是相同的,或者客户端装置信息是不同的以及时间差足够大,并且认证信息被成功认证,则在框312,由处理装置向帐户的客户端装置提供访问。例如,认证模块140可指导协作平台120为第一客户端装置110a处的用户提供对协作平台120上的帐户的访问。

如果客户端装置信息是相同的,或者客户端装置信息是不同的以及时间差足够大,并且认证信息被成功认证,则在框314,由处理装置存储所接收认证请求的所识别地理位置、所识别时间和所识别客户端装置信息。例如,认证模块140可存储来自第一客户端装置110a的当前认证请求的时间、地理位置和客户端装置信息(例如在协作平台120、服务器130或数据存储单元106中)。

为了说明的简洁起见,本公开的过程作为一系列动作来示出和描述。但是,按照本公开的动作能够按照各种顺序和/或并发地发生,并且其中具有本文未示出和描述的其他动作。此外,并非可要求全部所示动作来实现按照所公开主题的过程。另外,本领域的技术人员将会知道和理解,过程备选地可经由状态图来表示为一系列相关状态或者事件。另外,应当理解,本说明书中公开的过程能够存储在制造产品上,以促进向计算装置传输和传递这类过程。如本文所使用的术语“制造产品”意在包含从计算机可读装置或存储介质可访问的计算机程序。

图4是示出能够用来基于访问的位置和时间阻止对帐户的未经授权访问的采取计算系统400的形式的机器的示例的示意图。协作平台120、服务器130和客户端装置110a-b可包括计算机系统400的一个或多个。计算机系统400执行一个或多个指令集426,所述指令集426使机器执行本文所述方法的任一个或多个。指令集426等可表示指令,所述指令在由计算机系统400执行时使计算机系统400执行如上所述的协作平台120、服务器130或客户端装置110a-b的认证模块140或其他组件的一个或多个的一个或多个操作。机器可在客户端-服务器网络环境中的服务器或客户端装置的能力中进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、万维网设备、服务器、网络路由器、交换机或桥接器或者能够执行指定将要由那个机器所采取的动作的指令集(顺序或其他方式)的任何机器。此外,虽然仅示出单个机器,但是术语“机器”还应该被理解为包括单独或联合执行指令集426以执行本文所述方法的任一个或多个的机器的任何集合。

计算机系统400包括处理器402、主存储器404(例如只读存储器(rom)、闪速存储器、动态随机存取存储器(dram)(例如同步dram(sdram)或rambusdram(rdram)等)、静态存储器406(例如闪速存储器、静态随机存取存储器(sram)等)以及数据存储装置416,它们经由总线408相互通信。

处理器402表示一个或多个通用处理装置,例如微处理器、中央处理器等。更具体来说,处理器402可以是复杂指令集计算(cisc)微处理器、简化指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或者实现其他指令集的处理器或实现指令集的组合的处理器。处理器402也可以是一个或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理器402配置成执行认证模块140或者其他组件的一个或多个的指令,以用于执行本文所述的操作和步骤。

计算机系统400可进一步包括网络接口装置422,该网络接口装置422通过网络418(例如局域网(lan)、内联网、外联网或因特网)来提供与其他机器的通信。计算机系统400还可包括显示装置410(例如液晶显示器(lcd)或阴极射线管(crt))、字母数字输入装置412(例如键盘)、光标控制装置414(例如鼠标)和信号生成装置420(例如喇叭)。

数据存储装置416可包括非暂时计算机可读存储介质424(例如非暂时机器可读存储介质),其上存储体现本文所述方法或功能的任一个或多个的认证模块140或者其他组件的一个或多个的指令集。认证模块140或者其他组件的一个或多个的指令集426还可在由计算机系统400对其执行期间完全或者至少部分驻留在主存储器404内和/或处理器402内,主存储器404和处理器402也组成计算机可读存储介质。可进一步经由网络接口装置422通过网络418来传送或接收指令集426。

虽然非暂时计算机可读存储介质424的示例示为单个介质,但是术语“计算机可读存储介质”能够包括存储指令集426的单个介质或者多个介质(例如集中或分布数据库和/或关联高速缓存和服务器)。术语“计算机可读存储介质”能够包括任何介质,所述介质能够对于供机器执行的指令集进行存储、编码或携带,并且使机器执行本公开的方法的任一个或多个。术语“计算机可读存储介质”能够包括但不限于固态存储器、光介质和磁介质。

在以上描述中提出许多细节。但是获益于本公开的本领域的技术人员将清楚地知道,即使没有这些具体细节也可实施本公开。在一些情况下,众所周知的结构和装置以框图形式而不是详细示出,以免影响对本公开的理解。

详细描述的一些部分根据对计算机存储器内的数据位的操作的算法和符号表示来提供。这些算法描述和表示是数据处理领域的技术人员用来向本领域的其他技术人员最有效地传达其工作主旨的方式。算法在这里以及一般被认为是引起预期结果的独立步骤序列。步骤是要求物理量的物理操纵的那些步骤。这些量通常但不一定采取能够被存储、传递、组合、比较以及以其他方式操控的电或磁信号的形式。主要由于普遍使用,将这些信号表示为位、值、元素、符号、字符、术语、数字等有时证明是便利的。

但是,所有这些及类似项均与适当的物理量关联,并且只是应用于这些量的便捷标签。除非另加具体说明,否则要理解,在本描述中,利用诸如“识别”、“提供”、“实现”、“查找”、“选择”等的术语的论述通篇表示计算机系统或类似电子计算装置的动作和过程,所述计算系统或类似电子计算装置操纵表示为计算机系统存储器或寄存器内的物理(例如电子)量的数据并且将其变换为类似地表示为计算机系统存储器或寄存器或者其他这种信息存储、传输或显示装置内的物理量的其他数据。

本公开还涉及用于执行本文的操作的设备。这个设备可专门构造用于所要求目的,或者可包括通过计算机中存储的计算机程序有选择地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储介质中,非限制性地例如任何类型的磁盘,包括软盘、光盘、致密光盘只读存储器(cd-rom)、磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)、磁或光卡或者适合于存储电子指令的任何类型的介质。

词语“示例”或“示范”在本文中用来表示“用作示例、实例或说明”。本文中描述为“示例”或“示范”的任何方面或设计不一定被理解为相对其他方面或设计是优选或有利的。词语“示例”或“示范”的使用而是意在以具体方式提供概念。如本申请所使用的术语“或者”意在表示包含“或”而不是异“或”。也就是说,除非另加说明或者从上下文清楚地知道,否则“x包括a或b”意在表示自然包含置换的任一个。也就是说,如果x包括a、x包括b或者x包括a和b,则在上述情况的任一种下均满足“x包括a或b”。另外,如本申请和所附权利要求书中所使用的冠词“一个”一般可被理解为表示“一个或多个”,除非另加说明或者从上下文清楚地知道针对单数形式。此外,术语“实施例”或“一个实施例”或者“实现”或“一个实现”的通篇使用不是意在表示同一实施例或实现,除非另加说明。如本文所使用的术语“第一”、“第二”、“第三”、“第四”等也表示区分不同元件的标签,而可能不一定具有按照其数字标号的序数含意。

要理解,预计以上描述是说明性而不是限制性的。通过阅读和了解以上描述,其他实现将是本领域的技术人员清楚知道的。因此,本公开的范围可参照所附权利要求连同这类权利要求涵盖的完整等效范围共同确定。

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