CN112205019A - 用于使计算设备能够识别何时彼此接近的技术 - Google Patents
用于使计算设备能够识别何时彼此接近的技术 Download PDFInfo
- Publication number
- CN112205019A CN112205019A CN201980035850.6A CN201980035850A CN112205019A CN 112205019 A CN112205019 A CN 112205019A CN 201980035850 A CN201980035850 A CN 201980035850A CN 112205019 A CN112205019 A CN 112205019A
- Authority
- CN
- China
- Prior art keywords
- computing device
- encryption key
- data item
- network address
- wireless network
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0433—Key management protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/047—Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/062—Pre-authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/72—Subscriber identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/16—Interfaces between hierarchically similar devices
- H04W92/18—Interfaces between hierarchically similar devices between terminal devices
Abstract
本发明的实施例阐述了一种用于安全地识别附近的相关计算设备的技术。所述技术可在第一计算设备处实现,并且包括以下步骤:(1)从第二计算设备接收通告数据包,所述通告数据包包括:(i)与所述第二计算设备相关联的网络地址,以及(ii)使用所述网络地址和与所述第二计算设备相关联的加密密钥来计算的散列值;以及(2)针对所述第一计算设备可访问的多个已知加密密钥中的每个已知加密密钥:(i)使用所述网络地址和所述已知加密密钥来计算临时散列值,以及(ii)响应于识别出所述临时散列值与所述散列值匹配:执行与所述第二计算设备相关联的操作。
Description
技术领域
本文所描述的实施方案整体涉及在附近计算设备之间共享信息。
背景技术
用于在计算设备之间共享数据的常规方法容易出现安全问题。例如,用于共享给定密码的普遍方法包括:在与另一个人的通信(例如,电子邮件、文本消息)内包括密码,或者直接向另一个人说出密码。这种普遍方法是不可取的,特别是当考虑到拥有密码的未授权人员可以容易地获得对使用密码可访问的潜在敏感数据的访问权限时。然而,也不期望显著增加共享密码的难度(例如,实现输入困难的冗长密码、实现频繁改变的密码等)来试图阻止恶意用户。
因此,需要一种用于在计算设备之间共享数据的更有效且更安全的技术。
发明内容
为了解决上述不足,本文阐述的代表性实施方案公开了用于使计算设备能够与计算设备已知的附近计算设备共享信息的各种技术。
根据一些实施方案,计算设备可被配置为实现一种用于通过执行本文所述的技术使附近计算设备能够访问无线网络的方法。具体地,该方法可包括以下步骤:(1)从附近计算设备接收访问无线网络的请求,其中该请求包括与附近计算设备相关联的用户信息,(2)响应于基于用户信息确定附近计算设备被计算设备识别,而呈现与该请求相关联的通知,以及(3)响应于接收到对附近计算设备访问无线网络的批准:向附近计算设备提供用于访问无线网络的密码。
根据一些实施方案,计算设备可被配置为实现用于通过执行本文所述的技术使附近计算设备能够访问无线网络的另一种方法。具体地,该方法可包括以下步骤:(1)从附近计算设备接收加密请求,其中该加密请求包括附近计算设备正试图访问无线网络的指示,(2)识别用于解密加密请求的密钥,(3)使用密钥解密加密请求,以提取指示,(4)根据指示显示通知,以及(5)响应于接收到对附近计算设备访问无线网络的批准:向附近计算设备提供用于访问无线网络的密码。
根据一些实施方案,计算设备可被配置为实现用于通过执行本文所述的技术使附近计算设备能够访问数据项的另一种方法。具体地,该方法可包括以下步骤:(1)从附近计算设备接收加密请求,其中该加密请求包括附近计算设备正试图访问计算设备可访问的一个或多个数据项的指示,(2)识别用于解密加密请求的密钥,(3)使用密钥解密加密请求,以提取指示,(4)根据指示显示通知,以及(5)响应于接收到对附近计算设备访问该一个或多个数据项的批准:向附近计算设备提供该一个或多个数据项。
另外,本发明的实施方案阐述了一种用于安全地识别附近的相关计算设备的方法。根据一些实施方案,该方法可在第一计算设备处实现,并且包括以下步骤:(1)从第二计算设备接收通告数据包,该通告数据包包括:(i)与第二计算设备相关联的网络地址,以及(ii)使用网络地址和与第二计算设备相关联的加密密钥来计算的散列值;以及(2)针对第一计算设备可访问的多个已知加密密钥中的每个已知加密密钥:(i)使用网络地址和已知加密密钥来计算临时散列值,以及(ii)响应于识别出临时散列值与散列值匹配:执行与第二计算设备相关联的操作。
另外,本发明的实施方案阐述了一种用于使计算设备能够通过服务器计算设备彼此交换加密密钥的方法。根据一些实施方案,该方法可在服务器计算设备处实现,并且包括以下步骤:(1)从第一计算设备接收数据项,该数据项包括:(I)对于第一计算设备唯一的计算设备标识符(ID),(II)对于与第一计算设备相关联的个体唯一的个人标识符(ID),以及(III)与第一计算设备相关联的加密密钥;(2)基于计算设备ID或个人ID中的一者或多者来识别与第一计算设备相关的至少一个计算设备;以及(3)将数据项提供给该至少一个计算设备,其中该至少一个计算设备将加密密钥存储为链接到计算设备ID和个人ID的已知加密密钥。
另外,本发明的实施方案阐述了用于使计算设备能够彼此直接交换加密密钥的另一种方法。根据一些实施方案,该方法可在第一计算设备处实现,并且包括以下步骤:(1)识别使第二计算设备能够知道第一计算设备何时在第二计算设备附近的条件;(2)将数据项提供给第二计算设备,该数据项包括:(i)对于第一计算设备唯一的计算设备标识符(ID),(ii)对于与第一计算设备相关联的个体唯一的个人标识符(ID),以及(iii)与第一计算设备相关联的加密密钥;以及(3)周期性地生成通告数据包,这些通告数据包包括:(i)与第一计算设备相关联的网络地址,以及(ii)使用网络地址和与第一计算设备相关联的加密密钥来计算的散列值。
其他实施方案包括一种被配置为存储指令的非暂态计算机可读存储介质,该指令当由被包括在计算设备中的处理器执行时使得该计算设备执行上述方法中的任一方法的各步骤。另外的实施方案包括被配置为执行前述方法中任何方法的各种步骤的计算设备。
根据结合以举例的方式示出所述实施方案的原理的附图而进行的以下详细描述,本发明的其他方面和优点将变得显而易见。
附图说明
本公开通过下面结合附图的具体描述将更易于理解,其中类似的附图标记表示类似的结构元件。
图1示出了根据一些实施方案可被配置为实现本文所述各种技术不同方面的不同计算设备的框图。
图2A至图2B示出了根据一些实施方案的可被配置为服务访问无线网络的请求的示例性计算设备的概念图。
图3示出了根据一些实施方案的用于服务访问无线网络的请求的方法。
图4示出了根据一些实施方案的用于使计算设备能够发出访问无线网络的请求的方法。
图5示出了根据一些实施方案的用于在不同计算设备之间共享设备密钥的方法。
图6示出了根据一些实施方案的用于服务访问无线网络的请求的方法。
图7示出了根据一些实施方案的用于使计算设备能够发出访问无线网络的请求的方法。
图8示出了根据一些实施方案的用于服务共享无线网络的密码的请求的方法。
图9A至图9D示出了根据一些实施方案的可被配置为服务访问特定无线网络的请求的示例性用户界面的概念图。
图10A至图10D示出了根据一些实施方案的可被配置为服务访问任何无线网络的请求的示例性用户界面的概念图。
图11示出了根据一些实施方案的用于使计算设备能够服务访问无线热点的请求的方法。
图12示出了根据一些实施方案的用于使计算设备能够访问安全资源的方法。
图13示出了根据一些实施方案的用于通过向附近计算设备提供临时密码来服务由附近计算设备发出的访问无线网络的请求的方法。
图14示出了根据一些实施方案的用于使无线路由器能够向计算设备提供对无线网络的访问权限的方法。
图15示出了根据一些实施方案的可被配置为实现本文所述的各种技术的计算设备的详细视图。
图16A示出了根据一些实施方案的可被配置为识别计算设备何时彼此接近的各种计算设备的框图。
图16B示出了根据一些实施方案的用于使计算设备能够通过加密密钥交换服务器彼此交换加密密钥的方法。
图16C示出了根据一些实施方案的用于使计算设备能够彼此直接交换加密密钥的方法。
图17A示出了根据一些实施方案的传输通告数据包的计算设备的概念图。
图17B示出了根据一些实施方案的用于传输和分析通告数据包的方法。
图18提供了根据一些实施方案的可用于调整用户可授权其他用户知道彼此接近的方式的示例性用户界面的图示。
图19提供了根据一些实施方案的可用于基于用户与已知计算设备的接近来识别用户的近似位置的示例性用户界面的图示。
图20A至图20C示出了根据一些实施方案的用于当特定用户的一个或多个计算设备接近计算设备时触发计算设备上的提醒的技术的序列图。
图21示出了根据一些实施方案的用于对附近计算设备进行分组以供选择的技术的概念图。
具体实施方式
在该部分描述了根据本申请的方法与装置的代表性应用。提供这些示例仅为了添加上下文并有助于理解所描述的实施方案。因此,对于本领域的技术人员而言将显而易见的是,可在没有这些具体细节中的一些或全部的情况下实践所述实施方案。在其他情况下,为了避免不必要地模糊所述实施方案,未详细描述熟知的处理步骤。其他应用是可能的,使得以下示例不应被当作是限制性的。
在以下具体实施方式中,参考了形成说明书的一部分的附图,并且在附图中以例示的方式示出了根据所述实施方案的具体实施方案。虽然这些实施方案被描述得足够详细,以使本领域的技术人员能够实践所述实施方案,但是应当理解,这些示例不是限制性的;使得可以使用其他实施方案,并且可以在不脱离所述实施方案的实质和范围的情况下作出修改。
本文所述的实施方案阐述了用于使计算设备能够通过以下方式来发现计算设备已知的附近计算设备的技术:通过确定这两个计算设备之间是否存在预先存在的关系。随后,当计算设备确定存在预先存在的关系时,计算设备可与附近计算设备共享计算设备可访问的一个或多个数据项(例如,由计算设备管理、存储在计算设备处、存储在云网络存储设备处等的数据项)。在一些示例中,计算设备可与附近计算设备共享无线网络密码。在其他示例中,计算设备可与附近计算设备共享媒体项(例如,文档文件、图片文件、音乐文件、视频文件、网站链接等)。请考虑这种场景,例如计算设备从附近计算设备接收与附近计算设备的用户共享特定照片(例如,斐济冲浪之旅等的照片)的请求的场景。响应于确定这两个计算设备之间存在预先存在的关系,计算设备可(根据请求)向计算设备的用户呈现通知,以启动具有对特定照片的访问权限的照片应用程序。随后,计算设备的用户可利用照片应用程序来授予附近计算设备对特定照片的访问权限。另选地,如果计算设备未识别附近计算设备,则计算设备可阻止呈现通知。因此,当与附近计算设备共享一个或多个数据项时,计算设备可利用如本文更详细描述的技术来提供附加的安全和隐私层。
根据一些实施方案,响应于从附近计算设备接收到访问无线网络的请求,计算设备(其具有对无线网络的访问权限)可识别这两个计算设备之间是否存在预先存在的关系。具体地,在接收到请求之前,计算设备可初始建立与附近计算设备的通信。在一些示例中,计算设备可存储与附近计算设备相关联的用户信息,并且至少基于附近计算设备的用户信息的子集来建立联系人名片。在其他示例中,在计算设备与附近计算设备建立初始配对之后,计算设备可接收对与附近计算设备相关联的设备密钥的访问。继而,计算设备可将设备密钥与和附近计算设备相关联的设备标识符(ID)相关联。在任一种情况下,响应于从附近计算设备接收到请求,计算设备可访问(1)用户信息或(2)相关联的设备密钥中的至少一者以识别这些计算设备是否是彼此已知的。因此,计算设备可防止计算设备的用户被未知/无关的计算设备打扰。
接下来,计算设备可确定由附近计算设备提供的请求是否指示特定无线网络。根据一些实施方案,如果在请求中未指示特定无线网络,则计算设备的用户可建议可用无线网络。在任一种情况下,计算设备的用户可确定是否授予附近计算设备对无线网络的访问权限。另外,结合授予附近计算设备对无线网络的访问权限,计算设备可以防止附近计算设备与另一个计算设备共享密码的格式提供与无线网络相关联的密码。这样,计算设备可阻止拥有密码的未授权人员获得对经由无线网络可访问的潜在敏感数据的访问权限。
这些技术的更详细讨论在下文示出并结合图1、图2A至图2B、图3至图8、图9A至图9D、图10A至图10D和图11至图15进行描述,这些图示出了可用于实现这些技术的系统和方法的详细图示。
图1示出了根据一些实施方案可被配置为实现本文所述技术的各方面的不同计算设备的框图100。具体地,图1示出了计算设备102-1的高层级概览,该计算设备被配置为与不同计算设备102(例如,102-2至102-N)通信并使这些不同计算设备能够访问(至少一个)无线网络130。尽管图1中未示出,但应当理解,计算设备102中的每个计算设备可包括至少一个处理器、至少一个存储器和至少一个存储设备,它们共同使这些计算设备能够根据本公开进行操作。例如,在给定计算设备102中,至少一个处理器与至少一个存储器一起可将存储在至少一个存储设备中的指令加载到至少一个存储器中,以使得能够实现本文所述的技术。具体地,包括多种应用程序/内核的操作系统(OS)可由至少一个处理器执行,以便实现本文所述的各种技术。
例如,OS可使共享管理器110能够在计算设备102-1上执行。根据一些实施方案,共享管理器110可被配置为服务从不同计算设备102接收的获得对无线网络130的访问权限的请求。具体地,共享管理器110可被配置为访问各种数据结构(例如,存储在计算设备102-1的至少一个存储器/至少一个存储设备中的数据结构),这些数据结构使共享管理器110能够确定是否授予不同计算设备102对无线网络130的访问权限。例如,数据结构可包括用户信息120、联系人122、设备标识符123、设备密钥124、已配对设备密钥126和无线网络信息128,其目的将在下文更详细地描述。
根据一些实施方案,共享管理器110可被配置为在尝试识别计算设备102之间是否存在预先存在的关系时访问用户信息120和联系人122。例如,用户信息120可存储描述计算设备102-1的注册用户的数据,并且可采取使计算设备102-1能够被其他计算设备102识别的任何形式。根据一些实施方案,用户信息120还可基于与计算设备102-1相关联的硬件/软件属性。例如,用户信息120可基于与计算设备102-1相关联的电话号码、与单点登录服务相关联的用户ID(例如,Apple ID)、电子邮件账户、社交网络账户、社交媒体账户、用户身份模块(SIM)卡等。在一些情况下,当计算设备102-1与其他计算设备102建立通信时,共享管理器110可向其他计算设备102提供计算设备102-1的相应用户信息120。继而,当与其他计算设备102建立通信时,共享管理器110还可接收与其他计算设备102相关联的相应用户信息120。这样,计算设备102可结合执行本文阐述的技术来识别彼此。
根据一些实施方案,当计算设备102-1存储给定计算设备102(例如,不同计算设备102-2)的用户信息120时,计算设备102-1的共享管理器110可将不同计算设备102-2建立为共享管理器110已识别或已知的联系人。这可涉及例如在联系人122中建立联系人名片,该联系人名片至少基于不同计算设备102-2的用户信息120的子集。该子集可包括例如与不同计算设备102-2相关联的名字、姓氏、别名、物理地址、电话号码、照片等。如本文更详细地描述的,存储其他计算设备102的用户信息120可使共享管理器110能够适当地响应或忽略来自其他计算设备102的访问无线网络130的请求。
例如,当计算设备102-1从未知计算设备102接收访问无线网络130(计算设备102-1具有对该无线网络的访问权限)的请求时,共享管理器110可阻止在计算设备102-1的显示器处呈现该请求的通知。具体地,在识别出与未知计算设备102相关联的用户信息120未包括在由计算设备102-1管理的联系人122中时,计算设备102-1可选择忽略该请求。在仅向计算设备102-1的用户呈现相关通知时,这有利地提供了增强的粒度。另选地,当计算设备102-1从已知计算设备102(例如,朋友、亲戚、同事等)接收访问无线网络130的请求时,共享管理器110可基于与已知计算设备102相关联的用户信息120来验证已知计算设备102。随后,共享管理器110可呈现已知计算设备102正在请求访问无线网络130的通知。
另外,需注意,包括在计算设备102-1中的共享管理器110可利用相应用户信息120和联系人122来避免呈现关于试图访问无线网络130的无关计算设备102的信息。请考虑这种情况,例如,当计算设备102-1从不同计算设备102-2接收访问无线网络130的请求时,其中该请求包括与不同计算设备102-2相关联的用户信息120。在该示例中,当计算设备102-1先前未与不同计算设备102-2通信时,计算设备102-1的共享管理器110可避免在计算设备102-1处呈现通知,从而保护不同计算设备102-2的隐私。因此,共享管理器110可被配置为对呈现给计算设备102-1的用户的请求的类型实施特定约束和限制,从而增强总体用户体验。
因此,如上所述,共享管理器110可被配置为在服务来自不同计算设备102的获得对无线网络130的访问权限的请求时访问用户信息120和联系人122。下文结合图2A提供了对该技术的更详细描述。值得注意的是,下文描述了附加实施方案,这些附加实施方案可在服务来自不同计算设备102的获得对无线网络130的访问权限的请求时提供附加安全性和增强性能。具体地,计算设备102-1的共享管理器110可被配置为利用设备标识符123、设备密钥124和已配对设备密钥126来识别计算设备102之间是否存在预先存在的关系。
根据一些实施方案,计算设备102-1的设备标识符(ID)123可采取使计算设备102-1能够被其他计算设备102识别的任何形式。根据一些实施方案,设备ID 123可基于与计算设备102-1相关联的硬件/软件属性。例如,设备ID 123可基于电话号码、用户身份模块(SIM)卡、制造商的序列号等。另外,计算设备102-1的设备密钥124可采取加密密钥的形式,该加密密钥被计算设备102-1用来加密由计算设备102-1传输给其他计算设备102的消息。
根据一些实施方案,相应设备ID 123/设备密钥124可经由云存储系统或在初始配对期间(例如,经由蓝牙、NFC、WiFi等)在两个计算设备102之间共享,以使这两个计算设备102能够稍后以安全的方式识别彼此。在一个示例中,计算设备102-1可将其相应设备密钥124存储在云存储系统处。随后,不同计算设备102可从云存储系统中检索设备密钥124,并且随后存储设备密钥124。在另一个示例中,当计算设备102-1初始与不同计算设备102通信时,计算设备102-1可将其相应设备ID 123提供给不同计算设备102以供存储。此外,计算设备102-1可将其相应设备密钥124提供给不同计算设备102以供存储。在任何情况下,当不同计算设备102获得对设备密钥124的访问权限时,不同计算设备102可建立设备ID 123和计算设备102-1的设备密钥124之间的相关性的备注。类似地,计算设备102-1可接收(1)不同计算设备102的相应设备ID 123,和(2)不同计算设备102的相应设备密钥124。继而,计算设备102-1可建立设备ID 123和不同计算设备102-2的设备密钥124之间的相关性的备注。
根据一些实施方案,可在每个计算设备102处已配对设备密钥126内管理上述相关性。具体地,并且如图1所示,给定计算设备102(例如,计算设备102-1)的已配对设备密钥126可存储计算设备102-1先前已与其建立通信(例如,与其配对、存储电话号码、发送文本消息等)的每个不同计算设备102的条目。这样,计算设备102-1可从不同计算设备102接收加密消息,识别成功解密该消息的(在已配对设备密钥126内的)设备密钥124,然后识别对应于设备密钥124的设备ID 123。重要的是,该方法使计算设备102-1能够有效地识别传输加密消息的不同计算设备102-2,同时阻止其他计算设备102(具体地,先前尚未与不同计算设备102-2建立通信的那些计算设备)解密加密消息。下文提供了对该技术的更详细描述。
请考虑这种场景,例如其中计算设备102-1从不同计算设备102接收加密消息的场景,其中加密消息的底层内容指示获得对无线网络130(计算设备102-1具有对该无线网络的访问权限)的访问权限的请求。在该示例中,计算设备102-1可尝试使用计算设备102-1已知的(即,先前存储的)不同设备密钥124来解密加密消息。当计算设备102-1成功地识别了用于解密加密消息的设备密钥124(例如,加密密钥)时,计算设备102-1还可识别对应于设备密钥124的设备ID 123,并且(基于设备ID 123)有效地识别关于正在传输加密消息(例如,“Jennifer的iPhone”)的不同计算设备102的细节。值得注意并且有利的是,由不同计算设备102传输的加密消息可能无法被不同计算设备102先前未与其建立通信(例如,配对等)的其他计算设备102解密,因为这些其他计算设备不能拥有由不同计算设备102用于加密消息的设备密钥124。这样,由于不相关的/具有潜在恶意的计算设备102不能立即解密加密消息,因此增强了不同计算设备102的隐私。下文结合图2B提供了对该技术的更详细描述。
如本文先前所述,计算设备102可被配置为在适当的场景下彼此共享WiFi信息(在图1中被示出为认证凭据136)。根据一些实施方案,认证凭据136可表示与无线网络130相关联的SSID,以及可用于与无线网络130进行认证并获得对该无线网络的访问权限的密码、口令码、密码短语、十六进制字符串等。根据一些实施方案,在计算设备102之间共享认证凭据136可涉及例如不同计算设备102-2向计算设备102-1发出访问特定无线网络130(计算设备102-1具有对该无线网络的访问权限)的请求。另选地,不同计算设备102-2可向计算设备102-1发出推荐以用于访问的适当WiFi网络130的请求。在任一种情况下,计算设备102-1可访问其相应的无线网络信息128内用于无线网络130的认证凭据136,并且将认证凭据136提供给不同计算设备102-2。继而,不同计算设备102-2可将认证凭据136存储在其相应的无线网络信息128内,并且利用认证凭据136来访问WiFi网络130。
根据一些实施方案,计算设备102-1的无线网络信息128可指示当前正在由计算设备102-1访问的活动无线网络134。例如,共享管理器110可区分活动无线网络134和计算设备102-1能够访问的其他无线网络130。根据一些实施方案,共享管理器110可确定由不同计算设备102-2请求的特定无线网络130是否是活动的。例如,当由不同计算设备102-2请求的特定无线网络130是不活动的时,共享管理器110可参考活动无线网络134来建议不同计算设备102-2应访问的另选无线网络130。在另一个示例中,当存在共享管理器110已知的多个可用无线网络130时,共享管理器110可推荐不同计算设备102-2访问具有最强信号强度的可用无线网络130。在又一个示例中,在来自不同计算设备102-2的请求不指示特定无线网络130的情况下,共享管理器110可建议不同计算设备102-2访问活动无线网络134(计算设备102-1当前连接到该活动无线网络)或另选无线网络130。另外,共享管理器110可根据若干无线网络因素(诸如,信号强度、使用统计值、使用频率、带宽等)来建议来自若干可用无线网络130中的无线网络130。随后,共享管理器110可将适当的认证凭据136提供给不同计算设备102-2,以使得能够访问活动无线网络134或另选无线网络130。
根据一些实施方案,结合向不同计算设备102-2提供密码,计算设备102-1的用户可规定密码将在不同计算设备102-2上保持有效的时间限制。具体地,计算设备102-1可在提供给不同计算设备102-2的加密消息中将密码与位标记(例如,时间限制指示)捆绑在一起。例如,时间限制指示可规定密码将仅在24小时的时间段内在不同计算设备102-2上保持有效。这样,在24小时的时间段过去之后,时间限制指示可提供使得密码变为无效/被删除的指令,从而阻止不同计算设备102-2能够继续访问无线网络130。
根据一些实施方案,计算设备102-1可阻止不同计算设备102-2与其他计算设备102共享所接收的认证凭据136。例如,认证凭据136可以阻止不同计算设备102-2共享认证凭据136的格式存储在无线网络信息128内。为了实现前述安全技术,认证凭据136可以预共享密钥(PSK)格式与其他计算设备102共享,如下文结合图8更详细地描述的。
另外,并且根据一些实施方案,无线网络130可包括安全协议,诸如Wi-Fi保护访问(WPA)、Wi-Fi保护访问II(WPA2)、有线等效保密(WEP)、企业服务器网络、可扩展认证协议(EAP)等。虽然图1中未示出,但计算设备102可包括各种硬件部件,例如一个或多个无线通信部件。具体地,无线通信部件可包括无线局域网(Wi-Fi)部件、全球定位系统(GPS)部件、蜂窝部件、NFC部件,以太网部件或蓝牙部件中的至少一者。根据一些实施方案,可使用由无线通信部件实现的任何无线通信协议在计算设备102之间传输数据。应当理解,各种计算设备102可包括使得计算设备102能够以不同水平实现本文所述技术的硬件元件/软件元件。
根据一些实施方案,计算设备102的共享管理器110可与无线通信部件通信,以发出请求和服务从不同计算设备102接收到的请求两者。根据一些实施方案,无线通信部件可指定要满足的必需的信号强度阈值,以便建立用于计算设备102彼此通信的接近要求。例如,必需的信号强度阈值可与固定的和/或可调节的接收信号强度指示(RSSI)水平相关联。响应于确定请求的信号强度满足RSSI水平,无线通信部件可向共享管理器110指示请求是从不同计算设备102接收到的。通过监测请求的信号强度,在计算设备102处呈现满足RSSI水平的相关通知时,计算设备102可提供增强的粒度。这有利地阻止了不在计算设备102附近的其他计算设备102使用户负担不期望的或不相关的请求。因此,本文所述的技术可提供附加的安全和隐私层以增加总体用户体验。因此,图1阐述了可包括在每个计算设备102中的不同部件/实体的高级别概览,以使本文所述的实施方案能够被正确地实施。
图2A至图2B示出了根据一些实施方案的服务访问无线网络130的请求的计算设备102-1的概念图。具体地,图2A示出了示例性场景的概念图202,在该示例性场景中,不同计算设备102-2通过利用由计算设备102-1存储的用户信息120来请求访问无线网络130,如本文先前所述。在这种情况下,计算设备102-1通信地耦接到无线网络130(不同计算设备102-2试图访问该无线网络)。
根据一些实施方案,图2A的概念图中示出的步骤210、220、230和240之前可以是计算设备102-1存储与不同计算设备102-2相关联的用户信息120。例如,作为在这两个计算设备102之间建立通信(例如,发送文本消息、发送电子邮件等)的一部分,计算设备102-1、102-2中的每一者可向另一者提供用户信息120。继而,计算设备102-1、102-2中的每一者可存储用户信息120并在其联系人122中建立联系人名片,该联系人名片至少基于用户信息120的子集(例如,名字、照片等)。
另外,在存储与不同计算设备102-2相关联的用户信息120之后,计算设备102-1可生成针对存储在计算设备102-1中的用户信息120的唯一散列值。具体地,计算设备102-1可利用散列算法(不同计算设备102-2也具有对该散列算法的访问权限)来生成针对用户信息120的唯一散列值。继而,计算设备102-1可记录唯一散列值和用户信息120之间的相关性。例如,在将唯一散列值与用户信息120相关联之后,计算设备102-1可建立散列表以提供相关联的唯一散列值和用户信息120之间的索引。根据一些示例,只要与计算设备102相关联的用户信息120保持静态(即,不变),则针对用户信息120的唯一散列值也保持固定。然而,在其他示例中,针对用户信息120的唯一散列值也可连续旋转(即,改变)。
另外,计算设备102-1可利用散列表来建立数据缓存。这样,当计算设备102-1从不同计算设备102-2接收到散列消息时,计算设备102-1可访问数据缓存(而不是重新计算针对存储的用户信息120中的每个存储的用户信息的唯一散列值),以将散列消息识别为是由已知计算设备102(例如,朋友、亲戚、同事等)提供的。值得注意并且有利的是,数据缓存可显著提高计算设备102-1识别提供散列消息的不同计算设备102-2的处理速度。
如图2A所示,第一步骤210可涉及计算设备102-1从不同计算设备102-2接收包括有效载荷242的散列消息284。尽管图2A中未示出,但需注意,其他(例如,附近)计算设备102也可被配置为从不同计算设备102-2接收散列消息284。在一个示例中,计算设备102的无线部件可指定需要满足的RSSI水平,以便计算设备102处理散列消息284。
根据一些实施方案,有效载荷242可包括与不同计算设备102-2相关联的用户信息120。如本文先前所述,计算设备102-1和不同计算设备102-2具有对相同散列算法的访问权限。因此,不同计算设备102-2可利用散列算法来生成用户信息120的唯一散列值。在一些示例中,散列算法利用短散列(例如,2个字符等)。继而,计算设备102-1可被配置为利用相同的散列算法来识别不同计算设备102-2的用户信息120,如本文更详细地描述的。
根据一些实施方案,有效载荷242还可包括不同计算设备102-2正试图访问无线网络130的指示。具体地,不同计算设备102-2可试图访问(1)特定无线网络130或(2)可能可用的任何无线网络130(例如,由计算设备102-1推荐的无线网络130)。当不同计算设备102-2试图访问特定无线网络130时,有效载荷242可指定与特定无线网络130相关联的唯一无线网络标识符254(例如,SSID等)。另选地,当不同计算设备102-2试图访问任何无线网络130时,唯一无线网络标识符254则可采用特定值(例如,空值)来指示正在请求对无线网络130的推荐。
在有效载荷242指定与特定无线网络130相关联的唯一无线网络标识符254的情况下,不同计算设备102-2可利用相同的散列算法(计算设备102-1具有对该散列算法的访问权限)来生成针对要包括在有效载荷242中的唯一无线网络标识符254的唯一散列值。值得注意的是,如果计算设备102-1具有对特定无线网络130的访问权限,则计算设备102-1可被配置为验证针对(由不同计算设备102-2提供的)SSID的唯一散列值对应于针对SSID(其与特定无线网络130相关联并且存储在无线网络信息128中)的唯一散列值,如本文将更详细地描述。
根据一些示例,用户信息120和唯一无线网络标识符254中的每一者可由不同计算设备102-2单独散列化。在一些示例中,用户信息120和唯一无线网络标识符254可提供在单个散列消息中或提供在单独的散列消息中。
如图2A所示,第二步骤220可涉及计算设备102-1响应于识别出这两个计算设备102-1、102-2之间存在预先存在的关系而与不同计算设备102-2建立安全通信链路224(例如,传输层安全性(TLS)协议)。结合用于识别是否存在预先存在的关系的过程,计算设备102-1可(例如,经由散列表、数据缓存等)将针对(包括在有效载荷242中的)用户信息120的唯一散列值与针对存储在计算设备102-1中的用户信息120的唯一散列值进行比较。响应于确定唯一散列值彼此对应,计算设备102-1可将唯一散列值与已知计算设备102的用户信息120相关联。因此,计算设备102-1可确定已知计算设备102的身份。
返回到建立安全通信链路224,结合建立安全通信链路224,计算设备102-1可与不同计算设备102-2共享对称密钥。继而,对称密钥可用于加密/解密经由安全通信链路224在这两个计算设备102-1、102-2之间传输的消息。
如图2A所示,第三步骤230可涉及计算设备102-1将与无线网络130相关联的认证凭据136提供给不同计算设备102-2。根据一些实施方案,计算设备102-1可提取唯一无线网络标识符254,以确定不同计算设备102-2正试图访问(1)特定无线网络130还是(2)可能可用的任何无线网络130。具体地,识别与由不同计算设备102-2请求的特定无线网络130相关联的SSID可涉及对包括在有效载荷242中的唯一无线网络标识符254(例如,SSID)与存储在认证凭据136中的SSID执行散列值比较。在识别所请求的SSID之后,计算设备102-1可(根据指示)向计算设备102-1的用户呈现通知。例如,当唯一无线网络标识符254指示特定无线网络130时,通知可请求用户授予不同计算设备102-2对特定无线网络130的访问权限。在另一个示例中,当唯一无线网络标识符254不指示特定无线网络130时,通知可请求用户从计算设备102-2应连接的可用无线网络130中进行选择。在任一种情况下,响应于从用户接收到对授予不同计算设备102-2对无线网络130的访问权限的批准,计算设备102-1可访问(在其相应的无线网络信息128内)用于无线网络130的认证凭据136,并且以有效载荷244的形式向不同计算设备102-2提供认证凭据136。
根据一些实施方案,在建立安全通信链路224之后,但在以有效载荷244的形式提供认证凭据136之前,不同计算设备102-2可将其用户信息120的较大散列值(例如,32个字符)提供给计算设备102-1,这对于未知计算设备而言可能比较短散列值更难伪造。以这种方式,有利地是,通过要求不同计算设备102-2提供其用户信息120的较大散列值,计算设备102-1可确保不同计算设备102-2确实是计算设备102-1已知的或能够识别的。相比之下,使用包括在有效载荷242中的较短散列值散列化的用户信息120在使不同计算设备102-2能够更快速地处理散列消息284方面可能是优先的。
根据一些实施方案,计算设备102-1可使用在这两个计算设备102-1、102-2之间共享的对称密钥来建立加密消息292。具体地,加密消息292可包括有效载荷244。在一些示例中,有效载荷244还可包括附加信息138,该附加信息可有利于使不同计算设备102-2能够访问计算设备102-1具有访问权限的特定无线网络130。例如,附加信息138可指示计算设备102-1具有访问权限的特定无线信道。继而,不同计算设备102-2可通过使用对称密钥解密加密消息292来获得认证凭据136。
如图2A的步骤240所示,不同计算设备102-2可利用认证凭据136来访问特定无线网络130。
具体地,图2B示出了示例性场景的概念图204,其中不同计算设备102-2通过利用在计算设备102-1和不同计算设备102-2之间共享的设备密钥124来请求访问无线网络130,如本文先前所述。在这种情况下,计算设备102-1通信地耦接到无线网络130(不同计算设备102-2试图访问该无线网络)。
根据一些实施方案,概念图204中所示的步骤260、270、280和290之前可以是计算设备102-1接收对与不同计算设备102-2相关联的设备密钥124的访问,以使这两个计算设备102能够稍后以安全的方式识别彼此。具体地,计算设备102-1、102-2可建立其相应设备密钥124的双向相关性。在一个示例中,结合初始配对过程(例如,蓝牙等),计算设备102-1、102-2中的每一者可向另一者提供(1)相应ID 123和(2)相应设备密钥124(例如,加密密钥)。在另一个示例中,结合先前已在彼此之间建立了通信(例如,电子邮件消息、电话呼叫等),计算设备102-1、102-2中的每一者可向另一者提供相应设备密钥124。具体地,云存储系统可用于为每个其他设备提供对相应设备密钥124的访问权限。继而,计算设备102-1、102-2中的每一者可记录相应设备密钥124和相应设备ID 123之间的相关性。这样,并且如本文更详细地描述的,当计算设备102-1从不同计算设备102-2接收加密消息(包括设备ID123)时,计算设备102-1可识别用于解密加密消息的设备密钥124。继而,计算设备102-1可将设备密钥124与设备ID 123相关联,从而使计算设备102-1能够以安全的方式识别不同计算设备102-2。另外,相应设备密钥124和相应设备ID 123之间的相关性也可以是单向的。例如,当计算设备102-1接收到与不同计算设备102-2相关联的相应ID 123和相应设备密钥124时,计算设备102-1可记录这种相关性,但其不向不同计算设备102-2提供其相应ID 123和相应设备密钥124。有利地,这赋予了计算设备102-1附加隐私层,该附加隐私层随后授予不同计算设备102-2对特定无线网络130的访问权限。另外,可通过使这些计算设备102-1、102-2能够转换其相应设备密钥124来赋予附加隐私层,使得其相应设备密钥124不固定到其相应设备ID 123。这样,在预先确定的时间段内尚未保持彼此通信(例如,电子邮件、文本消息、电话呼叫等)的计算设备102的用户可能不拥有与相应计算设备102相关联的最新设备密钥124。
如图2B所示,第一步骤260可涉及计算设备102-1从不同计算设备102-2接收包括有效载荷262的加密消息294。根据一些实施方案,可使用不同计算设备102-2可访问的设备密钥124(例如,加密密钥)来建立加密消息294。具体地,有效载荷262可包括与不同计算设备102-2相关联的设备ID 123。在一些示例中,可周期性地更新设备ID 123来通知与不同计算设备102-2相关联的其他计算设备102。例如,不同计算设备102-2可更新设备ID 123(例如,随机生成针对设备ID 123的值),并且将更新的设备ID 123提供给不同计算设备102-2和其他计算设备102可通信地耦接到的云服务。继而,云服务可将更新的设备ID 123分发给其他计算设备102。使用该方法,其他计算设备102可保持能够通过利用更新的设备ID 123(以及设备密钥124)来识别不同计算设备102-2。这样,总体安全性可得到增强,因为拥有设备ID 123的具有恶意的/不相关的计算设备102在设备ID123被更新(并且可能不被提供给恶意计算设备102)时将无法识别不同计算设备102-2。
根据一些实施方案,有效载荷262还可包括与特定无线网络130相关联的唯一无线网络标识符254(例如,SSID等)。例如,当计算设备102-2试图访问特定无线网络130时,有效载荷262可指示与特定无线网络130相关联的唯一无线网络标识符254(例如SSID)。另选地,当不同计算设备102-2试图访问任何无线网络130时,唯一无线网络标识符254则可采用特定值(例如,空值)来指示正在请求对无线网络130的推荐。根据一些实施方案,用户信息120和唯一无线网络标识符254中的每一者可在单个加密消息中传输或在单独的加密消息中发送。
如图2B所示,第二步骤270可涉及计算设备102-1与不同计算设备102-2建立安全通信链路272(例如,传输层安全性(TLS)协议)。在建立安全通信链路272时,结合为安全通信链路272建立安全会话,计算设备102-1可与不同计算设备102-2共享对称密钥。根据一些实施方案,在识别出这两个计算设备102-1、102-2之间存在预先存在的关系之后,可建立安全通信链路272。结合用于识别预先存在的关系是否存在的过程,计算设备102-1可尝试使用计算设备102-1已知的(即,先前存储的)不同设备密钥124来解密加密消息294的内容。当计算设备102-1成功地识别了用于解密加密消息294的设备密钥124时,计算设备102-1可识别设备ID 123,并且(例如,基于设备ID 123)有效地识别关于不同计算设备102-2的细节。
如图2B所示,第三步骤280可涉及计算设备102-1将与无线网络130相关联的认证凭据136提供给不同计算设备102-2。在解密加密消息294之后,计算设备102-1可提取唯一无线网络标识符254,以确定不同计算设备102-2指示其正试图访问(1)特定无线网络130还是(2)可能可用的任何无线网络130。继而,计算设备102-1的共享管理器110可(根据指示)向计算设备102-1的用户呈现通知。例如,当唯一无线网络标识符254指示特定无线网络130时,通知可请求用户授予不同计算设备102-2对特定无线网络130的访问权限。在另一个示例中,当唯一无线网络标识符254不指示特定无线网络130时,通知可请求用户从计算设备102-2应连接的可用无线网络130中进行选择。
在任一种情况下,响应于从用户接收到对授予不同计算设备102-2对无线网络130的访问权限的批准,计算设备102-1可访问(在其相应的无线网络信息128内)用于无线网络130的认证凭据136,并且以包括在加密消息296中的有效载荷264的形式向不同计算设备102-2提供认证凭据136。根据一些实施方案,结合建立安全通信链路272,可使用在这两个计算设备102-1、102-2之间共享的对称密钥来建立加密消息296。接下来,计算设备102-1可使用在这两个计算设备102-1、102-2之间共享的对称密钥来建立加密消息296。继而,不同计算设备102-2可通过使用对称密钥解密加密消息296来获得认证凭据136。
如图2B的步骤290所示,不同计算设备102-2可利用认证凭据136来访问特定无线网络130。
图3示出了根据一些实施方案的用于服务由附近计算设备发出的访问无线网络的请求的方法300。如图3所示,方法300开始于步骤302,其中计算设备(例如,计算设备102-1)从附近计算设备(例如,附近计算设备102-2)接收访问无线网络130的请求,其中该请求包括与附近计算设备102-2相关联的用户信息120。由于这两个计算设备102之间的通信,这可例如在计算设备102-1存储附近计算设备102-2的用户信息120之后发生。
在步骤304处,计算设备102-1可确定与请求相关联的信号强度是否满足信号阈值。如本文先前所述,计算设备102-1的共享管理器110可与无线通信部件进行交互,以确定请求的信号强度是否满足用于处理请求的必需的RSSI水平。如果计算设备102-1确定与请求相关联的信号强度不满足信号阈值,则计算设备102-1可阻止将与请求相关联的任何通知呈现给计算设备102-1的用户,如步骤306所示。这可有利地防止计算设备102-1的用户被未知/无关的计算设备102打扰。
另选地,响应于计算设备102-1确定请求的信号强度满足必需的RSSI水平,计算设备102可确定包括在请求中的用户信息120是否被计算设备102-1识别,如步骤308所示。具体地,计算设备102-1可通过将包括在请求中的用户信息120与由计算设备102-1管理的联系人122进行比较来识别与附近计算设备102-2是否存在预先存在的关系。在确定用户信息120没有包括在联系人122中时,计算设备102-1可阻止与请求相关联的任何通知被呈现给计算设备102-1的用户,如步骤306所示。
否则,当计算设备102-1确定用户信息120包括在其联系人122中时,在步骤310处,计算设备102-1可确定请求是否指示附近计算设备102-2试图访问的特定无线网络130。如先前上文参考图2A至图2B所述,附近计算设备102可使用例如针对特定无线网络130的SSID来指定特定无线网络130。在步骤312处,响应于确定该请求指示特定无线网络130,计算设备102-1可呈现通知,以询问计算设备102-1的用户是否批准授予附近计算设备102-2对特定无线网络130的访问权限。在一个示例中,呈现给用户的通知可包括联系人名片,该联系人名片至少基于附近计算设备102-2的用户信息120的子集。这样,通知可包括例如名字、照片等,以通知用户附近计算设备102-2(以及可能正在操作该计算设备的用户)的身份。
在步骤314处,计算设备102-1可从用户接收对使附近计算设备102-2能够访问特定无线网络130的批准。继而,计算设备102-1可提供与特定无线网络130相关联的认证凭据136(例如,密码、口令码等),附近计算设备102-2可使用该认证凭据来与特定无线网络130进行认证并获得对该特定无线网络的访问权限,如步骤316所示。
现在返回到步骤310,如果附近计算设备102-2未指示特定无线网络130,则计算设备102-1可向附近计算设备102-2提供建议,建议其访问例如活动无线网络134(计算设备102-1当前连接到该活动无线网络)或可供访问的另选无线网络130等,如步骤318所示。在步骤320处,响应于从附近计算设备102-2接收到接受,计算设备102-1可提供与所建议的无线网络130相关联的认证凭据136。继而,在步骤316处,附近计算设备102-2可利用认证凭据136来与所建议的无线网络130进行认证并获得对该所建议的无线网络的访问权限。继而,方法300可前进至图8的方法800,这将在下文更详细地描述。
图4示出了根据一些实施方案的用于使计算设备能够向附近计算设备发出访问无线网络的请求的方法400。如图4所示,方法400开始于步骤402,其中计算设备(例如,计算设备102-2)在计算设备102-2的显示器处呈现通知,以建立对无线网络130的访问。这可例如在计算设备102-2的用户尝试访问无线网络130但缺少用于访问无线网络130的认证凭据136时发生。该通知还可包括在计算设备102-2所置于的当前位置中可用的其他无线网络130的列表。在步骤404处,计算设备102-2可确定是否接收到(例如,用户)对特定无线网络130的选择。响应于确定接收到对特定无线网络130的选择,计算设备102-2可向至少一个附近计算设备102(例如,附近计算设备102-1)发出请求,该请求包括(1)与计算设备102-2相关联的用户信息120,以及(2)访问特定无线网络130的指示,如步骤406所示。
当附近计算设备102-1接收到请求时,附近计算设备102-1可将与计算设备102-2相关联的用户信息120与由计算设备102-2管理的联系人122进行比较,以识别这两个计算设备102-1、102-2之间是否存在预先存在的关系。继而,附近计算设备102-1可接收附近计算设备102-1的用户对授予计算设备102-2对特定无线网络130的访问权限的批准。如步骤418所示,计算设备102-2可(例如,经由认证凭据136)接收与特定无线网络130相关联的密码,以使计算设备102-2能够访问特定无线网络130。
现在重新参见步骤404,当未接收到对特定无线网络的选择时,方法400可前进至步骤408,该步骤涉及识别能够被计算设备102-2识别的附近计算设备102。例如,计算设备102-2可将与附近计算设备102相关联的相应用户信息120与其联系人122进行比较。继而,被计算设备102-2识别的附近计算设备102可呈现在计算设备102-2的显示器处。继而,计算设备102-2可等待用户选择所识别的附近计算设备102中的一者。
接下来,在步骤410处,计算设备102-2可接收对附近计算设备102(例如,附近计算设备102-3)的选择,该附近计算设备可潜在地服务由计算设备102-2发出的访问无线网络130的请求。在步骤412处,计算设备102-2可向附近计算设备102-3发送访问无线网络130的请求。该请求可包括(1)与计算设备102-2相关联的用户信息120,以及(2)期望访问任何可用无线网络130(附近计算设备102-3具有对该可用无线网络的访问权限)的指示。继而,附近计算设备102-3可向计算设备102-2指示所建议的无线网络130。在步骤414处,计算设备102-2可从附近计算设备102-3接收对接受所建议的无线网络130的询问。继而,在步骤416处,计算设备102-2可通过向附近计算设备102-3发送对访问所建议的无线网络的批准来接受询问。最后,在步骤418处,计算设备102-2可(例如,经由认证凭据136)接收与所建议的无线网络130相关联的密码,以使计算设备102-2能够访问所建议的无线网络130。继而,方法400还可前进至图8的方法800,这将在下文更详细地描述。
图5示出了根据一些实施方案的用于在两个计算设备之间共享设备密钥以用于稍后识别彼此的方法500。如图5所示,方法500开始于步骤502,其中计算设备(例如,计算设备102-1)从附近计算设备(例如,附近计算设备102-2)接收建立初始配对的请求。根据一些实施方案,该请求可包括与附近计算设备102-2相关联的设备ID 123。继而,计算设备102-1可在计算设备102-1的显示器处呈现通知,以询问计算设备102-1的用户是否批准建立初始配对。
在步骤504处,计算设备102-1可从用户接收对使计算设备102-1能够与附近计算设备102-2建立初始配对的批准。继而,与附近计算设备102-2相关联的设备ID 123可存储在计算设备102-1的已配对设备密钥126中。
在步骤506处,在建立初始配对之后,计算设备102-1可接收与附近计算设备102-2相关联的设备密钥124(例如,加密密钥)。在一些示例中,附近计算设备102-2可将设备密钥124直接提供给计算设备102-1。在一些示例中,附近计算设备102-2可将设备密钥124提供给云网络存储系统(计算设备102-1具有对该云网络存储系统的访问权限)。继而,云网络存储系统可将设备密钥124分发给计算设备102-1。在一些示例中,作为初始配对过程的结果,计算设备102-1、102-2中的每一者可向另一者提供(1)相应ID 123和(2)相应设备密钥124(例如,加密密钥)。
尽管图5中未示出,但在一些实施方案中,附近计算设备102-2可将其设备密钥124提供给已知计算设备102-N,在该过程中不能建立这两个计算设备102之间的初始配对。具体地,附近计算设备102-2可将其(1)设备ID 123和(2)设备密钥124提供给所选择的任何已知计算设备102-N(例如,与已知计算设备102-N相关联的相应用户信息120存储在附近计算设备102-2的联系人122中)。请考虑这种情况,例如,如果附近计算设备102-2的用户生活在库比蒂诺,而用户的朋友(例如,已知计算设备102-3)生活在东京并且其用户信息120存储在附近计算设备102-2中。由于缺乏紧密的地理接近,这两个计算设备102可能没有机会利用初始配对过程作为用于共享设备密钥124的机制。在解决该示例性场景时,附近计算设备102-2的用户可通过使用云网络存储系统将其设备密钥124分发给已知计算设备102-3(以及所选择的任何其他已知计算设备102-N,其具有存储在附近计算设备102-2中的用户信息120)。
在任一种情况下,在步骤508处,计算设备102可记录相应设备ID123和与附近计算设备102-2相关联的相应设备密钥124之间的相关性,从而使计算设备102能够稍后以安全的方式识别附近计算设备102-2。这样,并且如本文更详细地描述的,当计算设备102从附近计算设备102-2接收加密消息时,计算设备102可识别用于解密加密消息的设备密钥124,以便识别关于附近计算设备102-2的细节(例如,基于设备ID 123)。继而,方法500还可前进至图6的方法600或图7的方法700中的任一者,这将在下文更详细地描述。
图6示出了根据一些实施方案的用于服务由附近计算设备发出的访问无线网络的请求的方法600。如图6所示,方法600开始于步骤602,其中计算设备(例如,计算设备102-1)从附近计算设备(例如,附近计算设备102-2)接收加密请求,该加密请求包括附近计算设备102-2正试图访问无线网络130的指示。这可例如在计算设备102-1接收到(1)与附近计算设备102-2相关联的设备ID 123,以及(2)与附近计算设备102-2相关联的设备密钥124之后发生。
在步骤604处,计算设备102-1可确定其是否具有对与附近计算设备102-2相关联的用于解密加密请求的设备密钥124的访问权限。具体地,计算设备102-1可尝试使用计算设备102-1已知的(即,先前存储的)不同设备密钥124来解密加密请求的内容。如果计算设备102-1不能识别用于解密加密请求的设备密钥124,则计算设备102-1可继续监测附加的加密请求。
在步骤606处,在成功地识别用于解密加密请求的设备密钥124时,计算设备102-1可识别对应于设备密钥124的设备ID 123,并且(例如,基于设备ID 123)有效地识别关于附近计算设备102-2的细节。
在步骤608处,在解密加密请求之后,计算设备102-1可提取与附近计算设备102-2试图访问的特定无线网络130相关联的唯一无线网络标识符的指示(该指示包括在加密请求中)。但是,在一些示例中,唯一无线网络标识符不指示特定无线网络130。在任一种情况下,计算设备102-1可(根据指示)向计算设备102-1的用户显示通知。例如,当唯一无线网络标识符指示特定无线网络130时,通知可请求用户批准附近计算设备102-2访问特定无线网络130。另选地,当唯一无线网络标识符不指示特定无线网络130时,通知可请求用户建议附近计算设备102-2应连接的可用无线网络130。
在任一种情况下,在步骤610处,计算设备102-1可确定是否接收到对附近计算设备102-2访问无线网络130的批准。在确定未接收到批准时,在步骤612处,计算设备102-1可阻止密码(例如,经由认证凭据136)被提供给附近计算设备102-2。否则,如果接收到批准,则在步骤614处,计算设备102-1可提供密码,以使附近计算设备102-2能够访问无线网络130。继而,方法600还可前进至图8的方法800,这将在下文更详细地描述。
图7示出了根据一些实施方案的用于使计算设备能够向附近计算设备发出访问无线网络的请求的方法700。如图7所示,方法700开始于步骤702,其中计算设备(例如,计算设备102-2)在计算设备102-2的显示器处呈现通知,以建立对无线网络130的访问。在一些示例中,通知可呈现在计算设备102-2所置于的当前位置中的一个或多个可用无线网络的列表。在步骤704处,计算设备102-2可确定是否接收到对该一个或多个可用无线网络中的特定无线网络130的选择。如果未接收到对特定无线网络130的选择,则计算设备102-2可继续监测另外的选择。
在步骤706处,响应于确定接收到对特定无线网络130的选择,计算设备102-2可使用与计算设备102-2相关联的设备密钥124来建立加密请求,其中该加密请求包括访问特定无线网络130的指示。可通过使用唯一的无线网络标识符来指示特定无线网络130。根据一些实施方案,附近计算设备(例如,102-1)通信地耦接到特定无线网络130。这样,附近计算设备102-1可被配置为服务从计算设备102-2接收的获得对特定无线网络130的访问权限的请求。
在步骤708处,计算设备102-2可将加密请求发送给附近计算设备102-1。继而,附近计算设备102-1可尝试使用附近计算设备102-1已知的(即,先前存储的)不同设备密钥124来解密加密请求的内容。如本文先前所述,附近计算设备102-1接收到对以下各项的访问:(1)与计算设备102-2相关联的设备密钥124,以及(2)与计算设备102-2相关联的设备ID123。因此,附近计算设备102-1可基于用于解密加密请求的设备密钥124(例如,基于设备ID 123)来识别关于计算设备102-2的细节。在解密加密请求之后,附近计算设备102-1可确定解密的请求指示特定无线网络130。继而,附近计算设备102-1可呈现通知,以询问附近计算设备102-1的用户是否批准授予计算设备102-2对特定无线网络130的访问权限。
在步骤710处,如果附近计算设备102-1的用户批准,则计算设备102-2可(例如,经由认证凭据136)接收用于访问特定无线网络130的密码。现在返回到步骤704,如果计算设备102-2未接收到对特定无线网络130的选择,则计算设备102-2可在计算设备102-2的显示器处呈现具有被计算设备102-2识别的相应用户信息120的附近计算设备102,如步骤712所示。继而,计算设备102-2可等待用户选择附近计算设备102中的一者。在步骤714处,计算设备102-2可确定是否接收到对附近计算设备102中的一者的选择。如果未接收到选择,则计算设备102-2可继续监测另外的选择。
在步骤716处,响应于接收到对附近计算设备102-2的选择,计算设备102-2可使用与计算设备102-2相关联的设备密钥124来建立加密请求,其中该加密请求包括访问由附近计算设备102-1建议的任何无线网络130的指示。接下来,计算设备102-2可将加密请求发送给附近计算设备102-3。继而,附近计算设备102-3可解密加密请求并呈现通知,该通知询问附近计算设备102-3的用户是允许还是拒绝计算设备102-2访问活动无线网络或另选无线网络。在任一种情况下,如果附近计算设备102-3的用户接受,则附近计算设备102-3可向计算设备102-2提供所建议的无线网络130。
继而,在步骤718处,计算设备102-2可从附近计算设备102-3接收关于是否接受对所建议的无线网络130的访问的询问。在步骤720处,计算设备102-2可通过向附近计算设备102-3发送批准来接受询问。最后,在步骤710处,计算设备102-2可(例如,经由认证凭据136)接收与所建议的无线网络130相关联的密码,以使计算设备102-2能够访问所建议的无线网络130。继而,方法700还可前进至图8的方法800,这将在下文更详细地描述。
图8示出了可扩展以下方法中的任一种方法的方法800:(结合图3描述的)方法300、(结合图4描述的)方法400、(结合图6描述的)方法600或(结合图7描述的)方法700。根据一些实施方案,方法800涉及服务由计算设备发出的与其他计算设备共享无线网络的密码的请求。如图8所示,方法800开始于步骤802,其中计算设备(例如,计算设备102-2)接收到(例如,经由认证凭据136)提供与无线网络130相关联的密码以使不同计算设备(例如,不同计算设备102-3)能够访问无线网络130的请求。这可例如在计算设备102-2响应于请求访问(1)特定无线网络130或(2)任何无线网络130而从附近计算设备(例如,附近计算设备102-1)接收到无线网络130的密码之后发生。
在步骤804处,计算设备102-2可确定是否允许与其他计算设备102共享密码。根据一些实施方案,计算设备102-2可确定密码是否是以预共享密钥(PSK)格式存储在计算设备102-2处的。具体地,当附近计算设备102-1向计算设备102-2提供密码时,密码的明文可被转换为PSK格式(例如,64个十六进制字符)并以PSK格式共享。在一些示例中,可经由散列算法生成PSK格式。因此,响应于识别出密码以PSK格式存储在计算设备102-2处,计算设备102-2可确定:(1)密码是由另一个计算设备102提供的(即,密码不是由计算设备102-2的用户手动输入的),(2)密码不能与不同计算设备102-3共享。值得注意并且有利的是,与计算设备102-2共享密码的附近计算设备102-1的用户不必担心计算设备102-2可获得密码的明文版本并且与未授权人员共享密码,共享密码后,该未授权人员可获得对经由无线网络130可访问的潜在敏感数据的访问权限。另外,应当注意,在一些示例中,PSK格式的密码不表示密码的字面读出。因此,即使检查了密钥链,也不能导出密码的明文。
但是在一些实施方案中,应当注意,对密码没有限制将阻止密码被计算设备102-2与不同计算设备102-3共享。
在步骤806处,响应于确定允许与其他计算设备102共享密码,计算设备102-2被使得能够将密码提供给不同计算设备102-3。例如,当计算设备102-2确定密码是密码短语(例如,8至63个字符密码短语)时,则计算设备102-2可确定允许与其他计算设备102共享密码。
现在返回到步骤804,如果不允许与其他计算设备102共享密码,则阻止计算设备102-2将密码提供给不同计算设备102-3,如步骤808所示。
图9A至图9D示出了根据一些实施方案的可在不同计算设备(例如,102-1、102-2)处实现以服务访问特定无线网络的请求的示例性用户界面的概念图。如图9A所示,在步骤910处,计算设备(例如,目标计算设备102-1)的用户界面912可呈现在目标计算设备102-1所置于的当前位置中的可用无线网络的列表。请考虑这种情况,例如,在用户界面912处呈现的可用无线网络的列表是满足必需的无线信号强度的那些。
图9A示出了用户界面912可被配置为接收对可用无线网络的列表中的特定无线网络的选择。例如,如图9A所示,用户界面912可接收由目标计算设备102-1的用户对特定无线网络(“Linda_Mar”)的选择914。根据一些示例,目标计算设备102-1可确定所选择的特定无线网络(“Linda_Mar”)是否能够被其他计算设备102访问(即,共享),诸如特定无线网络(“Linda_Mar”)是否利用WPA2安全协议。响应于确定特定无线网络(“Linda_Mar”)可被其他计算设备102访问,目标计算设备102-1可将请求传输给具有对该特定无线网络的访问权限的源计算设备102-2。
根据一些实施方案,目标计算设备102-1期望选择的特定无线网络最初可能不呈现在用户界面912处。相反,可通过选择其他图标916来请求特定无线网络。在一些示例中,(源计算设备102-2可访问的)特定无线网络可以是在用户界面912处以不可见的方式呈现的隐藏网络。根据该示例,目标计算设备102-1可请求源计算设备102-2向目标计算设备102-1提供可访问的隐藏的特定无线网络。随后,源计算设备102-2可向目标计算设备102-1提供所建议的无线网络。
现在转到图9B,在步骤920处,响应于接收到对特定无线网络(“Linda_Mar”)的选择914,目标计算设备102-1可呈现提示输入密码以便使目标计算设备102-1访问特定无线网络(“Linda_Mar”)的用户界面922。结合呈现用户界面922,目标计算设备102-1可在将访问特定无线网络(“Linda_Mar”)的请求传输给在向源计算设备102-2传输之前,附加地执行条件的检查表。具体地,检查表中的条件可包括以下中的至少一个条件:(1)确定目标计算设备102-1是否登录到单点登录服务,(2)是否在用户界面922处呈现输入密码的提示,或者(3)其他计算设备102是否可访问特定无线网络(“Linda_Mar”),诸如与该特定无线网络相关联的密码是否利用具有WPA2格式的密码。当满足这些条件中的至少一个条件时,则目标计算设备102-1可被使得能够将请求传输给源计算设备102-2。
在传输请求之后,目标计算设备102-1可等待源计算设备102-2的用户接受请求。具体地,当目标计算设备102-1等待源计算设备102-2的用户批准时,用户界面922中包括的密码输入框926可以是未填充的。在一些示例中,密码输入框926可经由(1)手动输入或(2)自动填充来接收密码。
根据一些实施方案,用户界面922可呈现指令924,该指令提示用户使目标计算设备102-1更靠近(例如,接近)源计算设备102-2。如本文先前所述,源计算设备102-2可指定需要满足的必需的RSSI水平,以便源计算设备102-2处理请求。
现在转到如图9C的步骤930所示的源计算设备102-2,源计算设备102-2可从目标计算设备102-1接收请求。作为响应,源计算设备102-2可呈现用户界面932,该用户界面显示通知934,以询问源计算设备102-2的用户是允许还是拒绝目标计算设备102-1访问特定无线网络(“Linda_Mar”)。在一个示例中,通知934可包括联系人名片,该联系人名片至少基于目标计算设备102-1的用户信息120的子集。通知934可包括例如名字,以通知用户目标计算设备102-1(以及可能正在操作该目标计算设备的用户)的身份。继而,源计算设备102-2的用户可选择允许图标936,以接受对目标计算设备102-1访问特定无线网络(“Linda_Mar”)的请求。
返回到如图9D的步骤940所示的目标计算设备102-1,目标计算设备102-1可接收来自源计算设备102-2的接受。如图9D所示,(根据接受)更新目标计算设备102-1的用户界面942的密码输入框944,以包括与特定无线网络(“Linda_Mar”)相关联的自动填充的密码。继而,用户可选择加入图标946,以使目标计算设备102-1能够访问该特定无线网络。另选地,目标计算设备102-1可自动加入该特定无线网络。值得注意并且有利的是,自动填充的密码的字符被散列化,以阻止目标计算设备102-1的用户与其他计算设备102共享密码。需注意,图9A至图9D中示出的用户界面912、922、932和942仅是示例性的,并且可在计算设备102-1、102-2处实现任何用户界面以提供相同或类似的功能。
图10A至图10D示出了根据一些实施方案的可在不同计算设备(例如,102-1、102-2)处实现以服务访问任何无线网络的请求的示例性用户界面的概念图。如图10A所示,在步骤1010处,计算设备(例如,目标计算设备102-2)的用户界面1012可呈现能够被目标计算设备102-2识别的附近计算设备102(及其相应用户信息120的子集)的列表。请考虑这种情况,例如,在用户界面1012处呈现的附近计算设备102的列表也接近目标计算设备102-2(例如,满足必需的RSSI水平等)。
图10A示出了用户界面1012可被配置为接收对附近计算设备102的列表中的源计算设备102-1的选择1014。例如,如图10A所示,用户界面1012可接收对能够被识别为“Jay”的源计算设备102-1的选择1014。继而,目标计算设备102-2可将访问任何无线网络130的请求传输给源计算设备102-1。
结合将请求传输给源计算设备102-1的用户(“Jay”),图10B示出了在步骤1020处目标计算设备102-2的用户界面1022。用户界面1022可通知目标计算设备102-2的用户尚未接收到对请求的接受,并且将继续等待源计算设备102-1接受该请求。
现在转到如图10C的步骤1030所示的源计算设备102-1,源计算设备102-1可从目标计算设备102-2接收请求。作为响应,源计算设备102-1可呈现用户界面1032,该用户界面显示通知1034,以询问源计算设备102-1的用户是允许还是拒绝目标计算设备102-2的用户(“Mac”)访问活动无线网络(“Mavericks”)。另外,用户界面1032可呈现目标计算设备102-2应访问的所建议的另选无线网络1038(“Manresa”、“O’Neill_House”、“Steamer_Lane”或“其他”)的列表。这样,用户(“Jay”)可从活动无线网络(“Mavericks”)或从所建议的另选无线网络1038的列表中进行选择。此外,所建议的另选无线网络1038的列表可呈现另选无线网络中的每一者的相应信号强度,以有利于用户(“Jay”)做出选择。继而,源计算设备102-1的用户(“Jay”)可选择允许图标1036,以向目标计算设备102-2发送访问特定无线网络(“Mavericks”)的询问。
返回到如图10D的步骤1040所示的目标计算设备102-2,目标计算设备102-2可接收来自源计算设备102-1的接受。继而,目标计算设备102-2的用户界面1042向用户(“Mac”)指示源计算设备102-1已授予对特定无线网络(“Mavericks”)的访问权限。继而,用户(“Jay”)可选择加入网络图标1044,以使目标计算设备102-2能够访问该特定无线网络。需注意,图10A和图10D中示出的用户界面1012、1022、1032和1042仅是示例性的,并且可在计算设备102-1、102-2处实现任何用户界面以提供相同或类似的功能。
图11示出了根据一些实施方案的用于服务于由附近计算设备发出的将计算设备用作无线热点的请求的方法1100。如图11所示,方法1100开始于步骤1102,其中计算设备(例如,计算设备102-1)将通告传输给附近计算设备(例如,附近计算设备102-2),以将计算设备102-1用作无线热点。这可例如在计算设备102-1建立蜂窝数据网络连接之后发生。根据一些示例,计算设备102-1可包括能够建立蜂窝数据网络连接的蜂窝通信部件。
根据一些示例,计算设备102-1可与用户信息120相关联。具体地,计算设备102-1可利用散列算法(附近计算设备102-2也可具有对该散列算法的访问权限)来生成针对通告的唯一散列值和可作为散列消息传输给附近计算设备102-2的用户信息120。继而,在接收到散列消息时,附近计算设备102-2可参考散列表,以将散列通告识别为是由已知计算设备102(例如,朋友、亲戚、同事等)提供的,该散列表提供唯一散列值与和计算设备102-1相关联的用户信息120的相关性。根据其他示例,计算设备102-1可将通告作为加密消息传输。具体地,在传输通告之前,计算设备102-1可向附近计算设备102-2提供与计算设备102-1相关联的设备密钥124(例如,加密密钥)。随后,当附近计算设备102-2接收到加密消息时,附近计算设备102-2可尝试使用附近计算设备102-2已知的(即,先前存储的)设备密钥124来解密加密消息的内容。在任一种情况下,由于不相关的/未知的计算设备102不能访问消息的内容,因此增强了计算设备102-1的隐私。
继而,在步骤1104处,计算设备102-1可从附近计算设备102-2接收将计算设备102-1用作无线热点的请求,其中该请求包括与附近计算设备102-2相关联的用户信息120。
在步骤1106处,计算设备102-1可确定与请求相关联的信号强度是否满足信号阈值。如本文先前所述,计算设备102-1的共享管理器110可与无线通信部件进行交互,以确定请求的信号强度是否满足用于处理请求的必需的RSSI水平。如果计算设备102-1确定与请求相关联的信号强度不满足信号阈值,则计算设备102-1可阻止将与请求相关联的任何通知呈现给计算设备102-1的用户,如步骤1108所示。有利地,防止计算设备102-1的用户被未知计算设备102打扰。
另选地,在步骤1110中,响应于计算设备102-1确定请求的信号强度满足必需的RSSI水平,计算设备102-1可确定包括在请求中的用户信息120是否被计算设备102-1识别。具体地,计算设备102-1可通过将包括在请求中的用户信息120与由计算设备102-1管理的联系人122进行比较来识别与附近计算设备102-2是否存在预先存在的关系。在确定用户信息120没有包括在联系人122中时,计算设备102-1可阻止与请求相关联的任何通知被呈现给计算设备102-1的用户,如步骤1108所示。
否则,在步骤1112处,当计算设备102-1确定用户信息120包括在其联系人122中时,计算设备102-1可呈现通知,以询问计算设备102-1的用户是否批准授予附近计算设备102-2将计算设备102-1用作无线热点的访问权限。在一个示例中,呈现给用户的通知可包括具有例如名字、照片等的联系人名片,以通知用户附近计算设备102-2(以及可能正在操作该附近计算设备的用户)的身份。
在步骤1114处,计算设备102-1可从用户接收对使附近计算设备102-2能够将计算设备102-1用作无线热点的批准。继而,如步骤1116所示,计算设备102-1可提供认证凭据136(例如,密码等),附近计算设备102-2可使用该认证凭据来与无线热点进行认证并获得对该无线热点的访问权限。
图12示出了根据一些实施方案的用于服务由附近计算设备发出的获得对由计算设备102-1管理的安全资源的访问权限的请求的方法1200。如图12所示,方法1200开始于步骤1202,其中计算设备(例如,计算设备102-1)从附近计算设备(例如,附近计算设备102-2)接收通过认证凭据访问安全资源的请求,其中该请求包括与附近计算设备102-2相关联的用户信息120和访问安全资源的指示。根据一些示例,附近计算设备102-2可尝试经由在附近计算设备102-2处建立的安全应用程序和/或加密网站访问安全资源。具体地,安全资源可指与在线银行账户相关联的用户账户、与社交网络配置文件相关联的用户账户、与数字媒体项目服务相关联的用户账户等。
根据一些实施方案,当附近计算设备102-2呈现提示认证凭据(例如,用户名、密码、口令码、安全问题/答案等)以便附近计算设备102-2访问安全资源的用户界面时,计算设备102-1可从附近计算设备102-2接收请求。结合呈现用户界面,附近计算设备102-2可将访问安全资源的请求传输给计算设备102-1。根据一些示例,该请求可作为散列消息传输给计算设备102-1,因此计算设备102-1可参考散列表,以将散列消息识别为是由已知计算设备102(例如,朋友、父母、同事等)提供的,该散列表提供唯一散列值与和附近计算设备102-2相关联的用户信息120的相关性。根据其他示例,可将该请求作为加密消息传输给计算设备102-1,因此计算设备102-1可尝试使用计算设备102-1已知的(即,先前存储的)设备密钥124来解密加密消息的内容。在任一种情况下,由于不相关的/未知的计算设备102不能访问消息的内容,因此增强了附近计算设备102-2的隐私。
在步骤1204处,计算设备102-1可确定与请求相关联的信号强度是否满足信号阈值。如本文先前所述,计算设备102-1的共享管理器110可与无线通信部件进行交互,以确定请求的信号强度是否满足用于处理请求的必需的RSSI水平。如果计算设备102-1确定与请求相关联的信号强度不满足信号阈值,则计算设备102-1可阻止将与请求相关联的任何通知呈现给计算设备102-1的用户,如步骤1206所示。这可有利地防止计算设备102-1的用户被未知/无关的计算设备102打扰。
另选地,响应于计算设备102-1确定请求的信号强度满足必需的RSSI水平,计算设备102-1可确定包括在请求中的用户信息120是否被计算设备102-1识别,如步骤1208所示。具体地,计算设备102-1可通过将包括在请求中的用户信息120与由计算设备102-1管理的联系人122进行比较来识别与附近计算设备102-2是否存在预先存在的关系。在确定用户信息120没有包括在联系人122中时,计算设备102-1可阻止与请求相关联的任何通知被呈现给计算设备102-1的用户,如步骤1206所示。
否则,在步骤1210处,当计算设备102-1确定用户信息120包括在其联系人122中时,计算设备102-1可呈现通知,以询问计算设备102-1的用户是否批准授予附近计算设备102-2对安全资源的访问权限。在一个示例中,呈现给用户的通知可包括具有例如名字、照片等的联系人名片,以通知用户附近计算设备102-2(以及可能正在操作该附近计算设备的用户)的身份。
在步骤1212处,计算设备102-1可从用户接收对使附近计算设备102-2能够访问安全资源的批准。继而,如步骤1214所示,计算设备102-1可提供认证凭据136(例如,用户名、密码等),附近计算设备102-2可使用该认证凭据来与安全资源进行认证并获得对该安全资源的访问权限。根据一些示例,认证凭据136可与时间限制指示捆绑在一起,使得认证凭据136将在预先确定的时间量之后到期。
图13示出了根据一些实施方案的用于通过向附近计算设备提供临时密码来服务由附近计算设备发出的访问无线网络的请求的方法1300。如图13所示,方法1300开始于步骤1302,其中计算设备(例如,计算设备102-1)从附近计算设备(例如,附近计算设备102-2)接收请求,该请求包括与附近计算设备102-2相关联的用户信息120和附近计算设备102-2正试图访问无线网络130的指示。
根据一些示例,该请求可作为散列消息传输给计算设备102-1,因此计算设备102-1可参考散列表,以将散列消息识别为是由已知计算设备102(例如,朋友、父母、同事等)提供的,该散列表提供唯一散列值与和附近计算设备102-2相关联的用户信息120的相关性。根据其他示例,可将该请求作为加密消息传输给计算设备102-1,因此计算设备102-1可尝试使用计算设备102-1已知的(即,先前存储的)设备密钥124来解密加密消息的内容。在任一种情况下,由于不相关的/未知的计算设备102不能访问消息的内容,因此增强了附近计算设备102-2的隐私。
根据一些示例,在接收到请求时,计算设备102-1可确定与请求相关联的信号强度是否满足信号阈值。如本文先前所述,如果计算设备102-1确定与请求相关联的信号强度不满足信号阈值,则计算设备102-1可阻止将与请求相关联的任何通知呈现给计算设备102-1的用户。另外,计算设备102-1可确定包括在请求内的用户信息120是否包括在其联系人122中。响应于确定用户信息120包括在其联系人122中,计算设备102-1可呈现通知,以询问计算设备102-1的用户是否批准授予附近计算设备102-2对无线网络130的访问权限。
在向计算设备102-1的用户提供通知之后,在步骤1304处,计算设备102-1可确定是否从用户接收到对使附近计算设备102-2能够访问无线网络130的批准。如果计算设备102-1确定尚未从用户接收到批准,则计算设备102-1可阻止附近计算设备102-2访问无线网络130,如步骤1306所示。
另选地,在步骤1308处,响应于计算设备102-1确定从用户接收到批准,则计算设备102-1可确定是否从用户接收到对生成用于附近计算设备102-2访问无线网络130的临时密码的批准。具体地,在从用户接收到批准之后,计算设备102-1可呈现通知,以询问用户是否期望限制附近计算设备102-2具有对无线网络130的访问权限的时间量。
继而,如步骤1310所示,计算设备102-1可向计算设备传输请求,以生成用于附近计算设备102-2访问无线网络130的临时密码。根据一些示例,计算设备可指计算设备102-1可直接与其进行交互的一个或多个服务器设备。根据其他示例,计算设备可指与无线网络130相关联的无线路由器,计算设备102-1可直接与该无线网络进行交互。根据其他示例,计算设备可指计算设备102-1自身。
在步骤1312处,计算设备102-1可从计算设备接收临时密码。根据一些实施方案,可从预先存在的临时密码的集合中检索临时密码,这些预先存在的临时密码在计算设备处建立并且具体地用于访客访问无线网络130。具体地,当临时密码是生成的、从计算设备接收到的或传输给附近计算设备102-2的中的至少一者时,临时密码可与位标记(例如,时间限制指示)捆绑在一起。例如,时间限制指示可规定临时密码将仅在48小时的时间段内保持有效以供附近计算设备102-2使用。这样,在48小时的时间段过去之后,计算设备可使临时密码无效而无法访问无线网络130。根据一些实施方案,临时密码可以是由计算设备响应于从计算设备102-1接收到请求而生成的。具体地,可在附近计算设备102-2不再使用密码之后,诸如当附近计算设备102-2在预先确定的时间量(例如,24小时)内未访问无线网络130时,将临时密码与为临时密码提供指令的位标记捆绑在一起。根据一些实施方案,计算设备(诸如,与无线网络130相关联的无线路由器)可通过连续更新可供附近计算设备102-2用于访问无线网络130的授权密码的完整列表来调节对无线网络130的访问。响应于计算设备102-1请求临时密码,无线路由器可生成临时密码并向计算设备102-1提供临时密码,同时还使用最近生成的临时密码来更新授权密码的完整列表。无线路由器可被配置为建立规定临时密码将保持有效多长时间的时间限制。在时间限制到期之后,无线路由器可被配置为从授权密码的完整列表中移除临时密码。
随后,在步骤1314处,计算设备102-1可直接或间接地(例如,经由计算设备)向附近计算设备102-2提供临时密码,以使附近计算设备102-2能够访问无线网络130。
图14示出了根据一些实施方案的用于使无线路由器能够向附近计算设备提供对无线网络的访问权限的方法1400。如图14所示,方法1400开始于步骤1402,其中与无线网络130相关联的无线路由器从计算设备(例如,计算设备102-1)接受请求,其中该请求包括与计算设备102-1相关联的用户信息120以及被计算设备102-1的用户批准访问无线网络130的一个或多个联系人122的列表。这可例如在计算设备102-1的用户期望授予附近计算设备(例如,附近计算设备102-2)对无线网络130的访问权限,但由于不在地理上接近无线网络130而不能够服务由附近计算设备102-2发出的访问无线网络130的请求时发生。根据一些实施方案,无线路由器可利用用户信息120来确定请求是否是由已知计算设备102(即,有权授予计算设备102对无线网络130的访问权限的用户)提供的。
继而,在步骤1404处,响应于确定计算设备102-1是已知的或已识别的,无线路由器可将被批准访问无线网络130的该一个或多个联系人122的列表,存储在与无线网络130通信的存储设备处。另外,计算设备102-1可建立被批准通过用户账户(例如,与单点登录服务相关联的用户ID,该单点登录服务与计算设备102-1相关联)访问无线网络130的该一个或多个联系人122的列表,以便使计算设备102-1和/或无线路由器能够检索被批准访问无线网络130的联系人122的列表。因此,在一些示例中,无线路由器可能不要求计算设备102-1向无线路由器提供该一个或多个联系人的列表,因为无线路由器可相反地从用户账户检索该列表。
随后,在步骤1406处,无线路由器从附近计算设备102-2可接收访问无线网络130的请求。根据一些实施方案,该请求包括与附近计算设备102-2相关联的用户信息120和访问无线网络130的指示。根据一些示例,该请求可作为散列消息传输给无线路由器。根据一些示例,该请求可作为加密消息传输给无线路由器。
在步骤1408处,无线路由器可确定与请求相关联的信号强度是否满足信号阈值。在一些示例中,无线路由器可能够建立具有物理接近阈值的地理围栏。无线路由器可确定请求的信号强度是否满足用于处理请求的必需的RSSI水平。如果无线路由器确定与请求相关联的信号强度不满足信号阈值,则无线路由器可阻止附近计算设备102-2访问无线网络130,如步骤1410所示。
另选地,在步骤1412处,响应于无线路由器确定请求的信号强度满足必需的RSSI水平,无线路由器可确定包括在请求中的用户信息120是否对应于被批准访问无线网络130的该一个或多个联系人122。具体地,无线路由器可将包括在请求中的用户信息120与该一个或多个联系人的列表中提供的联系人122进行比较。在确定用户信息120没有包括在联系人122中时,无线路由器可阻止附近计算设备102-2访问无线网络130,如步骤1410所示。
否则,在步骤1414处,当无线路由器确定请求中提供的用户信息120包括在被批准访问无线网络130的该一个或多个联系人的列表中时,无线网络可提供认证凭据136(例如,用户名、密码等),附近计算设备102-2可使用该认证凭据来与无线网络130进行认证并获得对该无线网络的访问权限。根据一些实施方案,并且如本文所述,无线路由器可能够向附近计算设备102-2提供临时密码,该临时密码可与时间限制指示捆绑在一起,使得临时密码将在有限的持续时间内保持有效以供附近计算设备102-2使用。
图15示出了根据一些实施方案的计算设备1500的详细视图,该计算设备可表示用于实现本文所述的各种技术的图1的不同计算设备。例如,该详细视图示出了结合图1所述的计算设备(例如,102-1到102-N)中可包括的各个部件。如图15所示,计算设备1500可包括表示用于控制计算设备1500的总体操作的微处理器或控制器的处理器1502。计算设备1500还可包括用户输入设备1508,该用户输入设备允许计算设备1500的用户与计算设备1500进行交互。例如,用户输入设备1508可采取多种形式,诸如按钮、小键盘、拨号盘、触摸屏、音频输入接口、视觉/图像捕获输入接口、传感器数据形式的输入等。另外,计算设备1500可包括显示器1510,该显示器可由处理器1502(例如,经由图形部件)控制,以向用户显示信息。数据总线1516可促进至少存储设备1540、处理器1502和控制器1513之间的数据传输。控制器1513可用于通过装置控制总线1514与不同的装置进行交互并对不同的装置进行控制。计算设备1500还可包括耦接到数据链路1512的网络/总线接口1511。在无线连接的情况下,网络/总线接口1511可包括无线收发器。
如上所述,计算设备1500还包括存储设备1540,该存储设备可包括单个磁盘或磁盘集合(例如,硬盘)。在一些实施方案中,存储设备1540可包括闪存存储器、半导体(固态)存储器等。计算设备1500还可包括随机存取存储器(RAM)1520和只读存储器(ROM)1522。ROM1522可存储将以非易失性方式执行的程序、实用程序或过程。RAM 1520可提供易失性数据存储器并存储与计算设备1500上执行的应用的操作相关的指令。
另外,图16A示出了根据一些实施方案的可被配置为识别计算设备何时彼此接近的各种计算设备1602的框图1600。如图16A所示,每个计算设备1602可包括计算设备发现服务1604、身份管理器1614和动作管理器1618。需注意,在不脱离本公开的范围的情况下,这些软件实体可被分成附加实体或组合成更少的实体。根据一些实施方案,并且如本文更详细地描述的,这些软件实体可在计算设备1602中的每个计算设备上执行,并且使得通告数据包1620被计算设备1602周期性地传输。具体地,通告数据包1620可特定于计算设备1602,并且(如果有的话)可由被授权识别计算设备1602何时接近的附近计算设备1602检测和处理。继而,附近计算设备1602可响应于检测到计算设备1602接近附近计算设备1602而执行至少一个动作。
为了实现前述技术,计算设备发现服务1604(在给定计算设备1602上执行)可被配置为生成和/或管理特定于计算设备1602的加密密钥1608。根据一些实施方案,并且如本文更详细地描述的,加密密钥1608在性质上可以是动态的,并且在适当的场景下(例如,当修改被授权检测计算设备1602何时在附近的计算设备1602时)被更新的加密密钥1608替换。另外,计算设备1602可被配置为管理用作传输通告数据包1620的基础的转换地址1610。根据一些实施方案,转换地址1610可以是任何任意值,例如,随机生成的数字、从与计算设备1602相关联的通信地址导出的数字等。根据一些实施方案,并且如本文更详细地描述的,转换地址1610本质上可以是动态的,例如,转换地址1610可周期性地更新(例如,每十五分钟更新一次)。有利地,这些周期性更新可使得恶意方难以跟踪计算设备1602。
如图16A所示,计算设备发现服务1604(例如,其在第一计算设备1602上执行)可被配置为(例如,使用任何数据结构)管理每个计算设备1602的条目,第一计算设备1602被授权检测该每个计算设备何时接近。具体地,每个条目将至少(1)计算设备ID 1606(其对应于特定计算设备1602)与(2)“已知”加密密钥1608(其也对应于特定计算设备1602)相关联。需注意,针对给定计算设备1602的已知加密密钥1608表示:由计算设备1602生成/管理并且被提供给被授权检测给定计算设备1602何时接近的其他计算设备1602的加密密钥1608。
如本文更详细地描述的,在不脱离本公开的范围的情况下,可实现用于在计算设备1602之间共享加密密钥1608的任何已知方法。例如,加密密钥1608可通过加密密钥交换服务器1622共享,该加密密钥交换服务器被配置为与计算设备1602通信并且协调加密密钥1608被共享的方式。在另一个示例中,加密密钥1608可在计算设备1602之间直接共享,而不涉及加密密钥交换服务器1622。下文将结合图16B至图16C更详细地描述加密密钥1608可在计算设备1602之间共享的方式的更详细分解。
根据一些实施方案,并且如本文更详细地描述的,每个计算设备1602可被配置为利用其相应的加密密钥1608来周期性地生成和传输特定于计算设备1602的通告数据包1620。就这一点而言,当计算设备1602从附近计算设备1602接收通告数据包1620时,计算设备1602可迭代通过其已知加密密钥1608,以识别(如果有的话)(1)对应于附近计算设备1602并且(2)可用于验证通告数据包1620的已知加密密钥1608。继而,计算设备1602可识别对应于(与附近计算设备1602相关联的)所识别的已知加密密钥1608的计算设备ID 1606。就这一点而言,计算设备1602能够在高水平上理解附近计算设备1602接近。根据一些实施方案,并且如本文更详细地描述的,这种理解可引起计算设备1602(1)识别与附近计算设备1602相关联的特定人员,以及(2)确定计算设备1602是否应采取动作。
另外,并且如图16A所示,身份管理器1614可被配置为(例如,使用任何数据结构)管理多个条目,其中每个条目将至少(1)个人ID 1616(其对应于特定个体)与(2)计算设备ID 1606(其与特定个体相关联)相关联。根据一些实施方案,可结合在计算设备1602之间共享加密密钥1608来建立该数据。例如,第一个体授权第二个体以识别第一个体何时接近第二个体可涉及:(1)将(属于第一个体的所有计算设备1602中的)相应的已知加密密钥1608提供给(属于第二个体的)所有计算设备1602,以及(2)将(属于第一个体的)个人ID 1616提供给(属于第二个体的)所有计算设备1602。这样,属于第二个体的计算设备1602能够用图16A所示的信息填充其相应的设备发现服务1604/身份管理器1614,从而使计算设备1602能够检测第一个体的计算设备1602何时接近。
需注意,前述场景仅是示例性的,并且实施方案不需要个体使其所有计算设备1602能够被授权个体的所有计算设备1602发现。相反,在不脱离本公开的范围的情况下,实施方案可使个体的特定计算设备1602能够被选择为能够被(1)不同个体的所有设备或(2)不同个体的特定设备发现。
根据一些实施方案,计算设备发现服务1604可被配置为每当识别出已知/附近计算设备1602的计算设备ID 1606时与身份管理器1614进行交互(如本文所述)。具体地,计算设备发现服务1604可被配置为将计算设备ID 1606提供给身份管理器1614,使得身份管理器1614可有效地定位对应于与计算设备ID 1606相关联的个体(例如,对应于计算设备ID1606的计算设备1602的所有者)的个人ID 1616。继而,根据一些实施方案,身份管理器1614可被配置为将个人ID 1616提供给动作管理器1618,以使动作管理器1618能够识别分配给个人ID 1616的动作配置文件1619(如果有的话)。
根据一些实施方案,动作配置文件1619可表示指示当(与个人ID1616相关联的)已知计算设备1602已接近时计算设备1602应如何响应的参数的集合。例如,参数的集合可指示应在计算设备1602上显示指示对应于个人ID 1616的个体接近的警示。在另一个示例中,参数的集合可指示应更新计算设备1602的特定设置,例如通知设置。需注意,前述示例并不旨在表示详尽列表,并且在不脱离本公开的范围的情况下,任何已知类别的动作(在任何粒度水平下)可由给定动作配置文件1619定义。
因此,图16A示出了示例性架构的高层级概述,该示例性架构可用于使计算设备1602能够在接近条件下知道彼此,同时保护隐私。现在下文将结合图16B至图16C更详细地描述加密密钥1608可在计算设备1602之间交换的方式的更详细说明。
图16B示出了根据一些实施方案的用于使计算设备1602能够通过加密密钥交换服务器1622彼此交换加密密钥1608的方法1630。具体地,根据一些实施方案,可通过加密密钥交换服务器1622实现方法1630,以使计算设备1602能够彼此间接地交换加密密钥1608。如图16B所示,方法1630开始于步骤1632,其中加密密钥交换服务器1622从第一计算设备1602接收数据项,该数据项包括:(i)对于第一计算设备1602唯一的计算设备ID1606,(ii)对于与第一计算设备1602相关联的个体唯一的个人ID 1616,以及(iii)与第一计算设备1602相关联的加密密钥1608。
需注意,第一计算设备1602可被配置为响应于在加密密钥交换服务器1622处、第一计算设备1602处和/或其他地方被满足的任何条件而将数据项提供给加密密钥交换服务器1622。例如,加密密钥交换服务器1622可拥有与第一计算设备1602相关联的信息(例如,计算设备ID 1606、个人ID1616等),使得加密密钥交换服务器1622可识别何时适合向计算设备1602查询数据项。这可例如在加密密钥交换服务器1622接收到将个人ID1616添加到与至少一个不同的个人ID 1616相关联的家庭账户的请求时发生。继而,加密密钥交换服务器1622可被配置为解析数据结构(图16A中未示出),该数据结构识别针对与个人ID 1616相关联的所有计算设备1602的计算设备ID 1606。随后,加密密钥交换服务器1622可向计算设备1602中的每个计算设备查询其相应的数据项,并且将其相应的数据项转发给与该至少一个不同的个人ID 1616相关联的所有计算设备1602。另外,加密密钥交换服务器1622可被配置为向与该至少一个不同的个人ID 1616相关联的所有计算设备1602查询其相应的数据项,并且将其相应的数据项转发给与个人ID 1616相关联的计算设备1602。
需注意,前述场景是示例性的,并且在不脱离本公开的范围的情况下,加密密钥交换服务器1622可实现用于授权在计算设备1602之间交换加密密钥1608的任何方法。例如,操作第一计算设备1602的第一用户可(例如,经由在第一计算设备1602上显示的用户界面)在其联系人中进行导航,以识别当第二用户接近第一用户时第一用户想要知道的第二用户。继而,第一计算设备1602可向加密密钥交换服务器1622发出请求,该请求包括与第二用户相关联的个人ID 1616(和/或一个或多个计算设备ID1606,如果可用)。随后,加密密钥交换服务器1622可利用包括在请求中的信息来提示第二用户许可,以使第一用户能够知道其接近。这可涉及例如加密密钥交换服务器1622识别与第二用户相关联的计算设备1602中的所有计算设备(或其子集),并且使得计算设备1602(例如,经由在计算设备1602处显示的用户界面)显示提示,该提示指示第一用户想要知道第二用户何时接近第一用户。继而,第二用户可选择与第二用户相关联的计算设备1602中的所有计算设备(或其子集),使得第一计算设备1602被授权知道计算设备1602何时接近第一计算设备1602。
在另一个示例中,加密密钥交换服务器1622可被配置为分析用户之间的交互,以识别谨慎建议用户彼此授权以知道彼此接近的条件。例如,加密密钥交换服务器1622可被配置为分析在第一个体和第二个体之间发生的交互,并且建议第一个体和第二个体彼此授权以知道彼此接近。在又一个示例中,加密密钥交换服务器1622可分析个体之间的现有关系,以识别条件从而提供建议。例如,关于第一个体和第二个体之间的雇佣关系的信息可指示对于个体知道何时彼此接近将是有益的。在另一个示例中,一组个体之间的分级关系信息(例如,小型、中型或大型企业)可指示对于这些个体中的不同个体知道何时彼此接近将是有益的。同样,需注意,前述示例仅是示例性的,并且加密密钥交换服务器1622可识别对于个体彼此共享接近可能是有益的任何条件。另外需注意,在不脱离本公开的范围的情况下,计算设备1602可执行与加密密钥交换服务器1622相同的分析和/或附加分析。
现在返回到方法1630,在步骤1634处,加密密钥交换服务器1622基于计算设备ID1606或个人ID 1616中的一者或多者来识别与第一计算设备1602相关的至少一个计算设备1602。在步骤1636处,加密密钥交换服务器1622将数据项提供给该至少一个计算设备1602,其中该至少一个计算设备1602将加密密钥1608存储为链接到计算设备ID 1606和个人ID1616的已知加密密钥1608。
需注意,方法1630的全部或子集可结合许可改变、对加密密钥1608的更新等重复。例如,响应于损害事件等,第一计算设备1602可能有必要周期性地更新其加密密钥1608。当发生这种情况时,第一计算设备1602可生成更新的加密密钥1608并且将更新的加密密钥与用更新的加密密钥1608替换对应的旧加密密钥1608的请求一起提供给加密密钥交换服务器1622。继而,加密密钥交换服务器1622可识别存储旧加密密钥1608的第二计算设备1602,并将更新的加密密钥1608提供给第二计算设备1602。这样,第二计算设备1602可保持能够识别第一计算设备1602何时接近。
另外,需注意,加密密钥交换服务器1622可被配置为:当第二用户取消授权使得第一用户不被许可识别第二用户何时接近时,使得(第一用户的)第一计算设备1602删除与(第二用户的)第二计算设备1602相关联的已知加密密钥1608。例如,当与家庭账户相关联的用户被从家庭账户移除时,家庭账户上的剩余用户不应再被授权识别该用户何时接近。因此,为了实现这些改变,加密密钥交换服务器1622可被配置为使得属于家庭账户上的剩余用户的计算设备1602删除与属于被从家庭账户移除的用户的计算设备1602相关联的加密密钥1608。
因此,图16B阐述了用于使计算设备1602能够彼此交换加密密钥1608的以服务器为中心的技术。然而,如前所述,计算设备1602还可能够在不涉及加密密钥交换服务器1622的情况下共享加密密钥1608。就这一点而言,图16C示出了根据一些实施方案的用于使计算设备1602能够彼此直接交换加密密钥1608的方法1650。如图16C所示,方法1650开始于步骤1652,其中第一计算设备1602识别使第二计算设备1602能够知道第一计算设备1602何时在第二计算设备1602附近的条件,例如上文结合图16B所述的条件。在步骤1654处,第一计算设备1602将数据项提供给第二计算设备1602,该数据项包括:(i)对于第一计算设备1602唯一的计算设备ID 1606,(ii)对于与第一计算设备1602相关联的个体唯一的个人ID 1616,以及(iii)与第一计算设备1602相关联的加密密钥1608。继而,并且如本文所述,第二计算设备1602可保存数据项的各个部分,使得第二计算设备1602变得能够检测第一计算设备1602的接近。
需注意,在不脱离本公开的范围的情况下,第一计算设备1602可被配置为使用传输数据的任何已知方法来将数据项提供给第二计算设备1602。例如,在不脱离本公开的范围的情况下,第一/第二计算设备1602可利用蓝牙、近场通信(NFC)、WiFi、超宽带(UWB)和/或蜂窝。
因此,16B至图16C提供了根据一些实施方案的可通过加密密钥交换服务器1622在计算设备1602之间交换加密密钥1608的方式的详细说明。因此,现在下文将结合图17A至图17B描述可传输和分析通告数据包1620的方式的更详细说明。
图17A示出了根据一些实施方案的传输通告数据包1620的计算设备1602-1的概念图1700。如图17A所示,计算设备1602-1可利用其加密密钥1608和转换地址1610来生成通告数据包1620。具体地,计算设备1602-1可利用其加密密钥1608来对转换地址1610执行散列操作1702,以生成后缀1706。根据一些实施方案,后缀1706可表示由散列操作1702产生的值的全部或一部分,例如由散列操作1702产生的值的前三(3)个字节。在任何情况下,后缀1706可与前缀1704(即,转换地址1610)组合以形成通告数据包1620,该通告数据包可由能够检测通告数据包1620的任何附近计算设备1602(例如,计算设备1602-2)接收和分析。需注意,包括在图17A所示的通告数据包1620中的信息是示例性的,并且在不脱离本公开的范围的情况下可以实现其他变型。例如,前缀1704和后缀1706可以颠倒。在另一个示例中,当转换地址1610表示与计算设备1602-1相关联的当前网络地址时,前缀1704可被省略,因为通告数据包1620将包括通告数据包1620的另一字段中的转换地址1610。
根据一些实施方案,计算设备1602-2可被配置为在分析通告数据包1620之前验证通告数据包1620满足至少一个条件。例如,计算设备1602-2可(1)验证通告数据包1620是在满足阈值的信号强度下接收到的,并且/或者(2)验证通告数据包1620的总体完整性。例如,计算设备1602-2可忽略在低信号强度下接收到的和/或片段化的通告数据包1620,因为此类通告数据包1620指示还不应分析传输通告数据包1620的计算设备1602的接近。
另外,需注意,在不脱离本公开的范围的情况下,计算设备1602-1可被配置为根据任何方法传输通告数据包1620。具体地,计算设备1602-1可被配置为根据固定的周期性速率、已满足的一个或多个条件等生成和传输通告数据包1620。例如,只要计算设备1602-1的电池电量满足阈值,计算设备1602-1可每秒传输通告数据包1620。在另一个示例中,计算设备1602-1可被配置为:当处于隐私模式时,例如当计算设备1602-1在地理边界内时,当计算设备1602-1在特定模式(例如,主动电话呼叫)下操作时等,停止传输通告数据包1620。
另外,需注意,计算设备1602-1可调整传输通告数据包1620的方式,以实现其他计算设备1602能够检测计算设备1602-1的有效边界。例如,计算设备1602-1可根据期望的接近阈值、用于传输通告数据包1620的通信接口的类型等来改变传输通告数据包1620的功率电平。
在任何情况下,当计算设备1602-2接收到通告数据包1620并且通告数据包1620满足前述条件时,计算设备1602-2可开始分析通告数据包1620,以识别通告数据包1620是否是由计算设备1602-2已知的计算设备1602传输的。根据一些实施方案,这可涉及计算设备1602-2,针对其已知加密密钥1608中的每个已知加密密钥:(1)对通告数据包1620的前缀1704执行相同的散列操作1702,以及(2)比较通过散列操作1702产生的值,以确定该值是否与通告数据包1620的后缀1706匹配。
根据一些实施方案,计算设备1602-2可以使由计算设备1602-2管理的不同的已知加密密钥1608应用于通告数据包1620的方式优先。例如,可以优先的方式访问与(计算设备1602-2最频繁地与其接触的)计算设备1602相关联的已知加密密钥1608,以减少在尝试按随机或标准顺序认证通告数据包1620时原本可能发生的总体的时间量/工作量。在另一个示例中,与重要个体相关联的加密密钥1608可以被优先。需注意,前述示例并不旨在限制,并且在不脱离本公开的范围的情况下,可使用任何方法来使加密密钥1608优先。
在任何情况下,当找到产生匹配的已知加密密钥1608时,计算设备1602-2识别对应于已知加密密钥1608的计算设备ID 1606。继而,计算设备1602-2可利用计算设备ID1606来识别对应的个人ID 1616。随后,计算设备1602-2可利用个人ID 1616来识别对应于个人ID 1616的动作配置文件1619(如果有的话),并且根据动作配置文件1619继续。这可涉及例如识别在动作配置文件1619中定义的动作,这些动作应当在接近“开始”事件与计算设备1602-1相关联地发生时执行。
另外,尽管图17A中未示出,但计算设备1602-2可被配置为例如通过以下方式监测计算设备1602-1是否继续保持接近计算设备1602-2:通过分析由计算设备1602-1传输的附加通告数据包1620,通过经由在接近开始事件之后形成的通信信道周期性地查验计算设备1602-1等。就这一点而言,当计算设备1602-2识别出计算设备1602-1不再满足相对于计算设备1602-2的物理接近阈值时,计算设备1602-2可停用计算设备1602-2处的相应动作配置文件1619。这可涉及例如识别在动作配置文件1619中定义的动作,这些动作应当在接近“结束”事件与计算设备1602-1相关联地发生时执行。
因此,图17A阐述了根据一些实施方案的计算设备1602可根据本文阐述的技术传输和分析通告数据包1620的方式。现在下文将结合图17B更详细地描述计算设备1602可传输和分析通告数据包1620的方式的更详细说明。
图17B示出了根据一些实施方案的用于传输和分析通告数据包1620的方法1750。如图17B所示,方法1750开始于步骤1752,其中第一计算设备1602从第二计算设备1602接收通告数据包1620,该通告数据包包括:(i)与第二计算设备1602相关联的网络地址(例如,转换地址1610),以及(ii)使用转换地址1610和与第二计算设备1602相关联的加密密钥1608来计算的散列值(例如,如上文结合图17A所述)。在步骤1754处,第一计算设备1602针对第一计算设备1602可访问的多个已知加密密钥1608中的每个已知加密密钥1608执行步骤1756至1758。具体地,在步骤1756处,第一计算设备1602使用转换地址1610和已知加密密钥1608来计算临时散列值(例如,也如上文结合图17A所述)。在步骤1758处,响应于识别出临时散列值与散列值匹配,第一计算设备1602执行与第二计算设备1602相关联的操作(例如,也如上文结合图17A所述)。
因此,图17A至图17B提供了根据一些实施方案的可传输和分析通告数据包1620的方式的详细说明。另外,图18提供了根据一些实施方案的可用于调整用户可授权其他用户知道彼此接近的方式的示例性用户界面1800的图示。如图18所示,可显示在计算设备1602-1上的示例性用户界面1800可包括切换开关1802,该切换开关切换是否允许任何个体(根本不允许)识别计算设备1602-1的用户何时接近这些个体。如图18所示,当切换开关1802被激活时,可使用按钮1804来添加不同的人,并且可使用相应的切换按钮1808来关闭和打开对现有的人的授权。
另外,用户界面1800可包括用于每个个体的相应按钮1806,这些按钮使用户能够指定他或她的计算设备1602中允许个体的计算设备1602检测的特定计算设备。例如,在图18中,允许John Smith知道所有计算设备1602(包括计算设备1602-1)何时接近John Smith的计算设备1602。在另一个示例中,仅允许Craig Sanchez知道用户的平板设备(例如,计算设备1602-2)何时接近Craig Sanchez的计算设备1602。需注意,在不脱离本公开的范围的情况下,可提供更精细的粒度控制水平。例如,用户界面还可使计算设备1602-1的用户能够选择属于John Smith的特定计算设备1602(例如,仅John Smith的移动设备),该特定计算设备被授权识别属于计算设备1602-1的用户的所选择的计算设备1602何时接近。在一些实施方案中,这可涉及请求许可查看属于John Smith的计算设备1602的列表,其中继而,用户可选择属于John Smith的计算设备1602中的特定计算设备,该特定计算设备被授权检测属于计算设备1602-1的用户的所选择的计算设备1602的存在。
尽管图18中未示出,但应当理解,可将附加用户界面控件结合到示例性用户界面中,以进一步实现对人及其所分配的许可的管理。例如,用户可在表示人员的任何用户元素上向左轻扫,以暴露使人员能够被删除的按钮。
另外,图19提供了根据一些实施方案的可用于基于用户与已知计算设备1602的接近来识别用户的近似位置的示例性用户界面1820的图示。如图19所示,可显示在计算设备1602-1上的示例性用户界面1820可包括用于计算设备1602-1已知的计算设备1602的相应拨动开关1822。根据一些实施方案,可过滤用户界面1820中列出的计算设备1602以包括在很大程度上是固定的计算设备,例如包括智能扬声器、智能集线器等的电子外围设备,使得可理解接近那些计算设备1602的其他计算设备1602的一般化位置。然而,需注意,与计算设备1602-1相关联的并且被授权进行交互的任何计算设备1602可在用户界面1820中列出。
根据一些实施方案,当已知计算设备1602的切换开关1822切换到活动位置时,计算设备1602-1可被配置为显示与计算设备1602相关联的并且接近已知计算设备1602的个体。例如,如图19所示,个体“John Smith”和“Sarah Smith”接近计算设备1602“客厅扬声器”,这由用户界面元素1824反映在用户界面1820内。同样如图19所示,个体“Suzi Smith”接近计算设备1602“车库智能集线器”,这由用户界面元素1826反映在用户界面1820内。可使用按钮1828将附加计算设备1602添加到用户界面1820。
另外,需注意,可实现本文所述的许可/授权技术,以确保用户界面1820仅显示关于已授权计算设备1602-1(及其所有者/用户)知道其位置的个体的信息。例如,在图19的上下文中,John Smith、Sarah Smith以及Suzi Smith已允许计算设备1602-1(及其所有者/用户)识别那些个体何时不仅接近计算设备1602-1,还接近与计算设备1602-1相关联的其他计算设备1602,包括客厅扬声器和车库智能集线器。就这一点而言,当计算设备1602-1被授权检测John、Sarah和Suzi Smith何时接近计算设备1602-1时,计算设备1602-1可获得与计算设备1602相关联的加密密钥1608,这些计算设备1602与那些个体相关联。继而,计算设备1602-1可将加密密钥1608转发给与计算设备1602-1相关联的计算设备1602(即,客厅扬声器和车库智能集线器),使得那些设备能够检测John、Sarah和Suzi Smith何时接近客厅扬声器和车库智能集线器。
另外需注意,尽管本文阐述的实施方案大体讨论了WiFi信息的共享,但在不脱离本公开的范围的情况下,本文所述的各种计算设备可被配置为在彼此之间共享任何形式的信息,例如联系人信息、照片、视频、文档、文件等。
根据一些实施方案,本文阐述的实施方案包括用于基于计算设备相对于其他计算设备的取向来过滤附近/已知计算设备的附加技术。需注意,计算设备可利用本文阐述的发现技术中的任一种发现技术来使计算设备能够识别计算设备附近并且已知的一个或多个计算设备(如果有的话)。继而,计算设备可基于计算设备相对于该一个或多个计算设备的取向来过滤该一个或多个计算设备。需注意,计算设备可被配置为包括使计算设备能够识别其相对于其他计算设备的取向的任何硬件,例如超宽带(UWB)部件。然而,需注意,UWB硬件的使用仅是示例性的,并且可利用任何其他硬件部件(和/或它们的组合)来使计算设备能够做出相同的(或类似的)基于取向的确定。
在任何情况下,基于取向的过滤的示例性场景的第一步骤可涉及计算设备,该计算设备发现有五个不同的计算设备(例如属于Sarah Green、Herbert Williams、IngridSolomund、Rebecca Vortune和Alyssa Ternola的计算设备)在该计算设备附近并且是该计算设备已知的。简言之,应当理解,前述用户已“选择加入”以参与本文所述的基于接近的特征。另外,应当理解,在不脱离本公开的范围的情况下,用户可容易地选择加入或选择退出本文所述的任何特征。例如,当与相应的第一用户和第二用户相关联的任何计算设备彼此接近时,用户界面可提示第一用户和第二用户同意第一用户和/或第二用户被通知。继而,第一用户和/或第二用户可选择退出该能力,使得当与相应的第一用户和第二用户相关联的计算设备彼此接近时,基于接近的特征将不会被触发。
在任何情况下,当前述计算设备发现五个不同的计算设备时,计算设备可生成用户界面,该用户界面使计算设备的用户能够观察附近用户的列表。根据一些实施方案,用户界面可包括用户界面元素,该用户界面元素在被选择时使得计算设备基于计算设备所指向的方向来过滤附近用户的列表。具体地,过滤器使附近用户的列表能够基于计算设备所指向的相对于附近用户的计算设备的当前方向主动地更新。另外,用户界面可包括用户界面元素,该用户界面元素在被选择时使得计算设备执行与附近用户中的至少一者相关联的特定动作,例如与附近用户共享一个或多个文件、向附近用户发送电子邮件等。
根据一些实施方案,第二步骤可涉及计算设备响应于用户基于计算设备的取向选择过滤的选项来更新用户界面。在一个示例中,计算设备朝向属于Ingrid Solomund的计算设备取向,并且相应地更新附近用户的列表以仅包括Ingrid Solomund。在这个时刻,计算设备的用户具有经由用户界面元素选择Ingrid Solumund的选项,并且随后通过选择另一个用户界面元素使得计算设备执行与Ingrid Solumund相关联的特定动作。
简而言之,需注意,可调整各种设置,以提供直观且可感知的基于取向的功能。在一个示例中,可扩展总体方向范围以降低计算设备相对于其他计算设备的取向的总体灵敏度。相反,可缩小总体方向范围以增加计算设备相对于其他计算设备的取向的总体灵敏度。在另一个示例中,可增大距离阈值以使计算设备能够识别原本可能被计算设备忽略的附加计算设备。相反地,可减小距离阈值以防止计算设备检测到被认为太远而不感兴趣的计算设备。需注意,此类配置仅是示例性的,并且在不脱离本公开的范围的情况下,可调整与计算设备及其相对于彼此的取向相关的任何其他配置。
在第二步骤结束时,用户选择不执行与Ingrid Solomund相关联的任何动作,而是将计算设备朝向其他个体重新取向。在第三步骤中获得该概念,在第三步骤中朝向RebeccaVortune和Alyssa Ternola的计算设备重新取向计算设备。在这个时刻,计算设备的用户具有经由用户界面元素选择Rebecca Vortune和/或Alyssa Ternola的选项,并且随后通过选择另一个用户界面元素使得计算设备执行与这些个体相关联的特定动作。继而,在第四步骤处,计算设备的用户经由用户界面元素选择Rebecca Vortune和Alyssa Ternola两者。随后,计算设备可响应于用户选择用户界面元素(例如,传输文件、发送电子邮件等)而执行与这些个体相关联的动作。
因此,前述技术示出了根据一些实施方案的示例性场景,其中可基于计算设备相对于其他计算设备的取向来过滤附近/已知计算设备。
图20A至图20C示出了根据一些实施方案的用于当特定用户的一个或多个计算设备接近计算设备时触发计算设备上的提醒的技术的序列图。如图20A所示,第一步骤2000可涉及计算设备2002显示用户界面2004,该用户界面使用于提醒的参数能够被输入到计算设备2002。根据一些实施方案,用户界面2004可包括提醒的主题字段,该主题字段(如图20A所示)已被分配字符串值“祝贺退休”。另外,用户界面2004可包括用户界面元素2005,该用户界面元素使提醒能够基于满足时间条件(即,基于日期和时间)而被触发。此外,用户界面2004可包括用户界面元素2006,该用户界面元素使提醒能够基于满足地理接近条件(即,基于计算设备2002到达特定区域(例如,工作位置、家庭位置、特定地址等))而被触发。此外,用户界面2004可包括用户界面元素2007,该用户界面元素使提醒能够在计算设备2002接近属于特定用户的附近计算设备时被触发。此外,用户界面2004可包括用户界面元素2009以在已建立用于提醒的所有相关参数时设定提醒。
如图20A所示,用户界面元素2007被选择,这使得附加用户界面元素显示在用户界面2004内。具体地,附加用户界面元素包括使得能够选择一个或多个个体的用户界面元素2008-1,以及使得能够建立距离阈值的用户界面元素2008-2。因此,图20B中所示的第二步骤2010涉及计算设备2002,该计算设备响应于对用户界面元素2008-1的选择而显示用户界面2012,这使得能够选择一个或多个个体。如图20B所示,用户界面2012可使用户能够按姓名(例如,在计算设备2002可访问的通讯录中)搜索个体。另外,用户界面2012可显示附近的人的列表,该列表可由计算设备2002根据本文阐述的发现技术来确定。另外,用户界面2012可显示联系人(例如,包括在上述通讯录中的那些联系人)的列表。需注意,用户界面2012仅是示例性的,并且不应理解为以任何方式进行限制。相反,用户界面2012可包括以任何方式组织以供选择的附加联系人,例如,基于类别(例如,“工作团队”、“家庭”等)组织的联系人组。
在任何情况下,第二步骤2010涉及对Caroline Tsing的选择2014,这使得执行第三步骤2020,如图20C所示。如图20C所示,用户界面2004被显示和更新以反映CarolineTsing已被选择为个体,使得与Caroline Tsing的任何接近(具体地,计算设备2002(或相关联的计算设备)和与Caroline Tsing相关联的任何计算设备之间的任何接近)应触发在计算设备2002(或相关联的计算设备)处的提醒。另外,并且如图20C所示,三十英尺的距离阈值经由用户界面元素2008-2与提醒相关联。需注意,该距离阈值是示例性的,并且在不脱离本公开的范围的情况下,可建立处于任何粒度水平的任何其他距离阈值。
最后,在图20C中的第三步骤2020结束时,经由用户界面元素2009来设定提醒。此后,当与Caroline Tsing相关联的任何计算设备与计算设备2002(或相关联的计算设备)相距的距离在三十英尺内时,计算设备2002(或相关联的计算设备)将触发提醒。
另外,图21示出了根据一些实施方案的用于对附近计算设备进行分组以供选择的技术的概念图2100。如图21所示,计算设备2102可生成用户界面2104,该用户界面显示附近的人的列表,该列表可由计算设备2102根据本文阐述的发现技术来确定。同样如图21所示,用户界面2104可包括用户界面元素2106,以选择显示在用户界面2104内的所有附近的人。例如,当计算设备2102的用户与家人、朋友、同事等相见并且想要(经由用户界面元素2108)执行与那些个体相关联的一些动作(例如,与个体共享一个或多个文件、向个体发送电子邮件等)时,这可能是有用的。
需注意,在不脱离本公开的范围的情况下,可在用户界面2104内实现附加分组技术。具体地,可基于共性将附近的人过滤成两个或更多个子组。例如,个体可与其家人和其同事一起参加工作活动,使得用户界面2104显示(1)其附近的家庭成员,以及(2)其附近的同事。在这种情况下,用户界面2104可在具有第一相应“选择全部”选项的子组中显示附近的家庭成员,并且还可在具有第二相应“选择全部”选项的子组中显示附近的同事。就这一点而言,个体可容易地与相关个体共享信息,例如,与所有附近的家庭成员共享家人图片,以及与所有附近的同事共享同事图片。
另外,需注意,在不脱离本公开的范围的情况下,本文所述的各种硬件部件(例如,蓝牙、近场通信(NFC)、WiFi、超宽带(UWB)和/或蜂窝部件)可被配置为以部分或完全的方式实现各种发现技术。例如,前述部件中的任一个部件可被配置为实现独立于包括在计算设备中的中央处理单元的技术。这种配置可使计算设备能够保持在低功率模式(例如,锁定/睡眠状态),同时继续使发现技术能够起作用。该方法可带来可观的功率节省,因为中央处理单元可尽可能长时间地保持在低功率状态,并且随后在适当时转变成更高功率状态。例如,当一个或多个无线电部件确定存在附近/已知计算设备时,无线电部件中的该一个或多个无线电部件可使得中央处理单元进入更高功率状态。继而,中央处理单元可确定是否需要采取动作(例如,显示链接到附近/已知计算设备的接近的提醒)并执行这些动作。随后,中央处理单元可(在适当时)返回到低功率状态,因此无线电部件可继续提供本文所述的发现能力。
如上所述,本技术的一个方面在于收集并使用得自各种资源的数据,以改善计算设备的操作效率。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于定位的数据、电话号码、电子邮件地址、twitter ID、家庭地址、与用户的健康或健身等级相关的数据或记录(例如,生命信号测量、药物信息、锻炼信息)、出生日期、或任何其他识别信息或个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于改善计算设备的操作效率。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可用于向用户的总体健康状况提供见解,或者可用作使用技术来追求健康目标的个人的积极反馈。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。此类政策应该能被用户方便地访问,并应随着数据的采集和/或使用变化而被更新。来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应当调整政策和实践,以便采集和/或访问的特定类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个人数据类型保持不同的隐私实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,本技术可被配置为允许用户在注册服务期间或其后随时选择参与采集个人信息数据的“选择加入”或“选择退出”。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集定位数据)、控制数据如何被存储(例如,在用户之间聚合数据)、和/或其他方法来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可基于非个人信息数据、绝对最小量的个人信息、可用的其他非个人信息或公开可用信息来改善计算设备的操作效率。
可单独地或以任何组合使用所述实施方案的各个方面、实施方案、具体实施或特征。可由软件、硬件或硬件与软件的组合来实施所述实施方案的各个方面。所述实施方案还可被实施为计算机可读介质上的用于控制生产操作的计算机可读代码,或者被实施为计算机可读介质上的用于控制生产线的计算机可读代码。计算机可读介质为可存储数据的任何数据存储设备,其后该数据可由计算机系统读取。计算机可读介质的示例包括只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带和光学数据存储设备。计算机可读介质还可分布在网络耦合的计算机系统中,使得计算机可读代码以分布的方式被存储和执行。
为了说明的目的,前述描述使用具体命名以提供对所述实施方案的透彻理解。然而,对于本领域的技术人员而言将显而易见的是,不需要具体细节即可实践所述实施方案。因此,具体实施方案的前述描述被呈现用于例示和描述的目的。前述描述不旨在为穷举性的或将所述的实施方案限制为所公开的精确形式。对于本领域的普通技术人员而言将显而易见的是,鉴于上面的教导内容,许多修改和变型是可行的。
Claims (66)
1.一种用于安全地识别附近的相关计算设备的方法,所述方法包括:在第一计算设备处:
从第二计算设备接收通告数据包,所述通告数据包包括:
(i)与所述第二计算设备相关联的网络地址,以及
(ii)使用所述网络地址和与所述第二计算设备相关联的加密密钥来计算的散列值;以及
针对所述第一计算设备可访问的多个已知加密密钥中的每个已知加密密钥:
使用所述网络地址和所述已知加密密钥来计算临时散列值,以及
响应于识别出所述临时散列值与所述散列值匹配:
执行与所述第二计算设备相关联的操作。
2.根据权利要求1所述的方法,其中所述多个已知加密密钥中的每个已知加密密钥是与相应计算设备相关联的加密密钥,并且每个已知加密密钥与对于所述相应计算设备唯一的计算设备标识符(ID)相关联。
3.根据权利要求2所述的方法,其中每个计算设备ID与对于特定个体唯一的个人标识符(ID)相关联。
4.根据权利要求3所述的方法,其中所述多个已知加密密钥中的每个已知加密密钥与优先级值相关联,所述优先级值初始基于与所述第一计算设备相关联的个体和链接到所述已知加密密钥的所述特定个体之间的关系类型。
5.根据权利要求4所述的方法,还包括:响应于识别出所述临时散列值与所述散列值匹配:
更新所述多个已知加密密钥的排序,以使得当响应于接收到其他通告数据包而生成其他临时散列值时,用于计算所述临时散列值的所述已知加密密钥被优先。
6.根据权利要求1所述的方法,还包括:
将所述网络地址添加到缓存中以指示所述第二计算设备已被所述第一计算设备识别,其中所述网络地址在以下情况下从所述缓存中移除:
在满足不活动的阈值时间段之后,和/或
接收到更新的加密密钥作为与所述第二计算设备相关联的所述加密密钥的替换。
7.根据权利要求6所述的方法,还包括:
从所述第二计算设备接收补充的通告数据包,所述补充的通告数据包包括:
(i)与所述第二计算设备相关联的所述网络地址,以及
(ii)使用所述网络地址和与所述第二计算设备相关联的所述加密密钥来计算的所述散列值;以及
响应于确定所述网络地址包括在所述缓存中:
执行与所述第二计算设备相关联的所述操作。
8.根据权利要求6所述的方法,其中更新与所述第二计算设备相关联的所述加密密钥包括:
接收所述更新的加密密钥;
从所述多个已知加密密钥中移除对应于与所述第二计算设备相关联的加密密钥的所述已知加密密钥;以及
将所述更新的加密密钥作为新的已知加密密钥添加到所述多个已知加密密钥中。
9.根据权利要求1所述的方法,其中基于阈值时间量来周期性地更新所述网络地址。
10.根据权利要求1所述的方法,其中使用蓝牙技术来传输所述通告数据包,并且与所述第二计算设备相关联的所述加密密钥不同于由包括在所述第二计算设备中的蓝牙硬件利用的身份解析密钥(IRK)。
11.至少一个非暂态计算机可读存储介质,所述至少一个非暂态计算机可读存储介质被配置为存储指令,所述指令在由包括在第一计算设备中的至少一个处理器执行时,使得所述第一计算设备通过执行包括如下操作的步骤来安全地识别附近的相关计算设备:
从第二计算设备接收通告数据包,所述通告数据包包括:
(i)与所述第二计算设备相关联的网络地址,以及
(ii)使用所述网络地址和与所述第二计算设备相关联的加密密钥来计算的散列值;以及
针对所述第一计算设备可访问的多个已知加密密钥中的每个已知加密密钥:
使用所述网络地址和所述已知加密密钥来计算临时散列值,以及
响应于识别出所述临时散列值与所述散列值匹配:
执行与所述第二计算设备相关联的操作。
12.根据权利要求11所述的至少一个非暂态计算机可读存储介质,其中所述多个已知加密密钥中的每个已知加密密钥是与相应计算设备相关联的加密密钥,并且每个已知加密密钥与对于所述相应计算设备唯一的计算设备标识符(ID)相关联。
13.根据权利要求12所述的至少一个非暂态计算机可读存储介质,其中每个计算设备ID与对于特定个体唯一的个人标识符(ID)相关联。
14.根据权利要求13所述的至少一个非暂态计算机可读存储介质,其中所述多个已知加密密钥中的每个已知加密密钥与优先级值相关联,所述优先级值初始基于与所述第一计算设备相关联的个体和链接到所述已知加密密钥的所述特定个体之间的关系类型。
15.根据权利要求14所述的至少一个非暂态计算机可读存储介质,其中所述步骤还包括:响应于识别出所述临时散列值与所述散列值匹配:
更新所述多个已知加密密钥的排序,以使得当响应于接收到其他通告数据包而生成其他临时散列值时,用于计算所述临时散列值的所述已知加密密钥被优先。
16.根据权利要求11所述的至少一个非暂态计算机可读存储介质,其中所述步骤还包括:
将所述网络地址添加到缓存中以指示所述第二计算设备已被所述第一计算设备识别,其中所述网络地址在以下情况下从所述缓存中移除:
在满足不活动的阈值时间段之后,和/或
接收到更新的加密密钥作为与所述第二计算设备相关联的所述加密密钥的替换。
17.根据权利要求16所述的至少一个非暂态计算机可读存储介质,其中所述步骤还包括:
从所述第二计算设备接收补充的通告数据包,所述补充的通告数据包包括:
(i)与所述第二计算设备相关联的所述网络地址,以及
(ii)使用所述网络地址和与所述第二计算设备相关联的所述加密密钥来计算的所述散列值;以及
响应于确定所述网络地址包括在所述缓存中:
执行与所述第二计算设备相关联的所述操作。
18.根据权利要求16所述的至少一个非暂态计算机可读存储介质,其中更新与所述第二计算设备相关联的所述加密密钥包括:
接收所述更新的加密密钥;
从所述多个已知加密密钥中移除对应于与所述第二计算设备相关联的加密密钥的所述已知加密密钥;以及
将所述更新的加密密钥作为新的已知加密密钥添加到所述多个已知加密密钥中。
19.根据权利要求11所述的至少一个非暂态计算机可读存储介质,其中基于阈值时间量来周期性地更新所述网络地址。
20.根据权利要求11所述的至少一个非暂态计算机可读存储介质,其中使用蓝牙技术来传输所述通告数据包,并且与所述第二计算设备相关联的所述加密密钥不同于由包括在所述第二计算设备中的蓝牙硬件利用的身份解析密钥(IRK)。
21.一种第一计算设备,所述第一计算设备被配置为安全地识别附近的相关计算设备,所述第一计算设备包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器存储指令,所述指令在由所述至少一个处理器执行时使得所述第一计算设备:
从第二计算设备接收通告数据包,所述通告数据包包括:
(i)与所述第二计算设备相关联的网络地址,以及
(ii)使用所述网络地址和与所述第二计算设备相关联的加密密钥来计算的散列值;以及
针对所述第一计算设备可访问的多个已知加密密钥中的每个已知加密密钥:
使用所述网络地址和所述已知加密密钥来计算临时散列值,以及
响应于识别出所述临时散列值与所述散列值匹配:
执行与所述第二计算设备相关联的操作。
22.根据权利要求21所述的第一计算设备,其中所述多个已知加密密钥中的每个已知加密密钥是与相应计算设备相关联的加密密钥,并且每个已知加密密钥与对于所述相应计算设备唯一的计算设备标识符(ID)相关联。
23.根据权利要求22所述的第一计算设备,其中每个计算设备ID与对于特定个体唯一的个人标识符(ID)相关联。
24.根据权利要求23所述的第一计算设备,其中所述多个已知加密密钥中的每个已知加密密钥与优先级值相关联,所述优先级值初始基于与所述第一计算设备相关联的个体和链接到所述已知加密密钥的所述特定个体之间的关系类型。
25.根据权利要求24所述的第一计算设备,其中,响应于识别出所述临时散列值与所述散列值匹配,所述至少一个处理器还使得所述第一计算设备:
更新所述多个已知加密密钥的排序,以使得当响应于接收到其他通告数据包而生成其他临时散列值时,用于计算所述临时散列值的所述已知加密密钥被优先。
26.根据权利要求21所述的第一计算设备,其中所述至少一个处理器还使得所述第一计算设备:
将所述网络地址添加到缓存中以指示所述第二计算设备已被所述第一计算设备识别,其中所述网络地址在以下情况下从所述缓存中移除:
在满足不活动的阈值时间段之后,和/或
接收到更新的加密密钥作为与所述第二计算设备相关联的所述加密密钥的替换。
27.根据权利要求26所述的第一计算设备,其中所述至少一个处理器还使得所述第一计算设备:
从所述第二计算设备接收补充的通告数据包,所述补充的通告数据包包括:
(i)与所述第二计算设备相关联的所述网络地址,以及
(ii)使用所述网络地址和与所述第二计算设备相关联的所述加密密钥来计算的所述散列值;以及
响应于确定所述网络地址包括在所述缓存中:
执行与所述第二计算设备相关联的所述操作。
28.根据权利要求26所述的第一计算设备,其中更新与所述第二计算设备相关联的所述加密密钥包括:
接收所述更新的加密密钥;
从所述多个已知加密密钥中移除对应于与所述第二计算设备相关联的加密密钥的所述已知加密密钥;以及
将所述更新的加密密钥作为新的已知加密密钥添加到所述多个已知加密密钥中。
29.根据权利要求21所述的第一计算设备,其中基于阈值时间量来周期性地更新所述网络地址。
30.根据权利要求21所述的第一计算设备,其中使用蓝牙技术来传输所述通告数据包,并且与所述第二计算设备相关联的所述加密密钥不同于由包括在所述第二计算设备中的蓝牙硬件利用的身份解析密钥(IRK)。
31.一种用于使多个计算设备能够通过服务器计算设备彼此交换加密密钥的方法,所述方法包括:在所述服务器计算设备处:
从第一计算设备接收数据项,所述数据项包括:
(i)对于所述第一计算设备唯一的计算设备标识符(ID),
(ii)对于与所述第一计算设备相关联的个体唯一的个人标识符(ID),以及
(iii)与所述第一计算设备相关联的加密密钥;
基于所述计算设备ID或所述个人ID中的一者或多者来识别与所述第一计算设备相关的至少一个计算设备;以及
将所述数据项提供给所述至少一个计算设备,其中所述至少一个计算设备将所述加密密钥存储为链接到所述计算设备ID和所述个人ID的已知加密密钥。
32.根据权利要求31所述的方法,其中与所述第一计算设备相关联的所述个体也与所述至少一个计算设备相关联。
33.根据权利要求31所述的方法,还包括:在从所述第一计算设备接收到所述数据项之前:
识别(i)与所述第一计算设备相关联的所述个体是家庭账户的一部分,并且识别(ii)与所述至少一个计算设备相关联的个体也是所述家庭账户的一部分;以及
向所述第一计算设备发出提供所述数据项的请求。
34.根据权利要求33所述的方法,还包括:在将所述数据项提供给所述至少一个计算设备之后:
接收与所述第一计算设备相关联的所述个体不再是所述家庭账户的一部分的指示;以及
使得所述至少一个计算设备删除响应于接收到所述数据项而建立的所有信息。
35.根据权利要求31所述的方法,还包括:在将所述数据项提供给所述至少一个计算设备之后:
从所述第一计算设备接收更新的数据项,所述更新的数据项包括:
(i)对于所述第一计算设备唯一的所述计算设备ID,
(ii)对于与所述第一计算设备相关联的所述个体唯一的所述个人ID,以及
(iii)与所述第一计算设备相关联的更新的加密密钥;
基于所述计算设备ID或所述个人ID中的一者或多者来识别所述至少一个计算设备与所述第一计算设备相关;以及
将所述数据项提供给所述至少一个计算设备,其中所述至少一个计算设备将所述加密密钥替换为所述更新的加密密钥,作为链接到所述计算设备ID和所述个人ID的已知加密密钥。
36.根据权利要求31所述的方法,其中识别与所述第一计算设备相关的至少一个计算设备还基于以下中的一者或多者:
与所述第一计算设备相关联的所述个体和与所述至少一个计算设备相关联的个体之间发生交互的频率,其中所述交互包括电话呼叫、电子邮件、文本消息、聊天或约会中的一者或多者;或者
所述第一计算设备是否已允许所述至少一个计算设备访问所述第一计算设备的地理位置。
37.至少一个非暂态计算机可读存储介质,所述至少一个非暂态计算机可读存储介质被配置为存储指令,所述指令在由包括在服务器计算设备中的至少一个处理器执行时,使得所述服务器计算设备通过执行包括如下操作的步骤来使多个计算设备能够通过所述服务器计算设备彼此交换加密密钥:
从第一计算设备接收数据项,所述数据项包括:
(i)对于所述第一计算设备唯一的计算设备标识符(ID),
(ii)对于与所述第一计算设备相关联的个体唯一的个人标识符(ID),以及
(iii)与所述第一计算设备相关联的加密密钥;
基于所述计算设备ID或所述个人ID中的一者或多者来识别与所述第一计算设备相关的至少一个计算设备;以及
将所述数据项提供给所述至少一个计算设备,其中所述至少一个计算设备将所述加密密钥存储为链接到所述计算设备ID和所述个人ID的已知加密密钥。
38.根据权利要求37所述的至少一个非暂态计算机可读存储介质,其中与所述第一计算设备相关联的所述个体也与所述至少一个计算设备相关联。
39.根据权利要求37所述的至少一个非暂态计算机可读存储介质,其中所述步骤还包括:在从所述第一计算设备接收到所述数据项之前:
识别(i)与所述第一计算设备相关联的所述个体是家庭账户的一部分,并且识别(ii)与所述至少一个计算设备相关联的个体也是所述家庭账户的一部分;以及
向所述第一计算设备发出提供所述数据项的请求。
40.根据权利要求39所述的至少一个非暂态计算机可读存储介质,其中所述步骤还包括:在将所述数据项提供给所述至少一个计算设备之后:
接收与所述第一计算设备相关联的所述个体不再是所述家庭账户的一部分的指示;以及
使得所述至少一个计算设备删除响应于接收到所述数据项而建立的所有信息。
41.根据权利要求37所述的至少一个非暂态计算机可读存储介质,其中所述步骤还包括:在将所述数据项提供给所述至少一个计算设备之后:
从所述第一计算设备接收更新的数据项,所述更新的数据项包括:
(i)对于所述第一计算设备唯一的所述计算设备ID,
(ii)对于与所述第一计算设备相关联的所述个体唯一的所述个人ID,以及
(iii)与所述第一计算设备相关联的更新的加密密钥;
基于所述计算设备ID或所述个人ID中的一者或多者来识别所述至少一个计算设备与所述第一计算设备相关;以及
将所述数据项提供给所述至少一个计算设备,其中所述至少一个计算设备将所述加密密钥替换为所述更新的加密密钥,作为链接到所述计算设备ID和所述个人ID的已知加密密钥。
42.根据权利要求37所述的至少一个非暂态计算机可读存储介质,其中识别与所述第一计算设备相关的至少一个计算设备还基于以下中的一者或多者:
与所述第一计算设备相关联的所述个体和与所述至少一个计算设备相关联的个体之间发生交互的频率,其中所述交互包括电话呼叫、电子邮件、文本消息、聊天或约会中的一者或多者;或者
所述第一计算设备是否已允许所述至少一个计算设备访问所述第一计算设备的地理位置。
43.一种服务器计算设备,所述服务器计算设备被配置为使多个计算设备能够通过所述服务器计算设备彼此交换加密密钥,所述服务器计算设备包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器存储指令,所述指令在由所述至少一个处理器执行时使得所述服务器计算设备:
从第一计算设备接收数据项,所述数据项包括:
(i)对于所述第一计算设备唯一的计算设备标识符(ID),
(ii)对于与所述第一计算设备相关联的个体唯一的个人标识符(ID),以及
(iii)与所述第一计算设备相关联的加密密钥;
基于所述计算设备ID或所述个人ID中的一者或多者来识别与所述第一计算设备相关的至少一个计算设备;以及
将所述数据项提供给所述至少一个计算设备,其中所述至少一个计算设备将所述加密密钥存储为链接到所述计算设备ID和所述个人ID的已知加密密钥。
44.根据权利要求43所述的服务器计算设备,其中与所述第一计算设备相关联的所述个体也与所述至少一个计算设备相关联。
45.根据权利要求43所述的服务器计算设备,其中所述至少一个处理器还使得所述服务器计算设备在从所述第一计算设备接收到所述数据项之前:
识别(i)与所述第一计算设备相关联的所述个体是家庭账户的一部分,并且识别(ii)与所述至少一个计算设备相关联的个体也是所述家庭账户的一部分;以及
向所述第一计算设备发出提供所述数据项的请求。
46.根据权利要求45所述的服务器计算设备,其中所述至少一个处理器还使得所述服务器计算设备在将所述数据项提供给所述至少一个计算设备之后:
接收与所述第一计算设备相关联的所述个体不再是所述家庭账户的一部分的指示;以及
使得所述至少一个计算设备删除响应于接收到所述数据项而建立的所有信息。
47.根据权利要求43所述的服务器计算设备,其中所述至少一个处理器还使得所述服务器计算设备在将所述数据项提供给所述至少一个计算设备之后:
从所述第一计算设备接收更新的数据项,所述更新的数据项包括:
(i)对于所述第一计算设备唯一的所述计算设备ID,
(ii)对于与所述第一计算设备相关联的所述个体唯一的所述个人ID,以及
(iii)与所述第一计算设备相关联的更新的加密密钥;
基于所述计算设备ID或所述个人ID中的一者或多者来识别所述至少一个计算设备与所述第一计算设备相关;以及
将所述数据项提供给所述至少一个计算设备,其中所述至少一个计算设备将所述加密密钥替换为所述更新的加密密钥,作为链接到所述计算设备ID和所述个人ID的已知加密密钥。
48.根据权利要求43所述的服务器计算设备,其中识别与所述第一计算设备相关的至少一个计算设备还基于以下中的一者或多者:
与所述第一计算设备相关联的所述个体和与所述至少一个计算设备相关联的个体之间发生交互的频率,其中所述交互包括电话呼叫、电子邮件、文本消息、聊天或约会中的一者或多者;或者
所述第一计算设备是否已允许所述至少一个计算设备访问所述第一计算设备的地理位置。
49.一种用于使多个计算设备能够彼此直接交换加密密钥的方法,所述方法包括:在第一计算设备处:
识别使第二计算设备能够知道所述第一计算设备何时在所述第二计算设备附近的条件;
将数据项提供给所述第二计算设备,所述数据项包括:
(i)对于所述第一计算设备唯一的计算设备标识符(ID),
(ii)对于与所述第一计算设备相关联的个体唯一的个人标识符(ID),以及
(iii)与所述第一计算设备相关联的加密密钥;以及
周期性地生成通告数据包,所述通告数据包包括:
(i)与所述第一计算设备相关联的网络地址,以及
(ii)使用所述网络地址和与所述第一计算设备相关联的所述加密密钥来计算的散列值。
50.根据权利要求49所述的方法,其中基于与所述第一计算设备相关联的所述个体和与所述第二计算设备相关联的个体之间发生交互的频率中的一个或多个频率来触发所述条件,并且所述交互包括电话呼叫、电子邮件、文本消息、聊天或约会中的一者或多者。
51.根据权利要求50所述的方法,还包括:在将所述数据项提供给所述第二计算设备之前:
在所述第一计算设备处显示所述第二计算设备将变得能够识别所述第一计算设备何时在所述第二计算设备附近的指示;以及
从所述第一计算设备的用户接收批准。
52.根据权利要求49所述的方法,其中所述数据项还包括(iv)与所述第一计算设备相关联的公共密钥,其中所述公共密钥能够被所述第二计算设备利用以解密(i)由所述第一计算设备传输并且(ii)使用所述第一计算设备拥有的匹配的私有密钥来加密的信息。
53.根据权利要求49所述的方法,其中所述数据项与到期策略相关联,所述到期策略使得所述第二计算设备在满足所述到期策略时删除与所述数据项相关联的所有信息。
54.根据权利要求49所述的方法,其中所述第一计算设备和所述第二计算设备使用以下通信技术中的一种或多种来进行通信:蓝牙、近场通信(NFC)、WiFi、超宽带(UWB)和/或蜂窝。
55.至少一个非暂态计算机可读存储介质,所述至少一个非暂态计算机可读存储介质被配置为存储指令,所述指令在由包括在第一计算设备中的至少一个处理器执行时,使得所述第一计算设备通过执行包括如下操作的步骤来使多个计算设备能够彼此直接交换加密密钥:
识别使第二计算设备能够知道所述第一计算设备何时在所述第二计算设备附近的条件;
将数据项提供给所述第二计算设备,所述数据项包括:
(i)对于所述第一计算设备唯一的计算设备标识符(ID),
(ii)对于与所述第一计算设备相关联的个体唯一的个人标识符(ID),以及
(iii)与所述第一计算设备相关联的加密密钥;以及
周期性地生成通告数据包,所述通告数据包包括:
(i)与所述第一计算设备相关联的网络地址,以及
(ii)使用所述网络地址和与所述第一计算设备相关联的所述加密密钥来计算的散列值。
56.根据权利要求55所述的至少一个非暂态计算机可读存储介质,其中基于与所述第一计算设备相关联的所述个体和与所述第二计算设备相关联的个体之间发生交互的频率中的一个或多个频率来触发所述条件,并且所述交互包括电话呼叫、电子邮件、文本消息、聊天或约会中的一者或多者。
57.根据权利要求56所述的至少一个非暂态计算机可读存储介质,其中所述步骤还包括:在将所述数据项提供给所述第二计算设备之前:
在所述第一计算设备处显示所述第二计算设备将变得能够识别所述第一计算设备何时在所述第二计算设备附近的指示;以及
从所述第一计算设备的用户接收批准。
58.根据权利要求55所述的至少一个非暂态计算机可读存储介质,其中所述数据项还包括(iv)与所述第一计算设备相关联的公共密钥,其中所述公共密钥能够被所述第二计算设备利用以解密(i)由所述第一计算设备传输并且(ii)使用所述第一计算设备拥有的对应私有密钥来加密的信息。
59.根据权利要求55所述的至少一个非暂态计算机可读存储介质,其中所述数据项与到期策略相关联,所述到期策略使得所述第二计算设备在满足所述到期策略时删除与所述数据项相关联的所有信息。
60.根据权利要求55所述的至少一个非暂态计算机可读存储介质,其中所述第一计算设备和所述第二计算设备使用以下通信技术中的一种或多种来进行通信:蓝牙、近场通信(NFC)、WiFi、超宽带(UWB)和/或蜂窝。
61.一种第一计算设备,所述第一计算设备被配置为使多个计算设备能够彼此直接交换加密密钥,所述第一计算设备包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器存储指令,所述指令在由所述至少一个处理器执行时使得所述第一计算设备:
识别使第二计算设备能够知道所述第一计算设备何时在所述第二计算设备附近的条件;
将数据项提供给所述第二计算设备,所述数据项包括:
(i)对于所述第一计算设备唯一的计算设备标识符(ID),
(ii)对于与所述第一计算设备相关联的个体唯一的个人标识符(ID),以及
(iii)与所述第一计算设备相关联的加密密钥;以及
周期性地生成通告数据包,所述通告数据包包括:
(i)与所述第一计算设备相关联的网络地址,以及
(ii)使用所述网络地址和与所述第一计算设备相关联的所述加密密钥来计算的散列值。
62.根据权利要求61所述的第一计算设备,其中基于与所述第一计算设备相关联的所述个体和与所述第二计算设备相关联的个体之间发生交互的频率中的一个或多个频率来触发所述条件,并且所述交互包括电话呼叫、电子邮件、文本消息、聊天或约会中的一者或多者。
63.根据权利要求62所述的第一计算设备,其中所述至少一个处理器还使得所述第一计算设备在将所述数据项提供给所述第二计算设备之前:
在所述第一计算设备处显示所述第二计算设备将变得能够识别所述第一计算设备何时在所述第二计算设备附近的指示;以及
从所述第一计算设备的用户接收批准。
64.根据权利要求61所述的第一计算设备,其中所述数据项还包括(iv)与所述第一计算设备相关联的公共密钥,其中所述公共密钥能够被所述第二计算设备利用以解密(i)由所述第一计算设备传输并且(ii)使用所述第一计算设备拥有的对应私有密钥来加密的信息。
65.根据权利要求61所述的第一计算设备,其中所述数据项与到期策略相关联,所述到期策略使得所述第二计算设备在满足所述到期策略时删除与所述数据项相关联的所有信息。
66.根据权利要求61所述的第一计算设备,其中所述第一计算设备和所述第二计算设备使用以下通信技术中的一种或多种来进行通信:蓝牙、近场通信(NFC)、WiFi、超宽带(UWB)和/或蜂窝。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862679719P | 2018-06-01 | 2018-06-01 | |
US62/679,719 | 2018-06-01 | ||
PCT/US2019/035035 WO2019232464A1 (en) | 2018-06-01 | 2019-05-31 | Techniques for enabling computing devices to identify when they are in proximity to one another |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112205019A true CN112205019A (zh) | 2021-01-08 |
Family
ID=68692519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980035850.6A Pending CN112205019A (zh) | 2018-06-01 | 2019-05-31 | 用于使计算设备能够识别何时彼此接近的技术 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11115818B2 (zh) |
KR (2) | KR102390410B1 (zh) |
CN (1) | CN112205019A (zh) |
WO (1) | WO2019232464A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11832100B2 (en) | 2017-05-16 | 2023-11-28 | Apple Inc. | Secure password sharing for wireless networks |
US10637651B2 (en) * | 2018-05-17 | 2020-04-28 | Bose Corporation | Secure systems and methods for resolving audio device identity using remote application |
WO2019232464A1 (en) * | 2018-06-01 | 2019-12-05 | Apple Inc. | Techniques for enabling computing devices to identify when they are in proximity to one another |
JP7096998B2 (ja) * | 2018-08-21 | 2022-07-07 | 村田機械株式会社 | 通信許容相手登録方法 |
US11604767B2 (en) * | 2019-04-05 | 2023-03-14 | Comcast Cable Communications, Llc | Systems and methods for data distillation |
CN112333727A (zh) * | 2019-08-05 | 2021-02-05 | 肯舒摩照明(美国)有限责任公司 | 控制设备的方法、装置、存储介质、处理器和终端 |
WO2021080364A1 (en) * | 2019-10-25 | 2021-04-29 | Samsung Electronics Co., Ltd. | Method for communicating with external electronic apparatus and electronic apparatus thereof |
US11349833B2 (en) * | 2020-03-21 | 2022-05-31 | Kyndryl, Inc. | Multi-factor authentication utilizing device pairing |
JP7413879B2 (ja) * | 2020-03-26 | 2024-01-16 | ブラザー工業株式会社 | 通信システム、電子デバイス、およびプログラム |
US11102655B1 (en) | 2020-03-31 | 2021-08-24 | Bose Corporation | Secure device action initiation using a remote device |
US20210344557A1 (en) * | 2020-04-30 | 2021-11-04 | Comcast Cable Communications, Llc | Systems, methods, and apparatuses for network management |
JP2021180362A (ja) * | 2020-05-11 | 2021-11-18 | キヤノン株式会社 | 通信装置、通信装置の制御方法、およびプログラム |
US11457811B2 (en) * | 2020-06-19 | 2022-10-04 | Zebra Technologies Corporation | Systems and methods for determining facility exposure to a source condition |
US20210120410A1 (en) * | 2020-12-23 | 2021-04-22 | Intel Corporation | Apparatus and method for wi-fi network profile verification |
KR20230042825A (ko) * | 2021-09-23 | 2023-03-30 | 삼성전자주식회사 | 식별 정보를 송신 및/또는 수신하는 전자 장치 및 그 동작 방법 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130058274A1 (en) * | 2005-06-03 | 2013-03-07 | Wefi Inc. | Method and system for accessing wireless networks |
US7958368B2 (en) | 2006-07-14 | 2011-06-07 | Microsoft Corporation | Password-authenticated groups |
US8572387B2 (en) | 2006-07-26 | 2013-10-29 | Panasonic Corporation | Authentication of a peer in a peer-to-peer network |
US8743778B2 (en) | 2006-09-06 | 2014-06-03 | Devicescape Software, Inc. | Systems and methods for obtaining network credentials |
US8727216B2 (en) | 2007-12-03 | 2014-05-20 | Apple Inc. | Portable memory module with wireless emitter to facilitate the provision of location-dependent services |
US8417296B2 (en) * | 2008-06-05 | 2013-04-09 | Apple Inc. | Electronic device with proximity-based radio power control |
US8750797B2 (en) | 2008-07-22 | 2014-06-10 | Nissaf Ketari | Proximity access and alarm apparatus |
KR101347576B1 (ko) | 2008-10-24 | 2014-01-03 | 삼성전자주식회사 | 화상형성장치 및 화상형성장치의 보안설정 방법 |
US9398136B2 (en) * | 2009-04-20 | 2016-07-19 | Apple Inc. | Handheld device capable of providing data tethering services while maintaining suite of handheld service functions |
US8508363B2 (en) | 2009-05-15 | 2013-08-13 | First Principles, Inc. | Systems and methods for permitting movement of an object outside a predetermined proximity distance threshold |
US8312392B2 (en) * | 2009-10-02 | 2012-11-13 | Qualcomm Incorporated | User interface gestures and methods for providing file sharing functionality |
US8417777B2 (en) | 2009-12-11 | 2013-04-09 | James W. Hutchison | Apparatus for signaling circle of friends |
US8397294B2 (en) | 2010-11-30 | 2013-03-12 | Research In Motion Limited | Apparatus, system and method for preventing data loss |
US9247377B2 (en) | 2011-05-23 | 2016-01-26 | Apple Inc. | Setting a reminder that is triggered by a target user device |
US8594741B2 (en) | 2011-08-25 | 2013-11-26 | Mitel Networks Corporation | Adjusting an audio notification mode of a mobile computing device |
US8606933B1 (en) | 2011-09-14 | 2013-12-10 | Google Inc. | Selective pairing of devices using short-range wireless communication |
US8819428B2 (en) | 2011-10-21 | 2014-08-26 | Ebay Inc. | Point of sale (POS) personal identification number (PIN) security |
US8909247B2 (en) | 2011-11-08 | 2014-12-09 | At&T Mobility Ii Llc | Location based sharing of a network access credential |
TWI571166B (zh) * | 2012-01-13 | 2017-02-11 | 蘋果公司 | 在點對點網路環境中同步站台之選擇 |
EP3800854A1 (en) | 2012-02-14 | 2021-04-07 | INTEL Corporation | Peer to peer networking and sharing systems and methods |
US9258704B2 (en) | 2012-06-27 | 2016-02-09 | Advanced Messaging Technologies, Inc. | Facilitating network login |
US9170718B2 (en) | 2012-07-25 | 2015-10-27 | Devicescape Software, Inc. | Systems and methods for enhanced engagement |
US9374369B2 (en) * | 2012-12-28 | 2016-06-21 | Lookout, Inc. | Multi-factor authentication and comprehensive login system for client-server networks |
US9264905B2 (en) | 2013-02-21 | 2016-02-16 | Digi International Inc. | Establishing secure connection between mobile computing device and wireless hub using security credentials obtained from remote security credential server |
CN104080191B (zh) | 2013-03-29 | 2019-06-21 | 中兴通讯股份有限公司 | 一种移动终端交换用户信息的方法及装置 |
US9781556B2 (en) * | 2013-04-05 | 2017-10-03 | Intel Corporation | Network-assisted to direct device discovery switch |
GB2513359A (en) | 2013-04-24 | 2014-10-29 | Ibm | Communication Method And Device |
KR20150010109A (ko) | 2013-07-18 | 2015-01-28 | (주) 케이엠팩 | 빵 굽는 냄새가 나는 식품 포장용 고분자 제품 및 이의 제조방법 |
JP5660241B1 (ja) | 2013-09-10 | 2015-01-28 | 株式会社リコー | 通信システム、通信制御システム、通信装置、通信方法及び接続プログラム |
CN104519020B (zh) * | 2013-09-29 | 2017-10-13 | 阿里巴巴集团控股有限公司 | 管理无线网络登录密码分享功能的方法、服务器及系统 |
US10575347B2 (en) | 2013-11-04 | 2020-02-25 | Microsoft Technology Licensing, Llc | Delivery of shared WiFi credentials |
US9432363B2 (en) * | 2014-02-07 | 2016-08-30 | Apple Inc. | System and method for using credentials of a first client station to authenticate a second client station |
KR20150101094A (ko) * | 2014-02-26 | 2015-09-03 | 에스케이플래닛 주식회사 | 테더링 서비스 제공 방법, 이를 지원하는 단말 및 시스템 |
US9336378B2 (en) | 2014-03-31 | 2016-05-10 | Google Inc. | Credential sharing |
CN104378758B (zh) | 2014-05-12 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 接入点连接方法、终端及服务器 |
US10313264B2 (en) | 2014-05-28 | 2019-06-04 | Apple Inc. | Sharing account data between different interfaces to a service |
US9801120B2 (en) | 2014-05-30 | 2017-10-24 | Apple Inc. | Client-initiated tethering for electronic devices |
CN105376138B (zh) * | 2014-08-28 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 一种联系人添加的方法、数据传输的方法、及用户设备 |
US9526032B2 (en) | 2014-09-26 | 2016-12-20 | Apple Inc. | Network bandwidth sharing for small mobile devices |
KR102354011B1 (ko) * | 2015-01-06 | 2022-01-21 | 삼성전자주식회사 | 테더링 제어 방법 및 그 전자 장치 |
KR102048013B1 (ko) | 2015-07-30 | 2019-11-22 | 삼성전자주식회사 | 사용자 디바이스와 페어링을 수행하기 위한 네트워크 장치 및 그 페어링 방법 |
US9628992B2 (en) * | 2015-07-31 | 2017-04-18 | Wyfi, Inc. | WiFi access management system and methods of operation thereof |
WO2017031343A1 (en) | 2015-08-19 | 2017-02-23 | Shen Winifred | Systems and methods for authenticating users accessing a secure network with one-session-only, on-demand login credentials |
US10327121B2 (en) | 2015-12-22 | 2019-06-18 | Ricoh Company, Ltd. | Instrument and system |
US10680811B1 (en) | 2016-01-29 | 2020-06-09 | Christopher Robert Stanton | Security key for geographic locations |
US10231128B1 (en) | 2016-02-08 | 2019-03-12 | Microstrategy Incorporated | Proximity-based device access |
US10506057B2 (en) | 2016-03-21 | 2019-12-10 | Zonetap, Inc. | Cloud based digital alert system |
US10861305B2 (en) | 2016-05-20 | 2020-12-08 | Vivint, Inc. | Drone enabled street watch |
US9965941B2 (en) | 2016-06-01 | 2018-05-08 | Tile, Inc. | User intervention based on external data in a tracking device environment |
US9801158B1 (en) | 2016-06-14 | 2017-10-24 | Verizon Patent And Licensing Inc. | Selective call routing and notification for multi-endpoint terminals |
US11159932B1 (en) * | 2016-09-16 | 2021-10-26 | Apple Inc. | Electronic devices with intuitive sharing capabilities |
KR20180085558A (ko) | 2017-01-19 | 2018-07-27 | 삼성전자주식회사 | 일정 공유 방법 및 이를 지원하는 전자 장치 |
US10382437B2 (en) | 2017-03-14 | 2019-08-13 | International Business Machines Corporation | Efficient and secure connection of devices to a network without user interfaces |
US10455418B2 (en) | 2017-04-27 | 2019-10-22 | Afero, Inc. | Securely providing a password using an internet of things (IOT) system |
US11832100B2 (en) * | 2017-05-16 | 2023-11-28 | Apple Inc. | Secure password sharing for wireless networks |
US11182794B1 (en) * | 2018-03-29 | 2021-11-23 | Square, Inc. | Detecting unauthorized devices using proximity sensor(s) |
WO2019232464A1 (en) * | 2018-06-01 | 2019-12-05 | Apple Inc. | Techniques for enabling computing devices to identify when they are in proximity to one another |
-
2019
- 2019-05-31 WO PCT/US2019/035035 patent/WO2019232464A1/en active Application Filing
- 2019-05-31 KR KR1020207034018A patent/KR102390410B1/ko active IP Right Grant
- 2019-05-31 US US16/428,683 patent/US11115818B2/en active Active
- 2019-05-31 KR KR1020227013101A patent/KR102458883B1/ko active IP Right Grant
- 2019-05-31 CN CN201980035850.6A patent/CN112205019A/zh active Pending
-
2021
- 2021-09-02 US US17/446,828 patent/US11765585B2/en active Active
-
2023
- 2023-08-22 US US18/454,053 patent/US20230397005A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230397005A1 (en) | 2023-12-07 |
US20220007188A1 (en) | 2022-01-06 |
KR102458883B1 (ko) | 2022-10-25 |
US11765585B2 (en) | 2023-09-19 |
US20190373469A1 (en) | 2019-12-05 |
KR20220148934A (ko) | 2022-11-07 |
KR102390410B1 (ko) | 2022-04-25 |
US11115818B2 (en) | 2021-09-07 |
WO2019232464A1 (en) | 2019-12-05 |
KR20220054462A (ko) | 2022-05-02 |
KR20200138409A (ko) | 2020-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11765585B2 (en) | Techniques for enabling computing devices to identify when they are in proximity to one another | |
US10341860B2 (en) | Learned dual band WIFI network association | |
US20240048985A1 (en) | Secure password sharing for wireless networks | |
JP6066538B1 (ja) | ピアベースの認証 | |
US8594632B1 (en) | Device to-device (D2D) discovery without authenticating through cloud | |
US11765577B2 (en) | Identity obscuration for a wireless station | |
US20150172925A1 (en) | Method and Apparatus for Wireless Network Access Parameter Sharing | |
US20120266217A1 (en) | Permitting Access To A Network | |
US11206532B2 (en) | Method and systems for pairing a mobile device with a wireless network | |
US20150085848A1 (en) | Method and Apparatus for Controlling Wireless Network Access Parameter Sharing | |
US20120265996A1 (en) | Permitting Access To A Network | |
KR20170015244A (ko) | 무선 디바이스들에 대한 프라이버시 향상 | |
US11737012B2 (en) | Maintaining access to services via SIM card | |
US20160134620A1 (en) | Loading user devices with lists of proximately located broadcast beacons and associated service identifiers | |
US10715609B2 (en) | Techniques for adjusting notifications on a computing device based on proximities to other computing devices | |
KR102663781B1 (ko) | 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들 | |
KR20240064050A (ko) | 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들 |
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 |