掌桥专利:专业的专利平台
掌桥专利
首页

用于资源访问认证的系统和方法

文献发布时间:2023-06-19 09:36:59


用于资源访问认证的系统和方法

技术领域

本公开一般地涉及电子安全。更具体地,本公开涉及用于资源访问认证的系统和方法。

背景技术

考虑到某些电子设备(例如,智能手机和平板电脑)的便携性以及由其支持的广泛数据和应用类型,确保此类设备仅由经过身份认证的用户访问是紧迫而现实的问题。作为一个说明性示例,如果智能手机的任何用户都可以访问银行账户,那么能够通过智能手机访问某人的银行账户的便利性就变得毫无意义。

与此同时,考虑到许多用户与某些设备(诸如,智能手机)进行交互的频率,在没有不必要的设备的锁定以及对密码或指纹扫描的提示的情况下,提供流畅且基本无缝的用户体验,同样是现实而紧迫的问题。

因此,同时为由某些电子设备支持的广泛应用提供有效的认证功能,同时提供流畅和不间断的用户体验,仍然是对某些电子设备(诸如智能手机和平板电脑)性能的提高的技术挑战和机遇的来源。

附图说明

为了更全面地理解本公开及其优点,现在参考下面的结合附图的说明,其中:

图1示出了根据本公开的实施例的用于实施资源访问控制认证的电子设备的示例;

图2示出了根据本公开的实施例的用于实施资源访问控制认证的架构的示例;

图3以框图形式示出了根据本公开的各种实施例的连续认证服务的元件;

图4以框图形式示出了根据本公开的实施例的用于执行被动认证的认证管理器的方面;

图5示出了根据本公开的实施例的如由连续认证服务确定的安全状态的当前值随时间变化的方面;

图6示出了根据本公开的实施例的用于实施主动认证功能的控制逻辑的方面的示例;

图7示出了根据本公开的实施例的使用第二设备实施资源访问控制认证的架构和控制逻辑的方面;

图8示出了根据本公开的实施例的用于实施资源访问控制认证的方法的操作;和

图9A和图9B示出了根据本公开的实施例的用于实施资源访问控制认证的方法的操作。

具体实施方式

本公开提供用于资源访问控制认证的系统和方法。

在第一实施例中,提供连续用户认证以用于资源访问控制的方法包括:在第一设备的引导时间启动连续认证服务,其中,第一设备包括处理器、存储器和被配置为收集认证信息的一个或多个传感器。另外,该方法包括:接收包括显式认证信息或隐式认证信息中的一个或多个的认证信息,以及接收对第一设备的资源的访问的请求。此外,该方法包括操作:通过连续认证服务确定安全状态的当前值,安全状态的当前值部分地基于认证信息的接收时间和当前时间之间的时间间隔,以及基于安全状态的当前值来控制对资源的访问。

在第二实施例中,提供连续用户认证以用于资源访问控制的第一电子设备包括:处理器、被配置为收集认证信息的一个或多个传感器以及存储器。此外,存储器包括指令,当指令由处理器执行时,使得第一电子设备在第一电子设备的引导时间启动连续认证服务,并且接收包括显式认证信息或隐式认证信息中的一个或多个的认证信息。另外,当指令由处理器执行时,使得第一电子设备接收对访问第一电子设备的资源的请求,通过连续认证服务来确定安全状态的当前值,安全状态的当前值部分地基于认证信息的接收时间和当前时间之间的时间间隔,以及基于安全状态的当前值来控制对资源的访问。

在第三实施例中,非暂时性计算机可读介质包括指令,当指令由处理器执行时,使得第一设备在第一设备的引导时间启动连续认证服务,第一设备包括处理器、存储器和被配置为收集认证信息的一个或多个传感器。另外,非暂时性计算机可读介质包括指令,当指令由处理器执行时,使得第一设备接收包括显式认证信息或隐式认证信息中的一个或多个的认证信息,以及接收对第一设备的资源的访问的请求。当指令由处理器执行时,还使得设备通过连续认证服务确定安全状态的当前值,安全状态的当前值部分地基于认证信息的接收时间和当前时间之间的时间间隔,以及基于安全状态的当前值来控制对资源的访问。

从下面的附图、描述、和权利要求,本领域技术人员可以容易地清楚其它技术特征。

在进行下面的详细描述之前,对贯穿这个专利文献使用的某些词语和短语的定义进行阐述可能是有利的。术语“耦合”和它的衍生词指代两个或更多个元件之间的任何直接或者间接通信,不管那些元件是否彼此物理接触。术语“发送”、“接收”、和“通信”、以及它们的衍生词包含直接和间接通信两者。术语“包括”和“包含”以及它们的衍生词意味着包括但不限于;术语“或者”是包括性的,意味着和/或。短语“与...相关联”以及它的衍生词意味着包括、被包括在...内、与...互连、包含、包含在...内、连接到...或者与...相连接、耦合到...或者与...耦合、可与...通信、与...协作、交织、并列、接近于、绑定到...或者与...绑定、具有、具有...属性、和...有关系或者与...有关系、等等。术语“控制器”意味着控制至少一个操作的任何设备、系统、或者它们的一部分。这样的控制器可以实施在硬件中,或者实施在硬件和软件和/或固件的组合中。与任何特殊相关联的功能可以是集中式的或者分布式的,无论在本地还是远程地。短语“...中的至少一个”当与一列项目一起使用时,意味着所列出的项目中的一个或多个的不同组合可以被使用,并且所述列中的仅仅一个项目可能被需要。例如,“A、B、和C中至少一个”包括以下任何组合:A,B,C,A和B,A和C,B和C,以及A和B和C。

而且,如下所述的各种功能可以通过一个或多个计算机程序来实施或者由一个或多个计算机程序支持,所述计算机程序中的每一个由计算机可读程序代码形成并且具体实施在计算机可读介质中。术语“应用”和“程序”是指被适配以便以合适的计算机可读程序代码来实施的一个或多个计算机程序、软件组件、指令集、规程、功能、对象、类、实例、相关数据、或者它们的一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码、和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频盘(DVD)、或者任何其它类型的存储器。“非暂时性”计算机可读介质排除传输瞬时性电信号或者其它信号的有线的、无线的、光学的、或者其它的通信链路。非暂时性计算机可读介质包括数据能够在其中被永久地存储的介质以及数据能够在其中被存储并稍后被重写的介质,诸如可再写光盘或者可擦存储器设备。

