CN103220291A - 一种基于属性加密算法的访问控制方法 - Google Patents
一种基于属性加密算法的访问控制方法 Download PDFInfo
- Publication number
- CN103220291A CN103220291A CN2013101325862A CN201310132586A CN103220291A CN 103220291 A CN103220291 A CN 103220291A CN 2013101325862 A CN2013101325862 A CN 2013101325862A CN 201310132586 A CN201310132586 A CN 201310132586A CN 103220291 A CN103220291 A CN 103220291A
- Authority
- CN
- China
- Prior art keywords
- user
- data file
- cdc
- file
- private key
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种基于属性加密算法的访问控制方法,包括初始化;数据文件的访问;访问权限的变更。利用基于属性加密算法在分布式环境下所具有的优势,有效解决了云计算环境下解密方不固定等数据文件共享方面所存在的问题。不仅支持了云计算环境下对于数据文件的安全访问,同时还充分考虑到用户权限的撤销及用户误读脏数据等方面的问题。
Description
技术领域
本发明属于云计算技术领域,涉及一种基于属性加密算法的访问控制方法。
背景技术
基于属性的加密算法通过加入对用户身份属性的描述,使用与门、或门和包含门等门限函数作为约束条件,显著提高了数据文件的共享能力,使系统在分布式环境下的访问控制效率明显优于传统的使用唯一身份标签的基于身份的加密算法,非常适用于云计算这种数据文件共享率很高的计算环境。将基于属性的加密算法应用到访问控制方案中的研究在很早之前便已受到业界的普遍关注,学者们提出的解决方案在权限撤销、门限函数的支持和代理重加密等方面也都取得了一定的成绩。但遗憾的是,大多数学者的研究内容仅局限于使用基于属性的加密算法解决传统计算模式中所存在的访问控制问题,而其中绝大多数的研究成果都不能够满足云计算环境下的应用需求。下面首先对学者们之前的相关研究成果进行一下总结。
现有技术提出了一种以密文策略为基础的代理重加密访问控制方案,方案通过使用代理的方式,很好的解决了密文策略中用户权限撤销繁琐复杂的难题。但是,文章中描述的方案只是简单的以属性集合为单位进行访问权限的撤销,没有能够达到较为精细的权限撤销。中科院软件所的冯登国等人在现有技术中,提出了一套将基于密文策略的属性加密算法与公钥密码算法相结合的访问控制方案。不过遗憾的是,他们提出的方案使数据的拥有者承担了大量额外的重加密任务。现有技术通过扩展用户属性并加入终止时间标签的方式,设计了一套新颖的访问控制方案。但是,由于需要进行周期性的申请私钥工作,使用户背上了较为沉重的负担,同时也出现了许多诸如用户权限无法撤销的问题。现有技术假定服务提供商在一定程度上可信的情况下,设计了一套由服务提供商完成部分工作的基于密文策略的访问控制方案。该方案很好地利用了服务提供商庞大的计算资源,是研究领域的一大突破。不过遗憾的是,该方案的门限支持不足,访问控制策略不够灵活,很难在实际应用环境下发挥作用。此外,现有技术提出的基于属性加密的访问控制方案,创造性地将密钥分割和代理重加密技术结合了起来。但是方案没有对用户数据文件的完整性和一致性进行考虑,存在误读脏数据的安全风险。
发明内容
本发明的目的是克服现有技术的缺陷,提供一种基于属性加密算法的访问控制方法,利用基于属性加密算法在分布式环境下所具有的优势,有效解决了云计算环境下解密方不固定等数据文件共享方面所存在的问题。不仅支持了云计算环境下对于数据文件的安全访问,同时还充分考虑到用户权限的撤销及用户误读脏数据等方面的问题。
其技术方案为:
一种基于属性加密算法的访问控制方法,包括以下步骤:
A初始化
A1)USER向CDC发出存储数据文件请求,CDC为数据文件生成AES加密密钥Key,并对文件进行加密;
A2)CDC对文件进行分块操作,进行Merkle Hash Tree的构造和文件根节点值的计;
A3)CDC调用PKeyGen()函数为文件生成公开参数Pk;
A4)CDC调用MKeyGen()函数为文件生成主密钥Mk;
A5)CDC根据数据文件的实际权限划分需求,生成用于加密数据文件的属性集合U,同时生成数据文件的属性列表FAL;
A6)CDC为拥有数据文件不同访问权限的所有USER生成相应的属性集合,所有USER的属性集合中必须包含文件关键属性KA和文件标识属性RA,其中文件标识属性RA由步骤A2)计算得到的文件Merkle Hash Tree根节点值定义;
A7)CDC根据数据文件的共享要求确定数据文件的访问控制树结构,访问控制树根节点的门限函数设置为与门,左子树由KA作为唯一叶子节点,右子树根节点的门限函数设置为与门,右子树的左子树由RA作为唯一叶子节点;
A8)调用Encrypt(Pk,M,T)函数对密钥Key进行加密;
A9)使用得到的密文生成解密信息列表DIL;
A10)调用SKeyGen(Mk,A)生成不同权限USER的私钥Sk;
A11)生成用户私钥列表UKL;
A12)将FAL、DIL和UKL通过通信信道传送给TPA,TPA对其进行副本的保存以备查验;
B数据文件的访问
B1)USER提出数据文件的访问请求,并使用USER的私钥对所请求的数据文件的相应访问控制密文进行解密;如果解密成功,则执行步骤B2);反之,则执行步骤B7);
B2)CDC根据USER拥有的访问权限,限定USER对数据文件的操,如果USER拥有读权限,则执行步骤B3);反之,则执行步骤B4);
B3)USER对数据文件进行读操作,操作结束之后,USER向CDC交还数据文件的访问控制权,数据文件的访问操作结束;
B4)USER对数据文件进行写操作,操作结束之后,CDC将重新计算数据文件的文件Merkle Hash Tree根节点值,然后,CDC根据USER的权限再分配请求为仍然拥有数据文件访问权限的USER更新私钥,最后,USER向CDC交还数据文件的访问控制权,如果USER没有对任何数据文件的访问控制权限进行更改,则执行步骤B5);反之,则执行步骤B6;
B5)CDC根据USER对于数据文件的访问权限的修改,更新数据文件的FAL和UKL,同时,CDC与TPA进行实时通信,更新TPA存储的FAL和UKL,数据文件的访问操作结束;
B6)CDC根据USER对于数据文件的访问权限的修改,更新数据文件的FAL、UKL和DIL,同时,CDC与TPA进行实时通信,更新TPA存储的FAL、UKL和DIL,数据文件的访问操作结束;
B7)USER向TPA提出数据文件的访问请求,TPA将USER的私钥信息与保存的DIL进行比对查验,如果USER仍拥有数据文件的访问权限,则TPA为USER分发新的私钥,然后执行步骤B2;反之,则拒绝USER的数据文件访问请求,数据文件的访问操作结束;
C访问权限的变更
C1)撤销所有USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改,RA的更改将使得所有USER失去对于数据文件的访问权限;
C2)撤销所有拥有写操作权限USER的数据文件访问权限;
C3)撤销所有拥有读操作权限USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改,RA的更改将使得所有拥有读操作权限的USER失去对于数据文件的读操作访问权限;
C4)更改所有拥有写操作权限USER的数据文件访问权限,CDC根据USER的请求为仍然拥有写操作权限的USER重新生成新的私钥,并保留其旧私钥用来帮助TPA进行之后私钥的重新分配工作,旧私钥将一直保留到仍然拥有写操作权限的USER获取了最新的私钥或是其不再拥有访问权限为止;
C5)更改所有拥有读操作权限USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改,RA的更改将使得所有拥有读操作权限的USER失去对于数据文件的读操作访问权限,CDC根据USER的请求为仍然拥有读操作权限的USER重新生成新的私钥,并保留其旧私钥用来帮助TPA进行之后私钥的重新分配工作,旧私钥将一直保留到仍然拥有读操作权限的USER获取了最新的私钥或是其不再拥有访问权限为止;
C6)更改部分拥有写操作权限USER的数据文件访问权限,只需对相关USER属性集合中非KA和RA的特定属性参数进行更改,CDC根据USER的请求为相关USER重新生成新的私钥或将相关USER的访问权限信息删除;
C7)更改部分拥有读操作权限USER的数据文件访问权限,只需对相关USER属性集合中非KA和RA的特定属性参数进行更改,CDC根据USER的请求为相关USER重新生成新的私钥或将相关USER的访问权限信息删除;
C8)以上所有步骤操作完成之后,CDC都将与TPA进行FAL、UKL和DIL的更新操作通信,更新TPA存储的数据文件FAL、UKL和DIL。
进一步优选,所述步骤C2)中对数据文件的关键属性KA进行更改,或者对数据文件的文件标识属性RA进行更改,KA和RA的更改都将使得所有拥有写操作权限的USER失去对于数据文件的写操作权限。
进一步优选,所述C4)对数据文件的关键属性KA进行更改,或者对数据文件的文件标识属性RA进行更改,KA和RA的更改都将使得所有拥有写操作权限的USER失去对于数据文件的写操作权限。
本发明的有益效果:
本发明通过将文件关键属性KA和文件标识属性RA引入进来,不仅使方案所述的基于属性的加密算法仍然能够支持与门、或门和包含门等门限函数。同时,也使得CDC在撤销特定USER的访问权限时,无需更新其他所有USER的私钥组件,从而使方案成功地避免了大量的密钥生成和访问权限的重新加密工作。因此,本发明所述方案能够有效地提高云计算环境下共享数据文件的海量用户的权限变更速率。
附图说明
图1为访问控制结构;
图2为本发明采用的访问控制树结构;
图3为本发明的初始化过程;
图4为本发明文件的访问流程图;
图5为更改文件标识属性RA;
图6为更改文件关键属性KA;
图7为更改访问控制结构特定属性A1;
图8为属性加密算法中属性数量与时间的关系。
具体实施方式
下面结合附图和具体实施例来详细描述本发明的技术方案。
安全假定
方案假定所有的通信信道不存在恶意丢包的情况发生(通信信道包括USER与CDC之间、CDC与TPA之间和TPA与USER之间三部分)。同时,方案中的TPA是无偏见的、完全可信的第三方审计机构,能够忠实的完成USER委托的所有任务。本发明的CDC与以往方案中的CDC略有不同,方案中的CDC尽管拥有好奇心,但能够忠实的完成任务,不再完全不可信。CDC承担的所有参数计算、加密任务和密钥生成及分发工作,都可以保证结果的绝对正确性、无欺骗性和不可抵赖性。CDC能够无条件响应任意USER在任意时间发出的文件访问请求,并严格遵守方案制定的协议规定进行密钥的生成、变更和分发工作。此外,TPA能够实时更新CDC传送的访问控制和文件信息,对CDC进行监督。
基于属性加密算法的访问控制方案描述
方案参与者
方案的主要参与者由三部分组成:用户(USER)、云计算数据中心(CDC)和可信第三方审计机构(TPA)。三部分通过网络连接进行通信。
USER由数据文件的拥有者和使用者两大群体组成。数据文件的拥有者定义为拥有权限对存储在CDC中的数据文件进行读和写操作(包括插入、删除和修改等动态操作)的用户群体,而数据的使用者仅拥有对数据文件进行读操作的权限。本方案允许数据文件拥有不止一个的拥有者和使用者,充分支持云计算环境下对于数据文件的共享需求。此外,USER还能够与TPA进行通信,并发出身份验证的请求,更新自己的私钥。
CDC作为云计算数据存储服务的提供者,不仅提供了海量的数据存储空间供USER使用,还负责USER的访问控制认证工作。本方案中,CDC响应所有通过访问控制认证用户的数据文件操作请求,并按照预先设定的用户权限划分策略对USER的数据文件操作请求进行限制。CDC为所有数据文件保留操作日志,以供日后的查验之用。此外,CDC还负责对数据文件进行加密以及用户密钥的生成和分发工作,并与TPA进行信息的实时更新,保证TPA存储的数据文件访问控制信息的实效性。
TPA作为可信的第三方审计机构,负责维护所有用户数据文件的访问控制信息,并响应USER的身份验证和密钥更新请求。此外,TPA具有对存储在CDC中的用户数据文件进行审查的能力,能够代替USER对存储在CDC中的数据文件进行监管。
方案相关定义
定义1访问控制结构:基于属性加密算法的访问控制结构是一个树状结构,能够描述加密算法的访问控制策略。树中的每个叶子节点均对应属性集合中的一个属性,非叶子节点则与门限函数(与门、或门或包含门)相对应。访问控制树中的每个内部节点都控制着一个权限,自底向上,越靠近根节点,则权限越大。如图1所示的访问控制结构中,X、Y和Z均为相应属性集合中的一个属性,内部节点由门限函数OR和AND控制,由于AND节点是根节点,因此其代表的权限要大于OR节点所代表的权限。
定义2属性集合:在进行密钥生成工作之前,CDC会为每一个数据文件专门生成一个具备足够权限划分能力的属性集合U={U1,U2,U3,U4,...,Un}。同时,每个对数据文件拥有访问权限的用户也都会拥有一个与自己私钥相关联的属性集合P={P1,P2,P3,P4...,Pm}(m≤n)。所有用户的属性集合P均为集合U的一个非空子集。
定义3文件关键属性KA(Key-Attribute):方案规定,方案中的访问控制树由KA作为其根节点的唯一左孩子节点,根节点的门限函数设置为与门。同时,赋予根节点对数据文件进行修改的权限,即写操作。方案的访问控制树如图2所示。
方案通过关键属性KA的引入,使数据文件在进行权限撤销的过程中可以不必更改其他私钥组件,简化了权限的撤销和再分配。
定义4文件标识属性RA(Root-Attribute):方案使用的文件Merkle Hash Tree根节点值作为文件标识属性RA。方案中的访问控制树由RA作为其右子树的唯一左孩子节点,右子树根节点的门限函数设置为与门,如图2所示。文件标识属性RA的引入,使得USER每次对数据文件进行访问之前,都可以通过自身的私钥对数据文件进行是否与上次访问版本一致的验证。该策略使所有拥有文件访问权限的USER能够在第一时间知晓文件的变更情况,加强了避免用户误读脏数据的能力。
定义5用户私钥列表UKL(User Key List):该列表一式两份,分别由CDC和TPA保管,列表记录了拥有数据文件访问权限的所有USER的私钥及其变更情况。CDC负责为每个数据文件创建UKL,并根据USER私钥的变更情况对UKL进行更新。同时,CDC在与TPA进行通信过程中将对UKL能够进行实时更新,以保证UKL为最新版本。
定义6文件属性列表FAL(File Attribute List):该列表一式两份,分别由CDC和TPA保管,列表记录了数据文件的属性集合信息。CDC负责为每个数据文件创建FAL,并根据数据文件属性集合的变更情况对FAL进行更新。同时,CDC在与TPA进行通信过程中将对UKL能够进行实时更新,以保证UKL是当前最新的版本。
定义7解密信息列表DIL(Decryption Information List):该列表一式两份,分别由CDC和TPA保管,列表记录了加密后的数据文件对称密钥和USER的权限信息。CDC负责为数据文件创建DIL,并根据数据文件的加密密钥和访问控制权限信息的变更情况对DIL进行更新。同时,CDC在与TPA进行通信过程中将对DIL能够进行实时更新,以保证DIL为最新版本。
定义8主要函数定义:
1Pk=PKeyGen():该函数用来生成公开参数Pk。函数在初始阶段将选择一个阶为素数p,生成元为g的双线性群G,并作双线性配对运算e:G×G→Gt。属性空间U={U1,U2,U3,...,Un},Ui∈U(1≤i≤n),随机选取xi、a、b∈Zp。函数PKeyGen()如公式4-1所示。
2Mk=MKeyGen():该函数用来生成主密钥Mk。其中g、a、b的定义如上,函数MkeyGen()如公式4-2所示。
3、C=Encrypt(Pk,M,T):该函数使用公开参数Pk和访问控制结构T对明文M进行加密,并得到密文C。令构造的访问控制结构T的任意节点y的值为ky,为节点随机生成(ky-1)次的多项式qy,则qy(0)为节点保存的秘密信息。令qR(0)=s,s∈Zp,且为随机选取,其中R代表根节点。相应的,其他节点y的qy(0)=qfather(y)(tag(y)),其中father(y)代表y的父亲节点,tag(y)代表节点y的编号。再令X为所有叶子节点的集合,Γ为满足相应访问控制结构的授权集集合要求。函数Encrypt(Pk,M,T)如公式4-3所示。其中,att(x)返回节点x的属性信息。
4、Sk=SKeyGen(Mk,A):该函数使用主密钥Mk和用户属性集合A生成用户私钥Sk。A作为用户私钥所关联的属性集合,是数据文件属性集合U的一个非空子集。选择随机数γ∈Zp,单独属性s∈A,随机数γs∈Zp。函数SKeyGen(Mk,A)如公式4-4所示。
5、M=Decrypt(C,Sk):该函数使用用户私钥Sk解密密文CT得到明文M。定义该函数之前,首先定义递归运算Decrypt(C,Sk,y),令i=att(x),每个叶子节点y都可计算递归函数DecryptN(C,Sk,y)如公式4-5所示。
方案具体实现
本发明提出的基于属性加密算法的访问控制方案是由USER、CDC和TPA三部分组成。因此,方案的初始化也需要三部分的共同协作。初始化的实现如图3所示,具体步骤描述如下:
(1)、USER向CDC发出存储数据文件请求。CDC为数据文件生成AES加密密钥Key,并对文件进行加密。
(2)、CDC对文件进行分块操作,进行Merkle Hash Tree的构造和文件根节点值的计算。
(3)、CDC调用PKeyGen()函数为文件生成公开参数Pk。
(4)、CDC调用MKeyGen()函数为文件生成主密钥Mk。
(5)、CDC根据数据文件的实际权限划分需求,生成用于加密数据文件的属性集合U,同时生成数据文件的属性列表FAL。
(6)、CDC为拥有数据文件不同访问权限的所有USER生成相应的属性集合。需要说明的是,所有USER的属性集合中必须包含文件关键属性KA和文件标识属性RA,其中文件标识属性RA由步骤(2)计算得到的文件Merkle Hash Tree根节点值定义。
(7)、CDC根据数据文件的共享要求确定数据文件的访问控制树结构。访问控制树顶端的基本结构必须遵循图4-2所示的结构要求,即访问控制树根节点的门限函数设置为与门,左子树由KA作为唯一叶子节点,右子树根节点的门限函数设置为与门,右子树的左子树由RA作为唯一叶子节点。
(8)、调用Encrypt(Pk,M,T)函数对密钥Key进行加密。
(9)、使用得到的密文生成解密信息列表DIL。
(10)、调用SKeyGen(Mk,A)生成不同权限USER的私钥Sk。
(11)、生成用户私钥列表UKL。
(12)、将FAL、DIL和UKL通过通信信道传送给TPA,TPA对其进行副本的保存以备查验。
数据文件的访问
方案规定,拥有写操作权限的USER只要对数据文件进行了修改,则所有拥有该数据文件访问权限的USER的私钥都将随着文件Merkle Hash Tree根节点值的改变而失效,所有USER的访问控制权限都将被重新授予。当USER使用失效的密钥提出数据文件的访问请求时,CDC将会将请求转交给TPA进行处理,TPA在确认USER的身份之后,会根据数据文件新的访问控制权限进行私钥的重新发放等操作。如果USER仍然拥有数据文件的访问权限,则TPA将为USER发放新的私钥,以使USER能够对数据文件进行相应的操作;反之,则TPA拒绝USER的文件访问请求。算法的具体执行步骤如图4所示,详细描述如下:
A:USER提出数据文件的访问请求,并使用USER的私钥对所请求的数据文件的相应访问控制密文进行解密;如果解密成功,则执行步骤B;反之,则执行步骤G。
B:CDC根据USER拥有的访问权限,限定USER对数据文件的操作。如果USER拥有读权限,则执行步骤C;反之,则执行步骤D。
C:USER对数据文件进行读操作。操作结束之后,USER向CDC交还数据文件的访问控制权。数据文件的访问操作结束。
D:USER对数据文件进行写操作(插入、删除或修改等)。操作结束之后,CDC将重新计算数据文件的文件Merkle Hash Tree根节点值。然后,CDC根据USER的权限再分配请求为仍然拥有数据文件访问权限的USER更新私钥(包括当前访问USER)。最后,USER向CDC交还数据文件的访问控制权。如果USER没有对任何数据文件的访问控制权限进行更改,则执行步骤E;反之,则执行步骤F。
E:CDC根据USER对于数据文件的访问权限的修改,更新数据文件的FAL和UKL。同时,CDC与TPA进行实时通信,更新TPA存储的FAL和UKL。数据文件的访问操作结束。
F:CDC根据USER对于数据文件的访问权限的修改,更新数据文件的FAL、UKL和DIL。同时,CDC与TPA进行实时通信,更新TPA存储的FAL、UKL和DIL。数据文件的访问操作结束。
G:USER向TPA提出数据文件的访问请求,TPA将USER的私钥信息与保存的DIL进行比对查验。如果USER仍拥有数据文件的访问权限,则TPA为USER分发新的私钥,然后执行步骤B;反之,则拒绝USER的数据文件访问请求。数据文件的访问操作结束。
访问权限的变更
基于属性的加密算法使得方案中数据文件的访问控制由USER拥有的属性集合和数据文件的访问控制树结构共同决定。方案规定,拥有写操作权限USER的属性集合必须包含文件关键属性KA和文件标识属性RA,拥有读操作权限USER的属性集合必须包含文件标识属性RA,这使得方案在很大程度上简化了数据文件访问控制权限的撤销过程。此外,作为RA的文件Merkle Hash Tree根节点值的引入,使得所有USER在访问数据文件之前便可获知数据文件是否与最近一次访问时一致。不仅使数据文件的拥有者能够更为方便快捷地更改或撤销数据文件的访问权限,同时也避免了USER读到脏数据的情况发生。文件访问权限的变更操作具体描述如下:
(1)、撤销所有USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改。由于方案访问控制结构的特殊性,RA的更改将使得所有USER失去对于数据文件的访问权限,如图5所示。
(2)、撤销所有拥有写操作权限USER的数据文件访问权限,可以采用两种方法。一是,对数据文件的关键属性KA进行更改,如图6所示。二是,对数据文件的文件标识属性RA进行更改,如图4-5所示。由于方案访问控制结构的特殊性,KA和RA的更改都将使得所有拥有写操作权限的USER失去对于数据文件的写操作权限。
(3)、撤销所有拥有读操作权限USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改。由于方案访问控制结构的特殊性,RA的更改将使得所有拥有读操作权限的USER失去对于数据文件的读操作访问权限,如图5所示。
(4)、更改所有拥有写操作权限USER的数据文件访问权限,可以采用两种方法。一是,对数据文件的关键属性KA进行更改,如图6所示。二是,对数据文件的文件标识属性RA进行更改,如图5所示。由于方案访问控制结构的特殊性,KA和RA的更改都将使得所有拥有写操作权限的USER失去对于数据文件的写操作权限。随后,CDC根据USER的请求为仍然拥有写操作权限的USER重新生成新的私钥,并保留其旧私钥用来帮助TPA进行之后私钥的重新分配工作,旧私钥将一直保留到仍然拥有写操作权限的USER获取了最新的私钥或是其不再拥有访问权限为止。
(5)、更改所有拥有读操作权限USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改。由于方案访问控制结构的特殊性,RA的更改将使得所有拥有读操作权限的USER失去对于数据文件的读操作访问权限,如图5所示。随后,CDC根据USER的请求为仍然拥有读操作权限的USER重新生成新的私钥,并保留其旧私钥用来帮助TPA进行之后私钥的重新分配工作,旧私钥将一直保留到仍然拥有读操作权限的USER获取了最新的私钥或是其不再拥有访问权限为止。
(6)、更改部分拥有写操作权限USER的数据文件访问权限,只需对相关USER属性集合中非KA和RA的特定属性参数进行更改,如图7所示。随后,CDC根据USER的请求为相关USER重新生成新的私钥或将相关USER的访问权限信息删除。
(7)、更改部分拥有读操作权限USER的数据文件访问权限,只需对相关USER属性集合中非KA和RA的特定属性参数进行更改,如图7所示。随后,CDC根据USER的请求为相关USER重新生成新的私钥或将相关USER的访问权限信息删除。
(8)、以上所有步骤操作完成之后,CDC都将与TPA进行FAL、UKL和DIL的更新操作通信,更新TPA存储的数据文件FAL、UKL和DIL。
方案首先使用AES对称加密算法对数据文件进行了加密,AES对称加密算法已经被证明拥有较高的安全性,因此存储在CDC中的数据文件能够有效避免忠实但好奇假设的CDC的窥探。此外,方案使用基于密文策略的属性加密算法对对称密钥进行了加密。基于密文策略的属性加密算法是通过属性集合和访问控制树结构共同保障算法的机密性与安全性,方案中定义使用的基于密文策略的属性加密算法与现有技术提出的基于密文策略的属性加密算法拥有相同的密文形式、访问控制结构和解密过程,所以方案中基于密文策略的属性加密算法的安全性可以参考现有技术中算法的安全性。由于现有技术已经证明了其算法具有极高的安全性,因此方案使用的基于密文策略的属性加密算法也可证明是安全的,进而方案中密钥和访问控制权限信息的安全性也就得到了保障。由于方案使用了本发明所述的云计算数据存储安全体系架构,并基于一定的安全假设(通信信道可靠、TPA可信和CDC忠实等)。因此,数据文件访问控制权限的验证工作在引入了TPA之后,比传统的访问控制方案在访问权限变更后的认证和私钥再分配方面拥有了更好的安全保障。此外,文件关键属性KA和文件标识属性RA的引入,有效地避免了数据文件变更之后USER在不知情的情况下误读脏数据情况的发生。非常适用于在云计算环境下对于敏感数据文件的存储。
在时间开销方面,USER将大量的加密任务和密钥生成及分配工作交由CDC完成,节省了USER大量的计算资源和时间,更好的发挥了云计算环境下CDC所拥有的庞大计算能力。同时,方案通过使用2.3.3节描述的云计算数据存储安全体系架构,将可信第三方审计机构引入进来,支持了公开审计。USER可以不必再亲自完成对存储在CDC中的数据文件的验证工作,节省了USER的宝贵时间,也使还使得数据文件的审计能力得到了加强。
本发明使用基于Linux系统的cpabe-0.7属性加密算法库函数进行了相关仿真实验代码的编写。实验环境为在Windows XP操作系统搭建的VMware Workstation6.0虚拟机上运行Ubuntu10.04,处理器为奔腾双核E5300处理器,内存容量为0.5GB,加密明文大小为0.5M。
仿真实验通过模拟真实加解密运行环境,分别记录了在不同属性数量的情况下,基于属性加密算法的密钥生成、加密明文以及解密密文所耗费的时间,如图8所示。
由仿真实验的结果可知,基于属性的加密算法在加密明文和解密密文过程中的时间耗费会随着属性数量的增加而大幅度地增多,密钥生成的时间耗费也会随着属性数量的增加而略微增多。因此,在基于属性的加密算法中尽量减少密钥的生成以及加密明文和解密密文的次数,能够有效地提高将基于属性的加密算法应用到访问控制方案的工作效率。
本发明所述方案,通过将文件关键属性KA和文件标识属性RA引入进来,不仅使方案所述的基于属性的加密算法仍然能够支持与门、或门和包含门等门限函数。同时,也使得CDC在撤销特定USER的访问权限时,无需更新其他所有USER的私钥组件,从而使方案成功地避免了大量的密钥生成和访问权限的重新加密工作。因此,本发明所述方案能够有效地提高云计算环境下共享数据文件的海量用户的权限变更速率。
在存储空间的开销方面,方案为每个数据文件额外添加了用户私钥列表UKL、文件属性列表FAL和解密信息列表DIL,所有列表均一式两份,分别由CDC和TPA保管。UKL占用空间的大小由共享数据文件的USER数量决定,FAL占用空间的大小由文件的属性集合大小决定,DIL占用空间的大小则由共享文件的USER数量和当前时刻待更新的私钥数量所共同决定。
以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的保护范围内。
Claims (3)
1.一种基于属性加密算法的访问控制方法,其特征在于,包括以下步骤:
A初始化
A1)USER向CDC发出存储数据文件请求,CDC为数据文件生成AES加密密钥Key,并对文件进行加密;
A2)CDC对文件进行分块操作,进行Merkle Hash Tree的构造和文件根节点值的计;
A3)CDC调用PKeyGen()函数为文件生成公开参数Pk;
A4)CDC调用MKeyGen()函数为文件生成主密钥Mk;
A5)CDC根据数据文件的实际权限划分需求,生成用于加密数据文件的属性集合U,同时生成数据文件的属性列表FAL;
A6)CDC为拥有数据文件不同访问权限的所有USER生成相应的属性集合,所有USER的属性集合中必须包含文件关键属性KA和文件标识属性RA,其中文件标识属性RA由步骤A2)计算得到的文件Merkle Hash Tree根节点值定义;
A7)CDC根据数据文件的共享要求确定数据文件的访问控制树结构,访问控制树根节点的门限函数设置为与门,左子树由KA作为唯一叶子节点,右子树根节点的门限函数设置为与门,右子树的左子树由RA作为唯一叶子节点;
A8)调用Encrypt(Pk,M,T)函数对密钥Key进行加密;
A9)使用得到的密文生成解密信息列表DIL;
A10)调用SKeyGen(Mk,A)生成不同权限USER的私钥Sk;
A11)生成用户私钥列表UKL;
A12)将FAL、DIL和UKL通过通信信道传送给TPA,TPA对其进行副本的保存以备查验;
B数据文件的访问
B1)USER提出数据文件的访问请求,并使用USER的私钥对所请求的数据文件的相应访问控制密文进行解密;如果解密成功,则执行步骤B2);反之,则执行步骤B7);
B2)CDC根据USER拥有的访问权限,限定USER对数据文件的操,如果USER拥有读权限,则执行步骤B3);反之,则执行步骤B4);
B3)USER对数据文件进行读操作,操作结束之后,USER向CDC交还数据文件的访问控制权,数据文件的访问操作结束;
B4)USER对数据文件进行写操作,操作结束之后,CDC将重新计算数据文件的文件Merkle Hash Tree根节点值,然后,CDC根据USER的权限再分配请求为仍然拥有数据文件访问权限的USER更新私钥,最后,USER向CDC交还数据文件的访问控制权,如果USER没有对任何数据文件的访问控制权限进行更改,则执行步骤B5);反之,则执行步骤B6;
B5)CDC根据USER对于数据文件的访问权限的修改,更新数据文件的FAL和UKL,同时,CDC与TPA进行实时通信,更新TPA存储的FAL和UKL,数据文件的访问操作结束;
B6)CDC根据USER对于数据文件的访问权限的修改,更新数据文件的FAL、UKL和DIL,同时,CDC与TPA进行实时通信,更新TPA存储的FAL、UKL和DIL,数据文件的访问操作结束;
B7)USER向TPA提出数据文件的访问请求,TPA将USER的私钥信息与保存的DIL进行比对查验,如果USER仍拥有数据文件的访问权限,则TPA为USER分发新的私钥,然后执行步骤B2;反之,则拒绝USER的数据文件访问请求,数据文件的访问操作结束;
C访问权限的变更
C1)撤销所有USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改,RA的更改将使得所有USER失去对于数据文件的访问权限;
C2)撤销所有拥有写操作权限USER的数据文件访问权限;
C3)撤销所有拥有读操作权限USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改,RA的更改将使得所有拥有读操作权限的USER失去对于数据文件的读操作访问权限;
C4)更改所有拥有写操作权限USER的数据文件访问权限,CDC根据USER的请求为仍然拥有写操作权限的USER重新生成新的私钥,并保留其旧私钥用来帮助TPA进行之后私钥的重新分配工作,旧私钥将一直保留到仍然拥有写操作权限的USER获取了最新的私钥或是其不再拥有访问权限为止;
C5)更改所有拥有读操作权限USER的数据文件访问权限,只需对数据文件的文件标识属性RA进行更改,RA的更改将使得所有拥有读操作权限的USER失去对于数据文件的读操作访问权限,CDC根据USER的请求为仍然拥有读操作权限的USER重新生成新的私钥,并保留其旧私钥用来帮助TPA进行之后私钥的重新分配工作,旧私钥将一直保留到仍然拥有读操作权限的USER获取了最新的私钥或是其不再拥有访问权限为止;
C6)更改部分拥有写操作权限USER的数据文件访问权限,只需对相关USER属性集合中非KA和RA的特定属性参数进行更改,CDC根据USER的请求为相关USER重新生成新的私钥或将相关USER的访问权限信息删除;
C7)更改部分拥有读操作权限USER的数据文件访问权限,只需对相关USER属性集合中非KA和RA的特定属性参数进行更改,CDC根据USER的请求为相关USER重新生成新的私钥或将相关USER的访问权限信息删除;
C8)以上所有步骤操作完成之后,CDC都将与TPA进行FAL、UKL和DIL的更新操作通信,更新TPA存储的数据文件FAL、UKL和DIL。
2.根据权利要求1所述的基于属性加密算法的访问控制方法,其特征在于,所述步骤C2)中对数据文件的关键属性KA进行更改,或者对数据文件的文件标识属性RA进行更改,KA和RA的更改都将使得所有拥有写操作权限的USER失去对于数据文件的写操作权限。
3.根据权利要求1所述的基于属性加密算法的访问控制方法,其特征在于,所述C4)对数据文件的关键属性KA进行更改,或者对数据文件的文件标识属性RA进行更改,KA和RA的更改都将使得所有拥有写操作权限的USER失去对于数据文件的写操作权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101325862A CN103220291A (zh) | 2013-04-09 | 2013-04-09 | 一种基于属性加密算法的访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101325862A CN103220291A (zh) | 2013-04-09 | 2013-04-09 | 一种基于属性加密算法的访问控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103220291A true CN103220291A (zh) | 2013-07-24 |
Family
ID=48817755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101325862A Pending CN103220291A (zh) | 2013-04-09 | 2013-04-09 | 一种基于属性加密算法的访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103220291A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561034A (zh) * | 2013-11-11 | 2014-02-05 | 武汉理工大学 | 一种安全文件共享系统 |
CN103595721A (zh) * | 2013-11-14 | 2014-02-19 | 福建伊时代信息科技股份有限公司 | 网盘文件安全共享方法、共享装置及共享系统 |
CN103618609A (zh) * | 2013-09-09 | 2014-03-05 | 南京邮电大学 | 一种云环境下基于属性基加密的及时用户撤销方法 |
CN103699850A (zh) * | 2013-12-31 | 2014-04-02 | 曙光云计算技术有限公司 | 云环境下的文件处理方法和装置 |
CN104717297A (zh) * | 2015-03-30 | 2015-06-17 | 上海交通大学 | 一种安全云存储方法及系统 |
CN104901948A (zh) * | 2015-04-15 | 2015-09-09 | 南方电网科学研究院有限责任公司 | 智能电网中基于层次属性加密访问控制系统与方法 |
CN105790929A (zh) * | 2016-04-19 | 2016-07-20 | 清华大学 | 一种基于规则冗余消除的加密环境中高效访问控制方法 |
CN103618609B (zh) * | 2013-09-09 | 2016-11-30 | 南京邮电大学 | 一种云环境下基于属性基加密的及时用户撤销方法 |
CN106685893A (zh) * | 2015-11-06 | 2017-05-17 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于社交网络群的权限控制方法 |
CN107251479A (zh) * | 2015-02-20 | 2017-10-13 | 三菱电机株式会社 | 数据保管装置、数据处理方法和数据处理程序 |
CN107251480A (zh) * | 2015-02-20 | 2017-10-13 | 三菱电机株式会社 | 数据保管装置、数据更新系统、数据处理方法和数据处理程序 |
CN108076028A (zh) * | 2016-11-18 | 2018-05-25 | 中兴通讯股份有限公司 | 一种属性加密的方法、装置及系统 |
CN108200074A (zh) * | 2018-01-14 | 2018-06-22 | 南京邮电大学 | 一种基于属性加密的物流大数据访问控制系统及方法 |
CN108418681A (zh) * | 2018-01-22 | 2018-08-17 | 南京邮电大学 | 一种支持代理重加密的基于属性的密文检索系统及方法 |
CN108418796A (zh) * | 2018-01-30 | 2018-08-17 | 西安电子科技大学 | 云数据多副本完整性验证及关联删除的方法、云存储系统 |
CN108494552A (zh) * | 2018-03-16 | 2018-09-04 | 西安电子科技大学 | 支持高效收敛密钥管理的云存储数据去重方法 |
CN108540280A (zh) * | 2018-02-09 | 2018-09-14 | 上海交通大学 | 一种资源高效的安全数据分享方法及系统 |
CN110720194A (zh) * | 2017-06-09 | 2020-01-21 | 三菱电机株式会社 | 重加密密钥生成装置、重加密装置、重加密密文解密装置以及密码系统 |
CN111680306A (zh) * | 2020-03-31 | 2020-09-18 | 贵州大学 | 基于属性的协同访问控制撤销方法 |
CN112104454A (zh) * | 2020-08-11 | 2020-12-18 | 东方红卫星移动通信有限公司 | 一种数据安全传输方法及系统 |
CN112738108A (zh) * | 2020-12-29 | 2021-04-30 | 乐陵欧曼电子科技有限公司 | 一种云计算系统的多重数据加密系统及方法 |
CN107735807B (zh) * | 2015-06-30 | 2021-12-28 | 微软技术许可有限责任公司 | 被撤销数据的智能删除 |
CN108600217B (zh) * | 2018-04-23 | 2022-08-12 | 南京理工大学 | 一种云端基于代理重加密的数据授权确定性更新方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685485A (zh) * | 2008-09-28 | 2010-03-31 | 联想(北京)有限公司 | 一种版权保护文件转录的管理方法及安全硬件单元 |
-
2013
- 2013-04-09 CN CN2013101325862A patent/CN103220291A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685485A (zh) * | 2008-09-28 | 2010-03-31 | 联想(北京)有限公司 | 一种版权保护文件转录的管理方法及安全硬件单元 |
Non-Patent Citations (1)
Title |
---|
韩帅: ""基于云计算的数据安全关键技术研究"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618609A (zh) * | 2013-09-09 | 2014-03-05 | 南京邮电大学 | 一种云环境下基于属性基加密的及时用户撤销方法 |
CN103618609B (zh) * | 2013-09-09 | 2016-11-30 | 南京邮电大学 | 一种云环境下基于属性基加密的及时用户撤销方法 |
CN103561034B (zh) * | 2013-11-11 | 2016-08-17 | 武汉理工大学 | 一种安全文件共享系统 |
CN103561034A (zh) * | 2013-11-11 | 2014-02-05 | 武汉理工大学 | 一种安全文件共享系统 |
CN103595721A (zh) * | 2013-11-14 | 2014-02-19 | 福建伊时代信息科技股份有限公司 | 网盘文件安全共享方法、共享装置及共享系统 |
CN103595721B (zh) * | 2013-11-14 | 2017-12-01 | 福建伊时代信息科技股份有限公司 | 网盘文件安全共享方法、共享装置及共享系统 |
CN103699850A (zh) * | 2013-12-31 | 2014-04-02 | 曙光云计算技术有限公司 | 云环境下的文件处理方法和装置 |
CN107251480B (zh) * | 2015-02-20 | 2018-07-10 | 三菱电机株式会社 | 数据保管装置、数据更新系统和数据处理方法 |
CN107251479A (zh) * | 2015-02-20 | 2017-10-13 | 三菱电机株式会社 | 数据保管装置、数据处理方法和数据处理程序 |
CN107251480A (zh) * | 2015-02-20 | 2017-10-13 | 三菱电机株式会社 | 数据保管装置、数据更新系统、数据处理方法和数据处理程序 |
CN104717297A (zh) * | 2015-03-30 | 2015-06-17 | 上海交通大学 | 一种安全云存储方法及系统 |
CN104901948B (zh) * | 2015-04-15 | 2017-11-10 | 南方电网科学研究院有限责任公司 | 智能电网中基于层次属性加密访问控制系统与方法 |
CN104901948A (zh) * | 2015-04-15 | 2015-09-09 | 南方电网科学研究院有限责任公司 | 智能电网中基于层次属性加密访问控制系统与方法 |
CN107735807B (zh) * | 2015-06-30 | 2021-12-28 | 微软技术许可有限责任公司 | 被撤销数据的智能删除 |
CN106685893A (zh) * | 2015-11-06 | 2017-05-17 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于社交网络群的权限控制方法 |
CN106685893B (zh) * | 2015-11-06 | 2019-11-12 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于社交网络群的权限控制方法 |
CN105790929B (zh) * | 2016-04-19 | 2018-12-28 | 清华大学 | 一种基于规则冗余消除的加密环境中访问控制方法 |
CN105790929A (zh) * | 2016-04-19 | 2016-07-20 | 清华大学 | 一种基于规则冗余消除的加密环境中高效访问控制方法 |
CN108076028A (zh) * | 2016-11-18 | 2018-05-25 | 中兴通讯股份有限公司 | 一种属性加密的方法、装置及系统 |
CN110720194B (zh) * | 2017-06-09 | 2023-02-28 | 三菱电机株式会社 | 重加密密钥生成装置、重加密装置、解密装置及密码系统 |
CN110720194A (zh) * | 2017-06-09 | 2020-01-21 | 三菱电机株式会社 | 重加密密钥生成装置、重加密装置、重加密密文解密装置以及密码系统 |
CN108200074A (zh) * | 2018-01-14 | 2018-06-22 | 南京邮电大学 | 一种基于属性加密的物流大数据访问控制系统及方法 |
CN108418681B (zh) * | 2018-01-22 | 2020-10-23 | 南京邮电大学 | 一种支持代理重加密的基于属性的密文检索系统及方法 |
CN108418681A (zh) * | 2018-01-22 | 2018-08-17 | 南京邮电大学 | 一种支持代理重加密的基于属性的密文检索系统及方法 |
CN108418796A (zh) * | 2018-01-30 | 2018-08-17 | 西安电子科技大学 | 云数据多副本完整性验证及关联删除的方法、云存储系统 |
CN108540280A (zh) * | 2018-02-09 | 2018-09-14 | 上海交通大学 | 一种资源高效的安全数据分享方法及系统 |
CN108540280B (zh) * | 2018-02-09 | 2020-09-15 | 上海交通大学 | 一种资源高效的安全数据分享方法及系统 |
CN108494552A (zh) * | 2018-03-16 | 2018-09-04 | 西安电子科技大学 | 支持高效收敛密钥管理的云存储数据去重方法 |
CN108494552B (zh) * | 2018-03-16 | 2020-11-20 | 西安电子科技大学 | 支持高效收敛密钥管理的云存储数据去重方法 |
CN108600217B (zh) * | 2018-04-23 | 2022-08-12 | 南京理工大学 | 一种云端基于代理重加密的数据授权确定性更新方法 |
CN111680306A (zh) * | 2020-03-31 | 2020-09-18 | 贵州大学 | 基于属性的协同访问控制撤销方法 |
CN111680306B (zh) * | 2020-03-31 | 2023-04-25 | 贵州大学 | 基于属性的协同访问控制撤销方法 |
CN112104454A (zh) * | 2020-08-11 | 2020-12-18 | 东方红卫星移动通信有限公司 | 一种数据安全传输方法及系统 |
CN112104454B (zh) * | 2020-08-11 | 2023-04-07 | 东方红卫星移动通信有限公司 | 一种数据安全传输方法及系统 |
CN112738108A (zh) * | 2020-12-29 | 2021-04-30 | 乐陵欧曼电子科技有限公司 | 一种云计算系统的多重数据加密系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103220291A (zh) | 一种基于属性加密算法的访问控制方法 | |
CN110099043B (zh) | 支持策略隐藏的多授权中心访问控制方法、云存储系统 | |
CN104079574B (zh) | 云环境下基于属性和同态混合加密的用户隐私保护方法 | |
CN109120639A (zh) | 一种基于区块链的数据云存储加密方法及系统 | |
CN108390876A (zh) | 支持撤销外包可验证多授权中心访问控制方法、云服务器 | |
Raykova et al. | Privacy enhanced access control for outsourced data sharing | |
CN104717297A (zh) | 一种安全云存储方法及系统 | |
CN108833393A (zh) | 一种基于雾计算的可撤销数据共享方法 | |
CN110602063A (zh) | 一种多授权中心访问控制方法、系统及云存储系统 | |
CN111986755A (zh) | 一种基于区块链和属性基加密的数据共享系统 | |
CN106161402A (zh) | 基于云环境的加密机密钥注入系统、方法及装置 | |
Shen et al. | Multi-security-level cloud storage system based on improved proxy re-encryption | |
CN108418784A (zh) | 一种基于属性密码的分布式跨域授权和访问控制方法 | |
CN106788988B (zh) | 云环境下可撤销的密钥聚合加密方法 | |
CN105208007A (zh) | 一种数据共享系统 | |
CN108111540A (zh) | 一种云存储中支持数据共享的分层访问控制系统及方法 | |
CN106612271A (zh) | 一种用于云存储的加密和访问控制方法 | |
CN103227789A (zh) | 一种云环境下轻量级的细粒度访问控制方法 | |
CN108540280A (zh) | 一种资源高效的安全数据分享方法及系统 | |
Sethia et al. | CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder. | |
CN105721146B (zh) | 一种面向云存储基于smc的大数据共享方法 | |
CN107302524A (zh) | 一种云计算环境下的密文数据共享系统 | |
CN107634830B (zh) | 服务器辅助的可撤销属性基加密方法、装置及系统 | |
CN113486082B (zh) | 一种基于区块链的外包数据访问控制系统 | |
CN112307508B (zh) | 一种基于sgx、cp-abe和区块链的可撤销数据共享系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130724 |