双因素认证的制作方法

文档序号:16364226发布日期:2018-12-22 08:20阅读:274来源:国知局
双因素认证的制作方法

当用户期望访问安全的服务或应用(例如,经由网站或应用程序)时,他/她经常需要向服务或应用注册。在注册期间,用户选择、创建或以其他方式被提供用于标识用户的一个或多个用户凭证。在初始注册之后的某些时候访问服务或应用时,用户通过提供验证他/她的身份的用户凭证来向服务或应用认证。这种类型的注册通常被称为单因素认证,因为用户需要利用单个因素——“用户知道的东西”(即,在注册时被选择、创建或以其他方式提供的密码)——来向服务或应用进行认证。

虽然单因素认证对于某些目标是足够的,但是采用一点创造力和用户知识的欺骗性用户可能能够猜测到用户凭证并且经由用户的注册账户欺骗性地利用服务或应用。因此,通常需要更强的认证。基于两个因素的认证(通常称为“双因素认证”)在本领域中通常被认为是“强”认证。潜在的认证因素包括“用户知道的东西”(例如,用户生成的密码)、“用户拥有的东西”(例如,智能卡)和“用户所是的东西”(例如,特定于用户的生物特征属性)。传统的双因素认证指示用户在登录表单处(例如,在具有用于接收字母数字输入的字段的文本框处)输入在注册时选择、创建或以其他方式提供的用户凭证(例如,用户名和密码)作为第一认证因素(如上所述)。然而,利用双因素认证,在利用第一因素验证他或她的身份之后,通过电子邮件、短消息服务(sms)等向用户传输代码(例如,数字代码)。然后,用户通常需要手动将代码输入登录表单。该代码传输和输入过程表示第二认证因素。

虽然比单因素认证更安全,但是上述过程对于用户来说是麻烦的,特别是那些难以手动输入文本信息的身体残疾的用户。此外,每当用户试图向服务或应用进行认证时,上述过程需要大量的手动用户干预。此外,一旦两个因素都向服务或应用进行认证,服务或应用可以保持处于访问状态,使服务或应用容易受到试图访问用户的计算设备的机会欺诈用户的攻击,例如,当用户离开而没有关闭或以其他方式将服务或应用渲染为休眠时。



技术实现要素:

提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

在各种实施例中,提供了用于利用反向免提和/或连续双因素认证来向服务或应用认证用户的系统、方法和计算机可读存储介质。当用户向特定服务或应用注册时,向用户提供安全知识项,并且指示用户利用特定移动计算设备(例如,移动电话、平板计算机、膝上型pc、智能手环或手表等)与注册表单相关联地输入安全知识项,用户在随后利用服务或应用时通常会在他或她的存在附近具有这个特定移动计算设备。当用户按照指示输入代码时,代码通过注册服务被验证为与代码被提供给的用户相关联,并且与从其接收到代码的移动设备相关联的另外的标识细节被存储为认证凭证;可以用于在稍后的时刻将特定移动设备认证为与注册用户相关联的凭证。

随后,当用户期望访问他或她已经注册的服务或应用时,在他或她的存在附近具有移动计算设备的用户进入包括服务或应用的计算设备的阈值距离内。计算设备通过设备认证凭证来将特定移动计算设备认证为与在注册时利用该移动设备的特定注册用户相关联。在这样的设备认证之后,用户能够通过简单地在与其相关联的登录表单处提供他或她的用户凭证来登录服务或应用。

本发明的实施例提供了比传统的双因素认证更安全且更有效的反向免提和/或连续双因素认证。利用本技术的实施例,减少了双因素认证的麻烦性质,因为移动设备认证可以在没有任何用户干预和/或甚至没有用户知识的情况下发生。此外,服务或应用不易受到试图访问用户的计算设备的机会欺诈用户的攻击,因为当不再检测到移动设备处于使用用户凭证从其访问服务或应用的计算设备的阈值接近度内时,服务或应用可以自动关闭或以其他方式被渲染为休眠。

附图说明

通过示例而非限制的方式在附图中示出了本发明,附图中的相同的附图标记表示相似的元件,并且在附图中:

图1是适用于实现本发明的实施例的示例性计算环境的框图;

图2是描绘根据本文中描述的技术的一方面的用于利用反向免提和/或连续双因素认证向服务或应用认证用户的示例性计算环境的图;

图3是描绘根据本文中描述的技术的一方面的用于提供反向双因素认证的方法的流程图;

