CN113312652B - 基于改进cat的云边协同电力终端采集数据完整性验证系统 - Google Patents
基于改进cat的云边协同电力终端采集数据完整性验证系统 Download PDFInfo
- Publication number
- CN113312652B CN113312652B CN202110714067.1A CN202110714067A CN113312652B CN 113312652 B CN113312652 B CN 113312652B CN 202110714067 A CN202110714067 A CN 202110714067A CN 113312652 B CN113312652 B CN 113312652B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- query
- cloud server
- edge
- 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
- 238000013496 data integrity verification Methods 0.000 title claims abstract description 29
- 238000012795 verification Methods 0.000 claims abstract description 36
- 238000012544 monitoring process Methods 0.000 claims abstract description 33
- 238000003780 insertion Methods 0.000 claims description 36
- 230000037431 insertion Effects 0.000 claims description 36
- 241000122205 Chamaeleonidae Species 0.000 claims description 33
- 238000004422 calculation algorithm Methods 0.000 claims description 32
- 230000002776 aggregation Effects 0.000 claims description 22
- 238000004220 aggregation Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 18
- 230000006872 improvement Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 7
- 238000004146 energy storage Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000549194 Euonymus europaeus Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010891 electric arc Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000009628 steelmaking Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
基于改进CAT的云边协同电力终端采集数据完整性验证系统,包括:可信任第三方平台、终端设备、半可信的边缘节点、云服务器和数据使用者;一个边缘节点对终端设备的密文数据聚合后和改进CAT的结构信息发给云服务器;云服务器更新改进CAT结构,并对聚合后的密文数据进行存储,向数据使用者返回查询数据和认证路径;数据使用者,对获取的处于数据查询范围内的全部电能监测数据一次性进行完整性验证。该系统有效地对云边端协同环境下的电能流式数据进行完整性验证,能够发现对数据的篡改行为,并且支持对数据的机密性保护以及对指定范围内的数据进行批量获取和验证,从而确保电能流式数据的使用者能够高效的对数据进行查询和验证。
Description
技术领域
本发明涉及电能质量监测技术领域,更具体地,涉及基于改进CAT的云边协同电力终端采集数据完整性验证系统。
背景技术
现代电力系统中用电负荷结构发生了重大变化,半导体整流器、晶闸管调压及变频调整装置、炼钢电弧炉、电气化铁路和家用电器等负荷迅速发展,这些具有非线性、冲击性以及不平衡性的用电负荷,对供电电能质量造成沿着的干扰和污染。而采用电力终端设备采集数据是电能监测系统获得电能相关数据的最直接手段,也是后续深入应用研究的前端。
基于通信技术和装备的升级,现有的电能监测系统综合数据采集管理、电能质量指标在线统计、电能质量指标在线分析、电网安全风险在线分析以及质量监督管理等多种功能模块,形成不同规模和层次的面向云边端协同环境的网络化系统,电能监测系统的采集数据的及时率和完整率是保证系统可靠性的前提。
现有技术中,在面向边缘计算环境时,电能监测系统的网络边缘侧的海量电力终端设备源源不断地产生着大量的电能感知数据,这些感知数据来自不同类型的设备,具有海量、实时、持续等特征,被称之为流式数据(streaming data)”。流式数据区别于传统数据,是一组顺序、快速、持续到达的数据序列,具有以下几个特点:
(1)流式数据序列是以一定的速率实时到达的;
(2)数据到达的次序是不受应用系统控制的;
(3)数据规模是海量的,理论上是无限的。
在边缘计算环境中分布着大量的多元异构的电力终端设备(例如RFID传感器、GPS、监测仪、智能手机等),每个电力终端设备都可以被视为数据的采集者并不断地产生流式数据。然而,目前大多数的电力终端设备都受到计算和存储资源的限制,无法存储和管理这些海量数据。因此,需要将这些流式数据进行外包管理。然而,如果直接将这些数据上传到云端,则存在实时性差、带宽需求高、能耗消耗大等问题。因此,往往采用云边协同的方式对这些流式数据进行存储和管理。云服务器和边缘节点并不是完全可信,它们可能会篡改甚至丢失数据。对于,承载着重要而敏感的流式数据来说,如果被篡改,将会造成严重的后果。
现有技术中,国内外针对流式数据的完整性验证取得了许多研究成果,但是这些研究成果依然存在以下如下问题:
(1)多数方案对流式数据规模进行了限制;
(2)所支持的操作类型单一;
(3)缺少对数据的机密性保护;
(4)缺少对云边端协同环境中流式数据完整性验证的研究。
基于动态变色龙认证树的数据完整性验证中,文献1“基于动态变色龙认证树的一次签名方案”(王红伟,等;《密码学报》,2016,3(6):607-618)以及文献2“基于动态变色龙认证树的流式数据完整性验证研究与应用”(陈科,东北大学硕士学位论文,2014年6月)公开的方法只能一次进行单个数据的查询和验证,当需要对指定范围的数据进行查询和验证时,上述算法无法支持。
因此,如何确保云边端协同环境中的流式数据的完整性,并解决目前已有成果中存在的问题,具有较大的实际应用意义。
发明内容
为解决现有技术中存在的不足,本发明的目的在于,提供一种基于改进CAT的云边协同电力终端采集数据完整性验证系统,可以有效地对云边端协同环境下的电力终端设备采集的流式数据进行完整性验证,能够发现对数据的篡改行为,并且支持对数据的机密性保护以及对指定范围内的数据进行批量获取和验证,从而确保电能流式数据的使用者能够高效的对数据进行查询和验证。
本发明采用如下的技术方案。
基于改进CAT的云边协同电力终端采集数据完整性验证系统包括:可信任第三方平台、终端设备、半可信的边缘节点、云服务器和数据使用者。
可信任第三方平台,用于生成加密的公私钥,并将公钥分发给终端设备和边缘节点,将私钥分发给数据使用者。
终端设备,用于采集电能监测数据,对所采集的电能监测数据进行加密,并将加密后的密文数据发送给边缘节点。
一个边缘节点对应多个终端设备,边缘节点用于对来自终端设备的密文数据进行聚合计算,将聚合计算处理后的密文数据和改进CAT更新的结构信息发送给云服务器。
云服务器,用于使用改进CAT的结构更新信息更新云服务器的改进CAT结构,并对聚合计算处理后的密文数据进行存储,并对聚合计算处理后的密文数据进行存储;还用于响应数据使用者的查询请求,向数据使用者返回查询数据和对应的认证路径。
数据使用者,从云服务器获取查询数据和认证路径,并使用这些信息对获取的处于数据查询范围内的全部电能监测数据一次性进行完整性验证。
系统的电能监测数据完整性验证包括四个阶段:初始化阶段、数据采集与加密阶段、数据聚合与插入阶段、查询与验证阶段。
优选地,系统在初始化阶段时,由可信任第三方平台基于同态加密算法生成第一公钥hpk和第一私钥hsk,并由可信任第三方平台将第一公钥hpk发送给终端设备和边缘节点,将第一私钥hsk发送给数据使用者。
由边缘节点基于变色龙hash函数生成第二公钥cpk和第二私钥csk;并且边缘节点将第二公钥cpk发送给云服务器,将第二私钥csk自己保留。
由边缘节点构建改进CAT的结构树并执行改进CAT的初始化。
同时,边缘节点向云服务器发送初始化请求,由云服务器构建改进CAT的结构树并执行改进CAT的初始化。
进一步,边缘节点和云服务器的改进CAT的结构相同,均包括:根节点、左侧子节点和右侧子节点;其中,根节点和左侧子节点均为普通hash节点,采用普通抗碰撞hash函数的计算值分别作为根节点的值和左侧子节点的值;右侧子节点为变色龙hash节点,采用变色龙hash函数的计算值作为所述右侧子节点的值;
各节点中存储前缀集合;其中,非傀儡子节点中存储的前缀集合是节点值对应的前缀序列;父节点中存储的前缀集合是左侧子节点前缀集合和右侧子节点前缀集合的并集。
优选地,系统在数据采集与加密阶段时,在采样周期τ由同一边缘节点对应的第i个终端设备采集第j类电能监测数据并使用第一公钥hpk对第j类电能监测数据/>进行加密得到第j类密文数据/>
设定发送周期为Γ={τ1,τ2,...,τmax},对应发送周期的第j类密文数据满足如下关系式:
式中,表示第一发送周期τ1对应的第j类密文数据,/>表示第二发送周期τ2对应的第j类密文数据,以此类推,/>表示最大发送周期τmax对应的第j类密文数据;其中,最大发送周期由终端设备存储能力决定;
第i个终端设备在每个发送周期将对应的第j类密文数据发送给边缘节点。
优选地,系统在数据聚合与插入阶段时,边缘节点利用接收到的来自不同终端设备的密文数据得到密文数据集合Cτ,并对密文数据集合Cτ进行聚合计算得到聚合后密文数据集合Aτ;基于数据插入算法,由边缘节点将聚合后密文数据集合Aτ插入到改进CAT中;
边缘节点将聚合后密文数据集合Aτ和执行插入算法后的改进CAT的结构信息发送给云服务器;云服务器根据所接收到的执行插入算法后的改进CAT的结构信息,更新改进CAT结构以及更新各节点的前缀集合,并存储聚合后的密文数据集合Aτ;其中,所述结构信息包括数据插入过程中更新过的节点按照更新顺序的排列。
进一步,边缘节点对密文数据集合Cτ进行聚合计算包括:累加、求均值;
基于数据插入算法,由边缘节点将聚合后密文数据集合Aτ插入到改进CAT中包括:从当前插入数据元素对应的子节点开始,自下而上依次更新各父节点的hash值,直到变色龙hash节点,然后使用第二私钥csk更新该变色龙hash节点的随机数。
进一步,云服务器更新各节点的前缀集合包括:当前改进CAT的底层深度为0时插入数据元素首先生成新的根节点ρ*,并计算当前插入数据元素/>对应的子节点的前缀序列/>然后,自下而上依次计算各父节点的前缀集合与/>的并集,途中生成的傀儡节点的前缀集合为空,最终达到所生成的新的根节点ρ*;新的根节点ρ*的前缀集合U(root)满足如下关系式:
式中,F(1),F(2),…F(N)分别表示插入前的改进CAT中各节点的前缀序列;
其中,各节点的前缀序列满足如下关系式:
式中,b1b2…bw为一个拥有w比特的二进制数。
优选地,系统在查询与验证阶段时,数据使用者向云服务器发送查询请求,云服务器执行查询算法,得到查询数据对应的认证路径authx,y,根据认证路径authx,y从自身的存储结构中获取数据使用者请求的查询数据Ax,y;云服务器将查询数据Ax,y和认证路径authx,y一起发送给数据使用者;其中,查询数据Ax,y和认证路径authx,y的查询范围均为[x,y];
数据使用者根据查询数据Ax,y和认证路径authx,y,执行验证算法,验证数据的完整性;若验证通过,则数据使用者使用第一私钥hsk对查询数据Ax,y进行解密,得到解密后的原始数据Px,y;若验证未通过,丢弃数据并产生告警,由数据使用者执行进一步操作。
进一步,云服务器执行的查询算法包括:根据查询范围[x,y]计算得到最小前缀集合S([x,y]),并计算新的根节点ρ*的前缀集合U(root)与最小前缀集合S([x,y])的交集,若则查询范围[x,y]无待查询数据,查询结束;否则查询范围[x,y]至少有一个待查询数据,继续从新的根节点ρ*开始,自上而下分别递归计算左右子树中各节点的前缀集合U(v)与最小前缀集合S([x,y])的交集,若/>则继续向下进行递归计算,直到叶子节点,完成全部查询过程;
云服务器生成查询数据对应的认证路径authx,y时,若 则生成的认证路径authx,y为空路径;若/>则在根节点之下,若当前查询节点v的兄弟节点不在查询范围内,即/> 则将节点v.brother加入认证路径authx,y;并且认证路径authx,y经过的变色龙节点的随机数也加入认证路径authx,y中。
进一步,数据使用者可以对数据进行指定范围的验证,包括:首先使用查询数据Ax,y计算各叶子节点的hash值hi,...,hj,然后根据认证路径authx,y中的位置信息,在树的每一层从左至右两两结合计算出上一层节点的hash值,直到计算到根节点的hash值h′ρ,并与本地存储的根节点的hash值hρ进行比较,若两者一致则验证通过,若两者不一致则验证未通过。
本发明的有益效果在于,与现有技术相比:
本发明支持云边端协同环境下的电力终端设备采集的流式数据进行完整性验证,并且通过同态加密技术保证了数据的机密性,能够有效地发现流式数据被篡改地行为,以便采取对应的处理措施;此外,本发明能够满足用户对数据进行批量获取与验证,提高了数据获取与验证的效率。
基于改进CAT的云边协同电力终端采集数据完整性验证系统,引入边缘节点,并由边缘节点对数据进行聚合操作,提高了系统处理数据的效率。
云服务器不具有私钥,云服务器不能自己将数据插入到PCAT,需要边缘节点发送的PCAT结构信息,才能进行数据插入操作,因此保证了云边端的协同性。
基于改进CAT的云边协同电力终端采集数据完整性验证系统,支持对数据进行查询范围内的查询和验证,即改进CAT支持对指定范围的数据进行查询,并且支持对处在范围内的数据一次性全部进行验证。
附图说明
图1是本发明的基于改进CAT的云边协同电力终端采集数据完整性验证系统的架构示意图;
图2是本发明的基于改进CAT的云边协同电力终端采集数据完整性验证系统的完整性验证流程示意图;
图3是本发明的基于改进CAT的云边协同电力终端采集数据完整性验证系统中改进CAT的结构示意图;
图4是本发明的基于改进CAT的云边协同电力终端采集数据完整性验证系统中改进CAT执行插入数据算法的前后对比示意图;
图5是本发明的基于改进CAT的云边协同电力终端采集数据完整性验证系统中改进CAT执行执行查询范围内的验证算法的示意图。
具体实施方式
下面结合附图对本申请作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。
如图1,基于改进CAT的云边协同电力终端采集数据完整性验证系统包括:可信任第三方平台、终端设备、半可信的边缘节点、云服务器和数据使用者。
可信任第三方平台(Trusted Third Party,TTP),用于生成加密的公私钥,并将公钥分发给终端设备和边缘节点,将私钥分发给数据使用者。TTP只参与模型的初始化阶段。
终端设备(Terminal),用于采集电能监测数据,对所采集的电能监测数据进行加密,并将加密后的密文数据发送给边缘节点。
一个边缘节点对应多个终端设备,边缘节点(Edge Node)用于对来自终端设备的密文数据进行聚合计算,将聚合计算处理后的密文数据和改进CAT更新的结构信息发送给云服务器。
终端设备和边缘节点的具体的数量可根据实际场景中边缘节点的存储和计算能力进行决定。
本发明优选实施例中,边缘节点支持对聚合数据进行加法和乘法的操作计算,例如累加、求均值等,比如若想对Cτ进行均值计算,则密文数据表示为
云服务器(Cloud Server),用于使用改进CAT的结构更新信息更新云服务器的改进CAT结构,并对聚合计算处理后的密文数据进行存储,并对聚合计算处理后的密文数据进行存储;还用于响应数据使用者的查询请求,向数据使用者返回查询数据和对应的认证路径。
数据使用者(Data User),从云服务器获取查询数据和认证路径,并使用这些信息对获取的处于数据查询范围内的全部电能监测数据一次性进行完整性验证。
如图2,系统的电能监测数据完整性验证包括四个阶段:初始化阶段、数据采集与加密阶段、数据聚合与插入阶段、查询与验证阶段。
优选地,系统在初始化阶段时,由可信任第三方平台基于同态加密算法生成第一公钥hpk和第一私钥hsk,并由可信任第三方平台将第一公钥hpk发送给终端设备和边缘节点,将第一私钥hsk发送给数据使用者。
选取两个素数p和q,其中q要足够大,并且满足p=kq+1,其中k为自定义参数,其取值范围为[1,+∞];构建一个阶为q的群和该群的生成元g;从群/>中任意选取第二私钥csk,再由边缘节点基于变色龙hash函数,以如下关系式生成第二公钥cpk:
cpk=gcskmod p
式中,mod p表示对任意选取的素数p进行求余运算。
对于任意给定的通过方程m+xr=m′+xr′mod q,即r′=Col(csk,m,r,m′)=(m-m′)x-1+rmod q,得到一个新的随机数/>使得Ch(m;r)=Ch(m′;r′)。由推导可得:
在该方法中,由于私钥x不公开,基于离散对数难题,绝大多数用户无法计算碰撞,保证了变色龙hash函数的抗碰撞性。
由边缘节点基于变色龙hash函数生成第二公钥cpk和第二私钥csk;并且边缘节点将第二公钥cpk发送给云服务器,将第二私钥csk自己保留。
由边缘节点构建改进CAT的结构树并执行改进CAT的初始化。
同时,边缘节点向云服务器发送初始化请求,由云服务器构建改进CAT的结构树并执行改进CAT的初始化。
进一步,如图3,边缘节点和云服务器的改进CAT的结构相同,均包括:根节点、左侧子节点和右侧子节点。
其中,根节点和左侧子节点均为普通hash节点,采用普通抗碰撞hash函数的计算值分别作为根节点的值和左侧子节点的值;右侧子节点为变色龙hash节点,采用变色龙hash函数的计算值作为所述右侧子节点的值;
其中,根节点和左侧子节点均为普通hash节点,采用普通抗碰撞hash函数的计算值分别作为根节点的值和左侧子节点的值;右侧子节点为变色龙hash节点,采用变色龙hash函数的计算值作为所述右侧子节点的值。左上方的节点作为改进CAT在某一阶段的验证根节点,例如,在图3所示的状态下,只有ρ3能够作为验证的根节点。
改进CAT的初始化算法Initial(1λ)如下:
输入:安全参数λ;
输出:变色龙hash函数第二公私钥(cpk,csk);
开始初始化:
①(cpk,csk)←chGen(1λ),生成变色龙hash函数的第二公私钥
②root←NULL,设置根节点为空
③size←0,capacity←0,设置当前数据总量为0,改进CAT的容量为0
④depth←0,设置树的深度为0
⑤pcatstruct←NULL,设置改进CAT树的结构为空
⑥return(cpk,csk),返回变色龙hash函数的第二公私钥
各节点中存储前缀集合;其中,非傀儡子节点中存储的前缀集合是节点值对应的前缀序列;父节点中存储的前缀集合是左侧子节点前缀集合和右侧子节点前缀集合的并集。
对于一个拥有w比特的数字n,其二进制可以表示为b1b2…bw,则该数字n的前缀序列F(n)定义为一个拥有w+1个成员的前缀集合{b1b2…bw,b1b2…bw-1*,…,b1*…*,**…*},其中第i个前缀为b1b2…bw-i+1*…*。例如,拥有5比特的数字6对应的前缀序列为F(6)=F(00110)={00110,0011*,001**,00***,0****,*****}。
给定一个范围[a,b],其对应的最小前缀集合表示为S([a,b])。在S([a,b])中,成员的并集等于范围[a,b]。例如,S([3,8])={00011,001**,01000},即S([a,b])为覆盖范围[a,b]所需的最少前缀的集合。
优选地,系统在数据采集与加密阶段时,在采样周期τ由同一边缘节点对应的第i个终端设备采集第j类电能监测数据并使用第一公钥hpk对第j类电能监测数据/>进行加密得到第j类密文数据/>
设定发送周期为Γ={τ1,τ2,...,τmax},对应发送周期的第j类密文数据满足如下关系式:
式中,表示第一发送周期τ1对应的第j类密文数据,/>表示第二发送周期τ2对应的第j类密文数据,以此类推,/>表示最大发送周期τmax对应的第j类密文数据;其中,最大发送周期由终端设备存储能力决定;
第i个终端设备在每个发送周期将对应的第j类密文数据发送给边缘节点。
优选地,系统在数据聚合与插入阶段时,边缘节点利用接收到的来自不同终端设备的密文数据得到密文数据集合Cτ,并对密文数据集合Cτ进行聚合计算得到聚合后密文数据集合Aτ;基于数据插入算法,由边缘节点将聚合后密文数据集合Aτ插入到改进CAT中;
边缘节点将聚合后密文数据集合Aτ和执行插入算法后的改进CAT的结构信息发送给云服务器;云服务器根据所接收到的执行插入算法后的改进CAT的结构信息,更新改进CAT结构以及更新各节点的前缀集合,并存储聚合后的密文数据集合Aτ;其中,所述结构信息包括数据插入过程中更新过的节点按照更新顺序的排列。
进一步,边缘节点对密文数据集合Cτ进行聚合计算包括:累加、求均值;
改进CAT的数据插入算法包括:生成插入路径上的节点,更新插入数据后对应节点的hash值,计算或更新节点的前缀集合。
基于数据插入算法,由边缘节点将聚合后密文数据集合Aτ插入到改进CAT中包括:从当前插入数据元素对应的子节点开始,自下而上依次更新各父节点的hash值,直到变色龙hash节点,然后使用第二私钥csk更新该变色龙hash节点的随机数。
其中,生成插入路径上的节点,更新插入数据后对应节点的hash值包括:当客户端需要插入数据时,首先计算使用数据其父节点的hash值,然后向上更新hash值直到变色龙节点。在向上更新的过程中,如果路径节点的兄弟节点没有hash值,则选取一对随机值(x′,r′),并计算兄弟节点的hash值Ch(x;r′),接着再更新父节点的hash值。例如,当客户端想要插入一对数据(m0,m1),第一步是设置父节点的hash值v1,0←H(m0||m1)。此时,节点v1,1没有hash值,选取一对随机值(x′1,1,r′1,1),并设置v1,1←Ch(x′1,1;r′1,1),接下来设置父节点的hash值v2,0←H(v1,0||v1,1)。使用相同的方法,接下来分别设置v2,1←Ch(x′2,1;r′2,1)和ρ←Ch(v2,0||v2,1;rρ)。对于插入(m2,m3),由于客户端拥有陷门,因此客户端只需要设置x1,1←H(m2||m3),然后计算随机数r1,1,使得Ch(x1,1;r1,1)=Ch(x′1,1;r′1,1)=v1,1即可。
进一步,云服务器更新各节点的前缀集合包括:当前改进CAT的底层深度为0时插入数据元素首先生成新的根节点ρ*,并计算当前插入数据元素/>对应的叶子节点的前缀序列/>然后,自下而上依次计算各父亲节点的前缀集合与/>的并集,途中生成的傀儡节点的前缀集合为空,最终达到所生成的新的根节点ρ*;新的根节点ρ*的前缀集合U(root)满足如下关系式:
式中,F(1),F(2),…F(N)分别表示插入前的改进CAT中各节点的前缀序列;
其中,各节点的前缀序列满足如下关系式:
式中,b1b2…bw为一个拥有w比特的二进制数。
如图4所示。假设生成的数据值与相同节点的序号值相同。此时树中已经插入了4个数据并达到饱和,需要进行扩展。在扩展时,首先生成新的根节点ρ4。然后,计算5号数据叶子节点的前缀序列F(5)。接下来,自下而上依次生成对应节点并计算插入路径节点的前缀集合,途中生成的傀儡节点的前缀集合为空,最终更新根节点ρ4的前缀集合U(root)={F(1)∪F(2)∪...∪F(5)}。此时,5号数据对应的前缀集合计算部分完成。接下来,从叶子节点开始向上更新父亲节点的hash值,直到遇到变色龙hash节点,然后使用第二私钥csk更新该变色龙节点的随机数。对于5号节点来说,首先使用5号数据data5计算hash值h5,然后向上更新父亲节点的hash值h50←H(h5||h0),最后更新随机数r′500←col(csk,h500,r500,h50||h00)。因为插入5号数据时对树进行了扩展,还需要更新根节点ρ4的hash值。至此,5号数据的插入过程全部结束。
改进CAT插入数据算法Append(sk,datai,i)包括:
开始插入数据:
①if(size==capacity),如果需要进行扩展
②生成新根节点
③from root to leaf
④生成新节点
⑤计算或更新路径节点的前缀集合
⑥更新节点的hash值,直到变色龙hash节点
⑦if(size==capacity)
⑧更新根节点的hash值
⑨size=size+1,设置数据量加1
优选地,系统在查询与验证阶段时,数据使用者向云服务器发送查询请求,云服务器执行查询算法,得到查询数据对应的认证路径authx,y,根据认证路径authx,y从自身的存储结构中获取数据使用者请求的查询数据Ax,y;云服务器将查询数据Ax,y和认证路径authx,y一起发送给数据使用者;其中,查询数据Ax,y和认证路径authx,y的查询范围均为[x,y];
数据使用者根据查询数据Ax,y和认证路径authx,y,执行验证算法,验证数据的完整性;若验证通过,则数据使用者使用第一私钥hsk对查询数据Ax,y进行解密,得到解密后的原始数据Px,y;若验证未通过,丢弃数据并产生告警,由数据使用者执行进一步操作。
进一步,云服务器执行的查询算法包括:根据查询范围[x,y]计算得到最小前缀集合S([x,y]),并计算新的根节点ρ*的前缀集合U(root)与最小前缀集合S([x,y])的交集,若则查询范围[x,y]无待查询数据,查询结束;否则查询范围[x,y]至少有一个待查询数据,继续从新的根节点ρ*开始,自上而下分别递归计算左右子树中各节点的前缀集合U(v)与最小前缀集合S([x,y])的交集,若/>则继续向下进行递归计算,直到叶子节点,完成全部查询过程;
云服务器生成查询数据对应的认证路径authx,y时,若 则生成的认证路径authx,y为空路径;若/>则在根节点之下,若当前查询节点v的兄弟节点不在查询范围内,即/> 则将节点v.brother加入认证路径authx,y;并且认证路径authx,y经过的变色龙节点的随机数也加入认证路径authx,y中。
改进CAT查询算法rangeQuery(v,x,y)包括:
输入:数据查询范围[x,y];
输出:若查询成功,返回数据查询范围[x,y]内的所有数据元素datax,y以及对应的认证路径authx,y,否则返回NULL;
开始查询:
①
②return NULL,查询结果为空
③查询路径中的变色龙节点
④auth.addRand(v.random),将节点的随机数加入认证路径
⑤查询到叶子节点且并集不为空
⑥queryResult.push_back(v),/返回查询结果
⑦return
⑧不在查询范围中且为查询路径节点的兄弟节点
⑨auth.addNode(v),将节点加入认证路径
⑩return
(11)else
(12)rangeQuery(v.leftchild,x,y),递归查询左子树
(13)rangeQuery(v.rightchild,x,y),递归查询右子树。
进一步,数据使用者可以对数据进行指定范围的验证,包括:首先使用查询数据Ax,y计算各叶子节点的hash值hi,…,hj,然后根据认证路径authx,y中的位置信息,在树的每一层从左至右两两结合计算出上一层节点的hash值,直到计算到根节点的hash值h′ρ,并与本地存储的根节点的hash值hρ进行比较,若两者一致则验证通过,若两者不一致则验证未通过。
例如,如图5所示,此时PCAT中已经插入了5个数据,并且已经查询了范围[3,5]的数据,查询路径及经过的节点由绿色标出。此时,认证路径auth3,5=(ρ4,ρ2,r35,r5,r400,v-,v__)。首先,计算叶子节点数据data3,5对应的hash值h3,h4,h5,然后根据认证路径的位置信息,依次计算h35←ch(cpk,h3||h5,r35),h40←H(h4||h_);到了第二层,同样自左至右计算h′ρ3←H(hρ2||h35),h400←ch(cpk,h40||h__,r400)。最后,直到计算出根节点的hash值h′ρ4,与hρ4进行比较来判断验证是否通过。
改进CAT数据查询范围内验证算法rangeVerify(cpk,x,y,datax,y,authx,y)包括:
输入:变色龙hash函数的第二公钥cpk,数据查询范围[x,y],查询结果datax,y和对应的认证路径authx,y;
输出:验证成功返回1,验证失败返回0;
开始数据查询范围内验证
①for(n=0 to y-x)
②compute H(queryResult[n].data),使用查询结果datax,y计算叶子节点的hash值hx,…,hy
③for-every-level:,执行逐层操作
④from left to right
⑤compute hparent←H(hleftchild||hrightchild)or hparent←ch(cpk,hleftchild||hrightchild,rparent),/每层自左至右计算父节点的hash值
⑥returnh′ρ=hρ,若h′ρ=hρ,返回1,验证通过;否则返回0,验证失败。
实施例1。
基于改进CAT的云边协同电力终端采集数据完整性验证系统,用于实现对电能监测系统的流式数据完整性验证,工作流程包括:
步骤1,在电能监测环境中要求终端设备实时采集电能监测数据。
步骤2,终端设备对电能监测数据进行加密,并上传至边缘节点。
步骤3,边缘节点对电能监测数据进行聚合计算,例如对1小时内的电能监测数据进行均值计算,求得该小时电能数据的平均值。
步骤4,边缘节点将聚合计算后的电能数据插入改进CAT。
步骤5,边缘节点将聚合计算后的电能数据并将上传至云服务器。
步骤6,云服务器更新其改进CAT结构,并存储聚合计算后的电能数据。
步骤7,数据使用者向云服务器发送查询请求。
步骤8,云服务器返回对应的电能数据以及认证路径。
步骤9,数据使用者对数据进行完整性验证。
步骤10,若验证通过,数据使用者解密得到聚合计算后的原始电能数据。
由以上步骤可知,本发明利用改进CAT和同态加密技术,保护了电能监测数据的机密性,并能够对电能监测数据进行完整性验证,发现对数据的篡改行为,降低相关损失。
本发明支持云边端协同环境下的电力终端设备采集的流式数据进行完整性验证,并且通过同态加密技术保证了数据的机密性,能够有效地发现流式数据被篡改地行为,以便采取对应的处理措施;此外,本发明能够满足用户对数据进行批量获取与验证,提高了数据获取与验证的效率。
基于改进CAT的云边协同电力终端采集数据完整性验证系统,引入边缘节点,并由边缘节点对数据进行聚合操作,提高了系统处理数据的效率。
云服务器不具有私钥,云服务器不能自己将数据插入到PCAT,需要边缘节点发送的PCAT结构信息,才能进行数据插入操作,因此保证了云边端的协同性。
基于改进CAT的云边协同电力终端采集数据完整性验证系统,支持对数据进行查询范围内的查询和验证,即改进CAT支持对指定范围的数据进行查询,并且支持对处在范围内的数据一次性全部进行验证。
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
Claims (6)
1.基于改进CAT的云边协同电力终端采集数据完整性验证系统,其特征在于,
所述系统包括:可信任第三方平台、终端设备、半可信的边缘节点、云服务器和数据使用者;
所述可信任第三方平台,用于生成加密的公私钥,并将公钥分发给终端设备和边缘节点,将私钥分发给数据使用者;
所述终端设备,用于采集电能监测数据,对所采集的电能监测数据进行加密,并将加密后的密文数据发送给边缘节点;
一个所述边缘节点对应多个终端设备,所述边缘节点用于对来自终端设备的密文数据进行聚合计算,将聚合计算处理后的密文数据和改进CAT的结构信息发送给云服务器;
云服务器,用于使用改进CAT的结构更新信息更新云服务器的改进CAT结构,并对聚合计算处理后的密文数据进行存储;还用于响应数据使用者的查询请求,向数据使用者返回查询数据和对应的认证路径;
数据使用者,从云服务器获取查询数据和认证路径,并使用这些信息对获取的处于数据查询范围内的全部电能监测数据一次性进行完整性验证;
所述系统的电能监测数据完整性验证包括四个阶段:初始化阶段、数据采集与加密阶段、数据聚合与插入阶段、查询与验证阶段;
所述系统在初始化阶段时,由可信任第三方平台基于同态加密算法生成第一公钥hpk和第一私钥hsk,并由可信任第三方平台将第一公钥hpk发送给终端设备和边缘节点,将第一私钥hsk发送给数据使用者;
由边缘节点基于变色龙hash函数生成第二公钥cpk和第二私钥csk;并且边缘节点将第二公钥cpk发送给云服务器,将第二私钥csk自己保留;
由边缘节点构建改进CAT的结构树并执行改进CAT的初始化;
同时,边缘节点向云服务器发送初始化请求,由云服务器构建改进CAT的结构树并执行改进CAT的初始化;
所述系统在数据采集与加密阶段时,在采样周期τ由同一边缘节点对应的第i个终端设备采集第j类电能监测数据并使用第一公钥hpk对第j类电能监测数据/>进行加密得到第j类密文数据/>
设定发送周期为Γ={τ1,τ2,...,τmax},对应发送周期的第j类密文数据满足如下关系式:
式中,表示第一发送周期τ1对应的第j类密文数据,/>表示第二发送周期τ2对应的第j类密文数据,以此类推,/>表示最大发送周期τmax对应的第j类密文数据;其中,最大发送周期由终端设备存储能力决定;
第i个终端设备在每个发送周期将对应的第j类密文数据发送给边缘节点;
所述系统在数据聚合与插入阶段时,边缘节点利用接收到的来自不同终端设备的密文数据得到密文数据集合Cτ,并对密文数据集合Cτ进行聚合计算得到聚合后密文数据集合Aτ;基于数据插入算法,由边缘节点将聚合后密文数据集合Aτ插入到改进CAT中;
边缘节点将聚合后密文数据集合Aτ和执行插入算法后的改进CAT的结构信息发送给云服务器;云服务器根据所接收到的执行插入算法后的改进CAT的结构信息,更新改进CAT结构以及更新各节点的前缀集合,并存储聚合后的密文数据集合Aτ;其中,所述结构信息包括数据插入过程中更新过的节点按照更新顺序的排列;
所述系统在查询与验证阶段时,数据使用者向云服务器发送查询请求,云服务器执行查询算法,得到查询数据对应的认证路径authx,y,根据认证路径authx,y从自身的存储结构中获取数据使用者请求的查询数据Ax,y;云服务器将查询数据Ax,y和认证路径authx,y一起发送给数据使用者;其中,查询数据Ax,y和认证路径authx,y的查询范围均为[x,y];
数据使用者根据查询数据Ax,y和认证路径authx,y,执行验证算法,验证数据的完整性;若验证通过,则数据使用者使用第一私钥hsk对查询数据Ax,y进行解密,得到解密后的原始数据Px,y;若验证未通过,丢弃数据并产生告警,由数据使用者执行进一步操作。
2.根据权利要求1所述的基于改进CAT的云边协同电力终端采集数据完整性验证系统,其特征在于,
所述边缘节点和云服务器的改进CAT的结构相同,均包括:根节点、左侧子节点和右侧子节点;
其中,所述根节点和所述左侧子节点均为普通hash节点,采用普通抗碰撞hash函数的计算值分别作为所述根节点的值和所述左侧子节点的值;所述右侧子节点为变色龙hash节点,采用变色龙hash函数的计算值作为所述右侧子节点的值;
所述各节点中存储前缀集合;其中,非傀儡子节点中存储的前缀集合是节点值对应的前缀序列;父节点中存储的前缀集合是左侧子节点前缀集合和右侧子节点前缀集合的并集。
3.根据权利要求1所述的基于改进CAT的云边协同电力终端采集数据完整性验证系统,其特征在于,
所述边缘节点对密文数据集合Cτ进行聚合计算包括:累加、求均值;
基于数据插入算法,由边缘节点将聚合后密文数据集合Aτ插入到改进CAT中包括:从当前插入数据元素对应的子节点开始,自下而上依次更新各父节点的hash值,直到变色龙hash节点,然后使用第二私钥csk更新该变色龙hash节点的随机数。
4.根据权利要求1所述的基于改进CAT的云边协同电力终端采集数据完整性验证系统,其特征在于,
所述云服务器更新各节点的前缀集合包括:当前改进CAT的底层深度为0时插入数据元素首先生成新的根节点ρ*,并计算当前插入数据元素/>对应的子节点的前缀序列然后,自下而上依次计算各父节点的前缀集合与/>的并集,途中生成的傀儡节点的前缀集合为空,最终达到所生成的新的根节点ρ*;新的根节点ρ*的前缀集合U(root)满足如下关系式:
式中,F(1),F(2),…F(N)分别表示插入前的改进CAT中各节点的前缀序列;
其中,各节点的前缀序列满足如下关系式:
式中,b1b2…bw为一个拥有w比特的二进制数。
5.根据权利要求1所述的基于改进CAT的云边协同电力终端采集数据完整性验证系统,其特征在于,
所述云服务器执行的查询算法包括:根据查询范围[x,y]计算得到最小前缀集合S([x,y]),并计算新的根节点ρ*的前缀集合U(root)与最小前缀集合S([x,y])的交集,若则查询范围[x,y]无待查询数据,查询结束;否则查询范围[x,y]至少有一个待查询数据,继续从新的根节点ρ*开始,自上而下分别递归计算左右子树中各节点的前缀集合U(v)与最小前缀集合S([x,y])的交集,若/>则继续向下进行递归计算,直到叶子节点,完成全部查询过程;
所述云服务器生成查询数据对应的认证路径authx,y时,若 则生成的认证路径authx,y为空路径;若/>则在根节点之下,若当前查询节点v的兄弟节点不在查询范围内,即/>则将节点v.brother加入认证路径authx,y;并且认证路径authx,y经过的变色龙节点的随机数也加入认证路径authx,y中。
6.根据权利要求1所述的基于改进CAT的云边协同电力终端采集数据完整性验证系统,其特征在于,
数据使用者可以对数据进行指定范围的验证,包括:首先使用查询数据Ax,y计算各叶子节点的hash值hi,...,hj,然后根据认证路径authx,y中的位置信息,在树的每一层从左至右两两结合计算出上一层节点的hash值,直到计算到根节点的hash值h′ρ,并与本地存储的根节点的hash值hρ进行比较,若两者一致则验证通过,若两者不一致则验证未通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110714067.1A CN113312652B (zh) | 2021-06-25 | 2021-06-25 | 基于改进cat的云边协同电力终端采集数据完整性验证系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110714067.1A CN113312652B (zh) | 2021-06-25 | 2021-06-25 | 基于改进cat的云边协同电力终端采集数据完整性验证系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312652A CN113312652A (zh) | 2021-08-27 |
CN113312652B true CN113312652B (zh) | 2024-05-03 |
Family
ID=77380419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110714067.1A Active CN113312652B (zh) | 2021-06-25 | 2021-06-25 | 基于改进cat的云边协同电力终端采集数据完整性验证系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312652B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883236A (zh) * | 2022-12-10 | 2023-03-31 | 国网福建省电力有限公司 | 电网智能终端协同攻击监测系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197499A (zh) * | 2018-01-11 | 2018-06-22 | 暨南大学 | 一种可验证的密文数据范围查询方法 |
CN108885545A (zh) * | 2016-03-23 | 2018-11-23 | 雾角系统公司 | 用于实时数据流编程语言的工具和方法 |
CN111800258A (zh) * | 2020-06-01 | 2020-10-20 | 南京信息工程大学 | 云教育下支持损坏数据恢复的数据完整性审计方法 |
CN112073379A (zh) * | 2020-08-12 | 2020-12-11 | 国网江苏省电力有限公司南京供电分公司 | 一种基于边缘计算的轻量级物联网安全密钥协商方法 |
WO2021007863A1 (en) * | 2019-07-18 | 2021-01-21 | Nokia Technologies Oy | Integrity auditing for multi-copy storage |
CN112565265A (zh) * | 2020-12-04 | 2021-03-26 | 国网辽宁省电力有限公司沈阳供电公司 | 物联网终端设备间的认证方法、认证系统及通讯方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019113308A1 (en) * | 2017-12-05 | 2019-06-13 | Franchitti Jean Claude | Active adaptation of networked compute devices using vetted reusable software components |
-
2021
- 2021-06-25 CN CN202110714067.1A patent/CN113312652B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108885545A (zh) * | 2016-03-23 | 2018-11-23 | 雾角系统公司 | 用于实时数据流编程语言的工具和方法 |
CN108197499A (zh) * | 2018-01-11 | 2018-06-22 | 暨南大学 | 一种可验证的密文数据范围查询方法 |
WO2021007863A1 (en) * | 2019-07-18 | 2021-01-21 | Nokia Technologies Oy | Integrity auditing for multi-copy storage |
CN111800258A (zh) * | 2020-06-01 | 2020-10-20 | 南京信息工程大学 | 云教育下支持损坏数据恢复的数据完整性审计方法 |
CN112073379A (zh) * | 2020-08-12 | 2020-12-11 | 国网江苏省电力有限公司南京供电分公司 | 一种基于边缘计算的轻量级物联网安全密钥协商方法 |
CN112565265A (zh) * | 2020-12-04 | 2021-03-26 | 国网辽宁省电力有限公司沈阳供电公司 | 物联网终端设备间的认证方法、认证系统及通讯方法 |
Non-Patent Citations (2)
Title |
---|
基于边缘计算的铁路无人值守站监测应用研究;刘晏伊等;《计算机仿真》;第38卷(第3期);第51-55页 * |
边缘计算隐私保护研究进展;周俊;沈华杰;林中允;曹珍富;董晓蕾;;计算机研究与发展;20201009(10);第21-45页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113312652A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chaudhary et al. | SDN-enabled multi-attribute-based secure communication for smart grid in IIoT environment | |
CN104219056B (zh) | 一种智能电网中具有隐私保护的实时电量收集方法 | |
Kim et al. | A secure decentralized data-centric information infrastructure for smart grid | |
Capkun et al. | Self-organized public-key management for mobile ad hoc networks | |
JP2013118621A (ja) | センサーネットワークの通信を確立する方法および装置 | |
CN113312652B (zh) | 基于改进cat的云边协同电力终端采集数据完整性验证系统 | |
Duan et al. | An efficient location-based compromise-tolerant key management scheme for sensor networks | |
Long et al. | An advanced key management scheme for secure smart grid communications | |
CN112383393B (zh) | 软件定义传感网络可信通信系统及方法 | |
CN108337092A (zh) | 用于在通信网络中执行集体认证的方法和系统 | |
CN114124371A (zh) | 一种基于无证书的满足mtp安全的公钥可搜索加密方法 | |
Said et al. | Light-weight secure aggregated data sharing in IoT-enabled wireless sensor networks | |
Li et al. | Efficient and fault‐diagnosable authentication architecture for AMI in smart grid | |
CN107231353A (zh) | 一种智能电网中基于二叉树的批认证方法 | |
Xiong et al. | A distributed security SDN cluster architecture for smart grid based on blockchain technology | |
Elhajj et al. | Lasii: Lightweight authentication scheme using iota in iot platforms | |
CN102209066B (zh) | 网络认证的方法和设备 | |
CN110515819A (zh) | 性能测试方法、电子设备、调度系统及介质 | |
CN108632257A (zh) | 支持分层搜索的加密健康记录的获取方法和系统 | |
CN105264539A (zh) | 目录服务装置、客户机装置、密钥云系统、其方法、以及程序 | |
Mohanty et al. | OMT: A dynamic authenticated data structure for security kernels | |
CN109274655B (zh) | 一种面向外包流式数据的查询完整性验证方法 | |
Sun et al. | Internet of thing wireless sensor entity authentication scheme based on merkle | |
Cebe et al. | Efficient management of certificate revocation lists in smart grid advanced metering infrastructure | |
Wang et al. | An authentication key agreement scheme for heterogeneous sensor network based on improved counting bloom filter |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |