用户认证的制作方法

文档序号:28752608发布日期:2022-02-08 01:20阅读:84来源:国知局
用户认证的制作方法
用户认证


背景技术:

1.认证系统在商业和贸易环境中普遍存在。认证是验证实体的声明身份的过程。一旦系统验证了用户的身份,就可以授予用户访问服务或数据的权限。认证系统使用认证因子来确定用户的身份。认证因子可以是用户知道的东西、用户拥有的东西、或用户的特征。认证因子可取决于对诸如手机或笔记本电脑等设备的拥有。在某些情况下,多个设备可以参与到用户的验证中。
附图说明
2.图1a是示出根据示例的认证系统的示意图。
3.图1b是示出根据示例的认证系统的示意图。
4.图2是示出根据示例的对用户进行认证的方法的框图。
5.图3示出与存储器相关联的处理器,其中,该存储器包含用于在计算设备上对用户进行认证的指令。
具体实施方式
6.在以下描述中,为了说明的目的,阐述了某些示例的许多具体细节。说明书中对“示例”或类似语言的引用意味着结合示例描述的特定特征、结构、或特性被包括在至少一个示例中,但不一定被包括在其他示例中。
7.认证被用来创建实体的身份。认证被用在各种背景中,诸如以允许用户赢得对服务或数据的访问。用户可通过网络向本地设备或远离用户的服务器对他们自己进行认证。
8.为了进行认证,用户被要求提供认证因子。认证因子可以是“你是什么(something you are)”、“你知道的东西(something you know)”、或“你拥有的东西(something you have)”。例如,如果用户能证明对身份证的拥有,则可以对其进行认证。在另一种情况下,如果用户知道密码,则可以对其进行认证。
9.由于密码的弱点,很多认证方案依赖于能够访问设备的用户。这相对于密码是一种改进,因为设备与人类不同,可以存储加密的安全密码并且可以使用公钥加密。
10.当用户想要进行认证时,认证方(也称为依赖方)将向设备发送质询。该质询由设备使用与先前登记的公钥相对应的私钥进行签名。有效的签名向依赖方表明,有权访问该设备的人想要进行认证,即用户拥有该设备。依赖方不了解私钥,因此如果在以后被破坏也不会泄漏有关该密钥的信息。特别地,可以在不需要暴露与认证因子有关的安全信息的条件下,证明对认证因子的拥有。
11.依赖拥有设备的用户的认证系统存在若干安全性和可用性缺陷。例如,如果攻击者窃取了设备,则攻击者可以使用设备上的认证因子来模仿用户。如果认证设备丢失,则用户可能没有安全的方法来恢复对其帐户的访问。如果设备受到物理攻击或软件受损,则设备可能会错误或不正确地进行认证或泄漏信息。如果用户暂时无法访问单个设备,则他们可能会被锁定在他们的帐户之外,直到他们能够重新访问为止。最后,通过使用单个设备进
行认证,用户依赖于单个设备的可用性和可信度。
12.在某些认证过程中,认证因子被分发在多个设备上。当用户被要求对他们自己进行认证时,他们可证明对认证因子被分发在其上的设备的子集的拥有。如果来自该设备子集的组合信息足以证明对认证因子的拥有,则对用户进行认证。
13.在这些认证系统中,可以提供不同的设备子集来证明对认证因子的拥有。例如,在一些系统中,如果用户可以提供认证因子被分发在其上的一组设备中的阈值数目的设备,则可以对用户进行认证。阈值可以是任何总共n个设备中的n/2个设备的子集。n个设备中的任何这样的n/2子集可足以对用户进行认证。
14.在多个设备上分发认证因子可提高系统的安全性和可用性。在这些系统中,对方必须获得若干不同的设备来模仿被授权用户。如果设备被丢失、被损坏或破坏、或者对于用户被锁定,则用户仍然可通过在认证时提供其拥有的不同设备子集进行认证。
15.这种认证系统使用不同的用户设备进行认证。这包括用户拥有的设备,如计算设备、平板设备、电话、智能手表等。此类设备具有安全地存储与认证相关的信息的必要功能。
16.不幸的是,要求用户拥有一定数量或类型的设备限制了认证系统的可用性。为了参与到协议中,用户拥有一定数量的属于他们的注册设备。然后,在认证时,他们会提供他们的设备的适当子集。这可能会在例如不允许用户携带诸如手机或计算设备等物品的情况下带来问题。此外,一些用户不具有或不经常在他们身上携带足够数量的设备以参与到协议中。
17.本文描述的方法和系统使用多个设备来扩展认证系统的能力。在一个示例中,所描述的方法允许用户注册不是用户直接拥有的设备,使得这些设备可以参与用户的认证。
18.本文描述的方法允许用户从潜在设备列表中指定哪些设备可以参与。设备可以包括用户附近的诸如智能灯泡或打印机之类的设备。该系统被布置为当用户尚未发起认证会话时,被注册参与但不为用户所拥有的设备不能独立地协作来进行认证。
19.图1a是示出根据示例的认证系统100的示意图。图1a所示的系统100可与本文所描述的其他方法和系统结合使用。
20.图1a所示的认证系统100用于对用户110进行认证。例如,用户110希望对他们自己进行认证,以得到对服务或数据的访问权限。认证系统100包括依赖方120。依赖方120是用户110希望向其进行认证的服务。在本文描述的示例中,依赖方120可以是本地设备或计算系统。在其他情况下,依赖方120是远程服务器、联网设备、或类似物。
21.图1a所示的认证系统100包括若干物理设备130。设备130可以是属于用户110的设备。在其他示例中,设备130是不属于用户但用户可以访问或在用户附近的物理设备。例如,设备130之一可以是用户的办公室中的、用户并不拥有的打印机。在其他示例中,设备130可以包括用户可以访问的线上服务。根据示例,所有设备130都被注册以参与到用户的认证中。
22.在本文描述的示例中,依赖方120可以向用户110发送质询或类似物。质询由设备130以将要描述的方式发出。依赖方120负责验证用户的认证尝试。
23.系统100还包括分发器140。如图1a中的箭头所示,分发器140是逻辑实体,例如计算设备,其被布置为将来自依赖方120的质询转发给每个可用设备130(如果依赖方120发送了质询)。
24.在图1a中,分发器140被示出为与设备130分离的实体。在本文描述的示例中,分发器可以是由用户110注册的设备130之一。根据其他示例,分发器140可由依赖方120实现。
25.系统100还包括组合器150。组合器150是负责将来自设备130的子集的部分认证作为输入并输出“整体”认证的逻辑实体。组合器150协调该过程,并负责认证过程中涉及的各方之间的必要通信。
26.图1b是示出根据一个示例的相同认证系统100的示意图。在图1b中,组合器150与注册设备130的子集中的每个设备通信以接收部分认证。然后,组合器150将完全认证数据传送给依赖方以对用户110进行认证。
27.在进行任何用户认证之前,用户110选择他们想要参与到认证协议中的设备。令在进行任何用户认证之前,用户110选择他们想要参与到认证协议中的设备。令表示一组被选择的设备130。对于依赖方120,用户110随后定义访问结构γ。访问结构是由用户希望被授权代表完整的一组设备进行动作的、由所有的子集组成的集合。如果用户110能提供授权设备子集,即γ中的集合,则用户110被成功认证。
28.根据本文所述的示例,访问结构γ可由包含t个或更多个设备的所有的子集组成,其中t是小于设备总数的恒定阈值数。这个阈值可以是例如,n/2。在一些示例中,可以向用户110提供针对有关的访问结构的多个选项,用户可以在其中选择,而不是选择子集来确定访问结构本身。
29.对于用户希望对他们自己进行认证的不同依赖方120,访问结构γ可以不同。例如,对于一组设备第一访问结构可以包括γ1={{电话,膝上型电脑},{膝上型电脑,手表},{膝上型电脑,平板设备},{电话,手表,平板设备}}
30.对于这种访问结构,用户110证明其拥有:(1)电话和膝上型电脑,(2)膝上型电脑和手表,(3)膝上型电脑和平板设备,或(4)电话、手表、和平板设备,以便向依赖方120进行认证。
31.对于第二依赖方,对于一组设备访问结构γ2可以由大小为3或更大的子集组成,即
32.γ2={{电话,膝上型电脑,手表},{电话,手表,平板设备},{膝上型电脑,手表,平板设备},{电话,膝上型电脑,手表,平板设备}}
33.也就是说,γ2是t=3的阈值访问结构。
34.本文描述的方法和系统可以用单调访问结构实现。单调访问结构是具有满足访问结构的集合的任何超集都满足访问结构的特性的访问结构。因此,阈值访问结构是单调访问结构的示例。
35.除了单调访问结构外,本文描述的方法和系统在以下访问结构上实现,其中,由用户注册的一组设备至少包括第一设备群组和第二设备群组,使得根据该访问结构,一组注册设备的每个被授权子集包括来自第一设备群组的至少一个设备。例如,第一设备群组可以包括由用户拥有的设备,第二群组可以包括不由用户拥有但仍然能够参与到用户的认证中的设备。这意味着由仅来自第二设备群组的设备组成的设备子集永远不是被授权子集。
36.例如,一组注册设备包括:
37.38.在这个组中,打印机不属于用户。如果第一设备群组由用户设备组成,而第二设备群组由非用户设备组成,则诸如阈值访问结构之类的访问结构(其中,被授权子集是至少两个设备的子集)将满足所描述的要求。在一些示例中,第一设备群组或第二设备群组可包括一个或多个进一步的子群组或嵌套的分层设备群组。
39.一旦用户110选择他们希望使用的设备并为依赖方120定义了访问结构,则用户110向依赖方120进行注册。向依赖方120注册用户110可取决于多个因素,包括用户110的隐私要求或依赖方120的功能。
40.例如,用户110可以注册用户110选择以参与的每个设备以及访问结构。替代地,用户110可以仅注册属于该用户的设备110的集合,因此依赖方120不了解哪些设备130涉及或负责认证;这里,对于依赖方120来说,该集合可能看起来像单个设备。
41.在注册过程期间,用户的认证令牌(例如来自公钥/私钥对的私钥)在设备130之间被分发。这种分发以这样的方式执行,即设备130的被授权子集(并且仅被授权子集)可以向依赖方120提供认证令牌或认证令牌的所有权的证明。
42.认证令牌的这种分发可通过多种方式实现。例如,用户110或外部设备可以向设备的子集中的每个设备130插入认证令牌的“份额(share)”;由中的一个设备向其他设备130发送份额,由设备130以安全方式协作并共同决定份额,使得它们不知晓彼此的份额,并且没有单个设备知晓认证令牌;或者由依赖方120向设备130发送份额。
43.一旦定义了访问结构并且用户110已向依赖方120登记,则用户110通过提供被授权的设备集合来进行认证。
44.图2是示出根据示例的对用户进行认证的方法200的框图。图2所示的方法200可以在图1所示的系统100上实现,以向依赖方120认证用户110。
45.在图2所示的方法200中,假设存在被注册以参与到用户的认证中的一组设备,并且这些设备可以访问认证令牌的份额。换句话说,前述的设置过程已经发生,并且如用户选择或定义的,在一组设备上定义了访问结构。具体地,该组注册设备包括第一设备群组和第二设备群组,使得访问结构中的每个被授权的设备子集包括来自第一设备群组的至少一个设备。
46.在框210处,响应于对用户(例如,图1a所示的用户110)进行认证的请求,接收认证质询。当在图1所示的系统100上实现方法200时,认证质询可由依赖方120随机生成。
47.在框220处,将认证质询分发给设备。这由分发器140执行。根据本文描述的示例,分发器可以是设备130中的注册设备。在这种情况下,依赖方120将质询传送给该设备,该设备将质询分发给其他注册设备130。在其他示例中,框220由依赖方120实现。在这种情况下,将质询直接分发给设备130。在另一示例中,使用专用分发设备来分发质询。
48.在框230处,在每个设备处,访问与用户相关联的认证令牌的份额。响应于设备被要求对用户进行认证而访问份额。在一个示例中,可以基于来自控制份额的管理的另一设备的指令来提示该设备访问份额。
49.在框240处,基于认证令牌和质询生成对质询的部分响应。可在设备处计算部分响应。根据示例,部分响应可包括利用质询和设备所拥有的认证令牌的份额计算一个或多个加密函数。
50.在框250处,通过组合来自设备子集的部分响应来生成对质询的响应。根据示例,
当在图1a和1b所示的系统100上实现方法200时,可在组合器150上实现该框。
51.与组合器150相关的架构的多种变体是可能的。在一种情况下,可以在用户侧实现组合器150。在这种情况下,由用户注册的设备130之一作为组合器。来自用户用于认证的设备子集中的每个设备的部分响应被传送到设备130的子集中的指定组合器设备。指定设备组合部分响应以生成对质询的响应。
52.这种架构可在组合器设备在中心的星形网络中实现或在更完全连接的网络中实现。根据示例,组合设备不必需是固定的,并且可以从一个认证会话到另一个认证会话变化。
53.在第二示例中,依赖方120充当用于设备130的组合器。子集中的每个设备分别与依赖方130单独交互,并且每个设备向依赖方130传送对质询的部分响应。依赖方被布置为通过组合部分响应来生成对质询的完全响应。
54.在第三示例中,组合器的角色被分发在设备130之间。设备130可以协调部分响应并共同将其组合成完全认证。子集中的设备协同工作来共同对用户进行认证,而不是由一个设备负责。例如,可以使用分布式账本(distributed ledger)来实现这种变体。
55.除了描述的三种架构外,还可定义其他架构。例如,可以使用混合架构,其中一些设备协作,而其他设备不协作。在其他情况下,在认证会话之间以及带有不同类型的依赖方来实现不同的组合器架构。
56.如果使用一组注册设备130中的单个设备的用户侧组合器,这允许到依赖方120的单个认证协议流,并使用户能够控制哪些设备参与到该方案中。此外,这可以向依赖方隐藏哪些设备参与到协议中。具体地,这最大化了用户110的隐私。
57.相反地,依赖方侧组合器涉及依赖方120和贡献设备130的子集之间的多个认证流。这为依赖方给出了更高水平的对于哪些设备正在参与用户认证的可见度。在某些场景下,这可能是有利的。例如,在许可在用户认证中使用某些类型的设备而不许可使用其他设备的情况下,依赖方可以能够执行该组设备是否包括许可集合的确定。用户110仍然控制设备是否参与到协议中。
58.在框260处,将对质询的响应传送给认证器。如所描述地,对于不同的架构,响应是基于子集内的设备的部分响应而被生成的。在某些情况下,对质询的完全响应由依赖方120本身生成,其已经接收到对质询的部分响应。
59.在框270处,当确定设备子集是被授权子集时,对用户进行认证。关于图1所示的系统100,在依赖方120处执行子集是否为被授权子集的确定。在一些示例中,这样的确定是隐式的:如果部分响应足以生成验证密码签名方案的响应,则设备子集是访问结构的被授权子集,否则响应将不会成功验证。这是因为这种加密签名方案的底层数学结构决定了访问结构的被授权子集:当从被授权子集获取到份额时,根据该方案来组合份额生成可验证的响应。
60.对用户进行认证取决于实现的底层加密基元的性质。这可能涉及依赖方120组合部分签名以产生群组签名,并且随后验证群组签名,验证从组合器设备接收到的多重签名,或者验证单个签名并相对于访问结构检查它们。
61.本文所述的方法和系统提供了一种安全且灵活的用户认证系统。用户认证是保护设备安全的整体机制:用户可能必须在登录之前向膝上型电脑进行认证,或者用户可能需
要在发布打印作业之前向打印机进行认证。在另一种情况下,用户可能必须向线上服务进行认证。在这种情况下,在用户的认证中,可以将打印机与膝上型电脑结合使用。该描述的方法和系统最小化了用户认证对用户的负担,并增加了包括用户附近的其他设备来对用户进行认证的灵活性,同时维持和改进了安全性。
62.由于严重依赖于认证时用户拥有或能够提供多个设备,多设备认证方法受到影响。所描述的方法和系统通过将协议中的设备概念推广到包括用户未显式拥有的设备来缓解这些问题。该系统不会损害安全性,因为这些“非用户”设备无法协作来模仿真实用户。因此,这些方法和系统在维持用户安全性的同时提供了最大的灵活性。
63.本公开中的示例可以作为方法、系统、或机器可读指令(例如,软件、硬件、固件等的任何组合)提供。这种机器可读指令可以被包括在其中或其上具有计算机可读程序代码的计算机可读存储介质(包括但不限于磁盘存储装置、cd-rom、光存储装置等)上。
64.参考根据本公开的示例的方法、设备、和系统的流程图和/或框图描述了本公开。尽管上述流程图示出了特定的执行顺序,但执行顺序可与所描述的不同。关于一个流程图描述的框可以与另一个流程图的框组合。在一些示例中,流程图的一些框可能不是必需的和/或可以添加额外的框。应理解,流程图和/或框图中的每个流程和/或框以及流程图和/或框图中的流程和/或框的组合可以通过机器可读指令实现。
65.例如,机器可读指令可由通用计算机、专用计算机、嵌入式处理器、或其他可编程数据处理设备的处理器执行,以实现说明书和附图中描述的功能。具体地,处理器或处理装置可以执行机器可读指令。因此,装置的模块可以由执行存储在存储器中的机器可读指令的处理器或者根据嵌入在逻辑电路中的指令操作的处理器来实现。术语“处理器”应被宽泛地解释为包括cpu、处理单元、asic、逻辑单元、或可编程门组等。所述方法和模块可全部由单个处理器执行或被划分在多个处理器之间。
66.这样的机器可读指令也可被存储在计算机可读存储装置中,该计算机可读存储装置可引导计算机或其他可编程数据处理设备在特定模式下操作。
67.例如,指令可被提供在非暂态计算机可读存储介质上,该存储介质编码有指令,该指令可由处理器执行。图3示出了与存储器320相关联的处理器310的示例。存储器320包括可由处理器310执行的计算机可读指令330。
68.指令330响应于对用户进行认证的请求访问认证质询;将质询发送给被注册以参与到用户认证中的一组设备的子集中的每个设备;基于与每个设备相关联的认证因子,从每个设备接收对质询的部分响应;通过组合来自设备子集的部分认证响应来生成对质询的完全认证响应;以及将质询传送给认证实体进行认证。该组注册设备包括第一设备群组和第二设备群组,使得该组注册设备的每个被授权子集包括来自第一设备群组的至少一个设备。
69.此类机器可读指令也可被加载到计算机或其他可编程数据处理设备上,以便计算机或其他可编程数据处理设备执行一系列操作来产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现流程图中的一个或多个流程和/或框图中的一个或多个框指定的功能的操作。
70.此外,本文中的教导可以通过计算机软件产品的形式实现,该计算机软件产品被存储在存储介质中并包括用于使计算机设备实现本公开示例中所记载的方法的多个指令。
71.虽然已经参考某些示例描述了方法、装置、和相关方面,但是可以在不脱离本公开的条件下做出各种修改、更改、省略、和替换。具体而言,来自一个示例的特征或框可与另一示例的特征/框组合或由另一示例的特征/框替换。
72.词语“包含”不排除权利要求中列出的元件以外的元件的存在,“一个”或“一”不排除多个,单个处理器或其他单元可以实现权利要求中所记载的多个单元的功能。
73.任何从属权利要求的特征可以与任何独立权利要求或其他从属权利要求的特征相结合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1