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

基于区块链的抗攻击访问控制方法、系统、设备及介质

文献发布时间:2023-06-19 12:19:35


基于区块链的抗攻击访问控制方法、系统、设备及介质

技术领域

本发明涉及区块链技术领域,尤其是基于区块链的抗攻击访问控制方法、系统、设备及介质。

背景技术

自区块链技术发展至今,许多基于区块链的分布式应用如雨后春笋一般迅速发展,如区块链金融、区块链政务平台、区块链溯源系统等等,同样地,医疗数据分布式安全共享也是其重要的应用场景之一。从抗攻击的角度而言,传统的中心化医疗数据共享系统由于其中心化特性,使其容易遭到黑客攻击、内部泄露以及篡改,从而导致数据拥有者的隐私数据得不到安全保障。现有的基于区块链的分布式医疗数据共享系统,尚处于发展初期,虽然已有许多学者提出了大量的方案,但仍然还有很大的改进空间。

发明内容

有鉴于此,本发明实施例提供一种安全高效的基于区块链的抗攻击访问控制方法、系统、设备及介质。

本发明的一方面提供了一种基于区块链的抗攻击访问控制方法,包括:

数据拥有者对原始医疗数据进行加密后,上传至分布式星际文件系统;

通过数据生成机构将元数据上传至区块链,其中,所述元数据包括所述哈希值信息和数据签名信息;

数据使用者发出授权请求,以获取对所述数据拥有者的原始医疗数据的访问权限;

已授权的数据使用者从区块链中获取加密后的原始医疗数据;

对所述加密后的原始医疗数据进行解密,得到所述原始医疗数据,并对所述原始医疗数据的完整性进行验证。

可选地,所述数据拥有者对原始医疗数据进行加密后,上传至分布式星际文件系统,包括:

由数据生成机构将医疗数据复制给数据拥有者;

所述数据拥有者计算所述医疗数据的第一哈希值后,通过加密算法对所述医疗数据进行加密处理,得到第一加密数据;

将所述第一加密数据上传至分布式星际文件系统中存储。

可选地,所述通过数据生成机构将元数据上传至区块链,包括:

所述数据拥有者从所述分布式星际文件系统中获取医疗数据的第二哈希值,通过加密算法对所述第二哈希值进行加密处理,得到第二加密数据;

由数据生成机构将元数据上传至区块链,所述元数据包括第一哈希值、第二加密数据以及数据签名信息。

可选地,所述数据使用者发出授权请求,以获取对所述数据拥有者的原始医疗数据的访问权限,包括:

数据使用者向数据拥有者发出授权请求,所述数据拥有者对所述数据使用者进行身份验证后,将目标数据发送给所述数据使用者;

所述数据使用者从区块链上获取所述第二加密数据,根据该第二加密数据计算比较值;

下载控制器根据所述比较值来判定所述数据使用者是否为恶意用户,并将判定为恶意用户的数据使用者加入黑名单,以及向判定为非恶意用户的数据使用者发送加密医疗数据。

可选地,所述方法还包括系统配置步骤,该步骤包括:

配置一个素数,并确定所述素数的生成元,所述生成元用于生成多阶循环群;

配置一个安全参数,根据所述多阶循环群确定一个抗碰撞哈希函数和一个可逆哈希函数。

本发明实施例的第二方面提供了一种基于区块链的抗攻击访问控制系统,包括:区块链、数据生成机构、数据拥有者、数据使用者、下载控制器以及分布式星际文件系统;

所述数据拥有者,用于对原始医疗数据进行加密后,上传至所述分布式星际文件系统;

所述数据生成机构,用于将元数据上传至区块链,其中,所述元数据包括所述哈希值信息和数据签名信息;

所述数据使用者,用于发出授权请求,以获取对所述数据拥有者的原始医疗数据的访问权限;

已授权的数据使用者从区块链中获取加密后的原始医疗数据;

所述数据使用者,用于对所述加密后的原始医疗数据进行解密,得到所述原始医疗数据,并对所述原始医疗数据的完整性进行验证;

所述下载控制器,用于判定所述数据使用者是否为恶意用户。

本发明实施例的第三方面提供了一种电子设备,包括处理器以及存储器;

所述存储器用于存储程序;

所述处理器执行所述程序实现如前面所述的方法。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。

本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。

本发明的实施例数据拥有者对原始医疗数据进行加密后,上传至分布式星际文件系统;通过数据生成机构将元数据上传至区块链,其中,所述元数据包括所述哈希值信息和数据签名信息;数据使用者发出授权请求,以获取对所述数据拥有者的原始医疗数据的访问权限;已授权的数据使用者从区块链中获取加密后的原始医疗数据;对所述加密后的原始医疗数据进行解密,得到所述原始医疗数据,并对所述原始医疗数据的完整性进行验证。本发明能够实现安全高效的医疗数据共享生态。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的系统架构示意图;

图2为本发明实施例提供的实施步骤流程图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

针对现有技术存在的问题,本发明提出一项基于区块链的医疗数据共享方案,特别是其抗攻击访问控制机制设计,实现在医疗数据共享的各个节点,恶意节点攻击失败;另外实现数据拥有者与数据使用者之间的身份验证机制,从而实现安全高效的医疗数据共享生态。