图4是描绘根据本文中描述的技术的一方面的用于提供连续双因素认证的方法的流程图;以及

图5是描绘根据本文中描述的技术的一方面的用于提供免提双因素认证的方法的流程图。

具体实施方式

本文中具体描述了本申请的技术以满足法定要求。然而,描述本身并不旨在限制本专利申请的范围。相反,发明人已经预期所要求保护的主题还可以以其他方式实施,以结合其他现有或未来的技术而包括与本文档中描述的步骤不同的步骤或类似步骤的组合。此外,尽管本文中可以使用术语“步骤”和/或“块”来表示所采用的方法的不同元素,但是,除非和除了明确地描述了各个步骤的顺序,否则这些术语不应当被解释为暗示本文中公开的各个步骤之中或之间的任何特定顺序。

本文中描述的技术的各个方面总体上涉及用于利用反向免提和/或连续双因素认证来向服务或应用认证用户的系统、方法和计算机可读存储介质。在向特定服务或应用注册时,向注册用户提供安全知识项(例如,数字代码、qr代码等),并且指示用户利用特定移动计算设备(例如,移动电话、平板计算机、膝上型pc、智能手环或手表等)与注册表单相关联地输入安全知识项,用户在随后利用服务或应用时通常会在他或她的存在附近具有这个特定移动计算设备。当用户按照指示输入代码时,代码通过注册服务被验证为与代码被提供给的用户相关联,并且与从其接收到代码的移动设备相关联的另外的标识细节被存储为认证凭证;可以用于在稍后的时刻将特定移动设备认证为与注册用户相关联的凭证。

随后,当用户期望访问他或她已经注册的服务或应用时,用户和用户在他或她的存在附近具有的移动计算设备进入包括服务或应用的计算设备的阈值距离内(这样的计算设备可以是或可以不是用户从其向应用或服务注册的相同设备)。计算设备通过设备认证凭证来将特定移动计算设备认证为与在注册时利用该移动设备的特定注册用户相关联。在这样的设备认证之后,用户能够通过简单地在与其相关联的登录表单处提供他或她的用户凭证来登录服务或应用。

因此,示例性实施例涉及包括距离检测组件、认证凭证组件、验证组件和访问许可组件的反向双因素认证系统。距离检测组件被配置为在第一时刻检测第一计算设备在第二计算设备的阈值距离内,第二计算设备包括需要认证的服务或应用。认证凭证组件被配置为确定第一计算设备与至少一个设备认证凭证相关联(指示第一计算设备由注册用户在注册对服务或应用的访问时使用),接收至少一个设备认证凭证,并且在接收到至少一个设备认证凭证之后,接收与第二计算设备的用户相关联的至少一个用户凭证。验证组件被配置为验证至少一个用户凭证与注册用户相关联。访问许可组件被配置为允许第二计算设备的用户访问服务或应用。

在本技术的示例性系统中,距离检测组件还可以被配置为在第二时刻检测第一计算设备与第二计算设备之间的距离超过阈值距离。在这样的示例性系统中,访问许可组件还可以被配置为在距离检测组件检测到距离超过阈值距离时,停止允许第二计算设备访问服务或应用。

其他示例性实施例涉及用于连续双因素认证的方法(例如,由包括至少一个处理器的一个或多个计算设备执行)。示例性方法包括,在第一时刻检测第一计算设备在第二计算设备的阈值距离内,第二计算设备包括需要认证的服务或应用;允许第二计算设备的用户访问服务或应用;在第二时刻检测第一计算设备与第二计算设备之间的距离超过阈值距离;并且停止允许第二计算设备的用户访问服务或应用。

示例性方法还可以包括确定第一计算设备与至少一个设备认证凭证相关联(指示第一计算设备由注册用户在注册对服务或应用的访问时使用);接收至少一个设备认证凭证;在接收到至少一个设备认证凭证之后,接收与第二计算设备的用户相关联的至少一个用户凭证;验证至少一个用户凭证与注册用户相关联;并且允许第二计算设备的用户访问服务或应用。

又一些示例性实施例涉及存储计算机可用指令的一个或多个计算机可读存储介质,这些计算机可用指令在由一个或多个计算设备使用时引起一个或多个计算设备执行用于免提双因素认证的方法。示例性方法包括:从第一计算设备自动且没有用户干预地发出宣告存在需要认证的第一服务或应用的存在的信号;自动且没有用户干预地接收第二计算设备已经接收到信号的指示;自动且没有用户干预地将第二计算设备认证为与服务或应用的注册用户相关联;接收至少一个用户凭证;验证至少一个用户凭证与服务或应用的注册用户相关联;并且允许注册用户经由第一计算设备访问服务或应用。

