CN106062750B - 可证明的地理定位 - Google Patents
可证明的地理定位 Download PDFInfo
- Publication number
- CN106062750B CN106062750B CN201580011362.3A CN201580011362A CN106062750B CN 106062750 B CN106062750 B CN 106062750B CN 201580011362 A CN201580011362 A CN 201580011362A CN 106062750 B CN106062750 B CN 106062750B
- Authority
- CN
- China
- Prior art keywords
- mobile device
- data
- geolocation
- location
- signature
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0872—Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/3247—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 involving digital signatures
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
-
- 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/80—Wireless
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
地理定位提供方站点对地理定位数据以及由移动设备提供的之前的签名进行签名,将新签名返回至所述移动设备。所述移动设备在请求来自另一地理定位提供方站点的签名时使用所述新签名。所述移动设备对所述地理定位数据以及由地理定位提供方站点提供的所述签名进行存储。在请求时可以通过使用所述存储的签名数据对所述存储的地理定位数据进行验证。
Description
技术领域
在此描述的实施例总体上涉及地理定位,并且具体地涉及一种用于使用链式签名来提供对地理定位数据的验证的技术。
背景技术
地理定位(Geo-location)是指对物体(诸如移动设备)的地理位置进行标识。地理定位服务在大多数现代移动设备(像智能机、平板和超极本)上都是可用的。这些设备被提供给本地app或远程软件,并且地理定位提高了用户体验。地理定位还可用于增强安全性。例如,敏感银行交易可以被限制并且只有在设备处于其应该所处的位置时才被允许。地理定位数据经由许多方法(或其组合)被创建:基于卫星的系统、移动三角测量、Wi-Fi接入点定位、到位置已知的其他设备的邻近度(例如,经由蓝牙或NFC所建立的)、加速度计等。基于卫星的系统包括美国全球定位卫星(GPS)系统和俄国全球导航卫星系统(GLONASS);其他基于卫星的系统正在建设中,包括欧盟的伽利略系统、印度区域导航卫星系统(IRNSS)、以及中国北斗二号或罗盘系统。虽然经常被认为是提供二维(x,y)坐标,但是地理定位数据可以并且经常确实包括三维(x,y,z)坐标,并且通常带有时间戳。
不幸地是,已知的地理定位方法没有给出有关位置数据准确性的保证。这些方法常常依赖于外部服务:卫星传输、移动电话系统塔、无线联网(Wi-Fi)接入点、或其他外部设备。通常具有误差或外部设备的蓄意操控的可能性,从而导致不正确的地理定位数据。例如,当连接至接入点而无需经由受保护的可扩展认证协议(PEAP)使用预共享证书时,中间人攻击可能提供错误的地理定位数据。甚至在接收并将数据存储在移动设备中之后,真实的位置数据都有可能被破坏。这种破坏可由恶意软件或者甚至由设备拥有者来执行。
不正确的地理定位则可能用于使用设备位置的敏感计算中。这种敏感计算的示例可以包括:
1)在敏感金融交易中的验证步骤
2)进行紧急呼叫或发送SOS/求救信号
3)定位被盗设备
4)当一个人不得不遵循法庭命令(例如,与另一个人保持远于50m的命令)时
总体上,当需要对位置数据的最大信任时,地理定位的总体不可靠性的问题严重限制了其使用。没有合适的解决方案可用。
附图说明
图1是框图,展示了根据一个实施例的在其中可以实现可证明的地理定位服务的基础设施。
图2是框图,展示了根据一个实施例的一种用于生成已签名的地理定位数据链的技术。
图3是流程图,展示了根据一个实施例的一种用于请求外部供应者站点提供更新的已签名的地理定位数据的技术。
图4是流程图,展示了根据另一个实施例的一种用于更新已签名的地理定位数据链的技术。
图5是流程图,展示了根据一个实施例的一种用于验证已签名的地理定位数据链的技术。
图6是框图,展示了根据一个实施例的用于在此描述的技术的可编程设备。
图7是框图,展示了根据另一个实施例的用于在此描述的技术的可编程设备。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体的细节以便提供对本发明的彻底理解。然而,对于本领域普通技术人员而言,可以在不具有这些具体细节的情况下实践本发明将是明显的。在其他实例中,以框图的形式示出了结构和设备以避免使本发明模糊。对不带下标或后缀的数字的引用被理解为引用对应于被引用数字的所有下标和前缀的实例。此外,在本披露中使用的语言主要是为了可读性和指导的目的而被选择的,并且可能尚未被选择为描绘或限制创造性主题,有必要借助权利要求来确定这样的创造性主题。在说明书中提及“一个实施例”或者“实施例”意味着结合实施例所描述的特定特征、结构或特性被包含在本发明的至少一个实施例中,并且多次提及“一个实施例”或“实施例”不应当被理解为一定都是指相同的实施例。
如在此所使用的,术语“计算机系统”可指用于执行被描述为在计算机系统上或由计算机系统执行的功能的单台计算机或一起工作的多台计算机。类似地,机器可读介质可指单个物理介质或可以一起包含存储在其上的指示信息的多个介质。处理器可指或者在单个芯片上或者在多个处理芯片上实现的单个处理元件或多个处理元件。
现参考图1,示意性地展示了在其中可以实现以下所描述的技术的示例基础设施100。基础设施100包含计算机网络102。计算机网络102可以包括在今天可用的许多不同类型的计算机网络,诸如互联网、企业网、或局域网(LAN)。这些网络中的每一种网络都可包含有线或无线可编程设备,并且使用任何数量的网络协议(例如,TCP/IP)进行操作。网络102可以被连接至网关和路由器(由108来表示)、最终用户计算机106、以及计算机服务器104。基础设施100还包括用于移动通信设备的蜂窝网络103。移动蜂窝网络支持移动电话和许多其他类型的设备。在基础设施100中的移动设备被展示为移动电话110、膝上型计算机112、以及平板114。在移动设备移动时,移动设备(诸如移动电话110)可以与一个或多个移动提供方网络进行交互,通常与多个移动网络塔120、130、和140进行交互以用于连接至蜂窝网络103。移动网络塔120、130和140可以计算并向移动设备110、112和114提供地理定位数据。虽然在图1中被称为蜂窝网络,但移动设备可以与多于一个提供方网络的塔以及与多个非蜂窝设备(诸如无线接入点和路由器108)进行交互。移动设备还可以从地理定位卫星(未示出)获得地理定位数据。此外,移动设备110、112、和114可以与非移动设备(诸如计算机104和106)进行交互以用于所期望的服务,这些服务可以包括向那些非移动设备提供可验证的地理定位数据。在以下讨论中,移动设备110用作表示所有移动设备。
以下披露了一种使用对地理定位数据的链式签名的系统。每次当移动设备110连接至外部第三方提供方(3G、Wi-Fi等)时,移动设备110将提供之前的位置历史(链)以用于“盖戳”(密码签名)。如以下所描述的,提供方被称为“站点”,并且站点120(在图1中,移动网络塔)被用作代表所有站点。站点不必是静态的;它们被允许像例如谷歌所提出的Wi-Fi气球那样移动。这些站点各自支持密码签名服务以用于对位置数据进行“盖戳”。此外,站点和设备均可以采用协议和API以用于处理链式签名的地理定位数据,如以下更详细描述的。各个实施例可以采用密码签名和加密的结合。
如在常规的移动设备系统中,移动设备110以任何方便或期望的方式保持其地理定位的日志。此信息是从站点获得,并且可以用于各种基于位置的服务。在一些实施例中,移动设备110还保持从与其进行交互的站点获得的站点地理定位数据的日志。移动设备110还对标识移动设备110的设备ID数据进行存储。
简言之,链式签名和验证以如下方式工作:
1)移动设备110向数据结构中的站点120提交其设备ID、当前地理定位数据、以及之前的签名。在一些实施例中,除当前地理定位数据之外还提供历史地理定位数据的集合。
2)站点120接收数据结构。然后,站点120对数据结构进行签名并向移动设备110返回新签名。在一些实施例中,站点120可以在签名之前将数据结构更新为包括当前站点地理定位数据。
3)移动设备110接收并存储从站点120接收的新签名以备将来使用,将签名Ri添加至签名链R1、R2、……、Ri-1、Ri,其被存储以备将来使用。
4)当移动设备110记录新位置时(诸如当设备移动或当自之前的签名以后预定义时间段已经过去时),移动设备110将数据结构更新为包括从站点120接收的当前设备位置以及最近的签名,然后重复步骤1。
当接收到对证明地理定位数据的请求时,可对签名链进行验证,使用常规的密码技术对签名链中的每一个签名进行验证。
在一个实施例中,由移动设备110保持并提供给每一个站点的数据结构是元组,诸如:
Di={设备lD,设备位置,Ri-1}
其中,
设备ID是移动设备110的ID;
设备位置是移动设备110的当前地理定位;以及
Ri-1是从站点120返回的最近的签名。
元组的成员可以采用任何期望的次序,并且其他元组成员可以如所期望的那样被包括。虽然被描述为当前设备或站点地理定位,但是设备位置可以是移动设备110的历史地理定位数据的设备位置历史集合,包括当前地理定位数据。虽然在一些实施例中的设备位置历史集合是阵列,但是可以是用于存储记录的地理定位数据的日志的任何方便的数据结构。
每一个地理定位数据可以假定为在任何期望的坐标系统中的二维{x,y}坐标或者三维{x,y,z}坐标,并且优选地包括时间戳以便指示地理定位数据何时被提供给移动设备110。然而,为了清楚起见,以下就二维坐标对地理定位数据进行描述。地理定位数据可以由明文中的坐标来表示或者被表示为此类坐标的散列。单向密码散列常常作为减少隐私担忧的原始数据的可靠表示来使用。
在一个实施例中,由站点所产生的并被返回至移动设备的签名可被描述为:
Ri=签名(Di,站点位置)
其中,
站点位置是站点120的当前地理定位。
每一个签名优选地包括时间戳。时间戳可以由标准外部可信时间服务提供方(诸如威瑞信公司)自行签名或提供。每一个站点可以使用不同的签名技术。如果一个实施例支持多种签名技术,则每一个签名可以携带有关签名技术的信息。通常是基于来源于根证书机构的信任层级中的信任证书、使用公/私密码技术(使用站点120的私钥)来生成签名,从而允许用站点120的公钥对签名进行验证。然而,其他密码技术可以用于生成所期望的签名。在一些实施例中,签名可以包含已签名的数据的密码散列,该已签名的数据包括地理定位历史的至少一部分。现代散列算法(像SHA-2家族和SHA-3)对散列冲突具有良好的密码抵抗性,从而提供基于散列的签名的唯一性。
在一些实施例中,站点120还可以包括站点ID值作为签名的一部分,该站点ID标识站点120。在一些实施例中,站点位置数据未包括在签名中。
站点120可以使用任何期望的密码签名技术,并且每一个站点120可以使用不同的签名技术。例如,站点120可以采用被指派给那个站点120、并且从标准公钥基础设施(PKI)技术中的某个信任根中获得的证书。签名优选地包括自行签名的或者经由标准外部可信时间服务(像威瑞信)提供的时间戳,其提供具有比由移动设备110或站点120提供的时间戳更高等级的信任的时间戳。在一些实施例中,站点120还可以包括站点ID值作为签名的一部分,该站点ID标识站点120。
并不需要所有的站点120来对数据结构Di进行签名,并且在这类情况下,移动设备110可以将特殊值(诸如零)放在签名链中以便指示在那次迭代中未对数据结构Di进行签名。例如,移动设备110可以与一些不能够对数据结构Di进行签名或处理的站点120、与一些能够对数据结构Di进行签名但拒绝签名的站点120以及与一些根据在此披露的技术进行签名的站点120进行交互。移动设备110可以继续更新设备位置历史数据集合以及具有设备和站点地理定位数据的签名链,即使那些未签名的实例可能比已签名的实例更不可证明。
图2是图,示出了在三个不同时间150、152和154上的移动设备110;接入站点120、130、和140。在时间150上,移动设备110向站点120发送数据结构D1,其用签名R1来进行响应。
当移动设备110在时间152上进行移动并且与站点130进行交互时,已更新的数据结构D1变为数据结构D2,其被传递至站点130。站点130对数据结构进行签名,返回签名R2。类似地,已更新的数据结构D2变为数据结构D3,结合签名R2,其在时间154被传递至站点140。站点140然后返回签名R3。
在一些实施例中,移动设备110并不发送全数据结构Di,而是可以发送结构Di的散列或其他功能复位,尽管明文数据结构Di可以本地保持以备未来验证使用。虽然数据结构Di优选地保持在移动设备110上,但是一些实施例可以允许移动设备110对结构Di和签名Ri进行远程存储,从而每当或者需要向另一个站点发送数据结构Di时或者当需要验证地理定位数据时对其进行访问。
虽然图2展示了仅站点1在每一个时间上对移动设备110可见的情形,但是具体地,移动设备110可以在任何给定的时间上与多个站点120进行接触。在这种情况下,移动设备110可以从多个站点120中获得签名,将多个签名数据存储在签名链中,即使仅一个站点120用于向移动设备110提供通信服务。
将之前签名的Ri-1包括在Di结构中确保了由下一个站点对整个之前的签名链进行签名。对于第一签名交互,数据结构D1中的初始签名R0可被设定为零或任何其他期望的混淆值,该混淆值可以可靠地被确定以便允许验证签名链。在一个实施例中,R0值可以基于移动设备的国际移动站点设备身份(IMEI)。在一些实施例中,R0值可以为零或空。
因而,在图2中所展示的示例中,动作序列可以如下。虽然在此示例中对站点地理定位数据进行了展示,但如以上所指示的,站点地理定位数据是可选的并且可以被省略。此示例假设站点120是与移动设备110进行交互的第一站点,则在数据结构Di中提供初始签名R0而不是之前的签名。对{xi,yi}的引用指设备位置坐标,并且对{sxi,syi}的引用指站点坐标。
1.与站点120交互
签名链 | R<sub>0</sub> |
D<sub>1</sub> | (设备ID,{x<sub>1</sub>,y<sub>1</sub>},R<sub>0</sub>) |
R<sub>1</sub> | 签名(设备ID,{x<sub>1</sub>,y<sub>1</sub>},{sx<sub>1</sub>,sy1},R<sub>0</sub>) |
2.与站点130交互:
签名链 | R<sub>0</sub> |
D<sub>2</sub> | (设备ID,{x<sub>2</sub>,y<sub>2</sub>),R<sub>1</sub>) |
R<sub>2</sub> | 签名(设备ID,{x<sub>2</sub>,y<sub>2</sub>),{sx<sub>2</sub>,sy<sub>2</sub>),R<sub>1</sub>) |
3.与站点140交互:
签名链 | R<sub>0</sub> |
D<sub>3</sub> | (设备ID,{x<sub>3</sub>,y<sub>3</sub>),R<sub>2</sub>) |
R<sub>3</sub> | 签名(设备ID,{x<sub>3</sub>,y<sub>3</sub>},{sx<sub>3</sub>,sy<sub>3</sub>},R<sub>2</sub>) |
在由移动站点120接收每一个签名Ri时,签名被存储在签名集合或签名链中以备验证地址时使用。可以以任何期望的方式存储签名链。如从以上可看出的,每一个签名Ri因此通过包括之前的签名Ri-1结合有当前地理定位数据以及所有之前的地理定位数据。例如,以上的签名R3结合有位置{x3,y3}以及签名R2。通过对签名R3进行解码,可获得{x3,y3}位置数据以及签名R2。通过进一步对签名R2进行解码,可获得{x2,y2}位置数据等。在附加实施例中,站点可以代替其自身的有关移动设备位置(其可以例如,基于三角测量或信号长度)的数据或将其添加至签名中。
因此,签名链Ri增长,并且包含来自移动设备110已与其进行交互的所有站点120的位置和签名(其内部可以具有站点ID和时间戳)。后续的每一个站点“戳记”添加至历史并且对之前的签名进行签名,因而增加了位置序列的抗篡改并且创建了地理定位数据的可验证历史。
图3是流程图,从移动设备110的视角总体上展示了一种根据一个实施例用于获得已签名的地理定位数据链的技术300。在框310中,移动设备110用移动设备110的当前设备地理定位数据更新移动设备数据结构。此外,数据结构Di被更新为包括之前的签名元素Ri-1。在一些实施例中,可以在接收到Ri签名后的任何时间用Ri值创建数据结构Di+1的下一实例,包括在对设备地理定位数据进行更新之前或之后。在框320中,移动设备可以向站点120发送已更新的数据结构Di,具有对数据结构Di进行签名的请求。
在框330中,移动设备110接收签名Ri。
最后,在框340中,移动设备110可以将已更新的设备和站点地理定位数据以及新签名Ri存储在其各自的链或集合中。在一些实施例中,移动设备可以将数据结构Di的每一个实例作为整体进行存储,而不是将元组的元素单独地存储为单独的集合。在一个实施例中,移动设备110然后可以创建包括签名Ri的数据结构Di+1的新实例以备下次将对地理定位数据进行更新时使用;在其他实施例中,移动设备110可以等待直到下一地理定位更新事件发生时才创建实例Di+1。移动设备110可以对数据结构D或R进行本地存储或者使用任何可用的连接以便保持远程副本(例如,在“云”中)。
图4是流程图,展示了一种用于对由站点120从移动设备110中接收的数据结构Di进行签名的技术400。在框410中,站点120从移动设备110中接收数据结构Di。如以上所指示的,在一些实施例中,站点120可以接收全数据结构Di,而在其他实施例中,站点120可以仅接收数据结构Di的散列或者Di可以包含数据结构Ri-1的散列。在框420中,站点120使用任何期望的密码技术对数据结构Di进行签名。如以上所指示的,优选地,签名可以包括站点ID和时间戳,时间戳自身优选地是可验证时间戳。然后,在框430中,站点120将签名Ri发送回至移动设备110。
当由设备接收“可证明”地理定位的请求时,则位置链:R1、R2、……、Ri、Ri+1、……(或其相关的初始部分)可由移动设备110提供以用于验证。在另一实施例中,请求可以被发送至持有脱机设备位置历史的“云存储”。图5是根据一个实施例的流程图,展示了一种用于对移动设备110的地理定位数据进行验证的技术500。
在框510中,接收地理定位链。在框520中可以对移动设备110进行验证,或者可以对来自移动设备的地理定位数据进行本地或远程访问的远程设备进行验证。可以提供应用编程接口(API)以便允许与地理定位历史一起工作。API调用的一个示例允许检索全部历史或部分历史,诸如涉及特定位置的数据、特定的时间帧、或一定数量的位置。其他API调用可以提供以用于将设备位置历史数据和相关联的签名时间戳与任何{x,y,z,t}元组进行比较,因而确定在某个时间点上的移动设备的位置。在一个实施例中,来自API的响应可以是在给定时间(某些误差裕度内)处确认或否定设备位置的布尔形式(对/错)。
在一些实施例中,基于以根证书机构和在一层或多层中的一个或多个证书机构开始的信任层级,站点可以具有不同的信任等级。取决于对签名站点的信任等级,可在任何给定的时间对设备位置的信任等级进行计算。作为示例,公共WiFi接入点可以为站点的功能服务,但与其相关联的信任等级可以是低的。
另一个API调用可以使用标准PKI技术请求对站点签名进行验证。由于使用顺序签名链对数据结构Di进行签名,验证可以用作时控的位置历史的证明,并且可以提供防止对包含在已签名数据结构Di中的设备位置历史信息或站点位置历史信息造成挑战的不可否认条件。
在一个实施例中,可以由在远程网络服务器(例如,网络服务器)上运行的软件提供验证。
可以在框530中对验证结果进行检查。如果成功,则在框550中,可以在期望的时间上或时间范围内确定移动设备的位置。如果验证失败,则在框540中,可以提供地理定位链已经被破坏且不可信的指示。
所披露的技术提供了几项优点。每一个站点对所有之前的签名进行签名,这使得信任复杂化。例如,虽然D1数据结构仅具有一个签名,但D2数据结构结合了两个签名,并且所有后续的Di列表将由后续的i站点来依序进行签名。一旦第i个站点120对数据结构Di-1进行了签名,则攻击者将仅需要访问一个证书以便对数据结构Di进行修改。但是为了篡改一些历史Dj(j<i),攻击者将需要获得多个(i-j)证书以便伪造正确的那部分位置链,因为篡改正确的签名Rj将导致签名Rj+1Ri不正确。这提供了恒定增长的针对由于链式签名导致的篡改的鲁棒性。
已签名位置链Ri将增长并包含来自在签名Ri的时间之前进行交互的所有站点120的位置和签名(其内部具有站点_ID和时间戳)。后续的每一个站点“戳记”添加至历史并且对之前的签名进行签名,因而增加了位置序列的抗篡改并且创建了链中的最后一个位置的可验证历史。
例如,如果移动设备110接收请求(诸如通过API调用)以证明在时间154上的位置({x3,y3}),则移动设备110可返回历史R3、R2、R1,其中:
R3=签名(设备_ID,{x3,y3},R2),其在扩展R2之后是
R3=签名(设备_ID,{x3,y3},签名(设备_ID,{x2,y2},R1),其在扩展R1之后是
R1=签名(设备_ID,{x3,y3},签名(设备_ID,{x2,y2},签名(设备_ID,{x2,y2},签名(设备_ID,{xi,yi},R0)
因此,验证器接收R1、R2、R3序列,并且可借助于通过(假设PKI类型的签名)应用每一个站点120、130、140的公钥对数据结构进行对递归地“不滚动”来验证整个链。
在一个实施例中,移动设备110可以生成数据结构Ri-1的散列并且仅向站点发送其散列以便最小化隐私泄露的风险或由站点造成的侵犯,而不是向站点120发送数据结构Di以用于签名。在这种实施例中,验证将包括:检查签名Ri的有效性;生成已被签名的散列值;以及将散列值比作对数据结构Ri-1进行散列的结果。假设使用单向散列函数,则两个散列值的比较将足以对数据结构Di中的签名和数据进行验证。
此外,可对位置链的地理空间一致性进行验证。假设实际使用移动设备(例如,将期望附接至汽车的GPS系统以速度小于汽车的最大速度行驶),则可对位置链与设备的种类及其典型使用的一致性进行检查。恶意的或不正确地进行操作的站点或设备自身可能能够将不正确的位置添加至链,但异常的位置条目可被忽略并且“虚假”站点的证书可被排除或吊销。
为了检查签名链和潜在地理定位数据的地理空间一致性,验证器可对距离、时间戳进行验证并将点A{x1,y1}和点B{x2,y2}之间的行驶速度与期望的交通模式(步行、船、自行车、汽车、火车、飞机等)和/或模式(客机、战斗机)的最大速度进行比较。增加的设备行驶速度可以与达到交通枢纽(诸如机场或高铁站点)的移动设备110相关,其在正常情况下将被记录在历史中。因此,可以基于提供快速交通方式的交通设施的邻近度经由估计最大行驶速度而将一些启发应用于一致性检查中。
在一种使用情况下,当旅行者出国时,如果旅行者的银行可以访问移动设备110的位置历史,则银行可在银行将以较高确定性知道旅行者已经移动至机场、已在特定国家着陆且一系列移动电话塔将精确定位旅游者的接近特定ATM或商户的位置时允许交易。移动设备110可例如经由将被配置成用于访问“可证明的地理定位”API的银行app来提交此历史。
在另一种使用情况下,当驾驶员的汽车具有内置的地理定位功能并且驾驶员想要证明超速罚单属于具有克隆牌照的汽车时,驾驶员能够使用可证明的地理历史来为取消罚单进行辩论。类似地,可获得搜查令以便允许警察从嫌疑人的移动设备110获得可证明的位置历史,该位置历史能够作为移动设备110在特定的有利时间处的位置的不可否认证据。
在所建议的系统上的一个潜在攻击场景是为了组织从一个设备到另一个设备的隐蔽的外部通道。如果第一设备可将所有地理定位请求代理至第二设备,则位置链将反映第二设备而不是第一设备。这种对我们系统的“中间人”攻击可在一个实施例中通过将设备_ID绑定到特定设备被排除,其可通过在可信执行环境(诸如可新平台模块、苹果安全区域、软件防护扩展(SGX)、安全元件等)中对数据结构Di进行签名而达到,并且密钥的适当提供用于这种签名。秘密(例如,密钥或设备_ID)可以被密封在所述可信执行环境中且因而对于“中间人”不可用。
现参见图6,框图展示了根据一个实施例的可以采用以上描述的地理定位技术的可编程设备600。在图6中所展示的可编程设备是包括第一处理元件670和第二处理元件680的多处理器可编程设备600。虽然示出了两个处理元件670和680,但可编程设备600的实施例还可以仅包括一个这种处理元件。
可编程设备600被展示为点对点互连系统,在该系统中,第一处理元件670和第二处理元件680经由点对点互连650相耦合。在图6中所展示的任何或所有互连可以被实现为多分支总线而不是点对点互连。
如图6中所展示的,处理元件670和680中的每一个处理元件可以是多核处理器,包括第一和第二处理器核(例如,处理器核674a和674b以及处理器核684a和684b)。这类核674a、674b、684a、684b可以被配置成用于执行指令代码以便实现以上描述的技术。然而,如所期望的,其他实施例可以使用为单个核处理器的处理元件。如所期望的,在具有多个处理元件670、680的实施例中,每一个处理元件可以用不同数量的核来实现。
每一个处理元件670、680可以包括至少一个共享缓存646。共享缓存646a、646b可以存储分别由处理元件的一个或多个部件(诸如核674a、674b和684a、684b)使用的数据(例如,指令)。例如,共享缓存可以本地缓存存储在存储器632、634中的数据以用于由处理元件670、680的部件进行更快速的访问。在一个或多个实施例中,共享缓存646a、646b可以包括一个或多个中级缓存,诸如二级(L2)、三级(L3)、四级(L4)、或其他级别的缓存、终极缓存(LLC)、或其组合。
虽然为了附图的清晰性图6展示了具有两个处理元件670、680的可编程设备,但是本发明的范围不受此限制,并且可以存在任何数量的处理元件。可替代地,处理元件670、680中的一个或多个处理元件可以是除了处理器之外的元件,诸如图形处理单元(GPU)、数字信号处理(DSP)单元、现场可编程门阵列、或任何其他可编程处理元件。处理元件680可以是异质的或者与处理元件670不对称。就包括架构特性、微架构特性、热特性、功耗特性等等在内的优点的度量谱而言,处理元件670、680之间可具有各种各样的差异。这些差异可以在处理元件670、680当中有效地将其自身显露为不对称性和异质性。在一些实施例中,各个处理元件670、680可以驻存在同一裸片封装体中。
第一处理元件670可以进一步包括存储器控制器逻辑(MC)672和点对点(P-P)互连676和678。类似地,第二处理元件680可以包括MC 682和P-P互连686和688。如图6中所展示的,MC 672和682将处理元件670、680耦合至相应的存储器(即存储器632和存储器634),该存储器是可以是本地附接至相应处理器的主存储器的部分。虽然MC逻辑672和682被展示为集成在处理元件670、680中,但在一些实施例中,MC逻辑可以是处理元件670、680之外而不是集成在其中的离散逻辑。
处理元件670和处理元件680可以经由P-P互连676、686和684分别耦合至I/O子系统690。如图6中所展示的,I/O子系统690包括P-P互连694和698。而且,I/O子系统690包括接口692以便将I/O子系统690与高性能图形引擎638耦合。在一个实施例中,总线649可以用于将图形引擎638耦合至I/O子系统690。可替代地,点对点互连639可以对这些部件进行耦合。
进而,I/O子系统690可以经由接口696耦合至第一链路616。在一个实施例中,第一链路616可以是外围组件互连(PCI)总线、或总线(诸如PCI Express总线或另一I/O互连总线),尽管本发明的范围不受此限制。
如图6中所展示的,各个I/O设备614可以连同桥618耦合至第一链路616,该桥可以将第一链路616耦合至第二链路610。在一个实施例中,第二链路610可以是低引脚数(LPC)总线。在一个实施例中,各个设备可以耦合至第二链路610,包括例如,键盘/鼠标612、(多个)通信设备626(其可以进而与计算机网络603进行通信)、以及可以包括代码630的数据存储单元628(诸如磁盘驱动器或其他大容量存储设备)。代码630可以包括用于执行以上描述的技术中的一项或多项技术的实施例的指令。进一步地,音频I/O624可以耦合至第二链路610。此外,可信平台模块645可以连接至第二链路610以便为可编程设备600提供安全的密码环境。
注意的是,考虑到了其他实施例。例如,系统可以实现多分支总线或另一个这种通信拓扑,而不是图6的点对点架构。虽然链路616和610在图6中被展示为多条总线,但是可使用任何期望类型的链路。而且,可以可替代地使用比图6中所展示的更多或更少的集成芯片对图6的元件进行分区。
现参考图7,框图展示了根据另一实施例的可编程设备700。已经从图7中省略了图6的某些方面以避免使图7的其他方面模糊。
图7展示了处理元件770、780可以分别包括集成存储器和I/O控制逻辑(“CL”)772和782。在一些实施例中,CL 772、782可以包括存储器控制逻辑(MC),诸如以上结合图6描述的那个。此外,CL 772、782还可以包括I/O控制逻辑。图7展示了不但存储器732、734可以耦合至CL 772、782,而且那个I/O设备714也可以耦合至控制逻辑772、782。传统I/O设备715可以耦合至I/O子系统790。
在图6和图7中描绘的可编程设备是可编程设备的实施例的示意图解,其可以用来实现在此讨论的各个实施例。将理解的是,在图6和图7中描绘的可编程设备的各个部件可以组合在片上系统(SoC)架构中。
在可编程设备(诸如在图6和图7中描绘的那些)被用于实现移动设备110或站点120的情况下,可编程设备可以包括或连接至发射器和接收器以用于与移动设备110或站点120进行无线通信,并且在站点120的情况下,可以包括或连接至用于安装天线的塔或其他结构以用于与移动设备110进行通信。这类发射器、接收器、和塔在本领域是已知的,并且此处的进一步描述对于本领域技术人员来说不是必要的。
程序指令可以用于使得通用或专用处理系统(诸如在图6和图7中展示的指令),用指令对该通用或专用处理系统进行编程以便执行在此描述的的操作。可替代地,这些操作可以由包含用于执行这些操作的硬连线逻辑的特定硬件部件、或者由编程计算机部件和自定义硬件部件的任何组合来执行。在此描述的方法可以被提供为计算机程序产品,该计算机程序产品可以包括具有存储在其上的多条指令的机器可读介质,这些指令当被执行时使得处理系统或其他电子设备执行所述方法。在此使用的术语“机器可读介质”应该包括能够对由机器执行的指令序列进行存储和编码的任何介质,并且所述指令使得机器执行在此描述的方法中的任何一种方法。而且,“机器可读介质”可以被实现为一个或多个物理对象。从而,术语“机器可读介质”应该包括但不限于有形的、非瞬态存储器,诸如固态存储器、光盘和磁盘。而且,在采取动作或导致结果时,提到一种形式或另一种形式(例如,程序、流程、过程、应用、模块、逻辑等等)的软件在本领域是常见的。这类表达仅仅是陈述由处理系统执行软件使得处理器执行动作或产生结果的速记方式。
下面的示例涉及进一步的实施例。
示例1是一种在其上存储有指令的机器可读介质,所述指令包括当被执行时使得可编程设备进行以下各项的指令:获得与所述可编程设备的位置相对应的地理定位数据;向地理定位站点发送所述地理定位数据以及第一签名数据;从所述地理定位站点接收第二签名数据,所述第二签名数据对应于所述地理定位数据和所述第一签名数据;以及存储所述第二签名数据。
示例2包括示例1的示例所述的主题,其中,当被执行时使得所述可编程设备发送所述地理定位数据的所述指令包括:当被执行时使得所述可编程设备向所述地理定位站点发送与所述可编程设备相对应的地理定位数据集合以及所述第一签名数据的指令。
示例3包括示例1至示例2中任一项所述的主题,其中,当被执行时使得所述可编程设备发送所述地理定位数据的所述指令进一步包括:当被执行时使得所述可编程设备向所述地理定位站点发送与所述可编程设备相对应的标识数据的指令。
示例4包括示例1至示例3中任一项所述的主题,其中,所述第一签名数据是指示所述地理定位数据包括初始地理定位数据的预定值。
示例5包括示例1至示例4中任一项所述的主题,其中,所述指令进一步包括:当被执行时使得所述可编程设备传输所述地理定位数据、所述第一签名数据、以及所述第二签名数据以用于对所述地理定位数据进行验证的指令。
示例6包括示例1至示例5中任一项所述的主题,其中,所述第二签名数据由所述地理定位站点使用所述地理定位站点的密码密钥进行签名。
示例7包括示例1至示例6中任一项所述的主题,其中,当被执行时使得所述可编程设备存储所述第二签名数据的所述指令包括:当被执行时使得所述可编程设备将所述第二签名数据存储在包括所述第一签名数据的签名数据集合中的指令。
示例8包括示例1至示例7中任一项所述的示例的主题,其中,当被执行时使得所述可编程设备获得与所述可编程设备的位置相对应的地理定位数据的所述指令包括:当被执行时使得所述可编程设备请求来自所述地理定位站点的所述地理定位数据的指令。
示例9包括示例1至示例8中任一项所述的示例的主题,其中,当被执行时使得所述可编程设备向地理定位站点发送所述地理定位数据以及所述第一签名数据的所述指令包括当被执行时使得所述可编程设备进行以下各项的指令:计算与所述地理定位数据和所述第一签名数据相对应的散列值;以及向所述地理定位站点发送所述散列值。
示例10是一种地理定位数据提供方站点,包括:处理元件;存储器,所述存储器耦合至所述处理元件,在所述存储器上存储有指令,所述指令当被执行时使得所述处理元件:从移动设备接收包括移动设备标识符、与所述移动设备相对应的地理定位数据、以及第一签名的数据;计算所述移动设备标识符、所述地理定位数据、以及所述第一签名的第二签名;以及向所述移动设备传输所述第二签名。
示例11包括示例10所述的主题,其中,所述指令进一步包括当被执行时使得所述处理元件进行以下各项的指令:计算与所述移动设备相对应的地理定位数据;以及向所述移动设备发送所述地理定位数据。
示例12包括示例10至示例11中任一项所述的主题,其中,当被执行时使得所述处理元件计算所述第二签名的所述指令包括:当被执行时使得所述处理元件使用私人密码密钥来计算所述第二签名的指令,所述私人密码密钥对应于公共密码密钥。
示例13包括示例10至示例12中任一项所述的主题,其中,从所述移动设备接收的所述数据包括散列、与所述移动设备相对应的所述地理定位数据、以及所述第一签名,所述散列由所述移动设备标识符生成。
示例14是一种方法,包括:接收对与移动设备相对应的第一地理定位数据进行验证的请求;接收与所述第一地理定位数据相对应的第一签名;验证所述第一签名,从所述第一签名中提取已签名的地理定位数据以及第二签名,所述第二签名对应于与所述移动设备相对应的第二地理定位数据;以及将所述已签名的地理定位数据与所述第一地理定位数据进行比较。
示例15包括示例14所述的主题,进一步包括:重复所述验证和比较,直到所述第二签名包括预定的初始签名。
示例16包括示例14至示例15中任一项所述的主题,进一步包括:提供所述已签名的地理定位数据与所述第一地理定位数据不匹配的指示。
示例17包括示例14至示例16中任一项所述的主题,其中,所述方法由所述移动设备来执行。
示例18包括示例14至示例17中任一项所述的主题,其中,所述方法由可访问所述第一地理定位数据与所述第一签名的远程服务器来执行。
示例19包括示例14至示例18中任一项所述的主题,其中,所述已签名的地理定位数据包括与所述移动设备相对应的标识符。
示例20包括示例14至示例19中任一项所述的主题,其中,所述已签名的地理定位数据包括所述移动设备的地理定位数据以及地理定位提供方站点的地理定位数据。
示例21是一种移动设备,包括:用于向地理定位站点发送地理定位数据和第一签名数据的装置;用于从所述地理定位站点接收第二签名数据的装置,所述第二签名数据包括所述地理定位数据以及所述第一签名数据的签名;以及用于存储所述第二签名数据的装置。
示例22包括示例21所述的主题,进一步包括:用于传输所述地理定位数据、所述第一签名数据、以及所述第二签名数据以用于对所述地理定位数据进行验证的装置。
示例23包括示例21至示例22中任一项所述的主题,进一步包括:用于计算与所述地理定位数据和所述第一签名数据相对应的散列值并且向所述地理定位站点发送所述散列值的装置。
示例24是一种移动设备,包括:处理元件;以及耦合至所述处理元件的存储器,在所述存储器上存储有指令,所述指令当被执行时使得处理元件:获得与所述移动设备的位置相对应的地理定位数据;向地理定位站点发送所述地理定位数据以及第一签名数据;从所述地理定位站点接收第二签名数据,所述第二签名数据对应于所述地理定位数据和所述第一签名数据;以及存储所述第二签名数据。
示例25包括示例24所述的主题,其中,当被执行时使得所述处理元件发送所述地理定位数据的所述指令包括:当被执行时使得所述处理元件向所述地理定位站点发送与所述处理元件相对应的地理定位数据集合以及所述第一签名数据的指令。
示例26包括示例24至示例25中任一项所述的主题,其中,当被执行时使得所述处理元件发送所述地理定位数据的所述指令进一步包括:当被执行时使得所述处理元件向所述地理定位站点发送与所述处理元件相对应的标识数据的指令。
示例27包括示例24至示例26中任一项所述的主题,其中,所述第一签名数据是指示所述地理定位数据包括初始地理定位数据的预定值。
示例28包括示例24至示例27中任一项所述的主题,其中,所述指令进一步包括当被执行时使得所述处理元件传输所述地理定位数据、所述第一签名数据、以及所述第二签名数据以用于对所述地理定位数据进行验证的指令。
示例29包括示例24至示例28中任一项所述的主题,其中,所述第二签名数据由所述地理定位站点使用所述地理定位站点的密码密钥进行签名。
示例30包括示例24至示例29中任一项所述的主题,其中,当被执行时使得所述处理元件存储所述第二签名数据的所述指令包括:当被执行时使得所述处理元件将所述第二签名数据存储在包括所述第一签名数据的签名数据集合中的指令。
示例31包括示例24至示例30中任一项所述的示例的主题,其中,当被执行时使得所述处理元件获得与所述处理元件的位置相对应的地理定位数据的所述指令包括:当被执行时使得所述处理元件请求来自所述地理定位站点的所述地理定位数据的指令。
示例32包括示例24至示例31中任一项所述的主题,其中,当被执行时使得所述处理元件向地理定位站点发送所述地理定位数据以及所述第一签名数据的所述指令包括当被执行时使得所述处理元件进行以下各项的指令:计算与所述地理定位数据和所述第一签名数据相对应的散列值;以及向所述地理定位站点发送所述散列值。
应理解的是,以上说明旨在是说明性的,而非限制性的。例如,上述实施例可以彼此组合地使用。在回顾以上说明时,许多其他实施例对于本领域技术人员而言将是明显的。因此,本发明的范围应该参照所附权利要求来确定,连同这些权利要求有权获得的等效物的全部范围。
Claims (20)
1.一种移动设备,包括:
至少一个处理器;以及
存储器,所述存储器与所述至少一个处理器通信,所述存储器包括指令,所述指令当被执行时使得所述至少一个处理器:
从所述移动设备获得移动设备标识符、与所述移动设备的位置相对应的地理定位数据、以及先前密码签名的链,所述先前密码签名中的相应的先前密码签名与所述移动设备的先前位置相对应;
基于(a)从所述移动设备获得的地理定位数据、(b)与地理定位数据提供方站点的当前位置相对应的地理定位数据、以及(c)所述先前密码签名的链来计算密码签名;
向所述移动设备传输所述密码签名,所述地理定位数据从所述移动设备获得,所述地理定位数据与所述地理定位数据提供方站点的当前位置对应,所述地理定位数据包括地理定位坐标系中的加时间戳的二维坐标或三位坐标中的至少一者。
2.如权利要求1所述的移动设备,其中,所述至少一个处理器用于:向所述地理定位数据提供方站点发送与所述移动设备相对应的地理定位数据集合以及所述先前密码签名中的第一先前密码签名。
3.如权利要求1所述的移动设备,其中,所述至少一个处理器用于:向所述地理定位数据提供方站点发送与所述移动设备相对应的标识数据。
4.如权利要求1所述的移动设备,其中,与所述当前位置相对应的地理定位数据包括初始地理定位数据。
5.如权利要求1所述的移动设备,其中,所述至少一个处理器用于:传输所述地理定位数据、所述密码签名中的第一密码签名、以及所述密码签名,以用于对从所述移动设备获得的地理定位数据进行验证。
6.如权利要求1至5中任一项所述的移动设备,其中,所述先前密码签名的链由所述地理定位数据提供方站点使用所述地理定位数据提供方站点的密码密钥进行签名。
7.如权利要求1至5中任一项所述的移动设备,其中,所述至少一个处理器用于:从所述地理定位数据提供方站点请求与所述地理定位数据提供方站点的所述当前位置相对应的地理定位数据。
8.如权利要求1至5中任一项所述的移动设备,其中,所述至少一个处理器用于:
计算与所述地理定位数据和所述先前密码签名的链相对应的散列值;以及
向所述地理定位数据提供方站点发送所述散列值。
9.一种地理定位数据提供方站点,包括:
至少一个处理器;
存储器,所述存储器与所述至少一个处理器通信,所述存储器包括指令,所述指令当被执行时使得所述至少一个处理器:
从移动设备获得数据,所述数据包括移动设备标识符、与所述移动设备相对应的地理定位数据、以及先前密码签名的链,所述先前密码签名中的相应的先前密码签名与所述移动设备的先前位置相对应;
基于(a)从所述移动设备获得的地理定位数据、(b)与所述地理定位数据提供方站点的当前位置相对应的地理定位数据、以及(c)所述先前密码签名的链来计算密码签名;以及
向所述移动设备传输所述密码签名,从所述移动设备获得的地理定位数据以及与所述地理定位数据提供方站点的所述当前位置对应的地理定位数据包括地理定位坐标系中的加时间戳的二维坐标或三位坐标中的至少一者。
10.如权利要求9所述的地理定位数据提供方站点,其中,所述至少一个处理器用于:使用私人密码密钥来计算所述密码签名,所述私人密码密钥对应于所述地理定位数据提供方站点的公共密码密钥。
11.如权利要求9所述的地理定位数据提供方站点,其中,从所述移动设备获得的数据包括散列,所述散列从(a)所述移动设备标识符、(b)与所述移动设备相对应的地理定位数据、以及(c)所述先前密码签名的链生成。
12.一种用于移动设备的方法,包括:
接收对与所述移动设备的位置相对应的第一地理定位数据进行验证的请求;
获得移动标识符、与所述第一地理定位数据相对应的先前密码签名的链,所述先前密码签名中的相应密码签名与所述移动设备的先前位置相对应;
基于(a)从所述移动设备获得的地理定位数据、(b)与地理定位数据提供方站点的当前位置相对应的地理定位数据、以及(c)所述先前密码签名的链来计算密码签名;以及
将所述先前密码签名的链传输到所述移动设备,与所述地理定位数据提供方站点的当前位置相对应的地理定位数据包括地理定位坐标系中的加时间戳的二维坐标或三位坐标中的至少一者。
13.如权利要求12所述的方法,进一步包括:提供与所述地理定位数据提供方站点的当前位置相对应的地理定位数据与所述移动设备的当前位置不匹配的指示。
14.如权利要求12或13所述的方法,其中,所述方法由所述移动设备来执行。
15.如权利要求12或13所述的方法,其中,所述方法由远程服务器执行,所述远程服务器具有对所述第一地理定位数据以及所述先前密码签名中的第一先前密码签名的访问权。
16.如权利要求12或13所述的方法,其中,从所述移动设备获得的地理定位数据包括与所述移动设备相对应的标识符。
17.如权利要求12或13所述的方法,其中,从所述移动设备获得的地理定位数据包括所述移动设备的地理定位数据以及地理定位数据提供方站点的地理定位数据。
18.一种移动设备,包括:
用于向地理定位数据提供方站点发送与可编程设备的位置相对应的地理定位数据和第一密码签名数据的装置,所述第一密码签名包括先前密码签名的链,所述先前密码签名的链中的相应的先前密码签名与所述可编程设备的先前位置相对应;
用于从所述地理定位数据提供方站点获得第二密码签名数据的装置,所述第二密码签名数据包括以下各项的密码签名:(a)与所述可编程设备相对应的标识符、(b)从所述可编程设备获得的地理定位数据、以及(c)与所述地理定位数据提供方站点的当前位置相对应的地理定位数据;以及
用于通过将所述第二密码签名添加到所述先前密码签名的链来存储所述第二密码签名的装置,所述地理定位数据包括地理定位坐标系中的加时间戳的二维坐标或三维坐标。
19.如权利要求18所述的移动设备,其中,
用于发送的装置用于传输所述地理定位数据、所述第一密码签名、以及所述第二密码签名,以用于对所述地理定位数据进行验证。
20.如权利要求18所述的移动设备,进一步包括:
用于计算与所述地理定位数据和所述第一密码签名相对应的散列值的装置,用于发送的装置用于向所述地理定位数据提供方站点发送所述散列值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/230,269 | 2014-03-31 | ||
US14/230,269 US10097951B2 (en) | 2014-03-31 | 2014-03-31 | Provable geo-location |
PCT/US2015/022066 WO2015153175A1 (en) | 2014-03-31 | 2015-03-23 | Provable geo-location |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106062750A CN106062750A (zh) | 2016-10-26 |
CN106062750B true CN106062750B (zh) | 2020-03-03 |
Family
ID=54192318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580011362.3A Active CN106062750B (zh) | 2014-03-31 | 2015-03-23 | 可证明的地理定位 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10097951B2 (zh) |
EP (1) | EP3127016B1 (zh) |
JP (1) | JP2017508379A (zh) |
KR (1) | KR101806061B1 (zh) |
CN (1) | CN106062750B (zh) |
WO (1) | WO2015153175A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6297722B2 (ja) * | 2014-06-13 | 2018-03-20 | フィリップス ライティング ホールディング ビー ヴィ | 無線ノードのネットワークに基づく位置特定 |
US9883479B2 (en) * | 2015-10-28 | 2018-01-30 | Google Llc | Generating and publishing validated location information |
JP2017151883A (ja) * | 2016-02-26 | 2017-08-31 | レノボ・シンガポール・プライベート・リミテッド | 情報処理システム、情報処理装置、本人確認装置、識別情報処理方法、及びプログラム |
CN106534194A (zh) * | 2016-12-16 | 2017-03-22 | 湖南国科微电子股份有限公司 | 北斗芯片数据的安全传输方法、装置及终端 |
CN108668216B (zh) * | 2017-03-27 | 2020-07-31 | 中国移动通信有限公司研究院 | 一种终端位置定位的防伪方法、防伪终端及系统 |
CN108966318A (zh) * | 2017-05-17 | 2018-12-07 | 联发科技(新加坡)私人有限公司 | 通信装置及选网方法 |
US10616857B1 (en) * | 2018-03-26 | 2020-04-07 | Lynq Technologies, Inc. | Determining a set of access points in response to a geo-location request |
CN110351337B (zh) * | 2019-06-10 | 2020-09-11 | 武汉特斯联智能工程有限公司 | 自组织物联的旅游团组信息处理、智能终端、后台服务器及系统 |
DE102019210624A1 (de) * | 2019-07-18 | 2021-01-21 | Robert Bosch Gmbh | Verfahren zum Erzeugen eines Herkunftsnachweises für Kartendaten und eine Anordnung zum Durchführen des Verfahrens |
WO2021104651A1 (en) * | 2019-11-29 | 2021-06-03 | Huawei Technologies Co., Ltd. | Devices and methods providing contextualized identity for privacy-preserving communications |
CN111083693A (zh) * | 2019-12-12 | 2020-04-28 | 泰斗微电子科技有限公司 | 定位数据处理方法、定位终端和定位服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101341373A (zh) * | 2005-09-19 | 2009-01-07 | 尼治企业 | 用于识别地理位置的方法和系统 |
TW201037275A (en) * | 2009-04-09 | 2010-10-16 | Ind Tech Res Inst | Judging method and judging system for deviation of dynamic position |
CN103413220A (zh) * | 2013-08-08 | 2013-11-27 | 天地融科技股份有限公司 | 一种信息输出方法、装置及信息处理方法、系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9134398B2 (en) | 1996-09-09 | 2015-09-15 | Tracbeam Llc | Wireless location using network centric location estimators |
JP2003284113A (ja) * | 2002-03-22 | 2003-10-03 | Casio Comput Co Ltd | 位置証明方法、位置証明サービスシステム及びネットワークシステム |
JP2003348078A (ja) * | 2002-05-27 | 2003-12-05 | Hitachi Ltd | 位置認証システムおよびその方法 |
US7136747B2 (en) * | 2005-01-08 | 2006-11-14 | Stephen Raney | Method for GPS carpool rendezvous tracking and personal safety verification |
JP4898156B2 (ja) | 2005-06-23 | 2012-03-14 | 株式会社リコー | 電子署名生成システム、スキャナ装置、電子署名生成方法、電子署名生成プログラム及び記録媒体 |
US7715587B2 (en) | 2005-10-28 | 2010-05-11 | Lawrence N. Ginsberg | Correlation-based system for watermarking continuous digital media |
JP2007195068A (ja) | 2006-01-20 | 2007-08-02 | Sharp Corp | 画像出力システム、画像出力装置、及び記憶装置 |
WO2008010287A1 (fr) | 2006-07-20 | 2008-01-24 | Panasonic Corporation | Dispositif, système et procédé de vérification de position |
KR20100008326A (ko) * | 2008-07-15 | 2010-01-25 | 엘지전자 주식회사 | 위치 비밀성 지원 방법 |
US8195817B2 (en) | 2009-02-11 | 2012-06-05 | Sprint Communications Company L.P. | Authentication of the geographic location of wireless communication devices |
US8213907B2 (en) * | 2009-07-08 | 2012-07-03 | Uniloc Luxembourg S. A. | System and method for secured mobile communication |
US8531334B2 (en) | 2009-11-06 | 2013-09-10 | Microsoft Corporation | Location proofs |
US20110130114A1 (en) * | 2009-11-27 | 2011-06-02 | Wesley John Boudville | Safety device for enhanced pedestrian protection |
EP2397868A1 (en) * | 2010-06-15 | 2011-12-21 | The European Union, represented by the European Commission | Method of providing an authenticable time-and-location indication |
EA201300061A1 (ru) | 2010-06-30 | 2013-05-30 | Антонио Пуханте Куадрупани | Способ, устройство и сеть для подтверждения положения навигационного приемника |
US9224000B1 (en) * | 2011-06-14 | 2015-12-29 | Ionic Security, Inc. | Systems and methods for providing information security using context-based keys |
US9898728B2 (en) | 2011-12-19 | 2018-02-20 | Gfa Worldwide, Inc. | System and method for one-time payment authorization in a portable communication device |
US8862882B2 (en) * | 2012-06-29 | 2014-10-14 | Intel Corporation | Systems and methods for authenticating devices by adding secure features to Wi-Fi tags |
US9083527B1 (en) * | 2012-08-31 | 2015-07-14 | Symantec Corporation | Using mobile data to establish a shared secret in second-factor authentication |
-
2014
- 2014-03-31 US US14/230,269 patent/US10097951B2/en active Active
-
2015
- 2015-03-23 KR KR1020167023824A patent/KR101806061B1/ko active IP Right Grant
- 2015-03-23 WO PCT/US2015/022066 patent/WO2015153175A1/en active Application Filing
- 2015-03-23 CN CN201580011362.3A patent/CN106062750B/zh active Active
- 2015-03-23 EP EP15772946.8A patent/EP3127016B1/en active Active
- 2015-03-23 JP JP2016552501A patent/JP2017508379A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101341373A (zh) * | 2005-09-19 | 2009-01-07 | 尼治企业 | 用于识别地理位置的方法和系统 |
TW201037275A (en) * | 2009-04-09 | 2010-10-16 | Ind Tech Res Inst | Judging method and judging system for deviation of dynamic position |
CN103413220A (zh) * | 2013-08-08 | 2013-11-27 | 天地融科技股份有限公司 | 一种信息输出方法、装置及信息处理方法、系统 |
Non-Patent Citations (1)
Title |
---|
Where Have You Been? Secure Location Provenance for Mobile Devices;Ragib Hasan等;《https://arxiv.org/abs/1107.1821》;20110709;正文第3.1-3.2,4,4.1,4.3-4.4节 * |
Also Published As
Publication number | Publication date |
---|---|
KR101806061B1 (ko) | 2017-12-07 |
EP3127016A4 (en) | 2017-11-15 |
JP2017508379A (ja) | 2017-03-23 |
KR20160114690A (ko) | 2016-10-05 |
EP3127016B1 (en) | 2020-12-16 |
US10097951B2 (en) | 2018-10-09 |
EP3127016A1 (en) | 2017-02-08 |
US20150281888A1 (en) | 2015-10-01 |
WO2015153175A1 (en) | 2015-10-08 |
CN106062750A (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106062750B (zh) | 可证明的地理定位 | |
US10439820B2 (en) | Method and apparatus for secure access to a mobile edge computing gateway device based on a subscriber location fingerprint | |
US11438168B2 (en) | Authentication token request with referred application instance public key | |
US10158492B2 (en) | Blockchain-supported device location verification with digital signatures | |
CN110463159B (zh) | 安全距离确定协议 | |
CN110678770B (zh) | 定位信息验证 | |
US9009796B2 (en) | Spot beam based authentication | |
US20200382904A1 (en) | Peer-to-peer geolocation system | |
CN109688107B (zh) | 基于完整性审计与通信时延的云数据安全定位方法 | |
US20170195298A1 (en) | Method and System for Determining a Compromise Risk Associated with a Unique Device Identifier | |
JP6538644B2 (ja) | ルータの物理的位置に基づくセキュアな経路制御 | |
US9473510B2 (en) | System and method for location verification | |
US20160197729A1 (en) | Location aware cryptography | |
US9208299B2 (en) | Secure user authentication with improved one-time-passcode verification | |
US20190199700A1 (en) | System and method for block chain encrypted communication and identification | |
JP6023858B1 (ja) | 計算システム、計算装置、その方法、およびプログラム | |
CN104160673A (zh) | 基于信任度的安全路由 | |
KR101818601B1 (ko) | 근거리 무선 통신 기반의 카드를 이용하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버 | |
CN110808953B (zh) | 一种具备位置感知的云数据可验证备份方法 | |
US8800027B1 (en) | Authentication using privacy protected personally identifiable information | |
US10069829B1 (en) | Multi-party secure global attestation | |
CN113596015A (zh) | 基于雾计算的群智感知中支持隐私保护的身份认证方法 | |
US20230370269A1 (en) | Distributed ledger platform for electronic voting and/or polling | |
Sudarsono et al. | An Implementation of Secure Monitoring System to Track Member in A Tour Group Using Group Signature | |
CN116743387A (zh) | 一种基于区块链的车辆雾服务安全通信系统、方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: McAfee Inc. Address before: California, USA Applicant before: McAfee Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |