一种基于区块链的位置寻呼和自动应答方法

文档序号:173058 发布日期:2021-10-29 浏览:34次 >En<

阅读说明:本技术 一种基于区块链的位置寻呼和自动应答方法 (Position paging and automatic answering method based on block chain ) 是由 刘儿兀 杨昌鑫 于 2021-07-12 设计创作,主要内容包括:一种基于区块链的位置寻呼和自动应答方法,特征是,包含两个步骤,步骤一使用超级账本技术(Hyper ledger Fabr ic)对室内场馆和场馆中的人流进行建模,通过超级账本技术中的Fabr ic-CA模块对场馆中的人流进行身份认证以及通过基于属性的访问控制技术(Attr ibute-Based-Access-Contro l)对场馆中的人流进行身份识别;步骤二通过使用秘钥协商算法建立双向的隐私保护机制,配合双向的位置共享能够实现位置共享和隐私保护的自动化。本发明能够弥补Diffie-He l lman秘钥协商协议易受到中间人攻击的问题,本发明所使用的底层技术即区块链天然即是去中心化的,构建在区块链之上的隐私保护机制同样也能使得位置寻呼和自动应答能够避免区块链的透明、公开所带来的一些额外的问题。(A position paging and automatic response method Based on block chain, characterized by that, include two steps, step one uses the super ledger technology (Hyper hedger fabric) to model the indoor arena and people&#39;s flow in the arena, carry on the identity authentication to people&#39;s flow in the arena through the fabric-CA module in the super ledger technology and carry on the identity recognition to people&#39;s flow in the arena through the Access control technology (Attr-base-Access-Contro l) Based on attribute; and step two, establishing a bidirectional privacy protection mechanism by using a key negotiation algorithm, and realizing the automation of position sharing and privacy protection by matching with bidirectional position sharing. The invention can make up the problem that the Diffie-He l lman key negotiation protocol is easy to be attacked by a man-in-the-middle, the bottom layer technology, namely the block chain, used by the invention is naturally decentralized, and the privacy protection mechanism built on the block chain can also enable the position paging and the automatic response to avoid additional problems brought by the transparency and the disclosure of the block chain.)

一种基于区块链的位置寻呼和自动应答方法

技术领域

本发明涉及位置共享技术。

背景技术

近年来,随着展览场馆规模的扩大以及内部结构和功能的复杂化,其所容纳的人流也越来越大。基于大型场馆的室内定位技术与服务也越来越得到人们的关注。室内定位的技术与服务中一个极其重要的组成部分即是位置共享。

随着展览场馆规模的扩大以及内部结构的复杂化,其所容纳的人流也越来越大。人们在参观大型场馆时,一个极容易发生的问题就是朋友/母子走散,这时一方就需要获取对方的位置。传统的解决方案有:

(1)百度地图等地图供应商集成的室内定位和位置共享技术。这种解决方案依赖于被请求方主动应答请求方的位置请求的能力,而这种假设往往是不切实际的,对于被请求方是儿童或者被请求方的移动端处于非标准状态(如静音)等情况,被请求方无法回答请求方的位置请求。

(2)基于硬件的室内位置实时更新方案。专利号CN109141439A公开了一种防走失的室内定位系统及定位方法。这种解决方案通过可穿戴设备实时更新用户的位置信息。专利号CN104977003A提出了一种基于共享轨迹的室内寻人方法,其特征在于,包括:实时获取目标终端的运动数据;根据实时获取目标终端的运动数据,确定目标终端的室内行走轨迹;向其他终端或指定终端共享该目标终端的室内行走轨迹,供其导航至目标终端的当前位置。但是此类方案存在严重的隐私泄露问题。对于室内定位这种高精度的定位,其包含了用户的极高的隐私信息。

(3)基于智能手机室内位置共享的方法。针对GPS室内定位精度较低,难以实现准确的室内位置共享的问题。目前存在一种智能手机室内位置共享的方法,主要包括室内定位和路径规划2个部分,实验结果表明,该方法能够在有效提高室内定位精度的同时,结合室内位置共享和路径规划实现快速准确的室内寻人寻址。但是这种方案依赖于一个中心化的第三方服务器传递位置请求者和位置被请求者之间的消息,第三方服务器同样造成严重的隐私泄露问题。

发明内容

鉴于现有技术的问题和不足,本发明提出了一种室内定位环境下的一种基于区块链的位置寻呼和自动应答机制。

本发明的主要目的是为了解决以下几个问题:

·严重依赖于位置被请求方具有能够应答位置请求方位置请求的假设。而事实上,这种假设往往不成立。本发明通过区块链建立一个可信、安全的环境,在此环境下,位置被请求方允许自动回答位置请求方的位置请求。

·基于硬件的实时位置更新会带来极大的位置隐私隐患,因此需要上层的隐私保护机制。本发明通过设计一个带双向隐私保护的位置寻呼和自动应答机制能够很好地解决位置共享和隐私保护的双重需要。

依赖第三方服务器进行位置请求者和位置被请求者之间的消息的传递会带来新的隐私泄露问题。本发明所使用的底层技术即区块链天然即是去中心化的,构建在区块链之上的隐私保护机制同样也能使得位置寻呼和自动应答能够避免区块链的透明、公开所带来的一些额外的问题。

技术方案

一种基于区块链的位置寻呼和自动应答方法,其特征是,本发明是通过下述步骤来解决上述技术问题,包括:

步骤一:本发明使用超级账本技术(Hyperledger Fabric)对室内场馆和场馆中的人流进行建模,超级账本技术(Hyperledger Fabric)的架构如图1所示。通过超级账本技术中的Fabric-CA模块对场馆中的人流进行身份认证以及通过基于属性的访问控制技术(Attribute-Based-Access-Control)对场馆中的人流进行身份识别。

步骤二:本发明通过使用秘钥协商算法建立双向的隐私保护机制,这种双向的隐私保护机制配合双向的位置共享能够实现位置共享和隐私保护的自动化。通过将位置共享和隐私保护的过程自动化,能够将人们从不必要的交互(如:什么时候可以确定协商秘钥、什么时候可以加密位置信息等)中解放出来,这也是本发明的最大的创新所在。

下面,将会对上述两大步骤进行详细描述。

步骤一:超级账本技术(Hyperledger Fabric)对室内场馆和场馆中的人流进行建模。

拥有若干个子场馆(子场馆1、2、3、4、n),同样地,将联盟链的基础架构调整为一个组织(Organization)、n个Peer节点(P1、P2、P3、P4、Pn)、一个CA节点,这n个Peer节点在同一个通道(Channel)中。相应地,这n个Peer节点分别对应于n个子场馆(1、2、3、4、n)。假设n个场馆均有进馆口,那么在入口处,游客可获得CA节点颁发的身份证书。自动地,用户在使用基于区块链的位置寻呼和自动应答服务时,会根据其所在的场馆自动连接Peer节点进行服务请求和访问。

考虑到人流在室内场馆中的流动,人流和Peer节点的关系是动态的,而这一点在Hyperledger Fabric技术里能够很好满足。在Hyperledger Fabric中,一个组织对应于一个CA,这个CA负责颁发和管理此组织下所有用户的身份证书。只要是同一个组织(Organization)下的用户(user),那么用户可连接到该组织下的任意Peer节点进行基于区块链的服务的请求和访问。因此,不管是在哪个子场馆下,人流均可根据其所在的子场馆进行Peer节点的切换。

步骤二:使用秘钥协商算法建立双向的隐私保护机制,实现位置寻呼和自动应答。

首先,明确为什么需要建立双向的隐私保护机制。隐私保护机制其本质上是对隐私信息的加密和解密。在Hyperledger Fabric中,一个固有的解决方案是隐私信息的拥有者使用隐私信息请求者们的公钥加密隐私信息,然后将其包装在一个交易中发送给隐私信息请求者们,如图3所示。但是这个方案最大的缺点在于这个交易信息会随着隐私信息请求者们的数目增加而增大。而在Hyperledger Fabric中,一个交易的大小是有限制的,不允许随着隐私信息请求者们的数目增加而增大到超出其限制。此外,即使是隐私信息的拥有者一次只回答一个请求者的请求,在位置请求和应答的场景中,双向的位置共享也比单向位置共享要有优势,比如基于位置请求方的位置信息,位置拥有者可对位置请求方进行一基于地理位置的身份认证。因此,本发明通过对原始的Diffie-Hellman算法的改进从而使得参与双向位置共享的双方协商出后续共享位置的秘钥。在介绍本发明所提出的算法之前,有必要阐述原始的Diffie-Hellman算法原理,假设一次Diffie-Hellman会话的参与双方分别是A和B,一次完整的交互过程如下所示:

实际上,本发明提出的双向位置寻呼和自动应答和隐私保护是对传统的位置共享模式的统一和创新。

在传统的解决方案中,位置寻呼和应答往往是单向的且是C/S(客户端/服务器)模式的。在单向C/S模式下,位置信息的请求者叫做位置请求者,位置信息的被请求者叫做位置拥有者。在此模式下,主要有两种情况:(1)位置请求者请求位置拥有者的位置信息,位置拥有者接收到请求后回复位置请求者它的当前位置。(2)位置拥有者主动暴露给位置请求者它的当前位置。针对这两种情况,传统的解决方案一般是在位置请求者和位置拥有者之间使用约定的加密方案并对这两种情况进行具体情形具体分析,且在此过程中,需要位置拥有者和位置请求者较频繁的的主动参与。

为了能够以一种算法处理传统的单向C/S模式下位置共享的两种情况,本发明通过自设计的算法将上述提到的两种情况统一处理为双向的P2P模式的位置共享。在双向的P2P模式的位置共享模式下,不再有单一的位置请求者和位置拥有者的角色,因为参与双向位置共享的双方均是位置请求者,同时也是位置拥有者。在基于双向的P2P模式的位置共享之前,本发明通过对原始的Diffie-Hellman算法的改进从而使得参与双向位置共享的双方协商出后续共享位置的秘钥,整个机制的具体流程如图4所示。此外,在超级账本技术建立的可信环境下,本发明自设计的算法能够将整个过程进行自动化,从而将用户从较频繁的主动参与中解放出来。

因为本发明实现的位置寻呼和自动应答机制是双向的,并且对于一次双向位置寻呼和自动应答的参与者双方来说,其所要做的操作是对称的,因此,只需描述一方的操作即可。假设某次双向位置寻呼和自动应答会话参与者分别是A和B,对于参与者A来说,带隐私保护的位置寻呼和自动应答算法的具体步骤如下:

A1,在通讯录里找到位置寻呼的另一方B;

A2,A先向B发送一条秘钥协商消息;

A3,A和B自动完成剩余的秘钥协商和位置共享操作;

其中,步骤A1中的通讯录使用Fabric-CA的ABAC对其签发的用户的身份证书添加唯一不重复的属性(Key-Value)用以标识用户的身份,如给用户A的身份证书添加属性-值为(UserId-UA)。步骤A2和步骤A3则涉及到具体的的位置寻呼和自动应答算法,对于参与者A来说,该算法的单边过程如下所示:

A1,确定此次位置寻呼和应答会话的相关输入参数;

A2,初始化变量:A的变量初始化为From=null,To=null,Seq=1,K=null;

A3,A调用计算模块SendAKeyAgr发送一条秘钥协商消息;

A4,A调用计算模块RevAndAgr完成剩余的秘钥协商操作;

A5,A调用计算模块SendLmToTheOther完成己方的加密位置发送操作;

A6,A调用计算模块DecryptLm4TheOther完成解密对方发送的加密位置;

在上述的Algorithm 2中,本发明定义了四个计算模块,下面分别对这四个计算模块进行描述。

1.计算模块SendAKeyAgr的步骤如下:

A1,调用智能合约的CreateAKey方法生成一条秘钥协商消息;

A2,每生成一条秘钥协商消息,更新己方的From变量,From←UA;

A3,每生成一条秘钥协商消息,更新已方的Seq变量,Seq←Seq+1;

其中,智能合约的CreateAKey方法属于本发明核心算法的辅助方法,其旨在根据输入生成一条秘钥消息,下面简要介绍其输入、输出和功能。

2.计算模块RevAndAgr的步骤如下:

B1,当己方的Seq<4时,循环进行B2~B7操作:

B2,调用智能合约的QueryMyKeys方法,获取所有接受方为自己的秘钥协商消息;

B3,从所有的秘钥协商消息中找到和己方Seq变量值相同的sequence的那条秘钥协商消息result[i],此秘钥协商消息即为此次处理所需要的那条秘钥协商消息;

B4,如果此时已方的From变量不为空,那么更新己方的To变量To←result[i].to;

B5,将已方的Seq值更新为Seq←Seq+1;

B6,如果已方的Seq值小于4,那么调用计算模块SendAKeyAgr发送秘钥协商消息;

B7,如果已方的From==To时,己方即可计算出此次秘钥协商会话的协商秘钥K←(Yx)mod p,退出循环;

其中,智能合约的QueryMyKeys方法属于本发明的核心算法的辅助方法,其旨在根据输入查询指定的秘钥消息,下面简要介绍其输入、输出和功能。

3.计算模块SendLmToTheOther的步骤如下:

C1,使用协商秘钥K作为对称加密函数encrypt的输入,并使用encrypt函数加密己方的位置;

C2,调用智能合约的CreateALocation方法生成加密位置消息;

其中,智能合约的CreateALocation方法属于本发明的核心算法的辅助方法,其旨在根据输入创建一条加密位置消息。下面简要介绍其输入、输出和功能。

4.计算模块DecryptLm4TheOther的步骤如下:

D1,调用智能合约的QueryMyLocations方法查询发送给己方的所有加密位置消息;

D2,遍历所有加密位置消息,查询此处会话中的对方发送给己方的加密位置消息location[i];

D3,使用协商秘钥K解密对方发送给己方的加密位置消息。

其中,智能合约的QueryMyLocations方法属于本发明的核心算法的辅助方法,其旨在根据输入查询指定的位置消息。下面简要介绍其输入、输出和功能。

Algorithm 2位置寻呼和自动应答算法的单边流程以及计算模块之间的关系如图6所示,在一次位置寻呼和自动应答会话的过程中,参与者双方均先需要初始化图6中所示的变量,初始化完成后,参与者双方便依次调用SendAKeyAgr、RevAndAgr计算模块完成秘钥的协商,SendLmToTheOther、DecryptLm4TheOther计算模块完成位置的加密和解密。

本发明上述技术方案,在传统的单向的位置共享的基础上提出了一种自动化的算法从而实现高隐私保护的双向的位置寻呼和自动应答机制。其主要技术效果主要有以下三点:

(1)本发明使用联盟链(Hyperledger Fabric)对室内场馆和场馆中的人流进行建模,通过区块链建立一个可信、安全的环境,在此环境下,位置被请求方允许自动回答位置请求方的位置请求,从而使得位置被请求方能够做到“有求必应”。

(2)在(1)的基础上,本发明通过对传统位置共享两种情况的分析发现,传统的算法只能针对具体情况进行具体分析并进行具体隐私保护,并且在这种交互过程中往往需要用户较频繁的参与。因此本发明实现了对传统位置共享两种情况的统一,实现了一个算法处理两种情况,并提出了双向的基于P2P的位置寻呼和自动应答机制。

(3)在(2)中提到的双向的基于P2P的位置寻呼和自动应答机制中,本发明通过对原始Diffie-Hellman秘钥协商协议的改进,实现了双向的隐私保护,并成功实现将整个位置寻呼和应答过程自动化,从而将用户从不必要的主动交互中解放出来。

此外,以下是本发明两个附带的技术效果:

(1)本发明使用的Diffie-Hellman秘钥协商协议本身即存在中间人攻击(middle-in-man attacks)的问题,通过将其和联盟链结合,能够弥补Diffie-Hellman秘钥协商协议易受到中间人攻击的问题。

(2)本发明所使用的底层技术即区块链天然即是去中心化的,构建在区块链之上的隐私保护机制同样也能使得位置寻呼和自动应答能够避免区块链的透明、公开所带来的一些额外的问题。

附图说明

图1.Hyperledger Fabric架构图

图2.基于Hyperledger Fabric的室内场馆和人流模型

图3.Hyperledger Fabric固有的隐私加密解决方案

图4本发明所提机制的流程图

图5.双向位置寻呼和自动应答的两种情况

图6.位置寻呼和自动应答算法单边流程

图7.一次完整的位置寻呼和应答会话流程

具体实施方式

下面结合附图以及具体实施例对本发明解决的问题、技术方案以及实现的技术效果进行清楚、完整的描述。

考虑场景:

因为本发明实现的双向位置寻呼和自动应答机制是P2P的。对于一次双向位置寻呼和自动应答的参与者双方来说,如果按照谁先发起位置寻呼来说,可分为两种情况,这两种情况示意图如图5所示。这两种情况本质上无任何差别,唯一的区别在于谁先发起位置寻呼。

以一个拥有四个子场馆(子场馆1、2、3、4)的大型场馆举例。同样地,将联盟链的基础架构调整为一个组织(Organization)、四个Peer节点(P1、P2、P3、P4)、一个CA节点,这四个Peer节点在同一个通道(Channel)中。相应地,这四个Peer节点分别对应于四个子场馆(1、2、3、4)。假设四个场馆均有进馆口,那么在入口处,游客可获得CA节点颁发的身份证书。自动地,用户在使用基于区块链的位置寻呼和自动应答服务时,会根据其所在的场馆自动连接Peer节点进行服务请求和访问,具体如图2所示。

假设某次双向位置寻呼和自动应答会话参与者分别是A和B(即图5的左一所示),参与者A先发送一条秘钥协商消息(MAKN),参与者B收到来自参与者A发来的秘钥协商消息后,自动发送一条秘钥协商消息(MBKN)给参与者A,之后,参与者A收到来自参与者B发来的秘钥消息之后,再次发送一条秘钥协商消息(MAKN)给参与者B,同时对于参与者A来说,其已可以确定协商秘钥,因此可以加密当前位置(MAL)发送给参与者B.对于参与者B来说,其在第二次收到来自参与者A的秘钥协商消息后,也会自动计算出协商秘钥,所以同样可以加密当前位置(MBL)发送给参与者A。参与者A,B双方在收到来自对方的加密位置消息后,均可以使用计算出的协商秘钥解密出明文状态的位置消息(lA,lB)。

上述中,A和B双方使用Algorithm 2位置寻呼和自动应答单边算法交互的具体过程如下所示:

A1,确定此次位置寻呼和应答会话的相关输入参数:A的UserId UA,B的UserIdUB;两个素数p和g,其中g是p的本原根。此次双向位置寻呼和自动应答会话ID sessionid;A选择一个随机数x作为它的私钥并计算出的公钥X;B选择一个随机数y作为它的私钥并计算出的公钥Y;A的当前位置LA;B的当前位置LB,对称加密算法encrypt和decrypt;

A2,双方初始化变量:A的变量A.From=null,A.To=null,A.Seq=1,A.K=nullB的变量B.From=null,B.To=null,B.Seq=1,B.K=null

A3,A执行以下计算模块:

SendAKeyAgr(A.Seq,X,UA,UB,sessionid)

RevAndAgr(x,Y,sessionid)

SendLmToTheOther(K,LA,sessionid)

DecryptLm4TheOther(K,sessionid)

A4,B执行以下计算模块:

RevAndAgr(y,X,sessionid)

SendLmToTheOther(K,LB;,sessionid)

DecryptLm4TheOther(K,sessionid)

A5,A,B双方均能获得相同的协商秘钥K,且A,B双方均可使用协商秘钥K加密己方位置发送给对方,并解密得到对方的位置信息,A的位置(明文)LA,B的位置(明文)LB

此外,需要注意的是,在实际的部署中,计算模块SendLmToTheOther和DecryptLm4TheOther可以嵌入到计算模块RevAndAgr中,只要双方保持计算模块RevAndAgr处于运行中的状态即可,只要一方调用SendAKeyAgr计算模块,则双方的位置寻呼和应答即可自动完成。

A,B双方一次完整的位置寻呼和应答会话流程如图7所示。

经实际验证,本发明所提的核心算法工作正常,达到本发明的目的。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:大规模网络下触发型数据的部分区域可靠收集方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类