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

使用伴随设备的用户认证

文献发布时间:2023-06-19 09:44:49


使用伴随设备的用户认证

背景技术

存在帮助用户获取对资源的访问的智能电话应用,诸如在线网络应用或服务。根据该技术,用户尝试经由主计算设备访问资源。如本文中使用的,术语“主计算设备”用于指代在获取对资源的访问后用户将最终用来与资源交互的计算设备。如果确定访问资源需要用户认证,则调用用户认证服务。然后,用户认证服务与用户的智能电话以及在其上执行的智能电话应用交互,以执行用户认证过程。例如,响应于来自用户认证服务的一个或多个通信,在访问可以被授权之前,智能电话应用可以请求用户批准访问、对质询做出响应,等等。如果用户经由她的智能电话应用提供合适的响应,则用户认证服务将授权经由主计算设备对该资源的用户访问。前述过程依赖于用户能够定位和解锁其智能电话以与智能电话应用交互。

发明内容

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

提供了用于通过使用与移动计算设备相关联的伴随设备来执行用户认证以获取对资源的访问的方法、系统、装置和计算机程序产品。根据实施例,第一计算设备(例如,智能手表或其他伴随设备)包括安全存储器,安全存储器中存储有包括私钥和公钥的签名密钥对,公钥被注册到包括一个或多个用户认证服务器的用户认证服务。第一计算设备经由第二计算设备(例如,与第一计算设备配对的智能电话或其他移动计算设备)从用户认证服务接收用户认证请求,其中第二计算设备被连接到用户认证服务并且被无线连接到第一计算设备。第一计算设备显示与用户认证请求相关的信息,接收对用户认证请求的批准,并且向第二计算设备传输对用户认证请求的批准。第一计算设备还从第二计算设备接收令牌,其中令牌包括由第二计算设备响应于接收到对用户认证请求的批准而从用户认证服务获取的值,用私钥对令牌签名以生成签名令牌,并且将签名令牌提供给第二计算设备以随后传输给用户认证服务。签名令牌和公钥由用户认证服务可使用以确定用户认证请求将被授权。

根据替代实施例,第一计算设备(例如,智能电话或其他移动计算设备)包括安全存储器,安全存储器中存储有向包括一个或多个用户认证服务器的用户认证服务注册的个人识别码。第一计算设备从第一计算设备连接到的用户认证服务接收用户认证请求,向第一计算设备无线连接到的第二计算设备(例如,智能手表或与第一计算设备配对其他伴随设备)传输用户认证请求,并且从第二计算设备接收用户认证请求的批准。在从第二计算设备接收到用户认证请求的批准之后,第一计算设备从安全存储器中读取个人识别码并且将其传输给用户认证服务。个人认证代码由用户认证服务可使用以确定用户认证请求将被授权。

下面参考附图详细描述本发明的其他特征和优点以及本发明的各种实施例的结构和操作。注意,本发明不限于本文中描述的特定实施例。本文中提出这样的实施例仅出于说明性目的。基于本文中包含的教导,其他实施例对相关领域的技术人员将是很清楚的。

附图说明

并入本文中并且构成说明书的一部分的附图示出了本申请的实施例,并且与说明书一起进一步用于解释实施例的原理并且使得相关领域的技术人员能够制造和使用实施例。

图1是示例系统的框图,该示例系统以利用用户的移动计算设备的方式对试图经由其主计算设备获取对资源的访问的用户进行认证。

图2是根据示例实施例的示例系统的框图,该示例系统以利用通信连接到用户的移动计算设备的用户的伴随设备的方式对试图经由其主计算设备获取对资源的访问的用户进行认证。

图3是根据示例实施例的用于在伴随设备上生成和安全存储签名密钥对以及用于向认证服务注册签名密钥对的公钥以促进无密码用户认证过程的示例序列图。

图4是根据示例实施例的用于执行无密码用户认证过程的示例序列图。

图5是根据示例实施例的用于执行多因素认证(MFA)用户认证过程的示例序列图。

图6描绘了根据示例实施例的由伴随设备执行的、作为无密码用户认证过程的一部分的方法的流程图。

图7描绘了根据示例实施例的由伴随设备执行的、用于生成和安全存储签名密钥对以及用于经由移动计算设备传输公钥以在用户认证服务处注册的方法的流程图。

图8描绘了根据示例实施例的由移动计算设备执行的、作为MFA用户认证过程的一部分的方法的流程图。

图9描绘了根据示例实施例的可以由移动计算设备执行的、作为MFA用户认证过程的一部分的附加步骤的流程图。

图10是包括可以用于实现各种实施例的移动设备的示例性移动系统的框图。

图11是可以用于实现各种实施例的示例计算设备的框图。

通过以下结合附图进行的详细描述,本发明的特征和优点将变得更加明显,在附图中,相同的附图标记始终标识相应的元素。在附图中,相似的附图标记通常表示相同、功能相似和/或结构相似的元素。元素首次出现的图形由相应附图标记中最左边的数字指示。

具体实施方式

I.引言

本说明书和附图公开了结合本发明的特征的一个或多个实施例。本发明的范围不限于所公开的实施例。所公开的实施例仅例示本发明,并且所公开的实施例的修改形式也被本发明涵盖。本发明的实施例由所附权利要求书限定。

在说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以不必包括特定的特征、结构或特性。而且,这样的短语不一定是指相同的实施例。此外,当结合实施例描述特定的特征、结构或特性时,可以认为结合其他实施例(无论是否明确描述)来实现这样的特征、结构或特性在本领域技术人员的知识范围内。

在讨论中,除非另有说明,否则修饰本公开的实施例的一个或多个特征的条件或关系特性的形容词(例如,“基本上”和“大约”)被理解为表示条件或特性被定义为在针对其预期的应用的实施例的操作可接受的公差内。

很多示例性实施例描述如下。注意,本文中提供的任何节/小节标题都不旨在是限制性的。在整个本文中描述了实施例,并且在任何节/小节下可以包括任何类型的实施例。此外,在任何节/小节中公开的实施例可以以任何方式与在相同节/小节和/或不同节/小节中描述的任何其他实施例组合。

II.示例实施例

本文中描述的示例实施例涉及用于通过使用被通信连接到移动计算设备的伴随设备来执行用户认证以获取对资源的访问的技术。例如而非限制,在一种情况下,资源可以包括在线网络应用或服务,移动计算设备可以包括智能电话,并且伴随设备可以包括与智能电话配对的智能手表。

如以上“背景技术”部分中讨论的,存在帮助用户经由主计算设备获取对资源的访问的智能电话应用。如本文中使用的,术语“主计算设备”用于指代在获取对资源的访问之后用户将最终用来与资源交互的计算设备。例如,这样的应用可以使得用户能够使用无密码方法来获取对资源的访问,在该无密码方法中,用户不需要将密码输入到主计算设备中,而是依赖于由智能电话保护的凭证。替代地,这样的应用可以使得用户能够使用多因素认证(MFA)用户认证方法来访问资源,在该方法中,用户将密码输入主计算设备以提供第一认证因素,然后一个或多个附加认证因素从智能电话被获取。按照这种方法,通过要求与用户的移动设备进行更多交互来提高资源的安全性。此外,无密码方法使用户的生活更加轻松,因为他们不必记住密码即获得对资源的访问。希望如此,原因有很多,包括很多密码很复杂并且因此用户难以记住。此外,由于很多在线应用和服务现在都需要密码,并且对于什么样的密码是可接受密码具有不同规则,因此用户越来越难记住他们的每个不同密码。

为了帮助说明前述内容,现在将描述图1。具体地,图1是示例系统100的框图,该示例系统以利用用户的智能电话的方式对试图经由其主计算设备获取对资源的访问的用户进行认证。如图1所示,系统100包括全部经由一个或多个网络130被通信连接的第一计算设备110、第二计算设备102、用户认证服务108和资源端点106。系统100还包括经由资源端点106连接到网络130的资源104。

第一计算设备110旨在表示用户打算经由其访问资源104的计算设备。如上所述,该计算设备在本文中可以被称为“主计算设备”。第一计算设备110可以包括例如但不限于台式计算机、平板计算机、膝上型计算机、视频游戏机等。如图1所示,第一计算设备110包括用户可以与其交互以便获取对资源104的访问并且最终与资源104交互的网络浏览器120。为了说明起见,在图1中示出了网络浏览器120,但是本领域技术人员将理解,可以使用任何具有互联网能力的应用来促进这种交互。

第二计算设备102旨在表示用户拥有或以其他方式与用户相关联的智能电话或其他计算设备。该计算设备在本文中也可以被称为“第二计算设备”。如图1所示,第二计算设备102包括处理电路112、存储器118、安全存储器114和用户接口116。处理电路112被配置为执行存储在存储器118中的某些计算机程序,包括操作系统(OS)124和认证应用122。如下面将讨论的,认证应用122用于协助用户认证过程,该过程最终使得用户能够经由第一计算设备110获取对资源104的访问。安全存储器114被配置为存储高度敏感信息,诸如可以在上述用户认证过程中使用的一个或多个凭证。安全存储器114可以包括例如经加密的数据库。这样的经加密的数据库可以通过例如基于第二计算设备102唯一的信息并且结合用户定义的密码而获取的加密密钥来保护,但是这仅仅是一个示例。用户接口116包括用户可以用来与第二计算设备102交互的装置,并且在其中第二计算设备102是智能电话的示例中,可以包括触敏显示器和一个或多个按钮或开关。

资源104旨在表示用户希望访问并且仅允许已认证用户访问的资源。例如,资源104可以包括但不限于要求用户在获取访问之前被认证的在线网络应用或服务,但是该示例并非旨在进行限制。如本领域中已知的,这样的在线网络应用或服务可以在一个或多个计算设备上执行。

网络130旨在表示计算设备或其他电子设备之间的使得能够在其之间进行数据通信的一个或多个物理链路。网络130可以包括任何类型的网络,包括但不限于局域网(LAN)、诸如互联网等广域网(WAN)、电信网络等。网络130还可以包括一个或多个有线和/或无线网络。网络130上的通信可以使用多种公知的有线和无线网络通信协议中的任何一种来进行。

当用户希望经由第一计算设备110访问资源104时,用户可以以公知的方式与网络浏览器120交互,以使网络浏览器120向资源端点106发送访问请求。资源端点106包括一个或多个计算设备,该一个或多个计算设备操作以接收这样的访问请求并且根据与该请求相关联的用户是否被授权访问资源104来授权或拒绝对资源104的访问。如果需要用户认证来访问资源104,则在确定是授权还是拒绝对资源104的访问之前,资源端点106将调用用户认证服务108来对用户认证。同样在一个或多个计算设备上实现的用户认证服务108随后可以发起用户认证过程,以便以涉及第一计算设备110和第二计算设备102两者的方式来认证用户。

现在将描述可以被称为无密码用户认证过程的一种这样的用户认证过程。根据该过程,用户认证服务108经由网络浏览器120提示用户或者输入用户认证所需要的密码,或者选择以不需要输入这样的密码的方式执行用户认证。如果用户选择执行无密码用户认证,则用户认证服务108与在第二计算设备102上执行的认证应用122交互,以从中获取存储在安全存储器114中的用户凭证。在接收到该安全用户凭证后,用户认证服务108然后可以授权用户访问资源104。例如,用户认证服务108可以通过向资源端点106发送回合适的访问令牌来授权用户访问资源104。在接收到访问令牌后,资源端点106然后经由第一计算设备110向用户提供对资源104的访问。

认证应用122可以例如通过用存储在安全存储器114中的私有签名密钥对由用户认证服务108提供的值(例如,团块(blob)或密码随机数值)签名并且然后将签名值返回给用户认证服务108,来向用户认证服务108提供安全用户凭证。然后,用户认证服务108可以使用与私有签名密钥相对应的先前注册的公共签名密钥来验证签名值。然而,这仅是认证应用122可以向用户认证服务108提供用户凭证的方式的一个示例,并且可以使用各种其他用户凭证和技术。

在向用户认证服务108提供用户凭证之前,认证应用122要求用户通过与第二计算设备102的用户接口116的某种形式的交互来授权访问尝试。例如,可以要求用户经由用户接口116来指示访问尝试应被允许。作为另一示例,可以要求用户选择与经由第一计算设备110的网络浏览器120显示的数字或代码相同的在用户接口116上显示的数字或代码,或者提供对某个其他安全质询的响应。可以使用用于获取访问尝试的用户授权的其他方式。在第二计算设备102是智能电话的示例场景中,用户必须能够找到并且解锁其智能电话,以便与用户接口116进行这样的交互。

现在将描述替代的用户认证过程,其可以被称为多因素认证(MFA)用户认证过程。根据该过程,用户认证服务108经由网络浏览器120提示用户输入用户认证所需要的密码。密码用作第一认证因素。然后,用户认证服务108还与在第二计算设备102上执行的认证应用122交互以从中获取一个或多个附加认证因素。在该示例中,存储在安全存储器114中并且被提供给用户认证服务108的个人识别码提供附加认证因素。在接收到个人识别码后,用户认证服务108然后可以授权用户访问资源104。例如,用户认证服务108可以通过向资源端点106发送回合适的访问令牌来授权用户访问资源104。在接收到访问令牌后,资源端点106随后经由第一计算设备110向用户提供对资源104的访问。

认证应用122可以例如通过从安全存储器114中读取个人识别码并且将个人识别码传输给用户认证服务108,来将个人识别码提供给用户认证服务108。用户认证服务108然后可以将个人识别码与先前注册的个人识别码进行比较以确保它们匹配。

在向用户认证服务108提供个人识别码之前,认证应用122可以要求用户通过与第二计算设备102的用户接口116的某种形式的交互来授权访问尝试。例如,可以要求用户选择与经由第一计算设备110的网络浏览器120显示的数字或代码相同的在用户接口116上显示的数字或代码,或者提供对某个其他安全质询的响应。然而,这并不旨在是限制性的,并且可以使用用于获取访问尝试的用户授权的其他手段。同样如上文中关于无密码方法所述,在第二计算设备102是智能电话的示例场景中,用户必须能够找到并且解锁其智能电话,以便与用户接口116进行这样的交互。

