CN113692584A - 使用安全范围检测与设备进行远程交互 - Google Patents

使用安全范围检测与设备进行远程交互 Download PDF

Info

Publication number
CN113692584A
CN113692584A CN202080028656.8A CN202080028656A CN113692584A CN 113692584 A CN113692584 A CN 113692584A CN 202080028656 A CN202080028656 A CN 202080028656A CN 113692584 A CN113692584 A CN 113692584A
Authority
CN
China
Prior art keywords
interaction
computing device
user
ranging
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080028656.8A
Other languages
English (en)
Inventor
A·R·莱德维思
W·本森
M·J·克罗克玛
J·J·亚罗奇
J·V·豪克
M·布鲁尔
M·D·阿德勒
Y·L·塞拉
L·西科拉
J·玛格丽托夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/388,831 external-priority patent/US11250118B2/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN113692584A publication Critical patent/CN113692584A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • H04W12/64Location-dependent; Proximity-dependent using geofenced areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Social Psychology (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在一些实施方案中,第一设备执行测距操作以允许用户在该第一设备上执行一个或多个操作而不提供设备访问凭据。例如,当第二设备在该第一设备的第一距离内时,该第一设备确定该第二设备与被授权在该第一设备上执行操作的第一用户账户相关联。响应于该确定,该第一设备启用至少一个替代交互(例如,无密码UI交互)以允许访问在该第一设备上执行的这些操作,而无需通过用户界面接收访问凭据。响应于检测到发生该替代交互,在该第一设备上授权该操作。

Description

使用安全范围检测与设备进行远程交互
相关申请的交叉引用
本申请是2018年6月1日提交的美国专利申请15/996,413的部分继续申请,其要求2017年6月4日提交的美国临时专利申请62/514,897的权益,并且本申请是2017年4月26日提交的美国专利申请15/497,203的部分继续申请,其要求2017年6月6日提交的美国临时专利申请62/349,029的权益,所有这些专利申请据此全文以引用方式并入以用于所有目的。
技术领域
本说明书整体涉及修改设备的安全状态,包括利用安全范围检测来修改设备的安全状态。
背景技术
为了提供安全性和便利性的平衡,可信设备(例如,密钥卡、移动设备、可穿戴设备等)可用于解锁(或以其他方式修改安全状态)目标设备。例如,锁定的目标设备可在可信设备的存在下自动解锁,或者可以其他方式接受来自可信设备的命令(例如,经由用户输入)以解锁目标设备,从而允许用户避免必须与目标设备手动交互以将其解锁。
许多此类设备通过各种无线协议(例如,蓝牙、Wi-Fi等)彼此通信,以在解锁目标设备之前验证目标设备的接近度。然而,尤其是就无线协议而言,设备之间的通信易受攻击者的影响,这些攻击者可捕获传输的数据并使用它来欺骗可信设备的接近度,而不必破解通常用于此类通信的加密方案。
例如,一些设备或协议使用接收信号强度指示(RSSI)来确定可信设备的接近度。较高的RSSI通常指示可信设备更靠近特定位置。然而,攻击者可捕获可信设备的传输并且放大信号,以使其看起来好像这些设备比它们实际的更靠近彼此,从而允许攻击者解锁目标设备。希望提供用于在允许可信设备解锁目标设备之前检测该可信设备的范围的更安全的方法。
附图说明
本主题技术的新型特征在所附权利要求书中被示出。然而,出于解释的目的,在以下附图中阐述了本主题技术的若干实施方案。
图1概念性地示出了可信设备使用安全测距来修改目标设备的安全状态的过程。
图2示出了使用可信设备的安全测距来修改目标设备的安全状态的示例。
图3概念性地示出了目标设备与可信设备建立连接的过程。
图4概念性地示出了可信设备与目标设备建立连接的过程。
图5示出了目标设备与可信设备建立连接的示例。
图6示出了可信设备与目标设备建立连接的示例。
图7概念性地示出了代理设备帮助在目标设备和可信设备之间建立连接的过程。
图8示出了代理设备帮助在目标设备和可信设备之间建立连接的示例。
图9示出了当从可信设备解锁目标设备时提供安全测距的序列图。
图10A-图10B示出了当从可信设备解锁目标设备时提供安全测距的示例。
图11概念性地示出了可信设备提供安全测距以捕获样本距离测量的过程。
图12概念性地示出了目标设备使用可信设备的安全测距来捕获样本距离测量的过程。
图13示出了距设备的主要阈值距离和次要阈值距离的示例。
图14概念性地示出了利用多个频带执行测距操作的过程。
图15概念性地示出了基于一组消息时间戳来确定设备是否在彼此的阈值距离内的过程。
图16示出了可由设备的加速模块执行的访问加速过程。
图17示出了替代交互的示例,该替代交互可由设备提供以允许用户以该设备上的多个用户账户中的一者访问该设备。
图18示出了参考计算设备的四个操作阶段的替代交互的示例。
图19示出了替代交互的示例,该替代交互允许用户更改设置来代替提供密码以执行设置更改。
图20示出了替代交互的另一个示例,该替代交互允许用户更改设置来代替提供密码以执行设置更改。
图21示出了替代交互的示例,该替代交互在第一设备上更改设置,即使当第一设备当前以不具有用于执行设置更改的权限的用户账户被访问时。
图22示出了替代交互的示例,该替代交互通过向另一个设备发送请求以寻求在该设备上安装的授权来允许在该设备上无密码安装程序。
图23示出了替代交互的示例,该替代交互允许在第一设备上安装程序,即使当第一设备当前以不具有用于安装程序的权限的用户账户被访问时。
图24示出了当设备处于距计算机的两个不同距离处时启用两种不同的替代交互的示例。
图25示出了在设备上执行的若干模块,这些模块启用对设备上的帐户访问操作的替代交互。
图26示出了当已启用用于替代交互的第二设备进入距第一设备的第一距离内时执行的示例过程。
图27示出了当在设备的特定距离内检测到另一个设备时可由该设备执行的过程。
图28概念性地示出了实现本主题技术的一些实施方案所利用的电子系统的示例。
具体实施方式
下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示本主题技术可被实践的唯一配置。附图并入本文中并且构成具体实施方式的一部分。具体实施方式包括出于提供对本主题技术的透彻理解的目的的具体细节。然而,本主题技术不限于本文所阐述的具体细节并且可使用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使本主题技术的概念模糊。
本主题技术的一些实施方案提供了一种用于使用可信设备来修改目标设备处的安全状态(例如,解锁该设备)的方法。目标设备是待解锁的设备,而可信设备是已被授权修改目标设备的安全状态的设备。
一些实施方案的目标设备和可信设备(例如,膝上型计算机、移动电话、平板电脑等)执行若干测距操作以计算可信设备和目标设备之间的样本距离测量结果。一旦已捕获样本距离测量结果,可信设备就确定样本距离测量结果是否满足特定的一组标准(例如,设备是否在阈值距离内),并且,当所计算的复合距离测量结果满足该组标准时,与目标设备交换安全令牌(或其他授权信息)以修改目标设备处的安全状态(例如,解锁、授权支付数据等)。在一些实施方案中,修改安全状态包括在目标设备处授权一组受限操作或提供更高级别的安全访问。
在一些实施方案中,可信设备通过与目标设备的授权(或配对)过程被建立为可信设备。授权过程允许用户授予可信设备许可以解锁目标设备(或以其他方式修改目标设备的安全状态)。一些实施方案的可信设备在授权过程期间接收安全令牌或其他共享秘密,该安全令牌或其他共享秘密可用于未来会话以修改目标设备的安全状态。
一旦目标设备信任可信设备,可信设备就可用于修改目标设备的安全状态。在一些实施方案中,用于修改安全状态的过程可由目标设备或可信设备发起。发起该过程的设备(可信设备或目标设备)被称为发起设备,而另一设备是非发起设备。一些实施方案的过程可由用户显式发起(例如,通过发起设备处的输入)或通过用户的隐式动作发起(例如,当用户在非发起设备的特定范围内携带非发起设备时)。
在一些实施方案中,非发起设备(即,正在等待另一个设备发起该过程的设备)连续地(或周期性地)通告其可用性,使得非发起设备可被其他设备发现。当发起设备确定应修改目标设备的安全状态时(例如,在接收到用户输入时),发起设备执行扫描以发现非发起设备。
在一些实施方案中,非发起设备不连续通告其可用性,而是使用代理设备通告该非发起设备的可用性。此类实施方案的发起设备扫描并识别非发起设备的可用性(通过代理设备的通告)。发起设备然后向代理设备发送请求。在一些实施方案中,代理设备然后向非发起设备发送另一个请求以使其在短时间段通告其自身的可用性。发起设备然后执行扫描以发现非发起设备。
一旦发起设备发现非发起设备的所通告的可用性,则在一些实施方案中,发起设备与非发起设备交换测距连接信息,该测距连接信息(例如,设备标识符、设备状态、自举信息等)用于在设备之间建立测距连接。在一些实施方案中,测距连接信息识别设备可用于测距连接的频谱的一部分。一些实施方案的测距连接用于执行测距操作以确定这些设备是否在彼此的阈值距离内。
在一些实施方案中,用于确定是否允许可信设备解锁目标设备的安全协议的一部分基于该组测距操作(例如,确定距离、接近度等)。一些实施方案的方法使用测距(例如,距离、接近度等)信息来确定在允许可信设备解锁目标设备之前可信设备和目标设备是否在彼此的指定范围内。在一些实施方案中,可信设备是可信设备,因为其与目标设备共享共享秘密(例如,通过配对操作)。
一些实施方案的共享秘密用于保护测距操作。在一些实施方案中,共享秘密是用于存储在设备的隔离区域和安全区域(例如,安全区域处理器(SEP))中的高度敏感数据的高度安全密钥。在一些实施方案中,该方法不直接使用共享秘密,而是从共享秘密导出可用于测距操作的导出密钥。
一些实施方案的方法通过在非安全连接上执行安全秘密共享操作来在设备之间共享共享秘密。例如,一些实施方案的方法使用Diffie-Hellman交换来在设备之间提供安全且短暂的共享秘密。一些实施方案的共享秘密用于生成(例如,通过导出函数)其他共享秘密,而不必在设备之间发送秘密数据中的任一者。
在其他实施方案中,通过云服务在设备之间共享各种共享值(例如,共享秘密、导出密钥、消息等)。一些实施方案的云服务与用户账户相关联,该用户账户与各种设备相关联。然后使用一些实施方案的云服务来共享用于相关联设备的不同共享值。
在一些实施方案中,为了确定可信设备和目标设备之间的距离,一些实施方案的可信设备与锁定的目标设备交换消息(或随机数),从而记录消息何时在每个装置处被发送和接收的时间戳。在一些实施方案中,使用用于生成新值的不同密钥导出函数(KDF)从导出密钥(或共享秘密)导出在设备之间交换的消息。一些实施方案的KDF是不能用于显示初始值(即,共享秘密)的单向函数,这允许每个设备独立地生成相同的消息,而不必先前在设备之间发送消息。在一些实施方案中,消息被嵌入到在频谱的特定频带下在空中发送的校准信号中。
设备然后为消息交换所记录的时间戳。在一些实施方案中,使用导出密钥(从共享秘密导出)来加密在设备之间交换的时间戳,从而为时间戳提供高级别的安全性而不直接使用共享秘密。
一些实施方案的设备然后使用时间戳来计算设备之间的距离,从而确定设备是否在彼此的期望接近度内。例如,在一些实施方案中,消息经由以光速行进的无线电波在空中发送。一些此类实施方案的设备基于消息在两个设备之间行进所花费的时间(例如,消息的发送和接收之间的时间)和光速来计算设备之间的距离。
在一些实施方案中,除了验证时间戳指示设备在期望的接近度内之外,该方法执行其他验证操作以防止攻击者欺骗一个或两个设备的位置。例如,在一些实施方案中,该方法对在目标设备处接收第一消息和从目标设备发送第二消息之间的时间实施约束。该约束确保了第一消息的接收和第二消息的发送之间的时间太短而不能允许攻击者使用利用时钟漂移的回放攻击来使设备看起来比他们真正的更靠近在一起。
在一些实施方案中,执行测距操作以收集测距数据的若干样本,从而允许更精确和安全地确定设备的接近度。在一些此类实施方案中,对多个距离测量样本进行统计分析以生成复合距离测量结果,然后将其与阈值距离进行比较。另选地或结合地,设备分析距离测量样本以计算设备在阈值距离内的置信水平。当置信水平超过阈值时,设备被认为在可接受的范围内。
当该方法确定设备彼此处于期望的接近度内(或者测距信息不能被验证)时,该方法与目标设备通信(例如,通过建立的连接上的安全信道)以解锁或以其他方式修改目标设备的安全状态。在一些实施方案中,该方法通过发送可用于对目标设备处的主密钥进行解密的解锁记录(例如,秘密或密钥)来解锁目标设备。一些实施方案的解锁记录由目标设备生成并在用于授权可信设备解锁目标设备的过程期间发送到可信设备。
在一些实施方案中,用于通告和发现设备的可用性的初始连接、用于测距操作的测距连接以及用于传送解锁数据的连接是不同且独立的连接。例如,在一些实施方案中,不同的连接使用不同的协议或不同的通信方法。例如,在一些实施方案中,跨特定连接传送的数据实际上通过频谱的单独频带或网络(例如,互联网)来发送。
在一些实施方案中,通过不同连接上的安全信道发送通信(例如,请求、测距信息等)。一些实施方案的安全信道使用不同加密密钥加密。多个不同信道可各自在不同连接上操作或者可全部在单个连接上操作。在本申请中,各种引用在连接中进行,但是应当理解,也可通过加密信道来保护连接上的通信。
一些实施方案的主题技术的安全性要求消息不可由试图欺骗设备中的一者或两者的位置的攻击者预测。在一些实施方案中,共享秘密(以及从共享秘密导出的任何值)仅用于单个测距操作,因此当一些实施方案的方法确定设备不在期望的接近度内(或者测距信息不能被验证)时,该方法丢弃共享秘密和任何共享值(例如,随机数、导出密钥等),并且在再次开始该过程之前生成新的共享秘密。
在一些实施方案中,该方法执行测距操作的多个阶段。除了执行若干测距操作以生成准确距离测量结果之外,一些实施方案的方法使用第一连接执行初步测距操作并且使用第二连接执行安全且精确的测距操作。例如,在一些实施方案中,该方法在具有可在频谱的多个频带上通信的硬件的设备上执行。在一些此类实施方案中,希望使用较低频带(例如,由于功率需求等)进行测距操作。然而,较低频带可能无法提供确定可信设备是否在目标设备附近所需的必要精确度或安全性。一些此类实施方案的方法然后使用较低频带执行第一测距操作,并且当该方法确定设备在较低频带内时,该方法使用高频带执行第二测距操作以确定设备是否在解锁目标设备所需的范围内。在一些实施方案中,第一测距操作使用与第二组测距操作不同的测距操作。
在一些实施方案中,第一设备执行测距操作以允许用户以若干用户账户中的一者访问(例如,登录)第一设备,而不提供一个或多个设备访问凭据。在一些实施方案中,设备访问凭据是秘密或半秘密凭据,诸如密码、口令、生物特征输入等。在一些实施方案中,也可在不提供用户名的情况下访问第一设备,而在其他实施方案中,用户必须提供用户想要以用户账户访问设备的该用户账户的一些指示。
当第二设备在第一设备的第一距离内时,在一些实施方案中,第一设备的设备访问加速模块确定第二设备与第一用户账户相关联,用户可以该第一用户账户访问(例如,可登录到)第一设备。响应于该确定,加速模块启用至少一个替代交互(例如,无密码UI交互)以允许访问第一设备,而无需通过用户界面接收一个或多个访问凭据。
然后加速模块检测启用的替代交互的发生。作为响应,加速模块指示第一设备的认证模块(例如,登录模块)允许以第一账户访问第一设备。在一些实施方案中,加速模块向认证模块提供替代凭据(例如,秘密)来代替第一用户账户访问凭据(例如,账户密码),以便指示该模块允许以第一用户账户访问第一设备。这样,第一设备的加速模块支持更无缝的设备访问交互来代替用户访问凭据输入,从而加速第一设备上的设备访问操作。
在一些实施方案中,替代交互发生在以第二用户账户登录到第一设备时。例如,在一些实施方案中,该交互是当以第二用户账户访问第一设备时呈现的菜单中选择(例如,光标选择、轻击选择等)第一用户账户。在一些实施方案中,替代交互发生在第一设备显示示出多个用户账户的登录显示屏幕呈现时。在这些实施方案中的一些实施方案中,替代交互是在登录显示屏幕呈现中选择(例如,光标选择、轻击选择等)第一用户账户。
为了识别用户账户的替代凭据,在一些实施方案中,访问加速模块检查数据存储库(例如,查找表),该数据存储库识别(1)与用于访问第一设备的用户账户相关联的其他设备,(2)与这些其他设备相关联的替代凭据,以及(3)在一些情况下,与这些其他设备相关联的用户名。基于该检查,在这些实施方案中,加速模块可识别第一账户的用户提供的访问凭据的替代凭据。
在其他实施方案中,第一设备的通信层不仅识别附近的设备,而且还识别与每个所识别的设备相关联的账户(例如,第二设备与第一用户账户相关联)。在这些其他实施方案中的一些实施方案中,通信层向加速模块传递第一用户账户的标识符,或加速模块可从其识别第一用户账户标识符的值。基于该标识符,加速模块向认证模块提供第一用户账户的替代凭据,并且在一些情况下提供用户名。
在一些实施方案中,第一设备的加速模块不仅可加速设备的访问操作(通过支持更无缝的设备访问交互来代替用户访问凭据输入),而且还可加速第一设备上的需要提交用户凭据的其他操作(例如,密码、口令、生物特征输入、用户名等)。在这些实施方案中,加速模块用作授权加速模块。例如,为了更改设备上的一些设置(例如,隐私设置、账户设置、安全设置等),需要用户输入密码、口令或生物特征输入是非常常见的。类似地,需要此类输入来在设备上安装程序或通过该设备购买物品是非常常见的。
因此,为了在第一设备上补充现有凭据输入方法,在一些实施方案中,加速模块启用更简单的替代交互以在第一设备上更改设置、安装程序和/或购买物品。当第二相关联的设备在附近时,第一设备的加速模块启用这些替代交互。例如,一些实施方案在第一设备上执行测距操作以检测到第二设备在第一设备的特定距离内,使得当第二设备在该距离内时,加速模块可启用第一设备上的替代交互。
对于这些操作中的一些操作(例如,更改设置),在一些实施方案中,替代交互可以是(1)选择UI项以执行操作(例如,解锁更改设置),或(2)输入值。当执行该替代交互时,加速模块向第一模块的授权模块提供替代凭据来代替用户提供的凭据,使得授权模块可以向必须执行操作的模块(例如,必须更改设备上的设置的模块)授权操作。
在其他实施方案中,一些操作的替代交互(例如,改变设备设置、安装程序或购买物品)需要在第一设备上选择UI项之后,向第二设备发送请求以寻求对请求的操作的授权。在一些实施方案中,第二设备显示授权请求以及描述该请求并且提供用于接受或拒绝该请求的控制的通知。当在第二设备上接受该请求时,加速模块向授权模块提供替代凭据来代替用户提供的凭据。作为响应,授权模块向必须执行操作的第一设备模块(例如,必须更改设备上的设置、安装程序或在第一设备上购买物品的模块)授权所请求的操作。在一些实施方案中,使用上述交互来向与计算机上的管理账户相关联的智能手表发送从计算机(例如,膝上型电脑或台式电脑)更改设置、安装程序或购买物品的请求。
在一些实施方案中,即使当第一设备当前以对所请求的操作不具有特权的用户账户被访问时,加速模块也可启用第一设备上的替代交互。例如,当以第二用户账户登录第一设备时,用户可能尝试在第一设备上更改设置、安装程序或购买物品,这在这些情况下不能通过提供第二用户账户的登录凭据来完成,在一些实施方案中,当第二设备在第一设备的特定距离内并且第二设备与第一用户账户相关联时,第一设备的加速模块可向第二设备发送批准期望的操作(例如,更改设置、安装程序、购买物品等)的请求。
在一些实施方案中,在向第二设备发送批准第一设备上的某些替代交互的请求之前,第一设备的加速模块不需要确定第二设备在第一设备的特定范围内。这是因为在这些实施方案中,每当第一设备检测到第二设备可用于通过第一设备和第二设备的近程收发器(例如,蓝牙收发器、WiFi收发器等)与第一设备直接对等连接时,第一设备就发送此类请求。两个设备之间的直接对等连接是对等连接,不需要经过两个设备之外的任何其他中间电子设备。因此,在这些实施方案中,在第一设备加速模块可向第二设备发送授权请求之前,第一设备不需要执行任何测距操作来确定第二设备在第一设备的特定接近度内。
在执行测距操作的一些实施方案中,当第二设备在距第一设备的不同距离范围内时,第一设备的加速模块可启用不同组的替代交互。例如,当第二设备在第一设备的第一距离范围内时,加速模块启用第一设备上的第一组替代交互来代替第一设备上的第二组交互,以在第一设备上执行第一组操作。当第二设备在第一设备的更靠近的第二距离范围内时,加速模块启用第一设备上的第三组替代交互来代替第一设备上的第四组交互,以在第一计算设备上执行第二组操作。
在一些实施方案中,第二距离范围被包括在第一距离范围中。因此,在这些实施方案中,当第二设备在第二距离范围内时,启用两组替代交互。另外,当第二设备落在第一范围之外时,加速模块禁用这些替代交互。当第二设备落在第二范围之外时,该模块还禁用第二组替代交互。
当第二设备在更靠近的第二距离范围内时,一些实施方案中,替代交互比当设备在更远的第一距离范围内时更无缝(例如,更快或需要来自用户的更少输入)。例如,当手表非常靠近计算机时,在一些实施方案中,用户可通过计算机的外围部件(例如,光标控制器、键盘等)上的单个笔画输入登录到计算机上的账户。当手表距计算机稍远时,计算机上的一个用户请求操作(例如,更改设置、安装程序、购买物品),并且手表上的另一个用户必须批准该请求。
作为测距操作的一些或全部的一部分,加速模块在一些实施方案中从第一设备的网络接口层接收第二设备在第一设备的第一距离内的通知。该通知包括关于第二设备的操作模式的数据。加速模块确定操作模式是否满足用于允许第二设备启用第一设备上的第一替代交互以代替要求用户提供一个或多个凭据的第二交互的一组标准。当操作模式不满足该组标准时,加速模块指示网络接口层终止与第二设备的连接会话或尝试的连接会话。当操作模式满足该组标准时,加速模块启用第一交互来代替第二交互,以用于在第一设备上执行操作。当第二设备是手表时,在一些实施方案中,与手表的操作模式相关联的该组标准包括手表是否包绕在用户的手上,以及当前是否解锁。
一些实施方案允许用户基于与可信设备的关系(例如,接近度、配对设备等)来修改目标设备的安全状态(例如,解锁)。图1概念性地示出了可信设备使用安全测距来修改目标设备的安全状态的过程。一些实施方案的过程100由目标设备(例如,安全状态要修改的设备)和可信设备(例如,被授权修改安全状态的设备)中的一者执行。在一些实施方案中,过程100在代理设备处发起,该代理设备有助于可信设备和目标设备发现彼此。发起设备(例如,目标设备或可信设备)与非发起设备(例如,可信设备或目标设备)发起过程100以修改目标设备的安全状态。
在一些实施方案中,过程100开始于发起(在105处)目标设备的安全状态更改。一些实施方案的安全状态更改的发起由目标设备(即,待解锁的设备)执行,而在其他实施方案中,状态更改由可信设备发起。在一些实施方案中,发起设备向非初始化设备发送用于发起安全状态更改的请求。在一些实施方案中,安全状态更改通过显式用户交互(例如,键盘输入、语音命令、打开膝上型计算机的盖等)发起,而在其他实施方案中,安全状态更改通过目标设备和可信设备之间的隐式交互(例如,在可发现范围内移动,将发起设备处的状态从锁定更改为解锁等)发起。一些实施方案的显式用户交互要求用户向设备验证他们自己(例如,经由密码、生物特征数据(例如,经由指纹传感器))。在一些实施方案中,安全状态更改的发起由与发起设备通信以开始安全状态更改的其他设备(例如,基于摄像机和/或传感器的位置检测)发起。
在过程100发起(在105处)安全状态更改之后,过程100在可信设备和目标设备之间建立(在110处)初始连接。一些实施方案的初始连接使用安全的标准化无线协议(例如,蓝牙)来发现另一设备并建立初始连接。
一些实施方案的过程100使用该初始连接来交换(在115处)用于在设备之间建立测距连接(例如,通过WiFi)的测距连接信息(例如,自举信息)。在120处,过程100在可信设备和目标设备之间建立测距连接。在一些实施方案中,测距连接是用于交换测距信息(例如,通过一系列测距操作)以便确定目标设备和可信设备是否在特定范围内的无线信道。一些实施方案的测距连接被加密以保护所交换的测距信息免受潜在攻击者的攻击。
过程100执行(在125处)测距操作以捕获可信设备和目标设备之间的样本距离测量结果。在优选的实施方案中,过程100使用若干样本距离测量结果来确定设备是否在彼此的范围内,从而允许更精确和安全地确定设备的接近度。在130处,过程100确定是否捕获更多样本。当过程100确定(在130处)需要更多样本时,该过程返回到步骤110以执行另一个测距操作以捕获另一个样本距离测量结果。
在一些实施方案中,当测距操作足够精确和安全时,过程100仅执行(在125处)单个测距操作。例如,当可信设备和目标设备的时钟同步时,可能不需要采集许多样本。然而,即使在此类情况下,多个样本的捕获也可允许设备更精确地确定设备之间的距离。例如,在一些实施方案中,使用多个距离测量样本可以提供正或负一米的准确度。
当过程100确定(在130处)不再需要样本时,一些实施方案的过程100然后执行一组测试(例如,作为安全协议的一部分)以确定是否授权目标设备的安全状态的更改。在一些实施方案中,过程100确定设备是否在范围内、设备中的一者或两者是否已接收到对安全状态更改的同意等。
在该示例中,过程100基于所捕获的样本距离测量结果来确定(在135处)设备是否在期望范围内。在一些实施方案中,对多个距离测量样本进行统计分析以生成复合距离测量结果,然后将其与阈值距离进行比较。另选地或结合地,设备对距离测量样本进行分析以计算该设备在阈值距离内的置信水平。当置信水平超过阈值时,设备被认为在可接受的范围内。
如果作出(在135处)设备不在期望范围内的确定,则该过程结束。当过程100确定(在135处)设备在期望范围内时,过程300确定(在140处)用户是否已经指示同意。例如,在一些实施方案中,过程100为设备中的一者处的用户提供提示,从而请求同意修改目标设备的安全状态。用户同意可以是显式的(例如,通过直接用户交互)或隐式的(例如,可信设备处于解锁状态)。在一些实施方案中,显式同意要求简单的批准(例如,对提示的响应),而在其他实施方案中,显式同意要求在设备处验证(例如,密码、生物特征数据(例如,经由指纹传感器)等)用户。
在一些优选的实施方案中,诸如当安全状态更改的发起基于来自用户的显式输入(例如,在目标设备处轻击)时,安全状态更改的发起(在105处)用作发起设备的同意。过程100然后仅确定(在140处)用户是否已经指示同意非发起设备。
在一些实施方案中,在测距操作已完成之后,过程100确定(在140处)是否针对发起设备和非发起设备两者指示用户同意。当要求显式同意时,在测距之后确定同意允许安全状态更改看起来更具有响应性,因为在请求任何用户同意之前测距已经完成。
然而,当在测距操作之后确定用户同意并且需要来自用户的显式响应时,可能需要保持测距信息的高速缓存状态(即,允许测距决策在短时间窗口内保持有效)。在一些实施方案中,过程100在执行测距操作中的任一者之前检查用户同意,而不是在执行测距操作之后检查用户同意。这允许设备避免执行任何不必要的测距操作。
一旦过程100已确定(在135处和140处)设备在范围内并且已获得交换授权信息的同意,过程100就通过安全(例如,加密)信道交换(在145处)授权信息。一些实施方案的安全信道使用高度安全的加密密钥来加密通信以便保护授权信息。该授权信息(例如,解锁信息、安全密钥、支付数据等)用于修改目标设备处的安全状态。在一些实施方案中,通过在步骤110处建立的初始连接来建立安全信道。在其他实施方案中,通过单独的不同连接来建立该安全信道。
在一些实施方案中,用于通告和发现设备的可用性的初始连接、用于测距操作的测距连接以及用于传送授权数据的连接是不同且独立的连接。例如,在一些实施方案中,不同的连接使用不同的协议或不同的通信方法(例如,频谱的频带、无线协议等)。例如,在一些实施方案中,跨特定连接传送的数据实际上通过频谱的单独频带或网络(例如,互联网)来发送。
不同的连接可提供不同的益处。例如,在一些实施方案中,初始连接使用第一无线协议来提供易于发现和降低的功率要求,而测距连接使用第二无线协议来实现无线频率的精确度和安全性特征。
图2示出了使用与可信设备的安全测距来修改目标设备的安全状态的示例。第一阶段201示出可信设备210(例如,智能手表、可穿戴设备(例如,头戴式、臂戴式、腰部安装式、耳戴式、胸部安装式等)、移动电话、无线头戴式耳机、平板电脑等)和目标设备220(例如,膝上型计算机、移动电话、平板电脑等)。一些实施方案的可信设备210是被授权更改目标设备220的安全状态的设备。在第一阶段201中,目标设备220通过初始连接(用实线指示)向可信设备210发送请求250。当用户(显式或隐式)从目标设备220发起安全过程时,发送一些实施方案的请求250。在一些实施方案中,请求250包括用于建立用于交换测距信息的测距连接的自举信息。
在第二阶段202中,已在可信设备210和目标设备220之间建立测距连接(用虚线指示)。第二阶段202还示出测距信息255通过测距连接在设备之间交换。测距信息255允许设备210和220中的一者或两者计算两个设备之间的距离。在一些实施方案中,测距信息包括进一步分析以确定两个设备之间的距离的多个样本距离测量结果。
第三阶段203示出了目标设备220和可信设备210两者使用范围计算器228和218来分析交换的测距信息222和212。在一些实施方案中,可信设备和目标设备基于所计算的范围来确定是否继续进行安全状态更改操作。测距信息255的交换和范围计算在下文中进一步详细描述。
第四阶段204示出了在确定设备在可接受的范围内之后,可信设备210发送解锁密钥260。一些实施方案的解锁密钥260用于解锁目标设备220。本申请中的各种示例参考利用解锁密钥的解锁操作来描述,但是本领域的技术人员应当理解,本主题技术的新颖性不限于此类解锁操作。基于与可信设备的关系,解锁操作可指目标设备处的安全状态的任何转换。此外,尽管授权信息有时被称为密钥,但是授权信息可包括各种不同类型的信息。一些实施方案的授权信息是用于解密存储在目标设备上的信息(例如,敏感信息、主密钥等)的密钥,而在其他实施方案中,授权信息是加密的敏感数据(例如,支付信息、用户数据等)。这允许敏感信息仅存储在可信设备上,并且仅在可信设备在范围内时提供给目标设备。
在一些实施方案中,操作不是将设备解锁,而是将目标设备从高级安全状态移动到低级安全状态。在一些情况下,目标设备在转换期间保持锁定,但低级安全状态提供对目标设备上的信息的附加访问。例如,在一些实施方案中,目标设备在处于更高级别安全状态的锁屏(即,当设备被锁定时所显示的屏幕)上提供最少通知,其中任何潜在的敏感信息被隐藏,直到设备被解锁。通过转换到更低级安全状态(例如,在可信设备的存在下),一些实施方案的目标设备向目标设备的用户提供对通知的更敏感信息(例如,文本摘录、发送者等)的访问。
在其他实施方案中,不同的安全状态允许可信设备降低访问目标设备的安全要求,而不是在锁定状态下提供附加信息。例如,在一些实施方案中,通常需要字母数字密码的目标设备可被配置为需要更简单的pin码。在一些实施方案中,即使当目标设备已经解锁时,当可信设备在特定范围内时,可信设备和安全状态转换也用于提供对应用程序或应用程序内的敏感数据(例如,浏览器历史、自动填充数据、信用卡信息等)的访问。
在一些实施方案中,安全状态的转换可由目标设备或可信设备发起。为了执行测距操作以认证设备,一些实施方案的转换开始于使用初始连接来建立测距连接。一些实施方案的初始连接是普遍且高效的安全标准化无线连接方法(例如,蓝牙配对)。所建立的初始连接然后用于交换测距连接信息,该测距连接信息用于建立测距连接。在一些实施方案中,测距连接用于交换测距信息以确定目标设备和可信设备是否在特定范围内。
图3概念性地示出了目标设备与可信设备建立测距连接的过程。过程300开始于通告(在305处)其可用性的可信设备。一些实施方案的过程300通过广播可信设备的标识符来通告设备的可用性,这允许目标设备确定其是否可修改可信设备的安全状态。
目标设备然后任选地接收(在310处)请求安全状态更改的输入(显式或隐式)。如上所述,在一些实施方案中,直到建立测距连接并完成测距操作之后才获得对安全状态更改的请求(或同意)。
目标设备然后扫描(在315处)可信设备。一旦目标设备从扫描中识别出可信设备,目标设备就发送(在320处)对授权信息的请求,该授权信息允许目标设备修改其安全状态(例如,解锁、更改安全状态等)。在一些实施方案中,目标设备还发送(在320处)自举信息以设置用于在目标设备和可信设备之间执行测距操作的测距连接。可信设备接收(在325处)安全状态更改请求以及自举信息,并且将自举信息发送(在330处)回目标设备。在一些实施方案中,自举信息包括每个设备的状态信息(例如,无线频谱的可用频带)。
在335处,目标设备接收可信设备的自举信息。目标设备和可信设备然后建立(在340和345处)设备之间的测距连接。该测距连接然后用于测距过程,如下文进一步详细描述的。
图4概念性地示出了可信设备与目标设备建立测距连接的过程。过程400开始于通告(在405处)其可用性的目标设备。一些实施方案的过程400通过广播目标设备的标识符来通告设备的可用性,这允许可信设备确定其是否可修改目标设备的安全状态。
可信设备然后扫描(在410处)目标设备。一旦可信设备已经从扫描中识别出目标设备,其就在目标设备处发送(在415处)对安全状态更改(例如,解锁、安全状态更改等)的请求。在一些实施方案中,可信设备还发送(在415处)自举信息以设置用于在可信设备和目标设备之间执行测距操作的测距连接。目标设备接收(在420处)安全状态更改请求以及自举信息,并且将自举信息发送(在425处)回可信设备。在一些实施方案中,自举信息包括每个设备的状态信息(例如,无线频谱的可用频带)。
在430处,可信设备接收目标设备的自举信息。可信设备和目标设备然后建立(在435和440处)设备之间的测距连接。该测距连接然后用于测距过程,如下文进一步详细描述的。
图5和图6示出了分别发起来自目标设备和可信设备的测距连接的示例。图5示出了在两个阶段501和502中目标设备与可信设备建立连接的示例。第一阶段501示出了膝上型计算机510(即,目标设备)和手表520(即,可信设备)。在第一阶段501中,手表520被示出为通告其可用性。第一阶段501还示出了用户提供输入(例如,轻击按键、打开膝上型计算机510的盖等)以发起测距过程。第二阶段502示出了设备已建立(通过诸如上文参考图3和图4所述的那些过程)无线测距连接。
图6示出了在两个阶段601和602中可信设备与目标设备建立测距连接的示例。该图的示例示出了图5的膝上型计算机510(即,目标设备)和手表520(即,可信设备)。在该示例中,膝上型计算机510通告其可用性,而不是手表520。另外,手表520不是接收来自用户的输入,而是不接收任何输入,而是移动得更靠近膝上型计算机510。第二阶段602示出了无线测距连接已建立(通过诸如上文参考图3和图4所述的那些过程)。
在一些实施方案中,连续通告可信设备的可用性需要来自可信设备的大量功率。在一些实施方案中,使用代理设备辅助初始连接(以及可信设备的可用性的通告),这可能更适合连续通告可信设备的可用性。
图7概念性地示出了代理设备有助于在目标设备和可信设备之间建立初始连接的过程。过程700开始于与可信设备建立(在705处)连接。该连接不同于上述示例中描述的初始连接,因为该连接在代理设备和可信设备之间,而初始连接是可信设备和目标设备之间的连接。该图的过程用于准备目标设备和可信设备以建立初始连接。一些实施方案的代理设备和可信设备之间的连接是为设备之间的连续通信保持的长期连接。例如,在一些实施方案中,该连接是移动电话和手表之间的蓝牙连接(或信道),其中只要设备保持在彼此的范围内,该连接就被保持用于设备之间的通信。
过程700然后检测(在710处)可信设备的可用性。在一些实施方案中,过程700仅检测与设备的连接是否仍然处于活动,而在其他实施方案中,过程700检测附加信息,诸如安全状态(例如,锁定、解锁、授权等)。一旦过程700确定可信设备可用,过程700就广播(在715处)可信设备的可用性,使得目标设备可识别可信设备的可用性。过程700然后从目标设备接收(在720处)对目标设备和可信设备之间的连接的第一请求。
过程700然后向可信设备发送(在725处)建立初始连接的第二请求,如上文参考图1和图2所述。在一些实施方案中,第二请求是使可信设备开始在短时间段内广播其自己的可用性的请求。在其他实施方案中,代理设备将第一请求(具有或不具有任何自举信息)转发到可信设备。一些此类实施方案的可信设备使用第二请求的自举信息或通过广播其自身的可用性来发起与目标设备的连接。尽管该示例描述了用于可信设备的代理的过程,但应当理解,类似的过程将适用于目标设备的代理。
图8示出了代理设备有助于在目标设备和可信设备之间建立连接的示例。第一阶段801示出了图5的目标设备510和可信设备520。该示例还示出了代理设备830。在该示例中,目标设备510是膝上型计算机,可信设备520是手表,并且代理设备830是移动电话。第一阶段801还示出可信设备520和代理设备830保持连接(由虚线指示)。在该示例中,代理设备830通告可信设备520的可用性,而不是通告其可用性的目标设备或可信设备。
第一阶段801还示出了用户发起解锁操作,从而向代理设备830发送请求850。在第二阶段802中,代理设备830向设备发送另一个请求855。在一些实施方案中,请求855用于使可信设备在短时间段内开始通告其可用性,而在其他实施方案中,请求855包括可信设备需要与目标设备510建立测距连接的信息。
第三阶段803示出了已在目标设备510和可信设备520之间建立测距连接。第三阶段803还示出了作为测距过程的一部分的设备交换范围数据860。下文参考图9至图12进一步详细地描述了测距过程。最后,在第四阶段804中,目标设备510确定可信设备520在可接受范围内,并且已被解锁。下文描述了用于确定设备处于可接受范围内的安全方法。
在一些实施方案中,目标设备和可信设备使用安全测距操作来确定设备是否在期望的范围内。测距操作需要被确保以防止攻击者欺骗设备以使它们看起来比真正的更靠近。一些实施方案的安全协议使用消息来在可信设备和目标设备之间提供安全测距信息,从而允许设备在允许可信设备解锁目标设备之前确定它们是否在彼此的指定范围内。
图9示出了描述用于当从可信设备解锁目标设备时提供安全测距的概述的序列图。参考图10至图12描述了用于提供安全测距的各种元件和步骤的更深入的描述。该图的序列900示出了可信设备和目标设备之间的通信序列。序列900开始于在可信设备和目标设备之间建立共享秘密信道905(例如,使用加密密钥加密)。
一旦建立了共享秘密信道905,序列900就示出可信设备向目标设备发送消息(例如,随机数或其他短期令牌)N1。目标设备处理N1,验证N1的值是目标预期从可信设备接收的值。目标设备还可解密信号或对所接收的消息执行其他操作(例如,傅里叶变换)。目标设备然后通过在时间T3将第二不同的随机数N2发送回可信设备来响应。
对于随机数的交换,序列900还示出随机数N1和N2被发送和接收的时间。更具体地讲,随机数N1由可信设备在时间T1处发送,并且由目标设备在时间T2处接收。随机数N2由目标设备在时间T3处发送,并且由可信设备在时间T4处接收。在一些实施方案中,当由每个设备发送和接收随机数N1和N2时,可信设备和目标设备记录时间戳。
在一些实施方案中,在接收设备处多次接收特定随机数。这可在无线信号从其他表面或障碍物周围反射时发生。信号在行进通过障碍物(例如,墙壁)时可能失去强度,而反射信号在很大程度上不受阻碍。在此类情况下,到设备的最强信号不一定是在设备处接收的第一信号。然而,为了获得对设备的接近度的最准确确定,一些实施方案的接收设备识别第一接收信号的时间戳,而不是最强信号的时间戳。
设备然后交换在每个设备处记录的时间戳,以便计算设备之间的随机数N1和N2的飞行时间。可信设备将时间戳T1和T4发送到目标,而目标将时间戳T2和T3发送回可信设备。尽管在该示例中,在交换随机数之后在单个操作中交换时间戳,但一些实施方案一记录时间戳就将时间戳发送到另一设备。例如,在一些实施方案中,目标在发送随机数N2之前将时间戳T2发送回可信设备。
可信设备和目标设备然后验证交换的时间戳,以确定这些设备是否在彼此的特定接近度内以及交换的时间戳是否可被可信。在一些实施方案中,设备中的仅一个设备执行验证过程。然而,在优选的实施方案中,可信设备和目标两者在允许目标设备解锁之前执行验证过程。
一旦可信设备确定目标设备在所需接近度内,序列900就示出可信设备通过共享秘密信道905向目标设备发送解锁消息960。解锁消息960允许目标设备解锁。
在一些实施方案中,解锁消息960是在配对操作或授权操作期间与可信设备共享的秘密,其中可信设备被授予解锁目标设备的权限。在一些此类实施方案中,一些实施方案的解锁消息960是在由目标设备进行的配对操作期间发送到可信设备的密钥。在一些实施方案中,主密钥由目标设备从用于解锁目标设备的口令(或其他认证信息)导出。目标设备可通过利用解锁消息加密主密钥来构建令牌,使得当可信设备(在安全测距操作之后)向目标设备返回解锁消息时,目标设备可使用解锁消息来解密令牌以检索主密钥并解锁目标设备。使用设备来解锁另一个设备在2015年7月27日提交的名称为“Method of Using OneDevice to Unlock Another Device”的美国专利申请14/810,395中进一步描述。美国专利申请14/810,395以引用方式并入本文。
在序列900中,示出了用于传输不同类型的测距数据(例如,时间戳、随机数、解锁代码等)的各种信道(粗体、实线和虚线)。在一些实施方案中,不同的信道可使用不同的加密密钥来加密信道上的通信,而一些信道可根本不使用密钥。在一些实施方案中,信道中的每个信道通过多个不同的连接操作。在一些实施方案中,多个不同的信道用于测距过程。
例如,一些实施方案的过程使用高安全性共享秘密信道905来传送解锁消息960,但使用基于从共享秘密导出的密钥的单独测距信道915来传送不同随机数的时间戳。一些实施方案的测距信道915是通过上述建立的测距连接建立的安全信道。在一些实施方案中,通过相同信道发送解锁消息960以及时间戳950和955。
随机数在一些实施方案中通过测距信道915发送(即,用导出的密钥加密),而在其他实施方案中,随机数通过特定连接910(例如,特定射频的频带)在空中未加密地发送。在一些实施方案中,特定连接910是允许精确确定设备接近度的高频连接。
图10A-图10B示出了在七个阶段1001至1007中将目标设备从可信设备解锁(或以其他方式修改目标设备的安全状态)时提供安全测距的示例。第一阶段1001示出了可信设备1010和目标设备1020。设备1010和1020与安全信道1030连接。在该示例中,安全信道1030表示设备之间的通信,该通信利用在设备之间共享的共享秘密SS加密。因此,SS存储在可信设备1010的存储器1012和目标设备1020的存储器1022中。
在一些实施方案中,共享秘密是用于保护在可信设备1010和1020之间传送的高度敏感数据的高度安全的系统秘密。例如,一些实施方案在处理器架构内提供安全区域处理器(SEP),该安全区域处理器为设备的硬件和/或软件的隔离且安全的区域中的敏感数据提供提高水平的安全性。为了保持系统秘密的安全性,用于一些实施方案的测距操作的测距数据不直接使用共享秘密(即,不通过安全信道1030发送),而是使用共享秘密来生成(例如,通过导出函数)用于加密和验证测距数据源的其他共享值。
在一些实施方案中,通过在非安全信道上执行安全秘密共享操作来在设备之间共享安全信道1030的共享秘密。例如,一些实施方案的方法使用Diffie-Hellman交换来在设备之间提供安全且短暂的共享秘密。在其他实施方案中,共享秘密和/或各种共享值(例如,共享秘密、导出密钥、消息等)通过云服务(例如,iCloud)在设备之间共享。一些实施方案的云服务与用户账户相关联,该用户账户与各种设备相关联。然后使用一些实施方案的云服务来共享用于相关联设备的不同共享值。下文将进一步描述使用云服务来共享秘密。
第二阶段1002示出了分别具有密钥导出器1015和1025的设备1010和1020。一些实施方案的密钥导出器表示在给定公共输入的情况下生成另一个伪随机密钥或值(例如,使用密钥导出函数)的模块。在一些实施方案中,密钥导出器将单向函数应用于输入,该单向函数无法撤销以显示出原始输入。
在第二阶段1002中,密钥导出器1015和1025各自将共享秘密作为输入并生成导出密钥DK1,因为密钥导出器1015和1025在两个设备1010和1020处使用相同的导出函数,所以相同的导出密钥DK1存储在两个设备处。这样,可在设备的每个设备处生成共享值,而不必在设备之间发送共享值。
在一些实施方案中,除了导出密钥之外,密钥导出器1015和1025用于导出随机数N1和N2。在一些实施方案中,密钥导出器仅使用共享秘密来导出导出密钥,然后从导出密钥DK1导出任何其他值(例如,随机数)。然而,在一些实施方案中,随机数直接从共享秘密SS导出。为了确保分组不被捕获和重放,一些实施方案使用不同的导出函数来生成不同的随机数。这样,攻击者不能预测随机数,因此攻击者不能生成错误测距信号。
一些实施方案的随机数N1和N2在设备之间传输的信号上发送。在一些实施方案中,接收设备使用随机数N1和N2来验证随机数的发送者是通信的可信合作伙伴。攻击者将无法在不访问高安全性共享秘密的情况下独立地生成随机数N1和N2。虽然该示例示出了密钥导出器1015和1025在单个步骤中导出导出密钥DK1以及随机数N1和N2,但是一些实施方案的密钥导出器根据需要生成导出密钥和随机数(例如,用于加密、发送、验证等)。
第三阶段1003示出了导出密钥DK1用于建立测距信道1040。一些实施方案的测距信道用于发送用于设备之间的测距操作的各种数据(例如,随机数、时间戳等)。可信设备1010通过测距信道1040将随机数N1 1050发送到目标设备1020。可信设备1010还在发送随机数N1时记录时间戳T1。
在该示例中,随机数被示出为通过测距信道发送(即,用导出密钥DK1加密),然而,在一些实施方案中,随机数在空中以特定频率未加密地发送,该特定频率是为设备之间的通信设置的。在一些此类实施方案中,信号是用于在设备之间建立通信(方向、频带等)的校准信号,并且随机数(例如,53位随机数)被编码为可被分析和解码的频率形状。编码信号表示正弦波的累积,接收器可分析(例如,使用傅里叶变换)该累积,以二进制输出的形式检索随机数。
在第四阶段1004中,目标设备1020已经接收并对照由密钥导出器1025导出并存储在目标设备1020的存储器1022中的随机数N1来验证随机数N1。此外,目标设备1020记录时间戳T2和T3。时间戳T2标记在目标设备1020处接收N1时的时间,而时间戳T3标记N2 1055从目标设备1020发送到可信设备1010时的时间。在该示例中,随机数N2是利用随机数N1和导出密钥DK1导出的,但在一些实施方案中,在验证从可信设备1010接收的随机数N1之前不导出随机数N2。
第五阶段1005示出了设备1010和1020通过测距信道1040交换时间戳T1-T4。可信设备1010向目标设备1020发送时间戳T1和T4 1065(发送N1和接收N2的时间)。目标设备1020向可信设备1010发送时间戳T2和T3 1060(接收随机数N1和发送随机数N2的时间)。
第六阶段1006示出了设备1010和设备1020使用时间戳T1-T4来计算设备彼此的范围或接近度。一些实施方案的设备然后使用时间戳来计算设备之间的距离,从而确定设备是否在彼此的期望接近度内。例如,在一些实施方案中,消息经由以光速行进的无线电波在空中发送。一些此类实施方案的设备基于消息在两个设备之间行进所花费的时间(例如,消息的发送和接收之间的时间)和光速来计算设备之间的距离。在一些实施方案中,范围计算器1018、1028中的一者或多者将随机数N1和N2的范围计算为:
范围(N1)=(T2-T1)*c,并且
范围(N2)=(T4-T3)*c,其中c是光速
在一些实施方案中,范围计算器1018、1028中的一者或多者计算随机数N1和N2两者的范围,并且基于最小范围值确定另一设备是否在范围内。在其他实施方案中,当确定设备是否在期望的接近度内时,范围计算器1018、1028中的一者或多者使用最大范围值或平均范围值。在一些实施方案中,范围计算器1018、1028中的一者或多者基于在每个设备处测量的时间来计算范围。例如,在一些实施方案中,范围计算器1018、1028中的一者或多者将设备之间的范围计算为:
范围=1/2((t4-t1)-(t3-t2))*c,其中c是光速
通过采用此类测距技术,不需要公共时基,因为(t4-t1)和(t3-t2)可使用其自身的本地时基在每个设备处独立地测量。即,两个时钟不需要同步。
然而,在一些实施方案中,范围计算还通过识别两个设备之间的通信频率的偏移来计算响应方频率与发起方频率的比率(rRI),以获得范围计算的更好精确度。此类实施方案的范围计算器1018、1028中的一者或多者将设备之间的飞行时间计算为:
飞行时间=1/2((t4-t1)-(t3-t2))*rRI
使用rRI是因为偏移可由设备中的微小制造差异(在制造公差内)引起,并且可导致设备错误地计算设备之间的实际距离。一些实施方案通过将接收信号与本地信号进行比较以识别任何偏移来计算rRI。然而,当rRI用于计算范围时,主动中继和重复中间人(MITM)攻击可对由设备中的一个设备传输的所有协议分组和测距波形进行采样,并以较慢的频率将它们重复到另一个真实设备。这引起rRI的人为增加,这可导致设备看起来比它们实际更靠近彼此。因此,在一些实施方案中,范围计算器确保rRI在特定范围内(例如,在制造差异的合理公差范围内)。在其他实施方案中,范围计算器限制时间(t3-t2),该时间限制攻击者可使用此类攻击捕获的TOF增益量。
在一些具体实施中,采用似然比(或例如,对数似然比)测试。此类测试针对范围分布的两种可能情况使用模型:对应于被解锁的设备的一组范围,以及对应于保持锁定的设备的一组范围。似然比基于输入的一组范围(例如,范围测量结果)和模型化分布来计算位于接近度内部或外部的复合概率的比率。然后可将该比率与阈值进行比较以确定解锁决策的结果。在此类具体实施中,可不直接计算两个设备之间的距离。因此,阈值可能不以距离来表示。在名称为“Unlocking a Device”的美国专利申请15/272,892中进一步描述了基于无线信号确定设备是否在范围内,该美国专利申请15/272,892以引用方式并入本文。
在一些实施方案中,除了验证时间戳指示设备在期望的接近度内之外,该方法还执行其他验证操作以防止攻击者欺骗一个或两个设备的位置。例如,在一些实施方案中,该方法对在目标设备处接收第一消息(T2)和从目标设备发送第二消息(T3)之间的时间实施约束。该约束确保了第一消息的接收和第二消息的发送之间的时间太短而不能允许攻击者使用利用时钟漂移的回放攻击来使设备看起来比他们真正的更靠近在一起。在一些实施方案中,该约束是待在设备之间传送的所传送的信号的时钟频率的所需准确度的百分比。
最后,第七阶段1007示出了可信设备1010通过安全信道1030发送解锁记录1070。解锁记录1070是可用于在目标设备处安全地恢复(例如,解密)主密钥的秘密或密钥。一些实施方案的主密钥由目标设备1020用于解锁其他密钥和安全数据,这些其他密钥和安全数据可用于解锁并提供对目标设备1020的访问。一些实施方案的解锁记录1070由目标设备1020生成并在用于授权可信设备解锁目标设备的配对或授权过程期间发送到可信设备1010。
如上所述,共享秘密和/或各种共享值在一些实施方案中通过云服务(例如,iCloud)在设备之间共享。例如,在一些实施方案中,可信设备(例如,手表)和目标设备(例如,计算机)两者与基于云的存储账户(例如,iCloud账户)相关联。使用双因素授权(TFA),这些设备中的每一者将其公共自动解锁身份置于云同步密钥链中。当可信设备被提供(即,被启用)用于解锁目标设备时,通过使用自动解锁身份来建立安全链路。目标设备创建随机一次性使用解锁秘密并通过链路将其传输到可信设备。秘密存储在可信设备上,并且仅能在可信设备解锁时访问。在一些实施方案中,用户的密码既不是主熵也不是新秘密。
在解锁操作期间,目标设备使用蓝牙低功耗来创建与可信设备的连接。然后使用在可信设备首次提供(即,启用)用于解锁目标设备时使用的共享密钥在两个设备之间建立安全链路。这两个设备然后使用对等Wi-Fi和从安全链路导出的安全密钥来确定这两个设备之间的距离。如果设备在范围内,则安全链路然后用于传输预共享秘密以解锁目标设备。在成功解锁之后,目标设备用新的一次性使用解锁秘密替换当前解锁秘密,并通过链路将新的解锁秘密传输到可信设备。
本申请中描述的示例中的许多示例利用了导出密钥和随机数。此类导出允许更安全和有效的过程,但不是本主题技术所需要的。在一些实施方案中,随机数不是从密钥导出的,而是由设备中的一个设备与另一个设备共享。例如,在一些实施方案中,基于与两个设备相关联的公共用户账户通过云存储共享随机数。在其他实施方案中,在测距操作之前,通过安全信道在设备之间共享随机数。类似地,上述示例中的测距信道的导出密钥不必从共享秘密导出,而是可通过其他方式(例如,Diffie-Hellman)共享,或者可根本不使用密钥。
图11概念性地示出了可信设备提供安全测距以捕获样本距离测量结果的过程。一些实施方案的过程1100由用于解锁另一个设备(例如,膝上型电脑、台式计算机、平板电脑等)的可信设备(例如,手表、移动电话、密钥卡等)执行。在一些实施方案中,特定设备既作为用于第一组设备的可信设备操作,又作为用于第二组设备的目标设备操作。
过程1100开始于共享(在1105处)共享秘密。过程1100然后导出(在1110处)用于加密和交换测距数据的导出密钥。一些实施方案的测距数据包括在设备之间发送不同随机数的时间戳。另选地或结合地,一些实施方案的测距数据包括一组随机数,该一组随机数与设备之间的测距信号一起发送以允许接收设备确认测距信号的发送者的身份。
过程1100然后导出(在1115处)可信设备的随机数。可信设备随机数允许目标设备验证随机数来自可信设备(例如,因为它也已经生成相同的随机数)。过程1100然后向目标设备发送(在1120处)可信设备随机数并记录发送时间(T1)。
在1125处,过程1100从目标设备接收目标随机数并记录接收时间(T4)。过程1100然后确定(在1130处)目标随机数是否是有效目标随机数。例如,在一些实施方案中,当目标随机数与可信设备处生成的随机数(例如,从公共导出密钥导出)匹配时,过程1100确定(在1130处)目标随机数有效。
当过程1100确定(在1130处)目标随机数无效时,过程1100返回到步骤1105并共享(在1105处)新秘密以重新开始测距过程。由于对于特定随机数而言仅发送一次是重要的,因此每当测距操作失败时,一些实施方案的过程1100共享(在1105处)新的共享秘密。虽然一些实施方案可允许共享秘密用于多于一个测距操作,但这可允许攻击者捕获随机数并重放它们,以欺骗设备相信该设备更接近其真正位置。
在一些实施方案中,共享秘密(以及从共享秘密导出的任何值)仅用于单个测距操作,因此当一些实施方案的方法确定设备不在期望的接近度内(或者测距信息不能被验证)时,该方法丢弃共享秘密和任何共享值(例如,随机数、导出密钥等),并且在再次开始该过程之前生成新的共享秘密。当过程1100确定(在1130处)目标随机数有效时,过程1100记录(在1135处)样本距离测量结果并结束。
图12概念性地示出了目标设备使用与可信设备的安全测距来捕获样本距离测量结果的过程。当可信设备(例如,手表、移动电话、密钥卡等)用于解锁目标设备(例如,膝上型电脑、台式计算机、平板电脑等)时,一些实施方案的过程1200由目标设备执行。在一些实施方案中,特定设备既作为用于第一组设备的可信设备操作,又作为用于第二组设备的目标设备操作。
过程1200开始于与可信设备共享(在1205处)共享秘密。过程1200然后导出(在1210处)用于加密和交换测距数据的导出密钥。一些实施方案的测距数据包括在设备之间发送不同随机数的时间戳。另选地或结合地,一些实施方案的测距数据包括一组随机数,该一组随机数与设备之间的测距信号一起发送以允许接收设备确认测距信号的发送者的身份。
过程1200然后从可信设备接收(在1215处)随机数并记录接收时间(T2)。可信设备随机数允许目标设备验证随机数来自可信设备(例如,因为它也已经生成相同的随机数)。过程1200然后确定(在1220处)可信设备随机数是否有效。例如,在一些实施方案中,过程1200确定(在1220处)当可信设备随机数与在可信设备处生成的对应随机数(例如,使用相同的导出函数从公共导出密钥导出)匹配时,可信设备随机数是有效的。
当过程1200确定(在1220处)可信设备随机数无效时,过程1200返回到步骤1205并共享(在1205处)新秘密以重新开始测距过程。由于对于特定随机数而言仅发送一次是重要的,因此每当测距操作失败时,一些实施方案的过程1200共享(在1205处)新的共享秘密。虽然一些实施方案可允许共享秘密用于多于一个测距操作,但这可允许攻击者捕获随机数并重放它们,以欺骗设备相信该设备更接近其真正位置。
当过程1200确定(在1220处)可信设备随机数有效时,过程1200生成(在1225处)目标随机数。目标随机数允许可信设备验证所生成的随机数来自目标设备(例如,因为它也生成相同的随机数)。在1230处,过程1200将所生成的目标随机数发送到可信设备并记录发送时间(T3)。过程1200然后记录(在1235处)样本距离测量结果。然后过程1200结束。
在一些实施方案中,重复该过程若干次以收集多个样本距离测量结果。一些实施方案的过程1100和1200为每个样本距离测量结果生成新的共享秘密,而在其他实施方案中,为所有样本距离测量结果使用相同的共享秘密,但是为每个样本导出新的密钥和随机数。然后使用所收集的样本测量结果来确定两个设备是否在所需范围内,如下文参考图15所述。
在一些实施方案中,测距操作在多个阶段中执行。例如,一些实施方案的设备具有可在频谱的多个频带上通信的硬件。在一些此类实施方案中,希望使用较低频带(例如,由于功率需求),但较低频率的手可能无法提供确定可信设备是否在目标设备附近所需的必要精确度。不同的频带可提供具有不同的阈值距离的不同的最小阈值可分辨差值。
图13示出了距设备的主要阈值距离和次要阈值距离的示例。该图示出了待解锁的目标设备1305。该图用于示出用于双频带测距操作的不同距离,并且参考图14进行描述。图14概念性地示出了利用多个频带执行测距操作的过程。
过程1400开始于利用第一较低频带执行(在1405处)测距操作。较低频带可用于确定(在1410处)可信设备是否在次要阈值距离1315内(例如,不是用于确定设备是否彼此处于必要接近度的主要阈值距离),但是可能不明确地区分可信设备在次要阈值距离1315内的位置。一些实施方案的测距操作类似于上述操作,但是由于其尚未确定另一设备是否在主要阈值距离1310内,因此过程1400尚未解锁设备。
在一些实施方案中,利用较低频带执行的测距操作类似于上述操作,但是在其他实施方案中,较低频带使用与较高频带不同的测距操作。一些实施方案的初步测距操作可用作无线协议标准的一部分。例如,较低频带的测距操作使用接收信号强度指示(RSSI)来确定设备在次要阈值距离1315内。RSSI使用信号强度来获得不精确的距离测量结果。然而,RSSI可能易受欺骗攻击,该欺骗攻击放大合法信号以使设备看起来比它们真正更靠近彼此。RSSI不如随机数的交换安全,但是也更容易实现并且消耗更少的功率。在一些实施方案中,使用不太安全的初步测距操作来确定是否执行更安全的次要测距操作。
当过程1400确定(在1410处)另一设备不在第一(次要)阈值距离内时,过程1400结束。当过程1400确定(在1410处)另一设备在次要阈值距离内时,过程1400利用第二频带执行(在1415处)第二更精确且安全的测距操作(如上文参考图9至图12所述的那些)。一些实施方案的第二频带是较高频带,该较高频带提供必要的精确度以确定(在1420处)设备是否在主要阈值距离内。在一些实施方案中,基于不同频带的频率来确定主要阈值距离1315和次要阈值距离1310。
当过程1400确定(在1420处)另一设备不在主要阈值距离内时,过程1400结束。当过程1400确定(在1420处)另一设备在主要阈值距离内时,过程1400通过安全信道发送解锁消息(在1425处),如上述示例中所述。然后过程1400结束。这样,在允许可信设备解锁目标设备之前,一些实施方案的设备使用安全测距信息来确定可信设备和目标设备是否在彼此的指定范围内。下文描述了用于实际计算设备是否在特定接近度内的过程的示例。
在一些实施方案中,可信设备和目标设备基于在设备之间交换的一组测距数据来确定另一个设备是否在特定范围内或接近度内。图15概念性地示出了基于一组消息时间戳(例如,通过导出信道交换的时间戳,如上所述)来确定设备是否在彼此的阈值距离内的过程。在一些实施方案中,由目标设备和可信设备两者在安全转换过程期间执行过程1500。
过程1500记录(在1505处)用于测距随机数的发送时间戳和接收时间戳。上文参考图11和图12描述了发送和接收随机数以及记录发送时间和接收时间的时间戳的过程。
过程1500与另一设备交换(在1510处)随机数何时发送和接收的时间戳。例如,在上述示例中,可信设备发送发送第一随机数的时间和接收第二随机数的时间,而目标设备发送接收第一随机数的时间和发送第二随机数的时间。在一些实施方案中,发送的时间戳和接收的时间戳通过测距信道加密(例如,使用导出密钥)。
在1515处,过程1500确定时间戳是否落入为测距操作的安全性策略设置的一组时间约束内。例如,在一些实施方案中,过程1500确定(在1515处)接收第一随机数和发送第二随机数之间的时间是否落入允许的时间范围内。通过约束随机数的接收和发送之间的允许时间范围,设备可防止可尝试利用设备的系统时钟漂移的坞站漂移攻击。
当过程1500确定(在1515处)时间戳不符合指定时间约束时,过程前进至步骤1545,如下文所述。当过程1500确定(在1515处)时间戳确实符合指定时间约束时,过程1500计算(在1520处)在设备之间发送的随机数的发送时间和接收时间之间的时间范围。计算的范围指示随机数在设备之间行进所需的时间量。在一些实施方案中,在计算距离测量结果中的任一者之前捕获若干样本距离测量结果。
在1525处,过程1500确定是否捕获更多样本。当过程1500确定(在1525处)需要更多样本时,该过程返回到步骤1505以执行另一个测距操作以捕获另一个样本距离测量结果。过程1500然后分析(在1530处)来自样本测距操作的样本距离测量结果(或时间戳)以确定设备是否在特定范围内。一些实施方案的分析基于计算,诸如参考图10中的范围计算器1018、1028中的一者或多者描述的那些。
过程1500然后确定(在1535处)样本距离测量结果的分析是否指示另一设备在阈值距离内。基于传送随机数所通过的频带的频率来识别一些实施方案的阈值距离。例如,在一些实施方案中,阈值距离是最小可分辨距离的倍数。
当过程1500确定(在1535处)另一设备不在阈值距离内时,过程1500确定(在1545处)设备可能不在期望的范围内并结束。
当过程1500确定(在1535处)另一设备在阈值距离内时,过程1500确定(在1540处)设备在特定范围内,并且过程1500然后结束。
如上所述,一旦设备确定它们在范围内,它们就可以交换授权信息(例如,解锁密钥、秘密等)。在一些实施方案中,安全测距与安全协议的其他方面结合使用,以便安全地使用可信设备来修改目标设备的安全状态。
在一些实施方案中,第一设备执行测距操作以允许用户以若干用户账户中的一者访问(例如,登录)第一设备,而无需提供一个或多个设备访问凭据。在一些实施方案中,设备访问凭据是秘密或半秘密凭据,诸如密码、口令、生物特征输入等。在一些实施方案中,可在不提供用户名的情况下访问第一设备,而在其他实施方案中,用户必须提供用户想要访问设备的用户名或用户账户的一些其他指示。
当第二设备在第一设备的第一距离内时,第一设备的设备访问加速模块确定第二设备与第一用户账户相关联,用户可以该第一用户账户访问(例如,可登录到)第一设备。响应于该确定,加速模块启用至少一个替代交互(例如,一个无密码交互)以允许访问第一设备,而无需通过用户界面接收一个或多个访问凭据。然后加速模块检测启用的替代交互的发生。作为响应,加速模块指示第一设备的认证模块(例如,登录模块)允许以第一账户访问第一设备。在一些实施方案中,加速模块向认证模块提供替代凭据(例如,秘密)来代替第一用户账户访问凭据(例如,账户密码、口令、生物特征输入等),以便指示该模块允许以第一用户账户访问第一设备。
图16示出了在本主题技术的一些实施方案中第一设备的加速模块执行的访问加速过程1600。如图所示,在一些实施方案中,当第一设备的通信层(例如,蓝牙层)通知加速模块第二设备在第一设备的第一距离内时,该过程开始(在1605处)。在一些实施方案中,通信层执行测距操作,该测距操作搜索在特定通信信道(例如,蓝牙信道)上传输其可用性的附近设备。
当通信层找到此类设备时,其确定该设备是否在规定距离内并且已被启用以简化对第一设备的访问(例如,第二设备是否已与第一设备配对)。如果识别的设备尚未这样启用,或者不在规定距离内,则通信层不将其报告给加速模块。然而,如果识别的设备已被启用并且在规定距离内,则通信层将识别的设备报告给加速模块。在下文,识别的设备被称为第二设备,并且指定距离被称为第一距离。
接下来,在1610处,加速过程1600识别第一用户账户,以该第一用户账户用户可通过替代交互来访问(例如,可登录到)第一设备,该替代交互由于第二设备的接近度而可用。在1615处,加速过程使得替代交互能够允许访问第一设备,而无需通过第一设备的用户界面接收用于第一用户账户的一个或多个访问凭据(例如,密码或口令)。在一些实施方案中,过程1600保持该替代交互被启用,直到其接收到第二设备不再在第一设备的第一距离内的通知。
加速过程1600然后从第一设备的I/O(输入/输出)接口层接收(在1620处)启用的替代交互已发生的指示。作为响应,加速过程指示(在1625处)第一设备的认证模块(例如,登录模块)允许以第一账户访问第一设备。在一些实施方案中,加速模块向认证模块提供替代凭据(例如,秘密)来代替第一用户账户访问凭据(例如,账户密码),以便指示该模块允许以第一用户账户访问第一设备。在1625之后,过程1600结束。
在一些实施方案中,加速模块向认证模块提供相同的替代凭据,以在与这些用户账户相关联的次要设备在附近时指示该模块允许访问两个或更多个用户账户。然而,在其他实施方案中,加速模块向认证模块提供不同的替代凭据来以不同账户访问第一设备。因此,在这些实施方案中,加速过程1600必须识别(在1610处)(与第一设备和第二设备相关联的)第一用户账户的替代凭据,以便向认证模块提供(在1625处)该替代凭据。在一些实施方案中,加速过程还提供第一账户的用户名以及该替代凭据。在其他实施方案中,加速过程不需要提供第一账户的用户名,因为用户的动作识别用户想要访问设备的第一用户账户(例如,用户在由第一设备显示的呈现中选择第一用户账户)。
为了识别用户账户的替代凭据,访问加速过程1600检查数据存储库(例如,查找表),该数据存储库识别(1)与用于访问第一设备的用户账户相关联的其他设备,(2)与这些其他设备相关联的替代凭据,以及(3)在一些情况下,与这些其他设备相关联的用户名。基于该检查,在这些实施方案中,加速模块可识别第一账户的用户提供的访问凭据的替代凭据。
在其他实施方案中,第一设备的通信层不仅识别附近的设备,而且还识别与每个所识别的设备相关联的账户(例如,第二设备与第一用户账户相关联)。在这些其他实施方案中的一些实施方案中,通信层向加速模块传递第一用户账户的标识符,或加速模块可从其识别第一用户账户标识符的值。基于该标识符,加速模块向认证模块提供第一用户账户的替代凭据,并且在一些情况下提供用户名。
图17示出了替代交互的示例,在一些实施方案中,计算机1700提供该替代交互以允许用户以计算机的若干用户账户中的一者访问计算机。该示例以计算机的三个操作阶段1702、1704和1706示出。另外,在该示例中,计算机1700具有两个用户账户,一个用于John,另一个用于Jane。
第一阶段1702示出了计算机1700的显示屏幕显示呈现John账户和Jane账户的可选标识符1720和1725的触摸屏幕呈现1710。在一些实施方案中,当没有用户账户当前登录时,或者当显示屏幕已被锁定以阻止以一个或多个登录账户未经授权访问计算机时,计算机显示该呈现。第一阶段1702还示出了通过John通过光标控制器1735及其相关联的光标1730执行的光标点击操作来选择John的帐户标识符1720。如图所示,John在围绕手腕佩戴他的手表1740时执行该选择操作。
当计算机1700检测到与计算机的用户账户中的一者相关联的手表在附近(即,在特定距离内)并且该手表包绕在人手上时,计算机的访问加速模块(未示出)启用替代交互以允许John更快速地访问计算机。在该示例中,替代交互是对访问屏幕呈现1710中的John帐户标识符1720的选择。
因此,当John在佩戴他的手表时通过光标控制器选择(在1702处)他的账户标识符1720时,计算机解锁所显示的呈现以显示与John的用户账户相关联的桌面页面1760,如图17中阶段1706以及从阶段1702到阶段1706的转换所示。如果在1702处未登录到该账户,则计算机1700在其从1702转换到1706时执行登录操作。
如果当John的账户标识符1820被选择时John的手表1740不在计算机附近,则计算机将已经从1804转换到1806,在那里它将呈现凭据输入显示窗口1750以接收John的账户密码。仅在接收到该密码之后,计算机才会转换到John的桌面页面1760,如图18所示。然而,当以Jane的账户登录到计算机时,当John的手表在附近和手腕上时,可仅通过在用户菜单1807中选择John的账户标识符1820来将其切换至John的账户。
在一些实施方案中,第一设备的加速模块不仅可加速设备的访问操作(通过支持更无缝的设备访问交互来代替用户访问凭据输入),而且还可加速第一设备上的需要提交用户凭据的其他操作(例如,密码、口令、生物特征输入、用户名等)。在这些实施方案中,加速模块用作授权加速模块。例如,为了更改设备上的一些设置(例如,隐私设置、账户设置、安全设置等),需要用户输入密码、口令或生物特征输入是非常常见的。类似地,需要此类输入来在设备上安装程序或通过该设备购买物品是非常常见的。
因此,为了在第一设备上补充现有凭据输入方法,在一些实施方案中,加速模块启用更简单的替代交互以在第一设备上更改设置、安装程序和/或购买物品。当第二相关联的设备在附近时,第一设备的加速模块启用这些替代交互。例如,一些实施方案在第一设备上执行测距操作以检测到第二设备在第一设备的特定距离内,使得当第二设备在该距离内时,加速模块可启用第一设备上的替代交互。
对于这些操作中的一些操作(例如,更改设置),在一些实施方案中,替代交互可以是(1)选择UI项以执行操作(例如,解锁更改设置),或(2)输入值。当执行该替代交互时,加速模块向第一模块的授权模块提供替代凭据来代替用户提供的凭据,使得授权模块可以向必须执行操作的模块(例如,必须更改设备上的设置的模块)授权操作。
图19示出了替代交互的示例,在一些实施方案中,计算机1700提供该替代交互以允许用户更改设置,代替提供密码来执行该操作。该示例以计算机的三个操作阶段1902、1904和1906示出。
第一阶段1702示出了显示与John的用户账户相关联的桌面页面1760的计算机1700的显示屏幕。如图所示,该页面示出了具有可被启用或禁用的防火墙设置1914的安全设置显示区域1912。第一阶段还示出了通过John通过光标控制器1735及其相关联的光标1730执行的光标点击操作来选择设置锁定状态标识符1905。如图所示,John在围绕手腕佩戴他的手表1740时执行该选择操作。如进一步所示,设置锁定状态标识符1905指示其被选择时的锁定状态。该锁定状态指示防火墙设置1914不能被更改,因为该设置已被锁定。
出于解释的目的,图17中的计算机1700被示出为显示与John的用户账户相关联的桌面页面1760,该桌面页面包括具有防火墙设置1914的安全设置显示区域1912。然而,本主题技术不限于与用户账户相关联的桌面页面。本主题技术还适用于应用程序诸如网络浏览器、文档编辑器等的用户界面。例如,本主题技术可适用于例如web浏览器的用户界面,该用户界面允许用户查看其密码列表以及/或者允许用户在网页上输入其存储的登录信息。
通常,选择设置解锁选项1905将使得计算机的显示呈现从1902转换到1904,在那里它将呈现凭据输入显示窗口1750以接收John的账户密码。仅在接收到该密码之后,计算机才会转换到阶段1906,该阶段示出设置锁更改为解锁状态,以指示现在可以在设置显示页面1760中更改防火墙设置1914。
然而,在图19所示的示例中,计算机1700允许John通过简单地在阶段1902中选择状态标识符来将状态标识符从锁定状态更改为解锁状态以转换到阶段1906。这是因为在该示例中,计算机1700检测到John的手表(其与计算机的用户账户中的一者相关联)在附近并且包绕在人手上。这些检测到的条件使得计算机的访问加速模块(未示出)启用替代交互,以允许John更改设置锁状态标识符的状态。在该示例中,替代交互是对该标识符1905的选择。
在一些实施方案中,一些操作的替代交互(例如,改变设备设置、安装程序或购买物品)需要在第一设备上选择UI项之后,向第二设备发送请求以寻求对请求的操作的授权。在一些实施方案中,第二设备显示授权请求以及描述该请求并且提供用于接受或拒绝该请求的控制的通知。当在第二设备上接受该请求时,加速模块向授权模块提供替代凭据来代替用户提供的凭据。作为响应,授权模块向必须执行操作的第一设备模块(例如,必须更改设备上的设置、安装程序或在第一设备上购买物品的模块)授权所请求的操作。在一些实施方案中,使用上述交互来向与计算机上的管理账户相关联的智能手表发送从计算机(例如,膝上型电脑或台式电脑)更改设置、安装程序或购买物品的请求。
在一些实施方案中,即使当第一设备当前以对所请求的操作不具有特权的用户账户被访问时,加速模块也可启用第一设备上的替代交互。例如,当以第二用户账户登录到第一设备时,用户可能尝试在第一设备上更改设置、安装程序或购买物品,这不能通过提供第二用户账户的登录凭据来完成。在这些情况下,在一些实施方案中,当第二设备在第一设备的特定距离内并且第二设备与第一用户账户相关联时,第一设备的加速模块可向第二设备发送批准期望的操作(例如,更改设置、安装程序、购买物品等)的请求。
在一些实施方案中,在向第二设备发送批准第一设备上的某些替代交互的请求之前,第一设备的加速模块不需要确定第二设备在第一设备的特定范围内。这是因为在这些实施方案中,每当第一设备检测到第二设备可用于通过第一设备和第二设备的近程收发器(例如,蓝牙收发器、WiFi收发器等)与第一设备直接对等连接时,第一设备发送此类请求。两个设备之间的直接对等连接是不必经过这两个设备之外的任何其他居间电子设备的对等连接。因此,在这些实施方案中,在第一设备加速模块可向第二设备发送授权请求之前,第一设备不需要执行任何测距操作来确定第二设备在第一设备的特定接近度内。
图20至图23示出了替代交互的若干示例,该替代交互涉及向第二设备发送请求以寻求对第一设备上的请求的操作的授权。图20示出了与图19的设置更改示例类似的设置更改示例。然而,与图19中的示例不同,John对设置锁状态标识符1905的选择不会导致计算机由于John手表的接近度和手腕上状态而转换到阶段1906。
John的手表的接近度和手腕上状态使得计算机向John的手表发送通知2050以寻求用于解锁设置锁1905的授权,如图20中从阶段1902到阶段2004的转换所示。在阶段2004处,计算机还显示凭据输入显示窗口1750以接收John的账户密码。阶段2004示出了John通过在手表上显示的通知中轻击选择“是”来批准对设置锁1905的解锁。如图所示,该批准使得计算机转换到阶段1906,该阶段示出设置锁更改为解锁状态,以指示现在可以在设置显示页面1760中更改防火墙设置1914。
在一个或多个具体实施中,John还可以能够通过与手表上的一个或多个按钮(诸如物理按钮和/或硬件按钮)手动交互和/或提供语音命令来批准经由其手表解锁设置锁。例如,该手表可包括侧按钮,John可连续按压该侧按钮多次,诸如两次(例如,双击),以便批准经由其手表解锁设置锁。在一个或多个具体实施中,John可使用手表上的一个或多个按钮来批准本文所述的操作中的任何操作。
在一些实施方案中,图20的示例中的计算机1700向John的手表发送通知,因为它执行测距操作以确定手表在计算机的规定距离内。在其他实施方案中,该示例中的计算机1700向John的手表发送该通知,因为手表足够近以在计算机和手表之间建立近程无线直接对等连接(例如,计算机和手表之间的直接对等蓝牙连接)。
图21呈现了示例,该示例示出了在一些实施方案中,即使当第一设备当前以对所请求的操作不具有特权的用户账户被访问时,加速模块也可启用用于在第一设备上更改设置的替代交互。该图中所示的示例类似于图20中所示的示例,不同的是在Jane登录到计算机1700时在第一阶段2102中提出解锁设置锁1905的请求。
在该示例中,Jane不具有在计算机上更改设置或安装程序的管理权限。因此,当Jane试图解锁设置锁1905时,计算机在2104处显示凭据输入显示窗口2150,该凭据输入显示窗口要求她提供对所请求的操作具有管理特权的用户帐户的用户名和密码。在2104处,当计算机确定手表在附近并且在手腕上时,计算机还向John的手表发送通知以寻求用于解锁设置锁1905的授权。在一些实施方案中,计算机1700执行测距操作以确定John的手表在附近(即,确定手表在计算机的规定距离内)。在其他实施方案中,计算机1700确定手表在附近,因为手表足够近以与计算机建立近程无线直接对等连接。
John手表上的通知是用于允许在计算机1700上更改设置的替代交互。阶段2104示出了John通过在手表上显示的通知中轻击选择“是”来批准对设置锁1905的解锁。如图所示,该批准使得计算机转换到阶段2106,该阶段示出设置锁更改为解锁状态,以指示当Jane登录到计算机1700中时,现在可以在设置显示页面1760中更改防火墙设置1914。
图22示出了通过向手表发送请求以寻求计算机上该操作的授权,允许在计算机1700上无密码安装程序的示例。该示例类似于图20所示的示例,不同的是图22中的示例涉及在计算机1700上安装程序并且不更改设置。因此,该图中的示例开始于John在第一阶段2202中选择程序包2212以开始在计算机上安装程序的过程。
该选择使得计算机转换到2204,在那里其呈现凭据输入显示窗口1750以接收John的账户密码,以便授权所请求的安装。然而,在2204处,计算机还向John的手表发送通知2140以寻求用于安装程序的授权,因为计算机确定手表在附近并且在手腕上。在一些实施方案中,计算机1700执行测距操作以确定John的手表在附近(即,确定手表在计算机的规定距离内)。在其他实施方案中,计算机1700确定手表在附近,因为手表足够近以与计算机建立近程无线直接对等连接。
John手表上的通知是用于在计算机1700上允许安装程序的替代交互。阶段2204示出了John通过在手表上显示的通知中轻击选择“是”来批准安装程序。该批准指示计算机安装程序,如阶段2206所指示,该阶段示出了安装在计算机上的程序。
图23呈现了示例,该示例示出了在一些实施方案中,即使当第一设备当前以对安装程序不具有特权的用户账户被访问时,加速模块也可启用用于在第一设备上安装程序的替代交互。该图中所示的示例类似于图22中所示的示例,不同的是在Jane登录到计算机1700时在第一阶段2302中提出安装程序的请求。
在该示例中,Jane不具有在计算机上安装程序的管理权限。因此,当Jane试图安装程序时,计算机在2304处显示凭据输入显示窗口2150,该凭据输入显示窗口要求她提供对所请求的操作具有管理特权的用户帐户的用户名和密码。在2304处,计算机还向John的手表发送通知以寻求用于安装程序的授权,因为计算机确定手表在附近并且在手腕上。在一些实施方案中,计算机1700执行测距操作以确定John的手表在附近(即,确定手表在计算机的规定距离内)。在其他实施方案中,计算机1700确定手表在附近,因为手表足够近以与计算机建立近程无线直接对等连接。
如上所述,John手表上的通知2140是用于在计算机1700上允许安装程序的替代交互。阶段2304示出了John通过在手表上显示的通知中轻击选择“是”来批准该安装。该批准指示计算机安装程序,如阶段2206所指示,该阶段示出了安装在计算机上的程序。
在执行测距操作的一些实施方案中,当第二设备在距第一设备的不同距离范围内时,第一设备的加速模块可启用不同组的替代交互。例如,当第二设备在第一设备的第一距离范围内时,加速模块启用第一组替代交互来代替第二组交互,以用于在第一设备上执行第一组操作。当第二设备在第一设备的更靠近的第二距离范围内时,加速模块启用第三组替代交互来代替第一设备上的第四组交互,以在第一设备上执行第二组操作。
在一些实施方案中,第二距离范围被包括在第一距离范围中。因此,在这些实施方案中,当第二设备在第二距离范围内时,启用两组替代交互。另外,当第二设备落在第一范围之外时,加速模块禁用这些替代交互。当第二设备落在第二范围之外时,该模块还禁用第二组替代交互。
当第二设备在更靠近的第二距离范围内时,一些实施方案中,替代交互比当设备在更远的第一距离范围内时更无缝(例如,更快或需要来自用户的更少输入)。例如,当手表非常靠近计算机时,在一些实施方案中,用户可通过计算机的外围部件(例如,光标控制器、键盘等)上的单个笔画输入登录到计算机上的账户。另一方面,当手表距计算机稍远时,在一些实施方案中,计算机上的一个用户请求操作(例如,更改设置、安装程序、购买物品),并且手表上的另一个用户必须批准该请求。
图24示出了当手表处于距计算机的两个不同距离处时启用两种不同的替代交互的示例。该示例以三个部分2405、2410和2415示出,其中每个部分示出了计算机1700和手表1740的两个操作阶段。第一部分2405的第一阶段2402示出了John的手腕上的手表1740为(1)计算机显示仅识别John的用户账户的访问显示呈现,以及(2)John按下计算机1700的键盘2424上的空格键2422。
如第二阶段2404所示,在John的手表在手腕上和附近时与空格键的这种交互指示计算机呈现John的桌面页面(即,登录到John的账户或解锁锁定的显示屏幕以允许访问John的账户)。在该示例中,与空格键的交互是用于提供John的密码的替代交互。当计算机检测到John的手表在附近和手腕上时,计算机1700的访问加速模块启用John的帐户的这种替代交互。
当计算机检测到John的手表不再在附近(即,不再在规定距离内)或未附连到人时,访问加速模块禁用John的帐户的这种替代交互。该示例在第二部分2410中示出。具体地讲,第二部分2410的第一阶段2406示出John的手表远离计算机,因为Jane按下空格键2422而计算机在访问显示呈现上显示John的用户帐户标识符。第二阶段2408示出了Jane与空格键的交互没有效果。这不会使得计算机以John的账户登录或以John的账户解锁锁屏。这是因为一旦John的手表离开计算机超过规定距离,访问加速模块就禁用John的帐户的空格键替代访问交互。
在图24的第二部分2410和第三部分24915中,John的手表与计算机1700相距距离d2。第三部分2415示出了在更远的距离d2处,计算机的访问加速模块可启用用于在计算机上安装程序的替代交互,即使其已经禁用需要手表更接近的空格键替代访问交互。该部分的第一阶段2412示出了Jane以她的账户登录计算机时试图安装程序。因为她不具有在计算机上安装程序的管理权限,因此计算机的访问加速模块向John的手表发送对该安装的批准请求,该手表在手腕上并且在规定范围内以批准此类操作。第二阶段2414示出了John批准了该安装。其还示出了安装在计算机上的该程序。
图25示出了在第一设备上执行的若干模块,这些模块启用在第一设备上执行不同操作的不同替代交互。在该图所示的示例中,当第二设备在附近并且可用于促进这些替代交互时,访问加速器2505启用替代交互。另外,在该示例中,替代交互提供了用于登录到第一设备、解锁第一设备上的锁屏呈现、解锁第一设备上的锁定设置、在第一设备上安装程序以及在第一设备上购买物品的不同方式。
除了访问加速器2505之外,图25的模块包括认证管理器2510、通信管理器2515、输入管理器2520、设置管理器2525、程序安装管理器2530、登录管理器2535、锁屏管理器2540和购买管理器2545。在一些实施方案中,通信管理器2515包括与第一设备的一个或多个近程收发器(未示出)进行交互的一个或多个驱动器。此类收发器的一个示例是第一设备的蓝牙收发器。
通信管理器2515还包括范围计算器(未示出),该范围计算器迭代地执行上述范围操作以连续搜索已被启用以支持第一设备上的替代交互的附近设备。在一些实施方案中,这些测距操作确定启用的第二设备是否在用于启用第一设备上的第一组操作的第一组替代交互的第一距离内,或者是否在用于启用第一设备上的第二组操作的第二组替代交互的更靠近的第二距离内。
当通信管理器的范围计算器识别出在第一设备的第一距离或第二距离内的第二设备时,它向访问加速器2505提供通知,该通知带有第二设备提供的关于支持替代交互的其可用性的数据的。例如,在一些实施方案中,当其可用性数据指示手表当前附接到人(例如,包绕在用户的手腕上)并且被解锁且不在充电器上时,被认为是可用的。
当访问加速器2505从通信管理器2515接收到第二设备在第一设备的第一距离或第二距离内的通知时,加速器2505分析伴随该通知的第二设备可用性数据,以确定当前设备当前是否可用于支持第一设备上的替代交互。当访问加速器2505确定第二设备当前不可用时(例如,确定手表未附接到人、被锁定和/或在充电器上),如果通信管理器已经与第二设备建立连接,则加速器指示通信管理器终止与第二设备的连接。
另一方面,当访问加速器2505确定第二设备当前可用(例如,确定手表附接到人、被解锁并且不在充电器上)并且在第一设备的第一距离或第二距离内时,加速器启用与所报告的第二设备的第一距离或第二距离相关联的第一组替代交互或第二组替代交互。每个启用的替代交互与通过第一设备的输入接口接收的至少一个输入相关联。因此,对于每个启用的交互,当输入管理器通过第一设备的输入接口接收交互的相关联输入时,加速器2505向输入管理器2520注册以接收交互的相关联输入。
在图25所示的示例中,替代交互都是用于提供授权操作所需的用户认证数据的替代交互,诸如解锁锁定设置值、登录到计算机、解锁锁定的显示屏幕呈现、安装程序或购买物品。认证管理器2510负责授权设置管理器2525、程序安装管理器2530、登录管理器2535、锁屏管理器2540和购买管理器2545的这些操作中的任一者。通常,认证管理器通过验证用户提供的凭据(例如,名称、密码、口令、生物特征输入等)来执行其认证操作。
然而,在一些实施方案中,认证管理器2510还可基于当加速器从输入管理器2520接收到对替代交互的通知时访问加速器2505提供的替代凭据来授权模块2525至2545的操作。因此,当第二设备在第一设备的第一距离内并且可用(例如,手表在手腕上、解锁且不在充电器上),并且输入管理器2520通知加速器2505已接收到用于登录到或解锁第一设备的显示屏幕的启用的替代输入交互时,访问加速器2505向认证管理器2510提供秘密,该秘密是以与第二设备相关联的用户账户登录第一设备或解锁第一设备的显示屏幕所必需的用户密码的替代凭据。然后认证管理器2510继而指示登录管理器2535或锁屏管理器2540发起与第二设备相关联的账户的登录操作或屏幕解锁操作。如上所述,加速器在一些实施方案中为不同的次要设备提供不同的替代凭据,因为不同的设备可与不同的账户相关联。另外,在提供替代凭据之前,访问加速器在一些实施方案中向第二设备发送对特定操作授权的请求(通过通信管理器2515),例如,授权安装程序的请求。仅在从第二设备接收到该授权之后(通过通信管理器2515),加速器才向认证管理器提供替代凭据。当第二设备拒绝或忽略授权请求时,加速器不提供该凭据。
图26示出了在一些实施方案中当已被启用用于替代交互的第二设备进入第一设备的第一距离内时,第一设备的访问加速器2505执行的过程2600。该过程在通信管理器2515通知加速器2505其已经识别到在第一设备的第一距离内启用第二设备时开始。利用该通知,通信管理器2515提供其从第二设备获得的可用性数据,作为通信管理器执行以识别第二设备的查找操作的一部分。
过程2600初始检查(在2605处)可用性数据以确定第二设备是否可用于支持第一设备上的替代交互。如上所述,在一些实施方案中,当智能手表的可用性数据指示手表当前附接到人(例如,包绕在用户的手腕上)并且被解锁时,智能手表被认为是可用的。当过程2600确定第二设备不可用于支持第一设备上的替代交互(例如,手表未附接到任何人或被锁定)时,过程结束。
当过程2600确定第二设备可用于支持第一设备上的替代交互(例如,手表附接到某人并被解锁)时,过程2600启用(在2610处)用于在第一设备上执行第一组操作的第一组替代交互。该过程然后向输入管理器2520注册(在2615处)以接收与第一组替代交互相关联的通知。
在2620处,该过程然后确定其是否已经从输入管理器2520接收到该管理器已经检测到与第一组中的替代交互中的一者相关联的输入的通知。如果是,则过程2600执行(在2625处)子过程以允许与在2620处检测到的替代交互的输入相关联的操作。在一些情况下,替代交互仅是通过第一设备的输入界面的单个输入(例如,按下空格键、选择设置锁等),响应于该输入,访问加速器2505向认证管理器2510提供访问凭据替代(例如,秘密),以授权特定操作(例如,登录到第一设备、解锁第一设备上的锁屏呈现、解锁设置锁等)。在一些实施方案中,访问凭据替代是与也与第二设备相关联的账户相关联的凭据替代。
在其他情况下,替代交互具有多个部分,一个部分需要通过第一设备的输入界面进行输入,并且另一个部分包括第二设备上的交互。此类替代交互的示例包括需要用户通过在其手表上指示该批准来批准计算机上的操作的上述程序安装和设置解锁操作。对于此类替代交互,过程2600向第二设备发送(在2625处)批准请求,并且一旦它接收到对该请求的批准,就)向认证管理器2510提供访问凭据替代(例如,与也与第二设备相关联的账户相关联的秘密)以授权特定操作(例如,登录到第一设备、解锁设置锁等)。过程2600通过通信管理器2515发送批准请求并接收批准请求。在2625之后,该过程返回到2620。
当该过程确定(在2620处)其尚未从输入管理器2520接收到关于与第一组中的替代交互中的一者相关联的输入的通知时,该过程确定(在2630处)第二设备是否仍然在第一距离内。在一些实施方案中,当第二设备已经远离第一设备移动到由第一距离限定的第一范围之外时,通信管理器2515通知访问加速器2505。当过程2600确定(在2630处)第二设备比第一距离远时,该过程结束。
否则,该过程确定(在2635处)第二设备是否已经移动靠近第一设备以现在处于第一设备的更靠近的第二距离内。在一些实施方案中,当第二设备已经朝向第一设备移动到由第二距离限定的第二范围内时,通信管理器2515通知访问加速器2505。第一范围包括第二范围。当过程2600确定(在2635处)第二设备不在第一设备的第二距离内时,该过程返回到2620。
另一方面,当过程2600确定(在2635处)第一设备现在处于第一距离的第二距离内时,过程2600启用(在2640处)用于在第一设备上执行第二组操作的第二组替代交互。该过程然后向输入管理器2520注册(在2645处)以接收与第二组替代交互相关联的通知。
在2650处,该过程然后确定其是否已经从输入管理器2520接收到该管理器已经检测到与第一组或第二组中的替代交互相关联的输入的通知。如果是,则过程2600执行(在2655处)子过程以允许与在2650处检测到的替代交互的输入相关联的操作。如在2625中那样,替代交互在一些情况下涉及仅在第一设备上接收输入,而在其他情况下涉及在第一设备上接收输入,向第二设备发送交互请求,以及从第二设备接收对所请求的交互的确认。当访问加速器检测到已经发生单部分或多部分替代交互时,其向认证管理器2510提供(在2655处)访问凭据替代(例如,秘密)以授权特定操作(例如,登录到第一设备、解锁设置锁等)。在一些实施方案中,该访问凭据替代是与也与第二设备相关联的账户相关联的凭据替代。在2655之后,该过程返回到2650。
当该过程确定(在2650处)其尚未从输入管理器2520接收到关于与第一组或第二组中的替代交互相关联的输入的通知时,该过程确定(在2660处)第二设备是否仍然在第二距离内。在一些实施方案中,当第二设备已经远离第一设备移动到由第二距离限定的第二范围之外时,通信管理器2515通知访问加速器2505。当过程2600确定(在2660处)第二设备比第二距离远时,该过程返回到2620。否则,该过程返回到2650。
图27示出了过程2700,该过程示出了当通信管理器检测到第二设备在第一设备的第一距离内时通信管理器2515和访问加速器2505在一些实施方案中执行的操作。在一些实施方案中,通信管理器连续搜索正在对无线近程射频(诸如蓝牙频率)执行广播通告的附近设备。过程2700在其检测到来自距离第一设备第一距离内的第二设备的通告时开始。在一些实施方案中,通信管理器的范围计算器迭代地执行测距操作以识别第一设备和第二设备之间的距离。
如图所示,通信管理器2515初始确定(在2705处)是否已启用第二设备以支持与第一设备的替代交互。在一些实施方案中,第二设备将经历与第一设备的配对过程,并且将不得不与和第一设备相关联的用户账户中的一者相关联。在其他实施方案中,第二设备仅需与和第一设备相关联的用户账户中的一者相关联。
当通信管理器2515确定(在2705处)第二设备尚未被启用以支持与第一设备的替代交互时,其结束。否则,该通信管理器向访问加速器2505提供(在2710处)过程2700从第二设备接收的操作模式数据,然后开始(在2735处)用于与第二设备建立连接会话的过程。
当访问加速器从通信管理器接收(在2715处)操作模式数据时,该访问加速器确定(在2720处)该数据是否指示第二设备处于使其可用于支持与第一设备的替代交互的操作模式。如上所述,当第二设备是智能手表时,在一些实施方案中,当其操作模式数据指示手表当前附接到人(例如,包绕在用户的手腕上)、被解锁并且其不在充电器上时,它被认为是可用的。另外,如上所述,手表在不同实施方案中以不同方式指定其状态信息。上文参考图17描述了用于提供手表的操作状态信息的各种方式。
当访问加速器确定(在2720处)第二设备可用于支持替代交互时,访问加速器将一组替代交互指定为可用,直到通信管理器通知其第二设备比第一距离远(在2725处)。否则,当访问加速器确定(在2720处)第二设备不可用于支持替代交互时,其指示(在2730处)通信管理器取消其与第二设备的连接会话或取消尝试建立此类会话。
在2735之后,通信管理器确定(在2740)其是否已经从访问加速器接收到取消请求。如果不是,则确定(在2745)是否已建立连接会话。如果尚未建立连接会话,则返回到2740。如果确定(在2745处)已完成连接会话,则转换到2750。通信管理器保持在2750处,直到其从访问加速器接收到取消其连接会话的指令,或者直到其检测到(基于范围计算器的测距操作)确定第二设备距第一设备比第一距离远。在2750之后,该过程结束。
上文所述的特征和应用中的许多可被实施为被指定为在计算机可读存储介质(还称为计算机可读介质)上记录的指令集的软件过程。在这些指令由一个或多个计算或处理单元(例如,一个或多个处理器、处理器的内核或者其它处理单元)执行时,这些指令使得一个或多个处理单元能够执行指令中所指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、随机存取存储器(RAM)芯片、硬盘驱动器、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)等。计算机可读介质不包括无线地传送或通过有线连接的载波和电信号。
在本说明书中,术语“软件”意在包括驻留在只读存储器中的固件或者存储在磁性存储设备中的应用程序,所述固件或应用程序可被读取到存储器中以用于由处理器进行处理。另外,在一些实施方案中,可在保留不同的软件程序的同时,将多个软件程序实现为更大程序的子部分。在一些实施方案中,还可将多个软件程序实施为独立程序。最后,共同实现本文所述的软件程序的独立程序的任何组合均在本主题技术的范围内。在一些实施方案中,当被安装以在一个或多个电子系统上运行时,软件程序定义执行和施行软件程序的操作的一个或多个特定机器具体实施。
图28概念性地示出了实现本主题技术的一些实施方案所利用的电子系统2800的示例。电子系统2800可为计算机(例如,台式计算机、个人计算机、平板电脑等)、电话、PDA或任何其他种类的电子或计算设备。此类电子系统包括各种类型的计算机可读介质以及用于各种其它类型的计算机可读介质的接口。电子系统2800包括总线2805、处理单元2810、图形处理单元(GPU)2815、系统存储器2820、网络2825、只读存储器2830、永久性存储设备2835、输入设备2840以及输出设备2845。
总线2805总体表示通信地连接电子系统2800的许多内部设备的所有系统、外围设备以及芯片组总线。例如,总线2805通信地将处理单元2810与只读存储器2830、GPU 2815、系统存储器2820以及永久性存储设备2835连接。
处理单元2810从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行本主题技术的过程。在不同实施方案中,一个或多个处理单元可为单个处理器或者多核处理器。一些指令被传送至GPU 2815并且由该GPU执行。GPU 2815可卸载各种计算,或补充由处理单元2810提供的图像处理。
只读存储器(ROM)2830存储处理单元2810以及电子系统的其他模块所需的静态数据和指令。另一方面,永久性存储设备2835是读写存储器设备。该设备是即使在电子系统2800关闭时也存储指令和数据的非易失性存储器单元。本主题技术的一些实施方案将海量存储设备(诸如磁盘或光盘及其相应硬盘驱动器、集成式闪存存储器)用作永久性存储设备2835。
其他实施方案将可移动的存储设备(诸如软盘、闪存存储器设备等,及其对应的驱动器)用作永久性存储设备。与永久性存储设备2835一样,系统存储器2820也是读写存储器设备。但是,与存储设备2835不同的是,系统存储器2820是易失性读写存储器,诸如随机存取存储器。系统存储器2820存储处理器运行时所需的指令和数据中的一些。在一些实施方案中,本主题技术的过程存储在系统存储器2820、永久性存储设备2835和/或只读存储器2830中。例如,各种存储器单元包括用于执行上述流程图和软件框图中所示的操作的指令。处理单元2810从这些各种存储器单元检索将要执行的指令以及将要处理的数据,以便执行一些实施方案的过程。
总线2805还连接至输入设备2840和输出设备2845。输入设备2840使得用户能够将信息传达至电子系统并且选择至电子系统的命令。输入设备2840包括字母数字键盘和指示设备(也称为“光标控制设备”)、摄像机(例如,网络摄像机)、麦克风或用于接收语音命令的类似设备等。输出设备2845显示由电子系统生成的图像或者其他输出数据。输出设备2845包括打印机以及诸如阴极射线管(CRT)或液晶显示器(LCD)的显示设备,以及扬声器或类似的音频输出设备。一些实施方案包括充当输入设备和输出设备两者的设备诸如触摸屏。
最后,如图28中所示,总线2805还通过网络适配器(未示出)将电子系统2800耦接到网络2825。以此方式,计算机可以是计算机的网络(诸如,局域网(“LAN”)、广域网(“WAN”)或内联网)的一部分,或者可以是网络的网络(诸如互联网)的一部分。电子系统2800的任何或全部部件可与本主题技术公开一起使用。
一些实施方案包括将计算机程序指令存储在机器可读或计算机可读介质(或者称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的电子组件,例如微处理器、存储装置以及存储器。此类计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可刻录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡,mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可刻录
Figure BDA0003302398440000471
盘、超密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可存储计算机程序,该计算机程序可由至少一个处理单元来执行并且包括用于执行各种操作的指令集。计算机程序或者计算机代码的示例包括机器代码,诸如由编译器所产生的机器代码,以及包括可由计算机、电子部件或微处理器使用解译器来执行的更高级别代码的文件。
虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但一些实施方案由一个或多个集成电路来执行,该一个或多个集成电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施方案中,此类集成电路执行存储在电路自身上的指令。此外,一些实施方案执行存储在可编程逻辑设备(PLD)、ROM或RAM设备中的软件。
如上所述,本发明技术的一个方面是采集和使用可从特定和合法来源获得的数据,以改善在用户的设备上实现替代交互。本公开设想,在一些实例中,该所采集的数据可包括唯一地识别或可用于识别具体人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于位置的数据、在线标识符、电话号码、电子邮件地址、家庭地址、与用户的健康或健身级别相关的数据或记录(例如,生命特征测量、药物信息、锻炼信息)、出生日期或任何其他个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于根据用户的偏好实现替代交互。因此,使用此类个人信息数据使得用户能够对替代交互具有更大的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可根据用户的偏好来使用以提供对其总体健康状况的见解,或者可用作对使用技术来追求健康目标的个体的积极反馈。
本公开设想负责收集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,将期望此类实体实现和一贯地应用一般公认为满足或超过维护用户隐私的行业或政府所要求的隐私实践。关于使用个人数据的此类信息应当被突出地并能够被用户方便地访问,并应当随数据的收集和/或使用变化而被更新。用户的个人信息应被收集仅用于合法使用。另外,此类收集/共享应仅发生在接收到用户同意或在适用法律中所规定的其他合法根据之后。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应针对被收集和/或访问的特定类型的个人信息数据调整政策和实践,并使其适用于适用法律和标准,包括可用于施加较高标准的辖区专有的具体考虑因素。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就启用替代交互而言,本发明技术可被配置为在注册服务期间或之后任何时候允许用户选择“选择加入”或“选择退出”参与对个人信息数据的收集。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除标识符、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集位置数据)、控制数据如何被存储(例如,在用户间汇集数据)和/或其他方法诸如差异化隐私来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可基于聚合的非个人信息数据或绝对最低数量的个人信息,诸如仅在用户设备上处理的内容或其他可用的非个人信息,在用户的设备上启用特定的替代交互。
如本说明书以及本专利申请的任何权利要求所用,术语“计算机”、“服务器”、“处理器”及“存储器”均是指电子或其他技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语显示或正在显示意指在电子设备上显示。如本说明书以及本专利申请的任何权利要求所用,术语“计算机可读介质”以及“机器可读介质”完全限于以可由计算机读取的形式存储信息的可触摸的有形物体。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。
虽然已参考许多特定细节描述了本主题技术,但本领域的普通技术人员将认识到,可在不脱离本主题技术的实质的情况下以其他特定形式来体现本主题技术。例如,多个附图(包括图1、图3、图4、图7、图11、图12、图14、图15、图16、图26和图27)概念性地示出了过程。这些过程的特定操作可不以所示出和所描述的确切次序执行。可不在一个连续的操作系列中执行该特定操作,并且可在不同实施方案中执行不同的特定操作。此外,该过程可使用若干子过程来实施,或者作为更大宏过程来实施。因此,本领域的普通技术人员将理解,本主题技术不受前述例示性细节限制,而是将由所附的权利要求所限定。

Claims (20)

1.一种方法,包括:
识别在第一计算设备的第一距离内的第二计算设备,所述第二计算设备与第一用户账户相关联,并且以不同于所述第一用户账户的第二用户账户登录到所述第一计算设备;
响应于所述识别,启用替代交互以用于授权在以所述第二用户账户登录到的所述第一计算设备上的操作;
检测所述替代交互;以及
响应于检测到所述替代交互,在所述第一计算设备上执行所述操作。
2.根据权利要求1所述的方法,其中所述第一计算设备要求用户认证来执行所述操作。
3.根据权利要求2所述的方法,其中所述启用所述替代交互使得所述第一计算设备接受所述替代交互作为所述用户认证。
4.根据权利要求1所述的方法,其中所述第二计算设备被配置为接收与所述替代交互相关联的用户交互,并且响应于接收到所述用户交互而提供所述替代交互。
5.根据权利要求1所述的方法,其中所述替代交互用于授权所述第一计算设备上的设置更改。
6.根据权利要求1所述的方法,其中所述第一计算设备是计算机,并且所述第二计算设备是可穿戴设备。
7.根据权利要求1所述的方法,其中识别所述第二计算设备包括识别所述第二计算设备的操作模式,以及确定所识别的操作模式是在此期间允许所述第二计算设备促进用于访问所述第一计算设备的所述替代交互的操作模式。
8.根据权利要求7所述的方法,其中所述第二计算设备是智能手表,并且所述操作模式包括将所述智能手表附连到人并解锁。
9.一种存储代码的非暂态机器可读介质,所述代码在由第一计算设备的至少一个处理器执行时,使得所述至少一个处理器执行操作,所述代码包括:
用于以下的代码:识别在第一计算设备的第一距离内的第二计算设备,所述第二计算设备与第一用户账户相关联,并且以不同于所述第一用户账户的第二用户账户登录到所述第一计算设备;和
用于以下的代码:响应于所述识别,启用替代交互以用于授权在以所述第二用户账户登录到的所述第一计算设备上的操作。
10.根据权利要求9所述的非暂态机器可读介质,其中所述代码还包括:
用于检测所述替代交互的代码;和
用于以下的代码:响应于检测到所述替代交互,在所述第一计算设备上执行所述操作。
11.根据权利要求9所述的非暂态机器可读介质,其中所述第一计算设备要求用户认证来执行所述操作。
12.根据权利要求11所述的非暂态机器可读介质,其中启用所述替代交互使得所述第一计算设备接受所述替代交互作为所述用户认证。
13.根据权利要求9所述的非暂态机器可读介质,其中所述替代交互用于授权所述第一计算设备上的设置更改。
14.一种设备,包括:
存储器;和
至少一个处理器,所述至少一个处理器被配置为:
从网络接口层接收另一个设备在所述设备的特定距离内的通知,所述通知包括关于所述另一设备的操作模式的数据;
当所述另一设备的所述操作模式满足一组标准并且所述特定距离小于第一距离时,启用第一替代交互来代替交互,以用于在所述设备上执行操作;以及
当所述另一设备的所述操作模式满足所述一组标准并且所述特定距离大于小于第二距离的所述第一距离时,启用第二替代交互来代替所述交互,以用于在所述设备上执行所述操作。
15.根据权利要求14所述的设备,其中所述第一替代交互包括经由所述设备接收用户输入。
16.根据权利要求15所述的设备,其中所述第二替代交互包括接收在所述另一设备上接收的用户输入的指示。
17.根据权利要求15所述的设备,其中所述第二替代交互不包括经由所述设备接收所述用户输入。
18.根据权利要求14所述的设备,其中所述至少一个处理器被进一步配置为:
当所述操作模式不满足所述一组标准或所述特定距离大于所述第二距离时,指示所述网络接口层终止与所述另一设备的连接会话或尝试的连接会话。
19.根据权利要求14所述的设备,其中所述另一设备是智能手表,并且所述操作模式包括将所述智能手表附连到人。
20.根据权利要求19所述的设备,其中所述操作模式还包括将所述智能手表解锁。
CN202080028656.8A 2019-04-18 2020-04-16 使用安全范围检测与设备进行远程交互 Pending CN113692584A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/388,831 US11250118B2 (en) 2016-06-12 2019-04-18 Remote interaction with a device using secure range detection
US16/388,831 2019-04-18
PCT/US2020/028549 WO2020214833A1 (en) 2019-04-18 2020-04-16 Remote interaction with a device using secure range detection