示例性方法还可以包括:在第二时刻检测第一计算设备与第二计算设备之间的距离超过阈值距离;并且一旦检测到第一计算设备与第二计算设备之间的距离超过阈值距离,则停止允许注册用户经由第一计算设备访问服务或应用。

现在总体上参考附图,并且首先特别地参考图1,用于实现本技术的实施例的示例性操作环境被示出并且总体上被指定为计算设备100。计算设备100仅是合适的计算环境的一个示例,并不旨在对本技术的实施例的使用范围或功能提出任何限制。计算设备100也不应当被解释为对所示组件中的任何一个组件或任何组合有任何依赖性或要求。

本技术的实施例可以在计算机代码或机器可用指令的一般上下文中描述,包括由诸如个人数据助理或其他手持设备等计算机或其他机器执行的计算机可用或计算机可执行指令,诸如程序模块。通常,程序模块包括例程、程序、对象、组件、数据结构等,和/或指代执行特定任务或实现特定抽象数据类型的代码。本技术的实施例可以以各种系统配置来实践,包括但不限于手持设备、消费电子产品、通用计算机、更专业的计算设备等。本技术的实施例也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。

继续参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现组件116、一个或多个输入/输出(i/o)端口118、一个或多个i/o组件120和说明性电源122。总线110表示可以是一个或多个总线(例如,地址总线、数据总线或其组合)的内容。尽管图1的各种框为了清楚起见而用线条示出,但是实际上,这些框表示逻辑组件而不一定是实际组件。例如,可以将诸如显示设备等呈现组件视为i/o组件。此外,处理器具有存储器。发明人在此认识到,这是本领域的本质并且重申图1的图仅仅是可以结合本技术的一个或多个实施例来使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等类别之间没有进行区分,因为所有这些都在图1的范围内并且参考“计算设备”。

计算设备100通常包括各种计算机可读介质。计算机可读介质可以是由计算设备100可访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。计算机可读介质包括计算机存储介质和通信介质,计算机存储介质排除了信号本身。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom,闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储所需要的信息并且可以由计算设备100访问的任何其他介质。另一方面,通信介质在调制数据信号(诸如载波或其他传输机制)中包含计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“调制数据信号”表示以能够在信号中对信息进行编码的方式设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接)以及无线介质(诸如声学、rf、红外线和其他无线介质)。上述任何组合也应当被包括在计算机可读介质的范围内。

存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器112或i/o组件120等各种实体读取数据的一个或多个处理器114。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。

i/o端口118允许计算设备100在逻辑上耦合到其他设备,包括i/o组件120,其中一些可以内置在其中。说明性i/o组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、显示设备、无线设备、控制器(诸如手写笔、键盘和鼠标)、自然用户界面(nui)等。在各方面,提供笔式数字转换器(未示出)和伴随的输入仪器(也未示出但是仅作为示例可以包括笔或触笔),以便数字地捕获徒手用户输入。笔式数字转换器与处理器114之间的连接可以是直接的或经由利用本领域已知的串行端口、并行端口和/或其他接口和/或系统总线的耦合。此外,数字转换器输入组件可以是与诸如显示设备等输出组件分离的组件,或者在一些方面,数字转换器的可用输入区域可以与显示设备的显示区域共存,与显示设备集成,或者可以作为覆盖或以其他方式附加到显示设备的单独设备存在。预期任何和所有这样的变化及其任何组合都在本文中描述的技术的各方面的范围内。

nui处理由用户生成的空中手势、语音或其他生理输入。适当的nui输入可以被解释为用于与计算设备100相关联地呈现的墨水笔划。这些请求可以被传输到适当的网络元件用于进一步处理。nui实现语音识别、触摸和手写笔识别、面部识别、生物识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、以及与计算设备100上的显示相关联的触摸识别的任何组合。计算设备100可以配备有深度相机,诸如立体相机系统、红外相机系统、rgb相机系统、以及它们的组合,用于手势检测和识别。另外,计算设备100可以配备有能够检测运动的加速度计或陀螺仪。加速计或陀螺仪的输出可以提供给计算设备100的显示器以渲染沉浸式增强现实或虚拟现实。

