CN113366799A - 用于确定或验证位置的计算机实现的系统和方法 - Google Patents

用于确定或验证位置的计算机实现的系统和方法 Download PDF

Info

Publication number
CN113366799A
CN113366799A CN202080011930.0A CN202080011930A CN113366799A CN 113366799 A CN113366799 A CN 113366799A CN 202080011930 A CN202080011930 A CN 202080011930A CN 113366799 A CN113366799 A CN 113366799A
Authority
CN
China
Prior art keywords
node
public key
signature
nomad
broadcaster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080011930.0A
Other languages
English (en)
Inventor
C·S·赖特
丹尼尔·约瑟夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of CN113366799A publication Critical patent/CN113366799A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

提供了一种计算机实现的方法,该计算机实现的方法包括以下步骤:广播对位置数据的请求;从多个节点接收位置数据,所述位置数据包括距离和对应于该节点附近区域的公钥;选择所述多个节点的集合共用的公共公钥;以及请求所述节点的集合参与门限秘密共享以获得与所述公共公钥相关联的加密签名。所述方法利用区块链进行通信和验证数据,并且包括使用获得的所述加密签名来转移对交易的控制权。

Description

用于确定或验证位置的计算机实现的系统和方法
技术领域
本公开总体涉及用于确定或验证(认证)用户、设备、对象或实体的位置的方法,并且更具体地涉及使用门限秘密共享来确定/鉴定位置。本公开特别适合于但不限于与诸如比特币区块链这样的区块链一起使用。
背景技术
在本文中,“区块链”一词涵盖所有形式的基于计算机的电子分布式分类账。这些分类账包括基于共识的区块链和交易链技术、许可和非许可的分类账、共享分类账,及其变体。虽然已提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币分类账。为了方便和说明的目的,在本文中可能会提及比特币。但应注意,本公开不限于与落入本公开范围内的比特币区块链以及替代的区块链实施方案和协议一起使用。“用户”一词在本文中可指人员或基于处理器的资源。“比特币”一词旨在包括作为比特币协议的变体或源自比特币协议的任何协议。
区块链是一种点对点的电子分类账,其实现为基于计算机的去中心化的分布式系统,所述系统由区块组成,而区块又由交易组成。每个交易都是一种数据结构,所述数据结构对所述区块链系统参与者之间的数字资产控制权的转移进行编码,并且包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,因此区块被链接在一起,以创建自所述区块链创建以来写入其中的所有交易的永久性的不可更改的记录。交易包括嵌入到其输入和输出中的小程序,称为脚本,这些脚本指定如何以及由谁访问所述交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
虽然区块链技术最广为人知的是用于加密货币实现,但数字企业家已经开始探索如何利用比特币所基于的加密安全系统和可以存储在区块链上的数据来实现新系统。如果区块链可以用于加密货币领域之外的自动任务和过程,则会非常有利。这类解决方案将能够发挥区块链的优势(例如,永久及防篡改的事件记录、分布式处理等),同时其应用将更加广泛。
全球定位系统(GPS)是一种基于卫星的导航系统,为地球上的接收器提供地理位置和时间信息。它归美国政府所有,由美国空军运营。GPS由至少24颗卫星组成,是美国国防部的一项举措,但这些卫星在20世纪80年代就已供民用。GPS卫星以精确的轨道每天环绕地球两圈。每颗卫星都发射独特的信号和轨道参数,使GPS设备能够解码并计算出卫星的精确位置。GPS接收器使用此信息和三边测量来计算用户的确切位置。本质上,GPS接收器通过接收发射信号所需的时间来测量与每颗卫星的距离。通过测量与更多卫星的距离,接收器可以确定用户的位置并以电子方式显示该位置(https://www8.garmin.com/aboutGPS/)
尽管GPS具有实用性并成功融入现代产品和生活,但它确实有一些局限性。除了因天气状况和信号被摩天大楼和其他建筑物阻挡而引起的问题和中断之外,GPS(至少民用版本)并没有原产地证明或认证功能。这导致系统容易受到欺诈、欺骗、干扰和网络攻击。
尽管GPS取得了成功,但它并不提供对其位置数据的认证,这意味着对于需要用户位置的服务,用户可以“输入”位置数据,而无需实际从GPS卫星系统获得数据。本质上,这意味着用户可以轻松地声称自己在某个位置,提供GPS坐标,尽管用户不在提出的位置。
FOAM是一种位置证明协议,旨在为集中式消费者映射技术和服务(诸如GPS)以及服务提供商(诸如Google和HERE)提供替代方案。构建者将FOAM描述为一种协议,它“授权无线电信标的无许可和自主网络,其可以通过时间同步提供独立于GPS等外部集中源的安全位置服务”(https://foam.space/)。FOAM的位置证明利用区域锚点,区域锚点是基于陆地的“节点”,他们利用无线电技术执行时间同步,并通过三边测量最终确定用户的位置。然而,虽然被描述为解决GPS的某些限制(诸如欺骗)的解决方案,但在所描述的协议中并没有明显的方法来验证用户提供的位置是否合法地来自FOAM的区域锚点。
发明内容
因此,期望提供一种认证位置的方法。现在已设计出这种改进的解决方案。因此,根据本公开,提供了一种如所附权利要求中所限定的方法。
根据本公开,可以提供一种计算机实现的方法。该计算机实现的方法可以被描述为一种用于确定和/或认证位置的方法。该方法可以包括以下步骤:
广播对位置数据的请求;
从多个节点中的每个节点接收相应位置数据,该位置数据包括至少一个公钥,对应于与该节点相邻的相应的至少一个区域;
选择多个节点的集合共用的公共公钥;以及
请求节点的集合参与门限秘密共享(阈值密钥分享)以获得与公共公钥相关联的加密签名。
该请求可由设备或其用户广播。该请求可在设备的广播范围内或在用户选择的范围内广播到多个固定节点。
该方法的优势在于,该方法的用户可以确定其位置并且获得确认该位置是真实的加密签名,而无需用户或该方法的任何其他参与者确定任何加密秘密或私钥,并且通过使用门限秘密共享来实现认证中所需的安全和信任级别。
每个位置数据可包括距离属性,并且该方法还可包括基于距离属性对公钥进行排序的步骤,并且其中基于排序的结果执行选择多个节点的集合共用的公共公钥的步骤。
距离属性可包括与相应节点的距离。排序可包括按所述距离的顺序对公钥进行排序。
此操作的优势在于,提高了确定准确位置的可能性。
该广播对位置数据的请求的步骤可包括广播用于识别广播者的标识符。
此操作的优势在于,能够验证用户的身份,从而提高方法的安全性。
该接收位置数据的步骤可包括从多个节点中的每个节点接收与相应的至少一个节点相关联的公钥。
这使用户能够更容易识别他们从多个节点所接收的任何信息的来源,并且如果需要,使用户能够加密与特定节点的任何进一步通信。
该请求节点集合参与门限秘密共享以获得与公共公钥相关联的加密签名的步骤可包括提供待签名数据。该待签名数据可包括:消息;消息的哈希值;以及用于识别广播者的标识符。消息本身可以是消息的哈希值和标识符的级联。
此操作的优势在于,将待签名数据和签名本身链接到特定用户,使得能够对用户的身份执行后续检查,从而提高方法的安全性。
该方法还可包括以下步骤:从至少一个节点接收与节点的至少公钥相关联的相应节点签名;验证至少一个节点签名;以及基于所述验证的结果确定是否请求节点参与门限秘密共享。
这使用户能够通过使用户能够检测到欺骗尝试来确定是否信任特定节点,从而提高了用户的安全性。
节点签名可以与消息、消息的哈希值、用于识别广播者的标识符、位置数据和节点公钥中的任一者相关联。
该方法还可以包括向至少一个节点发送加密秘密的份额部分的步骤。
该方法还可以包括从至少一个节点向至少一个另外的节点中继用相应的至少一个另外的节点的公钥加密的函数值的步骤。
该方法还可以包括以下步骤:从多个节点接收一中间加密值的相应的多个部分;将所述部分合并成中间值;以及将中间值发送到至少一个另外的节点。
该方法还可以包括以下步骤:从多个节点接收加密签名的相应的多个部分;以及将所述多个部分合并成加密签名的组成部分。
这些步骤中的每一个都使用户参与可能已在节点之间执行的通信,此操作的优势在于增加用于确认用户和节点的相对位置的机会数以及更新他们之间的通信的内容,以及使用户能够检查签名计算的中间步骤的结果。
该方法还可以包括通过向区块链交易提供加密签名来赎回区块链交易的步骤。区块链交易可以包括用于识别请求的广播者(即用户)的标识符。
此操作的优势在于,考虑到区块链提供了永久、公开和不可变的记录,使任何相关方能够验证用户的身份。
除此之外或另选地,根据本公开,可以提供一种计算机实现的方法,该计算机实现的方法包括以下步骤:
接收对位置数据的请求;
确定与请求相关联的距离属性;
发送位置数据,该位置数据包括距离属性和至少一个公钥,对应于相应的至少一个相邻区域;
接收参与门限秘密共享以提供与公共公钥相关联的加密签名的请求;以及
在门限秘密共享中与多个节点协作以获得加密签名。
对位置数据的请求可能源于由试图证明其位置的用户操作的设备,该用户可被称为nomad。位置数据本身可以被发送到nomad以供nomad的设备接收。参与秘密共享的请求可能源于nomad的设备。一旦获得加密签名,就可以将其发送给nomad。
此操作的优势在于,确定对位置数据的请求的广播者的真实位置,而无需广播者或该方法的任何其他参与者确定任何加密秘密或私钥,并且通过使用门限秘密共享来实现认证中所需的安全和信任级别。
该方法还可以包括确定另一个距离属性的步骤。该确定距离属性的步骤可以包括飞行时间测量。该另一个距离属性可以是该方法的用户(即第一节点)与另一用户(即第二节点)之间的距离。
此操作的优势在于,使用户能够确定使用所述距离属性诸如三边测量计算执行的任何后续计算的准确性,并且另一个优势在于,使用户能够对照先前获得的属性检查另一个距离属性以验证其他用户是真实的。
该接收对位置数据的请求的步骤可以包括接收用于请求的广播者的标识符。
此操作的优势在于,使用户能够诸如通过使用户能够将标识符与表中的条目、区块链的未使用交易输出数据库中的交易或区块链上的交易进行比较来验证广播者的身份。
该接收参与门限秘密共享以获得与公共公钥相关联的加密签名的请求的步骤可以包括接收待签名数据。该待签名数据可包括:消息;消息的哈希值;以及用于识别广播者的标识符。
此操作的优势在于,将待签名数据和签名本身链接到特定广播者,使得能够对广播者的身份执行后续检查,从而提高方法的安全性。
该发送位置数据的步骤还可以包括发送节点公钥。节点公钥可以与执行该方法的用户(即节点)相关联。
此操作的优势在于,识别出发送位置数据的用户,特别是标识符提供一种加密后续通信的手段,后续通信只能由预期接收人节点译解。
该方法还可以包括向广播者发送至少与节点的公钥相关联的节点签名的步骤。
这使广播者能够验证来自用户的通信,从而提高方法的安全性。
节点签名还可以与消息、消息的哈希值、用于识别广播者的标识符、位置数据和节点公钥中的任一者相关联。
此操作的优势在于,扩展验证以验证任何上述数据。
该方法还可以包括向广播者发送加密秘密的份额部分的步骤。
该方法还可以包括向广播者发送根据与至少一个节点相关联的相应值计算出的至少一个函数值的步骤。
该方法还可以包括向广播者发送中间加密值的一部分并接收该中间值的步骤。
该方法还可以包括向广播者发送加密签名的一部分的步骤。
这些步骤中的每一个都使广播者参与可能已在节点之间执行的通信,此操作的优势在于增加用于确认广播者和用户的相对位置的机会数以及更新他们之间的通信内容,以及使广播者能够检查签名计算的中间步骤的结果。
该方法还可以包括以下步骤:接收与多个节点相关联的另一个位置数据;执行三边测量以确定广播者的计算位置;将所述计算位置与至少位置数据进行比较;以及基于所述比较的结果确定是否参与门限秘密共享。
这使得用户能够在广播者移出用户的期望范围之外的情况下拒绝参与或停止参与该方法。
在以上所有步骤中,广播者可以被理解为nomad。
除此之外或另选地,根据本公开,可以提供一种计算机实现的方法,该计算机实现的方法包括:
处理器;以及
存储器,该存储器包括可执行指令,所述指令被处理器执行时,使系统执行本文描述的计算机实现的方法的任何实施例。
除此之外或另选地,根据本公开,可以提供一种非暂时性计算机可读存储介质,其上存储有可执行指令,计算机系统的处理器执行所述可执行指令时,使得所述计算机系统至少执行本文所述的方法的实施例。
附图说明
本公开的这些方面和其他方面将从本文所述的实施例中变得显而易见,并参考本文所述的实施例进行阐述。现将仅通过举例的方式并参考附图对本公开的实施例进行说明,其中:
图1显示将2D平面分格成分离的六边形的地理单元;
图2是实施例的六角锚的布置的示意图;
图3是实施例的六角锚群的详细示意图;
图4是具有公共六角锚顶点的多个六角锚群的示意图;
图5示出了根据实施例的分配给图4的顶点的密钥份额;
图6示出了从图4和图5的顶点到实施例的六角集中的六角锚的距离;
图7示出了根据实施例的确认顶点位置的图4至图6的六角锚群;
图8示出了给定边长的六边形的两个顶点之间的最大间隔;
图9是一个实施例的多个六角锚的重叠范围的示意图;
图10是展示了实施例的步骤的流程图;
图11示出了根据实施例的用户相对于多个六角锚以及HexKey的排序表;
图12是实施例的多个六角锚的重叠范围的示意图;
图13是实施例的几何结构的示意图;
图14是示出实施例中的六角锚的排序的表格;
图15是实施例中的用户和多个六角锚之间的通信的示意图;
图16是展示了实施例的步骤的流程图;
图17是展示了实施例的步骤的流程图;
图18是展示了实施例的步骤的流程图;
图19是实施例的区块链提交通道的示意图;并且
图20是示出可实现各种实施例的计算环境的示意图。
具体实施方式
在商业中,有些场景中,发送方可能希望限制接收方访问资源或控制交易(诸如比特币交易),除非接收方位于或靠近某个地理位置。可以考虑使用出租车或无人驾驶汽车,司机或汽车不会从乘客那里获得对交易的控制,除非司机将乘客带到乘客需要去的地方。
加密货币及其相关联的脚本语言的出现为在交易中集成高级或复杂条件提供了机会,使交易的控制权能够传递给接收方。在用户位置的情况下,存在这样的危险,即虽然解锁控制的标准可能需要用户位置,但接收方可以很容易输入要求的位置数据而不在该特定位置。“位置数据”是指指定位置的任何信息,诸如请求所述数据的设备的位置。位置数据可以包括距离属性,该距离属性可以包括如接收所述请求的设备所确定的与nomad的距离。
本文描述了一种与用于将地理标准集成到加密货币交易中的地理空间协议相关的系统。该解决方案包括使用由位于预定地理位置的节点产生的门限签名,其中协作产生的数字签名作为用户位置的证明。从这里开始,“节点”是指至少具有处理器和存储器并且能够接收和发射数字信息、执行计算并且优选地能够与区块链交互的电子设备。
比特币在推出时更值得注意的一个方面是它包含脚本语言,该语言使用户可以灵活地创建交易赎回标准。可用的操作码提供了构建标准的能力,从发送公钥的简单性到更复杂的“智能合约”类型条件。
为了将交易成功提交给区块链,发送方必须在接收方交易的输入脚本中包含要求的数据。这包括签名和其他字母数字内容。在某些情况下,可以通过发送方输出脚本内的操作码来评估数据的正确性,然而尽管数据是“正确的”,但脚本中包含的数据是否“合法”还存在额外的问题。
考虑到数据必须正确才能成功执行脚本,在这个背景下,“合法性”涉及是否采取了正确的行动来获取数据以及数据是否从经过验证的来源获取的问题。
先前提及的数据问题的一个示例是基于位置的应用程序,该应用程序可能依赖于坐标或其他空间表示类型数据;可能要求接收方在特定位置才能收到付款。为了收到他们的付款,接收方可以在脚本中提供他们的坐标数据,但知道这些坐标并不一定意味着接收方(也称为nomad)在指定位置。所期望的是证实nomad在指定位置。
本文公开了位置证明认证系统(Proof of Location CErtification System,PLaCES)协议,该协议提供了一种实现比特币交易的nomad地理空间位置认证的方法。nomad位置的认证由比特币兼容的ECDSA数字签名表示,并且所提议的协议被设计为确保(至少以高概率)nomad位于或曾经位于特定位置处或附近以获得签名。门限签名方案(ThresholdSignature Scheme,TSS)用于在该位置上达成令人满意的共识水平。六边形分格平面的六边形的顶点处的锚点相互协作以产生签名,如下文详细描述的。
门限秘密共享(Threshold Secret Sharing,TSS)是一种将私钥划分为密钥份额的密码学机制,其中私钥可以通过至少阈值数量的份额持有者的协作来重构。
PLaCES协议解决了GPS的认证限制,因为该协议的用户能够高度保证地理位置数据来自经过验证的源。
在PLaCES协议内,为了认证他们的位置,nomad获得与该位置相对应的数字签名,更具体地,椭圆曲线上某个点的数字签名。
所期望的是,执行该协议的节点(称为六角锚节点并在下面详细描述)能够验证他们是否获得了正确的秘密份额。对于密钥份额验证,可以采用公开可验证秘密共享(PVSS)方案,该方案允许节点验证自己的份额以及其他节点的份额。
PLaCES协议为区块链/加密货币服务以及其他需要和/或期望认证用户位置的系统提供对nomad位置的认证。nomad是被要求提供其位置的个体,也是该协议的用户。
在PLaCES协议中,通过产生数字签名来实现对nomad位置的认证。当足够数量的参与六角锚(HexAnchors)同意nomad满足某些标准(诸如位置和/或距离条件)时,就会构建此签名。
GPS和FOAM的位置是基于纬度和经度的,而PLaCES协议是为一组商定的离散地理单元(例如,邮政编码)而设计的。PLaCES覆盖的物理区域被细分或分格(tessellate,也称为镶嵌)为这些离散地理单元。“分格(Tessellation,也称为镶嵌)”是“紧密结合在一起的形状排列,尤其是没有间隙或重叠的重复图案的多边形的排列”(https://en.oxforddictionaries.com/definition/tessellation)。每个地理单元优选为正六边形(6边多边形)的形状,尽管其他形状(规则和不规则)是完全可能的。从这里开始,参考六边形地理单元来描述PLaCES。
每个多边形的表面积(或每条边的对应长度)将取决于要求的位置粒度级别、来自六角锚的无线电信号强度、成本和后勤问题的组合。
2维平面中的每个六边形都分配有标识符。每个标识符(出于我们的目的称为六角密钥HexKey)是或代表椭圆曲线(EC)公钥。EC公钥P使得
P=pG
其中G为椭圆曲线上的基点或生成点并且p为私钥。
想要证明其位置的nomad需要获得与其位置相对应的签名,其位置是nomad所在的六边形,并且签名是使用对应六角密钥(HexKey)的私钥创建的签名。
例如,图2中的nomad位于绑定到公钥N=nG的位置。为了让nomad证明他们位于所述位置,nomad必须基于私钥n生成数字签名。
值得注意的是,nomad和其他任何人都没有此私钥,或者实际上是飞机的任何HexKey的任何其他私钥。这提高了协议的安全性,因为没有一个行为者或用户能够生成HexKey签名。
六角锚是位于六边形顶点处的节点的名称。在本文,标号约定
Figure BDA0003189165900000091
是指六角锚,其中A为HexKey,并且i为六边形中的节点位置的索引。需注意,该约定将六边形顶部处的锚点定义为索引i=1,并且索引按顺时针方向递增,如图3所示。
位于六边形的顶点处意味着,除非锚点位于2D平面的外边缘处,否则锚点位于至少三个六边形的顶点处。这三个六边形是靠近或邻近锚点的三个区域,并且被称为锚点的六角集。应当理解,节点被视为靠近或邻近区域诸如六边形,如果没有比该节点更靠近该区域的其他节点。例如,图4示出了位于中心的六角锚的六角集中的三个六边形(A,B,C)。需注意,六角锚可以用三种不同的方式标记,如
Figure BDA0003189165900000101
每个六角锚都具有唯一的ID。这是为了区分六角锚。此唯一ID与
Figure BDA0003189165900000102
标号是分开且隔开的。此唯一ID可以是公钥或比特币地址的形式。
每个锚点在物理上都是静止的。这意味着锚点不会物理移动。虽然事故和恶意行为者可能会试图物理地转移节点,但PLaCES协议采用了减轻和/或识别错位锚点的措施。
每个锚点都有能力向和从在锚点的六角集中找到的至少所有其他锚点诸如以无线电波的形式发送和接收数据。这些无线电信号还将用于确定锚点或nomad之间的距离。
每个锚点都能够经由锚点的无线电收发器或以其他方式与六角集中的其他锚点执行时钟同步。PLaCES为六角锚提供了能够判断到另一六角锚的距离的能力。为了成功完成此操作,每个锚点的时钟是可同步的。
每个锚点都有能力向和从由nomad拥有的专门设计的设备诸如以无线电波的形式发送和接收数据,nomad位于锚点的六角集的任何六边形内。
每个锚点也是区块链网络中的一个节点或者可以访问区块链网络,即每个六角锚都可以访问区块链或至少UTXO集合。
PLaCES认证nomad位置的能力的核心是其使用门限秘密共享(TSS)。TSS涉及将私钥x“划分”为多个密钥份额{xi:i∈[1,n]}。可以仅使用与满足或超过方案的门限相对应的足够数量的密钥份额来重构私钥。在使用Shamir多项式方法的情况下,对于t阶多项式,需要n个密钥份额中的t+1个来确定私钥x。
通过利用足够数量的xi密钥份额,可以基于私钥x产生ECDSA数字签名。在这种情况下,如果多项式的阶数为t,则需要n个密钥份额中的τ=2t+1个来生成与私钥相对应的数字签名。这可以在没有任何参与者透露他们的个人密钥份额的情况下完成。
如先前所提及的,在PLaCES协议中,每个六边形均被分配HexKey(EC公钥)P=pG。对于对应的私钥p,每个六角锚
Figure BDA0003189165900000103
均被分配密钥份额pi。考虑到六角锚是最多三个六边形的顶点,则每个锚点最多可被分配三个不同的密钥份额,每个份额对应于一个不同的六边形。例如,在图5中,六角锚(显示在中心)拥有用于六边形A的密钥份额a3、用于六边形B的密钥份额b5和用于六边形C的密钥份额c1
HexKey的密钥份额的“划分”和/或分配可以通过两种方式完成,如下:
-让“知道私钥x的交易商”创建密钥份额,并将这些密钥份额安全地传达给每个参与者,或
-采用无交易商解决方案,其中每一方都创建自己的密钥份额,并且任何一方都不知道私钥x的值。
在PLaCES协议中,可以使用任意一种密钥份额分配方法,记住下表中指出的每种方法都有其优点和缺点。
Figure BDA0003189165900000111
在基于交易商的选项的情况下,可信监督机关可以将密钥份额分配给,不仅分配给一个六边形的六角锚,而且分配给所有六角锚。另选地,每个六边形都可以有自己的可信机构,该可信机构只为该六边形分配密钥份额。
在使用无交易方选项的情况下,六边形的六角锚协作产生该六边形的私钥的密钥份额。
存在某个设置阶段,在该设置阶段,将六角锚根据分格拓扑置于他们各自的位置。鉴于此定位的物理方面,每个六角锚可能无法准确置于与分格拓扑的顶点相对应的位置。这可能是由于地形、政治或后勤问题。然而,六角锚与其所提议位置的微小偏差不会影响PLaCES协议的有效性。
一旦知道六角锚的最终位置,每个六角锚
Figure BDA0003189165900000112
就知道他自己与
Figure BDA0003189165900000113
的六角集中的所有其他六角锚之间的距离。关于此操作的说明请参见图6。
需注意,除了六角锚
Figure BDA0003189165900000114
被告知到其他六角锚的距离(yij)是多少之外,锚点
Figure BDA0003189165900000115
可以自己确认这些锚点实际上位于规定距离处。此“距离确认”(CoD)过程不仅可以在锚点的初始设置时执行,而且可以在每个锚点决定的任意时间执行。
利用诸如无线电收发器的收发器,基于发送信号和接收响应信号所花费的时间,六角锚
Figure BDA0003189165900000121
能够确定另一
Figure BDA0003189165900000122
与其自身的距离。考虑到
Figure BDA0003189165900000123
的确切位置在一开始可能无法准确获知,而且天气状况或其他方面可能会影响无线电信号,因此不期望也不要求
Figure BDA0003189165900000124
的“纸上”距离与“真实世界”值完全相同,只是yij的真实世界值在一定范围内。例如,如果六角锚
Figure BDA0003189165900000125
在纸上,与
Figure BDA0003189165900000126
相距100m,则
Figure BDA0003189165900000127
可以选择一个误差幅度,其中他愿意接受
Figure BDA0003189165900000128
作为真实世界距离,例如yij=(100±5)m。
需注意,锚点
Figure BDA0003189165900000129
并不能确定锚点
Figure BDA00031891659000001210
的确切位置,而只能确定距离yij。只有距离值,这意味着
Figure BDA00031891659000001211
只能确定锚点
Figure BDA00031891659000001212
位于半径为yij的圆周上的某处。为了确定锚点
Figure BDA00031891659000001213
的位置,需要该锚点与至少三个锚点之间的距离。如果
Figure BDA00031891659000001214
与三个诚实锚点中的每一个的距离都是正确的,那么
Figure BDA00031891659000001215
的位置就被认为是正确的。
为了产生确认nomad位于某个位置的签名,需要足够数量的六角锚的协作。由于六角锚可以单独地和在任意时间执行检查以确定是否有任一个或每一个其他协作锚点处于要求的距离处,因此如果一个锚点
Figure BDA00031891659000001216
对所测量的到任何其他协作锚点
Figure BDA00031891659000001217
的距离不满意,则该六角锚
Figure BDA00031891659000001218
可能会拒绝为nomad产生数字签名。
图7示出了三个锚点在六边形的最低点处对感兴趣的锚点执行距离检查确认。需注意,每个锚点都会检查感兴趣的锚点是否落在两个圆周之间。锚点的这两个圆周是与感兴趣的锚点的预期距离的上限和下限。如果所有锚点都对感兴趣的锚点落在他们的圆周对内感到高兴,则感兴趣的锚点可以被接受为在正确位置的边界内。
六角锚能够在锚点的六角集所覆盖的区域中的任何地方检测nomad。这一点,除了能够确定其他锚点与自身的距离之外,意味着任何六角锚的无线电信号强度都足以到达任何锚点的六角集中的最远顶点。由于此示例的地理单位是边长为l的正六边形,因此该距离为2l(参见图8)。锚点的范围如图9所示。
nomad具有能够优选地以无线电信号的形式广播和接收数据的设备。该设备的范围足以向附近的六角锚发送和接收信号和/或消息。与六角锚自身类似,nomad的信标设备的最小范围优选地为2l。
该设备可以是专用设备,也可以是包括无线电功能的多功能设备,诸如智能手机或平板电脑。设备中包含一种为设备提供唯一身份的机制,诸如移动电话的sim卡。从这种设备发出的通信很难伪造或欺骗。
为密钥份额建立门限。该门限表示对nomad的位置(以及锚点位置)形成共识所需的最小六角锚数。考虑到需要至少三个锚点来确定锚点在三维体积中的位置,即成功计算三边测量计算,门限(始终标记为τ)应至少为四。
如果τ≥4个锚点中的一个锚点得到满足,即nomad的位置满足距离和/或位置标准(并且优选地也满足六边形中所有其他锚点的距离),则该锚点选择有助于产生证明nomad位置的签名。如果τ≥4个锚点得到满足,则他们可以协作并成功地为六边形的六角密钥(HexKey)产生数字签名。
nomad在确定其位置时采取的步骤如下所述。需注意,出于简化目的,术语nomad及其设备可以互换使用。
1.nomad在某个位置广播信号,宣布他正在试图建立自己的位置。此广播包括所产生的设备/nomad的唯一标识符(例如,SIM卡)。
2.一个或多个六角锚接收此信号。
3.通过向nomad发射无线电信号和从nomad接收无线电信号来接收此信号的每个六角锚执行确定nomad与六角锚之间的距离的计算。这可包括一个或多个RF(射频)计算诸如飞行时间计算,该一个或多个计算可涉及从第一收发器A发射一些独特的数据并使所述数据从第二收发器B回传到收发器A,然后测量往返所用的时间。然后可以计算两个收发器之间的距离。除此之外或另选地,可以使用其他飞行时间解决方案,包括相位差的使用。
4.如果nomad与六角锚之间的距离在2l内,则锚点将以下各项发射给nomad:
a.六角锚负责的六边形的三个HexKey,
b.六角锚与nomad之间的距离,
c.六角锚的公钥,以及
d.nomad与六角锚之间的双向通信信道所需的任何其他信息。
5.nomad将创建按从最近到最远的顺序排列的响应六角锚的列表。
6.从最近的锚点开始,nomad遍历列表,直到到达负责公共HexKey的前τ个唯一锚点。公共HexKey是多个锚点的集合共用的公钥。在该示例中,τ=5。
7.然后,nomad要求这些τ个锚点代表他为该公共HexKey生成数字签名。
8.τ个锚点的集合协作产生此签名。在这种情况下,nomad可以参与锚点之间的数据的中继和/或在获得完整签名之前从锚点所接收的数据的处理。
图10的流程图示出了建立nomad的位置所涉及的动作序列。
除了上述步骤5和步骤6之外,nomad还可以使用其他方法来确定他的位置,例如:
考虑nomad接收表1所示的距离信息。
Figure BDA0003189165900000141
表1
然后,nomad可以执行以下步骤而不是上面的步骤5和6:
9.识别在六角集集合中表示的唯一六边形集合。例如,H、M、N、I、O、S、T、B、G、X;
10.选择最大整数值t≤6,使得至少有2个六边形具有经由六角锚表示的t个实例,例如,t=3;
11.对于表示至少t次的每个唯一六边形,选择其各自表示的t个实例(例如,在六边形N的情况下,这些实例在下表2中示出,并且在六边形S的情况下,这些实例在下表3中示出);
Figure BDA0003189165900000142
12.对于由至少t个锚点表示的每个六边形,nomad/设备然后计算对应六角锚的集合与nomad之间的平均距离。例如,S的平均值为
Figure BDA0003189165900000151
并且N的平均值为
Figure BDA0003189165900000152
并且
13.然后,选择具有最低平均距离的六边形作为最近的六边形。在该示例中,nomad决定他在六边形N中。然后,nomad继续上面的步骤7。
在本节中,考虑nomad可能在哪里以及对他们的位置做出何种决定的示例。
场景1.
对于场景1,考虑图11的情况,其中nomad或多或少处于六边形的中心。最近的锚点是那些定义nomad所在的六边形的锚点。每个锚点大约有l的距离。因此,如果至少τ个锚点响应位置请求,那么这些τ个锚点的共享HexKey将最终成为决定的nomad位置。
考虑锚点1、2、3、4、5和6响应nomad建立位置的请求。其中,所示的排序列表中共享公共HexKey的前τ=5个锚点是锚点1、2、3、4和5。此公共HexKey是N,并且在nomad请求时,同一组锚点随后将协作以产生公钥N的数字签名。
场景2.
对于场景2,考虑图12的情况,其中nomad在六边形T内,并且nomad能够为另一六边形N产生数字签名。可以提出以下问题:“nomad(有意或无意)为nomad不在的六边形产生数字签名的可能性有多大?”
也就是说,六边形T中的nomad是否能够为相邻的六边形N产生签名?图12示出了标记为a至g的七个字母区域。考虑到圆圈所覆盖的区域表示允许锚点(六边形N)为nomad签名的范围,六边形T的字母区域表示这些范围重叠的区域。例如,区域a表示锚点3和4所覆盖的区域,区域b被锚点3、4和5覆盖,而区域g被所有锚点1至6覆盖。因此,范围重叠数量是可用于数字签名的六角锚的数量。
需注意,这些字母区域中的每一个的几何形状(整体六边形的形状和比例面积)对于任何其他相邻(N和T)六边形对都是相同的。
下表4显示了示例中字母区域的六角锚重叠,其中阈值τ=5。
Figure BDA0003189165900000161
表4:重叠范围
如果nomad在六角形T的某些位置内,则可以为六角形N产生数字签名。
如果阈值τ被设置为5个锚点,则六边形T中可以为六边形N产生签名的区域是字母区域e、g和f,并且这些区域靠近六边形N的边界。这个“缓冲区”可能是可以接受的,这取决于了解nomad位置的背景和环境。
需注意,这种即使不在六边形内也能产生签名的能力是恶意nomad所关心的问题,他们将能够通过使用这些τ个锚点的重叠贡献来产生签名,从而声称他们所处的位置不在六边形内。
六边形T中的诚实nomad能够根据他们的六边形来确定他们的正确位置,因为nomad不仅会接收到来自六边形N中的锚点的响应,而且还会接收到来自六边形T中的锚点的通信。假设所有的锚点都可以操作,那么在排序列表中,nomad将在到达六边形N中的τ个锚点之前到达六边形T中的τ个锚点。
考虑图13,图13显示了两个相邻的通用六边形(N和T)。需注意,假设周围的六边形(未显示)具有如图12所示的名称。图13显示了在六边形T中但在N的至少τ个锚点的范围内的nomad如何被归类为在T中。如果τ≥4,这将引用区域e、f和/或g,如表4所示。
根据图13,需注意,与nomad距六边形N中的镜像对应物
Figure BDA0003189165900000162
相比,T中的nomad始终最接近六边形T中的锚点
Figure BDA0003189165900000163
还需注意,两个六边形(N和T)共享锚点
Figure BDA0003189165900000164
Figure BDA0003189165900000165
锚点(及其相关联的六角集)在图14中被布置为镜像对。记住,这两个六边形都将具有两个共同的共享锚点,需注意,nomad在到达具有共同的六边形N的τ个锚点之前到达具有共同的六边形T作为其六角集元素的τ个锚点。这是因为以下事实(除了共享锚点之外):
-对于镜像锚点,T中的锚点将始终比N中的对应锚点更接近nomad。
-没有其他锚点在各自的六角集中同时具有N和T。
参考图14,注意到在排序列表中,nomad将在到达带有六边形N的τ个锚点之前到达带有六边形T的τ个锚点。需注意,在图14中,最近/最远标签仅应用镜像内锚点对,而不应用镜像间锚点对。还需注意,虽然在图14中表示为结合,但锚点对中的另一个锚点不一定是所有锚点的排序列表中的直接后继者(因为这涉及到距离)。
现在将说明表示经过认证的nomad的数字(ECDSA)签名的产生,其中产生签名所需的τ个锚点的集合是
Figure BDA0003189165900000171
并且:
-nomad已如上所述确定其位置/六边形(例如,六边形N);
-所有六角锚都接收到并验证了其各自六角集的六边形(特别是六边形N)的密钥份额。可以使用前面描述的验证方案来完成此密钥份额验证;并且
-Nomad与锚点
Figure BDA0003189165900000172
的通信可以包括nomad的嵌入式唯一标识符,诸如绑定到物理移动sim卡的号码。在通信中包含sim卡标识符信息优选地不是由nomad本人执行,而是由他们采用PLaCES协议的设备执行。例如,进行电话呼叫的用户不输入其个人电话号码,但手机信号塔能够基于sim卡内包含的信息来识别电话呼叫来自该特定电话。nomad在与六角锚的通信中很难改变经由sim卡嵌入的信息(诸如nomadID),这有利于PLaCES协议的安全性。
一旦所有六角锚都验证了他们的所有密钥份额(例如使用上述PVSS方法),就会发起一个过程来确定在产生数字签名的协作中涉及哪些锚点。一旦完成,锚点然后发起产生签名的协作过程。如上面所提及的,通过使用门限签名方案来导出签名。
回想一下,根据锚点的排序列表,其中锚点按与nomad的接近程度排列,至少τ个锚点共用的第一六边形被视为nomad的位置。因此,这些τ个锚点用于创建确认nomad位置的签名。
在此过程中,假设nomad正在试图证明他们在六边形N中:
1.nomad向τ个锚点中的每一个发送请求,要求他们参与六边形N的签名协作。这种与每个节点的通信可以同时进行;
2.与每个锚点
Figure BDA0003189165900000181
的通信包括六边形公钥N,以及nomad想要签名的消息m的至少一个哈希值。另选地或除此之外,可以发送消息本身;
3.每个锚点检查区块链以确定交易中的指定nomad的ID(nomadID)是否与nomad的通信中包含的内容相同和/或与消息m中的nomadID相同,该nomadID可由其他用户提交;
4.τ个锚点中的每个锚点
Figure BDA0003189165900000182
在收到请求后,可以执行检查以确认nomad在要求的范围内;
5.如果nomad在范围内并且nomadID匹配,则锚点
Figure BDA0003189165900000183
创建(并可能保存在其内部存储器中)向量
Figure BDA0003189165900000184
该向量包含以下数据:
<Pi,sig,N,H(m),timestamp,distance,nomadID>,
其中:
a.Pi是锚点
Figure BDA0003189165900000185
的公钥,(个人密钥,不同于HexKey);
b.H(m)是需要签名的消息或交易的哈希值;
c.距离是nomad离锚点的距离;
d.时间戳是
Figure BDA0003189165900000186
确认nomad的距离的时间;并且
e.签名是数字签名,基于“至少H(m)、N、时间戳、距离和nomadID的级联”的哈希值的公钥Pi
6.每个锚点
Figure BDA0003189165900000187
将都他们的向量
Figure BDA0003189165900000188
发送给nomad;
7.nomad将这些向量中的每一个添加到列表LV中;并且
8.如果该列表包含至少来自τ个锚点的具有有效签名的向量,则选择这些锚点来协作产生与该位置相对应的数字签名。
在待签名消息中包含nomadID作为值的优势在于,在消息是比特币交易的情况下,nomadID通过操作码OP_RETURN存储在比特币交易中,并且不可变地公开存储在区块链上。
在需要nomad消息的隐私性的情况下,nomad可以选择仅将其消息的哈希值发送给锚点。然而,锚点协作产生的签名将是与nomadID合并的消息的哈希值的签名,即H(H(m),nomadID)。
在消息m中包含标识符的原因是,六角锚随后可以检查nomad正在从中通信的预期物理设备是否与区块链上的规定标识符相对应。
需注意,标识符的规定可以在另一个用户的交易中完成(另一个用户是要求接收者位于特定位置以赎回所提交的交易的用户)。该规定标识符可存储在该另一个用户的交易的OP_RETURN或其他地方。
区块链提供了交易和规定标识符/nomadID的记录,这些记录是公开的和不可变的。六角锚可以检查区块链,以确定当被要求协作签署消息/交易时,或者在任意选择的时间,规定nomadID是什么。
既然τ个六角锚的集合已同意参与六边形N的签名协作,那么锚点可以产生所述签名。如前所述,该协作签名过程使用前面描述的门限签名方案,并在下面详细描述。
ECDSA签名为对(r,s),其中
r=x1 mod n其中(x1,y1)=k×G
s=k-1(m+xr)mod n
并且x为私钥。
下面列出了生成ECDSA签名的过程。
Figure BDA0003189165900000191
表5:签名生成步骤
可选地,在产生签名时,六角锚不直接与其他锚点交互,而是通过nomad进行通信。此操作的优势在于,在锚点与nomad的各个通信中,锚点被提供了更多的机会来确认nomad在锚点的要求的范围内。如果在任何时候nomad都不在特定六角锚的要求的范围内,则该六角锚可以通过不再协作生成签名来中止签名过程。考虑到效率和其他问题,每个锚点不必在每一个机会都执行这种距离检查。每个锚点都有能力根据各自情况选择何时检查距离。
表5的每个步骤现在根据在执行这些步骤时如何将nomad包括在内来描述。
步骤1:τ=2t+1个锚点组成的群π使用无交易商秘密分配来计算份额ki,该份额为随机数。过程如图16所示。
步骤1是分配临时密钥k的份额,该份额是随机生成的数字,将用于计算ECDSA签名。ECDSA签名为对(r,s),其中k使得0<k<q,并且q为子群的阶数,r=x1 modn具有k×G=(x1,y1)并且s=k-1(m+xr)mod n。
基于上述基于无交易商的密钥份额分配,执行以下步骤。假设nomad拥有至少包含τ个向量的列表LV,那么
1.nomad向每个六角锚发送列表LV以及x-值xi,每个锚点被分配给多项式,在该多项式上找到他们的份额ki(具有随机值k)。在某些情况下,可能没有必要发送这些x-值,并且可以假设锚点
Figure BDA0003189165900000201
将利用i作为他们的xi,如在3时,将为锚点
Figure BDA0003189165900000202
的x-值。需注意,xi可被视为加密秘密k。的份额部分。
2.在接收到LV时,每个锚点将验证每个向量中的sigs,并且“m中的规定nomadID”与“通信的嵌入式nomadID”匹配和/或与“在区块链中找到的付款人交易中的规定标识符”匹配。
3.锚点
Figure BDA0003189165900000203
验证nomad是否在要求的范围内,如下:
a.首先,锚点
Figure BDA0003189165900000204
使用来自LV中的集合
Figure BDA0003189165900000205
的至少三个随机向量的距离和时间戳值来执行三边测量计算。这使锚点
Figure BDA0003189165900000206
对nomad可能在六边形N中的位置有了更精确的理解。
b.其次,如果需要,锚点可以执行功能来再次计算他与nomad的距离。这样做的原因可能包括使用向量数据进行三边测量计算的不一致性,或自上次与锚点通信以来经过的时间的不一致性。
4.如果锚点不满足nomad在要求的区域内,锚点将退出签名生成过程,否则锚点将继续接下来的步骤。
5.然后,锚点
Figure BDA0003189165900000211
生成t级随机多项式fi(x)。
6.锚点
Figure BDA0003189165900000212
向nomad发送他的向量
Figure BDA0003189165900000213
的更新版本。“更新”是指包含新距离及其从新距离验证中获得的对应时间戳。
7.nomad以任何新的
Figure BDA0003189165900000214
值更新LV。
8.
Figure BDA0003189165900000215
锚点将锚点
Figure BDA0003189165900000216
的多项式fi(xj)mod n上每一个其他玩家的点(y-值)秘密地发送给nomad。这些点是“秘密的”,因为每个点都使用预期锚点的公钥Pj:j≠i单独加密。y-值可以被称为函数值。
9.nomad依次将点转移到预期锚点
10.每个锚点
Figure BDA0003189165900000217
将他们所接收的所有f1(xi),f2(xi),...fτ(xi)相加,形成他们的份额,
Figure BDA0003189165900000218
具有随机值k。
步骤2:t+1个玩家组成的子群π′使用秘密共享加入协作产生k×G=(x1,y1)。值r=x1 mod n被广播给整个群。过程如图17所示。
在步骤2中,协作的锚点产生EC公钥r=kG,而不透露他们各自的ki份额,具有随机值k。需注意,并非所有τ=2t+1个锚点都需要参与产生kG,只有π′=t+1个锚点需要参与。产生公钥所需的乘运算基于前面描述的秘密共享加入。执行以下步骤:
11.nomad从LV中选择π′六角锚,作为将参与的锚点。
12.nomad向这些锚点发送请求,请求他们与当前版本的LV一起参与。
13.在接收到LV时,每个锚点验证每个向量中的签名,并且m中的规定nomadID与通信中找到的嵌入式nomadID匹配。
14.π′个锚点
Figure BDA0003189165900000219
中的每一个验证nomad是否在范围内。这可以使用如先前在步骤1中描述的三边测量和距离计算来完成。锚点计算自身和节点之间的距离是可选的。
15.每个锚点
Figure BDA00031891659000002110
计算他们的部分bi,π′ki×G,其中b为插值因子。这些部分可以被视为加密签名的部分。
16.每个锚点
Figure BDA00031891659000002111
将他们的部分以及他们的向量
Figure BDA00031891659000002112
的任何更新版本发送给nomad。
17.nomad将每个部分相加或合并以产生:
Figure BDA0003189165900000221
其中kG可以被视为签名的一个组成部分,因为r=x1 mod n是签名(r,s)的一个组成部分,并且可以直接且容易地从kG推导出来。
18.nomad至少将r=x1 mod n发送给所有参与的六角锚。
19.nomad以所接收的任何新的
Figure BDA0003189165900000222
值更新LV。
步骤3:τ=2t+1个锚点的群π使用安全逆来计算k-1 mod n中的份额。每个份额均被称为ki -1。过程如图18所示。
为在确定ECDSA签名时计算s,需要k的逆。然而,任何参与者都不知道值k-1(或k)。相反,在创建签名的一部分时,每个六角锚都计算并利用他们的份额
Figure BDA0003189165900000223
由于此过程包括秘密份额的乘运算,因此群π包括π=2t+1个玩家,他们协作计算k-1 mod n中的份额。
为了获得他们在逆中的份额,执行以下步骤:
20.Nomad发起发送LV和产生
Figure BDA0003189165900000224
份额的请求的过程。
21.在接收到LV时,每个锚点验证每个向量中的签名,并且m中的规定nomadID与通信中找到的嵌入式nomadID匹配。
22.π个锚点
Figure BDA0003189165900000225
中的每一个验证nomad是否在范围内。可以使用与步骤1和步骤2中相同的二级距离检查来执行此验证。
23.锚点和nomad利用无交易商秘密分配来计算份额ci,该份额为随机数。这通过与步骤1的方法相同的方式完成。
24.每个锚点
Figure BDA0003189165900000226
计算一部分bi,πkici mod n并将此发送给nomad。
25.nomad将每个部分相加以产生:
Figure BDA0003189165900000227
kc可以被视为中间加密值,因为它并非签名的组成部分,但它被用于安全计算签名的组成部分的过程中。因此,部分bi,πkici mod n可以被称为中间加密值的部分。
26.nomad将值kc发送给每个锚点。
27.每个锚点
Figure BDA0003189165900000228
计算乘法逆元(kc mod n)-1mod n=k-1c-1 mod n
28.每个锚点
Figure BDA0003189165900000229
计算第二部分k-1c-1×ci mod n。
这是逆值k-1的该锚点的份额
Figure BDA0003189165900000231
步骤4:群π的每个锚点
Figure BDA0003189165900000232
计算部分bi,πki -1(m+xir)mod n,其中m是正在签名的信息(例如,加密交易)。
现在每个六角锚都有逆k-1中的他们的ki -1份额,然后每个锚点计算他们在ECDSA签名中的部分。
29.每个锚点
Figure BDA0003189165900000233
计算他们在该签名中的部分。
bi,πki -1(m+Xir)mod n
30.锚点将他们的部分发送给nomad。
步骤5:该群协作添加他们的部分,为s提供要求的ECDSA签名:
nomad现在负责从τ=2t+1个锚点的集合中添加所有部分,以产生ECDSA签名(r,s)的s。
31.Nomad对所有部分求和或合并以产生s,即签名的另一组成部分,如下:
Figure BDA0003189165900000234
32.Nomad现在拥有有效签名(r,s),确认nomad的位置在六边形N内。回想一下,nomad从步骤2开始就已经知道r了。
33.Nomad现在可以将数字签名用于所需的服务,诸如需要确认nomad位置的区块链交易。
需注意,可以通过使用上述PVSS验证方案来执行在产生签名时利用的密钥份额的验证。如果锚点之间的通信是必要的,这可以由nomad作为中间人来完成。
考虑到位置证明(PoL)协议的成功执行的输出是数字签名ECDSA,那么PLaCES可以与比特币交易结合使用,而无需更改其各自协议的任何内容(操作码或其他)。所需要的只是在交易TrA的输出脚本<scriptPubKey>中添加对六边形的公钥(例如,N)的数字签名的要求,作为另一交易TrB的输入脚本<scriptSig>访问TrA的通证(coin)的条件的一部分。
虽然理论上可能只需要对六边形N的签名,但考虑到交易可能是针对特定个人/实体的,访问通证要满足的标准可能基于六边形的公钥以及实体的公钥P。这可以在脚本中表示为N中取M的多签名交易(m-of-n multisig transaction),如下所示,并在图19中进行了示意性说明。
Figure BDA0003189165900000241
当与交易的nTimeLock值合并时,本公开的实施例除了位置标准之外还可以包括时间标准。例如,航空公司可能会推行一项计划,如果航班在特定时间之前没有将乘客送到乘客需要到达的位置,则他们承诺向客户提供折扣。这种协议可以使用提交通道来实现。这是包含三笔交易的支付通道:提交TC、支付TP和本例中的折扣TD交易。
提交交易TC由客户创建并代管通证x,即商品/服务(机票)的成本。
代管资金只能在提供以下任一条件后才能使用:
1.客户签名σ(C)和航空公司签名σ(A)
2.位置签名σ(N)和航空公司签名σ(A)
需注意,提交交易可能包含nomadID(飞机独有的sim卡)的记录。
支付交易TP是航空公司A用来收取他们对x的全额付款的交易。在此交易中,需要乘客对预期目的地六边形的PLaCES签名σ(N)以及航空公司的签名σ(A)。
参与产生σ(N)的六角锚可参考区块链验证提交交易的规定nomadID与嵌入在从nomad/飞机到锚点的通信中的相同。
折扣交易TD是nTimeLocked交易,其从提交交易的x代管资金中,将总金额d转移给客户C,并且将x-d转移给航空飞机。d是乘客获得的折扣金额。
需注意,折和交易被nTimeLocked意味着折扣交易无法在特定时间点(可以根据UNIX时间或区块高度定义)之前成功提交到区块链。这意味着,如果飞机没有在特定截止日期之前到达该位置,则客户可以提交折扣交易并为自己检索d。
现在转到图20,提供了可用于实施本公开的至少一个实施例的计算设备2600的说明性简化框图。在各种实施例中,所述计算设备2600可用于实现以上示出和说明的任何系统。例如,所述计算设备2600可配置为用作数据服务器、网络服务器、便携式计算设备、个人计算机或任何电子计算设备。如图21所示,计算设备2600可包括具有一级或多级高速缓存的一个或多个处理器以及存储器控制器(统称为2602),所述存储器控制器可被配置为与包括主存储器2608和永久存储器2610的存储子系统2606通信。如图所示,主存储器2608可以包括动态随机存取存储器(DRAM)2618和只读存储器(ROM)2620。存储子系统2606和高速缓存存储器2602可用于存储信息,诸如与本公开中所描述的交易和区块相关联的细节。处理器2602可用于提供本公开中描述的任何实施例的步骤或功能。
处理器2602还可以与一个或多个用户界面输入设备2612、一个或多个用户界面输出设备2614和网络接口子系统2616通信。
总线子系统2604可以提供用于使计算设备2600的各个组件和子系统能够按预期彼此通信的机制。虽然总线子系统2604示意性地示出为单个总线,但是总线子系统的替代实施例可以利用多个总线。
网络接口子系统2616可以向其他计算设备和网络提供接口。网络接口子系统2616可以作为从计算设备2600接收数据和向其他系统传输数据的接口。例如,网络接口子系统2616可以使数据技术人员能够将设备连接到网络,使得数据技术人员能够在远程位置(例如数据中心)向设备发送数据并从设备接收数据。
用户界面输入设备2612可以包括一个或多个用户输入设备,例如键盘;指点设备,如集成鼠标、轨迹球、触摸板或图形平板电脑;扫描仪;条形码扫描仪;包含在显示器中的触摸屏;音频输入设备,如语音识别系统、麦克风;以及其他类型的输入设备。一般而言,术语“输入设备”的使用旨在包括用于向计算设备2600输入信息的所有可能类型的设备和机制。
一个或多个用户界面输出设备2614可包括显示子系统、打印机、或非视觉显示器(例如音频输出设备等)。显示子系统可以是阴极射线管(CRT)、平板设备(例如液晶显示器(LCD))、发光二极管(LED)显示器或投影或其他显示设备。通常,术语“输出设备”的使用旨在包括用于从计算设备2600输出信息的所有可能类型的设备和机制。例如,可以使用一个或多个用户界面输出设备2614来呈现用户界面,以便于用户与执行所描述的过程和其中变型的应用程序进行交互(当这种交互可能合适时)。
存储子系统2606可以提供计算机可读存储介质,该计算机可读存储介质用于存储可提供本公开的至少一个实施例的功能的基本编程和数据构造。当由一个或多个处理器执行时,应用程序(程序、代码模块、指令)可以提供本公开的一个或多个实施例的功能,并且可以存储在存储子系统2606中。这些应用程序模块或指令可以由一个或多个处理器2602执行。存储子系统2606可另外提供用于存储根据本公开所使用的数据的存储库。例如,主存储器2608和高速缓存存储器2602可以为程序和数据提供易失性存储。永久存储器2610可以提供用于程序和数据的永久(非易失性)存储,且可包括闪存、一个或多个固态驱动器、一个或多个磁硬盘驱动器、一个或多个具有关联可移动介质的软盘驱动器、一个或多个具有关联可移动介质的光驱动器(例如CD-ROM或DVD或蓝光)以及其他类似的存储介质。这样的程序和数据可以包括用于执行如在本公开中描述的一个或多个实施例的步骤的程序以及与在本公开中描述的交易和区块相关联的数据。
计算设备2600可以是各种类型的,包括便携式计算机设备、平板电脑、工作站或下文描述的任何其他设备。另外,计算设备2600可包括可通过一个或多个端口(例如,USB、耳机插孔、闪电连接器等)连接至计算设备2600的另一设备。可以连接到计算设备2600的设备可以包括被配置为接受光纤连接器的多个端口。因此,该设备可以被配置为将光信号转换成电信号,所述电信号可经由将该设备连接至计算设备2600进行处理的端口传输。由于计算机和网络的不断变化的性质,图21所示的计算设备2600的描述仅用作说明设备的优选实施例的特定示例。可能存在比图21所示系统的组件更多或更少的许多其他配置。
应当注意的是,上述实施例是说明而不是限制本公开,并且本领域技术人员在不脱离由所附权利要求书所限定的本公开的范围的情况下将能够设计许多替代实施例。在权利要求书中,括号中的任何附图标记都不应解释为对权利要求的限制。词语“包括”等不排除任一项权利要求或说明书中整体列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括”是指“包含”或“由......组成”。元件的单数形式并不排除此类元件的复数形式,反之亦然。本公开可以通过包括几个不同元件的硬件以及通过适当编程的计算机来实现。在列举几个装置的设备权利要求中,这些装置中的几个装置可以由同一硬件来体现。在互不相同的从属权利要求中引用某些措施的事实并不意味着不能有利地使用这些措施的组合。

Claims (15)

1.一种计算机实现的方法,所述计算机实现的方法包括以下步骤:
广播对位置数据的请求;
从多个节点中的每个节点接收相应的位置数据,所述位置数据包括至少一个公钥,对应于与所述节点相邻的相应至少一个区域;
选择所述多个节点的集合共用的公共公钥;以及
请求所述节点的集合参与门限秘密共享以获得与所述公共公钥相关联的加密签名。
2.根据权利要求1所述的方法,其中所述位置数据还包括距离属性,并且还包括基于所述距离属性对所述公钥进行排序的步骤,其中基于所述排序的结果来执行所述选择所述多个节点的集合共用的公共公钥的步骤;并且优选地,其中所述距离属性包括从相应节点到所述请求的原点的距离并且所述排序包括按所述距离的顺序对所述公钥进行排序。
3.根据前述任一项权利要求所述的方法,其中所述广播对位置数据的请求的步骤包括广播用于识别广播者的标识符,和/或其中所述接收位置数据的步骤还包括从所述多个节点中的每个节点接收与相应至少一个节点相关联的公钥。
4.根据前述任一项权利要求所述的方法,其中所述请求所述节点的集合参与门限秘密共享以获得与所述公共公钥相关联的加密签名的步骤包括提供待签名数据;并且优选地其中所述待签名数据包括以下至少一项:(i)消息;(ii)消息的哈希值;以及(iii)用于识别所述广播者的标识符。
5.根据前述任一项权利要求所述的方法,所述方法还包括以下步骤:从至少一个节点接收与所述节点的公钥相关联的相应节点签名;验证所述至少一个节点签名;以及基于所述验证的结果确定是否请求节点参与门限秘密共享;并且优选地其中至少一个节点签名进一步与以下至少一项相关联:(i)所述消息;(ii)所述消息的所述哈希值;(iii)用于识别所述广播者的所述标识符;(iv)所述位置数据;以及(v)所述节点公钥。
6.根据前述任一项权利要求所述的方法,所述方法包括以下步骤中的至少一个步骤:(i)向至少一个节点发送加密秘密的份额部分;(ii)从至少一个节点向至少一个另外的节点中继函数值,所述函数值用所述相应的至少一个另外的节点的公钥加密;(iii)从所述多个节点接收中间加密值的相应多个部分,将所述部分合并成所述中间值,并将所述中间值发送给至少一个另外的节点;(iv)从所述多个节点接收所述加密签名的相应多个部分,并将所述多个部分合并成所述加密签名的组成部分;以及(v)通过向区块链交易提供所述加密签名来赎回所述区块链交易。
7.一种计算机实现的方法,所述计算机实现的方法包括以下步骤:
接收对位置数据的请求;
确定与所述请求相关联的距离属性;
发送位置数据,所述位置数据包括所述距离属性和至少一个公钥,对应于相应的至少一个相邻区域;
接收参与门限秘密共享以提供与公共公钥相关联的加密签名的请求;以及
在门限秘密共享中与多个节点协作以获得所述加密签名。
8.根据权利要求7所述的方法,所述方法还包括确定另一距离属性的步骤。
9.根据权利要求7或权利要求8所述的方法,其中所述确定距离属性的步骤包括飞行时间测量;和/或其中所述接收对位置数据的请求的步骤包括接收用于识别所述请求的广播者的标识符。
10.根据权利要求7至9中任一项所述的方法,其中所述接收参与门限秘密共享以获得与公共公钥相关联的加密签名的请求的步骤包括接收待签名数据;并且优选地其中所述待签名数据包括以下至少一项:(i)消息;(ii)消息的哈希值;以及(iii)用于识别所述广播者的标识符。
11.根据权利要求7至10中任一项所述的方法,其中所述发送位置数据的步骤还包括发送节点公钥。
12.根据权利要求7至11中任一项所述的方法,所述方法还包括向所述广播者发送与至少所述节点公钥相关联的节点签名的步骤;并且优选地其中所述节点签名还与以下至少一项相关联:(i)所述消息;(ii)所述消息的所述哈希值;(iii)用于识别所述广播者的所述标识符;(iv)所述位置数据;以及(v)所述节点公钥。
13.根据权利要求7至12中任一项所述的方法,所述方法还包括以下步骤中的至少一个步骤:(i)将加密秘密的份额部分发送给所述广播者;(ii)将根据与至少一个节点相关联的相应值计算得出的至少一个函数值发送给所述广播者;(iii)向所述广播者发送中间加密值的一部分并接收所述中间值;(iv)将所述加密签名的一部分发送给所述广播者;以及(v)从所述广播者接收与多个节点相关联的另一个位置数据,执行三边测量计算以确定所述广播者的计算位置,将所述计算位置与至少所述位置数据进行比较,并且基于所述比较的结果确定是否参与所述门限秘密共享。
14.一种计算机实现的系统,包括:
处理器;以及
存储器,包括可执行指令,其中,所述处理器执行所述可执行指令时,使得所述系统执行根据权利要求1至13中任一项所述的计算机实现的方法的任何实施例。
15.一种非暂时性计算机可读存储介质,其上存储有可执行指令,计算机系统的处理器执行所述可执行指令时,使得所述计算机系统至少执行根据权利要求1至13中任一项所述的方法的实施例。
CN202080011930.0A 2019-02-01 2020-01-20 用于确定或验证位置的计算机实现的系统和方法 Pending CN113366799A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1901391.1 2019-02-01
GBGB1901391.1A GB201901391D0 (en) 2019-02-01 2019-02-01 Computer-implemented system and method
PCT/IB2020/050405 WO2020157596A1 (en) 2019-02-01 2020-01-20 Computer implemented system and method for determining or verifying location

Publications (1)

Publication Number Publication Date
CN113366799A true CN113366799A (zh) 2021-09-07

Family

ID=65997781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080011930.0A Pending CN113366799A (zh) 2019-02-01 2020-01-20 用于确定或验证位置的计算机实现的系统和方法

Country Status (10)

Country Link
US (1) US20220029827A1 (zh)
EP (1) EP3918747A1 (zh)
JP (1) JP7502311B2 (zh)
KR (1) KR20210122292A (zh)
CN (1) CN113366799A (zh)
GB (1) GB201901391D0 (zh)
SG (1) SG11202108166WA (zh)
TW (1) TWI819188B (zh)
WO (1) WO2020157596A1 (zh)
ZA (1) ZA202105797B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473895A (zh) * 2022-09-01 2022-12-13 北京大数据先进技术研究院 泛在环境下的数字对象仓库节点共识组划分方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861741A (zh) * 2020-06-23 2020-10-30 广东贝莱蔻生物科技有限公司 一种基于区块链的供应链债权流转及追溯方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897901A (zh) * 2017-02-16 2017-06-27 湖北大学 基于安全位置证明的共享单车安全计费方法
US20170366342A1 (en) * 2014-12-05 2017-12-21 Pcms Holdings, Inc. Protecting the Integrity of Log Entries in a Distributed System
CN108352015A (zh) * 2016-02-23 2018-07-31 恩链控股有限公司 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
CN108848062A (zh) * 2018-05-23 2018-11-20 华东师范大学 车载网中基于区块链的可控匿名的数据安全共享方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7532723B2 (en) * 2003-11-24 2009-05-12 Interdigital Technology Corporation Tokens/keys for wireless communications
DE102004057981B4 (de) 2004-11-30 2008-11-27 Nec Europe Ltd. Verfahren zur verschlüsselten Datenübertragung in einem vorzugsweise drahtlosen Sensornetzwerk
US10588004B2 (en) * 2006-05-16 2020-03-10 RedSky Technologies, Inc. Method and system for locating a network device in an emergency situation
KR101338409B1 (ko) 2007-01-25 2013-12-10 삼성전자주식회사 애드-혹 네트워크에서 분산 rsa서명을 생성하는 방법 및상기 애드-혹 네트워크의 노드
US8638926B2 (en) * 2009-02-26 2014-01-28 Red Hat, Inc. Sharing a secret with modular inverses
US8694017B2 (en) 2009-03-25 2014-04-08 Qualcomm Incorporated Method and apparatus for interference management in a wireless communication system
EP3005205B1 (en) * 2013-05-27 2019-09-25 Telefonaktiebolaget LM Ericsson (publ) Distribution of licenses within the radius of a local device
AU2017223126B2 (en) * 2016-02-23 2022-12-15 nChain Holdings Limited Blockchain-based exchange with tokenisation
GB201710176D0 (en) * 2017-06-26 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170366342A1 (en) * 2014-12-05 2017-12-21 Pcms Holdings, Inc. Protecting the Integrity of Log Entries in a Distributed System
CN108352015A (zh) * 2016-02-23 2018-07-31 恩链控股有限公司 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
CN106897901A (zh) * 2017-02-16 2017-06-27 湖北大学 基于安全位置证明的共享单车安全计费方法
CN108848062A (zh) * 2018-05-23 2018-11-20 华东师范大学 车载网中基于区块链的可控匿名的数据安全共享方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MICHELE AMORETTI: "Blockchain-Based Proof of Location", 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C), 13 August 2018 (2018-08-13), pages 2 - 3 *
SÉBASTIEN GAMBS: "PROPS: A PRivacy-Preserving Location Proof System", 2014 IEEE 33RD INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS, 15 December 2014 (2014-12-15), pages 4 - 9 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473895A (zh) * 2022-09-01 2022-12-13 北京大数据先进技术研究院 泛在环境下的数字对象仓库节点共识组划分方法和装置
CN115473895B (zh) * 2022-09-01 2023-09-12 北京大数据先进技术研究院 泛在环境下的数字对象仓库节点共识组划分方法和装置

Also Published As

Publication number Publication date
TW202040967A (zh) 2020-11-01
TWI819188B (zh) 2023-10-21
SG11202108166WA (en) 2021-08-30
WO2020157596A1 (en) 2020-08-06
ZA202105797B (en) 2024-04-24
JP7502311B2 (ja) 2024-06-18
EP3918747A1 (en) 2021-12-08
JP2022524925A (ja) 2022-05-11
US20220029827A1 (en) 2022-01-27
KR20210122292A (ko) 2021-10-08
GB201901391D0 (en) 2019-03-20

Similar Documents

Publication Publication Date Title
Singh et al. A deep learning-based blockchain mechanism for secure internet of drones environment
Cui et al. Extensible conditional privacy protection authentication scheme for secure vehicular networks in a multi-cloud environment
Kumar et al. RSEAP: RFID based secure and efficient authentication protocol for vehicular cloud computing
CN111681003B (zh) 资源跨链转移方法、装置、计算机设备以及存储介质
CN108769230B (zh) 交易数据存储方法、装置、服务器及存储介质
US20190386995A1 (en) Apparatus, system and method to limit access to open networks by requiring the consensus of pre-existing nodes to admit candidate nodes
US11212112B2 (en) System, data management method, and program
Singh et al. ODOB: One drone one block-based lightweight blockchain architecture for internet of drones
EP3763078B1 (en) Methods of electing leader nodes in a blockchain network using a role-based consensus protocol
US20220029813A1 (en) Communication network node, methods, and a mobile terminal
Abbade et al. Blockchain applied to vehicular odometers
CN113837760B (zh) 数据处理方法、装置、计算机设备以及存储介质
CN112910660B (zh) 区块链系统的证书颁发方法、添加方法及交易处理方法
CN111767569A (zh) 区块链的访问授权方法及节点
CN116074023A (zh) 一种认证方法和通信装置
JP7502311B2 (ja) 位置を決定または検証するためのコンピュータで実施されるシステムおよび方法
Wei et al. BAVP: Blockchain‐Based Access Verification Protocol in LEO Constellation Using IBE Keys
Olakanmi SAPMS: a secure and anonymous parking management system for autonomous vehicles
Wang et al. An Efficient Data Sharing Scheme for Privacy Protection Based on Blockchain and Edge Intelligence in 6G‐VANET
CN113272670A (zh) 位置信息提供系统和位置信息提供方法
KR102418647B1 (ko) 자율 주행 차량의 교통 정보 공유 방법
Hafeez et al. Blockchain based competent consensus algorithm for secure authentication in vehicular networks
Zhang et al. Blockchain‐Based Authentication with Optional Privacy Preservation for Internet of Vehicles
Yan et al. Info-Chain: Reputation-Based Blockchain for Secure Information Sharing in 6G Intelligent Transportation Systems
Zhanikeev The Last Man Standing Technique for Proof‐of‐Location in IoT Infrastructures at Network Edge

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