可变精度位置共享的制作方法

文档序号:7885610阅读:233来源:国知局
专利名称:可变精度位置共享的制作方法
可变精度位置共享技术领域
本公开一般涉及多个设备之间的位置共享。
背景技术
位置共享是现代移动设备的流行的应用。现有的位置共享系统不向用户提供他们的位置信息的精度控制。并且,在针对外部攻击者确保安全的同时支持位置共享的网络知晓被共享的位置信息。用户必须信任,操作处理他们的位置信息的服务器的公司将不会以不受欢迎的方式使用他们的位置信息。最终,现有的位置共享系统不提供用于在临时的基础上向位置信息的接受者准许更高的特权的手段。发明内容
公开了允许公布者与订购者共享他们的位置的安全的位置共享系统。各公布设备对于分发服务产生、加密和公布其具有规定的精度的位置信息,以用于向一个或更多个订购设备分发。分发服务向分发列表提供位置信息的安全的分发,但不能访问公布者的精确的位置信息,该位置信息保持加密,直到在订购设备上被解密。公布者可对于不同的订购者或者不同的订购者组共享他们的具有不同的精度水平的位置信息。公布者可选择位置信息精度的至少两个维度:空间和时间。对于不太精确的位置共享,公布设备可随机化或以其它方式模糊公布设备的精确位置。公布者可通过在公布设备上产生新的密钥对将订购者或一组订购者移动到更低或更高的位置精度水平。
在一些实现中,通过公布设备的一个或更多个硬件处理器执行计算机实现的方法。该方法可从获得描述公布设备的位置的位置信息开始。获得位置信息的精度的规范。该精度可以是空间的和/或时间的。基于规定的精度修改位置信息。可通过使用公共位置密钥加密修改的位置信息。可向分发服务公布加密的位置信息,以用于向一个或更多个订购设备分发。可以使用私人位置密钥以在订购设备上解密修改的位置信息。私人位置密钥可被包含于由公布设备用订购者的公共消息密钥加密的消息中。消息可被传送给分发服务,以用于向订购者分发。可通过使用订购者的私人消息密钥通过订购者从加密的消息解密私人位置密钥。
在一些实现中,通过订购设备的一个或更多个处理器执行计算机实现的方法。该方法可从订购设备从公布设备接收加密的位置信息时开始,其中,该位置信息根据规定的精度从精确的位置被修改。可在由公布设备用与该订购者相关联的公共消息密钥加密的消息中由订购设备接收私人位置密钥。可通过使用订购者的相应的私人消息密钥,从该消息解密私人位置密钥。订购设备可使用私人位置密钥以解密位置信息。可在订购设备上显示或者由在订购设备上运行的应用使用解密的位置信息。
可变精度位置共享的一个或更多个实现可提供以下的优点中的一个或更多个:1)公布者可控制他们的共享的位置的精度;2)支持位置共享的网络不能访问只能通过具有适当的访问特权(例如,私人密钥)的订购设备解密的加密的位置信息;和3)公布者可暂时准予订购者对于他们的位置信息的更精确或更不太精确的版本的访问特权。
在附图以及以下的描述中,阐述可变精度位置共享的一个或更多个实现的细节。从描述、附图和权利要求,其它的特征、方面和优点将变得明显。


图1A是可变精度位置共享系统的框图。
图1B示出位置共享应用的示例性用户界面。
图1C示出用于可变精度位置共享的公共密钥密码系统。
图2A和图2B是由公布设备执行的可变精度位置共享处理的流程图。
图3A和图3B是由订购设备执行的可变精度位置共享处理的流程图。
图4是用于实现参照图1 图3中描述的特征和处理的公布设备或订购设备的示例性硬件结构的框图。
各种附图中的类似的附图标记表示类似的要素。
具体实施方式
示例性可变精度位置共享系统
图1A是可变精度位置共享系统100的框图。在一些实现中,系统100包括通过网络104(例如,因特网)相互通信的位置获知设备102a 102c和分发服务106。设备102a 102c可以是具有通信能力的诸如智能电话、电子邮件设备、游戏设备、膝上式计算机、电子平板电脑、媒体播放器或任何其它位置获知设备的移动设备。各设备102a 102c可包含用于呈现用于有利于用户输入的用户界面的显示器表面。显示器可以是能够对用一个或更多个手指或铁笔的多触摸输入做出响应的触摸敏感表面。
在一些实现中,设备102a 102c可确定或接收当前的位置信息。例如,设备102a 102c中的一个或更多个可包含用于确定位置信息的全球定位系统(GPS)接收器或者与其耦合。在其它的例子中,可通过使用无线通信网络发射器(例如,WiF1、Cell-1D)和三角测量技术以确定设备的位置的服务向该设备提供位置信息。在本例子中,通过网关108和小区塔106将位置信息作为位置坐标(例如,纬度、经度、高度)提供给设备102b。通过无线网络接入设备110 (例如,无线路由器)向设备102c提供位置信息。用于设备102a的位置信息被固定。在表示的例子中,由Charlie操作设备102a,由Alice操作设备102b,并且,由Bob操作设备102c。
分发服务106可包含用于与公布设备和订购设备通信的一个或更多个服务器计算机。例如,分发服务可以是由电信载波或因特网服务提供商(ISP)操作的一个或更多个服务器计算机。在一些实现中,分发服务106可以是公共密钥基础构架(PKI)中的信任第三方(TTP)0分发服务106可以是私人或公共网络的一部分。分发服务106可包含用于存储诸如加密位置、订购者的分发列表、公共密钥、证书、黑名单等的各种信息114的储存库112。
在表示的例子中,Alice可能希望与Bob共享她的不精确位置信息,而与Charlie共享她的精确位置信息。共享“精确位置”意味着共享由可用于公布设备的定位技术提供的公布设备的位置。因此,“精确位置”未必意味着确切的位置。事实上,由于由公布设备使用的定位技术固有或产生的位置误差,“精确位置”可能与确切的位置不同。共享“不精确位置”意味着共享公布设备所处的限定的地理区域。在一些实现中,如参照图1C描述的那样,可通过使用公共密钥密码实现可变精度位置共享。
Alice、Bob和Charlie可分别在他们各自的设备上调用位置共享应用。通过使用位置共享应用的一个或更多个用户界面,Alice可规定Bob将接收她的不精确位置信息并且Charlie将接收她的精确位置信息。例如,Alice与Charlie具有紧密关系,并因此愿意与Charlie共享她的精确位置。另一方面,Alice与Bob的关系不太紧密,因此Alice会优选Bob不知道她的精确位置。
通过使用设备102b上的位置共享应用,Alice向分发服务106发送她的精确位置和不精确位置。对于Charlie,Alice的精确位置信息(例如,GPS位置坐标)在没有修改的情况下在设备102b上被加密。对于Bob,Alice的精确位置信息被修改为不精确并被加密。两个加密的位置均被传送到分发服务106。包含Bob和Charlie的分发列表也可被传送到分发服务106。分发列表可以是由分发服务106存储的订购者的预定义的列表。如参照图1B描述的那样,分发列表可被分发服务106使用,以基于规定的时间精度在单一更新中或者作为单独的更新(例如,每2小时或者每30分钟更新一次)分别向Bob和Charlie分发Alice的不精确位置和精确位置。
可通过使用公共密钥密码加密和分发Alice的精确和不精确位置信息。位置信息在被分发服务106的占用时保持被加密,并且,不能被分发服务106访问,这是由于只有Bob和Charlie拥有必要的解密信息(例如,私人位置密钥)。
在一些实现中,可基于规定的空间精度参数将Alice的精确位置随机化从而创建Alice的不精确位置。可对于她的精确位置坐标应用随机化,使得修改的位置坐标落在有界限的地理区域内。例如,如果空间精度被Alice规定为处于Alice的精确位置的5英里内,那么可随机产生处于Alice的精确位置的5英里内的不精确位置。Alice的不精确位置和空间精度的指示(例如,5英里)可被公布给分发服务106并分发给Bob,使得可在Bob的设备上显示的地图上呈现有界限的地理区域(例如,半径为5英里的圆)。在地图上显示的圆或其它地理边界可指示Alice位于由边界包围的地理区域内的某处。在一些实现中,可以使用改变形状和尺寸并代表各种程度的地理粒度(例如,国家、州、地区、城市)的地理网格单元而不是圆作为地理边界。
在一些实现中,可以使用适当的试探法(heuristics)以确定特定的地理边界是否包围不能包含Alice的实际位置的地理区域,诸如包围海岸线和沿海岸线的水体的边界圆。在一些实现中,仅在Alice离开由圆包围的地理区域时,才提供对于在Bob的设备上显示的不精确位置的更新。否则,Bob可跟踪依次的更新并观看各圆的重叠以导出Alice的更精确位置。
用于选择精度的示例性用户界面
图1B示出位置共享应用的示例性用户界面118。在本例子中,位置共享应用在由Alice操作的移动设备102b上运行。Alice可通过使用滑块控件120调整她的共享位置的时间和/或空间精度。时间精度可基于位置更新的频率。空间精度可基于位置误差量(例如,被测量作为从公布设备的距离)。例如,Alice可希望Bob在+/-10英里内知道她的位置;每2小时更新一次。相反,Alice可希望Charlie在+/-1英里内知道她的位置;每30分钟更新一次。向用户界面118右侧的滑动控件120使得Alice的共享位置更精确,并且,向用户界面118左侧滑动控件120使得Alice的共享位置更不精确。在一些实现中,可通过公布者或通过应用选择预设的精度值。其它的控制是可能的,包括用于调整时间和空间精度的单独的控件。
用于安全的位置共享的示例加密系统
图1C示出用于可变精度位置共享的公共密钥密码系统。公共密钥密码系统通过使用包括秘密私人密钥和公布的公共密钥的数学相关的不对称密钥对公布可变精度位置信息。可通过使用只能通过使用相应的私人位置密钥解密的公共位置密钥加密位置信息。也可使用不对称密钥对,以通过用可通过使用相应的公共密钥验证的私人消息密钥创建消息的数字签名来保护包含加密的位置信息的消息的真实性。在包括但不限于Diffie-Hellman密钥交换协议的公共可用RSA公共密钥密码标准(例如,版本2.1)中描述用于可变精度位置共享的适当的不对称密钥技术的一些例子。也可使用其它的不对称密钥技术,诸如数字签名标准(DSS)和各种椭圆曲线技术。
在表示的例子中,存在两种类型的密钥对:消息密钥对和位置密钥对。系统100的各用户(例如,Alice、Bob、Charlie)具有用于在各单个用户之间接收安全的消息的用公共和私人消息密钥的签署的证书。可通过分发服务106或另一 TTP分发公共消息密钥,使得任何公布者可用只有订购者通过使用安全地存储于订购设备上的相应的私人消息密钥才能读取的订购者的公共消息密钥来加密消息。如图1C所示,各设备102a 102c可包含用于安全地存储设置密钥和共享密钥的相应的安全密钥存储区122a 122c。
设置密钥可包含个人消息密钥对。例如,Alice的密钥存储区122b可包含Alice的个人消息密钥对(a_msg_priv和a_msg_pub), Bob的密钥存储区122c可包含Bob的个人消息密钥对(b_msg_priv和b_msg_pub),而Charlie的密钥存储区122a可包含Charlie的个人消息密钥对(c_msg_priv和c_msg_pub)。设置密钥还可包括其它用户的公共消息密钥。例如,Alice的密钥存储区122b可包含Bob的公共消息密钥(b_msg_pub)和Charlie的公共消息密钥(c_msg_pub),Bob的密钥存储区122c可包含Alice的公共消息密钥(a_msg_pub)和Charlie的公共消息密钥(c_msg_pub),而Charlie的密钥存储区122a可包含Alice的公共消息密钥(a_msg_pub)和Bob的公共消息密钥(b_msg_pub)。
可以使用共享密钥以确保可变精度位置信息的共享。例如,假定Alice希望与Bob以10英里、每2小时一次的精度共享她的不精确位置。Alice的设备102b可产生可用于加密具有10英里、每2小时一次的规定的空间和时间精度的不精确位置信息的新的位置密钥对(a_locl_pub、a_locl_priv)。另外,Alice希望与Charlie共享她的精确位置。Alice的设备102b可产生可用于加密Alice的精确位置信息的新的位置密钥对(a_loC2_pub、a_loc2_priv)。Alice向分发服务106发送已通过Bob的公共消息密钥(b_msg_pub)加密的私人位置密钥(a_locl_priv),以用于分发给Bob。Alice还向分发服务106发送通过Charlie的公共消息密钥(c_msg_pub)加密的私人密钥(a_loc2_priv),以用于分发给Charlie。分发服务106向Bob和Charlie递送加密的消息。Bob用他的私人消息密钥(b_msg_priv)解密加密的消息,以得到私人位置密钥(a_locl_priV)。类似地,Charlie用他的私人消息密钥(c_msg_priv)解密加密的消息,以得到私人位置密钥(a_loc2_priv)。
按第一规定的计划,或者,响应触发事件,Alice通过使用用于她的不精确位置的公共位置密钥(a_locl_pUb)向分发服务106发送她的不精确位置。分发服务106将该消息转送给Bob的设备102c。在设备102c上运行的解密处理通过使用仅可用于Bob的设备102c的相应的私人位置密钥(a_locl_priv)解密不精确位置。
按照第二规定的计划,或者,响应触发事件,Alice通过使用用于她的精确位置的公共位置密钥(a_loC2_pub)向分发服务106发送她的精确位置。分发服务106将消息转送给Charlie的设备102a。在设备102a上运行的解密处理通过使用仅可用于Charlie的设备102a的相应的私人位置密钥(a_loC2_priv)解密精确位置。在一些实现中,第一和第二规定计划可以相同并且两个加密的位置可被传输给Bob和Charlie,而只有Charlie拥有用于解密Alice的精确位置信息的私人位置密钥a_loc2_priv。由于Bob仅拥有私人位置密钥(a_locl_priv),因此,Bob只能解密Alice的不精确位置信息。由于位置信息保持被加密,直到在订购设备上被解密,因此,分发服务不能访问Alice的精确位置,由此保护了她的隐私。
为了增加用于现有的订购者组的位置共享的粒度,公布者的设备可更经常地通过使用相同的位置密钥推送更精确的位置信息。为了将订购者从接收具有第一精度水平的位置信息的第一订购者组移动到接收具有第二更高精度水平的位置信息的第二订购者组,公布设备可向具有订购者的公共消息密钥的该订购者发送适当的私人位置密钥。
为了降低订购的精度水平,公布者可停止使用相关联的公共和私人位置密钥,以确保订购者不再能解密更精确的位置信息。可通过公布设备创建新的位置密钥对,并且,私人密钥被重新分发给该组中没有被降级的剩余的订购者。被降级的订购者可从公布者得到与新的降低水平的精度对应的另一私人位置密钥。
公布者可能希望与特定的订购者或一组订购者暂时共享更精确的位置信息。对于已公布的较低水平的位置精度分发更精确位置信息的私人密钥可给予这些订购者对于更高精度位置信息的永久访问,这不是希望的结果。因此,可通过公布设备产生新的位置密钥对,并且,对于向这些订购者分发私人密钥以用于暂时共享。公布设备上的用户界面可明确哪些订购者可接收位置信息,并且提供时间限制,以自动停止在该水平或精度上公布位置信息。时间限制可以是手动规定的持续时间或结束时间,或者与诸如电话呼叫结束、公布者的日历中的事件结束等的公布设备上的另一触发事件关联。
为了暂时停止在给定的精度水平上公布位置信息,公布设备可停止向分发服务发送位置信息。在该方案中,不需要进行加密密钥管理。与暂时升级同样,公布者可手动设定暂停的持续时间或者结束时间或者将暂停与诸如公布者的日历中的事件的另一触发事件关联。
示例性处理流程(公布设备)
图2A和图2B是由公布设备执行的可变精度位置共享处理200、206的流程图。可通过参照图4描述的设备结构执行处理200、206。处理206是对于具有两个不同的位置精度水平的两个订购者组执行的公布设备处理的例子。但是,处理206可用于具有任何希望的数量的订购者多于两个的订购者组以及用于多于两个的精度水平。
参照图2A,在一些实现中,处理200可从通过使用一个或更多个订购设备的公共消息密钥加密包含私人位置密钥的消息开始(202)。加密的消息可然后被公布给分发服务,以用于向一个或更多个订购设备分发(204)。如参照图1C所示的那样,私人位置密钥与具有特定的空间和/或时间精度的公布设备的位置对应。
参照图2B,在计划的基础上,或者,响应触发事件,处理206可从获得描述公布设备的位置的位置信息开始(208)。可从包括但不限于GPS、WiFi和Cell-1D定位技术的各种定位技术获得位置信息。
检索当前与订购者组I和II共享的精度水平的列表(210)。在本例子中,对于订购者组I检索精确的精度水平(212),而,对于订购者组II检索不精确的精度水平(216)。可通过用户界面(例如,图1B所示的用户界面)或者通过应用可编程地(例如,通过API)对于订购者组规定空间和/或时间精度水平。
对于订购者组I,通过使用公共位置密钥I加密未修改的位置信息(214)。在规定的计划上,或者,响应触发事件,加密的位置信息被公布给分发服务,以用于分发给订购者组 I (222)。
对于订购者组II,基于用于订购者组II的规定的精度水平修改位置信息(218)。例如,如果公布者规定10英里的空间精度,那么由定位技术提供的位置信息可被随机化以落在由半径为10英里的圆包围的地理区域内。可由公布者规定时间精度。例如,公布者可规定位置更新将每2小时一次地公布给订购设备。如参照图2A描述的那样,通过使用与私人位置密钥对应的公共位置密钥II加密修改的位置信息(220)。在规定的计划上,或者,响应触发事件,用于订购者组II的加密的修改的位置信息被公布给分发服务,以用于分发给订购者组II (222)。
公布设备可通过使用已知的密钥产生技术(例如,RSA密钥产生)从随机数产生器产生位置密钥对。公共位置密钥可被包含于通过分发服务单独地向各订购设备发送的消息中。可通过使用各订购设备的唯一公共消息密钥单独地加密消息。在一些实现中,可通过与用于发送和接收包含私人位置密钥的消息的通信信道不同的通信信道由TTP服务分发公共消息密钥。
示例性处理流程图(订购设备)
图3A和图3B是由订购设备执行的可变精度位置共享处理300、306的流程图。可通过参照图4描述的设备结构执行处理300、306。
参照图3A,在一些实现中,处理300可开始于从公布设备接收加密的消息(302)。可通过使用与订购设备相关联的公共消息密钥加密该消息。可通过使用相应的私人消息密钥从加密的消息解密私人位置密钥(304)。在一些实现中,可在与用于接收消息的通信信道不同的通信信道上从TTP服务接收公共消息密钥。
参照图3B,在计划的基础上,或者,响应触发事件,从公布设备接收加密的位置信息(308)。如参照图3A描述的那样,通过使用先前接收的私人位置密钥从加密的位置信息解密位置信息(310)。可选地,可以显示公布设备的位置(312)。例如,订购设备可显示具有表示公布设备的位置的标记(例如,图钉)的地图。如果位置基于规定的空间精度位置是不精确的,那么可地图上重叠圆,使得图钉处于圆的中心。圆的半径可与规定的空间精度对应。
示例性设备结构
图4是用于实现参照图1 图3描述的特征和处理的公布设备或订购设备的示例性硬件结构的框图。该设备可包括存储器接口 402、一个或更多个数据处理器、图像处理器和/或处理器404和外设接口 406。存储器接口 402、一个或更多个处理器404和/或外设接口 406可以是单独的部件,或者可集成于一个或更多个集成电路中。可例如通过一个或更多个通信总线或信号线耦合设备中的各种部件。
传感器、设备和子系统可与外设接口 406耦合以有利于多种功能。例如,运动传感器410、光传感器412和接近度传感器414可与外设接口 406稱合以有利于移动设备的取向、照明和接近度功能。位置处理器415 (例如,GPS接收器)可与外设接口 406连接,以提供地理定位。电子磁力计416 (例如,集成电路芯片)也可与外设接口 406连接,以提供可用于确定磁极北的方向的数据。因此,电子磁力计416可被用为电子罗盘。加速度计417也可与外设接口 406连接,以提供可用于确定移动设备的运动的速度和方向的变化的数据。
可以利用照相机子系统420和光学传感器422,例如,电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器,以有利于诸如记录照相和视频剪辑的照相机功能。
可通过可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器的一个或更多个无线通信子系统424有利于通信功能。通信子系统424的特定的设计和实现可依赖于移动设备要在上面操作的通信网络。例如,移动设备可包括被设计为在GSM网络、GPRS网络、EDGE网络、WiFi或WiMax网络和蓝牙网络上操作的通信子系统424。特别地,无线通信子系统424可包括托管协议,使得移动设备可被配置为其它无线设备的基站。
音频子系统426可与扬声器428和麦克风430耦合,以有利于语音启用的功能,诸如语音识别、语音重复、数字记录和电话功能。
I/O子系统440可包括触摸屏控制器442和/或其它输入控制器444。触摸屏控制器442可与触摸屏446或触摸板耦合。触摸屏446和触摸屏控制器442可例如通过使用包括但不限于电容、电阻、红外和表面声波技术的各种触摸敏感技术中的任一种以及用于确定与触摸屏446的一个或更多个接触点的其它接近度传感器阵列或其它元件检测接触和移动或它们的中断。
其它的输入控制器444可与诸如一个或更多个按钮、摇臂开关、拇指轮、红外端口、USB端口和/或诸如铁笔的指向设备的其它的输入/控制设备448耦合。一个或更多个按钮(未示出)可包含用于扬声器428和/或麦克风430的音量控制的上/下按钮。
在一些实现中,以第一持续时间按压按钮可解除触摸屏446的锁定;以比第一持续时间长的第二持续时间按压按钮可接通或关断设备的电源。用户可能能够定制按钮中的一个或更多个的功能。触摸屏446也可例如被用于实现虚拟或软按钮和/或键盘。
在一些实现中,设备可呈现诸如MP3、AAC和MPEG文件的记录的音频和/或视频文件。在一些实现中,设备可包括诸如iPod 的MP3播放器的功能。因此,设备可包括与iPod兼容的管脚连接器。可以使用其它的输入/输出和控制设备。
存储器接口 402可与存储器450耦合。存储器450可包括高速随机存取存储器和/或非易失性存储器,诸如一个或更多个磁盘存储设备、一个或更多个光学存储设备和/或快擦写存储器(例如,NAND、N0R)。存储器450可存储诸如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或诸如Vx Works的嵌入操作系统的操作系统452。操作系统452可包括用于处理基本系统服务并用于执行依赖于硬件的任务的指令。在一些实现中,操作系统452可包括核(例如,UNIX核)。
存储器450还可存储有利于与一个或更多个附加的设备、一个或更多个计算机和/或一个或更多个服务器通信的通信指令454。存储器450可包括:有利于诸如图1 图4所示的用户界面的图形用户界面处理的图形用户界面指令456 ;有利于传感器相关处理和功能的传感器处理指令458 ;有利于电话相关处理和功能的电话指令460 ;有利于诸如SMS和MMS的电子消息收发相关处理和功能的电子消息收发指令462 ;有利于网络浏览相关处理和功能的网络浏览指令464 ;有利于媒体处理相关处理和功能的媒体处理指令466 ;有利于GPS和导航相关处理和指令的GPS/导航指令468 ;和有利于照相机相关处理和功能的照相机指令470。存储器450还可存储其它的软件指令(未示出),诸如安全性指令、有利于网络视频相关处理和功能的网络视频指令和/或有利于网络购物相关处理和功能的网络购物指令。
存储器450可包括用于可变精度位置共享的指令472和加密/解密指令474以及用于实现参照图1 图3描述的特征、用户界面和处理的其它指令476。
以上标识的指令和应用中的每一个可与用于执行以上描述的一个或更多个功能的一组指令对应。这些指令不需要被实现为单独的软件程序、过程或模块。存储器450可包括附加的指令或更少的指令。并且,可在硬件和/或软件中,包括在一个或更多个信号处理和/或专用集成电路中实现移动设备的各种功能。
可有利地在可在可编程系统上执行的一个或更多个计算机程序中实现描述的特征,该可编程系统包括被耦合为从数据存储系统接收数据和指令并向其传送数据和指令的至少一个可编程处理器、至少一个输入设备和至少一个输出设备。计算机程序是可在计算机中直接或间接使用以执行某个活动或带来某个结果的一组指令。计算机程序可以以包括编译或解释语言的任何形式的编程语言(例如,Ojbective-C, Jave)被编写,并且它可以以任何形式被部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子程序或其它单元。
用于执行指令的程序的适当的处理器作为例子包括任何类型的计算机的通用和特殊用途微处理器以及单独的处理器或多个处理器或芯中的一个。一般地,处理器将从只读存储器或随机存取存储器或者两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或更多个存储器。一般地,计算机还将包括用于存储数据文件的一个或更多个海量存储设备或者与其操作耦合;这些设备包括诸如内部硬盘和可去除盘的磁盘、磁光盘和光盘。适于可触知地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,作为例子包括:半导体存储器设备,诸如EPROM、EEPROM和快擦写存储器设备;磁盘,诸如内部硬盘和可去除盘;磁光盘;和CD-ROM和DVD-ROM盘。可通过ASIC (专用集成电路)补充或者在其中加入处理器和存储器。
为了提供与用户的交互作用,可在具有用于向用户显示信息的诸如CRT(阴极射线管)或LCD (液晶显示器)监视器的显示设备和用户可通过其提供对于计算机的输入的键盘和诸如鼠标或轨迹球的指向设备的计算机上实现特征。
可在包括诸如数据服务器的后端组件或诸如应用服务器或因特网服务器的中间件组件或者包括诸如具有图形用户界面或因特网浏览器的客户机计算机的前端组件或者它们的任何组合的计算机系统中实现特征。可通过诸如通信网络的任何形式的数字数据通信的介质连接系统的组件。通信网络的例子包括例如LAN、WAN和形成因特网的计算机和网络。
计算机系统可包括客户机和服务器。客户机和服务器一般相互远离,并且一般通过网络交互作用。客户机和服务器的关系借助于在各计算机上运行并相互具有客户机-服务器关系的计算机程序出现。
可通过使用API实现公开的实施例的一个或更多个特征或步骤。API可限定在调用应用和提供服务、提供数据或执行操作或计算的其它软件代码(例如,操作系统、库例程、功能)之间传递的一个或更多个参数。
API可被实现为基于在API规范文件中限定的调用惯例通过参数列表或其它结构发送或接收一个或更多个参数的程序代码中的一个或更多个调用。参数可以是常数、密钥、数据结构、对象、对象类、变量、数据类型、指针、数组、列表或另一调用。可在任何编程语言中实现API调用和参数。编程语言可限定编程人员用于访问支持API的功能的词汇表和调用惯例。
在一些实现中,API调用可向应用报告运行应用的设备的能力,诸如输入能力、输出能力、处理能力、功率能力、通信能力等。
描述了大量的实现。然而,可以理解,可以提出各种修改。例如,可以组合、删除、修改或补充一个或更多个实现的要素,以形成其它的实现。在另一例子中,为了实现希望的结果,在图中示出的逻辑流程不需要表示的特定的次序或者依次的次序。另外,可以提供其它的步骤,或者可从描述的流程消除多个步骤,并且可对于描述的系统添加或去除其它的组件。因此,其它的实现在以下的权利要求的范围内。
权利要求
1.一种由设备的一个或更多个硬件处理器执行的计算机实现的方法,包括: 获得描述所述设备的位置的位置信息; 接收所述位置信息的精度的规范; 基于规定的精度修改所述位置信息; 加密修改的位置信息;和 向分发服务公布加密的位置信息,以用于向一个或更多个订购者分发。
2.根据权利要求1的方法,其中,接收所述位置信息的精度的规范包括: 接收所述位置信息的空间精度的规范。
3.根据权利要求1的方法,其中,接收所述位置信息的精度的规范包括: 接收所述位置信息的时间精度的规范。
4.根据权利要求1的方法,其中,修改所述位置信息包括: 随机化所述移动设备的位置,使得所述移动设备的修改的位置处于包含所述移动设备的所述位置的地理区域内。
5.根据权利要求1的方法,其中,加密修改的位置信息包括: 通过使用与所述位置信息的规定的精度相关联的公共位置密钥加密所修改的位置信肩、O
6.根据权利要求1的方法,还包括: 通过使用与所述一个或更多个订购者相关联的公共消息密钥,加密包含私人位置密钥的消息;和 向所述分发服务公布所述消息,以用于向所述一个或更多个订购者分发。
7.一种由移动设备的一个或更多个硬件处理器执行的计算机实现的方法,包括: 从公布设备接收加密的位置信息,所述位置信息根据规定的精度从精确的位置被修改;和 通过使用由所述公布设备提供的解密信息解密所述位置信息。
8.根据权利要求7的方法,其中,所述解密信息包括由所述公布设备提供的私人位置密钥。
9.根据权利要求8的方法,还包括: 从所述公布设备接收加密的消息;和 解密所述加密的消息以恢复所述私人位置密钥。
10.根据权利要求7的方法,其`中, 在所述设备的显示器上显示地图;和 基于解密的位置信息在所述地图上重叠图形对象,所述图形对象在地图上限定地理区域,所述地理区域包含所述公布设备的所述位置。
11.一种用于共享可变精度的位置信息的系统,包括: 处理器; 与所述处理器耦合并存储当被所述处理器执行时使得所述处理器执行包括以下操作的操作的指令的存储器: 获得描述设备的位置的位置信息; 接收所述位置信息的精度的规范;基于规定的精度修改所述位置信息; 加密修改的位置信息;和 向分发服务公布加密的位置信息,以用于向一个或更多个订购者分发。
12.根据权利要求11的系统,其中,所述存储器包括当被所述处理器执行时使得所述处理器执行包括以下操作的操作的指令: 接收所述位置信息的精度的规范,包括: 接收所述位置信息的空间精度的规范。
13.根据权利要求11的系统,其中,所述存储器包括当被所述处理器执行时使得所述处理器执行包括以下操作的操作的指令: 接收所述位置信息的时间精度的规范。
14.根据权利要求11的系统,其中,所述存储器包括当被所述处理器执行时使得所述处理器执行包括以下操作的操作的指令: 随机化所述移动设备的位置,使得所述移动设备的修改的位置处于包含所述移动设备的所述位置的地理区域内。
15.根据权利要求11的系统,其中,所述存储器包括当被所述处理器执行时使得所述处理器执行包括以下操作的操作的指令: 通过使用与所述一个或更多个订购者相关联的公共消息密钥,加密包含私人位置密钥的消息;和 向所述分发服务公布所述消息,以用于向所述一个或更多个订购者分发。
16.一种用于共享可变精度的位置信息的系统,包括: 处理器; 与所述处理器耦合并存储当被所述处理器执行时使得所述处理器执行包括以下操作的操作的指令的存储器: 从公布设备接收加密的位置信息,所述位置信息根据规定的精度从精确的位置被修改;和 通过使用由所 述公布设备提供的解密信息解密所述位置信息。
17.根据权利要求16的系统,其中,所述解密信息包括由所述公布设备提供的私人位置密钥。
18.根据权利要求17的系统,其中,所述存储器包括当被所述处理器执行时使得所述处理器执行包括以下操作的操作的指令: 从所述公布设备接收加密的消息;和 通过使用公共消息密钥解密所述消息以恢复所述私人位置密钥。
19.根据权利要求16的系统,还包括: 显示器,所述显示器可操作为基于解密的位置信息显示具有重叠的图形对象的地图,所述图形对象在所述地图上限定地理区域,所述地理区域包含所述公布设备的所述位置。
20.根据权利要求18的系统,其中,所述消息和所述公共消息密钥在两个不同的通信信道上被接收。
全文摘要
公开了允许公布者与订购者共享他们的位置的安全的位置共享系统。各公布设备对于分发服务产生、加密和公布其具有规定的精度的位置信息,以用于向一个或更多个订购设备分发。分发服务向分发列表提供位置信息的安全的分发,但不能访问公布者的精确的位置信息,该位置信息保持加密,直到在订购设备上被解密。公布者可对于不同的订购者共享他们的具有不同的精度水平的位置信息。公布者可选择位置信息精度的至少两个维度空间和时间。对于不太精确的位置共享,公布设备可随机化或模糊公布设备的精确位置。公布者可通过在公布设备上产生新的密钥对将订购者或一组订购者移动到更低或更高的位置精度水平。
文档编号H04W4/02GK103202001SQ201180049071
公开日2013年7月10日 申请日期2011年8月11日 优先权日2010年8月26日
发明者P·T·伟斯顿 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1