计算设备100另外可以包括无线电124。无线电124发射和接收无线电通信。计算设备100可以是适于通过各种无线网络接收通信和媒体的无线终端。计算设备100可以经由无线协议与其他设备进行通信,诸如码分多址(“cdma”)、全球移动系统(“gsm”)或时分多址(“tdma”)以及其他协议。无线电通信可以是短程连接、远程连接、或短程和远程无线电信连接的组合。当本文中提到“短”和“长”类型的连接时,我们并不是指两个设备之间的空间关系。相反,通常将短程和远程称为不同类别或类型的连接(即,主要连接和次要连接)。短程连接可以包括到提供对无线通信网络的访问的设备(例如,移动热点)的连接,诸如使用802.11协议的wlan连接。与另一计算设备的连接是短程连接的第二示例。远程连接可以包括使用cdma、gprs、gsm、tdma和802.16协议中的一个或多个的连接。

本文中详述的主题的各方面可以在由电子设备执行的计算机可执行指令(诸如程序模块)的一般上下文中描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本文中描述的主题的各方面还可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。计算机可用指令形成接口以允许计算设备根据输入源做出反应。指令与其他代码段协作以响应于结合所接收的数据的源而接收的数据来启动各种任务。

如前所述,本发明的实施例提供了用于利用反向免提和/或连续双因素认证向服务或应用认证用户的系统、方法和计算机可读存储介质。参考图2,提供了示出其中可以采用本技术的实施例的示例性计算系统200的框图。总体上,计算系统200示出了其中可以根据例如图3、4和5所示的方法(下面将更全面地描述)利用反向免提或连续双因素认证中的一个或多个来向安全的服务或应用认证用户的环境。除了未示出的其他组件,计算系统200通常还包括经由网络218彼此通信的第一计算设备210、第二计算设备212、服务器214和数据储存库214。网络218可以包括但不限于一个或多个局域网(lan)和/或广域网(wan)。这样的网络环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。因此,网络218在本文中不再进一步描述。

应当理解,在本技术的实施例的范围内,可以在计算系统200中采用任何数目的计算设备210、212和/或服务器214。每个可以包括单个设备/接口或在分布式环境中协作的多个设备/接口。例如,服务器214可以包括布置在分布式环境中的共同提供本文中描述的服务器214的功能的多个设备和/或模块。另外,未示出的其他组件或模块也可以被包括在计算系统200内。

在一些实施例中,所示出的组件/模块中的一个或多个可以实现为独立应用。在其他实施例中,所示出的组件/模块中的一个或多个可以经由服务器214或作为基于因特网的服务来实现。本领域普通技术人员将理解,图2所示的组件/模块在性质上和数目上是示例性的,并且不应当被解释为限制性的。在本发明的实施例范围内,可以采用任何数目的组件/模块来实现所需要的功能。此外,组件/模块可以位于任何数目的服务器214上。仅作为示例,服务器214可以被提供作为单个计算设备、计算设备集群、或者远离一个或多个其余组件的计算设备。

应当理解,本文中描述的这个和其他布置仅作为示例阐述。除了或代替所示出和/或所描述的那些,可以使用其他布置和元件(例如,机器、接口、功能、顺序和功能分组),并且可以完全省略一些元件。此外,本文中描述的很多元件是功能实体,这些功能实体可以实现为离散或分布式组件或者与其他组件一起实现,并且可以以任何合适的组合和位置实现。本文中描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由执行存储在存储器中的指令的处理器执行。

第一计算设备210可以包括任何类型的计算设备,诸如例如参考图1描述的计算设备100。在示例性实施例中,第一计算设备210是用户可以常规地在他或她的存在附近具有的移动计算设备(例如,移动电话、平板计算机、膝上型pc、智能手环或手表等)。在实施例中,第一计算设备210与麦克风、扬声器和用于允许到指定区域(例如,文本框)中的字母数字和/或文本输入的一个或多个i/o组件(诸如触控笔或小键盘)相关联。应当注意,本文中描述为由第一计算设备210执行的功能可以由能够至少部分地发射和接收存在指示信号以及接收和传输设备认证码的任何其他应用、应用软件、用户接口等来执行。还应当注意,本技术的实施例同样适用于接受手势、触摸和/或语音输入的设备。预期任何和所有这样的变化及其任何组合都在本技术的实施例的范围内。

