用于基于键特定指纹的访问控制的方法和系统与流程

文档序号:29922558发布日期:2022-05-07 09:36阅读:77来源:国知局
用于基于键特定指纹的访问控制的方法和系统与流程

1.本发明一般地涉及一种用于基于指纹的访问控制的方法、系统和计算机程序产品。更具体地说,本发明涉及一种用于基于键特定指纹的访问控制的方法、系统和计算机程序产品。


背景技术:

2.访问控制系统控制对受保护资源的访问,从而将访问仅限于授权用户。受保护资源可以是软件。例如,访问控制系统可以仅在用户输入正确的密码或用户名和匹配密码时才允许访问一些软件功能。受保护资源还可以是物理设施,例如建筑物、建筑物的一部分,或者是仅对在小键盘上输入代码、具有授权的指纹或其它生物识别数据或者使用另一访问控制方法的人可访问或可用的物理设备。
3.移动设备通常包括处理器、存储器、语音和数据通信能力以及触摸屏。触摸屏是还经由在显示器的指定部分上的触摸或手势来接受用户输入的显示设备。在一些设备中,触摸屏或触摸屏的一部分还模拟物理键盘,其中显示器的标记部分(也称为虚拟键区域)被用字母、数字或符号来标记,当该部分被触摸时,这些字母、数字或符号被输入到设备。
4.为了防止未授权使用,移动设备通常包括密码功能,其中用户按顺序触摸一组虚拟键区域以输入密码。如果用户触摸了与已保存的密码相匹配的序列,则允许用户访问附加的设备功能。例如,当被包括在一个移动设备中的单个物理键被按下时,该设备显示包括虚拟数字键盘的屏幕,并提示用户输入他或她的数字个人标识号(pin)。只有当用户正确地输入pin时,才被准许比一组基本通知和紧急能力更多的访问。另一个移动设备没有物理键,并且当设备检测到其已经被拿起时触发pin输入提示。其它移动设备允许经由包括字母、数字和符号的密码进行访问。移动设备通常具有附加的生物识别访问控制功能,诸如使用专用指纹传感器或基于相机的面部识别能力。
5.包括处理器、存储器、语音和数据通信能力以及触摸屏的设备也被用作控制对物理受保护资源的访问的访问控制设备。例如,访问控制设备可以被配置为控制门锁的虚拟键盘,仅在虚拟键盘上输入预设代码时才解锁门。


技术实现要素:

6.说明性实施例提供了一种方法、系统和计算机程序产品。实施例包括一种方法,该方法使用耦合到触摸屏的生物识别传感器,从所述触摸屏的多个虚拟键区域内收集指纹数据,所述多个虚拟键区域中的虚拟键区域包括所述触摸屏的被配置为显示输入提示并且响应于所述输入提示而收集触摸数据的区域。实施例响应于确定所述指纹数据与所述虚拟键区域中的每一个所关联的已存储指纹数据具有高于阈值水平的相似度并且所述虚拟键区域的序列与已存储键序列相匹配,允许对受保护资源的访问。
7.实施例包括一种计算机可用程序产品。所述计算机可用程序产品包括一个或多个计算机可读存储设备,以及存储在所述一个或多个存储设备中的至少一个上的程序指令。
8.实施例包括一种计算机系统。所述计算机系统包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读存储设备、以及存储在所述一个或多个存储设备中的至少一个存储设备上以用于由所述一个或多个处理器中的至少一个处理器经由所述一个或多个存储器中的至少一个存储器来执行的程序指令。
附图说明
9.在所附权利要求中阐述了被认为是本发明的特性的某些新颖特征。然而,通过参考以下结合附图对说明性实施例的详细描述,将最好地理解本发明本身及其优选使用模式、进一步的目的和优点,其中:
10.图1描述了可以实现说明性实施例的数据处理系统的网络的框图;
11.图2描述了可以实现说明性实施例的数据处理系统的框图;
12.图3描述了根据说明性实施例的用于基于键特定指纹的访问控制的示例配置的框图;
13.图4描述了根据说明性实施例的用于基于键特定指纹的访问控制的示例配置的框图;
14.图5描述了根据说明性实施例的用于基于键特定指纹的访问控制的示例配置的框图;
15.图6描述了根据说明性实施例的基于键特定指纹的访问控制的示例;
16.图7描述了根据说明性实施例的用于基于键特定指纹的访问控制的示例过程的流程图;
17.图8描述了根据本发明实施例的云计算环境;以及
18.图9描述了根据本发明实施例的抽象模型层。
具体实施方式
19.说明性实施例认识到,访问控制系统通常依赖于具有特定项目(例如,锁的物理钥匙、具有用于刷取以便访问的磁条或具有被读取以用于访问的芯片的钥匙卡、或知道密码)的授权用户或被识别为授权用户(例如,具有识别卡或生物识别信息)。然而,对特定物品的拥有的依赖仍然产生安全漏洞。例如,未授权用户可能观察到授权用户输入正确的密码,然后重新使用相同的密码来获得访问。依赖于作为授权用户的识别也产生安全漏洞。例如,孩子可能将正在睡觉的父母的手指放置到设备的指纹传感器以获得对父母的移动设备的未授权访问。因此,通过基于具有特定物品和被识别为授权用户两者来实现访问控制,可以提高安全性。
20.然而,说明性实施例还认识到,两步访问控制过程不方便并且耗时。例如,要求用户将手指放置到专用指纹传感器,然后使用触摸屏输入pin花费的时间大约是仅执行这些步骤中的一个步骤的两倍,因此对于一天中数百次访问移动设备的用户而言,造成了糟糕的用户体验。因此,说明性实施例认识到,需要将基于具有特定项目和被识别为授权用户两者的访问控制合并成单个过程。
21.说明性实施例还认识到,在当前允许基于生物识别访问控制(诸如使用专用指纹传感器或基于相机的面部识别能力)进行访问的设备中,这些设备仍然要求用户例如以周
期性的间隔输入pin或密码,或者访问特别受保护的设备功能(诸如更新设备的操作系统)。此外,这些设备遭受本文讨论的相同安全漏洞。因此,说明性实施例认识到,在这些设备中,需要通过将基于生物识别和密码的访问控制合并成单个过程来提高安全性并简化访问控制过程。
22.说明性实施例认识到,目前可用的工具或解决方案没有解决这些需要或没有为这些需要提供足够的解决方案。用于描述本发明的说明性实施例总体上处理和解决上述问题以及与基于键特定指纹的访问控制相关的其它问题。
23.实施例可以被实现为软件应用。实现实施例的应用可以被配置为对访问控制系统的修改、与现有访问控制系统结合操作的单独应用、独立应用或它们的某种组合。
24.具体地说,一些说明性实施例提供一种方法,该方法从触摸屏的多个虚拟键区域内收集生物识别数据,并且确定该生物识别数据与虚拟键区域中的每一个所关联的已存储生物识别数据是否具有高于阈值水平的相似度并且虚拟键区域的序列是否与已存储键序列相匹配。如果两者都为真,则该方法允许对受保护资源的访问;否则,该方法阻止对受保护资源的访问。
25.一个实施例使用耦合到触摸屏的生物识别传感器。触摸屏的显示组件显示一个或多个虚拟键区域,每个虚拟键区域都用字母、数字或符号来标记,当触摸屏的数据收集表面被触摸时,这些字母、数字或符号被输入到设备,触摸屏的与数据收集表面相平行的第二表面耦合到被配置为收集指纹数据的生物识别传感器。使用从用户手指反射的光、使用光电容技术、以及使用超声技术来收集指纹数据的光学指纹传感器目前都是公知的。在本发明的范围内,附加的指纹数据收集技术也是可能的和可预期的。因此,当用户的手指接触触摸屏的数据收集表面时,生物识别传感器收集用户手指的指纹数据。此外,触摸屏收集触摸数据,而执行软件的处理器将触摸数据解析成在指纹收集期间由用户手指触摸的单个虚拟键区域的数据。在一个实施例中,用户的手指触摸数据收集表面触发了指纹数据收集。在另一实施例中,将触摸数据解析成单个虚拟键区域的数据触发了指纹数据收集。
26.另一实施例使用被配置为收集指纹数据的一组生物识别传感器,每个生物识别传感器耦合到与触摸屏的数据收集表面相平行的表面。另一实施例使用一组生物识别传感器,每个传感器耦合到小键盘的物理键。因此,当用户的手指接触触摸屏的数据收集表面或物理键时,生物识别传感器收集用户手指的指纹数据。同样,收集关于在指纹收集期间用户的手指触摸了哪个触摸屏或物理键的数据。
27.另一实施例使用被配置为收集不是指纹数据的生物识别数据的生物识别传感器。非指纹生物识别数据的一些非限制性示例包括用户的手或脚表面的一部分、用户的皮肤的不同区域的一部分、以及虹膜或视网膜的扫描数据。另外,生物识别数据不必是人类的。
28.一个实施例在配置阶段中提示用户输入期望的密码或pin。用户通过在物理键或触摸屏的虚拟键区域上键入密码来输入密码,其中对于每个键使用期望的手指。当在输入期望密码期间用户用特定手指触摸每个键(物理或虚拟)时,该实施例针对每次触摸收集指纹和键数据两者。因为用户的每个手指的指纹是不同的,所以所得到的已存储密码包括哪个手指被用于键入哪个键的数据。因此,用户输入到标记为数字小键盘的一组虚拟键区域中的一个示例性的期望pin可以是序列1(用左手第三手指键入)、2(用左手第二手指键入)、3(用左手食指键入)和0(用左手拇指键入)。用户输入到标记为数字小键盘的一组虚拟键区
域中的另一个示例性的期望pin可以是序列2(用左手第二手指键入)、3(用左手食指键入)、5(用左手第二手指键入)和6(用左手食指键入)。用户输入到标记为qwerty字母数字键盘的一组虚拟键区域中的另一个示例性的期望密码可以是序列a(用左手第四手指键入)、s(用左手第三手指键入)、d(用左手第二手指键入)和f(用左手食指键入)。
29.如果密码、手指输入序列、或者密码或手指输入序列的组合被包括在被认为太明显而不能用于访问控制的密码列表中,则一个实施例拒绝用户的期望密码。如果密码、手指输入序列、或者密码或手指输入序列的组合已经被其他用户使用了超过预定阈值次数,从而指示该密码太明显或者可能太容易被其他人猜测以用于访问控制,则另一实施例拒绝用户的期望密码。例如,由于pin 1234或0000通常是默认pin,因此它们可以被包括在要被拒绝的pin列表中。作为另一示例,用左手的四个手指键入的序列asdf可能被拒绝,因为五十个其他用户已经使用了该序列(可能是因为它容易键入)。
30.在配置阶段中,另一实施例提示用户输入期望密码或pin。用户通过在物理键或触摸屏的虚拟键区域上键入密码来输入密码。该实施例不需要在配置阶段期间为每个键使用期望的手指,而是确定用于密码的手指使用模式。具体地,在多次输入密码以访问受保护资源期间,作为用户的正常使用的一部分,该实施例收集每次触摸的指纹和键数据。在允许用户访问受保护资源(如果输入的密码正确)的同时,该实施例还存储用于键入哪个键的每个手指的指纹数据。一个实施例确定用户使用同一个手指(即,所收集的指纹数据彼此具有高于阈值水平的相似度)键入高于阈值次数的特定键(物理的或虚拟的)作为使用模式。另一实施例确定用户使用了同一个手指(即,所收集的指纹数据彼此具有高于阈值水平的相似度)在所有密码输入的高于阈值百分比的输入中键入特定键作为使用模式。一旦实施例确定了使用模式,则实施例切换到要求特定的、一致的手指被用于对应的虚拟键。一个实施例仅在用户确认时才切换到需要特定手指。另一实施例切换到需要特定手指而不需要用户确认。因此,一个示例用户可以将她的pin设置为1230。然后,当用户使用该pin时,所收集的数据显示在超过百分之九十的用户输入pin中,用户将pin输入为1(用左手的第三个手指键入)、2(用左手的第二个手指键入)、3(用左手的食指键入)和0(用左手的拇指键入)。作为结果,在用户同意的情况下,实施例切换到要求对于该用户,针对序列中的每个数字使用特定手指来输入该pin。
31.实施例将特定指纹存储为特定手指的指纹数据。特定指纹的非限制性示例包括所收集的第一指纹、当实施例确定存在使用模式时所收集的最近指纹、以及从所收集的指纹数据中为该指纹和虚拟键组合而选择的随机选择的指纹。另一实施例存储针对该指纹和虚拟键组合的所收集指纹数据的复合物作为特定手指的指纹数据。
32.接着,一旦具有对应指纹数据的特定手指已通过配置或经由使用模式被与特定物理键或虚拟键区域相关联,实施例便提示用户通过针对每个键使用经配置的手指键入密码来输入他或她的密码或pin。当在输入所需密码期间用户用特定手指触摸每个键时,实施例收集每次触摸的指纹和键数据两者。如果实施例确定所收集的指纹数据与每个键所关联的用户的已存储指纹数据具有高于阈值水平的相似度,并且确定键序列与用户的已存储键序列相匹配,则实施例允许对受保护资源的访问。另一方面,如果实施例确定所收集的指纹数据与所存储序列中每个键所关联的用户的已存储指纹数据不具有高于阈值水平的相似度,则实施例阻止对受保护资源的访问。
33.在与基于生物识别的访问控制系统有关的技术领域中,在目前可用的方法中,在此描述的访问控制系统的方式是不可用的。当被实现为在设备或数据处理系统上执行时,本文描述的实施例的方法包括:在从触摸屏的多个虚拟键区域内收集生物识别数据方面,该设备或数据处理系统的功能的实质性进步;以及确定生物识别数据是否与每个虚拟键区域所关联的已存储生物识别数据具有高于阈值水平的相似度,以及确定虚拟键区域序列是否匹配已存储的键序列。如果两者都为真,则该方法允许对受保护资源的访问;否则,该方法阻止对受保护资源的访问。
34.仅作为示例,关于特定类型的生物识别数据、触摸数据、密码、序列、虚拟键区域、阈值、传感器、测量、设备、数据处理系统、环境、组件和应用来描述说明性实施例。这些和其它类似的人为因素的任何特定表现形式不是旨在限制本发明。可以在说明性实施例的范围内选择这些和其它类似的人为因素的任何适当表现形式。
35.此外,可以针对任何类型的数据、数据源或通过数据网络对数据源的访问来实现说明性实施例。在本发明的范围内,任何类型的数据存储设备可以在本地在数据处理系统处或通过数据网络向本发明的实施例提供数据。在使用移动设备描述实施例的情况下,在说明性实施例的范围内,适合与移动设备一起使用的任何类型的数据存储设备可以在本地在移动设备处或者通过数据网络向这样的实施例提供数据。
36.使用特定代码、设计、架构、协议、布局、示意图和工具来描述说明性实施例,这些仅作为示例,而不是对说明性实施例的限制。此外,为了描述的清楚,在一些实例中使用特定软件、工具和数据处理环境仅作为示例来描述说明性实施例。说明性实施例可以结合其他相当或类似目的的结构、系统、应用或架构来使用。例如,在本发明的范围内,其他相当的移动设备、结构、系统、应用或其架构可以与本发明的这种实施例结合使用。说明性实施例可以以硬件、软件或它们的组合来实现。
37.本公开中的示例仅用于清楚描述,而不是限制说明性实施例。从本公开可以想到附加的数据、操作、动作、任务、活动和操纵,并且在说明性实施例的范围内可以设想这些附加的数据、操作、动作、任务、活动和操纵。
38.本文列出的任何优点仅是示例,并非旨在限制说明性实施例。通过特定的说明性实施例可以实现附加的或不同的优点。此外,特定说明性实施例可具有上文所列优点中的一些、全部或不具有上文所列优点。
39.应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
40.云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
41.特性如下:
42.按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
43.广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进
了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。
44.资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
45.迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
46.可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
47.业务模型如下:
48.软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
49.平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
50.基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
51.部署模型如下:
52.私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
53.共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
54.公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
55.混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
56.云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
57.参考附图,并且具体参考图1和2,这些附图是可以实现说明性实施例的数据处理环境的示例图。图1和2仅仅是示例,并且不旨在断言或暗示关于其中可以实现不同实施例
的环境的任何限制。特定实现可以基于以下描述对所描绘的环境进行许多修改。
58.图1描述了可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光缆的连接。
59.客户机或服务器仅是连接到网络102的特定数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。服务器104和服务器106连同存储器108一起耦合到网络102。软件应用可以在数据处理环境100中的任何计算机上执行。客户机110、112和114也耦合到网络102。诸如服务器104或106或客户机110、112或114的数据处理系统可以包含数据,并且可以具有在其上执行的软件应用或软件工具。
60.仅作为示例,而不暗示对这样的体系结构的任何限制,图1描绘了可在实施例的示例实现中使用的特定组件。例如,服务器104和106以及客户机110、112、114被描绘为服务器和客户机,仅作为示例,而不是暗示对客户机-服务器架构的限制。作为另一个例子,一个实施例可以分布在如图所示的几个数据处理系统和数据网络上,而在说明性实施例的范围内,另一个实施例可以在单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示适于实现实施例的集群、分区和其它配置中的示例节点。
61.设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户机110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一数据处理系统中执行的任何软件应用可以被配置为以类似的方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可以被配置为以类似的方式在设备132中存储或产生。设备132包括被配置为收集触摸数据的触摸屏134和被配置为收集生物识别数据的生物识别传感器136。客户机112还包括耦合到客户机112的物理键盘部分的生物识别传感器138。客户机110和114以及服务器104和106也可以被配置为包括生物识别传感器(未示出)。
62.应用105实现在此描述的实施例。应用105在服务器104和106、客户机110、112和114以及设备132中的任何一个中执行。
63.服务器104和106、存储器108、客户机110、112和114以及设备132可以使用有线连接、无线通信协议或其他合适的数据连接来耦合到网络102。客户机110、112和114可以是例如个人计算机或网络计算机。
64.在所描述的示例中,服务器104可以向客户机110、112和114提供数据,例如引导文件、操作系统映像和应用。在该示例中,客户机110、112和114可以是服务器104的客户机。客户机110、112、114或其某种组合可以包括它们自己的数据、引导文件、操作系统映像和应用。数据处理环境100可以包括未示出的附加服务器、客户机和其他设备。
65.在所描述的示例中,数据处理环境100可以是因特网。网络102可以表示使用传输控制协议/网际协议(tcp/ip)和其它协议来彼此通信的网络和网关的集合。在因特网的核心是主节点或主机计算机之间的数据通信链路的主干,包括路由数据和消息的数千个商业、政府、教育和其它计算机系统。当然,数据处理环境100也可以被实现为许多不同类型的网络,例如内联网、局域网(lan)或广域网(wan)。图1旨在作为例子,而不是作为对不同说明性实施例的体系结构限制。
66.除了其他用途之外,数据处理环境100可以用于实现其中可以实现示例性实施例的客户机-服务器环境。客户机-服务器环境使得软件应用和数据能够分布在网络上,以便应用通过使用客户机数据处理系统与服务器数据处理系统之间的交互性来工作。数据处理环境100还可以采用面向服务的体系结构,其中分布在网络上的可互操作的软件组件可以被打包在一起作为一致的业务应用。数据处理环境100还可以采取云的形式,并且采用服务交付的云计算模型以实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,这些可配置计算资源可以以最小的管理成本或与服务提供者进行最少的交互来被快速供应和释放。
67.参考图2,该图描述了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的示例,例如图1中的服务器104和106、或客户机110、112和114、或另一类型的设备,其中可以为示例性实施例设置实现处理的计算机可用程序代码或指令。
68.数据处理系统200还代表数据处理系统或其中的配置,例如图1中的数据处理系统132,其中可以放置实现说明性实施例的处理的计算机可用程序代码或指令。数据处理系统200仅作为示例被描述为计算机并且不限于此。在不脱离在此描述的数据处理系统200的操作和功能的一般描述的情况下,以诸如图1中的设备132的其他设备的形式的实现可以诸如通过添加触摸接口来修改数据处理系统200,以及甚至从数据处理系统200中去除某些描绘的组件。
69.在所描述的例子中,数据处理系统200采用集线器体系结构,包括北桥和存储器控制器集线器(nb/mch)202以及南桥和输入/输出(i/o)控制器集线器(sb/ich)204。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(nb/mch)202。处理单元206可以包含一个或多个处理器,并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在特定实现中,图形处理器210可以通过加速图形端口(agp)耦合到nb/mch 202。
70.在所描述的例子中,局域网(lan)适配器212耦合到南桥和i/0控制器集线器(sb/ich)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(rom)224、通用串行总线(usb)和其它端口232、以及pci/pcie设备234通过总线238耦合到南桥和i/o控制器集线器204。硬盘驱动器(hdd)或固态驱动器(ssd)226和cd-rom 230通过总线240耦合到南桥和i/o控制器集线器204。pci/pcie设备234可以包括例如以太网适配器、附加卡和用于笔记本计算机的pc卡。pci使用卡总线控制器,而pcie不使用。rom 224可以是例如闪存二进制输入/输出系统(bios)。硬盘驱动器226和cd-rom 230可使用例如集成驱动电子(ide)、串行高级技术附件(sata)接口或诸如外部sata(esata)和微sata(msata)的变体。超级i/o(sio)设备236可以通过总线238耦合到南桥和i/o控制器集线器(sb/ich)204。
71.存储器(例如主存储器208、rom 224或闪存(未示出))是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、cd-rom 230和其它类似可用的设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。
72.操作系统在处理单元206上运行。操作系统协调并提供对图2中的数据处理系统200内的各种组件的控制。操作系统可以是用于任何类型的计算平台(包括但不限于服务器系统、个人计算机和移动设备)的商业上可用的操作系统。面向对象或其它类型的编程系统可以与操作系统一起操作,并且提供从在数据处理系统200上执行的程序或应用对操作系
统的调用。
73.用于操作系统、面向对象的编程系统以及诸如图1中的应用105的应用或程序的指令位于存储设备上,诸如采取硬盘驱动器226上的代码226a的形式,以及可以被加载到诸如主存储器208的一个或多个存储器中的至少一个中以便由处理单元206执行。说明性实施例的过程可以由处理单元206使用计算机实现的指令来执行,这些指令可以位于存储器中,例如主存储器208、只读存储器224,或者位于一个或多个外围设备中。
74.此外,在一种情况下,代码226a可以通过网络201a从远程系统201b下载,其中类似的代码201c被存储在存储设备201d上。在另一种情况下,代码226a可以通过网络201a下载到远程系统201b,其中所下载的代码201c被存储在存储设备201d上。
75.图1-2中的硬件可以根据实现而变化。除了图1-2中描述的硬件之外,或者作为图1-2中描述的硬件的替代,可以使用诸如闪存、等效的非易失性存储器或光盘驱动器等的其它内部硬件或外围设备。此外,说明性实施例的过程可以被应用于多处理器数据处理系统。
76.在一些说明性示例中,数据处理系统200可以是个人数字助理(pda),其通常配置有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一个或多个总线,例如系统总线、i/0总线和pci总线。当然,总线系统可以使用任何类型的通信结构或体系结构来实现,这些通信结构或体系结构提供在附接到该结构或体系结构的不同组件或设备之间的数据传输。
77.通信单元可以包括一个或多个用于发送和接收数据的设备,例如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或cpu。
78.图1-2中所描述的例子和上述例子不意味着暗示体系结构限制。例如,数据处理系统200除了采取移动或可穿戴设备的形式之外,还可以是平板计算机、膝上型计算机或电话设备。
79.在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中所描绘的一些或所有组件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206被表现为主机数据处理系统中可用的所有或一些数量的硬件处理单元206的虚拟化实例,主存储器208被表现为主机数据处理系统中可用的主存储器208的所有或一些部分的虚拟化实例,以及盘226被表现为主机数据处理系统中可用的盘226的所有或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。
80.参考图3,该图描述了根据说明性实施例的用于基于键特定指纹的访问控制的示例配置的框图。应用300是图1中的应用105的示例,并且在图1中的服务器104和106、客户机110、112和114以及设备132中的任何一个中执行。
81.数据收集模块310收集生物识别数据和键数据。模块310的一个实施方式使用耦合到触摸屏的生物识别传感器。触摸屏的显示组件显示一个或多个虚拟键区域,每个虚拟键区域都用当触摸屏的数据收集表面被触摸时被输入到设备的字母、数字或符号来标记,而触摸屏的与数据收集表面相平行的第二表面耦合到被配置为收集指纹数据的生物识别传感器。因此,当用户的手指接触触摸屏的数据收集表面时,生物识别传感器收集用户手指的指纹数据。此外,触摸屏收集触摸数据,并且执行软件的处理器将触摸数据解析成在指纹收
集期间由用户手指触摸的单个虚拟键区域的数据。在模块310的一个实施方式中,用户的手指触摸数据收集表面触发了指纹数据收集。在模块310的另一实施方式中,将触摸数据解析成单个虚拟键区域的数据触发了指纹数据收集。
82.模块310的另一实施方式使用被配置为收集指纹数据的一组生物识别传感器,每个传感器耦合到与触摸屏的数据收集表面相平行的表面。模块310的另一实施方式使用一组生物识别传感器,每个传感器耦合到小键盘的物理按键。因此,当用户的手指接触触摸屏的数据收集表面或物理键时,生物识别传感器收集用户手指的指纹数据。此外,收集关于在指纹收集期间用户的手指触摸了哪个触摸屏或物理键的数据。
83.模块310的另一实施方式使用被配置为收集不是指纹数据的生物识别数据的生物识别传感器。非指纹生物识别数据的一些非限制性示例包括用户的手或脚表面的一部分、用户皮肤的不同区域的一部分、以及虹膜或视网膜的扫描数据。另外,生物识别数据不必是人类的。
84.配置模块320提示用户输入期望密码或pin。用户通过在物理键或触摸屏的虚拟键区域上键入密码来输入密码,其中对于每个键使用期望的手指。当在输入期望密码期间用户用特定手指触摸每个键(物理或虚拟)时,模块310针对每次触摸收集指纹和键数据两者。因为用户的每个手指的指纹是不同的,所以所得到的已存储密码包括哪个手指被用于键入哪个键的数据。如果密码、手指输入序列、或者密码或手指输入序列的组合被包括在被认为太明显而不能用于访问控制的密码列表中,则模块320的一个实施方式拒绝用户的期望密码。如果密码、手指输入序列、或者密码或手指输入序列的组合已经被其他用户使用了超过预定阈值次数,从而指示该密码太明显或者可能太容易被其他人猜测以用于访问控制,则模块320的另一实施方式拒绝用户的期望密码。
85.模块320的另一实施方式提示用户输入期望密码或pin。用户通过在物理键或触摸屏的虚拟键区域上键入密码来输入密码。模块320的这种实施方式不要求在配置阶段期间针对每个键使用期望的手指,而是确定用于密码的手指使用模式。特别地,在多次输入密码以访问受保护资源期间,作为用户正常使用的一部分,模块310为每次触摸收集指纹和键数据两者。在允许用户访问受保护资源(如果输入的密码正确)的同时,模块320还存储被用于键入哪个键的每个手指的指纹数据。模块320的一个实施方式确定用户使用了同一个手指(即,所收集的指纹数据彼此具有高于阈值水平的相似度)来键入高于阈值次数的特定键(物理的或虚拟的)作为使用模式。模块320的另一实施方式确定用户使用了同一个手指(即,所收集的指纹数据彼此具有高于阈值水平的相似度)来在所有密码输入的高于阈值百分比的输入中键入特定的键作为使用模式。一旦模块320确定了使用模式,应用300就切换到要求特定的、一致的手指被用于对应的虚拟键。
86.模块320存储特定指纹作为特定手指的指纹数据,例如所收集的第一指纹、当确定了使用模式时所收集的最近指纹、以及从所收集的指纹数据中为该指纹和虚拟键组合而选择的随机选择的指纹。模块320的另一实施方式存储针对该指纹和虚拟键组合的所收集指纹数据的复合物作为特定手指的指纹数据。
87.接着,一旦具有对应指纹数据的特定手指已通过配置或经由使用模式被与特定物理键或虚拟键区域相关联,则认证模块330提示用户通过针对每个键使用经配置的手指键入密码来输入他或她的密码或pin。当在输入所需密码期间用户用特定手指触摸每个键时,
模块310收集每次触摸的指纹和键数据两者。如果模块330确定所收集的指纹数据与每个键所关联的用户的已存储指纹数据具有高于阈值水平的相似度,并且确定键序列与用户的已存储键序列相匹配,则模块330允许对受保护资源的访问。另一方面,如果模块330确定所收集的指纹数据与所存储序列中每个键所关联的用户的已存储指纹数据不具有高于阈值水平的相似度,则模块330阻止对受保护资源的访问。
88.参考图4,该图描述了根据说明性实施例的用于基于键特定指纹的访问控制的示例配置的框图。特别地,图4描述了图3中的模块310的更多细节。
89.当模块310的一个实施方式使用耦合到触摸屏的生物识别传感器时,触摸屏的显示组件显示一个或多个虚拟键区域,每个虚拟键区域都用在触摸屏的数据收集表面被触摸时输入到设备的字母、数字或符号来标记。触摸屏的与数据收集表面相平行的第二表面耦合到被配置为收集指纹数据的生物识别传感器。因此,当用户的手指接触触摸屏的数据收集表面时,指纹收集模块410收集用户手指的指纹数据。此外,虚拟键区域模块420收集触摸数据并将触摸数据解析成在指纹收集期间由用户手指触摸的单个虚拟键区域的数据。在模块420的一个实施方式中,用户的手指触摸数据收集表面触发了指纹数据收集。在模块420的另一实施方式中,将触摸数据解析成单个虚拟键区域的数据触发了指纹数据收集。
90.参考图5,该图描述了根据说明性实施例的用于基于键特定指纹的访问控制的示例配置的框图。特别地,图5描述了图3中的模块320的更多细节。
91.设置模块520提示用户输入期望密码或pin。用户通过在物理键或触摸屏的虚拟键区域上键入密码来输入密码,其中针对每个键使用期望的手指。因为用户的每个手指的指纹是不同的,所以所得到的已存储密码包括哪个手指被用于键入哪个键的数据。如果密码、手指输入序列、或者密码或手指输入序列的组合被包括在被认为太明显而不能用于访问控制的密码列表中,则模块520的一个实施方式拒绝用户的期望密码。如果密码、手指输入序列、或者密码或手指输入序列的组合已经被其他用户使用了超过预定阈值次数,从而指示该密码太明显或者可能太容易被其他人猜测以用于访问控制,则模块520的另一实施方式拒绝用户的期望密码。
92.学习模块510确定密码的手指使用模式。特别地,在多次输入密码以访问受保护资源期间,作为用户正常使用的一部分,模块510为每次触摸收集指纹和键数据两者。在允许用户访问受保护资源(如果输入的密码正确)的同时,模块510还存储被用于键入哪个键的每个手指的指纹数据。模块510的一个实施方式确定用户使用了同一个手指(即,所收集的指纹数据彼此具有高于阈值水平的相似度)来键入高于阈值次数的特定键(物理的或虚拟的)作为使用模式。模块510的另一实施方式确定用户使用了同一个手指(即,所收集的指纹数据彼此具有高于阈值水平的相似度)来在所有密码输入的高于阈值百分比的输入中键入特定的键作为使用模式。一旦模块510确定了使用模式,应用300就切换到要求特定的、一致的手指被用于对应的虚拟键。
93.参考图6,该图描述了根据说明性实施例的基于键特定指纹的访问控制的示例。该示例可以使用图3中的应用300来执行。设备132和触摸屏134与图1中的设备132和触摸屏134相同。
94.设备132使用耦合到触摸屏134的生物识别传感器(未示出)。触摸屏134的显示组件显示一个或多个虚拟键区域,每个虚拟键区域都用字母、数字或符号来标记,当触摸屏的
数据收集表面被触摸时,该字母、数字或符号被输入到设备132。触摸屏134的与数据收集表面相平行的第二表面耦合到被配置为收集指纹数据的生物识别传感器。因此,当用户的手指接触触摸屏134的数据收集表面时,生物识别传感器收集用户手指的指纹数据。此外,触摸屏134收集触摸数据,并且执行软件的处理器将触摸数据解析成在指纹收集期间由用户的手指触摸的单个虚拟键区域的数据。因此,如所描绘的,用户通过用手指602触摸虚拟键区域611,从而键入“1”,用手指604触摸虚拟键区域612,从而键入“2”,用手指606触摸虚拟键区域613,从而键入“3”,以及用手指608触摸虚拟键区域610,从而键入“0”,来输入他或她的pin。如果应用300确定所收集的指纹数据与每个键所关联的用户的已存储指纹数据具有高于阈值水平的相似度,并且确定键序列“1230”与用户的已存储键序列相匹配,则应用300允许对受保护资源的访问。另一方面,如果应用300确定所收集的指纹数据与已存储序列中的每个键所关联的用户的已存储指纹数据不具有高于阈值水平的相似度,则实施例阻止对受保护资源的访问。
95.参考图7,该图描述了根据说明性实施例的用于基于键特定指纹的访问控制的示例过程的流程图。过程700可以在图3中的应用300中实现。
96.在框702中,应用使用耦合到触摸屏的生物识别传感器来从触摸屏的多个键区域内收集指纹数据。在框704中,应用确定所收集的生物识别数据是否与相同键区域所关联的已存储生物识别数据具有高于阈值水平的相似度。如果是(块704的“是”路径),则在块706中,应用确定键区域的序列是否与已存储键序列相匹配。如果是(块706的“是”路径),则在块708中,应用允许对受保护资源的访问。否则(块704和706的“否”路径),在块710中,应用阻止对受保护资源的访问。然后应用结束。
97.现在参考图8,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(pda)或移动电话54a,台式电脑54b、笔记本电脑54c和/或汽车计算机系统54n。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas)。应当理解,所显示的各类计算设备54a-n仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
98.现在参考图9,其中显示了云计算环境50(图8)提供的一组功能抽象层。首先应当理解,所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图9所示,提供下列层和对应功能:
99.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
100.虚拟化层70提供一个抽象层,该层可以提供下列虚拟实体的示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
101.在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算
环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,这些资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能85:为根据sla预测的对云计算资源未来需求提供预先安排和供应。
102.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及基于累积漏洞风险评估的应用选择96。
103.因此,在说明性实施例中提供了一种计算机实现的方法、系统或装置以及计算机程序产品以用于基于键特定指纹的访问控制和其他相关特征、功能或操作。在关于一种类型的设备描述实施例或其一部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其一部分被适配或配置成与该类型的设备的适合且相当的表现一起使用。
104.在实施例被描述为在应用中实现的情况下,在说明性实施例的范围内,可以设想在软件即服务(saas)模型中的应用的交付。在saas模型中,通过在云基础设施中执行应用,向用户提供实现实施例的应用的能力。用户可以通过诸如web浏览器(例如,基于web的电子邮件)或其他轻量客户端应用之类的瘦客户端接口使用各种客户端设备来访问应用。用户不管理或控制底层云基础设施,包括网络、服务器、操作系统或云基础设施的存储。在一些情况下,用户甚至可能不管理或控制saas应用的能力。在一些其它情况下,应用的saas实施方式可允许有限的用户特定应用配置设定的可能例外。
105.本发明可以是任何可能的集成技术细节水平的系统、方法和/或计算机程序产品。计算机程序产品可包含存储计算机可读程序指令的计算机可读存储介质(或媒体),这些计算机可读程序指令用于使得处理器执行本发明的方面。
106.计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下项:便携式计算机盘,硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存),静态随机存取存储器(sram)、便携式致密盘只读存储器(cd-rom),数字通用盘(dvd)、记忆棒、软盘、机械编码设备(诸如穿孔卡片或具有记录在其上的指令的凹槽中的凸起结构),以及上述项的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光缆的光脉冲)、或通过导线传输的电信号。
107.本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
108.用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,集成电路的配置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括面向对象的smalltalk、c++等编程语言,以及过程式编程语言,例如“c”编程语言或类似的编程语言。计算机可读程序指令可完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。
109.本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
110.这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得指令经由计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可被存储在可引导计算机、可编程数据处理装置和/或其他设备以特定方式工作的计算机可读存储介质中,使得存储指令的计算机可读存储介质包括一件制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
111.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,以使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
112.附图中的流程图和框图图示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在此方面,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所标注的功能可以不以图中所标注的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1