CN107426162B - 一种基于属性基加密实施核心角色访问控制的方法 - Google Patents

一种基于属性基加密实施核心角色访问控制的方法 Download PDF

Info

Publication number
CN107426162B
CN107426162B CN201710323674.9A CN201710323674A CN107426162B CN 107426162 B CN107426162 B CN 107426162B CN 201710323674 A CN201710323674 A CN 201710323674A CN 107426162 B CN107426162 B CN 107426162B
Authority
CN
China
Prior art keywords
role
user
resource
list
frl
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.)
Expired - Fee Related
Application number
CN201710323674.9A
Other languages
English (en)
Other versions
CN107426162A (zh
Inventor
王勇
李明
胡昌振
刘振岩
张继
薛静峰
童学敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Third Research Institute of the Ministry of Public Security
Original Assignee
Beijing Institute of Technology BIT
Third Research Institute of the Ministry of Public Security
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT, Third Research Institute of the Ministry of Public Security filed Critical Beijing Institute of Technology BIT
Priority to CN201710323674.9A priority Critical patent/CN107426162B/zh
Publication of CN107426162A publication Critical patent/CN107426162A/zh
Application granted granted Critical
Publication of CN107426162B publication Critical patent/CN107426162B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于策略属性基加密算法实施核心角色访问控制(RBAC)模型的方法。该方法包括:创建和删除角色及相关密码信息;创建和删除用户及相关密码信息;使用属性基加密算法实施用户/角色关系指派和用户/角色关系撤销;使用属性基加密算法实施角色/权限关系指派和角色/权限关系撤销;用户执行属性基解密算法来实现对受控资源的访问,即授权决策。本发明利用密码学方法来保障基于角色的访问控制模型的正确实施,其授权决策不依赖于任何第三方,不但能够提高在外包环境中共享资源的安全性和效率,而且为现有企业级信息系统的RBAC访问控制系统向云计算等外包环境移植提供了可行方案。

Description

一种基于属性基加密实施核心角色访问控制的方法
技术领域
本发明涉及一种基于属性基加密实施核心角色访问控制的方法,属于信息安全技术领域。
背景技术
基于角色的访问控制(Role BasedAccess Control,RBAC)在用户和访问权限之间引入角色,用户与特定的一个或多个角色管理,角色与一个或多个访问权限关联,实现了用户与访问权限的逻辑分离,极大地简化了权限管理,而且这种方法更接近真实组织的管理方法,因此已逐渐成为工业界普遍采用的访问控制方法。国标GB/T 25062-2010定义了核心RBAC、层次RBAC和带约束的RBAC三种模型,其中核心RBAC定义了完整实现一个RBAC系统所必需的元素(集)和关系的最小集合。核心RBAC的管理功能包括用户集(USERS)和角色集(ROLES)的成员的创建和撤销、用户/角色关系(URA)和角色/权限关系(RPA)的指派和撤销。
在传统信息系统中,资源属主与负责实施访问控制的管理者通常是一个整体,能够确保访问控制策略的正确实施。但在云存储等资源外包环境中,资源属主与资源管理者分离,授权决策由非可信的外包服务器执行,无法确保访问控制策略的正确实施。因此,近年来,人们针对不可信外包环境提出了密文角色访问控制(Cryptographic RoleBasedAccess Control),资源属主以一种特殊方式对资源进行加密,使得只有具备访问控制策略中规定的相应角色的用户才能解密并访问该资源。密文角色访问控制不仅将访问控制决策权由不可信的服务提供商转移到资源属主,而且能够阻止恶意服务提供商非法访问用户资源。
目前国内外对密文角色访问控制的研究还很少。ZhuY.等人[ZhuY.,Ahn,G.J.,Hu,H.,Wang,H.Cryptographic role-based security mechanisms based on role-keyhierarchy.In Proc.5th ACM Symp.on Information,Computer and CommunicationsSecurity,2010:314–319.]使用密钥分发方案为具有不同角色的用户分发解密密钥,由于用户角色撤销会引起大量相关用户密钥的更新,因此这种方案不适用于有大量用户和大量数据属主的环境。LAN ZHOU等人[Zhou L,Varadharajan V,Hitchens M.Enforcing Role-Based Access Control for Secure Data Storage in the Cloud[J].ComputerJournal,2011,54(10):1675-1687.]使用基于身份的广播加密(ID-based BroadcastEncryption,IBBE)通过公开广播信道向具有特定角色的一组用户发送加密数据,但该方案假定用户/角色指派(URA)已经通过传统方法(非密码学方法)完成了,只通过IBBE实现角色/权限指派(RPA),因此URA很容易成为脆弱点,另外此方案也无法有效实现RPA的撤销。Cheng Hong等人[Hong C,Lv Z,Zhang M,et al.A Secure and Efficient Role-BasedAccess Policy towards Cryptographic Cloud Storage[C].Web-Age InformationManagement-International Conference,WAIM 2011,Wuhan,China,September 14-16,2011.Proceedings.2011:264-276.]提出了基于密文策略属性基加密(CiphertextPolicy-Attribute Based Encryption,CP-ABE)的RBAC实施方法。CP-ABE将用户私钥关联到用户的属性集,而将密文关联到一棵访问结构树,若属性集满足该访问结构树,则用户能够解密数据。洪城等人的方案将CP-ABE用于URA,被分配了某个角色的用户能够解密得到该角色的密钥,角色密钥则用于加密该角色能够访问的所有文件的加密密钥,因此RPA实质上是用角色密钥加密该角色有权访问的所有文件所对应的加密密钥的集合。该方案无法实现细粒度的RPA策略,并且在用户撤销时的效率较低,因为需要更新该用户能够访问的所有文件的加密密钥,数据属主不仅要更新被撤销用户对应的角色的密钥并重新加密文件密钥集合,还要针对所有有权访问这些文件的其他用户所对应的角色分别重新加密更新后的文件密钥集合,涉及到的用户也需要重新获取并解密文件密钥集合。
发明内容
鉴于现有方法的不足,本发明提供了一种基于属性基加密实施核心角色访问控制的方法,将属性基加密算法用于实现基于角色的访问控制RBAC的管理函数,包括角色管理函数、用户管理函数、用户/角色关系管理函数以及角色/权限关系管理函数;建立初始化、加密、创建权限和授权决策四个辅助函数,其中加密函数采用属性基加密的方式;角色管理函数包括创建角色和删除角色,用户管理函数包括创建用户和删除用户,用户/角色关系管理函数包括用户/角色指派和用户/角色撤销;角色/权限关系管理函数包括角色/权限指派以及角色/权限撤销。
为了达到上述目的,本发明的技术方案为:
步骤一、系统初始化,执行函数A——Setup(),生成系统运行所需要的秘密信息:
选取阶为素数p的双线性群p为随机选择的素数,随机选取的两个生成元g和h,定义双线性映射选取两个随机指数 为整数集,选取散列函数如下生成系统公钥PK和系统主密钥MK并保存到数据库中:
MK=(α,β,gα)
步骤二、进行角色和权限的创建以及角色/权限指派,依次执行B、C和D三个函数:B——AddRole(IDR)为新角色生成角色相关密文;C——AddPermission(IDF,isNew)创建和更新访问资源的权限,其中包含的isNew为用户设定的用于指示资源IDF是否为新增资源的标识;D——GrantPermission(IDR,IDF)为角色IDR分配访问资源IDF的权限。
函数B——AddRole(IDR)包括如下具体步骤:
stepB1:随机选取初始化角色用户撤销列表RURLR为被撤销角色的用户的身份标识的集合;初始化角色资源列表RFLR={},RFLR代表角色IDR有权访问的资源的标识的集合;
stepB2:随机选取分别作为角色IDR的相关随机数和密钥,设按照下式计算角色相关密文CTR,CTR由CTR,1,CTR,2两个部分组成,CTR,1由C1,C2,C,C0四个部分组成,CTR,2由C0,1,C0,2两个部分组成:
CTR,1=(C1,C2,C,C0)
CTR,2=(C0,1,C0,2)
CTR=(CR,1,CR,2)
stepB3:将角色IDR的VR、KR、CTR、角色用户撤销列表RURLR、角色资源列表RFLR保存到数据库中;
函数C——AddPermission(IDF,isNew)包括如下具体步骤:
stepC1:生成对称加密密钥用KF对资源的明文F进行对称加密,生成资源的对称加密密文CTSF
stepC2:isNew是布尔型参数,如果isNew为TRUE,表示IDF为新增加的资源,则初始化资源角色列表FRLF={ },FRLF代表能够访问资源IDF的角色的标识的集合;将KF、CTSF、FRLF保存到数据库中;如果isNew为FALSE,则替换数据库中原有的KF和CTSF
函数D——GrantPermission(IDR,IDF)包括如下具体步骤:
stepD1:如果是新创建的资源,即FRLF为空,则选取随机数执行CTF=Encrypt(IDR,SF,KF,TRUE)对资源IDF的对称加密密钥KF进行基于角色属性的加密;如果FRLF不为空,则从数据库中获取SF以及CTF,然后执行CT′F=Encrypt(IDR,SF,KF,FALSE),并将结果合并到CTF,即CTF∪=CT′F
stepD2:将IDF加入到角色资源列表RFLR中,即RFLR∪={IDF},将IDR加入到资源角色列表FRLF中,即FRLF∪={IDR}
stepD3:将SF、CTF、角色资源列表RFLR、资源角色列表FRLF保存到数据库中;
步骤三、进行用户的创建和用户/角色指派,依次执行G和H两个函数:G——AddUser(IDU)为新用户生成用户身份相关私钥SKU;H——AssignUser(IDU,IDR)为用户指派角色并创建用户IDU的与角色IDR相关的私钥
函数G——AddUser(IDU)包括如下具体步骤:
stepG1:随机选取如下计算用户的与身份相关的私钥SKU,SKU由D0,D1,D2三个部分组成:
SKU=(D0,D1,D2)
stepG2:初始化用户角色列表URLU={ },URLU代表用户IDU所拥有的角色的标识的集合,将URLU和SKU保存到本地数据库中;
stepG3:将系统公钥PK和用户身份相关私钥SKU发送给用户IDU
函数H——AssignUser(IDU,IDR)包括如下具体步骤:
stepH1:将用户加入到角色用户列表RULR中,即RULR∪={IDU},将角色加入到用户角色列表URLU中,即URLU∪={IDR},其中,RULR代表具有角色IDR的用户的标识的集合,URLU代表用户IDU所拥有的角色的标识的集合;
stepH2:从数据库中获取CTR,1=(C1,C2,C,C0);
stepH3:随机选取如下计算用户IDU的与角色IDR相关的私钥 由D3,DR,D′R三个部分组成:
D3=g(α+w)/β
步骤H4:将角色用户列表RULR、用户角色列表URLU、用户角色相关私钥及版本号保存到本地数据库中。
步骤四、进行授权决策,执行函数L——CheckAccess(IDU,IDF),判断用户是否有权访问资源如果有权访问,则对IDF的属性基加密密文CTF进行解密:
函数L——CheckAccess(IDU,IDF)包括如下具体步骤:
stepL1:首先判断用户IDU是否有权访问资源IDF,即判断用户IDU是否拥有可以访问该资源IDF的角色,URLU为用户角色列表,代表用户IDU所拥有的角色的标识的集合;FRLF为资源角色列表,代表能够访问IDF的角色的标识的集合;则二者交集RUF=URLU∩FRLF,如果RUF不为空,则用户IDU有权访问资源IDF,继续执行步骤L2,否则,用户IDU无权访问资源IDF,返回判断其他用户;
stepL2:从RUF中任选一个角色IDR,然后获取其角色相关密文 资源的对称加密密文CTSF、资源的属性基加密密文
stepL3:用户IDU利用身份相关私钥SKU=(D0,D1,D2)和角色相关私钥 以及CTR和CTF,对CTSF进行解密,计算过程如下:
(1)计算
(2)计算
(3)计算
(4)计算
stepL4:使用stepL3解密得到的密钥KF对资源IDF的对称加密密文CTSF进行对称解密,得到明文;
步骤五、删除用户,执行函数J——DeleteUser(IDU):删除用户IDU,并更新相关密码信息。对用户IDU的用户角色列表URLU中的所有角色IDR,分别执行用户/角色撤销函数I——DeassignUser(IDU,IDR)。
函数I——DeassignUser(IDU,IDR)包括如下具体步骤:
stepI1:将被撤销用户IDU在角色用户撤销列表中的序号记为n,即n=|RURLR|,将该用户的标识IDU记为更新角色用户撤销列表 更新角色用户列表RULR-={IDU},更新IDU的用户角色列表URLU-={IDR};
stepI2:随机选取更新角色IDR的相关随机数将角色IDR的密钥KR更新为
stepI3:如下计算C′1、C′2、C′、C′0、Cn,1、Cn,2
CT′R,1=(C′1,C′2,C′,C′0)
CT′R,2=(CTR,2,Cn,1,Cn,2)
stepI4:更新角色用户列表中所有用户的角色相关密钥,对于RULR中的每一个用户IDU,随机选取如下计算用户IDU的与角色IDR相关的私钥:
stepI5:将VR、K′R、CT′R,1、CT′R,2保存到数据库中,替换原有的VR、KR、CTR,1、CTR,2;将角色用户列表RULR、角色用户撤销列表RURLR和用户角色列表URLU保存到数据库中;将角色用户列表RULR中所有用户的角色相关私钥及版本号保存到数据库中;
步骤六、删除角色,执行函数K——DeleteRole(IDR),删除角色IDR并更新相关密码信息。对角色IDR的角色资源列表RFLR中的所有资源IDF,分别执行角色/权限撤销函数E——RevokePermission(IDR,IDF)。函数E——RevokePermission(IDR,IDF)包括如下具体步骤:
stepE1:更新资源角色列表FRLF-={IDR},更新角色资源列表RFLR-={IDF}。
stepE2:执行AddPermission(IDF,FALSE),得到资源IDF的更新后的加密密钥K′F
stepE3:如果FRLF不为空,则随机选取FRLF中有|FRLF|个元素(角色),将FRLF中的第i个(i=1,…,|FRLF|)元素表示为IDRi,首先调用CTF1=Encrypt(PK,IDR1,S′F,K′F,TRUE),用S′F对K′F进行基于角色属性的加密;然后定义变量j,j依次取值为2到|FRLF|,并调用CTFj=Encrypt(PK,IDRj,S′F,K′F,FALSE)。
stepE4:将S′F和CT′F=(CTF1,CTF2,CTF3,…,CTF|FRLF|)保存到数据库中,分别替换与资源IDF访问权限相关联的原有SF和CTF。将资源角色列表FRLF、角色资源列表RFLR保存到数据库中。
步骤二中的函数D和步骤六中的函数E调用了加密函数F——Encrypt(IDR,SF,KF,isNewOrReencrypt),用于对资源进行基于角色属性的加密,获得资源相关密文;输入参数IDR是被授予或被撤销访问资源IDF的权限的角色的标识,SF是与资源IDF访问权限相关联的随机数,KF是对资源IDF进行对称加密时采用的密钥,isNewOrReencrypt是布尔变量,当取值为TRUE时,代表加密是由对新创建的资源进行访问授权或是撤销某些角色对已有资源的访问权限而引起的;
函数F——Encrypt(IDR,SF,KF,isNewOrReencrypt)包括如下具体步骤:
stepF1:计算
stepF2:如果isNewOrReencrypt为TRUE,则计算 输出 否则,输出
有益效果:
本发明针对在云计算等资源属主不可控的外包环境中对资源进行可靠共享的需求,将密文策略属性基加密用于构建完整的核心RBAC管理系统,密码技术的使用使得资源属主能够完全控制授权管理,确保用户/角色指派(URA)和角色/权限指派(RPA)策略的正确实施,在提高权限管理安全性的同时,保持RBAC管理复杂性低的特点,并且其密码相关计算开销低于现有基于密码的RBAC方案。本发明可为不可信外包环境中企业级应用的安全访问控制提供技术基础和实施参考。
附图说明
图1是本发明中利用属性基加密实施核心角色访问控制模型的方法的工作示意图。
图2是使用本发明实施云存储外包环境中核心角色访问控制的系统的结构图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
实施例1、将图1所示的利用属性基加密实施核心角色访问控制模型的方法用于实施外包服务环境(云存储)中的核心RBAC访问控制,所形成的系统的结构如图2所示,该系统包括资源属主、资源用户和外包服务器(云存储服务器)3类实体,资源属主执行访问控制系统构建方法,将生成的可公开密码信息保存到外包服务器中,资源用户从外包服务器下载相关密文,并从资源属主获得密钥信息,最终解密得到资源明文。
(1)资源属主,负责系统初始化(A——Setup)、创建角色(B——AddRole)、创建权限(C——AddPermission)、角色/权限指派(D——GrantPermission)、角色/权限撤销(E——RevokePermission)、创建用户(G——AddUser)、用户/角色指派(H——AssignUser)、用户/角色撤销(I——DeassignUser)、删除用户(J——DeleteUser)、删除角色(K——DeleteRole)。
(2)外包服务器(云存储),负责保存资源属主在创建角色(B——AddRole)、创建权限(C——AddPermission)、角色/权限指派(D——GrantPermission)、角色/权限撤销(E——RevokePermission)时生成的与资源和角色相关的密文以及可公开的密码信息,并在资源用户执行自动授权决策(L——CheckAccess)时向其提供这些信息。
(3)资源用户,执行自动授权决策(L——CheckAccess)来获得对受控资源的访问,需要从资源属主获取系统公钥和用户私钥,从外包服务器下载角色相关密文及资源相关密文,然后依次计算得到访问受控资源需要的角色,进而获得访问权限,即解密得到访问受控资源所需的对称密钥,最后对加密后的资源进行解密,得到资源明文。
系统各个功能模块的具体工作流程如下:
根据步骤一进行系统初始化,调用A——Setup(),生成系统公钥PK和系统主密钥MK,包括如下具体步骤:
步骤A1:选取阶为素数p的双线性群随机选取的两个生成元g和h,定义双线性映射选取两个随机指数选取散列函数
步骤A2:生成系统公钥PK和系统主密钥MK:
MK=(α,β,gα)
步骤A3:将PK和MK保存到本地数据库中。
根据步骤二进行角色和权限的创建以及角色/权限指派,依次调用B——AddRole(IDR)、C——AddPermission(IDF,isNew)和D——GrantPermission(IDR,IDF)。
函数B——AddRole(IDR)包括如下步骤:
步骤B1:随机选取初始化角色用户撤销列表它是被撤销角色IDR的用户的身份标识的集合。初始化角色资源列表RFLR={},RFLR代表角色IDR有权访问的资源的标识的集合;
步骤B2:随机选取分别作为角色IDR的相关随机数和密钥,设如下计算角色相关密文CTR
CTR,1=(C1,C2,C,C0)
CTR,2=(C0,1,C0,2)
CTR=(CR,1,CR,2)
步骤B3:将角色IDR的VRKR、CTR、角色用户撤销列表RURLR、角色资源列表RFLR保存到本地数据库中;
步骤B4:将角色IDR的CTR发送到外包服务器进行存储。
函数C——AddPermission(IDF,isNew)包括如下步骤:
步骤C1:生成对称加密密钥用KF对资源IDF的明文F进行对称加密,生成资源的对称加密密文CTSF
步骤C2:如果isNew为TRUE,则初始化资源角色列表FRLF={ },FRLF代表能够访问IDF的角色的标识的集合。将KF、CTSF、FRLF保存到本地数据库中。如果isNew为FALSE,则替换数据库中原有的KF和CTSF
步骤C3:将资源IDF的属性基加密密文CTSF发送到外包服务器进行存储;
函数D——GrantPermission(IDR,IDF)包括如下步骤:
步骤D1:如果IDF是新创建的资源,即FRLF为空,则随机选取执行CTF=Encrypt(IDR,SF,KF,TRUE)对KF进行基于角色属性的加密。如果FRLF不为空,则资源属主从本地数据库中获取SF以及CTF,然后执行CT′F=Encrypt(IDR,SF,KF,FALSE),并将结果合并到CTF中,即CTF∪=CT′F
步骤D2:将IDF加入到角色资源列表RFLR中,即RFLR∪={IDF},将IDR加入到资源角色列表FRLF中,即FRLF∪={IDR};
步骤D3:将SF、CTF、角色资源列表RFLR、资源角色列表FRLF保存到本地数据库中;
步骤D4:将CTF发送到外包服务器进行存储。
根据步骤三进行用户的创建和用户/角色指派,依次调用函数G——AddUser(IDU)和H——AssignUser(IDU,IDR):
函数G——AddUser(IDU)包括如下步骤:
步骤G1:随机选取如下计算用户IDU的与身份相关的私钥:
SKU=(D0,D1,D2)
步骤G2:初始化用户角色列表URLF={ },URLU代表用户IDU所拥有的角色的标识的集合,将URLU和SKU保存到本地数据库中;
步骤G3:将系统公钥PK和用户身份相关私钥SKU发送给用户IDU
函数H——AssignUser(IDU,IDR)包括如下步骤:
步骤H1:将用户IDU加入到角色用户列表中,即RULR∪={IDU},将IDR加入到用户角色列表中,即URLU∪={IDR};
步骤H2:从数据库中获取CTR,1=(C1,C2,C,C0);
步骤H3:随机选取如下计算用户IDU的与角色IDR相关的私钥:
D3=g(α+w)/β
步骤H4:将角色用户列表RULR、用户角色列表URLU、用户角色相关私钥及版本号保存到本地数据库中。
根据步骤四进行授权决策,调用函数L——CheckAccess(IDU,IDF),判断用户IDU是否有权访问资源IDF,如果有权访问,则对IDF的属性基加密密文CTF进行解密,包括如下步骤:
步骤L1:用户IDU首先判断其是否有权访问资源IDF,即向资源属主查询其是否拥有可以访问该资源的角色;
步骤L2:资源属主计算集合RUF=URLU∩FRLF,如果RUF不为空,则从RUF中任选一个角色IDR,然后将RURLR、CTR在外包服务器中的下载地址AddR、CTSF和CTF在外包服务器中的下载地址AddSF和AddF、与角色IDR相关的私钥及版本号发送给用户IDU,继续执行步骤L3。如果RUF为空,则用户IDU无权访问资源IDF,中止执行;
步骤L3:用户IDU从外包服务器下载角色IDR IDF的CTSF 继续执行步骤L4;
步骤L4:用户IDU利用身份相关私钥SKU=(D0,D1,D2)和角色相关私钥以及CTR和CTF,对CTSF进行解密,计算过程如下:
(1)计算
(2)计算
(3)计算
(4)计算
步骤L5:资源用户者使用步骤L4解密得到的密钥KF对资源IDF的对称加密密文CTSF进行对称解密,得到明文F,将KF和F存入到本地数据库。
根据步骤五进行用户删除,调用函数J——DeleteUser(IDU),对用户IDU的用户角色列表URLU中的所有角色IDR,分别执行用户/角色撤销函数I——DeassignUser(IDU,IDR),包括如下步骤:
步骤I1:将被撤销用户IDU在角色用户撤销列表中的序号记为n,即n=|RURLR|,将该用户的标识IDU记为更新角色用户撤销列表 更新角色用户列表RULR-={IDU},更新IDU的用户角色列表URLU-={IDR}。
步骤I2:随机选取更新角色IDR的相关随机数 将角色IDR的密钥KR更新为K′R
步骤I3:如下计算C′1、C′2、C′、C′0、Cn,1、Cn,2
CT′R,1=(C′1,C′2,C′,C′0)
CT′R,2=(CTR,2,Cn,1,Cn,2)
步骤I4:更新角色用户列表中所有用户的角色相关密钥,对于RULR中的每一个用户IDU,随机选取如下计算用户IDU的与角色IDR相关的私钥:
步骤I5:将VR、K′R、CT′R,1、CT′R,2保存到本地数据库中,替换原有的VR、KR、CTR,1、CTR,2。将角色用户列表RULR、角色用户撤销列表RURLR和用户角色列表URLU保存到本地数据库中。将角色用户列表RULR中所有用户的角色相关私钥及版本号保存到本地数据库中。
根据步骤六进行角色删除,执行函数K——DeleteRole(IDR),对角色IDR的角色资源列表RFLR中的所有资源IDF,分别执行角色/权限撤销函数E——RevokePermission(IDR,IDF),包括如下步骤:
步骤E1:更新资源角色列表FRLF-={IDR},更新角色资源列表RFLR-={IDF};
步骤E2:执行AddPermission(IDF,FALSE),得到资源IDF的更新后的加密密钥K′F
步骤E3:如果FRLF不为空,则随机选取FRLF中有|FRLF|个元素(角色),将FRLF中的第i个(i=1,…,|FRLF|)元素表示为IDRi,首先调用CTF1=Encrypt(PK,IDR1,S′F,K′F,TRUE),然后定义变量j,j依次取值为2到|FRLF|,并调用CTFj=Encrypt(PK,IDRj,S′F,K′F,FALSE);
步骤E4:将S′F和CT′F=(CTF1,CTF2,CTF33CTF|FRLF|)保存到本地数据库中,分别替换与资源IDF访问权限相关联的原有SF和CTF。将资源角色列表FRLF、角色资源列表RFLR保存到数据库中;
步骤E5:将CT′F=(CTF1,CTF2,CTF33CTF|FRLF|)发送到外包服务器进行存储,替换原有CTF
步骤二中的函数D和步骤六中的函数E都调用了加密函数F——Encrypt(IDR,SF,KF,isNewOrReencrypt),用于对资源进行基于角色属性的加密,包括如下步骤:
步骤F1:计算
步骤F2:如果isNewOrReencrypt为TRUE,则计算 输出否则,输出
综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种基于属性基加密实施核心角色访问控制的方法,其特征在于,该方法具体包括如下步骤:
步骤一、系统初始化,执行函数A——Setup(),生成系统运行所需要的秘密信息:
选取阶为素数p的双线性群p为随机选择的素数,随机选取的两个生成元g和h,定义双线性映射选取两个随机指数 为整数集,选取散列函数如下生成系统公钥PK和系统主密钥MK并保存到数据库中:
MK=(α,β,gα)
步骤二、进行角色和权限的创建以及角色/权限指派,依次执行B、C和D三个函数:B——AddRole(IDR)为新角色生成角色相关密文;C——AddPermission(IDF,isNew)创建和更新访问资源的权限,其中包含的isNew为用户设定的用于指示资源IDF是否为新增资源的标识;D——GrantPermission(IDR,IDF)为角色IDR分配访问资源IDF的权限;
函数B——AddRole(IDR)包括如下具体步骤:
stepB1:随机选取初始化角色用户撤销列表RURLR为被撤销角色的用户的身份标识的集合;初始化角色资源列表RFLR={},RFLR代表角色IDR有权访问的资源的标识的集合;
stepB2:随机选取分别作为角色IDR的相关随机数和密钥,设按照下式计算角色相关密文CTR,CTR由CTR,1,CTR,2两个部分组成,CTR,1由C1,C2,C,C0四个部分组成,CTR,2由C0,1,C0,2两个部分组成:
CTR,1=(C1,C2,C,C0)
CTR,2=(C0,1,C0,2)
CTR=(CR,1,CR,2)
stepB3:将角色IDR的VR、KR、CTR、角色用户撤销列表RURLR、角色资源列表RFLR保存到数据库中;
函数C——AddPermission(IDF,isNew)包括如下具体步骤:
stepC1:生成对称加密密钥用KF对资源的明文F进行对称加密,生成资源的对称加密密文CTSF
stepC2:isNew是布尔型参数,如果isNew为TRUE,表示IDF为新增加的资源,则初始化资源角色列表FRLF={},FRLF代表能够访问资源IDF的角色的标识的集合;将KF、CTSF、FRLF保存到数据库中;如果isNew为FALSE,则替换数据库中原有的KF和CTSF
函数D——GrantPermission(IDR,IDF)包括如下具体步骤:
stepD1:如果是新创建的资源,即FRLF为空,则选取随机数执行CTF=Encrypt(IDR,SF,KF,TRUE)对资源IDF的对称加密密钥KF进行基于角色属性的加密;如果FRLF不为空,则从数据库中获取SF以及CTF,然后执行CT′F=Encrypt(IDR,SF,KF,FALSE),并将结果合并到CTF,即CTF∪=CT′F
stepD2:将IDF加入到角色资源列表RFLR中,即RFLR∪={IDF},将IDR加入到资源角色列表FRLF中,即FRLF∪={IDR}
stepD3:将SF、CTF、角色资源列表RFLR、资源角色列表FRLF保存到数据库中;
步骤三、进行用户的创建和用户/角色指派,依次执行G和H两个函数:G——AddUser(IDU)为新用户生成用户身份相关私钥SKU;H——AssignUser(IDU,IDR)为用户指派角色并创建用户IDU的与角色IDR相关的私钥
函数G——AddUser(IDU)包括如下具体步骤:
stepG1:随机选取如下计算用户的与身份相关的私钥SKU,SKU由D0,D1,D2三个部分组成:
D2=g-t
SKU=(D0,D1,D2)
stepG2:初始化用户角色列表URLU={},URLU代表用户IDU所拥有的角色的标识的集合,将URLU和SKU保存到本地数据库中;
stepG3:将系统公钥PK和用户身份相关私钥SKU发送给用户IDU
函数H——AssignUser(IDU,IDR)包括如下具体步骤:
stepH1:将用户加入到角色用户列表RULR中,即RULR∪={IDU},将角色加入到用户角色列表URLU中,即URLU∪={IDR},其中,RULR代表具有角色IDR的用户的标识的集合,URLU代表用户IDU所拥有的角色的标识的集合;
stepH2:从数据库中获取CTR,1=(C1,C2,C,C0);
stepH3:随机选取如下计算用户IDU的与角色IDR相关的私钥 由D3,DR,D′R三个部分组成:
D3=g(α+w)/β
步骤H4:将角色用户列表RULR、用户角色列表URLU、用户角色相关私钥及版本号保存到本地数据库中;
步骤四、进行授权决策,执行函数L——CheckAccess(IDU,IDF),判断用户是否有权访问资源如果有权访问,则对IDF的属性基加密密文CTF进行解密;
函数L——CheckAccess(IDU,IDF)包括如下具体步骤:
stepL1:首先判断用户IDU是否有权访问资源IDF,即判断用户IDU是否拥有可以访问该资源IDF的角色,URLU为用户角色列表,代表用户IDU所拥有的角色的标识的集合;FRLF为资源角色列表,代表能够访问IDF的角色的标识的集合;则二者交集RUF=URLU∩FRLF,如果RUF不为空,则用户IDU有权访问资源IDF,继续执行步骤L2,否则,用户IDU无权访问资源IDF,返回判断其他用户;
stepL2:从RUF中任选一个角色IDR,然后获取其角色相关密文 资源的对称加密密文CTSF、资源的属性基加密密文
stepL3:用户IDU利用身份相关私钥SKU=(D0,D1,D2)和角色相关私钥 以及CTR和CTF,对CTSF进行解密,计算过程如下:
(1)计算
(2)计算
(3)计算
(4)计算
stepL4:使用stepL3解密得到的密钥KF对资源IDF的对称加密密文CTSF进行对称解密,得到明文;
步骤五、删除用户,执行函数J——DeleteUser(IDU):删除用户IDU,并更新相关密码信息;对用户IDU的用户角色列表URLU中的所有角色IDR,分别执行用户/角色撤销函数I——DeassignUser(IDU,IDR);
函数I——DeassignUser(IDU,IDR)包括如下具体步骤:
stepI1:将被撤销用户IDU在角色用户撤销列表中的序号记为n,即n=|RURLR|,将该用户的标识IDU记为更新角色用户撤销列表更新角色用户列表RULR-={IDU},更新IDU的用户角色列表URLU-={IDR};
stepI2:随机选取更新角色IDR的相关随机数将角色IDR的密钥KR更新为
stepI3:如下计算C′1、C′2、C′、C′0、Cn,1、Cn,2
CT′R,1=(C′1,C′2,C′,C′0)
CT′R,2=(CTR,2,Cn,1,Cn,2)
stepI4:更新角色用户列表中所有用户的角色相关密钥,对于RULR中的每一个用户IDU,随机选取如下计算用户IDU的与角色IDR相关的私钥:
D3=g(α+w)/β,DR=(C′1)w·(C′2)r,D′R=(C′1)r
stepI5:将VR、K′R、CT′R,1、CT′R,2保存到数据库中,替换原有的VR、KR、CTR,1、CTR,2;将角色用户列表RULR、角色用户撤销列表RURLR和用户角色列表URLU保存到数据库中;将角色用户列表RULR中所有用户的角色相关私钥及版本号保存到数据库中;
步骤六、删除角色,执行函数K——DeleteRole(IDR),删除角色IDR并更新相关密码信息,对角色IDR的角色资源列表RFLR中的所有资源IDF,分别执行角色/权限撤销函数E——RevokePermission(IDR,IDF);
函数E——RevokePermission(IDR,IDF)包括如下具体步骤:
stepE1:更新资源角色列表FRLF-={IDR},更新角色资源列表RFLR-={IDF};
stepE2:执行AddPermission(IDF,FALSE),得到资源IDF的更新后的加密密钥K′F
stepE3:如果FRLF不为空,则随机选取FRLF中有|FRLF|个元素(角色),将FRLF中的第i个(i=1,…,|FRLF|)元素表示为IDRi,首先调用CTF1=Encrypt(PK,IDR1,S′F,K′F,TRUE),用S′F对K′F进行基于角色属性的加密;然后定义变量j,j依次取值为2到|FRLF|,并调用CTFj=Encrypt(PK,IDRj,S′F,K′F,FALSE);
stepE4:将S′F和CT′F=(CTF1,CTF2,CTF3,…,CTF|FRLF|)保存到数据库中,分别替换与资源IDF访问权限相关联的原有SF和CTF;将资源角色列表FRLF、角色资源列表RFLR保存到数据库中。
2.如权利要求1所述的一种基于属性基加密实施核心角色访问控制的方法,其特征在于,步骤二中的函数D和步骤六中的函数E调用了加密函数F——Encrypt(IDR,SF,KF,isNewOrReencrypt),用于对资源进行基于角色属性的加密,获得资源相关密文;输入参数IDR是被授予或被撤销访问资源IDF的权限的角色的标识,SF是与资源IDF访问权限相关联的随机数,KF是对资源IDF进行对称加密时采用的密钥,isNewOrReencrypt是布尔变量,当取值为TRUE时,代表加密是由对新创建的资源进行访问授权或是撤销某些角色对已有资源的访问权限而引起的;
函数F——Encrypt(IDR,SF,KF,isNewOrReencrypt)包括如下具体步骤:
stepF1:计算
stepF2:如果isNewOrReencrypt为TRUE,则计算 输出 否则,输出
CN201710323674.9A 2017-05-10 2017-05-10 一种基于属性基加密实施核心角色访问控制的方法 Expired - Fee Related CN107426162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710323674.9A CN107426162B (zh) 2017-05-10 2017-05-10 一种基于属性基加密实施核心角色访问控制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710323674.9A CN107426162B (zh) 2017-05-10 2017-05-10 一种基于属性基加密实施核心角色访问控制的方法

Publications (2)

Publication Number Publication Date
CN107426162A CN107426162A (zh) 2017-12-01
CN107426162B true CN107426162B (zh) 2018-06-22

Family

ID=60425805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710323674.9A Expired - Fee Related CN107426162B (zh) 2017-05-10 2017-05-10 一种基于属性基加密实施核心角色访问控制的方法

Country Status (1)

Country Link
CN (1) CN107426162B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280352A (zh) * 2018-01-17 2018-07-13 西安邮电大学 一种基于Android 8.0权限机制的隐私评估和权限管理方法
CN108492084B (zh) * 2018-03-02 2021-05-28 信阳师范学院 一种基于布尔矩阵分解与势约束的角色挖掘优化方法
CN111431843B (zh) * 2019-01-10 2022-12-27 中国科学院电子学研究所 云计算环境下基于信任和属性的访问控制方法
CN111680306B (zh) * 2020-03-31 2023-04-25 贵州大学 基于属性的协同访问控制撤销方法
CN111818059B (zh) * 2020-07-09 2022-07-12 公安部第三研究所 一种高等级信息系统访问控制策略自动化构建系统及方法
CN112543105B (zh) * 2020-11-26 2022-11-29 齐鲁工业大学 一种智能合约下基于角色的完全访问控制方法
CN112887273B (zh) * 2021-01-11 2022-05-20 苏州浪潮智能科技有限公司 一种密钥管理方法及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2285040A1 (en) * 2008-05-28 2011-02-16 Beijing E-hengxin Authentication Science & Technology Co. Ltd. Two-factor combined public key generation and authentication method
CN102546161A (zh) * 2010-12-08 2012-07-04 索尼公司 可撤销的基于密文政策的属性基密码方法、设备和系统
CN103226670A (zh) * 2013-01-18 2013-07-31 杭州华途软件有限公司 一种以访问控制模型为基础的文档访问控制系统
CN105049430A (zh) * 2015-06-30 2015-11-11 河海大学 一种具有高效用户撤销的密文策略属性基加密方法
CN105635135A (zh) * 2015-12-28 2016-06-01 北京科技大学 一种基于属性集及关系谓词的加密系统及访问控制方法
CN106059768A (zh) * 2016-05-30 2016-10-26 西安电子科技大学 抵抗重加密密钥泄露的属性可撤销加密系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2285040A1 (en) * 2008-05-28 2011-02-16 Beijing E-hengxin Authentication Science & Technology Co. Ltd. Two-factor combined public key generation and authentication method
CN102546161A (zh) * 2010-12-08 2012-07-04 索尼公司 可撤销的基于密文政策的属性基密码方法、设备和系统
CN103226670A (zh) * 2013-01-18 2013-07-31 杭州华途软件有限公司 一种以访问控制模型为基础的文档访问控制系统
CN105049430A (zh) * 2015-06-30 2015-11-11 河海大学 一种具有高效用户撤销的密文策略属性基加密方法
CN105635135A (zh) * 2015-12-28 2016-06-01 北京科技大学 一种基于属性集及关系谓词的加密系统及访问控制方法
CN106059768A (zh) * 2016-05-30 2016-10-26 西安电子科技大学 抵抗重加密密钥泄露的属性可撤销加密系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
管理信息系统中基于角色的访问控制;曹天杰,张永平;《计算机应用》;20010831;第21卷(第8期);第3.1节 *

Also Published As

Publication number Publication date
CN107426162A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107426162B (zh) 一种基于属性基加密实施核心角色访问控制的方法
Zhou et al. Achieving secure role-based access control on encrypted data in cloud storage
CN108810004A (zh) 基于代理的可撤销多授权中心访问控制方法、云存储系统
CN1939028A (zh) 从多个设备存取网络存储器上的保护数据
CN104717297A (zh) 一种安全云存储方法及系统
CN103179114A (zh) 一种云存储中的数据细粒度访问控制方法
CN108111540A (zh) 一种云存储中支持数据共享的分层访问控制系统及方法
Islam et al. Attribute-based encryption scheme for secure multi-group data sharing in cloud
CN106612169A (zh) 云环境下一种安全的数据共享方法
CN101707524B (zh) 一种具有层次关系的公钥广播加密方法
CN115426136B (zh) 基于区块链的跨域访问控制方法及系统
Tiwari et al. SecCloudSharing: Secure data sharing in public cloud using ciphertext‐policy attribute‐based proxy re‐encryption with revocation
Dong et al. SECO: Secure and scalable data collaboration services in cloud computing
CN105721146B (zh) 一种面向云存储基于smc的大数据共享方法
Zhang et al. A dynamic cryptographic access control scheme in cloud storage services
CN109587115B (zh) 一种数据文件安全分发使用方法
CN114218584A (zh) 系统级可撤销属性加密的电力数据隐私保护模型及方法
Wang et al. A role-based access control system using attribute-based encryption
CN113055164A (zh) 一种基于国密的密文策略属性加密算法
Chen et al. Generic user revocation systems for attribute-based encryption in cloud storage
Nayudu et al. Dynamic Time and Location Information in Ciphertext-Policy Attribute-Based Encryption with Multi-Authorization.
Chennam et al. Cloud security in crypt database server using fine grained access control
CN114244579A (zh) 用户级可撤销属性加密的电力数据隐私保护系统及方法
Zhou et al. Generic constructions for role-based encryption
Verma et al. A hybrid two layer attribute based encryption for privacy preserving in public cloud

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180622