第二计算设备212还可以包括任何类型的计算设备,诸如例如参考图1描述的计算设备100。在实施例中,第二计算设备212与麦克风、扬声器和用于允许到指定区域(例如,文本框)的字母数字和/或文本输入的一个或多个i/o组件(诸如触笔或小键盘)相关联。应当注意,本文中描述为由第二计算设备212执行的功能可以由能够注册用户、认证用户以及在用户提供适当的用户凭据和设备认证凭证时访问安全服务或应用的任何其他应用、应用软件、用户界面等来执行。还应当注意,本技术的实施例同样适用于移动计算设备和接受手势、触摸和/或语音输入的设备。预期任何和所有这样的变化及其任何组合都在本技术的实施例的范围内。

图2的计算系统200的服务器214尤其被配置为注册用户以使用安全的服务或应用以及认证安全的服务或应用的注册用户。在这方面,服务器214可以访问数据存储库216。在实施例中,数据存储库216被配置为可搜索与其相关联地存储的一个或多个项目。本领域普通技术人员将理解和认识到,与数据储存库214相关联地存储的信息可以是可配置的,并且可以包括与用户凭证、设备认证凭证、阈值接近距离等(仅作为示例)相关的任何信息。这样的信息的内容和数量并不旨在以任何方式限制本技术的各方面的范围。此外,数据储存库216可以是单个独立组件(如图所示)或多个存储设备,例如数据库集群,其部分可以与服务器214、另一外部计算设备(图中未示出)和/或其任何组合相关联地驻留。另外,在本技术的实施例的范围内,数据储存库216可以包括多个不相关的数据存储器。

根据本技术的实施例,期望访问安全的服务或应用的用户必须首先向安全的服务或应用注册。根据本发明的实施例的注册需要注册用户(导致生成一个或多个用户凭证以用于随后登录到安全的服务或应用)以及用户通常在他或她的存在极为附近具有的移动计算设备(例如,移动电话、个人数字助理(pda)、平板计算机、膝上型pc、智能手环或手表等)。移动计算设备的注册导致生成一个或多个设备认证凭证以用于随后登录到安全的服务或应用。

出于本描述的目的,第一计算设备210在本文中称为移动计算设备,并且第二计算设备212在本文中称为将从其注册和访问安全的服务或应用的客户端设备。然而,本领域普通技术人员将理解,本文中描述为由第一计算设备210和第二计算设备212中的一个或另一个执行的功能不是相互排斥的。很多描述的功能可以由第一计算设备210和第二计算设备212中的一个或两个执行。任何和所有这样的变化及其任何组合都被认为在本技术的实施例的范围内。

为了发起注册,用户经由第二计算设备212访问适当的注册表单(例如,从网站或应用程序位置可访问的在线注册表单,其包括用于接收用户标识信息的输入的一个或多个字段)。第二计算设备212的注册组件220向服务器214的注册组件232发出注册请求。结合注册请求,用户可以选择、创建或以其他方式被提供随后将用于标识用户并且用于向安全的服务或应用认证用户(如下面更全面地描述的)的一个或多个用户凭证(例如,用户名和密码)。服务器214的注册组件232从第二计算设备212的注册组件220接收注册请求,并且响应于接收到注册所需要的所有适当信息,服务器214的安全知识生成组件234生成安全知识项(例如,对于用户唯一的数字代码或qr代码),存储安全知识项(例如,与数据存储库216相关联地),并且将安全知识项传输到第二计算设备212,它在那里被安全知识接收组件222接收。在接收到安全知识项时,指示用户利用特定移动计算设备(例如,移动电话、个人数字助理(pda)、平板计算机、膝上型pc、智能手环或手表等)与注册表单相关联地输入安全知识项,用户在随后利用服务或应用时通常会在他或她的存在附近具有这个特定移动计算设备。

然后,用户利用第一计算设备210的安全知识接收和输入组件240按照指示输入安全知识项(例如,通过扫描qr码或经由字母数字输入能力输入数字代码)。安全知识接收和输入组件240存储安全知识项并且将其传输到服务器214以进行验证。安全知识项由服务器214的设备验证和关联组件236接收,并且设备认证凭证被生成,设备认证凭证将移动设备(经由与其相关联的一个或多个标识细节)与用户凭证相关联并且因此与注册用户相关联。随后,用户凭证和设备认证凭证都可以用于将特定移动设备认证为与注册用户相关联,如下面更全面地描述的。

本领域普通技术人员将理解和认识到,用户可以直接从移动设备注册对安全的服务或应用的访问。在这种情况下,第二计算设备212的注册组件220和安全知识接收组件222的使用变得不必要,并且在实施例中,这些组件可以完全从第二计算设备212中消除。另外,在这种情况下,第一计算设备210可以包括具有与本文中关于第二计算设备212描述的注册组件220的功能类似的功能的注册组件(未示出)。预期任何和所有这样的变化及其任何组合都在本技术的实施例的范围内。图2所示的细节仅用于说明而非限制。

