APP下载

个人健康记录中隐私数据分层访问控制方法

2022-09-28陈云鹏杨祉坤

计算机仿真 2022年8期
关键词:访问控制加密区块

李 莉,陈云鹏,杨祉坤,吴 怡

(东北林业大学信息与计算机工程学院,黑龙江哈尔滨150040)

1 引言

随着医疗数据的快速增长,医院网络数据逐步走向公共网络,为数据的获取提供了便利条件,但是医疗数据泄露问题也时有发生。近年来,倒卖、恶意删除、修改个人信息,内部人员泄露数据等情况时有发生,严重影响个人健康档案的安全。个体健康档案记载个人疾病的发生、发展、治疗等过程,虽然医学价值较高,但正是因为其利用价值较高,从而成为信息窃取的主要对象。

针对上述问题,赵志远[1]等人研究了面向物联网数据安全共享的属性基加密方案,该方案预先对身份加密,并设计用户私钥、公钥,达到对隐私数据分层访问控制的目的。顾荣杰[2]等人研究了基于TFR模型的公安云平台数据分级分类安全访问控制模型,该模型在数据加密存储、角色访问控制的基础上,对数据敏感性、人员与数据进行了分类,实现数据访问的安全控制。文一凭[3]等人研究了云工作流环境下隐私感知的多租户访问控制模型,该模型主要提出一种隐私感知、动态责任分离的授权约束方法,实现了对数据的访问控制。上述研究的方法能够对隐私数据访问控制,但是访问控制效果较差,仍然存在健康记录被泄露的情况。

区块链技术主要利用其中的块链式结构对数据进行存储与验证,并利用密码学方法对数据加密,保证数据传输与访问安全,其已经广泛地应用到各个领域中[4,5]。基于区块链技术的优点,本文将其应用到个人健康记录隐私数据分层访问控制中。

2 数据共享模型构建

建立基于区块链结构的数据共享模型,区块链的结构如图1所示。

图1 区块链结构

图1中,DATE代表区块记录的基础数据,H代表hash值。基于区块链的数据共享模型中主要包含数据需求者、数据提供者、仲裁方与共享数据空间[6],将表达式表示为

S={I,D,M,R}

(1)

式(1)中,I代表数据索引,D代表需要共享的数据,M代表数据需求者的数据分析模型,R代表通过数据分析模型分析后得到的结果。

在此次研究的访问控制模型[7]中,DR依据索引I寻找需求的数据D,然后生成相应的数据分析模型,并将其发送给数据提供者,数据提供者在数据分析模型中得到分析结果,并将分析结果发送给数据需求者DR。

通过上述过程完成数据共享[8],将上述共享过程表示为T,将T形式化表示为

(2)

如果数据访问方与被访问方因为某个共享行为出现分歧,则通过仲裁方判定,将仲裁行为记作Q,将其表示为

(3)

通过上述过程对数据进行共享,即可完成数据索引的建立。在此基础上,为了方便索引与检验[9],需要对当前区块信息做hash运算,以得到当前区块摘要,当前区块Hash求解表示为

CurHash=(Type|Source|PreHash|BodyHash)

(4)

式(4)中,CurHash代表当前区块的Hash,Type代表区块体的种类,Source代表区块来源,PreHash代表区块的前一个Hash,BodyHash代表时间戳。

当节点收到发来的访问需求后,节点对需求区块进行正常性检查,检查完成后方便数据的共享。

3 基于区块链技术的隐私数据分层访问控制

3.1 数据分层访问控制模型

此次设计的基于区块链技术的隐私数据分层访问控制方案主要包含应用层、区块链层与数据层,数据分层访问控制模型如下图2所示。

图2 基于区块链的个人健康记录数据分层访问控制模型

1)数据层。数据层为复合数据结构,主要存储个人健康记录,并提供信息索引,同时对数据加密;

2)区块链层。该层是个人健康记录隐私数据分层访问控制的核心,在控制中,将个人健康记录索引信息存放到区块链中。当对个人健康记录进行操作时,需要在区块链中的记录区块记录本次操作,在达成共识后获取记录索引,通过索引查询获取需要查询的个人健康记录信息;

3)应用层。该层为区块链展示层,主要从数据层获取完整的个人健康记录数据,然后对用户进行展示。

3.2 隐私数据分层访问控制的实现

为保证数据安全性,以数据分层访问控制模型为基础对隐私数据进行分层访问控制,分层访问控制主要分为三层,详细内容如下。

3.2.1 用户注册

在隐私数据分层访问控制中,第一层就是用户注册与资源注册,注册时根据用户自身账户地址Addressuser,将用户的属性及参数[10]记作AttrSet。在进行访问时,智能合约根据用户属性参数为用户返回对应的属性权值AttrPower与用户状态值State。在返回后,将用户地址以及属性参数返回到区块链中,并且用户属性权值是公开可见的,所有用户都能够根据用户权值验证用户请求到的令牌是否属实,整个流程如下所示

User→TxRegisteruser:[Addressuser,AttrSet]Sigwer

Tx:[Statewer,AttrPower]→User

(5)

在用户完成注册后,对资源注册,通过调用智能合约的形式将资源注册到区块链中,下面具体展示用户向区块链中上传资源信息的过程

User→TxRegisteresoure:[IDresurce,Hash,{F,powerLimit}]Siguser

Tx:[Statereowree]→User

(6)

通过上述过程,将注册数据上传到区块链中,在上传成功后,每个数据对应唯一的哈希字符串。

3.2.2 隐私数据加密

在完成用户注册的基础上,加密处理数据,并为验证成功的用户分发密钥,详细过程如下所示:

Step2:加密,执行加密算法

Epk(m1+m2)=Epk(m1)+Epk(m2)

Epk(a×m1)=a×E(m1)

(7)

式(7)中,m1、m2分别代表机密数据,pk代表数据加密的密钥,E代表整数,a代表输出的安全参数。

Step3:分发密钥,按照密钥分发算法 KeyGen (mk,SU),注册属性集,为每个用户分发密钥,并将密钥通过安全信道发送给使用者使用与保存;

Step4:密钥转换,在获得公钥后,采用密钥转换算法对公钥与属性集的私钥进行转换,并作为输入条件,将转换密钥设置为

∀i∈{1,2,…,l}

(8)

式(8)中,K代表公钥。

经过上述过程对密钥转换,转换后将结果发送到服务器中,由检索密钥将转换结果发送到区块链的智能合约中。

Step5:数据上传,经过上述过程完成对数据的加密,加密完成后,将数据上传到区块链中,并将其放入底层数据库,表示为

(9)

其中,add代表数据地址,cph代表数据映射参数。

经过上述过程保证用户能够访问到数据库中信息,为了保证数据安全性,将在下一步做进一步访问控制。

3.2.3 令牌请求机制建立

获取智能合约中的密钥信息,做最后一步数据访问控制,即建立令牌请求机制,目的是在获得资源前控制查询对象。

在建立之前,需要与区块链连接,在区块链中,有私钥和公钥,公钥被上载到区块链上,计算公式为

public-key<-H(PB)

(10)

式(10)中,PB代表公钥。

加密密钥KBC通过传感器使用PB公钥导出,导出后使用相同的智能合约与云共享,做如下操作

KBC=H3(meta‖sPB)⊕H3(meta‖sPC)

(11)

SID<-H(KBC)

(12)

式(11)与(12)中,sPB、sPC分别代表共享参数,将上述获得的数据与代理共享,在共享完成后,建立令牌请求机制。

在该过程主要发起对某个资源的令牌请求,资源请求者先发送一个资源请求事务,然后请求资源令牌,用户在获取权限后调用资源对象,将令牌请求机制表示为

user→TxTokenreq:[Addressuser,{[IDresauree,F],T}]Siguser

Tx:[IDTaken,Addressuser,StateToken]→User

(13)

式(13),IDresauree为资源唯一标识编号,F为用户请求访问的资源。

在发送令牌请求后,资源提供者需要验证用户的令牌中是否包含资源ID,如果是则提供资源,并且需要对资源解密,从而完成数据的获取,如果不是,则拒绝这个请求。

其中数据解密由下述公式求得

(14)

式(14)中,C代表转换密文参数,Tz代表第z个数据的密文转换参数,e(g1,g1)代表待转换数据,αs代表常数。

经过上述过程提出数据解密的过程,为达到同时处理海量数据的目的,建立共识机制,该机制的核心思想是通过计算机竞争让分布式节点解决大数据量的问题,从而在网络中保证共识数据的安全性,假设共识目标为Tar,将计算公式表示为

(15)

式(15)中,v代表常量,difficulty代表数据难度值。

在计算过程中,每个节点不同,其对应的计算效率也不同,为避免这个问题,通过下述算法解决,以提高数据防篡改能力,公式为

(16)

式(16)中,C代表极大数,h代表区块链头对应的哈希值,n代表区块链头相对应的随机数量。

在处理每个数据的过程中,需要在区块中存储并记录处理完成的数据,并在区块中广播处理好的数据,以此完成隐私数据的分层访问控制。

4 实验

为验证所研究的面向个人健康记录的隐私数据分层访问控制方法的有效性,进行实验,并将所提方法与面向物联网数据安全共享的属性基加密方案(方法1)、基于TFR模型的公安云平台数据分级分类安全访问控制模型(方法2)、云工作流环境下隐私感知的多租户访问控制模型(方法3)进行对比,对比四种方法的隐私数据访问控制效果。

4.1 被窃取情况对比

分析四种方法的数据被窃取情况,对比结果如图3所示。

图3 被窃取情况对比

基于上图可知,所研究的个人健康记录的隐私数据分层访问控制方法下信息被窃取的情况较少,仅在数据量较多时出现被窃取的情况。在数据量较少与较多时,面向物联网的属性基加密方案、基于TFR模型的控制模型、云工作流环境下隐私感知的模型都出现被窃取情况,在数据量多时,被窃取次数较多,说明访问控制效果较差。

4.2 被修改情况对比

网上存在恶意篡改数据的情况,为此将其作为验证访问控制方法效果的指标,所研究的方法与传统三种方法的控制效果如图4所示。

图4 被修改情况对比

基于上图可知,所研究的面向个人健康记录的隐私数据分层访问控制方法出现数据被修改的情况较少,而其它三种方法均出现了较多次被修改的情况。

4.3 加密时间开销对比

在隐私数据分层访问控制中,加密时间开销是衡量其控制效果的重要指标之一,四种方法的加密时间开销对比结果如图5所示。

图5 加密时间开销对比

对比上图可知,三种传统方法的加密时间都多于所研究的方法,加密时间较长,影响了隐私数据访问控制效果。

4.4 访问控制平均响应延时对比

为测试方法的访问控制效率,下述实验测试不同访问次数情况下的并发访问请求,分别记录四种方法的访问请求平均延时,如图6所示。

图6 访问控制平均响应延时对比

基于上图6可知,此次研究的个人健康记录的隐私数据分层访问控制方法延时最少,面向物联网的属性加密方案延时最多,响应延时较长,其它两种方法也没有所研究的控制方法实时性好。

5 结束语

设计了一个基于区块链技术的个人健康记录隐私数据分层访问控制方法,实现了对健康记录数据安全和方便地访问控制。所研究的隐私数据分层访问控制方法的创新之处如下:

第一,将区块链技术应用到数据访问控制中,制定数据访问索引;

第二,对数据加密处理,保护访问控制中的敏感信息,解决区块链控制中的隐私问题;

第三,进行多次试验,证明该控制方法的可行性,并与不同方案对比,结果表明,所研究方法能够实现对信息的安全访问控制,并具有较低的延迟性,保证了访问管理的高效率。

在后续研究中,将加大区块链技术的应用力度,考虑终端设备弱口令的问题,解决终端安全的问题。

猜你喜欢

访问控制加密区块
保护数据按需创建多种加密磁盘
百度推出“区块链操作系统”BBE平台
谷歌禁止加密货币应用程序
区块链产业发展速度放缓
云的访问控制研究
Unicorn正式上线区块链浏览器UIC—Explorer
区块链投机者
加密与解密
云计算访问控制技术研究综述
校园骨干层网络交换机的访问控制技术