一种面向边缘计算的属性加密访问控制方法与流程

文档序号:20917485发布日期:2020-05-29 13:43阅读:349来源:国知局
一种面向边缘计算的属性加密访问控制方法与流程

本发明涉及数据安全技术领域,具体涉及一种面向边缘计算的属性加密访问控制方法。



背景技术:

在云计算中,很多数据外包存储在“基本”可信的云服务平台上,由于云上的数据脱离了数据所有者的物理控制,非法用户可以尝试通过非法访问数据来试图获取数据所包含的信息,这将造成数据信息和用户隐私信息的泄露。采用基于属性加密技术可对存储在云端的这些隐私数据进行细粒度的访问控制,该方法可以实现“一对多”的加密访问控制,同时具有可扩展性和分布式的特点。

随着物联网、5g网络技术的快速发展,智慧医疗、位置服务、移动支付等新型服务模式和业务不断出现,使得智能设备数量呈爆炸式增长,随之而来的是物联网设备产生的海量数据。而传送海量数据到云中心需要一定的时间,云中心处理数据也需要一定的时间,这就会加大请求响应时间,用户体验极差。而由于终端用户和远程云之间的数据交换会占用大量带宽,以及物联网中很多终端设备的计算资源有限,通信和存储必须依靠云或边缘节点来完成。边缘计算是指数据或任务能够在靠近数据源头的网络边缘侧进行计算和执行计算的一种新型服务模型,与云计算互为补充。

传统云环境下的属性加密只考虑常规属性如职业、年龄等。而在一些实际应用场景中,数据的访问控制还需要考虑时间和位置等因素。如医生只能在上班时间并且只能在医院位置范围内才能访问医院数据库,查看病人的相关病历;学生只能在校且在籍才能访问教务系统以及图书馆购买的数据库。由于边缘计算具有移动性、实时性,因此必须考虑时间和位置变化带来的影响,并且由于数据的多元异构性、感知性以及终端的资源受限等特性,传统云环境下的属性加密访问控制方法已不再适用于边缘计算环境。



技术实现要素:

本发明针对边缘计算应用中数据的隐私保护和访问控制问题,提供一种支持时间和位置变化的属性加密访问控制方法。

为解决上述问题,本发明是通过以下技术方案实现的:

一种面向边缘计算的属性加密访问控制方法,具体包括步骤如下:

步骤1、初始化:ca初始化建立整个系统;aa通过ca进行注册,负责管理系统中的所有属性,且每个aa管理的属性集合没有交集;do通过ca进行注册;du通过ca进行注册,并由ca认证du的身份和授权;

步骤2、do先使用对称密钥对明文数据进行加密,生成数据密文;再使用预设的访问策略对对称密钥进行加密,生成密钥密文;后将数据密文和密钥密文一起发送到csp进行存储;

步骤3、当du发出访问请求时,

首先,aa使用ca的验证密钥从凭证中得到该du的身份,并判断du是否为注册用户:当du不是注册用户时,则aa返回失败信息;当du是注册用户时,则aa根据du的常规属性生成常规属性私钥,并发回给du;

然后,aa根据访问控制表判断du的访问时间和位置是否均在有效时间和位置范围内:若访问时间和位置均在有效时间和位置范围内时,则aa分别生成时间属性私钥和位置属性私钥,并返回给du;否则,aa返回失败信息给du;

步骤4、du组合收到常规属性私钥、时间属性私钥和位置属性私钥,并进行转换处理后生成边缘密钥和恢复密钥;

步骤5、du对en发起访问请求,并将边缘密钥发送到en;

步骤6、en收到du的访问请求后,检索自己是否存储相应的数据密文和密钥密文:

若en存储有相应的数据密文和密钥密文,则该en直接利用边缘密钥对密钥密文进行预解密得到中间密钥密文;

若en没有存储有相应的数据密文和密钥密文,则该en先向其相邻的en或csp进行数据密文检索,并将检索到的数据密文和密钥密文缓存在该en上,该en利用缓存的密钥密文进行预解密得到中间密钥密文;

步骤7、en将中间密钥密文和数据密文一起发送给du,du利用恢复密钥对中间密钥密文进行本地解密得到对称密钥;

步骤8、数据用户利用本地解密得到的对称密钥对数据密文进行解密,得到明文数据。

上述步骤2中,访问策略为包含常规属性、时间属性和位置属性的访问策略。

上述步骤6中,若en没有存储有相应的数据密文和密钥密文,该en先向其相邻的en进行数据密文检索,若相邻的en存储有该数据密文,则相邻的en将数据密文返回至该en并进行缓存,否则,该en再向csp进行数据密文检索,若csp存储有该数据密文,则csp将数据密文返回至该en并进行缓存,否则,csp返回失败信息。

与现有技术相比,本发明具有如下特点:

1、本发明考虑到在许多实际应用场景中,数据的访问控制除了考虑常规的如职业、年龄等属性之外,还需要同时考虑时间和位置因素,所以除了常规的属性加密之外还将时间参数和位置参数一起作为加密因子用于属性加密算法中,使得数据用户必须在数据拥有者所设定的时间和位置范围内才能进行访问,以达到更细粒度的访问控制。

2、数据用户在请求访问数据时,根据最短路径算法访问离自己最近的边缘节点,边缘节点收到数据用户的访问请求后,先检索自己是否存储相应的数据密文和密钥密文,若没有存储,则由该边缘节点向其相邻的其它边缘节点或云服务器检索。

3、本发明针对边缘计算中终端设备资源受限问题,将大部分的解密工作放在边缘节点,在边缘节点进行预解密。

附图说明

图1为本发明的系统模型。

图2为本发明的流程图。

图3为系统初始化流程框图。

图4为du注册流程框图。

图5为aa注册流程框图。

图6为aa初始化流程框图。

图7为加密流程框图。

图8为属性私钥生成流程框图。

图9为解密流程框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。

本发明的系统模型如图1所示,该模型由六个实体组成,分别为中央授权机构(ca)、云服务器(csp)、属性授权机构(aa)、边缘节点(en)、数据所有者(do)和数据用户(du)。ca负责用户和aa的认证和授权。各aa之间相互独立,负责管理各自域内的属性,并生成和分发du的属性私钥。csp提供永久存储的能力。en提供存储和计算能力。do负责访问策略(a,ρ)的制定和密文的生成。du负责中间秘钥密文的解密。

基于上述系统模型的一种面向边缘计算的属性加密访问控制方法,如图2所示,其具体包括步骤如下:

步骤s1:系统初始化:

系统初始化包括ca的初始化和aa的初始化。当do向ca申请注册时,ca生成系统公共参数gp,并将其公开。aa、du加入系统时,需向ca发送授权请求,ca接受请求并验证aa、du的合法性。aa加入系统后进行初始化操作,生成aa的公钥并发送给do用于对对称秘钥k加密,生成aa的私钥并发送给du用于生成du的属性私钥。

参见图3,系统初始化的具体过程如下:

s11:ca初始化。输入安全参数λ,生成系统公共参数gp、ca的签名和验证密钥对(skca,vkca)。

s111:输入安全参数λ;

s112:输出系统公共参数gp,其中包括两个阶为素数p的双线性群g和gt以及群g的生成元g、抗碰撞哈希函数f和随机元素h,即gp=(g,h,g,gt,f)。除此之外,生成签名和验证密钥对(skca,vkca),分别用于对du的身份uuid进行签名和验证。

s12:du注册。ca通过分析du提交的身份信息infouid对du的合法性进行验证。如果该du合法,则为该du返回一个全网唯一的身份标识uid,一个身份凭证certuid和一个身份密钥kuid;否则,ca拒绝该du注册。参见图4。

s121:输入系统公共参数gp和du的身份信息infouid;

s122:输出身份标识uid、身份凭证certuid和身份密钥

s13:aa注册。ca通过分析aa提交的身份信息infoaid对aa的合法性进行验证。如果该aa合法,则为该aa输出一个全网唯一的身份标识aid和验证密钥vkca;如果该aa不合法,则ca拒绝该aa的注册。参见图5。

s14:aa初始化。输入系统公共参数gp、aa的标识符aid和该aa管理的属性集合输出aa的公私钥对。参见图6。

s141:输入系统公共参数gp、aa的标识符aid和aa的属性集合

s142:输出aa的私钥和aa的公钥

步骤s2:数据加密:

do负责数据的加密操作。为了提高系统的效率和安全性,do先使用对称密钥k对明文数据进行加密,生成数据密文ctdata;do再使用自己制定的访问策略(a,ρ)对对称密钥k进行加密,生成密钥密文ctfid;最后do将数据密文ctdata和密钥密文ctfid一起发送到csp进行存储。

本发明将系统的属性分为三类:常规属性、时间属性和位置属性。其中常规属性包括职称、年龄等;时间属性用于限定du访问系统时的时间是否在有效时间范围内;位置属性用于限定du访问系统时所处位置是否位于允许的范围内。所述访问策略(a,ρ)是由do定义的,包含常规属性、时间属性和位置属性。满足访问策略(a,ρ)要求的du将能够在规定的时间和地点范围内访问do提供的数据。

参见图7,数据加密的具体过程如下:

s21:do执行时间参数生成算法,输入系统公共参数gp、全网唯一的密文编号fid、访问时间范围[tbegin,tend]、aaj的标识符aid和时间属性集合stj,fid,输出时间参数对(tdoparamj,fid,taaparamj,fid)。将taaparamj,fid发送给aaj。然后,aaj设置一个表存储该密文fid的时间参数,即(fid,taaparamj,fid)。

s211:输入系统公共参数gp、密文编号fid、访问时间范围[tbegin,tend]、aaj的标识符aid和时间属性集合stj,fid;

s212:输出tdoparamj,fid=(tj)作为加密因子,用于加密对称密钥k;用于生成时间属性私钥tskj,uid,fid。

s22:do执行位置参数生成算法,输入系统公共参数gp、全网唯一的密文编号fid、访问位置范围[lbegin,lend]、aaj的标识符aid和位置属性集合slj,fid,输出位置参数对(ldoparamj,fid,laaparamj,fid)。将laaparamj,fid发送给aaj。然后,aaj将laaparamj,fid加入到表中,即文件的时间和位置访问控制表(fid,taaparamj,fid,laaparamj,fid)。

s221:输入系统公共参数gp、密文编号fid、访问位置范围[lbegin,lend]、aaj的标识符aid和位置属性集合slj,fid;

s222:输出ldoparamj,fid=(lj)作为加密因子,用于加密对称密钥k,用于生成位置属性私钥lskj,uid,fid。

s23:do执行加密算法,首先do使用对称密钥k加密明文信息得到数据密文ctdata。然后,do使用基于属性加密算法对k进行加密,输入系统公共参数gp、对称密钥k、访问策略(a,ρ)、aa的公钥集合加密时间参数集合{tdoparamj,fid}和加密位置参数集合{ldoparamj,fid},输出密钥密文ctfid。

步骤s3:请求访问:

aa负责处理du的属性私钥请求。du根据aa返回的属性私钥集合(常规属性私钥、时间属性私钥和位置属性私钥)生成边缘密钥ek和恢复密钥rk。

du发出访问请求时,首先,aa使用ca的验证密钥vkca从凭证certuid得到该du的身份uuid,并据此判断du是否为注册用户。若du不是注册用户,则拒绝du的属性私钥请求。否则,aa根据du的常规属性生成常规属性私钥uskj,uid,并返回给du;然后,aa根据访问控制表(fid,taaparamj,fid,laaparamj,fid)判断du的访问时间和位置是否在有效时间和位置范围内:若均在有效范围内,则aa分别生成时间属性私钥tskj,uid,fid和位置属性私钥lskj,uid,fid,并返回给du;否则,aa返回失败信息给du。

