掌桥专利:专业的专利平台
掌桥专利
首页

一种基于信用等级划分的医疗数据安全共识方法

文献发布时间:2023-06-19 10:27:30


一种基于信用等级划分的医疗数据安全共识方法

技术领域:

本发明涉及区块链技术领域,具体是指一种基于信用等级划分的医疗数 据安全共识方法。

背景技术:

随着科学技术和通信技术的发展,智慧医疗凭借交互式医疗保健服务的 特点,正逐渐成为未来医疗发展中不可或缺的一部分。其中,医院信息系统 是智慧医疗的重要组成部分,可将电子病历、住院记录、处方、私人健康信 息等医疗数据电子化。医院信息系统在给医院带来管理便捷、高效等好处的 同时,也带来了如下新的问题:一是系统数据共享困难,互操作性低,用户 不能跨区域访问/存储电子病历、住院记录、处方等医疗数据;二是健康信息、 电子病历等私人医疗数据已经成为一种资产,当病人、医生在访问和共享医 疗数据的时候要受到严格的限制,需要花费大量的资源和时间进行权限审查 和数据校验,从而保护病人的隐私,防止医疗数据的泄露;三是随着经济实 力快速增长,人们的法律维权意识逐渐提高,对医疗技术及服务水平提出更 高要求,导致医疗纠纷事件增多,需要进行医疗司法鉴定。但是在医疗司法 鉴定中,难以鉴定电子病历等医疗数据是否存在人为篡改。针对上述第三个 问题,考虑到区块链技术是一种无限冗余去中心化的共享账本和分布式数据 库,且每一个区块中都存储了前一个区块信息的哈希值,具有不可篡改的特 性,因此可将区块链引入智慧医疗系统中,实现去中心化、安全和快捷可追 溯的医疗数据防篡改系统,解决电子病历等医疗数据的人为篡改鉴定问题。

目前,区块链主要是面向金融机构、政府部门等,较少涉及医疗领域。 在面向医疗领域的区块链研究中,有些学者侧重于设计去中心化的分布式医 疗数据管理系统和模型,如薛腾飞等人采用医疗机构联盟服务器群和审计联 盟服务器群,将医疗机构划分等级,提出了一种基于区块链的医疗数据共享 模型。张超等人提出了一种基于实用拜占庭容错算法(practical byzantine fault tolerance,PBFT)的联盟式医疗区块链系统,实现系统安全稳定的运 行。Liu X等人提出了一种基于医院私有区块链的医疗数据共享和保护方案。该方案设计了症状匹配机制,允许具有相同症状的患者进行相互身份验证。 但这些方法主要采用DPOS、PBFT等现有共识算法。而DPOS机制存在POS (Proof of Stake)机制所带来的“富者更富”与累积攻击的问题,并且没有 很好解决节点投票积极性、恶意节点剔除和共识效率低等问题。且PBFT在一 致性确认共识和区块生成加入上仍存在没有考虑恶意节点检测和共识效率不 高等问题。目前只有少量学者侧重于研究面向智慧医疗领域的区块链共识算 法,如Kumar A等人提出了包含单层单位、多层单位和多层多位的三种基于 博弈论的共识算法。Talukder A K等人提出了一种基于以太坊的未来可证明 的疾病证明共识算法。该算法由医疗专家组担当矿工角色,验证并确认结果, 最后提交到区块链中。但是这些方法没有考虑恶意节点的攻击和共识效率问 题。

综上所述,由于医疗数据规模大,目前针对区块链医疗系统中DPOS、PBFT 等现有共识算法存在恶意节点难以识别和剔除、共识效率低等问题,使得现 有共识方法难以安全和高效的实现医疗数据的共识。发明人对现有医疗数据 安全共识方法进行了改进,有效弥补了上述现有技术中存在的不足,本案由 此而生。

发明内容:

针对上述目前学者研究的不足,本发明提供一种基于信用等级划分的医 疗数据安全共识方法,不仅能快速完成恶意节点的剔除,还能避免恶意节点 对区块共识所带来的效率降低等危害,而且有效提高了节点参与区块共识的 积极性,能够降低交易延迟,提高交易吞吐量,从而防御恶意节点攻击,提 高共识效率。

为了实现上述发明目的,本发明所采用的技术方案为:

一种基于信用等级划分的医疗数据安全共识方法,包括如下步骤:

步骤1:对节点划分及参数初始化设置:节点划分为“数据节点”、“监管 节点”和“共识节点”;

步骤2:通过节点投票确定代表节点,并由代表节点执行节点身份验证机 制,对各个节点进行身份验证;

步骤3:代表节点对各个节点执行奖惩机制,并获得每个节点的累积得分, 将累积得分转换为累积信用值;

步骤4:代表节点采集信用评估要素,并建立信用等级划分模型,采用基 于海洋捕食者的自我优化信用等级划分方法对每个节点的信用等级进行划 分;

步骤5:代表节点根据节点划分等级给予其不同权利,并清除节点的累积 信用值和累积信用得分;

步骤6:代表节点先确定代表候选节点,然后根据权重统计票数,将代表 候选节点中一部分节点确定为正式代表节点,另一部分节点成为备用代表节 点;

步骤7:代表节点采用PBFT共识机制完成共识,并将区块写入到链中。

进一步,所述“数据节点”能够产生医疗数据,但是其算力无法实现快 速区块共识;“监管节点”不产生任何医疗数据,但是其算力和防护等级较高, 能够实现快速区块共识和监管医疗数据;“共识节点”能够产生医疗数据且其 算力能够实现快速区块共识,但是其防护等级较低;对以下参数初始化:身 份验证的奖励表现分μ、信用值模型的界限范围ι

进一步,所述步骤2中节点身份验证机制按如下方式进行:

先组成验证组:代表节点随机挑选N个信用等级为“good”的共识节点 以及M个监管节点组成验证组;再分别对“数据节点”、“共识节点”、“监管 节点”进行身份验证;

验证“数据节点”的身份时,代表节点向验证组内的全部节点发送验证 请求,若1个监管节点和n个节点的可通信列表可查询到该数据节点信息,其 中n表示节点数量阈值,即认为通过验证;若未能满足上述情况,则该数据 节点停止其医疗数据发送的权利,并过段时间后重复上述验证过程直到完成 该数据节点的身份验证;

验证“共识节点”的身份时,代表节点向验证组内的监管节点发送验证 请求,若1个监管节点和2n个节点的可通信列表可查询到该共识节点信息, 即认为通过验证;若未能满足上述情况,则该共识节点停止其医疗数据发送 及参与区块共识的权利,并过段时间后重复上述验证过程直到完成该共识节 点的身份验证;

验证“监管节点”的身份时,代表节点向验证组内的全部节点发送验证 请求,若1个监管节点或3n个节点的可通信列表可查询到该监管节点信息, 即认为通过验证;若未能满足上述情况,则该监管节点停止其参与区块共识 的权利,并过段时间后重复上述验证过程直到完成该监管节点的身份验证。

进一步,所述步骤3中,代表节点获得每个节点的累积得分方式如下: 判断每个节点前一次区块共识是否成功,若共识成功,则代表节点对投出赞 成票的节点给予奖励表现分η,并对投出反对票的节点扣除表现分γ;若共识 失败,则代表节点对投出反对票的节点给予奖励表现分λ,并对投出赞成票的 节点扣除表现分σ;代表节点还对参与并完成节点身份验证的节点给予奖励表 现分μ,最后代表节点获得并更新每一个节点的累积得分;

代表节点通过公式(1)将每个节点的累积得分转换为累积信用值;

y(t)=ι

其中,x(t)表示当前时刻t的节点累积得分,y(t)表示当前时刻t的节点累 积信用值,ι

进一步,所述步骤4中,采集的信用评估要素包括:每个节点的当前累 积信用值、历史信用等级、成为代表节点次数和提供无效区块次数。

进一步,所述步骤4中的信用等级划分模型如下:

其中,FV

进一步,所述步骤4中的基于海洋捕食者的自我优化信用等级划分方法 如下:

4.1)代表节点计算节点之间的距离,并设置每个节点半径的搜索区间;

4.2)代表节点随机产生半径,并组成猎物向量;

4.3)代表节点计算适应度并组成适应度向量,从中选择适应度最小的半 径作为捕食者;

4.5)代表节点比较猎物向量和适应度向量,保留适应度小的半径;

4.6)代表节点根据猎物向量的相似度比较结果,或者根据当前迭代次数 与最大迭代次数的比较结果,来进一步调整猎物向量的运动;调整后代表节 点计算每个节点的评价值并划分等级。

