一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的边缘轨迹保护方法与流程

2021-11-18 01:46:00 来源:中国专利 TAG:


1.本发明涉及一种基于区块链的边缘轨迹保护方法,属于区块链隐私保护技术领域。


背景技术:

2.边缘设备(edge device),是向企业或服务提供商核心网络提供入口点的设备。例如路由器、路由交换机、集成接入设备(iad)、多路复用器,以及各种城域网(man)和广域网(wan)接入设备。随着物联网(iot)和云计算的出现,边缘设备比以往任何时候都更加重要。
3.边缘设备有多种用途,但其核心是充当入口点或出口点,并控制两个网络之间边界或周边的数据流。对于使用不同协议的网络,除了连接之外,边缘设备还提供流量转换。边缘设备具有使计算更加灵活可控的优势,成为许多企业广泛使用的技术。这些边缘设备可以相互交换信息。
4.目前,大多数交易平台是集中式的,其数据处理和调度控制依赖于可信第三方,容易出现单点故障。而区块链具有防篡改、可追溯、分布式的特性,是构建安全可信的交易平台最有前途的技术之一。
5.区块在生成过程中,利用空闲的边缘计算资源可以有效提高区块链的实现效率。许多最新研究已经开始探索区块链和边缘轨迹的融合方式,但目前很少有可落地的解决方案。此外,现有的轨迹保护方法并没有很好地考虑群体特征提取对聚类的影响,忽略了匿名区域间协作机制设计问题。
6.对于基于数据驱动的应用,加密数据才是安全的存储状态。在加密域中,吹敏感数据可以有效防止隐私泄露,但是,现有的如同态加密等方法,算法复杂度高,无法抵抗多变的攻击。
7.早期区块链的构建主要依赖传统哈希函数,历史数据一经确认就无法修改。随着可编辑区块链的出现,为区块链的发展提供了一种新的思路。可编辑区块链致力于在保障区块链安全可信等良好性质的前提下,实现链上数据的可控编辑操作。目前,可编辑区块链仍然存在可编辑性与安全性的冲突、编辑权限的竞争、上下文相关交易编辑限制等多种问题。


技术实现要素:

8.本发明的目的是为了克服现有技术存在的不足,为将边缘轨迹与区块链技术相结合,旨在建立一种安全的轨迹信息数据保护机制,解决数据共享中的边缘轨迹保护的技术问题,提出一种基于区块链的边缘轨迹保护方法。
9.本发明的创新点在于:提取区域特征,将其聚类为位置序列。设计了加密算法,为授权节点制定筛选规则。构造轨迹熵抑制评估代价函数,然后部署智能合约。从而实现区块链系统的高效性、可靠性和可扩展性。
10.为了达到上述目的,本发明采取如下技术方法。
11.首先,说明相关概念:
12.定义1:边缘计算
13.是相对传统集中通用计算而言,将工作负载部署在边缘的一种计算方式。在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端的服务。其应用程序在边缘侧发起,产生更快的网络服务响应。
14.定义2:轨迹数据
15.是指时空环境下,通过对移动对象运动过程的采样所获得的数据信息,包括采样点位置、采样时间、速度等。这些采样点数据信息根据采样先后顺序构成轨迹数据。
16.例如,在车联网中,用户频繁需要获取位置信息,不断需要基于位置的服务,移动用户也连续不断地向服务器发送查询请求。这些信息根据时间序列和位置序列,形成用户的轨迹信息。
17.定义3:轨迹隐私保护
18.是指用户的运动轨迹本身含有的敏感信息(如用户去过的一些敏感区域等),或者通过运动轨迹推导出的其他个人信息(如家庭住址、工作单位、健康状况和生活习惯等)。
19.因此,轨迹隐私包含既要保证轨迹本身的敏感信息不泄露,又要防止攻击者通过轨迹推导出其他个人信息。
20.定义4:区块链账本
21.是指用来存储用户轨迹信息的分布式共享数据库。
22.定义5:轨迹熵抑制
23.基于信息熵的轨迹抑制方法,是指为轨迹数据建立基于熵的流量图,根据轨迹时空点信息熵的大小设计合理的代价函数,具备抑制时空点以达到隐私保护的目的。
24.定义6:代价函数评估序列
25.是指将堆积事件或有关堆积变量的取值映射为非负实数以表示该随机时间的“风险”或“损失”的函数。代价函数通常作为学习准则与优化问题相联系,即,通过最小化代价函数求解和评估模型。
26.定义7:merkle树
27.指一种树形的数据结构,其任意父节点等于左右子节点数据相加后哈希的结果。
28.定义8:chameleon哈希函数
29.指将任意长度输入的字串转换成一个固定长度的字串,通过原始字串可以很容易地算出转换后的字串,通过转换后的字串很难还原出原始字串。chameleon哈希函数可以人为设置一个“弱点”或“后门”,掌握之后就能轻松找到碰撞。虽然一定程度上破坏了区块链的去中心化和不可撤销性,但是为可编辑区块链提供了新思路。
30.一种基于区块链的边缘轨迹保护方法,包括以下步骤:
31.步骤1:生成高置信区块。
32.步骤1.1:提取细粒度敏感属性。粗粒度敏感属性提取无法挖掘出复杂轨迹中蕴含的丰富隐私信息,而细粒度敏感属性是指对轨迹分类具有更强辨识力的特征,包括时间信息、所在位置、瞬时移动特征、行为特征、轨迹特征等。
33.设该数据有n个属性,形成属性集合x={x1,x2,

,x
i


,x
n
}。
34.设用户对敏感属性x
i
的预期值为p
i
,则所有属性的预期值集合为p={p1,p2,


p
i


,p
n
}。每个属性的熵表示为e
i
,其计算方法如下:
[0035][0036]
每个属性的权重w
i
计算方法如下:
[0037][0038]
然后,将属性按权重从大到小排序,选取前d个属性作为特征,按特征维数先后次序提取其细粒度敏感属性。
[0039]
步骤1.2:基于一个整数多项式环,构造双重加密算法。
[0040]
其中,第一次加密利用随机整数得到公钥,并随机选取一个整数集合输出其密文。重加密时取任意素数得到新公钥,利用第一次加密得到的密文和新公钥,得到新密文。
[0041]
步骤1.3:搭建merkle树,生成区块。
[0042]
首先,对数据中的所有敏感属性的权值求和,得到该数据的敏感度。
[0043]
然后,将m个数据进行哈希运算,并将结果存储在叶子节点中。选取敏感度最大的两个叶子节点再进行哈希运算,生成中间节点。不断重复该过程,得到merkle树。
[0044]
权重w
i
越大的细粒度敏感属性,其敏感度越高。而敏感度越高的数据哈希的次数越多,其安全性越高。
[0045]
步骤2:构建区块链。
[0046]
步骤2.1:筛选授权节点。
[0047]
当区块链中部分块的内容出现错误、损坏需要修改时,由授权节点表决是否同意修改。其中,授权节点从可信度排名前1/3的节点集合中选取授权节点总数的3/4,从可信度排名后2/3的节点集合中选取授权节点总数的1/4。
[0048]
由于授权节点每次均从满足条件的集合中随机选取,能够有效避免恶意节点的针对性攻击。
[0049]
步骤2.2:基于环序列,计算chameleon哈希函数。
[0050]
首先,对原始数据m和任意随机数r,授权节点进行环序列计算,得出密钥。
[0051]
然后,计算新的随机数r’,使原始数据m与加密数据m

的哈希值相等。
[0052]
步骤2.3:基于神经网络,验证区块。
[0053]
当区块链中的区块需要修改时,提取已知合法块i的身份信息和未知块j的身份信息。
[0054]
比较i和j的区块标识号id是否一致,若不一致,则认为块j不是克隆块。否则,使用神经网络训练数据集生成一个满足识别率的模型,若神经网络模型的输出result=1,则块j是合法块,否则j是非法块。之后,用合法块j替代原损坏区块,从而保证区块链的完整性。
[0055]
步骤3:基于智能合约进行边缘轨迹保护。
[0056]
步骤3.1:提取群体特征,生成匿名区域。
[0057]
首先,定义时刻t的用户位置,结合时间维度信息计算轨迹变化量,将结果进行聚类处理。
[0058]
然后,提取动态特征,形成空间序列。
[0059]
最后,按空间序列划分位置,形成匿名区域。
[0060]
步骤3.2:轨迹熵抑制。
[0061]
用户的轨迹熵h
k
的计算方法如下:
[0062][0063]
其中,p
i
为用户轨迹出现的概率。轨迹熵衡量轨迹的混乱程度,轨迹熵越低表明轨迹越有序。
[0064]
恶意节点攻击轨迹的代价函数如下:
[0065][0066]
其中,ω是代价参数,e
i
表示区域和用户之间的关联性。
[0067]
通过抑制轨迹熵,使攻击者很难分辨出用户的真实轨迹,从而达到轨迹保护的目的。
[0068]
步骤3.3:设置智能合约,具体如下:
[0069]
首先,发送方利用加密函数将原始数据加密后得到加密数据,并将其存储到区块链上,部署智能合约,通过匿名区域协作,制定共享协议。
[0070]
然后,用户根据共享协议发送需求信息,将需求广播到节点网络中。智能合约更新交易后的反馈信息,并进行匹配。
[0071]
接收方接受到信息后,利用解密函数进行解密。利用智能合约管理节点,通过可信节点保护处理结果,确保每条记录可追踪。如果用户违反共享协议,用户将被限制获取剩余信息。
[0072]
有益效果
[0073]
本发明方法,与现有技术相比,具有如下优点:
[0074]
1.本方法具有良好的隐私性,具体表现为:充分考虑了用户隐私泄露问题,从移动边缘设备信息的敏感属性选择和轨迹熵抑制等关键问题出发,提取数据的敏感属性并进行改进,抑制轨迹熵使攻击者很难分辨出用户的真实轨迹,有效保护了用户边缘轨迹信息。
[0075]
2.本方法具有良好的安全性,具体表现为:涉及加密算法,开发了一种授权节点筛选机制,保证了密钥生成的安全性。此外,利用神经网络训练数据集来获取合法区块的识别模型,构建安全高效的可编辑区块链。
[0076]
3.本方法具有良好的可靠性和可用性,具体表现为:研究了安全控制机制与用户位置的关系,设计了特定智能合约规则来解决数据共享过程中的边缘轨迹保护问题。
附图说明
[0077]
图1为本发明方法的流程图。
具体实施方式
[0078]
下面结合附图和实施例对本发明方法的具体实施过程做进一步详细说明。
[0079]
实施例
[0080]
以车联网为例,在车联网中,用户频繁需要获取位置信息,不断需要基于位置的服务,移动用户也连续不断地向服务器发送查询请求。这些信息根据时间序列和位置序列,可以形成用户的轨迹信息。轨迹隐私是指用户多个位置信息被泄露的情况下,攻击者根据时
间序列将多个位置信息生成用户的移动轨迹,从而通过挖掘轨迹信息推断用户的个人信息。
[0081]
如图1所示,具体地,本实施例详细阐述了基于区块链的边缘轨迹保护方法,其系统性能表现由访问频率对轨迹熵的影响以及匿名级别对执行时间的影响来体现。
[0082]
本实施例描述了采用本发明所述方法对用户边缘轨迹进行隐私保护。
[0083]
包括如下过程:
[0084]
步骤1:生成高置信区块。
[0085]
步骤1.1:根据轨迹数据的n个属性构成属性集合x={x1,x2,

,x
i


,x
n
}。
[0086]
用户对每个敏感属性x
i
都有相应的期望值p
i
,构成所有属性保护的期望值集合p={p1,p2,

,p
i


,p
n
},根据下式得到每个属性熵e
i
和属性权重w
i

[0087][0088][0089]
然后,将属性按权重从大到小排序,选取前d个属性作为特征,按特征维数先后次序提取其细粒度敏感属性。
[0090]
步骤1.2:基于整数多项式环,构造双重加密算法。具体如下:
[0091]
设f
p
[x]是整数多项式集合,f[x]是整数多项式,且f[x]∈f
p
[x],设计基于f(x)的双重加密算法,包括以下步骤:
[0092]
步骤1.2.1:一次加密利用随机整数得到公钥,并随机选取一个整数集合输出其密文。
[0093]
当一次加密的秘钥生成时,首先选择随机整数a
i
和r
i
,生成公钥p
k
=<b0,b1,...,b
n
>,其中,b
i
的生成方法如式7:
[0094]
b
i
=a
i
f[x] r
i
(i=1,2,...,n)
ꢀꢀ
(7)
[0095]
其中n为属性数,且b0是公钥p
k
中最大的元素。
[0096]
步骤1.2.2:重加密任取任意素数得到新公钥,利用第一次加密得到的密文和新公钥,得到新密文。
[0097]
在二次加密的秘钥生成时,任意取素数p和k,生成新的公钥p

k
=<p
k
,v1,v2,...,v
i
,...,v
n
>,元素v
i
满足u
i
满足以下条件:
[0098][0099]
其中,s为数据的敏感属性集。
[0100]
步骤1.3:搭建merkle树,生成区块。
[0101]
首先,将数据的所有敏感属性的权重相加,得到该数据的敏感度s
i

[0102]
然后,将m个数据d
i
进行哈希运算hash(d
i
),并将结果存储在叶子节点中。选取敏感度最大的两个叶子节点再进行哈希运算hash(hash(d
i
) hash(d
j
)),生成中间节点。不断重复该过程,得到merkle树。
[0103]
权重w
i
越大的细粒度敏感属性,其敏感度越高。而敏感度越高的数据哈希的次数越多,其安全性越高。
[0104]
步骤2:构建区块链。
[0105]
步骤2.1:筛选授权节点。
[0106]
设n是所有节点的集合,n
i
代表可信度排名在前1/3的节点。当区块链中部分块的内容出现错误、损坏需要修改时,由授权节点表决是否同意修改。授权节点由节点集合a和节点集合b两部分,a和b满足以下条件:
[0107][0108]
其中,a和b分别由从集合n
i
和(n

a)中随机选择的授权节点组成。
[0109]
由于每次从满足条件的集合中随机选择授权节点,能够有效避免恶意节点的定向攻击。
[0110]
步骤2.2:基于环序列,计算chameleon哈希函数。
[0111]
首先,对原始数据m和任意随机数r,授权节点进行环序列计算,得到密钥。然后,计算新的随机数r

,使原始数据m和加密数据m

的哈希值相等。
[0112]
具体过程如下:
[0113]

lch.setup(λ)

(par
lch
)。
[0114]
向循环chameleon哈希函数lch的设置函数setup输入安全参数λ,得到系统参数par
lch

[0115]

lch.keygen(par
lch
)

((c1·
...
·
c
k
),h
k
)。
[0116]
向lch的密钥生成函数keygen输入par
lch
后,k个授权节点进行环形序列计算,在k轮环序列之后,输出公钥h
k
和私钥(c1,c2,...,c
k
)。
[0117]

lch.hash(h
k
,m,r)

(h)。
[0118]
向lch的哈希函数hash输入公钥h
k
、原始数据m和随机数r,输出哈希值h。
[0119]

lch.f orge((c1·
...
·
c
k
),(m,h,r),m

)

(r

)。
[0120]
向lch的融合函数forge中输入私钥(c1,c2,...,c
k
)、原始数据m、哈希值h、随机数r和加密数据后,生成新的随机数r


[0121]
通过上述步骤,得到哈希碰撞如下:
[0122]
lch.hash(h
k
,m,r)=lch.hash(h
k
,m

,r

)
ꢀꢀ
(10)
[0123]
步骤2.3:基于神经网络,验证区块。
[0124]
当区块链中的区块需要修改时,提取已知合法块i的身份信息和未知块j的身份信息。
[0125]
比较i和j的区块标识号id是否一致,若不一致,则认为块j不是克隆块。否则,使用神经网络训练数据集生成一个满足识别率的模型,若神经网络模型的输出result=1,则块j是合法块,否则j是非法块。之后,用合法块j替代原损坏区块,从而保证区块链的完整性。
[0126]
步骤3:基于智能合约进行边缘轨迹保护。
[0127]
步骤3.1:提取群体特征,生成匿名区域。
[0128]
设t时刻用户位置为loc
t
,结合时间维度信息计算轨迹变化l,l计算公式如下:
[0129]
[0130]
轨迹变化信息的计算基于时间维度信息,对计算结果进行聚类并抽取其动态特征λ
c
。定义构成空间序列<e1,e2,...,e
n
>。根据空间顺序划分位置,形成匿名区域,从而混淆用户的真实数据,避免用户真实位置泄露,保护边缘隐私信息。
[0131]
进一步地,本发明提出了一种虚假轨迹生成方法,包括以下步骤:
[0132]
设用户在g
×
g个网格中移动,用户根据已知的背景信息、当前位置和目的地,确定真实的移动轨迹。用户的最大移动速度为v
max

[0133]
首先,根据用户的真实轨迹,将其划分为若干时间点,确定用户每次在服务请求时间δt发送服务请求(具体可以通过设置系统的时间间隔来确定δt的设置)。然后,根据划分的g
×
g个网格,得到历史发送概率,找出圆形区域中接近真实定位点历史传输概率的网格,并在这些网格中生成虚假位置。
[0134]
最后,计算两个真实位置之间的位置转移概率,选择最接近位置转移概率的轨迹段,并将其连接起来,形成虚假轨迹。
[0135]
进一步地,本发明提出了一种匿名区域生成方法,包括以下步骤:
[0136]
首先,使用虚假轨迹生成方法,根据真实轨迹构建q

1条虚假轨迹,q为总的轨迹条数;
[0137]
然后,对于每条轨迹,获取用户当前位置及用户所在小区间标号,根据用户当前位置,从周边小区间中采用位置空间k匿名方法,获取k

1个匿名后形成的小区间,并记录区间的横纵坐标位置信息。每个用户的位置由相应的区域来表示,不必暴露具体位置,从而保护了用户的隐私。
[0138]
最后,基于给定的匿名集合计算匿名区域。匿名集中每个用户对应的区域被逐一合并,形成最终的匿名区域。匿名区域含所有用户的最小区域。
[0139]
步骤3.2:轨迹熵抑制。
[0140]
用户的轨迹熵h
k
的计算方法如下:
[0141][0142]
其中,p
i
为用户轨迹出现的概率。轨迹熵衡量轨迹的混乱程度,轨迹熵越低表明轨迹越有序。
[0143]
恶意节点攻击轨迹的代价函数如下:
[0144][0145]
其中,ω是代价参数,e
i
表示区域和用户之间的关联性。
[0146]
通过抑制轨迹熵,使攻击者很难分辨出用户的真实轨迹,从而达到轨迹保护的目的。
[0147]
步骤3.3:设置智能合约,具体如下:
[0148]
首先,发送方利用加密函数将原始数据加密后得到加密数据,并将其存储到区块链上,部署智能合约,通过匿名区域协作,制定共享协议。
[0149]
然后,用户根据共享协议发送需求信息,将需求广播到节点网络中。智能合约更新交易后的反馈信息,并进行匹配。
[0150]
接收方接受到信息后,利用解密函数进行解密。利用智能合约管理节点,通过可信节点保护处理结果,确保每条记录可追踪。如果用户违反共享协议,用户将被限制获取剩余信息。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献