一旦用户和他或她的移动设备被注册对期望的安全服务或应用的访问,注册用户就可以访问安全的服务或应用。访问可以经由用户的注册的移动设备(例如,第一计算设备210)或经由用户期望从其访问安全的服务或应用的客户端设备(例如,第二计算设备212)来发起。在第一场景中(其中访问由用户的注册的移动设备请求并且由其发起),由第二计算设备212的认证组件224发出认证请求,认证请求包括用户的至少一个标识特征(例如,用户名)。发起请求从第二计算设备212传输到服务器214,它在那里由认证组件238接收。

根据本技术的实施例,移动计算设备(例如,第一计算设备210)可以连续地或周期性地发出宣告其存在的信标或信号。如本文中使用的,术语“连续地”是指以足够频繁的时间间隔传输信号,使得移动计算设备210几乎总是可检测的(例如,每三秒或更少)。如本文中使用的,术语“周期性地”是指以不像传输是连续的那样频繁的间隔的时间间隔传输信号,但仍然以足够频繁的间隔使得服务器214和/或第二计算设备212不太可能将不知道第一计算设备210的存在超过几秒。举例来说,信号的周期性传输可以是超过三秒的任何时间间隔。

在移动计算设备210处于信标模式并且连续地或周期性地发出通知信号的实施例中,服务器214的认证组件238简单地接收所发出的信号。然而,如果移动计算设备210没有连续地或周期性地发出通知信号,则在接收到注册用户的标识特征(例如,用户名)时,服务器214的认证组件238向移动设备210传输推送通知,推送通知在移动设备210处由移动设备210的认证组件242接收。作为响应,移动设备210的认证组件242将与其相关联的设备认证凭证传输到第二计算设备212的认证组件224(即,注册用户从其寻求对安全的服务或应用的访问的设备)。然后,第二计算设备212的认证组件224将设备认证凭证传输到服务器214的认证组件238,在认证组件238处执行将移动设备210验证为与注册用户相关联。

在移动设备210被验证为与注册用户相关联的情况下,这样从服务器214的认证组件238传输到第二计算设备212的验证组件227并且执行第一因素认证(即,注册用户密码的输入等)(例如,利用第二计算设备212的认证组件224)。如果被认证,则允许用户访问期望的安全的服务或应用,例如,通过第二计算设备212的访问许可组件230。

在上文提到的第二场景中(其中经由用户期望从其访问安全的服务或应用的客户端设备(例如,第二计算设备212)发起对期望的安全的服务或应用的访问),由第二计算设备212的认证组件224发出认证请求,认证请求包括用户的至少一个标识特征(例如,用户名)。发起请求从第二计算设备212传输到服务器214,它在那里由认证组件238接收。正如移动设备210可以处于信标模式并且连续地或周期性地发出宣告信号一样,移动设备210在这种模式下还可以连续地或周期性地收听或准备好接收由另一计算设备发出的信号。在移动计算设备210处于信标模式的实施例中,服务器214的认证组件238不关于移动设备210采取任何动作。然而,在移动计算设备210不处于信标模式的实施例中,服务器214的认证组件238向移动设备210传输推送通知以警告其准备好接收信号传输。推送通知由移动设备210的认证组件242接收。

服务器214的认证组件238还将与移动设备210相关联的设备认证凭证传输到第二计算设备212(即,注册用户正从其寻求对安全的服务或应用的访问的设备)的认证组件224。然后,第二计算设备212的认证组件224将设备认证凭证传输到第一计算设备210的认证组件242,并且移动计算设备210的认证组件242将设备认证凭证传输到服务器214的认证组件238,在认证组件238处执行将移动设备210验证为与注册用户相关联。

在移动设备210被验证为与注册用户相关联的情况下,这样从服务器214的认证组件238传输到第二计算设备212的验证组件227并且执行第一因素认证(即,注册用户密码的输入等)(例如,利用第二计算设备212的认证组件224)。如果被认证,则允许用户访问期望的安全的服务或应用,例如,通过第二计算设备212的访问许可组件230。