如前所述,在第二计算设备102是智能电话的场景中,授权应用122辅助用户经由第一计算设备110获取对资源的访问,但是需要用户找到并且解锁智能电话以便与授权应用122交互,可能不希望如此,因为在用户认证过程发生时,用户的智能电话可能不容易被用户定位和/或解锁。例如,用户的智能电话可能被放错位置或无法被容易地拿到,或者用户可能无法找到和解锁她的智能电话。为了解决这个问题,本文中描述的实施例使得能够经由与被通信连接到智能电话的伴随设备而不是智能电话本身的用户交互来执行用户认证过程。由于伴随设备可以包括例如智能手表或其他可穿戴计算设备,因此用户可以更好和/或更容易地对其进行访问。此外,本文中描述的实施例使得能够在智能电话保持锁定状态的同时执行认证过程,这表示用户不需要找和/或解锁智能电话即可完成用户认证过程。

如本文中还将讨论的,本文中描述的实施例依赖于诸如智能电话等移动计算设备与诸如智能手表或其他可穿戴计算设备等伴随设备之间的无线通信使用存储在移动计算设备或可穿戴计算设备上的凭证来执行用户认证过程。然而,根据本文中描述的实施例,这样的凭证永远不会在移动计算设备与伴随设备之间传递。通过确保恶意方无法通过监测(或“嗅探”)移动计算设备与伴随设备之间的无线通信来获取这些凭证,该方法有利地保护了这些凭证的安全性。

为了帮助说明前述内容,现在将描述图2。具体地,图2是根据示例实施例的示例系统200的框图,该示例系统200以利用与用户的移动计算设备(例如,智能电话)配对的用户的伴随设备(例如,智能手表或其他可穿戴设备)的方式对试图经由其主计算设备获取对资源的访问的用户进行认证。如图2所示,系统200包括与图1所示相同的一些组件,并且这些组件可以以基本上相似的方式操作,现在将描述不同之处。

如图2所示,系统200的第二计算设备102代替认证应用122而将移动设备认证应用216存储在存储器118中。如将在下文中讨论的,移动设备认证应用216被配置为与在第三计算设备202上执行的伴随设备认证应用212和用户认证服务108交互以执行用户认证过程,在用户认证过程中,用户与第三计算设备202交互。此外,移动设备认证应用216被配置为在第二计算设备102处于解锁状态或锁定状态的同时,与伴随设备认证应用212和用户认证服务108交互。如本文中使用的,术语“锁定状态”用于指代其中在输入诸如生物标识符或先前注册的密码等凭证之前阻止用户访问第二计算设备102的全部功能的状态。此外,术语“解锁状态”用于指代其中允许用户访问第二计算设备102的全部功能的状态。

具体地,如图2所示,系统200还包括被通信连接到第二计算设备102的第三计算设备202。第三计算设备202旨在表示由用户拥有或以其他方式与用户相关联的并且可以与第二计算设备102通信链接的伴随计算设备,诸如智能手表或其他可穿戴计算设备。在一个实施例中,第三计算设备202经由无线连接(诸如Bluetooth连接或IEEE802.11连接)被连接到第二计算设备102。然而,这仅是示例,并且可以使用任何类型的有线或无线连接来促进第三计算设备202与第二计算设备202之间的通信。

如图2所示,第三计算设备202包括处理电路204、存储器210、安全存储器206和用户接口208。处理电路204被配置为执行存储在存储器210中的某些计算机程序,包括操作系统(OS)214和伴随设备认证应用212。如下所述,伴随设备认证应用212用于辅助用户认证过程,该用户认证过程最终将使得用户能够通过经由第二计算设备102的移动设备认证应用216与用户认证服务108交互来经由第一计算设备110获取对资源104的访问。安全存储器206被配置为存储高度敏感信息,诸如可以在上述用户认证过程中使用的一个或多个凭证。安全存储器206可以包括例如加密数据库。这样的加密的数据库可以通过例如基于第三计算设备202唯一的信息并且结合用户定义的密码而获取的加密密钥来保护,但是这仅仅是一个示例。用户接口208包括用户可以用来与第三计算设备202交互的装置,并且在第三计算设备202是智能手表的示例中,可以包括触敏显示器和一个或多个按钮。应当注意,在图2的示例实施例中,第三计算设备202处于“解锁状态”,这表示使得用户能够与第三计算设备202完全交互。例如,在第三计算设备202是智能手表的示例中,智能手表被解锁并且在用户的手腕上。

在由系统200表示的方法中,当用户希望经由第一计算设备110访问资源104时,用户可以与网络浏览器120交互以使网络浏览器120向资源端点106发送访问请求,并且如果需要用户认证来访问资源104,则在确定是授权还是拒绝对资源104的访问之前,资源端点106将调用用户认证服务108来对用户认证。但是,所执行的用户认证过程将不仅涉及计算设备110和第二计算设备102,而且还将涉及第三计算设备202。如将在下文中描述的,该方法使得用户能够在第二计算设备102保持锁定状态的同时与第三计算设备202交互。

根据图2的示例,一个这样的用户认证过程可以是无密码用户认证过程。根据该过程,用户认证服务108经由网络浏览器120提示用户输入用户认证所需要的密码或者选择以不需要输入这样的密码的方式来执行用户认证。如果用户选择执行无密码用户认证,则用户认证服务108与在第三计算设备202上执行的伴随设备认证应用212交互(经由移动设备认证应用216),以从中获取存储在安全存储器206中的用户凭证。在接收到该安全用户凭证后,用户认证服务108然后可以授权用户访问资源104。例如,用户认证服务108可以通过向资源端点106发送回合适的访问令牌来授权用户访问资源104。在接收到访问令牌后,资源端点106然后经由第一计算设备110向用户提供对资源104的访问。

伴随设备认证应用212可以例如通过用存储在安全存储器206中的私有签名密钥对包括由用户认证服务108提供的值(例如,团块或随机数值)的令牌签名并且然后经由移动设备认证应用216将签名令牌返回给用户认证服务108,来向用户认证服务108提供安全用户凭证。然后,用户认证服务108可以使用与私有签名相对应的先前注册的公共签名密钥来验证签名令牌。然而,这仅是伴随设备认证应用212可以向用户认证服务108提供用户凭证的方式的一个示例,并且可以使用各种其他用户凭证和技术。

在向用户认证服务108提供用户凭证之前,伴随设备认证应用212要求用户通过与第三计算设备202的用户接口208的某种形式的交互来授权访问尝试。例如,可以要求用户经由用户接口208简单地指示访问尝试应被允许。作为另一示例,可以要求用户选择与经由第一计算设备110的网络浏览器120显示的数字或代码相同的在用户接口208上显示的数字或代码,或者提供对某个其他安全质询的响应。可以使用用于获取访问尝试的用户授权的其他方式。在第二计算设备102是智能电话并且第三计算设备202是智能手表的示例场景中,使得用户能够通过仅与智能手表交互来执行认证过程,而不需要找或解锁智能电话。此外,私有签名密钥永远不会在智能手表与智能电话之间传递,从而增强了系统的安全性。