贯穿这个专利文献提供了对于其它某些词语和短语的定义。本领域普通技术人员将理解,在许多实例中,即使不是在大多数实例中,这样的定义适用于这样定义的词语和短语的先前的使用以及将来的使用。

以下讨论的图1到图9B,以及本专利文献中用来描述本公开的原理的各种实施例仅仅是通过例示,并且不应该以任何方式被解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以实施在任何适当地布置的电子设备中。

图1示出了根据本公开的一些实施例的用于实施用于资源访问控制认证的系统和方法的设备100的非限制性示例。图1所示的设备100的实施例仅用于说明,并且其他配置也是可能的。然而,合适的设备有各种各样的配置,并且图1没有将本公开的范围限制于设备的任何特定实施方式。例如,设备100可以被实施为但不限于智能手机、可穿戴智能设备(诸如,智能手表)、平板计算机、头戴式显示器,或者通过包括一个或多个前述设备的设备的组合来实施。

如图1的非限制性示例所示,设备100包括通信单元110、发射(TX)处理电路115、麦克风120和接收(RX)处理电路125,其中,通信单元110可以包括例如,射频(RF)收发器、蓝牙

应用162可以包括游戏、社交媒体应用、用于地理标记照片和其他数字内容的项目的应用、虚拟现实(VR)应用、增强现实(AR)应用、操作系统、设备安全(例如,防盗和设备跟踪)应用或访问设备100的资源的任何其他应用,设备100的资源包括但不限于扬声器130、麦克风120、输入/输出设备150和附加资源180。根据一些实施例,应用162包括能够消费(consume)来自电子设备100的相机的视野中的物理对象的图像数据并通过设备100的显示器或单独设备的显示器提供AR或VR内容的应用。