根据本发明的实施例,在注册用户成功登录到期望的安全的服务或应用之后,移动设备210和第二计算设备212可以保持开放连接,其中连续或周期性地检测到存在。如果移动计算设备210与第二计算设备212之间的距离(由图2的第二计算设备212的距离检测组件226测量)在阈值距离内,则可以保持登录和访问。然而,如果测量移动计算设备210与第二计算设备212之间的距离超过阈值距离,则可以停止访问。以这种方式,服务或应用不易受到尝试使用注册用户的身份验证凭据访问安全的服务或应用的机会欺诈用户的攻击,例如,当用户离开而没有关闭或以其他方式将服务或应用渲染为休眠时。

距离检测组件226可以使用多种技术来确定移动设备210与第二计算设备212之间的距离。在一个方面,确定每个设备的位置,并且然后计算设备之间的距离。每个设备的位置可以使用合适的计算设备位置检测技术来确定。例如,位置可以基于与每个设备相关联的gps传感器(或gps提供的数据)、可以包括接收信号强度指示(rssi)、指纹标识、到达角度、时间或飞行、或其他本地化技术的wi-fi定位系统(wps)、无线三角测量、ip地址的地理定位或其组合来确定。在一些实施例中,阈值距离可以根据特定位置检测技术的准确度和/或分辨率而变化。每个设备可以提供其位置信息(或者位置可以例如通过监测程序从设备询问)。然后确定位置之间的距离并且将其与阈值距离进行比较。

根据第二种方法,如果移动设备210和第二计算设备212都在另一位置附近,则确定移动设备210和第二计算设备212在接近范围内。例如,在第一示例中,当两个设备连接到(或能够检测)相同的位置区域网络时,确定移动设备210和第二计算设备212彼此接近。例如,在移动设备210和第二计算设备212连接到相同的无线接入点(wap)的情况下,或者在移动设备210和第二计算设备212都检测到相同的wap的情况下。在一个方面,移动设备210和第二计算设备212可以由监测计算机服务或计算机应用(其可以在移动设备210和/或第二计算设备212上运行)或在线/在云中来轮询。监测服务或应用可以向移动设备210和第二计算设备212询问检测到的无线通信网络,并且如果检测到相同无线通信网络的至少子集,则确定移动设备210和第二计算设备212接近。监测服务或应用可以连续地、周期性地或根据需要轮询设备。在另一实施例中,在网络上运行的计算程序监测哪些设备无线地连接到网络。只要移动设备210和第二计算设备212无线地连接到网络,则移动设备210和第二计算设备212的接近度受到无线网络的范围的限制,并且因此移动设备210和第二计算设备212在彼此附近(无线网络的范围内)。

在第三种方法中,可以确定移动设备210相对于第二计算设备212的相对位置。例如,移动设备210或第二计算设备212可以直接与其他设备传送其存在的指示。在一个实施例中,使用诸如蓝牙、wi-fi、无线usb/超宽带、近场通信(nfc)、wimax等无线通信技术在移动设备210与第二计算设备212之间建立通信会话。然后,在移动设备210与第二计算设备212之间传送设备存在的指示;例如,移动计算设备210可以通过通信会话将设备id(或其他标识)传送到第二计算设备212。在另一实施例中,移动计算设备210通过无线通信技术之一向第二计算设备212广播标识其自身的信标。所使用的特定通信技术可以基于移动设备210和第二计算设备212的技术能力(即,设备是否能够通过特定无线通信技术进行通信)以及基于阈值距离来确定。特别地,nfc具有比wi-fi短得多的范围,因此使用nfc的实现具有更短的阈值距离。另外,可以周期性地或根据需要发生通信会话(或者可以发射信标)。在接收到所传送的设备存在信息(或检测到信标)时,接收设备确定另一设备存在并且在附近。

现在转向图3,示出了根据本技术的一方面的示例性流程图,其描绘了用于提供反向双因素认证的方法300。如框310所示,检测(例如,利用图2的系统200的第二用户计算设备212的距离检测组件226)第一计算设备(例如,移动计算设备)在第二计算设备(例如,客户端计算设备)的阈值距离内,第二计算设备包括需要认证的服务或应用。如框312所示,确定第一计算设备与至少一个设备认证凭证相关联。这样的设备认证凭证指示第一计算设备由注册用户在注册对服务或应用的访问时使用。

如框314所示,例如,由图2的系统200的第二计算设备212的认证组件224接收至少一个设备认证凭证。在接收到至少一个设备认证凭证之后,例如由图2的系统200的第二计算设备212的认证组件224接收与第二计算设备的用户相关联的至少一个用户凭证。这在框316处指示。在本技术的示例性实施例中,在接收到至少一个设备认证凭证之后,提示用户输入至少一个用户凭证。