进一步根据图2的示例,替代的用户认证过程可以是MFA用户认证过程。根据该过程,用户认证服务108经由网络浏览器120提示用户输入用户认证所需要的密码。密码用作第一认证因素。然后,用户认证服务108还与在第三计算设备202上执行的伴随设备认证应用212交互(经由在第二计算设备102上执行的移动设备认证应用216)以获取一个或多个附加认证因素。在该示例中,存储在安全存储器114中并且被提供给用户认证服务108的个人识别码提供附加认证因素。在接收到个人识别码时,用户认证服务108然后可以授权用户访问资源104。例如,用户认证服务108可以通过向资源端点106发送回合适的访问令牌来授权用户访问资源104。在接收到访问令牌时,资源端点106随后经由第一计算设备110向用户提供对资源104的访问。

移动设备认证应用216可以例如通过从安全存储器114中读取个人识别码并且将个人识别码传输给用户认证服务108来将个人识别码提供给用户认证服务108。移动设备认证应用216可以响应于从伴随设备认证应用212接收到批准而从安全存储器114中读取个人识别码。用户认证服务108然后可以将个人识别码与先前注册的个人识别码进行比较以确保它们匹配。

在向移动设备认证应用216提供批准使得可以读取个人识别码并且将其提供给用户认证服务108之前,移动设备认证应用216可以要求用户通过与第三计算设备202的用户接口208的某种形式的交互来授权访问尝试。例如,可以要求用户选择与经由第一计算设备110的网络浏览器120显示的数字或代码相同的在用户接口208上显示的数字或代码,或者提供对某个其他安全性的响应质询。然而,这并不旨在是限制性的,并且可以使用用于获取访问尝试的用户授权的其他手段。同样如上文中关于无密码方法所述,在第二计算设备102是智能电话而第三计算设备202是智能手表的示例场景中,使得用户能够通过仅与智能手表交互来执行认证过程,而不需要找或解锁智能电话。此外,个人识别码永远不会在智能电话与智能手表之间传递,从而增强了系统的安全性。

前述方法可以以各种方式来执行。现在将参考图3描述实施例如何根据前述技术进行操作的具体示例。具体地,图3是根据示例实施例的用于在配对设备上生成和安全存储签名密钥对以及用于向认证服务注册签名密钥对的公钥以促进无密码用户认证过程的示例序列图300。如图3所示,序列图300示出了上面参考图2描述的各种组件之间的交互。具体地,序列图300示出了第三计算设备202与第二计算设备102之间以及第二计算设备102与用户认证服务108之间的交互。

如图3所示,在第三计算设备202上执行的伴随设备认证应用212生成签名密钥对(302),其中签名密钥对包括私钥和公钥。

在一个实施例中,仅在个人识别码(诸如PIN)已经针对第三计算设备202被启用的情况下,伴随设备认证应用212才执行操作(302)。解锁第三计算设备202并且与伴随设备认证应用212交互可能需要这样的个人识别码。通过要求在执行操作之前启用这样的个人识别码(302),实施例从而确保了在与伴随设备认证应用212交互以执行前述无密码用户认证过程之前要求用户输入个人识别码。

进一步根据这样的实施例,如果在某个稍后的时间点,伴随设备认证应用312确定个人识别码已经针对第三计算设备202被禁用,则伴随设备认证应用可以删除签名密钥对。再次,这确保了仅当在用户可以与伴随设备认证应用212交互之前第三计算设备202要求输入个人识别码的情况下,无密码用户认证过程才有用。

进一步根据该示例,在第三计算设备202上执行的伴随设备认证应用312向在第二计算设备102上执行的移动设备认证应用212传输公钥(304),使得可以向用户认证服务108注册公钥。公钥可以以各种方式来注册。例如,如图3所示,移动设备认证应用212首先获取某个用户认证输入并且将其提供给用户认证服务108(306)。用户认证输入可以包括提供强认证的用户输入。响应于接收到用户认证输入,用户认证服务108向移动设备认证应用212提供限时令牌(308)。然后,移动设备认证应用212利用限时令牌向用户认证服务108传输注册公钥的请求(310)。在实施例中,该请求可以包括限时令牌以及公钥。用户认证服务108然后注册公钥。

一旦公钥已经由用户认证服务108注册,则用户认证服务108生成服务器密钥标识符并且将其传输给在第二计算设备102上执行的移动设备认证应用(312)。服务器密钥标识符可以包括由用户认证服务108维护并且可以在与之进行的未来通信中使用、以标识公钥的公钥的标识符。服务器密钥标识符可能比公钥本身短得多,并且在后续通信中使用它可以提高效率。响应于接收到服务器密钥标识符,第二计算设备102将服务器密钥标识符转发给第三计算设备202(314)。然后,第三计算设备202存储签名密钥对、其本地标识符和服务器密钥标识符(316)。

在图3的示例之后,图4是根据示例实施例的用于执行无密码用户认证过程的示例序列图400。如图4所示,用户认证服务108向第二计算设备102传输用户认证请求,并且在其上执行的操作系统124将用户认证请求传递给在第三计算设备202上执行的操作系统214(402)。然后,操作系统214将用户认证请求传递给伴随设备认证应用212。

如图4进一步所示,在第三计算设备202上执行的伴随设备认证应用212向在第二计算设备102上执行的移动设备认证应用216传输对用户认证请求的批准(404)。例如,并且参考图2,伴随设备认证应用212可以经由用户接口208向用户显示与用户认证请求相关的信息,使得用户可以批准或拒绝用户认证请求。在一个实施例中,用户认证请求可以包括质询,使得对用户认证请求的批准包括用户对质询的响应。

响应于接收到批准,在第二计算设备102上执行的移动设备认证应用216向用户认证服务108发送值请求(406)。响应于接收到值请求,用户认证服务108向在第二计算设备102上执行的移动设备认证应用216传输值(408)。在一个实施例中,该值可以包括密码随机数值,尽管该示例并非旨在是限制性的。

如图4进一步所示,响应于接收到该值,在第二计算设备102上执行的移动设备认证应用216向在第三计算设备202上执行的伴随设备认证应用212发送令牌(410),其中令牌包括该值。在第三计算设备202上执行的伴随设备认证应用212用安全存储的私有签名密钥对令牌签名(412),然后向在第二计算设备102上执行的移动设备认证应用216传输签名令牌(414)。然后,移动设备认证应用216向用户认证服务108传输签名令牌(416)。用户认证服务108利用签名令牌和公钥来确定是否要授权用户认证请求。

在一个实施例中,用户认证服务108使用公钥来验证签名令牌。如果签名令牌被验证,则无密码用户认证被视为成功。如图4所示,响应于成功的用户认证,用户认证服务108生成成功消息并且将其传输给在第二计算设备102上执行的操作系统124(418),该操作系统124将成功消息转发给在第三计算设备202上执行的操作系统214(420)。