进一步,所述节点之间的距离根据公式(3)计算,即:

其中,dis表示任意两个节点间的距离,y

每个节点半径的搜索区间通过公式(4)确定:

SI=(0,dis

其中,SI表示搜索区间,dis

代表节点在搜索空间内随机产生ξ个半径,并组成猎物向量P,可表示为:

P=[r

其中,r

代表节点对猎物向量运动的调整方法如下:

4.6.1)代表节点将捕食者扩展为ξ×1的精英向量E,若迭代次数step=0, 则猎物向量通过公式(7)进行运动,并跳到步骤4.6.4);否则,通过公式(6)计 算猎物向量的相似度ρ;若相似度ρ大于相应的阈值

其中,ρ表示当前猎物向量与上一次向量矩阵的相似度,P

stepsize

其中,R

4.6.2)代表节点结合公式(6)计算猎物向量前后的相似度ρ,若相似度ρ大 于阈值

stepsize

其中,CF表示控制掠食者运动的自适应参数,R

4.6.3)代表节点让全部的猎物向量通过公式(9)模拟莱维运动进行步长更 新,通过公式(10)进行猎物向量更新,完成最优半径的搜寻;

4.6.4)代表节点根据调整后最新的猎物向量,重新通过公式(3)计算节点 之间距离,根据公式(2)的信用等级划分模型,计算每一个节点i的适应度FV

4.6.5)代表节点需要通过公式(11)对猎物向量进行调整,从而避免局部最 优解对优化过程的影响:

其中,

4.6.6)若当前迭代次数step小于最大迭代次数ψ,则重新进行调整前的节 点距离以及适应度计算处理步骤,否则,根据上述步骤可获得最佳半径,代 表节点通过公式(12)计算每个节点的评价值;获得评价值后,将节点按评价值 大小进行降序排列,并放入集合NQ中;将集合NQ中前后两个节点的评价值 进行相减,并将差值以降序排列的方式放入到集合SQ中;紧接着寻找集合SQ 中前2个元素在集合NQ的序号,并将序号较大者记为φ

其中,EV

进一步,所述步骤6中,代表候选节点确定方法如下:代表节点通过公 式(13)计算每个节点的得分,并从高到低选取符合数量要求的节点作为代表候 选节点;

score

其中,score

代表候选节点中的正式代表节点及备用代表节点的确定方法如下:各节 点广播自身的投票信息给其他节点,并通过公式(14),采用不同的权重统计票 数,获得投票结果;

reuslt_TNC

其中,reuslt_TNC

进一步,所述步骤7中,PBFT共识机制包括如下步骤:

7.1)在代表节点中随机挑选一个节点作为主节点,其他代表节点作为副 本节点;

7.2)主节点广播预准备消息到副本节点,当副本节点收到预准备消息后, 进入准备状态并向其他节点广播准备消息;

7.3)若某一节点收到2f

7.4)当副本节点收到2f

本发明的有益效果主要表现在:本发明考虑将节点分为数据节点、共识 节点和监管节点,针对节点存在身份被盗用的风险,提出一种节点身份验证 机制,可快速验证节点身份。考虑到矿池管理者需要处理大量的数据信息, 而常规聚类算法对半径等关键参数过于敏感,且需要通过PCA(Principal components analysis)、LDA(linear discriminantanalysis)等算法进行特征降维, 从而导致其聚类效果不够理想和算法运行时间过长,无法满足矿工信用等级 划分的实时性需求。因此改进节点间距离计算方法、判断半径的适应度值和 不同优化阶段的切换方法,并提出一种基于改进海洋捕食者的自我优化信用 等级划分算法,实现矿工信用等级的快速划分。同时根据节点的参与区块共 识情况,提出信用等级机制,包括奖惩机制、信用值模型和信用等级划分算 法,从而提高节点参与区块共识积极性,实现合理的信用等级划分。提出一 种代表节点选举机制,尽可能避免恶意节点成为代表节点。最后提出代表节 点共识机制,提高区块共识效率。不管恶意节点数量如何变化,本发明都能 够提高节点参与区块共识的积极性、避免恶意节点对区块共识的影响,从而 提高交易吞吐量,降低平均交易时延和平均节点通信开销。

以下通过附图和具体实施方式对本发明做进一步阐述。

附图说明:

图1为本发明实施例中医疗数据安全共识方法的流程框图。

具体实施方式:

本实施例公开一种基于信用等级划分的医疗数据安全共识方法,如图1 所示,主要包括如下步骤:

步骤1:节点的划分及参数的初始化;

将网络中的节点划分为数据节点、监管节点和共识节点三类。其中数据 节点能够产生医疗数据,但是其算力无法实现快速区块共识。而监管节点不 产生任何医疗数据,但是其算力和防护等级较高,能够实现快速区块共识和 监管医疗数据。共识节点能够产生医疗数据且其算力能够实现快速区块共识, 但是其防护等级较低。初始化身份验证的奖励表现分μ、信用值模型的界限范 围ι

步骤2:通过节点投票确定代表节点;

区块链中各节点不仅广播节点自身的赞成票与反对票的投票信息给其他 节点,同时还接收来自其他节点的投票信息。如果一个节点接收到全部节点 的投票信息,则统计全部节点的投票结果,并从高到低依次进行排序。如果 部分节点的票数相同,则相同票数的节点将进行随机排序。根据排序结果, 从高到低依次选择NRN(Number ofrepresentative nodes)个节点作为代表节点, 其中,NRN表示代表节点的数量,并将代表节点信息进行广播,否则继续等 待。

步骤3:代表节点执行节点身份验证机制,从而确定各个节点的身份,并 初步排除恶意节点。

在对节点身份的验证过程中,首先判断该节点是否为第一次共识,若为 第一次区块共识,则直接跳到步骤14;若不是第一次共识,则执行步骤4。 代表节点执行节点身份验证机制按如下方式进行:

3.1)组成验证组:代表节点随机挑选N个信用等级为good的共识节点以 及M个监管节点组成验证组。

3.2)验证“数据节点”的身份:当验证数据节点的身份时,代表节点向 验证组内的全部节点发送验证请求。若1个监管节点和n个节点的可通信列表 可查询到该数据节点信息,其中n表示节点数量阈值,即认为通过验证。若 未能满足上述情况,则该数据节点停止其医疗数据发送的权利,并过20分钟 后重复上述验证过程直到完成该数据节点的身份验证。

3.3)验证“共识节点”的身份:当要验证共识节点的身份时,代表节点 向验证组内的监管节点发送验证请求。若1个监管节点和2n个节点的可通信 列表可查询到该共识节点信息,即认为通过验证。若未能满足上述情况,则 该共识节点停止其医疗数据发送及参与区块共识的权利,并过20分钟后重复 上述验证过程直到完成该共识节点的身份验证。

3.4)验证“监管节点”的身份:当验证监管节点身份时,代表节点向验 证组内的全部节点发送验证请求。若1个监管节点或3n个节点的可通信列表 可查询到该监管节点信息,即认为通过验证。若未能满足上述情况,则该监 管节点停止其参与区块共识的权利,并过20分钟后重复上述验证过程直到完 成该监管节点的身份验证。

步骤4:代表节点对各个节点执行奖惩机制;

代表节点根据前一次区块共识结果,对所有节点执行奖惩机制,获得每 一个节点当前的累积得分。其中,执行的奖惩机制包括如下步骤:

4.1)若前一次区块共识成功的情况下,代表节点对投出赞成票的节点给 予奖励表现分η,并对投出反对票的节点扣除表现分γ。若前一次区块共识未 成功,代表节点对投出反对票的节点给予奖励表现分λ,并对投出赞成票的节 点扣除表现分σ;

4.2)代表节点对参与并完成节点身份验证的节点给予奖励表现分μ;

4.3)获得并更新每一个节点的累积得分。

步骤5:代表节点通过公式(1)将每个节点的累积得分转换为累积信用值;

y(t)=ι

其中,x(t)表示当前时刻t的节点累积得分,y(t)表示当前时刻t的节点累 积信用值,ι

步骤6:代表节点采集信用评估要素:代表节点采集每个节点的当前累积 信用值、历史信用等级、成为代表节点次数和提供无效区块次数等信息。

步骤7:代表节点结合公式(2)建立信用等级划分模型;

其中,FV

步骤8:代表节点采用自我优化信用等级划分算法进行每个节点的信用等 级划分。其中,所述自我优化信用等级划分算法包括如下步骤:

8.1)代表节点根据公式(3)计算节点之间距离,即:

其中,dis表示任意两个节点间的距离,y

通过公式(4),设置每个节点半径的搜索区间:

SI=(0,dis

其中,SI表示搜索区间,dis

8.2)代表节点在搜索空间内随机产生ξ个半径,并组成猎物向量P,可表 示为:

P=[r

其中,r

8.3)代表节点根据节点评估要素信息,通过公式(3)计算节点之间距离, 然后根据公式(2)的信用等级划分模型,计算该节点的适应度FV

8.4)代表节点比较猎物向量和适应度向量,保留适应度较小的半径:若 当前迭代次数为0,则代表节点将当前的适应度向量与猎物向量进行保存,并 跳到步骤8.5);若当前迭代次数不为0,则将当前适应度向量与上一次适应度 向量进行对比,若上一次适应度向量中某个半径的适应度比当前适应度向量 中所有半径的适应度都小,则将该适应度及其对应的半径,分别替换当前适 应度向量中最大的适应度值和其对应的当前猎物向量中半径;

8.5)代表节点将捕食者扩展为ξ×1的精英向量E。若迭代次数step=0则猎 物向量通过公式(7)进行运动,并跳到步骤8.8);否则,通过公式(6)计算猎物 向量的相似度ρ,若相似度ρ大于相应的阈值

其中,ρ表示当前猎物向量与上一次猎物向量的相似度,P

stepsize

其中,R

8.6)代表节点结合公式(6)计算猎物向量前后的相似度ρ,若相似度ρ大 于阈值

stepsize

其中,CF表示控制掠食者运动的自适应参数,R

8.7)代表节点让全部的猎物向量通过公式(9)模拟莱维运动进行步长更 新,通过公式(10)进行猎物向量更新,完成最优半径的搜寻。

8.8)代表节点根据最新的猎物向量,重新通过公式(3)计算节点之间距离, 根据公式(2)的信用等级划分模型,计算每一个节点i的适应度FV

8.9)代表节点需要通过公式(11)对猎物向量进行调整,从而避免局部最优 解对优化过程的影响:

其中,

8.10)若当前迭代次数step小于最大迭代次数ψ,则跳到步骤8.3),否则, 根据前面的步骤获得最佳半径,代表节点通过公式(12)计算每个节点的评价 值。获得评价值后,将节点按评价值大小进行降序排列,并放入集合NQ中。 然后将集合NQ中前后两个节点的评价值进行相减,并将差值以降序排列的方 式放入到集合SQ中。紧接着寻找集合SQ中前2个元素在集合NQ的序号,并 将序号较大者记为φ

其中,EV

步骤9:代表节点根据节点的划分等级实现等级权利给予:若节点等级为 good,则代表节点给予其被选举权、投票权和身份验证权;若节点等级为 nromal,则代表节点给予其被选举权和投票权;若节点等级为bad,则代表节 点不给予任何权利。

步骤10:代表节点将节点的累积信用值和累积得分进行清除,开始新一 轮的累积得分获取。

步骤11:代表节点通过公式(13)计算每个节点的得分,并从高到低选取符 合数量要求的节点作为代表候选节点;

score

其中,score

步骤12:各节点广播自身的投票信息给其他节点,并通过公式(14),采 用不同的权重统计票数,获得投票结果;

reuslt_TNC

其中,reuslt_TNC

步骤13:各节点根据投票结果,从高到低选择NRN数量的代表候选节点 成为正式的代表节点,而落选的代表候选节点则组成备用代表节点。若节点 的投票结果相同,则从中随机选择节点作为代表节点。

步骤14:代表节点采用PBFT共识机制完成共识,并将区块写入到链中。 其中,所述PBFT机制包括如下步骤:

14.1)在代表节点中随机挑选一个节点作为主节点,其他代表节点作为副 本节点;

14.2)主节点广播预准备消息到副本节点,当副本节点收到预准备消息后, 进入准备状态并向其他节点广播准备消息;

14.3)若某一节点收到2f

14.4)当副本节点收到2f

以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人 员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技 术方案的精神和范围,均应涵盖在本发明的权利要求范围中。

相关技术
  • 一种基于信用等级划分的医疗数据安全共识方法
  • 一种基于AI交互共识的区块链学习档案及信用因子构建方法
技术分类

06120112551834