du将常规属性私钥uskj,uid、时间属性私钥tskj,uid,fid和位置属性私钥lskj,uid,fid组合起来,根据私钥转换算法将其转换为边缘密钥ekuid,fid和恢复密钥rkuid,fid,其中ekuid,fid用于在en上的预解密,rkuid,fid用于在du上的解密。

参见图8,请求访问的具体过程如下:

s31:aa执行常规属性私钥生成算法,输入系统公共参数gp、该aa的私钥du在该aa中的普通属性集合sj,uid,输出du在该aa中的普通属性私钥uskj,uid,并返回给du。

s32:aa执行时间属性私钥生成算法,输入系统公共参数gp、该aa的私钥唯一的密文号fid、du在该aa中的时间属性集合stj,uid、aa的时间参数taaparamj,fid,输出du在该aa中的时间属性私钥tskj,uid,fid,并返回给du。

s33:aa执行位置属性私钥生成算法,输入系统公共参数gp、该aa的私钥唯一的密文号fid、du在该aa中的位置属性集合slj,uid、aa的位置参数laaparamj,fid,输出du在该aa中的位置属性私钥lskj,uid,fid,并返回给du。

s34:du根据收到的常规属性私钥{uskj,uid}、时间属性私钥{tskj,uid,fid}和位置属性私钥{lskj,uid,fid}进行转换处理,生成边缘密钥ekuid,fid和恢复密钥rkuid,fid。经过安全通道发送ekuid,fid到en进行预解密操作,rkuid,fid留在本地进行最后的解密操作。

步骤s4:密文解密:

在边缘计算环境中,du通常是资源受限的设备。为了提高解密效率,减轻du的计算负担及能量消耗,本发明密文解密过程分为:预解密和本地解密。其中预解密在en上进行,本地解密在du处进行。

du对最近的en发起访问请求,同时向其发送边缘密钥ekuid,fid。

en收到du的访问请求后,先检索自己是否存储相应的数据密文ctdata和密钥密文ctfid,若没有存储,则由该en向其相邻的其它en节点或云服务器检索,将检索到的数据密文和密钥密文缓存在该en上,边缘节点利用边缘密钥ekuid,fid对密钥密文ctfid进行预解密得到中间密钥密文ictfid。

边缘节点使用边缘密钥ekuid,fid对密钥密文ctfid进行预解密后,将得到的中间密钥密文ictfid和数据密文ctdata一起返回给du。

du利用恢复密钥rkuid,fid对中间密钥密文ictfid进行解密得到对称密钥k。du利用步骤7所得到的对称密钥k对数据密文ctdata进行解密,得到明文数据。只有当du的属性集合满足访问策略时,才能使用恢复密钥rkuid,fid解密中间密钥密文ictfid,得到对称密钥k,最后使用对称密钥k解密数据密文ctdata,得到明文数据。

参见图9,密文解密的具体过程如下:

s41:en利用边缘密钥ekuid,fid对秘钥密文ctfid进行预解密,生成中间密钥密文ictfid,并发送给du。

s42:du利用恢复密钥rkuid,fid对中间密钥密文ictfid进行本地解密,得到对称密钥k,然后再使用对称密钥k对数据密文ctdata进行解密,得到明文数据。

本发明的创新点总结如下:

1、由于边缘计算的实时性和移动性,本发明考虑时间和位置变化带来的影响。将属性划分为三类:常规属性、时间属性和位置属性。

2、本发明在加密对称密钥之前,根据时间和位置的有效范围生成相应的时间参数对和位置参数对,参数对中的其中一个作为加密因子运用到加密算法,另外一个用于在解密阶段生成属性私钥。

3、aa根据时间和位置参数对判断数据用户的请求时间和请求位置是否在有效时间和位置范围,如果在有效范围内,则aa生成并发送相应的时间属性私钥和位置属性私钥给数据用户。

4、在边缘节点进行预解密,减轻了数据用户解密的计算量,使该发明适用于资源受限的设备。根据位置分配资源,将计算放到距离数据用户更近的边缘节点上执行。

需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1