如上所述,各种用户认证过程可以用于认证用户。现在将参考图5描述实施例如何根据前述技术进行操作的另一示例。具体地,图5是根据示例实施例的用于执行多因素认证(MFA)用户认证过程的示例序列图500。如图5所示,序列图500示出了以上参考图2-4描述的各种组件之间的交互。具体地,序列图500示出了第三计算设备202与第二计算设备102之间以及第二计算设备102与用户认证服务108之间的交互。

如图5所示,用户认证服务108向第二计算设备102传输用户认证请求并且在其上执行的操作系统124将用户认证请求传递给在第三计算设备202上执行的操作系统124(502)。然后,操作系统214将用户认证请求传递给伴随设备认证应用212。

如图5进一步所示,在第三计算设备202上执行的伴随设备认证应用212向在第二计算设备102上执行的移动设备认证应用216传输用户认证请求的批准(504)。例如,并且参考图2,伴随设备认证应用212可以经由用户接口208向用户显示与用户认证请求相关的信息,使得用户可以批准或拒绝用户认证请求。在某些实施例中,获取用户的批准还可能需要用户对安全质询做出响应。

响应于接收到批准,在第二计算设备102上执行的移动设备认证应用216向用户认证服务108传输认证细节请求(506)。认证细节请求可以表示获取为读取安全存储在第二计算设备102上的个人识别码所需要的附加细节的请求。如图5所示,响应于接收到认证细节请求,用户认证服务108将认证细节传输给第二计算设备102(508)。在替代实施例中,可能不需要认证细节,并且在第二计算设备102上执行的移动设备认证应用216可以在接收到批准之后立即从安全存储器中读取个人识别码。

如图5进一步所示,响应于接收到认证细节,在第二计算设备102上执行的移动设备认证应用216从安全存储器114中读取个人识别码(510)。然后,移动设备认证应用216将个人识别码作为查验请求的一部分传输给用户认证服务108(512)。然后,用户认证服务108通过将个人识别码与先前存储的个人识别码的副本进行比较来查验个人识别码。如果代码匹配,则个人识别码通过查验,并且用户认证服务108向在第二计算设备102上执行的移动设备认证应用216发送个人识别码有效响应(514)。

响应于接收到有效响应,在第二计算设备102上执行的移动设备认证应用216向用户认证服务108传输认证结果请求(516)。在接收到认证结果请求时,用户认证服务108生成成功消息并且将其传输给在第二计算设备102上执行的操作系统124(518)。然后,在第二计算设备102上执行的操作系统124将成功消息提供给在第三计算设备202上执行的操作系统214(520)。

图6描绘了根据示例实施例的由伴随设备执行的、作为无密码用户认证过程的一部分的方法的流程图600。流程图600的方法可以例如由以上参考图2和图4描述的第三计算设备202执行。

如图6所示,流程图600的方法开始于步骤602,在步骤602,经由第二计算设备从用户认证服务接收用户认证请求,其中第二计算设备被连接到用户认证服务并且被无线连接到第一计算设备。例如,并且继续参考图2和图4,第二计算设备102被连接到用户认证服务108并且被无线连接到第三计算设备202,使得能够经由第二计算设备102从用户认证服务108接收用户认证请求。如上所述,第二计算设备102可以是以各种方式被无线连接到第三计算设备202,诸如但不限于Bluetooth或IEEE 802.11连接。在实施例中,用户认证请求可以包括质询,诸如要求用户选择与经由第一计算设备110的网络浏览器120显示的数字或代码相同的在用户接口208上显示的数字或代码,或者提供对某种其他安全质询的响应。

在步骤604,显示与用户认证请求相关的信息。例如,并且继续参考图2和图4,与用户认证请求相关的信息经由用户接口208被显示给用户。该信息可以包括用于用户批准的提示和/或对安全质询的响应。

在步骤606,接收用户认证请求的批准。例如,并且继续参考图2和图4,经由用户接口208从用户接收批准,并且将批准传输给第三计算设备202。在用户认证请求包括质询的实施例中,批准可以包括对质询的用户响应。

在步骤608,将用户认证请求的批准传输给第二计算设备以随后传输给用户认证服务。例如,并且继续参考图4,经由第二计算设备102将批准从第三计算设备202传输给用户认证服务108。

在步骤610,从第二计算设备接收令牌,该令牌包括由第二计算设备响应于接收到对用户认证请求的批准而从用户认证服务获取的值。例如,并且继续参考图4,值由第二计算设备102从用户认证服务108获取并且作为令牌的一部分而被传输给第三计算设备202。如上所述,该值可以包括密码随机数值或某个其他值。

在步骤612,用私钥对令牌签名以生成签名令牌。例如,并且继续参考图4,第三计算设备202对令牌签名以生成签名令牌。

在步骤614,将签名令牌提供给第二计算设备以随后传输给用户认证服务,签名令牌和公钥由用户认证服务可使用以确定用户认证请求将被授权。例如,并且参考图3和图4,第三计算设备202将签名令牌408提供给第二计算设备102,并且第二计算设备102将签名令牌408传输给用户认证服务108。用户认证服务108然后使用签名令牌和公钥304来确定用户认证请求是否将被授权。

如上所述,在使用无密码过程之前,必须生成签名密钥对,使得第三计算设备202可以安全存储签名密钥对并且公钥可以被注册到用户认证服务108。例如,图7描绘了根据示例实施例的由伴随设备执行的用于生成和安全存储签名密钥对以及用于经由移动计算设备传输公钥以在用户认证服务处注册的方法的流程图700。流程图700的方法可以例如由以上参考图2和图3描述的第三计算设备202执行。

如图7所示,流程图700的方法开始于步骤702,在步骤702,生成签名密钥对。例如,并且继续参考图2和图5,伴随设备认证应用212生成签名密钥对。在一个实施例中,仅在个人识别码已经针对第三计算设备202被启用的情况下,伴随设备认证应用212才生成签名密钥对。

在步骤704,将签名密钥对存储在第一计算设备的安全存储器中。例如,并且继续参考图2和图3,签名密钥对被存储在第三计算设备202的安全存储器206中。在其中仅在个人识别码针对第三计算设备202被启用的情况下才生成签名密钥对的实施例中,响应于确定个人识别码已经针对第三计算设备202被禁用,删除签名密钥对。

在步骤706,将公钥传输给第二计算设备,使得第二计算设备可以向用户认证服务注册公钥。例如,并且继续参考图2和图3,第三计算设备202向第二计算设备102传输公钥,使得第二计算设备202能够向用户认证服务108注册公钥。第二计算设备102可以以各种方式注册公钥。例如,如图3所示,第二计算设备102可以首先获取用户认证输入并且将其提供给用户认证服务108。第二计算设备102还可以响应于提供用户认证输入而从用户认证服务108接收限时令牌并且利用限时令牌传输向用户认证服务108注册公钥的请求。

如上所述,本文中的实施例描述了各种用户认证过程。例如,图8描绘了根据示例实施例的由移动计算设备执行的、作为MFA用户认证过程的一部分的方法的流程图800。流程图800的方法可以例如由上面参考图2图5所述的第二计算设备102执行。

如图8所示,流程图800的方法开始于步骤802,在步骤802,从第一计算设备被连接到的用户认证服务接收用户认证请求。例如,并且继续参考图5,第二计算设备102被连接到用户认证服务108,使得从用户认证服务108接收用户认证请求。

在步骤804,将用户认证请求传输给第一计算设备被无线连接到的第二计算设备。例如,并且继续参考图2和图5,将用户认证请求传输给第二计算设备102被无线连接到的第三计算设备202。如上所述,第二计算设备102可以以各种方式被无线连接到第三计算设备202,诸如通过Bluetooth或IEEE 802.11连接。

在步骤806,从第二计算设备接收对用户认证请求的批准。例如,并且继续参考图2和图5,从第三计算设备202接收批准。

在步骤808,在从第二计算设备接收到对用户认证请求的批准之后,从安全存储器中读取个人识别码,并且将其传输给用户认证服务,个人识别码由用户认证服务可使用以确定用户认证请求将被授权。例如,并且继续参考图2和图5,第二计算设备102从安全存储器114中读取个人识别码,并且可以将个人识别码传输给用户认证服务108。如上所述,个人识别码由用户认证服务108可使用以确定用户认证请求是否将被授权。

如上所述,在读取个人识别码之前,可能需要读取附加细节。例如,图9描绘了根据示例实施例的可以由移动计算设备执行的、作为MFA用户认证过程的一部分的附加步骤的流程图900。流程图900的方法可以例如由如上面参考图5所述的第二计算设备102执行。

如图9所示,流程图900的方法开始于步骤902,在步骤902,响应于从第二计算设备接收到对用户认证请求的批准,向用户认证服务传输认证细节请求。例如,并且继续参考图5,认证细节请求从第二计算设备102被传输到用户认证服务108。

在步骤904,从用户认证服务接收认证细节,认证细节指示必须提供个人识别码。例如,并且继续参考图5,认证细节从用户认证服务108被传输到第二计算设备102。

在步骤906,响应于接收到认证细节,从安全存储器中读取个人识别码并且将其传输给用户认证服务。例如,并且继续参考图5,响应于第二计算设备102接收到认证细节,第二计算设备102从安全存储器中读取个人识别码并且将其传输给用户认证服务108。

III.示例移动和固定设备实施例

本文中描述的实施例可以以硬件或与软件和/或固件相结合的硬件来实现。例如,本文中描述的实施例可以被实现为被配置为在一个或多个处理器中执行并且存储在计算机可读存储介质中的计算机程序代码/指令。替代地,本文中描述的实施例可以被实现为硬件逻辑/电路协调。

如本文所述,所描述的实施例(包括诸如图1的系统100、图2的系统200、图3的序列图300、图4的序列图400和图5的序列图500、连同其任何组件和/或其子组件、以及本文中描述的流程图表/流程图的任何操作和部分和/或本文中描述的其他示例)可以以硬件或具有软件和/或固件的任何组合的硬件来实现,包括实现为被配置为在一个或多个处理器中执行并且存储在计算机可读存储介质中的计算机程序代码,或者实现为硬件逻辑/电路系统,诸如一起在片上系统(SoC)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)中实现。SoC可以包括集成电路芯片,该集成电路芯片包括处理器(例如,微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口、和/或其他电路和/或嵌入式固件中的一种或多种以执行其功能。

本文中描述的实施例可以在类似于固定或移动计算机实施例中的移动系统和/或计算设备的一个或多个计算设备中实现,包括本文中描述的移动系统和/或计算设备的一个或多个特征、以及替代特征。本文中提供的移动系统和计算设备的描述被提供用于说明的目的,而非旨在是限制性的。如相关领域技术人员所知,实施例可以在其他类型的计算机系统中实现。

图10是包括可以实现本文中描述的实施例的移动设备1002的示例性移动系统1000的框图。例如,在前面的部分中,移动设备1002可以用于实现任何系统、客户端或设备或其组件/子组件。如图10所示,移动设备1002包括各种可选的硬件和软件组件。移动设备1002中的任何组件都可以与任何其他组件通信,尽管为了便于说明并未示出所有连接。移动设备1002可以是多种计算设备中的任何一种(例如,蜂窝电话、智能电话、手持计算机、个人数字助理(PDA)等),并且可以允许与一个或多个移动通信网络1004(诸如蜂窝或卫星网络)进行无线双向通信,或者与局域网或广域网通信。

移动设备1002可以包括用于执行诸如信号编码、数据处理、输入/输出处理、电源控制和/或其他功能的控制器或处理器1010(例如,信号处理器、微处理器、ASIC或其他控制和处理逻辑电路系统)。操作系统1012可以控制移动设备1002的组件的分配和使用,并且为一个或多个应用程序1014(也被称为“应用”或“app”)提供支持。应用程序1014可以包括普通的移动计算应用(例如,电子邮件应用程序、日历、联系人管理器、网络浏览器、消息收发应用)和任何其他计算应用(例如,文字处理应用、地图绘制应用、媒体播放器应用)。

移动设备1002可以包括存储器1020。存储器1020可以包括不可移除存储器1022和/或可移除存储器1024。不可移除存储器1022可以包括RAM、ROM、闪存、硬盘或其他公知的存储器设备或技术。可移除存储器1024可以包括在GSM通信系统中公知的闪存或订户身份模块(SIM)卡、或诸如“智能卡”等其他公知的存储器设备或技术。存储器1020可以用于存储用于运行操作系统1012和应用程序1014的数据和/或代码。示例数据可以包括网页、文本、图像、声音文件、视频数据、或者要经由一个或多个有线或无线网络向一个或多个网络服务器或其他设备发送和/或从其接收的其他数据。存储器1020可以用于存储订户标识符(诸如国际移动订户身份(IMSI))、以及设备标识符(诸如国际移动设备标识符(IMEI))。这样的标识符可以被传输到网络服务器以标识用户和设备。

很多程序可以存储在存储器1020中。这些程序包括操作系统1012、一个或多个应用程序1014、以及其他程序模块和程序数据。这样的应用程序或程序模块的示例可以包括例如用于实现以下中的一项或多项的计算机程序逻辑(例如,计算机程序代码或指令):图1的系统100、图2的系统200、图3的序列图300、图4的序列图400和图5的序列图500、连同其任何组件和/或其子组件、以及本文中描述的流程图表/流程图的任何操作和部分和/或本文中描述的其他示例。

移动设备1002可以支持一个或多个输入设备1030(诸如触摸屏1032、麦克风1034、相机1036、物理键盘1038和/或轨迹球1040)、以及一个或多个输出设备1050(诸如扬声器1052和显示器1054)。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。某些设备可以提供一个以上的输入/输出功能。例如,触摸屏1032和显示器1054可以组合在单个输入/输出设备中。输入设备1030可以包括自然用户接口(NUI)。

如本领域中公知的,一个或多个无线调制解调器1060可以耦合到(多个)天线(未示出),并且可以支持处理器1010与外部设备之间的双向通信。调制解调器1060被一般性地示出,并且可以包括用于与移动通信网络1004和/或其他基于无线电的调制解调器(例如,Bluetooth 1064和/或Wi-Fi 1062)通信的蜂窝调制解调器1066。至少一个无线调制解调器1060通常被配置为与一个或多个蜂窝网络通信,诸如用于单个蜂窝网络内、蜂窝网络之间、或移动设备与公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络。

移动设备1002还可以包括至少一个输入/输出端口1080、电源1082、卫星导航系统接收器1084(诸如全球定位系统(GPS)接收器)、加速度计1086和/或物理连接器1090,物理连接器1090可以是USB端口、IEEE 1394(FireWire)端口和/或RS-232端口。移动设备1002的所示组件不是必需的或者是全部包括性的,因为可以删除任何组件,并且可以添加其他组件,如本领域技术人员将认识到的。

在一个实施例中,移动设备1002被配置为实现本文中的流程图表/实施例的任何上述特征。用于执行本文中描述的任何操作、步骤和/或功能的计算机程序逻辑可以存储在存储器1020中并且由处理器1010执行。

图11是可以用于实现各种实施例的示例计算设备的框图。例如,本文中描述的实施例可以在类似于固定或移动计算机实施例中的计算设备1100的一个或多个计算设备中实现,包括计算设备1100的一个或多个特征和/或替代特征。本文中提供的对计算设备1100的描述是出于说明的目的而提供的,并且不意图是限制性的。如相关领域技术人员所知,实施例可以在其他类型的计算机系统和/或游戏控制台等中实现。

如图11所示,计算设备1100包括一个或多个处理器(被称为处理器电路1102)、系统存储器1104和总线1106,总线1106将包括系统存储器1104在内的各种系统组件耦合到处理器电路1102。处理器电路1102是在一个或多个物理硬件电路设备元件和/或集成电路设备(半导体材料芯片或管芯)中实现为中央处理单元(CPU)、微控制器、微处理器和/或其他物理硬件处理器电路的电和/或光电路。处理器电路1102可以执行存储在计算机可读介质中的程序代码,诸如操作系统1130、应用程序1132、其他程序1134等的程序代码。总线1106表示使用各种总线架构中的任何一种的几种类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及处理器或本地总线。系统存储器1104包括只读存储器(ROM)1108和随机存取存储器(RAM)1110。基本输入/输出系统1112(BIOS)存储在ROM 1108中。

计算设备1100还具有以下驱动器中的一种或多种:用于读取和写入硬盘的硬盘驱动器1114、用于读取或写入可移除磁盘1118的磁盘驱动器1116、和用于读取或写入可移除光盘1122(诸如CD ROM、DVD ROM或其他光学介质)的光盘驱动器1120。硬盘驱动器1114、磁盘驱动器1116和光盘驱动器1120分别通过硬盘驱动器接口1124、磁盘驱动器接口1126和光盘驱动器接口1128连接到总线1106。驱动器及其关联的计算机可读介质为计算机提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管描述了硬盘、可移除磁盘和可移除光盘,但是可以使用其他类型的基于硬件的计算机可读存储介质来存储数据,诸如闪存卡、数字视频磁盘、RAM、ROM和其他硬件存储介质。

多个程序模块可以存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统1030、一个或多个应用程序1032、其他程序1034和程序数据1036。应用程序1032或其他程序1034可以包括例如用于实现本文中描述的实施例的计算机程序逻辑(例如,计算机程序代码或指令),诸如图1的系统100、图2的系统200、图3的序列图300、图4的序列图400和图5的序列图500、连同其任何组件和/或其子组件、以及本文中描述的流程图表/流程图的任何操作和部分和/或本文中描述的其他示例。

用户可以通过诸如键盘1138和指示设备1140等输入设备将命令和信息输入到计算设备1100中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏手柄、碟形卫星天线、扫描仪、触摸屏和/或触摸板、用于接收语音输入的语音识别系统、用于接收手势输入的手势识别系统等。这些和其他输入设备通常通过耦合到总线1106的串行端口接口1142连接到处理器电路1102,但是可以通过诸如并行端口、游戏端口或通用串行总线(USB)等其他接口连接。

显示屏1144也经由诸如视频适配器1146等接口连接到总线1106。显示屏1144可以在计算设备1100外部或并入计算设备1100中。显示屏1144可以显示信息,并且是用于接收用户命令和/或其他信息(例如,通过触摸、手指手势、虚拟键盘等)的用户接口。除了显示屏1144,计算设备1100还可以包括其他外围输出设备(未示出),诸如扬声器和打印机。

计算设备1100通过适配器或网络接口1150、调制解调器1152、或用于通过网络建立通信的其他装置连接到网络1148(例如,互联网)。可以是内部的或外部的调制解调器1152可以经由串行端口接口1142连接到总线1106,如图11所示,或者可以使用包括并行接口在内的另一种接口类型连接到总线1106。

如本文中使用的,术语“计算机程序介质”、“计算机可读介质”和“计算机可读存储介质”用于指代物理硬件介质,诸如与硬盘驱动器1114相关联的硬盘、可移除磁盘1118、可移除光盘1122、其他物理硬件介质,诸如RAM、ROM、闪存卡、数字视频磁盘、zip磁盘、MEM、基于纳米技术的存储设备、以及其他类型的物理/有形硬件存储介质(包括图11的存储器1120)。这样的计算机可读介质和/或存储介质与通信介质和传播信号区别并且不重叠(不包括通信介质和传播信号)。通信介质在诸如载波等调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据。术语“调制数据信号”是指具有以能够将信息编码为信号的方式来设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括无线介质(诸如声学、RF、红外和其他无线介质)以及有线介质。实施例还涉及这样的通信介质,其与涉及计算机可读存储介质的实施例分开并且不重叠。

如上所述,计算机程序和模块(包括应用程序1132和其他程序1134)可以存储在硬盘、磁盘、光盘、ROM、RAM或其他硬件存储介质上。这样的计算机程序也可以经由网络接口1150、串行端口接口1142或任何其他接口类型来接收。当由应用执行或加载时,这样的计算机程序使得计算设备1100能够实现本文中讨论的实施例的特征。因此,这样的计算机程序表示计算设备1100的控制器。

实施例还涉及包括存储在任何计算机可读介质或计算机可读存储介质上的计算机代码或指令的计算机程序产品。这样的计算机程序产品包括硬盘驱动器、光盘驱动器、存储设备包、便携式存储棒、存储卡、以及其他类型的物理存储硬件。

IV.附加的示例性实施例

一种系统,包括第一计算设备。所述第一计算设备包括:处理电路;被连接到所述处理电路的安全存储器,所述安全存储器存储包括私钥和公钥的签名密钥对,所述公钥被注册到包括一个或多个用户认证服务器的用户认证服务;以及被连接到所述处理电路的存储器,所述存储器存储计算机程序指令,所述计算机程序指令由所述处理电路可执行以使所述处理电路:经由第二计算设备从所述用户认证服务接收用户认证请求,所述第二计算设备被连接到所述用户认证服务并且被无线连接到所述第一计算设备;显示与所述用户认证请求相关的信息;接收对所述用户认证请求的批准;向所述第二计算设备传输对所述用户认证请求的所述批准;从所述第二计算设备接收令牌,所述令牌包括由所述第二计算设备响应于接收到所述用户认证请求的所述批准而从所述用户认证服务获取的值;用所述私钥对所述令牌签名以生成签名令牌;以及将所述签名令牌提供给所述第二计算设备以随后传输给所述用户认证服务,所述签名令牌和所述公钥由所述用户认证服务可使用以确定所述用户认证请求将被授权。

在前述系统的一个实施例中,所述用户认证请求包括质询,并且其中对所述用户认证请求的所述批准包括对所述质询的用户响应。

在前述系统的另一实施例中,所述第一计算设备包括可穿戴计算设备。

进一步根据这样的实施例,所述可穿戴计算设备包括智能手表。

在前述系统的又一实施例中,所述可穿戴计算设备处于解锁状态。

在前述系统的另一实施例中,所述第二计算设备包括智能电话。

在前述系统的又一实施例中,所述智能电话处于锁定状态。

在前述系统的又一实施例中,所述第一计算设备经由Bluetooth连接被无线连接到所述第二计算设备。

在前述系统的另一实施例中,所述第一计算设备经由IEEE 802.11连接无线连接到所述第二计算设备。

在前述系统的又一实施例中,所述值包括密码随机数值。

在前述系统的另一实施例中,所述系统还包括所述第二计算设备;其中所述计算机程序指令还由所述处理电路可执行以使所述处理电路:生成所述签名密钥对;将所述签名密钥对存储在所述安全存储器中;以及向所述第二计算设备传输所述公钥;并且其中所述第二计算设备被配置为:向所述用户认证服务注册所述公钥。

在前述系统的又一实施例中,所述计算机程序指令还由所述处理电路可执行以使所述处理电路:仅在个人识别码已经针对所述第一计算设备被启用的情况下,生成所述签名密钥对。

在前述系统的又一实施例中,所述计算机程序指令还由所述处理电路可执行以使所述处理电路:响应于确定所述个人识别码已经针对所述第一计算设备被禁用而删除所述签名密钥对。

在前述系统的又一实施例中,所述第二计算设备被配置为通过以下方式向所述用户认证服务注册所述公钥:获取用户认证输入;向所述用户认证服务提供所述用户认证输入;响应于提供所述用户认证输入而从所述用户认证服务接收限时令牌;以及利用所述限时令牌向所述用户认证服务注册所述公钥。

本文中还描述了一种包括第一计算设备的另一系统。所述第一计算设备,包括:处理电路;被连接到所述处理电路的安全存储器,所述安全存储器存储个人识别码,所述个人识别码被注册到包括一个或多个用户认证服务器的用户认证服务;被连接到所述处理电路的存储器,所述存储器存储计算机程序指令,所述计算机程序指令由所述处理电路可执行以使所述处理电路:从所述第一计算设备被连接到的所述用户认证服务接收用户认证请求;向所述第一计算设备被无线连接到的第二计算设备传输所述用户认证请求;从所述第二计算设备接收对所述用户认证请求的批准;以及在从所述第二计算设备接收到所述用户认证请求的所述批准之后,从所述安全存储器中读取所述个人识别码并且向所述用户认证服务传输所述个人识别码,所述个人识别码由所述用户认证服务可使用以确定所述用户认证请求将被授权。

在前述系统的另一实施例中,所述计算机程序指令还由所述处理电路可执行以使所述处理电路:响应于从所述第二计算设备接收到对所述用户认证请求的所述批准而向所述用户认证服务传输认证细节请求;从所述用户认证服务接收认证细节,所述认证细节指示必须提供所述个人识别码;以及响应于接收到所述认证细节而从所述安全存储器中读取所述个人识别码并且向所述用户认证服务传输所述个人识别码。

在前述系统的又一实施例中,所述第二计算设备包括可穿戴计算设备。

在前述系统的又一实施例中,所述可穿戴计算设备包括智能手表。

在前述系统的又一实施例中,所述可穿戴计算设备处于解锁状态。

在前述系统的又一实施例中,所述第一计算设备包括智能电话。

在前述系统的又一实施例中,所述智能电话处于锁定状态。

在前述系统的又一实施例中,所述第一计算设备经由Bluetooth连接被无线连接到所述第二计算设备。

在前述系统的又一实施例中,所述第一计算设备经由IEEE 802.11连接被无线连接到所述第二计算设备。

本文中还描述了一种在第一计算设备中的的方法,所述第一计算设备存储包括私钥和公钥的签名密钥对,所述公钥被注册到包括一个或多个用户认证服务器的用户认证服务。所述方法包括:经由第二计算设备从所述用户认证服务接收用户认证请求,所述第二计算设备被连接到所述用户认证服务并且被无线连接到所述第一计算设备;显示与所述用户认证请求相关的信息;接收对所述用户认证请求的批准;向所述第二计算设备传输对所述用户认证请求的所述批准;从所述第二计算设备接收令牌,所述令牌包括由所述第二计算设备响应于接收到对所述用户认证请求的所述批准而从所述用户认证服务获取的值;用所述私钥对所述令牌签名以生成签名令牌;以及将所述签名令牌提供给所述第二计算设备以随后传输给所述用户认证服务,所述签名令牌和所述公钥由所述用户认证服务可使用以确定所述用户认证请求将被授权。

在前述方法的另一实施例中,所述用户认证请求包括质询,并且其中所述用户认证请求的所述批准包括对所述质询的用户响应。

在前述方法的又一实施例中,所述第一计算设备包括可穿戴计算设备。

在前述方法的又一实施例中,所述可穿戴计算设备处于解锁状态。

在前述方法的又一实施例中,所述第二计算设备包括智能电话。

在前述方法的又一实施例中,所述智能电话处于锁定状态。

在前述方法的又一实施例中,所述第一计算设备经由Bluetooth连接被无线连接到所述第二计算设备。

在前述方法的又一实施例中,所述第一计算设备经由IEEE 802.11连接被无线连接到所述第二计算设备。

在前述方法的又一实施例中,所述值包括密码随机数值。

在前述方法的又一实施例中,所述方法还包括:生成所述签名密钥对;将所述签名密钥对存储在所述第一计算设备的安全存储器中;以及向所述第二计算设备传输所述公钥使得所述第二计算设备能够向所述用户认证服务注册所述公钥。

在前述方法的又一实施例中,仅在个人识别码已经针对所述第一计算设备被启用的情况下,生成所述签名密钥对。

在前述方法的又一实施例中,响应于确定所述个人识别码已经针对所述第一计算设备被禁用而删除所述签名密钥对。

V.结论

尽管上面已经描述了本发明的各种实施例,但是应当理解,它们仅以示例的方式而非限制的方式给出。相关领域的技术人员将理解,在不脱离所附权利要求书中限定的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本发明的广度和范围不应当由任何上述示例性实施例限制,而应当仅根据所附权利要求及其等同物来限定。

相关技术
  • 使用伴随设备的用户认证
  • 用于具有使用和不使用低功率伴随接收机操作的设备的系统的下行链路复用和MAC信令
技术分类

06120112284666