Publications (1)

Publication Number Publication Date
CN113692584A true CN113692584A (zh) 2021-11-23

Family

ID=70554248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080028656.8A Pending CN113692584A (zh) 2019-04-18 2020-04-16 使用安全范围检测与设备进行远程交互

Country Status (3)

Country Link
EP (1) EP3925254A1 (zh)
CN (1) CN113692584A (zh)
WO (1) WO2020214833A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140282877A1 (en) * 2013-03-13 2014-09-18 Lookout, Inc. System and method for changing security behavior of a device based on proximity to another device
CN105164663A (zh) * 2013-01-09 2015-12-16 艾菲尼莫公司 访问可控交互的系统和方法
US20170357788A1 (en) * 2016-06-12 2017-12-14 Apple Inc. Unlocking a device
CN108563942A (zh) * 2011-09-29 2018-09-21 苹果公司 利用二级批准者的认证
US20180276367A1 (en) * 2016-06-12 2018-09-27 Apple Inc. Modifying security state with secured range detection
CN109196840A (zh) * 2016-06-12 2019-01-11 苹果公司 通过安全范围检测修改安全状态
WO2019067105A1 (en) * 2017-09-29 2019-04-04 Apple Inc. MOBILE COMMUNICATION AND TELEMETRY DEVICE USING AN AUTOMATIC FUNCTIONALITY ACCESS CONTROL SYSTEM

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563942A (zh) * 2011-09-29 2018-09-21 苹果公司 利用二级批准者的认证
CN105164663A (zh) * 2013-01-09 2015-12-16 艾菲尼莫公司 访问可控交互的系统和方法
US20140282877A1 (en) * 2013-03-13 2014-09-18 Lookout, Inc. System and method for changing security behavior of a device based on proximity to another device
US20170357788A1 (en) * 2016-06-12 2017-12-14 Apple Inc. Unlocking a device
US20180276367A1 (en) * 2016-06-12 2018-09-27 Apple Inc. Modifying security state with secured range detection
CN109196840A (zh) * 2016-06-12 2019-01-11 苹果公司 通过安全范围检测修改安全状态
WO2019067105A1 (en) * 2017-09-29 2019-04-04 Apple Inc. MOBILE COMMUNICATION AND TELEMETRY DEVICE USING AN AUTOMATIC FUNCTIONALITY ACCESS CONTROL SYSTEM

Also Published As

Publication number Publication date
EP3925254A1 (en) 2021-12-22
WO2020214833A1 (en) 2020-10-22
WO2020214833A9 (en) 2020-12-24

Similar Documents

Publication Publication Date Title
US11250118B2 (en) Remote interaction with a device using secure range detection
AU2021200451B2 (en) Modifying security state with secured range detection
US11176237B2 (en) Modifying security state with secured range detection
US11347833B2 (en) Method and apparatus for optimized access of security credentials via mobile edge-computing systems
AU2018203927B2 (en) Auto-user registration and unlocking of a computing device
US9413758B2 (en) Communication session transfer between devices
US9807610B2 (en) Method and apparatus for seamless out-of-band authentication
US10772141B2 (en) System and method for peer-to-peer wireless communication
CN113692584A (zh) 使用安全范围检测与设备进行远程交互
EP4203535A1 (en) Systems and methods for credentials sharing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20211123