本发明采用私有区块链的形式,利用EIGamal算法的离散对数难解性,构建一个基于区块链的数据安全共享系统,特别是其抗攻击访问控制机制设计。方案涉及6个主要节点,分别包括:私有区块链、数据生成机构(就诊医院)、数据拥有者(患者)、数据使用者(医生、科学研究机构等)、下载控制器、IPFS分布式星际文件系统。实现医疗数据在不同授权节点之间进行安全共享,从而保障医疗数据的机密性和完整性,并通过构建抗攻击的访问控制机制与身份验证机制,提高方案抗攻击能力。

为实现本发明的方法,首先进行系统参数配置:

①设置一个大素数q,其生成元为g,并利用生成元g生成q阶循环群G

②预设安全参k,选择一个抗碰撞哈希函数H

③系统公开参数{k,q,g,G

生成密钥和身份验证因子:

下载控制器私钥:x

数据拥有者私钥:x

数据使用者私钥:x

下面结合图1,详细说明本发明的系统结构及本发明的具体实现方法:

步骤一(数据加密上传至IPFS系统):数据生成机构将数据拥有者产生的医疗数据完整副本raw_File复制一份给数据拥有者,数据拥有者首先计算raw_File的完整哈希值hash

步骤二(元数据处理并上传至区块链):数据拥有者从IPFS分布式星际文件系统中获取医疗数据存储哈希hash

hospital.upload({hash

步骤三(数据使用者请求授权):当数据使用者想获取数据拥有者的隐私数据时,首先需要先向数据拥有者提出请求并发送其身份验证因子γ,为了防止他人冒用身份,数据拥有者首先验证两个身份验证因子是否相等,如果φ≠γ,则终止算法,如果φ=γ,并且数据拥有者同意将该数据使用者添加进访问控制列表AccessList中之后,数据拥有者计算以下数据:

步骤四(数据使用者获取加密医疗数据):在上一步骤已授权的数据使用者,利用其私钥x

hash

步骤五(解密获得原始医疗数据并进行数据完整性验证):已授权的数据使用者通过步骤四获得的key对控制器返回的加密医疗数据enc_File进行对称解密,即:

raw_File=Dec(key,enc_File)。数据使用者计算raw_File的哈希值,并将其与区块链上的哈希值比较,如果H

本发明实施例还提供了一种基于区块链的抗攻击访问控制系统,包括:区块链、数据生成机构、数据拥有者、数据使用者、下载控制器以及分布式星际文件系统;

所述数据拥有者,用于对原始医疗数据进行加密后,上传至所述分布式星际文件系统;

所述数据生成机构,用于将元数据上传至区块链,其中,所述元数据包括所述哈希值信息和数据签名信息;

所述数据使用者,用于发出授权请求,以获取对所述数据拥有者的原始医疗数据的访问权限;

已授权的数据使用者从区块链中获取加密后的原始医疗数据;

所述数据使用者,用于对所述加密后的原始医疗数据进行解密,得到所述原始医疗数据,并对所述原始医疗数据的完整性进行验证;

所述下载控制器,用于判定所述数据使用者是否为恶意用户。

本发明实施例还提供了一种电子设备,包括处理器以及存储器;

所述存储器用于存储程序;

所述处理器执行所述程序实现如前面所述的方法。

本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。

本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。

另外,与现有技术相比,本方案具有很好的抗攻击能力,下面进行解释说明。如图2所示,假设恶意用户从图2所示①-④处节点进行攻击:

①当恶意用户在节点①处进行假冒身份攻击,在本方案中每个注册用户的公钥是公开的,假设恶意用户已经窃取了数据使用者的私钥x

②当恶意用户在节点②处进行攻击时,即恶意用户从不安全信道截取了数据拥有者发送给数据使用者的{z

③当恶意用户在节点③处进行攻击时,即恶意用户窃取了数据使用者的私钥x

state=H

④当恶意用户在节点④处进行攻击时,即假设恶意用户从不安全信道截取了下载控制器传输给数据使用者的加密医疗数据enc_File,但由于恶意用户没有解密秘钥key,因此也无法解密获得原始医疗数据raw_File,从而恶意用户攻击失败。

综上四点所述,本方案与其他现有技术相比较,具有更为完善且有效的抗攻击效果。

综上所述,相较于现有技术,本发明具有以下优点:

①在区块链数据共享过程中,针对恶意用户想要非法获取数据拥有者隐私数据的行为,本方案所设计的算法能够有效实现抵抗恶意用户在数据共享各个流程节点的攻击。

②在抵抗恶意用户攻击过程中,对已发现的恶意用户加入黑名单BlackList进行管理,有效保障区块链医疗数据共享生态。

③本方案中医疗数据的存储哈希hash

④在医疗数据共享过程中,数据拥有者与数据使用者之间实现了身份验证机制,提高方案的安全性。

需要说明的是,本方案中所描述的数据虽然是医疗数据,但本方案的设计对于其他隐私数据同样适用,例如:交通运输数据、个人收入数据、活动轨迹数据等等。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

相关技术
  • 基于区块链的抗攻击访问控制方法、系统、设备及介质
  • 基于区块链的数据访问控制方法、装置、设备和介质
技术分类

06120113255381