通信单元110可以接收传入的RF信号,例如,近场通信信号(诸如,

TX处理电路115从麦克风120接收模拟或者数字语音数据,或者从主处理器140接收其它传出的基带数据(诸如,网络数据、电子邮件、或者交互式视频游戏数据)。TX处理电路115对传出的基带数据进行编码、复用、或数字化以生成经处理的基带或者IF信号。通信单元110从TX处理电路115接收传出的经处理的基带或者IF信号,并且将该基带或者IF信号上变频为RF信号以用于发送。

主处理器140可以包括一个或多个处理器或者其它处理设备,并且运行存储在存储器160中的OS程序161以便控制设备100的总体操作。例如,主处理器140能够根据已知的原理,通过通信单元110、RX处理电路125和TX处理电路115来控制正向信道信号的接收和反向信道信号的发送。在一些实施例中,主处理器140包括至少一个微处理器或者微控制器。

主处理器140还能够运行驻留在存储器160中的其它进程和程序。主处理器140能够根据需要通过运行过程将数据移动到存储器160中或者移动到存储器160外。在一些实施例中,主处理器140被配置成基于OS程序161或响应于来自用户或应用162的输入来运行应用162。应用162可以包括专门为设备100的平台开发的应用,或者为早期平台开发的遗留应用。此外,主处理器140可以被制造成包括用于实施用于根据本公开的某些实施例的用于监视可疑应用访问的方法的程序逻辑。主处理器140还耦合到I/O接口145,其为设备100提供连接到其它设备(诸如,膝上型计算机和手持计算机)的能力。I/O接口145是这些附件和主处理器140之间的通信路径。

主处理器140也耦合到(多个)输入/输出设备150。设备100的操作者可以使用(多个)输入/输出设备150向设备100输入数据。(多个)输入/输出设备150可以包括键盘、头戴式显示器(HMD)、触摸屏、(多个)鼠标、轨迹球或能够充当用户接口以允许用户与电子设备100交互的其他设备。在一些实施例中,(多个)输入/输出设备150可以包括触摸面板、(数字)笔传感器、按键或超声波输入设备。

(多个)输入/输出设备150可以包括一个或多个屏幕,其可以是液晶显示器、发光二极管(LED)显示器、光学LED(OLED)、有源矩阵OLED(AMOLED)或能够呈现图形的其他屏幕。

存储器160耦合到主处理器140。根据某些实施例,存储器160的一部分包括随机存取存储器(RAM),并且存储器160的另一部分可以包括闪速存储器或者其它只读存储器(ROM)。尽管图1示出了设备100的一个示例。可以对图1进行各种更改。例如,根据某些实施例,设备100还包括单独的图形处理单元(GPU)170。

根据某些实施例,电子设备100包括多种附加资源180,如果允许,这些资源可以由应用162访问。根据某些实施例,附加资源180包括加速度计或惯性运动单元182,其可以检测电子设备沿着一个或多个自由度的运动。在一些实施例中,附加资源180包括动态视觉传感器(DVS)184、电子设备100的一个或多个相机186。

尽管图1示出了用于实施资源访问控制认证的设备100的一个示例,但是可以对图1进行各种改变。例如,设备100可以在任何合适的布置中包括任何数量的组件。通常,包括计算和通信系统的设备有多种配置,并且图1没有将本公开的范围限制到任何特定的配置。虽然图1示出了可以使用本专利文件中公开的各种特征的一种操作环境,但是这些特征可以用于任何其他合适的系统。

图2示出了根据本公开的各种实施例的用于实施资源访问控制认证的架构200的示例。图2所示的架构200的实施例仅用于例示。其它实施例能够被使用而不脱离本公开的范围。

参考图2的非限制性示例,架构200包括第一设备201(例如,图1中的设备100)和认证者203。根据各种实施例,第一设备201包括处理器(例如,图1中的主处理器140)、包括应用(例如,存储器160和应用162)的存储器、被配置为将第一设备尤其与其他设备链接的通信接口、以及被配置为收集认证信息的一个或多个传感器(例如,触摸屏、指纹扫描仪或相机)。另外,在根据本公开的各种实施例中,第一设备201包括一个或多个资源250。如在本公开中所使用的,术语“资源”包括由第一设备201访问或生成的数据的源,其访问受认证者203的控制。资源250的示例包括但不限于第一设备的某些传感器(例如,相机180、扬声器130或IMU 182),其可以生成潜在敏感数据(例如,图像或音频数据),以及保存在第一设备的存储器内的某些数据(例如,地址簿数据、密码或浏览历史数据)。根据本公开的某些实施例的资源250的示例包括服务(例如,电子支付服务)或某些应用内功能。

参考图2的非限制性示例,认证者203包括可以通过第一设备201的认证服务(例如,图2中的认证服务210)访问的显式和/或隐式认证数据的源。根据本公开的一些实施例的认证者203的示例包括用户,用户可以通过例如输入个人标识号(PIN)或提供生物认证数据(例如,面部图像数据、指纹或语音样本)来提供认证数据。根据设备的一些实施例的认证者203的示例包括能够增加另一认证者或作为另一认证者的代理操作的其他设备(例如,提供状态数据的智能手表,该状态数据示出自接收到认证数据以来它没有从另一认证者的手腕移除)。在一些实施例中,认证者是另一个设备(例如,提供指示该设备处于可信环境中的可信地理围栏(geofencing)信号的设备)。

在架构200的某些实施例中,认证服务210、被动认证功能220、主动认证功能230、访问控制功能240和伴随应用260由第一设备201提供。根据本公开的一些实施例,认证服务210、被动认证功能220、主动认证功能230、访问控制功能240和伴随应用260被实施为第一设备201上的软件(例如,通过图1中的存储器160中的一个或多个应用162)。在各种实施例中,认证服务210、被动认证功能220、主动认证功能230、访问控制功能240和伴随应用260在硬件(例如,通过片上系统(“SoC”)或在电可擦除可编程只读存储器(“EEPROM”))中实施。在架构200的一些实施例中,认证服务210、被动认证功能220、主动认证功能230、访问控制功能240和伴随应用260通过硬件和软件的组合来实施。

参考图2的非限制性示例,认证服务210包括第一设备201的系统服务,该系统服务基于但不限于从被动认证功能220和/或主动认证功能230获得的认证信息来确定第一设备201的安全状态的当前值,并将所确定的第一设备201的安全状态的当前值提供给访问控制功能240。基于第一设备201的安全状态的当前值,在某些实施例中,访问控制功能240准许或拒绝对资源的访问,或者可替代地,寻求附加的认证信息。作为非限制性示例,认证服务210可以确定自第一设备201(例如,智能手机)锁定屏幕以来已经过去了足够短的时间段,并且将第一设备201的安全状态的当前值传递给访问控制功能240,使得访问控制功能240响应于检测到与拿起设备的用户相关联的运动来解锁第一设备201的屏幕。在根据本公开的各种实施例中,认证服务210在第一设备201的引导时间启动。另外,在根据本公开的一些实施例中,认证服务210作为第一设备201上的后台进程连续运行。

参考图2的非限制性示例,认证服务210从被动认证功能220和主动认证功能230中的一个或多个接收认证信息。如在本公开中所使用的,术语“认证信息”包括用于确定第一设备的安全状态的当前值的信息(例如,原始传感器数据,或者已经被处理以获得确定值的数据(例如,已经被处理以确定关于图像数据是否包含与个人相关联的面部的置信度得分的图像数据))。根据本公开的某些实施例,主动认证功能230包括用于以一个或多个预定间隔向认证服务210提供一种或多种预定类型的认证信息的控制逻辑(例如,软件或硬件)。作为非限制性示例,主动认证功能230控制第一设备201的面向用户的相机(例如,图1中的相机186)以预定间隔(例如,每三十秒)获得图像数据,该图像数据被分析以确定关于图像数据是否包含第一设备201的授权用户的面部的置信度得分。作为另一个非限制性示例,主动认证功能230可以以预定间隔联系并尝试从另一个设备接收交互状态信息。例如,在某些实施例中,另一个设备可以是与可信用户相关联的并且包括指示手表位置以及手表是否已经被移除的一个或多个传感器的智能手表。因此,对于某些应用,手表可以是用户的存在的可信代理,并且关于手表的位置和手表是否已经被移除的信息包括认证信息,从该认证信息可以确定和更新第一设备201的安全状态的值。

在根据本公开的各种实施例中,被动认证功能220监听认证服务210,并向认证服务210提供认证信息。参考图2的非限制性示例,与其中根据预定的收集结构(例如,调度器或定义收集什么数据以及何时收集的其他控制逻辑(例如,条件规则,诸如,“如果没有足够的光来每30秒收集图像数据,则每分钟收集一次语音数据”))收集一种或预定类型的认证信息的主动认证功能230的某些实施例相反,被动认证功能220获得的认证信息的(多种)类型和定时不是预定的。相反,在某些实施例中,被动认证功能220作为从一个或多个传感器(例如,相机186、IMU 182或麦克风120)接收的传感器数据的过滤器来操作,以标识正在进行的传感器数据流中的认证信息,并将所标识的认证信息提供给认证服务210。作为说明性示例,在一些实施例中,被动认证功能220可以基于IMU或全球定位系统(GPS)传感器数据来确定第一设备201已经从与验证的用户相关联的重复访问的位置(例如,用户的家)移动到未知位置。因此,被动认证功能220可以向认证服务210提供指示该位置的未调度的变化的认证信息,以用作更新第一设备201的当前安全状态的值的因子。

参考图2的非限制性示例,第一设备201还通过软件、硬件或其组合来实施访问控制功能240。根据某些实施例,访问控制功能240充当对资源250的请求的看门人(gatekeeper)。在某些实施例中,例如,在用户也是认证者的实施例中,对资源的访问的请求可以来自认证者(例如,认证者203)。在各种实施例中,对资源250的访问的请求可以来自第一设备201上的应用(例如,许可的应用和恶意软件)。如图2的说明性示例所示,访问控制功能240基于第一设备201的安全状态的当前值来调节访问(例如,通过允许访问、拒绝访问或请求(solicit)用户的进一步输入)。根据一些实施例,访问控制功能240基于安全状态的当前值与一个或多个预定阈值的比较来确定对第一设备201的资源的访问的请求的响应。在根据本公开的一些实施例中,阈值是基于上下文因子(例如,寻求访问的资源、寻求访问的应用、第一设备201的时间和位置)预先确定的。

在根据本公开的某些实施例中,架构200还包括伴随应用260。根据各种实施例,伴随应用是提供用户接口的应用(例如,图1中的应用162之一),通过该用户接口,第一设备的用户可以根据本公开的各种实施例设置和配置资源访问控制功能。另外,在某些实施例中,伴随应用260管理认证服务210的设置的方面,诸如连接到其他设备和规则更新,而无需通过用户接口提供的输入。例如,在某些实施例中,伴随应用260提供接口,通过该接口,用户可以通过例如调节利用其获得认证信息的频率以及用于生成认证信息的数据的类型来调节主动认证功能230的控制逻辑。例如,相对于最大化安全性,某些用户可以优先考虑电池寿命和最小化系统资源消耗,并且相应地增加主动认证功能230获得认证信息的间隔。

类似地,伴随应用260可以提供用于调节被动认证功能220获得认证信息的传感器数据的源的接口。例如,某些用户可能对使用位置数据作为确定第一设备201的安全状态的当前值的因子的认证服务210有隐私顾虑,并且伴随应用260可以提供通过其用户可以定制认证服务210的操作以反映用户顾虑和偏好的接口。

另外,在根据本公开的某些实施例中,伴随应用260管理关于认证问题的通知(包括例如对呈现在第一设备201的显示器上的显式认证信息的请求)。此外,在一些实施例中,伴随应用260保存历史(例如,显示设备的安全状态的值的趋势的数据,以及指示对显式认证的请求的发生率的数据)。

图3以框图形式示出了根据本公开的各种实施例的连续认证服务300的元件。图3所示的认证服务300的实施例仅用于例示。其它实施例能够被使用而不脱离本公开的范围。

如图3所示的示例中所示,连续认证服务300包括在设备(例如,图1中的设备100或图2中的第一设备201)的引导时间启动的系统服务。如本公开的其他地方所述,在某些实施例中,连续认证服务300被实施为设备上的软件、硬件或软件和硬件的组合。

如图3的说明性示例所示,连续认证服务300包括审计器310,其实施一个或多个算法来确定设备的安全状态的值。如在本公开中所使用的,术语“设备的安全状态的值”包括设备处于其中至少当前用户是设备的认证和授权用户的状态的概率的量化或表示(例如,等级或其他分类,例如,“A”、“B”、“C”或“D”)。

根据某些实施例,审计器310从主动认证功能315(例如,图2中的主动认证功能230)和被动认证功能320(例如,图2中的被动认证功能220)接收认证作为输入,并且基于一个或多个算法的应用,输出设备的当前安全状态的确定值或要采取的动作(例如,显示请求用户提供显示认证信息的用户提示)中的一个或多个。

在根据本公开的一些实施例中,用于确定安全状态的当前值的算法包括影响设备的当前安全状态的各种因子的多变量函数。这种多变量函数的非限制性示例是:

S=f(r,t,e,p)(等式1)

其中,r是安全状态的值根据时间的函数降低的速率。在某些实施例中,设备的安全状态的值随时间线性衰减。在一些实施例中,安全状态的值根据时间的函数非线性衰减。

其中,t是自设备的当前安全值的上一次确定被计算以来经过的时间。

其中,e表示与影响所计算的安全状态的当前值的事件的序列相关联的值。与影响所计算的安全状态的当前值的事件的序列相关联的值的示例包括但不限于设备上下文的变化(例如,将设备从熟悉的或可信的位置移动,诸如家庭或地理围栏工作场所),或者通过主动认证功能315和/或被动认证功能320获得可靠的认证信息的重复失败(例如,太暗而无法识别面部的图像数据)。

其中,p表示用于调节值e的权重的策略。根据某些实施例,p包括可以通过设备上的伴随应用(例如,图2中的伴随应用260)被调谐或调节的参数的集合。作为一个非限制性示例,p包括应用于e中的事件的时间加权因子的集合,诸如输入不正确的PIN。在一些实施例中,p为不正确的PIN事件分配了重的时间权重,并且不正确的PIN的输入在长时间段内影响安全状态的当前值的计算。在一些实施例中,识别到用户错误的可能性,p为不正确的PIN事件分配了轻的时间权重,并且不正确的PIN的输入在长时间段内不影响安全状态的当前值的计算。在某些实施例中,p和e是相互依赖的,并且由p分配给e中的事件的权重取决于e中的其他值。例如,在e包括多个连续的不正确的PIN输入的情况下,p为该不正确的PIN输入的集合分配特别重的时间加权因子。可替代地,连续的不正确的PIN操作可以由上下文监视器325记录为上下文信息。实际上,这可能意味着连续认证服务300在一段时间内经常需要显式认证信息,就好像用户必须重新获得设备的信任一样。

根据某些实施例,连续认证服务300通过主动认证功能315接收认证信息。如在本公开中所使用的,术语“主动认证功能”包括连续认证服务300使得与连续认证服务300监视其安全状态的设备相关联的其他组件向连续认证服务300提供认证信息的过程。在某些实施例中,主动认证功能315通过由连续认证服务300的组件(包括但不限于上下文监视器325和调度器340)触发的对认证信息的请求(例如,基于来自面向用户的设备捕获的最近图像的图像数据的面部识别操作的值)来实施。根据某些实施例,当满足某些条件时,触发主动认证功能315。在一些实施例中,触发主动认证功能315的条件是时间的(例如,触发事件之间的设定间隔)。在一些实施例中,如果满足某些上下文条件,则触发主动认证功能315。作为说明性示例,在某些实施例中,基于面部和图像数据的认证操作被调度为以预定间隔执行。然而,为了降低功耗,只有在当前图像数据中首次检测到面部时,才可以执行面部和/或虹膜认证。如果在图像数据中检测到面部,则基于图像数据中的面部/虹膜信息的分析的主动认证将被触发。如果没有检测到人的面部,则不会触发基于图像数据中的面部/虹膜信息的主动认证,从而节省了功耗。在某些实施例中,通过时间和上下文条件的组合来触发主动认证功能315。作为非限制性示例,在一些实施例中,主动认证功能315被配置为触发对来自面向用户的相机的图像数据的捕获和分析,以查看是否检测到注册用户的面部,除非地图应用打开,并且其他传感器数据指示设备在移动的车辆中。

参考图3的非限制性示例,调度器340管理主动认证功能315的定时(例如,多长时间触发一次主动认证)和模式(例如,确定收集认证信息的方法)。根据某些实施例,调度器340与审计器310接口连接,并从审计器310接收关于设备的安全状态的当前值的信息。另外,给定设备的当前上下文,调度器340与上下文监视器325接口连接,以接收(但不限于)关于可用认证方法的信息。例如,在某些实施例中,上下文监视器325确定,给定环境光水平,不可能执行基于图像数据的认证(即,太暗以至于拍不出好照片),并且通知调度器340基于图像的认证当前不是选项。根据某些实施例,调度器340通过实施一个或多个算法或决策逻辑(作为一个非限制性示例,参考本公开的图6描述的决策逻辑)来确定触发主动认证的定时和模式,该决策逻辑考虑但不限于设备的当前安全状态、给定设备的当前上下文的可用认证方法以及一个或多个操作策略。在某些实施例中,操作性的策略包括,例如,实施可用性和安全性之间的预定平衡,或者最小化感兴趣的另一操作参数的值(例如,设备执行显式认证的频率,或者执行连续认证消耗电池功率)。

在一些实施例中,连续认证服务300包括上下文监视器325,在某些实施例中,上下文监视器325包括连续认证服务300的过程或子过程,其收集上下文信息并将收集的上下文信息传递给审计器310和调度器340。收集并传递给调度器340或审计器310的上下文信息的示例包括,但不限于,设备的当前的位置的当前时间信息(例如,调节连续认证功能以考虑设备跨时区移动)、关于设备的当前位置的信息、反映用户偏好的信息(例如,用户是偏好增强的安全性还是增强的可用性)、环境条件(例如,是否是黑暗的,或者设备是否在移动的车辆中),设备状态(例如,标识设备上当前运行的应用的信息、认证历史(例如,用户是否输入了错误的PIN)和安全策略(例如,在某些区域要求显式认证的规则(例如,当设备连接到公共无线网络时))。

如图3的说明性示例所示,除了主动认证功能315之外,审计器310从被动认证功能320接收认证信息。在根据本公开的某些实施例中,被动认证功能320被实施为一系列模块,这一系列模块监听通过用户与设备上的应用的交互而提供的认证信息。在某些实施例中,模块与连续认证服务300分开实施。在一些实施例中,提供被动认证功能的模块被实施为作为连续认证服务300的一部分而包括的一套监听器。作为非限制性示例,某些金融服务应用(例如,允许用户转账、检查余额和支付账单的移动银行应用)需要一次或多次认证(例如,登录时的指纹扫描)以访问应用。在一些实施例中,监听器335的一个或多个模块被配置成捕获作为用户所使用的应用的流的一部分而执行的认证的结果,并将捕获的结果作为认证信息报告回审计器310,以用于计算设备的安全状态的当前值。

如本公开的其他地方所述,在某些实施例中,审计器310输出所确定的设备的当前安全状态的值或要采取的动作中的一个或多个。参考图3的非限制性示例,审计器310的输出被提供(例如,作为回调)给执行器330。根据某些实施例,执行器330被配置成基于如由审计器310确定的设备的安全状态的当前值来执行一个或多个预定义的动作。根据某些实施例,执行器330基于执行器330的规则或其他决策逻辑对设备的安全状态的当前值的应用来处理传入的对访问设备的资源的请求。如果,如应用于执行器330的决策逻辑,安全状态的当前值满足与对访问资源的安全要求相关联的值,执行器330允许所请求的访问。如果,如应用于执行器330的决策逻辑,安全状态的当前值满足与对访问所请求的资源的安全需求相关联的值,执行器330拒绝对资源的访问。另外,执行器330可以向伴随应用(例如,图2中的伴随应用260)提供访问的拒绝的通知。作为说明性示例,用户可以尝试访问设备的先前显示,例如,通过拿起设备来尝试解锁设备的屏幕。取决于安全状态的当前值,执行器330可以准许所请求的访问并且响应于设备被拿起而解锁设备的屏幕,或者拒绝所请求的访问。

另外,在根据本公开的某些实施例中,执行器330基于执行器330的安全状态的当前值的应用,在对资源的访问正在进行时采取行动。例如,如果审计器310在正访问资源时接收认证信息(例如,来自被动认证功能320的显示了接触指纹扫描仪的不熟悉的指纹的数据),使得安全状态的值从其先前值突然降低,则执行器330可以立即锁定设备的屏幕。类似地,如果当资源当前正被访问时,审计器310接收与认证的和授权的用户继续使用该设备相一致的认证信息,并且安全状态的值保持在相关阈值之上,则执行器330将不采取任何行动,而是允许对资源的访问继续。

图4以框图形式示出了根据本公开的一个或多个实施例的用于实施被动认证功能的认证管理器400的方面。图4所示的认证管理器400的实施例仅用于例示。其它实施例能够被使用而不脱离本公开的范围。

参考图4的非限制性示例,认证管理器400管理在设备上运行的应用的上下文中出现的认证事件(例如,作为应用内购买的认证过程的一部分进行的指纹扫描)的捕获并将其向认证服务(例如,图3中的连续认证服务300)报告。在某些实施例中,认证管理器400被实施为软件(例如,作为图3中的连续认证服务300的一部分)。在各种实施例中,认证管理器400被实施为硬件(例如,作为SoC或可编程现场门阵列(“FPGA”))。在一些实施例中,认证管理器400通过硬件和软件的组合来实施。

根据某些实施例,在实施连续认证功能的设备(例如,图2中的第一设备201)上运行的应用通过对由框架(例如,由Android SDK或用于iOS的AFNetworking库提供的框架)提供的安全工具的应用编程接口(API)调用来执行安全检查。如图4所示,框架可以为设备提供n(n是任意整数)个安全工具,应用程序可以调用该安全工具来实施安全检查。这种框架提供的安全工具的示例包括,但不限于,虹膜扫描功能405a、面部识别功能405b、指纹扫描功能405c、PIN检查功能405d、使用图案识别(检查与特定用户一致的滑动图案,诸如通常在屏幕的特定部分输入的滑动输入)和密码管理功能405n。在某些实施例中,对安全工具405a至405n的应用内调用触发回调(或其他通知),该回调将对安全工具405a至405n的应用内调用的结果提供给认证管理器400。在一些实施例中,应用内调用的结果从认证管理器400传递到连续认证服务(例如,图2中的认证服务210)。

图5示出了根据本公开的某些实施例的如由连续认证服务确定的安全状态的当前值随时间变化的方面。

参考图5的非限制性示例,示出了如由连续认证服务(例如,图3中的连续认证服务300)确定的设备的安全状态的当前值的曲线图500。在该说明性示例中,曲线图500表示随时间t(在水平轴501上表示)的安全状态的当前值S(在垂直轴503上表示)。在这个说明性示例中,S的三个相关的阈值:显示了α、S

在根据本公开的某些实施例中,连续认证服务或其模块(例如,图3中的调度器340)试图通过最小化对显式认证信息的请求的数量以及认证服务的功耗来优化认证服务的性能。识别到在某点上,用户的真实性被充分地建立,不需要附加的认证操作(例如,如果用户已经输入了正确的PIN,并且设备确定来自面向用户的相机的图像数据与用户的面部匹配,则进一步的认证操作(诸如,指纹或虹膜扫描)变得冗余),连续认证服务设置上限阈值S

在某些实施例中,用于触发主动认证功能的决策逻辑基于主动认证操作的效用得分相对于阈值的比较。根据各种实施例,用于主动认证操作的效用得分至少基于以下三个部分来确定:(1)潜在增益;(2)成功的概率;以及(3)对用户体验的影响。在这个说明性示例中,潜在增益指的是响应于成功的认证,S的当前值中的潜在“提升(lift)”。例如,给定在欺骗面部和虹膜扫描中的困难,成功的面部/虹膜扫描可以与S的值的高的潜在“提升”相关联。根据一些实施例,成功的概率是指认证操作将产生确定性结果的预测的可能性。回到虹膜扫描的非限制性示例,在一些实施例中,混淆因子(诸如,对环境光水平或相机抖动的敏感度)可能意味着面部/虹膜扫描具有返回关于用户是否是认证用户的确定性结果的相对较低的概率。根据各种实施例,对用户体验的影响包括与给定主动认证操作相关联的设备处的用户体验质量中的与预测中断或降低相关联的因子。作为非限制性示例,使用面向用户的光来辅助生成图像数据的面部/虹膜识别操作可以与大的用户体验影响因子相关联,而不需要照亮用户的面部的类似认证操作可以与相对较小的用户体验影响因子相关联。

参考图5的非限制性示例,主动认证操作(例如,由诸如图3中的调度器340的调度器触发的认证操作)以间隔I周期性地进行。另外,在该示例中,连续认证服务试图通过重复计算St并如下所示的将决策逻辑应用于所计算的St的值来最小化连续认证服务拒绝访问指定资源(例如,通过锁定设备的屏幕)的频率:

(1)St=S0-at+f(t,E),t≥0 (等式2)

(2)

(3)

其中,St包括在初始时间S0之后发生的时间t处的S的值。其中,a包括S根据时间的函数而减小的速率。在这个非限制性示例中,S的值随着时间线性减小。在一些实施例中,S的与时间相关的减少遵循不同的函数(例如,指数衰减)。其中,E包括在St和S0之间的间隔中发生的一系列事件(例如,由被动认证功能提供的认证信息)。其中f(t,E)包括基于在时间0和时间t之间发生的事件来计算设备的安全状态的当前值的分量的函数。其中,G

在应用上面编号为(2)的决策逻辑规则的集合的某些实施例中,如果St低于α,则设备被锁定。如果St落在S

根据应用上面编号为(3)的决策逻辑规则的集合的某些实施例,如果面部认证操作成功(例如,检测到与授权用户相关联的面部),则St的值预定值Gface,如图5中的时间510所示。类似地,如果面部认证操作不成功,在某些实施例中,面部认证操作的结果被忽略。应当注意,虽然等式(2)至(5)描述了用于使用面部和虹膜数据来执行认证操作的决策逻辑,但是根据本公开的实施例不限于此,并且实施例采用类似的评分和决策逻辑来执行其他认证操作。

根据应用上面编号为(4)的决策逻辑规则的集合的某些实施例,如果虹膜认证操作成功(例如,检测到与授权用户相关联的虹膜图案),则St的值按预定值Giris增加,如图5中的时间515所示。类似地,如果虹膜认证操作不成功,在某些实施例中,虹膜认证操作的结果被忽略。

在根据本公开的一些实施例中,St的值在每个认证间隔I的开始被更新,并且所确定的St的值将f(t,E)应用于在前一个认证间隔中发生的认证相关事件。在各种实施例中,在认证间隔的开始时间之间,并且响应于每个认证相关事件,更新St的值。

图6示出了根据本公开的一些实施例的用于实施主动认证功能的控制逻辑600的方面的示例。图6所示的控制逻辑600的实施例仅用于例示。其它实施例能够被使用而不脱离本公开的范围。控制逻辑600可以通过连续认证服务(例如,图3中的连续认证服务300)的一个或多个组件(例如,图3中的调度器340)来实施。

根据某些实施例,在操作610,设备(例如,图2中的第一设备201)的连续授权服务使用面部检测操作启动与主动认证相关联的操作序列,指示该设备的一个或多个相机以捕获图像数据。

如图6的说明性示例所示,在操作610之后,控制逻辑600前进到操作615,在操作615中,执行关于在图像数据中是否检测到面部的阈值或选通确定。如果在图像数据中检测到面部,则控制逻辑600前进到操作625,在操作625中,图像数据被进一步分析以生成关于图像数据中的面部和虹膜信息与被认证的用户相关联的程度的输出。如果在作为操作610的一部分收集的图像数据中没有检测到面部,则控制逻辑600前进到操作630,在操作630,认证服务等待预定的时段,希望能够在稍后捕获的图像数据中检测到面部。根据某些实施例,对没有检测到面部的图像数据执行面部/虹膜分析存在浪费功率和处理器资源的不可接受的可能性。

根据某些实施例,在操作620,确定操作625的输出是否验证图像数据中的面部和虹膜信息与认证的用户相关联。如果面部或虹膜数据被确定为与被认证的用户相关联,则控制逻辑前进到操作635,其中允许对指定资源的访问是通过新的访问的准许或者保持先前准许的访问。如果在操作620,对面部或虹膜数据是否与认证的用户相关联的确定产生错误条件,则控制逻辑600前进到操作630,在操作630,认证服务等待预定的时段,希望可以在稍后接收的图像数据中检测到面部。如果在操作620,对面部或虹膜数据的确定导致面部或虹膜数据不与经验证的用户相关联的结论性确定,则控制逻辑600进行到操作640,其中连续认证服务应用策略(例如,通过图2中的伴随应用260管理的策略)来处理未验证用户的检测。取决于设备的当前上下文和策略的规则,控制逻辑600前进到操作645或者前进到操作650,在操作645中,设备向用户呈现显式认证请求,在操作650中,设备拒绝用户对指定的资源的访问。

根据某些实施例,在等待预定时段之后,控制逻辑600从操作630前进到操作655,其中连续认证服务基于对图像数据中的面部/虹膜信息的分析来执行对认证服务是否对于执行主动认证已经等待太久的确定。如果认证服务没有等待太长时间(例如,安全状态的当前值仍然高于阈值),控制逻辑600返回到操作610。然而,如果认证服务已经等待太长(例如,在等待获得检测到面部的图像数据的机会时,安全状态的当前值已经下降到阈值以下),则控制逻辑前进到操作655,其中访问被拒绝。根据某些实施例,在操作655之前的操作可以被快速执行,或者另外在使得设备的安全状态的值充分高于较低阈值(例如,图5中的α)的时间执行,使得安全状态的值的基于时间的减少(例如,图5中的a)不会使得安全状态的值在执行新的面部检测并分析其结果所需的时间内下降到较低阈值以下。如果在操作655,确定有足够的机会收集和分析新的(fresh)面部检测数据,则控制逻辑600返回到操作610。然而,如果在操作655,确定没有足够的机会来收集和分析新的面部检测数据,则控制逻辑600前进到操作650,并且拒绝或另外切断对一个或多个指定资源的访问。

图7示出了根据本公开的某些实施例的用于使用第二设备实施资源控制认证的架构和控制逻辑700的方面。图7所示的架构和控制逻辑700的实施例仅用于例示。其它实施例能够被使用而不脱离本公开的范围。

架构和控制逻辑700包括在第一设备(例如,图1中的设备100)和单独的设备(第二设备703)上呈现的连续认证服务701。根据本公开的某些实施例,第一设备通过软件、硬件或其组合实施连续认证服务701(例如,图3中的连续认证服务300)的组件。如图7的说明性示例中所示,第一设备作为连续认证服务701的一部分,实施为,但不限于,调度器(例如,图3中的调度器340)、上下文监视器(例如,图3中的上下文监视器325)、一个或多个监听器(例如,图3中的监听器335)。根据某些实施例,第一设备701还实施激活器707,该激活器707操作来触发由与执行主动认证相关联的第一设备701的组件的操作(例如,指示相机获得图像数据)。另外,并且如图7所示,第一设备实施主动认证功能(例如,图3中的主动认证功能315)和被动认证功能(例如,图3中的被动认证功能320)。

根据某些实施例,连续认证服务701还包括安全状态确定器705,以便于将第二设备703用作控制对第一设备的资源的访问的认证信息的可信源。在一些实施例中,第二设备703是能够确定交互状态信息并将其报告给第一设备的电子设备。如在本公开中所使用的,术语“交互状态信息”包括关于认证者(例如,图2中的认证者203)与第二设备703的认证交互的信息。作为非限制性示例,第二设备703是“智能手表”,其包括传感器,该传感器检测设备何时被放置在用户的手腕上以及何时从用户的手腕上移除。在该说明性示例中,示出a)认证者将第二设备703放在她的手腕上,b)通过由第一设备上的连续认证服务701提供的接口(例如,图2中的伴随应用260)登录到第二设备703,以及c)没有将第二设备703从她的手腕上移除的信息将是第二设备703的一条交互状态信息。