如框318所示,验证(例如,利用图2的系统200的第二计算设备212的验证组件228)至少一个用户凭证与注册用户相关联。如框320所示,允许第二计算设备的用户访问服务或应用,例如,利用图2的系统200的第二计算设备212的访问许可组件230。

现在参考图4,示出了根据本文中描述的技术的一方面的示例性流程图,其描绘了用于提供连续双因素认证并且只要第一计算设备和第二计算设备在彼此的阈值距离内则允许访问安全的服务或应用的方法400。如框410所示,在第一时刻,检测(例如,利用图2的系统200的第二计算设备212的距离检测组件226)第一计算设备在第二计算设备的阈值距离内,第二计算设备包括需要认证才能访问的安全的服务或应用。如框412所示,虽然第一和第二计算设备仍然在彼此的阈值距离内(并且通常在向服务或应用进行认证之后),但是在他或她向安全的服务或应用注册期间利用第一计算设备的用户被允许经由第二计算设备访问安全的服务或应用。

如框414所示,在第二时刻,检测第一计算设备与第二计算设备之间的距离超过阈值距离(例如,利用图2的系统200的第二计算设备212的距离检测组件226)。在示例性使用场景中,这将指示已经被允许访问安全的服务或应用的注册用户以及他或她的移动设备不再在第二计算设备的阈值接近范围内。如框416所示,基于超过第一和第二计算设备之间的检测到的距离阈值,停止允许用户访问与第二计算设备相关联的安全的服务或应用(例如,利用图2的系统200的第二计算设备212的访问许可组件230)。

参考图5,示出了根据本文中描述的技术的一方面的示例性流程图,其描绘了用于提供免提双因素认证的方法500。如框510所示,自动且没有用户干预地从第一计算设备(例如,图2的系统200的第二计算设备212)发出信号(例如,音频信号、信号、信号等),发出的信号宣告需要认证的安全的服务或应用的存在和可用性。在示例性实施例中,信号还可以(或替代地)宣告存在并且用作关于经由邻近计算设备可用的安全的服务或应用的查询。预期任何和所有这样的变化及其任何组合都在本技术的实施例的范围内。

自动且没有用户干预地接收(例如,由图2的系统200的距离检测组件226)信号已经由第二计算设备(例如,图2的系统200的第一计算设备210)接收到的指示。这在框512处指示。如框514所示,自动且没有用户干预地将第二计算设备认证为与安全的服务或应用的注册用户相关联,例如通过图2的系统200的第二计算设备212的认证组件224。在认证第二计算设备之后,例如由图2的系统200的第二计算设备212的认证组件224接收至少一个设备认证凭证。在本技术的示例性实施例中,在第二计算设备被认证之后,提示用户输入至少一个用户凭证。如框518所示,验证(例如,利用图2的系统200的验证组件228)至少一个用户凭证与服务或应用的注册用户相关联。如框520所示,允许注册用户经由第一计算设备访问服务或应用,例如利用图2的系统200的访问许可组件230。

可以理解,本技术的实施例提供了用于利用反向免提和/或连续双因素认证来向服务或应用认证用户的系统、方法和计算机可读存储介质。已经结合特定实施例描述了本技术,这些实施例在所有方面都旨在是说明性的而不是限制性的。在不脱离本发明的范围的情况下,替代实施例对于本技术所属领域的普通技术人员将变得很清楚。

虽然该技术易于进行各种修改和替代构造,但是其某些说明的实施例在附图中示出并且已在上面详细描述。然而,应当理解,并不意图将本发明限制于所公开的具体形式,相反,其目的是涵盖落入本技术的精神和范围内的所有修改、替代构造和等同物。

本领域普通技术人员将理解和认识到,这个场景描述仅是示例性的,并不表示以任何方式限制本主题技术的实施例的范围。提供这个场景仅仅是为了增强读者对可以并入根据本文中描述的技术的系统和方法中的各个方面的理解。

虽然结合彼此讨论了特定元件和步骤,但是应当理解,本文中提供的任何元件和/或步骤预期与任何其他元件和/或步骤可组合,而不管其是否明确提供,同时仍然在本文中提供的范围内。由于在不脱离本公开的范围的情况下可以对本公开做出很多可能的方面,因此应当理解,本文中阐述或示出的所有内容都应当被解释为说明性的而非限制性的。

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