在一些实施例中,安全状态确定器705对第一设备的资源的访问的请求执行第一级别排序。如图7的非限制性示例所示,安全状态确定器705实施用于基于来自第二设备703的交互状态信息来确定哪些访问请求可以被准许、以及哪些访问请求需要确定第一设备的安全状态的当前值的控制逻辑。

根据各种实施例,响应于接收到对第一设备的一个或多个资源的访问的请求,安全状态确定器705实施操作710,其中执行关于与访问请求相关联的安全级别的确定。在某些实施例中,在操作710执行的确定基于所请求的资源到所分配的安全简档的映射(例如,访问屏幕是低安全请求,而访问移动钱包是高安全请求)。在一些实施例中,在操作710执行的确定由上下文数据(例如,设备的位置和最近认证事件的历史)通知。

如图7的说明性示例所示,如果在操作710,安全状态确定器705确定访问请求是低安全访问请求,则连续认证服务701联系第二设备703以从第二设备703请求交互状态信息。根据某些实施例,安全状态确定器经由专用通信信道(例如,经由

根据某些实施例,如果在操作710,安全状态确定器705确定访问请求是高安全性访问请求,则连续认证服务701至少部分基于由连续认证服务701通过主动认证功能和/或被动认证功能接收的认证信息来计算安全状态的当前值。在某些实施例中,来自第二设备703的交互状态信息被提供给连续认证服务701的一个或多个模块,其管理主动认证操作的触发并确定第一设备的安全状态的当前值。例如,在某些实施例中,连续认证服务701的调度器(例如,图3中的调度器340)可以接收交互状态信息,并且在交互状态信息指向与第一设备通信的认证者的合理代理的存在的情况下,可以增加触发主动认证操作之间的间隔。在一些实施例中,来自第二设备703的交互状态信息的接收可以作为被包括在安全状态的当前值的确定中的事件数据(例如,本公开的等式(1)中的E)被包括。

图8示出了根据本公开的一些实施例的用于执行资源访问控制认证的方法800的操作。虽然该流程图描绘了一系列顺序的步骤,但是除非明确地陈述,否则不应该从该顺序推断出与以下有关的内容:执行的特定次序、串行地而不是并行地或者以重叠的方式来执行步骤或者步骤的部分、或执行排它地描绘的步骤而不存在插入其间的步骤或者中间步骤。

参考图8的非限制性示例,在操作805,第一设备(例如,图2中的第一设备201)在第一设备的引导时间启动连续认证服务(例如,图3中的连续认证服务300)。在根据本公开的各种实施例中,连续认证服务包括审计器(例如,图3中的审计器310)、调度器(例如,图3中的调度器340)、一个或多个监听器(例如,图3中的监听器335)、上下文监视器(例如,图3中的上下文监视器325)和执行器(例如,图3中的执行器330)。根据某些实施例,在操作805启动之后,连续认证服务在第一设备的后台连续运行。

在某些实施例中,在操作810,连续认证服务接收认证信息。根据某些实施例,在操作810接收的认证信息包括显式认证信息或隐式认证信息中的一个或多个。如在本公开中使用的,术语显式认证信息包括响应于由连续认证服务(或其组件)触发的用于提供指定类型的认证信息的对用户的提示而获得的认证信息。作为非限制性示例,响应于安全提示而获得的指纹数据将是显式认证信息的示例。

在根据本公开的某些实施例中,在操作815,连续认证服务接收对第一设备的资源的访问的请求。根据各种实施例,在操作815接收的对访问的请求可以是对资源的新的访问的请求。在某些实施例中,在操作815接收的对访问的请求可以是对第一设备的资源的持续访问。

如图8的非限制性示例所示,在操作820,连续认证服务或其模块(例如,图3中的审计器310)基于认证信息的接收时间和当前时间之间的时间间隔来确定第一设备的安全状态的当前值(例如,图5中的S)。如参考某些实施例(例如,图5所示的实施例)所讨论的,认证信息准确反映设备的真实安全状态的程度会随着时间而恶化。虽然在许多情况下,五秒钟前进行的成功的指纹扫描合理地确保了第一个设备的当前用户被认证并被授权使用该设备,但它提供了不太可信的保证,即五分钟后,当前用户仍然是被认证的授权用户。

根据本公开的各种实施例,在操作825,连续认证服务或其模块(例如,图3中的执行器330)基于在操作820确定的安全状态的当前值来控制对资源的访问。在一些实施例中,连续认证服务允许基于安全状态的当前值来访问所请求的资源(例如,如图6中的操作635)。在某些实施例中,连续认证服务拒绝对所请求的资源的访问(例如,如图6中的操作650)。在各种实施例中,在操作825,连续认证服务寻求显式认证操作(例如,如图6中的操作645)。

图9A和图9B示出了根据本公开的某些实施例的用于执行资源访问控制认证的方法的操作。虽然流程图描绘了一系列顺序的步骤,但是除非明确地陈述,否则不应该从该顺序推断出与以下有关的内容:执行的特定次序、串行地而不是并行地或者以重叠的方式来执行步骤或者步骤的部分、或执行排它地描绘的步骤而不存在插入其间的步骤或者中间步骤。根据某些实施例,除了用于执行资源访问控制认证的其他方法(例如,图8中的方法800)的操作之外,或者代替其他方法的操作,执行关于图9A和图9B描述的操作。

参考图9A的非限制性示例,在操作905,连续认证服务(例如,图3中的连续认证服务300,或图7中的连续认证服务701)在由连续认证服务调度的时间请求认证信息(例如,通过由图3中的调度器340触发的主动认证功能)。根据某些实施例,在操作905,连续认证服务在某时间请求认证信息,该时间和认证信息的类型由连续认证服务的调度器确定。

根据某些实施例,在操作910,连续认证服务至少部分基于对在操作905执行的认证信息的请求的响应,更新设备的安全状态的当前值(例如,图5中的S)。根据某些实施例,在请求中获得的认证信息被包括在事件数据的集合(例如,图5中的E)中,该事件数据的集合被用于确定设备的安全状态的当前值的算法所考虑。在一些实施例中,对在操作905执行的认证信息的请求的响应导致认证操作的失败(例如,在面部扫描中没有检测到用户的面部)。在某些实施例中,在操作910忽略这种失败结果。在一些实施例中,这样的失败结果被考虑,并被包括在由连续认证服务考虑的事件数据的集合中。

参考图9A的非限制性示例,在操作915,安全状态的当前值被存储在设备的存储器中(例如,图1中的存储器160)。根据某些实施例,安全状态的当前值对于上下文监视器(例如,图3中的上下文监视器325)是可访问的,其中它可用于调节主动认证功能的频率和模式以适应设备的当前上下文。在一些实施例中,存储在存储器中的安全状态的当前值对于执行器(例如,图3中的执行器330)是可访问的,其中它可以用于准许或拒绝在对设备的安全状态的当前值的更新之间接收的访问请求。

如图9A的说明性示例所示,在操作920,连续认证服务或其子模块根据最小化对显式认证信息的请求的总数的控制逻辑,调度对认证信息的请求(例如,通过图3中的主动认证功能315)。根据某些实施例,用于最小化对显式认证信息(或其他感兴趣的操作参数)的请求的总数的控制逻辑是通过为非显式认证操作(例如,图5中的S

在某些实施例中,在操作925,连续认证服务经由通信接口(例如,由图1中的通信单元110支持的专用信道)从第二设备(例如,图7中的第二设备703)接收交互状态信息。

如图9B的说明性示例所示,在操作930,连续认证服务至少部分基于在操作925从第二设备接收的交互状态信息来确定设备的安全状态的当前值。根据某些实施例,交互状态信息包括E的一个或多个值,其被提供给S=f(r,t,e,p)形式的算法,如参考本公开的图3的说明性示例所述。

在根据本公开的某些实施例中,在操作935,响应于由实施连续认证服务的设备提供的用于提供显式认证信息的用户提示,连续认证服务接收显式认证信息。在操作935接收的显式认证信息的示例包括,但不限于,PIN、密码、屏幕上的跟踪图案、指纹扫描的结果或语音识别操作的结果。

本申请中的任何描述都不应被理解为暗示任何特定的元件、步骤或功能是必须包括在权利要求范围内的基本元件。专利主题的范围仅由权利要求限定。

相关技术
  • 用于资源访问认证的系统和方法
  • 一种多租户服务资源动态访问授权与认证系统及方法
技术分类

06120112234880