访问控制模型
- 格式:ppt
- 大小:7.36 MB
- 文档页数:35
SAML和XACML相结合的Web服务访问控制模型赵玲,许峰,王志坚河海大学计算机及信息工程学院,南京(210098)E-mail:njzhaoling@摘要:访问控制安全是Web服务安全体系结构中至关重要的一部分。
本文对SAML和XACML相关规范进行研究,将二者结合实施访问控制,构造了一个应用于Web服务企业应用集成环境中的访问控制安全模型,在此模型基础上设计了Web服务访问控制系统。
该模型具有灵活、易于互操作和易于管理的特点。
关键词:Web服务,SAML,XACML,访问控制中图分类号:TP3091.引言Web服务作为新一代分布式应用,具有松散耦合、语言中立、平台无关等优点,弥补了传统的分布式对象模型的不足,极大的促进了异构系统跨互联网的集成,为企业扩大业务范围,加强企业之间的合作提供了新的途径。
但是,随着Web服务的广泛应用,它本身具有的一些特性,如分散、动态、异构、开放等所带来的安全问题也日益突出。
企业利用Web 服务进行业务集成,必须保证足够的安全。
其中,访问控制安全是非常重要的一个方面。
企业应用集成环境中,Web服务访问控制方面的主要问题在于:(1)Web服务应用集成包含多企业、多部门的连接,不同企业或者部门采用不同的安全技术实现身份验证和授权,难于与其他企业的安全系统进行互操作。
同时,跨应用的访问需要多次登录也给用户使用造成极大的不便。
(2)Web服务节点不在一个企业的范围内,资源动态的集成、联合,多组织联盟的授权难于建立和管理。
因此,有必要针对上述问题,根据Web服务的特点,对现有的安全技术及规范加以研究,建立一个安全的访问控制模型,使企业应用集成中安全的互操作成为可能。
对于访问控制,目前已有一些相关标准和规范,如SAML[[7]]和XACML[[5]]。
SAML是一种用于交换安全性信息的基于XML的框架,用于不同安全系统和平台共享安全信息,它使得跨域的验证和授权成为可能。
XACML将XML应用于安全,是对策略和授权决策请求/响应进行描述的语言。
rbac概念-回复什么是RBAC?RBAC,全称为Role-Based Access Control,即基于角色的访问控制。
它是一种广泛应用于信息安全领域的访问控制模型,通过授权用户使用特定的角色来限制其对资源的访问权限。
与之前的访问控制模型相比,RBAC 模型具有更高的灵活性、可扩展性和管理效率。
RBAC的基本概念和组成部分是什么?RBAC模型包括三个基本概念和三个重要组成部分。
基本概念:1. 用户:拥有系统账户的人,用户通过角色来访问资源;2. 角色:代表用户在组织中的职能或工作角色,拥有一组权限;3. 资源:需要被保护的系统资源,如文件、数据库、应用程序等。
组成部分:1. 用户角色和权限关系:定义了哪些用户属于哪些角色,以及每个角色拥有的权限;2. 角色和资源关系:规定了每个角色可以访问哪些资源;3. 权限控制策略:用于限制用户在特定角色下的访问权限,从而实现资源保护。
通过这三个基本概念和三个组成部分的配合使用,RBAC模型能够实现更精细、更灵活的访问控制。
RBAC模型的优势是什么?RBAC模型相比其他访问控制模型具有以下优势:1. 灵活性:RBAC模型允许更好地适应组织的变化,通过简单地授权和解除授权角色,而不需要逐个定义和授权用户。
当有新用户加入组织或者有用户离开组织时,只需要调整其角色即可。
2. 可扩展性:RBAC模型能够很好地应对组织规模的扩大。
随着系统的增长,只需要添加新的用户角色和资源,而不需要改变现有角色和权限的定义。
3. 管理效率:RBAC模型简化了用户和权限管理过程,减少了管理的复杂性。
通过授权和解除授权角色,管理员只需要管理少数角色,而不需要逐个管理用户的权限。
4. 增强安全性:由于RBAC模型只授权角色,而不直接授权用户,所以即使某个用户的账户被黑客入侵,黑客也只能获取该用户被授权的角色,而无法获取其他用户的权限。
通过这些优势,RBAC模型成为了许多组织在实施权限管理和访问控制时的首选模型。
blp的强制安全策略基本原则
BLP(Bell-LaPadula)是一种强制性访问控制(MAC)模型,用于确
保计算机系统中的信息安全。
BLP模型的基本原则是防止信息流动从高安
全级别到低安全级别。
BLP模型的强制安全策略基本原则包括以下几点:
1. 完整性原则(Integrity Principle):BLP模型要求确保信息的
完整性,禁止低安全级别的主体修改或访问高安全级别的对象。
这意味着
低安全级别的主体不能将信息写入高安全级别的对象,以防止信息的篡改
和损坏。
2. 保密性原则(Confidentiality Principle):BLP模型要求确保
信息的保密性,禁止高安全级别的主体读取或访问低安全级别的对象。
这
意味着高安全级别的主体只能读取或访问与其安全级别相同或更高的对象,以防止信息的泄露和不当访问。
3. 不可写入(No Write Down)原则:BLP模型遵循“不可写入”原则,即高安全级别的主体不能向低安全级别的对象写入信息。
这是为了防
止高安全级别的信息被低安全级别的主体篡改或泄露。
4. 不可读取(No Read Up)原则:BLP模型遵循“不可读取”原则,即低安全级别的主体不能读取高安全级别的对象的信息。
这是为了防止低
安全级别的主体获取高安全级别的信息,从而避免信息泄露。
5. 严格安全级别(Strict Security Level):BLP模型中,对象和
主体都被分配了严格的安全级别。
UCON管理及与传统访问控制模型结合的研究与应用中期报告一、研究目的对于信息系统中的访问控制问题,目前已经存在着多种传统的访问控制模型,但是这些模型存在一些不足,例如,无法处理复杂的授权策略、对于数据访问的灵活性不足等等。
因此,为了解决这些问题,需要研究一种新的访问控制模型。
基于此,本研究旨在探索一种新型的UCON (Usage control)访问控制模型,并将其与传统的访问控制模型结合起来,以实现更加灵活、安全、可靠的信息系统访问控制。
二、研究方法本研究采用文献资料法和案例分析法相结合的方法,通过对UCON模型的文献研究与分析,总结其优点与不足,并结合现实案例进行分析,探讨UCON模型与传统访问控制模型的结合方式。
三、研究内容1. UCON模型UCON模型是一种基于使用控制的访问控制模型,它强调控制访问的具体使用方式,而非传统模型的授权访问。
UCON模型包含了四个重要组成部分:使用约束(约束用户的使用方式)、策略执行(控制操作的执行)、策略评估(评估操作与策略的匹配度)和最终决策(根据评估结果决策是否允许访问)。
UCON模型的优点在于它提供了更为灵活和细粒度的控制方式,可以通过实时监控用户的使用方式来实现更为精准的访问控制。
2. 传统访问控制模型传统访问控制模型包括基于角色的访问控制模型(RBAC)、基于属性的访问控制模型(ABAC)和基于权限的访问控制模型(PBAC)。
这些模型都有着一定的优缺点,在实践中的应用效果各有不同。
3. UCON模型与传统访问控制模型的结合UCON模型与传统访问控制模型可以采用多种结合方式。
例如,在RBAC模型的基础上,增加UCON模型的使用约束;在ABAC模型中,引入UCON模型的策略评估机制或策略执行机制;在PBAC模型中,引入UCON模型的最终决策机制。
四、研究进展目前,本研究已完成对UCON模型的文献研究与分析,并结合案例展开分析研究。
在结合传统访问控制模型的研究中,初步探讨了UCON 模型与RBAC模型的结合方式,并制定了下一步的研究计划。
RBAC(Role Based Access Control)访问控制是通过某种途径显示的准许或限制访问能力及范围,从而限制对目标资源的访问,防止非法用户的侵入或合法用户的不慎操作所造成的破坏[2]。
目前流行的访问控制模型有自主访问控制模型(Discretionary Access Control,DAC)、强制访问控制模型(Mandatory Access Control, MAC)和基于角色的访问控制模型(Role-Based Access Control,RBAC)。
自主访问控制是访问控制技术中最常见的一种方法,允许资源的所有者自主地在系统中决定可存取其资源客体的主体,此模型灵活性很高,但安全级别相对较低;强制访问控制是主体的权限和客体的安全属性都是固定的,由管理员通过授权决定一个主体对某个客体能否进行访问。
无论是DAC 还是MAC 都是主体和访问权限直接发生关系,根据主体/客体的所属关系或主体/客体的安全级别来决定主体对客体的访问权,它的优点是管理集中,但其实现工作量大、不便于管理,不适用于主体或客体经常更新的应用环境。
RBAC是一种可扩展的访问控制模型,通过引入角色来对用户和权限进行解耦,简化了授权操作和安全管理,它是目前公认的解决大型企业的统一资源访问控制的有效访问方法,其 2 个特征是:(1) 由于角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,从而减小授权管理的复杂性,降低管理开销;(2)灵活地支持企业的安全策略,并对企业变化有很大的伸缩性。
2.2 RBAC 模型的基本思想在 RBAC 模型中,角色是实现访问控制策略的基本语义实体。
系统管理员可以根据职能或机构的需求策略来创建角色、给角色分配权限并给用户分配角色,用户能够访问的权限由该用户拥有的角色权限集合决定,即把整个访问控制过程分成2步:访问权限与角色相关联,角色再与用户关联,从而实现用户与访问权限的逻辑分离。
RBAC 模型引入了Role的概念,目的是为了隔离User(即动作主体,Subject)与Pr ivilege(权限,表示对Resource的一个操作,即Operation+Resource),当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。
授权与访问控制技术宣讲人:李春晓目录z3.1授权概述32z3.2访问控制概述3.2.1访问控制的内容3.2.2典型访问控制模型33z3.3访问控制的策略和机制3.3.1访问控制策略3.3.3访问控制机制概3.1授权概述z授权是确定用户访问权限的机制。
用户访问权限必须始终遵循最小特权原则,该原则规定用户只拥有执行他们的作功能所需的访问权拥有执行他们的作业功能所必需的访问权限,而不能拥有其他权限。
为了保证网络资源受控、合法地使用,用户只能根据自己的权限大小来访问法地使用用户只能根据自己的权限大小来访问系统资源,不得越权访问。
z授权指给予某个用户为了某种目的可以访问某个目标的权利。
访问控制策略在系统安全策略级上表示授权也就是说它们直接通过系统部件实表示授权,也就是说,它们直接通过系统部件实施。
3.3访问控制概述概z访问控制(Access Control)是网络安全防范和保护的主要核策略,它的主要任务是保证网络资源的主要核心策略,它的主要任务是保证网络资源不被非法使用和访问。
z访问控制规定了主体对客体访问的限制,并在身份识别的基础上,根据身份对提出资源访问的请求加以控制。
它是对信息系统资源进行保护的重要措施,也是计算机系统最重要和最基础的安全机制。
访问控制的目的是为了保护企业在信息系统中存储和处理的信息的安全。
概3.3访问控制概述z访问控制决定了谁能够访问系统,能访问系统的何种资源以及如何使用这些资源适当的访问控制能种资源以及如何使用这些资源。
适当的访问控制能够阻止未经允许的用户有意或无意地获取数据。
访问控制的手段包括用户识别代码令登录控制问控制的手段包括用户识别代码、口令、登录控制、资源授权(例如用户配置文件、资源配置文件和控制列表)、授权核查、日志和审计等等。
z信息安全的风险(Information Security Risks)可以被宽泛地归结为CIA:信息机密性(Confidentiality)、信息完整性(Integrity)和信息可用性(Availability).访问控制主要为信息机密性和信息完整性提供保障。
常见的权限访问控制模型权限访问控制即控制⽤户对资源或者服务的访问权限,⽬前流⾏的权限访问控制模型有以下⼏种。
MAC(Mandatory Access Control)起初由政府和军⽅设计并使⽤,它有⾮常严格的访问控制模型。
在MAC中,所有的权限由管理员预定义,并且由操作系统控制。
MAC实现了数据的权限分类(如重要的等级或安全的等级)和⽤户的权限分类(部门,项⽬等),这样在验证的时候就可以对⽐⽤户和数据的权限等级对应关系,从⽽知道是否有访问权限。
很少会有只使⽤MAC的,⼀般情况下会和其他的⽅法混合使⽤,⽐如UNIX的⽂件系统使⽤了DAC,但是root账号可以绕过这个访问控制模型不受限制。
DAC(Discretionary Access Control)和所有数据和权限被操作系统控制不⼀样,这个允许⽤户控制⾃⼰的数据的访问权限。
根据⽤户的⾝份以及它们所属的分组来限制对对象的访问权限。
⽤户可以通过ACL定义什么⼈或什么等级的⼈可以访问什么资源,每⼀个ACL都包含⼀个⽤户和组的列表,以及它们的访问权限。
通常情况下,系统管理员设置⼀系列常⽤的访问控制权限。
这⾥关键的是⽤户只能定义它们⾃⼰拥有的资源的访问权限。
RBAC(Role-Based Access Control)RBAC通常被公司使⽤,基于⽤户的职位给予访问权限。
这⾥权限被分配到公司⾥定义的⾓⾊上⾯。
RBAC中⽤户被分配⼀个⾓⾊,⽽它只能拥有⾓⾊⾥包含的权限,没有可以绕过的⽅法。
RBAC通过role分离了⼯作职责。
RBAC(Rule-Based Access Control)权限的分配依据管理员预定义的规则。
每⼀个对象都有它⾃⼰的ACL(access control list),操作系统检查⽤户是否拥有这个权限。
ABAC(Attribute-Based Access Control)这个模型根据特殊的规则来分配权限,这些规则组合了⽤户(users),资源(resource)和对象(objects)的属性。
2022年2月第43卷 第2期计算机工程与设计C O M P U T E RE N G I N E E R I N GA N DDE S I G NF e b .2022V o l .43 N o .2基于区块链的细粒度物联网访问控制模型宋丽华1,3,朱宗科1+,李梦晨1,郭艳飞2,马 礼1(1.北方工业大学信息学院,北京100043;2.中国化工油气股份有限公司,北京100080;3.治华盛顿大学计算机科学系,华盛顿特区20052)摘 要:基于已有的区块链和访问控制相结合相关的研究存在难管理访问权限㊁低效率㊁难支持轻量级物联网设备的缺点,提出一种基于属性的物联网访问控制模型㊂通过引入属性的概念,支持细粒度的访问控制;将访问控制策略以智能合约部署在区块链上,降低物联网设备的计算压力,使该策略可以应用于轻量级设备;引入t o k e n 概念,通过访问主体提前申请访问权限,提高访问效率㊂搭建原型系统,通过案例分析和安全性分析,验证了该访问控制模型的有效性㊂关键词:物联网;访问控制;区块链;智能合约;细粒度中图法分类号:T P 309 文献标识号:A 文章编号:1000-7024(2022)02-0352-09d o i :10.16208/j.i s s n 1000-7024.2022.02.008收稿日期:2020-09-10;修订日期:2021-08-17基金项目:国家重点研发计划基金项目(2018Y F B 1800302);北京自然科学基金项目(K Z 201810009011㊁4202020㊁19L 2021)作者简介:宋丽华(1979),女,河北邯郸人,博士,副教授,研究方向为嵌入式技术;+通讯作者:朱宗科(1995),男,山东滕州人,硕士研究生,研究方向为区块链技术;李梦晨(1993),女,北京人,博士研究生,研究方向为嵌入式技术㊁区块链技术;郭艳飞(1979),男,河北邯郸人,博士,高级工程师,研究方向为电子商务㊁工业信息化㊁物联网;马礼(1968),男,山西朔州人,博士,教授,研究方向为分布式信息处理㊁物联网㊁多a g e n t 机器人系统㊂E -m a i l :z h u z o n gk e @f o x m a i l .c o m F i n e -g r a i n e d a t t r i b u t e s -b a s e d a c c e s s c o n t r o l u s i n g bl o c k c h a i n f o r i n t e r n e t o f t h i n gs S O N GL i -h u a 1,3,Z H UZ o n g -k e 1+,L IM e n g-c h e n 1,G U OY a n -f e i 2,M A -l i 1(1.C o l l e g e o f I n f o r m a t i o n ,N o r t hC h i n aU n i v e r s i t y o f T e c h n o l o g y ,B e i j i n g 100043,C h i n a ;2.C h e m C h i n a P e t r o c h e m i c a l C o .,L t d .,B e i j i n g 100080,C h i n a ;3.D e pa r t m e n t o f C o m p u t e r S c i e n c e ,T h eG e o r g eW a s h i n g t o nU n i v e r s i t y ,W a s h i n gt o nD C20052,U S A )A b s t r a c t :S i n c e e x i s t i n g r e s e a r c ho n t h e c o m b i n a t i o no f b l o c k c h a i na n da c c e s s c o n t r o l h a s t h e s h o r t c o m i n g s o f i n e f f i c i e n c y a n d d i f f i c u l t i e s t om a n a g e a c c e s s r i g h t s a n d t o s u p p o r t l i g h t w e i g h t I o Td e v i c e s ,a n a t t r i b u t e -b a s e d a c c e s s c o n t r o l m o d e l w a s p r o po s e d f o r t h e i n t e r n e t o f t h i n g s .F i n e -g r a i n e d a c c e s s c o n t r o l w a s s u p p o r t e d b y a d o p t i n g t h e i d e a o f a t t r i b u t e s .T h e c o m p u t i n g p r e s s u r e o n I o Td e v i c e sw a s r e d u c e d b y d e p l o y i n g t h e a c c e s s c o n t r o l s t r a t e g yo n t h e b l o c k c h a i n i n t h e f o r mo f s m a r t c o n t r a c t s ,s o t h a t t h e s t r a t e g y c o u l d b e a p p l i e d t o l i g h t w e i g h t I o Td e v i c e s .T h e i d e a o f t o k e n i n t h e s t r a t e g y w a s a d o p t e d ,t h e a c c e s s s u b j e c t o b t a i n e d a c c e s s p e r m i s s i o n i na d v a n c e ,w h i c h i m p r o v e dt h ee f f i c i e n c y o f a c c e s s .A p r o t o t y p es y s t e m w a sb u i l t t ov e r i f y t h e p r o p o s e d m o d e l ,t h r o u g h c a s e a n a l y s i s a n d s e c u r i t y a n a l ys i s ,i t s h o w s t h a t t h i s a c c e s s c o n t r o l m o d e l i s e f f e c t i v e a n d v e r s a t i l e .K e y wo r d s :i n t e r n e t o f t h i n g ;a c c e s s c o n t r o l ;b l o c k c h a i n ;s m a r t c o n t r a c t s ;f i n e -g r a i n e d 0 引 言自物联网(i n t e r n e t o f t h i n gs ,I o T )概念提出以来,物联网技术得到了飞速发展,由于私人数据的收集㊁处理㊁分发已经变得越来越隐蔽㊁普遍,过度授权㊁超范围收集个人信息等现象大量存在,带来了严重的安全和隐私问题[1]㊂访问控制是保障物联网信息安全的常见技术之一㊂但常见的传统访问控制都是基于中央可信实体的概念构建,通过使用集中式服务器进行访问控制的验证㊂中央可信实体面临的管理压力较大,容易造成单点故障,且无法解决在不可信环境下的访问控制[2]㊂因此,出现了一个关键问题:我们如何在物联网中实现分布式和可信赖的访问控制?答案在于新兴的区块链技术㊂区块链是一种开放㊁透明的第43卷第2期宋丽华,朱宗科,李梦晨,等:基于区块链的细粒度物联网访问控制模型分布式账本系统,可以验证且永久地记录双方之间有效的交易,具有去中心㊁去信任㊁链上内容不可篡改㊁链上信息公开透明㊁链上数据可追溯等特点[3]㊂以太坊提供了一个名为以太坊虚拟机(e t h e r e u m v i r t u a lm a c h i n e,E V M)的去中心化图灵完备平台,以运行被称为智能合约的应用程序代码㊂智能合约是驻留在以太坊区块链环境中的代码,可在满足特定条件时执行㊂只要对区块链进行写操作,一定会发生交易㊂由于调用智能合约进行写操作时一定会伴随着交易,因此这种智能合约的调用也记录在区块链中[4]㊂1相关研究目前已有诸多将区块链技术和访问控制相结合的研究㊂为了解决传统访问控制中存在的单点故障问题,梅颖等[5]提出了一种基于比特币平台的区块链访问控制模型,将访问权限和访问控制策略等信息存储在区块链上㊂D i n g等[6]㊁A l a n s a r i等[7]和D a m i a n o等[8]则将区块链技术和基于属性的访问控制技术相结合(a t t r i b u t e s-b a s e da c c e s sc o n t r o l, A B A C)[9],D i n g等㊁A l a n s a r i等利用区块链记录属性信息, D a m i a n o等则是利用比特币交易进行管理和维护访问控制权限㊂O u a d d a h等[10]提出了一种名为F a i r A c c e s s的新机制,引入了t o k e n的概念,将访问权限以脚本的形式存在区块链上㊂D o r r i等[11]将区块链技术应用到智能家居系统的访问控制中去,利用比特币交易管理设备㊂随着以太坊技术的发展,研究者们将访问控制与区块链技术进行更深层次的结合,利用智能合约进行权限的决策㊂O u a d d a h等[12]㊁史等[13]使用t o k e n作为访问令牌,并利用智能合约进行访问控制㊂C h r i s t i d i s等[14]㊁R a m a c h a n d-r a n等[15]㊁Z h a n g等[16]提出使用智能合约进行访问控制裁决,保证了访问控制的公开透明㊂J e m e l等[17]则使用多个契约对访问控制进行投票,为访问控制提供了新的思路㊂虽然已经有了许多访问控制和区块链技术相结合的相关研究,但这些访问控制技术并不成熟,存在以下问题:①更改权限方式过于复杂,无法做到细粒度控制;②没有充分利用区块链的计算能力;③或利用了区块链的计算能力却受累于区块链的低效性;④无法支持轻量级物联网设备㊂2访问控制模型为了解决以上问题,本文提出一种基于区块链智能合约的物联网属性访问控制模型A B A C-B(a t t r i b u t e s-b a s e d a c c e s s c o n t r o l u s i n g b l o c k c h a i n),设计思路如下:①通过引入A B A C中属性的概念,并将属性进一步划分,有效简化了访问管理,且能够进行动态㊁细粒度的访问控制㊂②将访问控制策略通过智能合约的方式部署在区块链上,利用了区块链的计算能力,且降低了物联网设备的计算压力㊂③在策略中引入t o k e n概念,访问主体通过提前申请t o k e n获得访问权限,以及一次申请多次使用的方法,降低区块链对访问控制性能的影响㊂④使用物联网网关管理物联网设备,将权限验证部分部署到区块链智能合约和网关上㊂综合以上考虑,访问控制模型如图1所示㊂该模型由3个功能节点和两个安全模块组成,通过以太网和区块链连接在一起㊂2.1实体定义1访问设备:访问设备指在一次资源访问过程中发起访问的主体,它们可以不参与区块链的交易验证,但具有区块链的读取权限㊂可以用S={s1,s2, ,s n}表示发起访问请求的主体s i的集合㊂定义2资源:资源定义请参见文献[13],本文中的资源可以是数据㊁文件㊁可被访问的程序和现实中的可被控制的硬件设备(如:可被远程控制开关的灯)等客体㊂可以用O={o1,o2, ,o n}表示物联网中可被访问的资源o j 的集合㊂定义3资源拥有者:资源拥有者即网关代理,拥有上述资源和管理权限的实体集合㊂为了确保有效的访问和数据安全,用户需要在交换数据之前获得访问授权㊂网关在收到用户的访问控制请求后,将调用智能合约进行决策,并将裁决结果在区块链上进行广播㊂定义4 权限:权限定义请参见文献[13],通过P={p1,p2, ,p n}表示访问控制模型中的权限,权限包括数据的读㊁写㊁删除和对物联网设备的操作等㊂定义5 (T o k e n)权限令牌T o k e n定义请参见文献[13]㊂通过T o k e n i j(a,p,t s t a r t,t e n d)={t o k e n i j(a,p,t s t a r t, t e n d)|iɪS(t s t a r t),jɪO(t s t a r t),pɪP}表示,t o k e n i j(a,p, t s t a r t,t e n d)表示t s t a r t到t e n d期间满足属性集a的用户s i拥有对资源体o j的操作权限p㊂资源拥有者需要对t o k e n进行签名,验证该资源拥有者是此t o k e n的发布方㊂2.2属性定义6属性:属性定义请参见文献[13]㊂定义7细粒度访问控制:细粒度的访问控制是指通过对模型中的对象加以细分,进而对数据层次进行权限管理的访问控制㊂本文通过将属性分为角色属性㊁权限属性和标识属性达到细粒度访问的目的㊂细粒度的访问控制相较于粗粒度的访问控制可以有效减少过度授权等问题的发生㊂在属性数量相同的情况下,细粒度的访问控制可以有效减少策略数量,减少角色和权限的授予量,降低权限管理难度㊂定义8角色属性:角色属性是指在指定模型中,为了划分某一类设备或某一类角色而抽象出来的属性,其会随着模型和应用场景的更改而更改,目的是确认实体设备的身份㊁功能和此类所有设备所拥有的所有权限㊂可以用R A={r a1,r a2, ,r a n}表示角色属性的集合㊂㊃353㊃计算机工程与设计2022年图1访问控制模型定义9权限属性:权限属性是指不影响角色分类但影响权限授予的一部分属性㊂其可以为身份属性所延伸的属性,也可以是与身份属性相对应的数值,例如:年龄㊁工作年限等㊂目的是在不过多增在角色分类的情况下细化权限授予过程,减少过度授权㊂可以用P A={p a1,p a2, , p a n}表示权限属性的集合㊂定义10标识属性:标识属性用作标记㊁临时分类,也可通过简单的规则运算来简略验证身份的真实性㊂可以用M A={m a1,m a2, ,m a n}表示权限属性的集合㊂定义11主体属性:主体的属性定义请参见文献[13],主体属性的集合用S A来表示㊂对于某个主体s i 的属性集合,通过s i.a j={a j|a jɪs i,S A}表示㊂定义12资源属性:资源的属性定义请参见文献[13],资源属性的集合用O A来表示㊂对于某个资源的o i的属性集合,通过o i.a j={a j|a jɪo i,O A}表示㊂定义13会话历史:会话历史是指用户在系统中的历史访问行为和相关信息记录,使用S H(s,o,t)={s h1, s h2, ,s h n}表示会话历史的集合㊂区块链链上内容不可更改的特性可以保证每一次会话都被准确无误地记载下来㊂定义14信任度:信任度T t是指t时间段,系统根据用户历史行为记录㊁模型访问需求和其所拥有的属性等信息计算出的一个取值在[-1,1]上的属性,其目的是为了约束用户不良行为㊁甄别恶意节点以及实施信任约束条件㊂信任度公式如下T t=ðS H P(s h i)ˑF(s,o,s h i)(1)该公式利用用户以往的会话结果计算当前时间段t时的系统对访问主体信任度T t,其中P(s h i)=p(s h i)/ðp(s h j),表示会话s h在会话历史集合S H中所占的比重,p(s h i)随着时间递减㊂我们假设每一次会话行为都会带来一定的收益,电子交易会带了实际收益,资源的共享㊁管理和权限管理等会带来行为收益㊂F(s,o,s h i)=f(X s h-X(φ)),表示对会话s h i的信任评估㊂X(φ)为预期带来的收益,X s h为实际带来的收益㊂f(x)=s i n(πx/2)㊂对于首次会话的用户其信任值在[0.8,0.9]之间随机取得㊂定义15角色条件函数:角色条件函数是为了依据角色属性区分同一类型设备,并记录访问策略合约D e c i s i o n()地址的一类条件函数㊂同时,通过设置角色条件函数A C F()和角色条件范围A C R可以有效防止用户本身和属性存在冲突㊁所授予的属性之间互斥㊁过度授权等情况的发生㊂当被检查属性数量n有限且数量低于阈值N时,可通过一条㊃453㊃第43卷第2期宋丽华,朱宗科,李梦晨,等:基于区块链的细粒度物联网访问控制模型条件函数进行判定㊂阈值以一条策略中所能包含的属性为上限㊂当属性数量n超过阈值N时,则最多需要C N n-1+1个规则进行判断㊂根据策略的不同,角色条件函数为相关属性设置权重,使用W={w1,w2, ,w n}表示权重集合㊂对于一条规则而言A C F(s.a)=ðr a iˑw i+ðp a jˑw j㊂当w i+1>ðw i时,同一类型或同一属性的设备的角色条件函数A C F(s.a)为唯一值㊂通过对不同策略的设置不同的属性条件函数A C F()的范围要求角色条件范围A C R㊂当A C F()ɪA C R时,则该策略通过,当超过C N n-1+1个规则通过时,则角色策略通过㊂2.3设备注册点本文中设备注册点并不承担存储功能,其在收到用户设备或资源所有者设备的注册信息后会根据设备的身份或能力发布为每个设备设置一组属性,并为每个设备或某类设备部署其专属的智能合约并记录属性㊁公钥㊁访问策略等相关信息㊂主体注册的目的是获得一个唯一的I D作为标识和设备注册点分配的属性等,以及将相关信息上传至智能合约㊂主体s向设备注册点发送相关信息和公钥s.p k,设备注册点授予用户唯一用作标识的s.i d,属性组s.a(s.a1,s.a2, ,s.a n),随后创建并部署智能合约s.c,将主体s的属性s.a和公钥s.p k上传至智能合约,然后在整个区块链进行广播并保存在区块链上㊂主体和资源所有者可通过调用s.c 智能合约G e t A t t r i b u t e(s)㊁G e t P u b l i c K e y(s)函数获得用户s所拥有的属性和公钥㊂设备注册点可通过调用智能合约S e t A t t r i b u t e(s.a)㊁S e t P u b l i c K e y(s.k)函数更改主体的属性,来达到撤销主体的权限的功能㊂资源注册与主体注册类似,其目的是获得一个唯一的I D㊁设备注册点分配的属性和访问策略等,以及将相关信息上传至智能合约㊂2.4访问控制实施点访问控制过程中有多种终端设备资源,如传感器㊁智能摄像头等,其本身并不具备能够满足权限裁决的计算能力,也不能直接连接到权限裁决点,所以需要一个能够进行权限判断或者能够连接到权限裁决点的访问控制实施设备进行管理㊂物联网中的网关具有一定的计算和存储能力,并且能够连接到权限裁决点,所以本模型使用物联网网关作为这些资源的拥有者和管理者,同时,作为访问控制过程中的访问控制实施点㊂当主体想要访问某一资源时,主体并不直接与终端设备资源通信,而是与访问控制实施点进行交互㊂主体向访问控制实施点发送访问控制请求,访问控制实施点与访问控制裁决点进行交互,权限通过后得到一个权限令牌t o-k e n,然后访问控制实施点与设备资源进行交互,将访问结果和t o k e n返回给主体㊂访问主体也可以直接访问权限裁决点,通过提前申请t o k e n达到降低访问控制时间成本的目的㊂2.5权限裁决点权限裁决点能够接收访问控制实施点和访问主体发送的访问控制请求㊂权限裁决点首先调用智能合约获得主体和资源的相关信息,查看安全监测模块判断主体是否处于惩罚状态,然后调用策略合约进行权限裁决,最后若裁决通过,则生成一个权限令牌t o k e n,并将裁决结果和t o k e n 返回给信息发送方㊂当被访问资源为敏感资源时,权限裁决点会拒绝来自访问主体的访问请求,只接受访问控制实施点的访问请求㊂访问控制实施点发送访问请求,权限裁决点将裁决结果和t o k e n直接返回给访问控制实施点㊂然后访问控制实施点需要先对t o k e n 进行签名,然后将裁决结果和t o k e n返回给访问主体㊂2.6安全监测模块访问控制模型中设置有安全监测模块,可以更好地督促用户行为和惩罚恶意行为㊂访问客体拥有访问日志,区块链会记录用户的访问过程行为,当用户存在不当操作或者恶意操作时会受到相应的惩罚,例如:当用户在规定单位时间1s内进行超过阈值3次的访问时或进行超过3次向无权限资源发起访问时,系统判定为轻度恶意访问,并在规定时间3m i n内限定其访问;用户在受到处罚过程中或之后再次进行违规操作,系统判定为中度或重度恶意访问,延长限制时间,并下降20%信任度㊂日志分析模块会在用户进行访问时分析用户的在单位监测时间内的访问频率,当用户访问过于频繁超过阀值或者多次认证失败时,系统将采取惩罚措施㊂禁止用户在一定时间内的全部访问请求,并将惩罚结果记录在访问日志和用户智能合约中㊂当检测到用户进行越权行为或者用户之间进行恶意串通时,系统也会采取一定的惩罚措施㊂2.7身份认证模块当被访问资源为敏感资源时,访问控制实施点与访问主体进行通信的过程中需要使用身份认证模块㊂访问控制过程中用户和资源都存在身份被冒领的可能,在模型中设置身份认证模块可以有效地解决这一问题㊂其原理是使用非对称加密算法里的数字签名算法㊂信息发送方需要预先将自身的相关信息和公钥发送给属性分配机构,属性分配机构为其部署专属智能合约,并将属性㊁公钥的相关信息记录在智能合约中㊂任何用户或者资源拥有者在拥有智能合约地址的前提下都可以查看存储在其中的公钥㊂区块链的防篡改性㊁可追溯性保证了公钥的可靠性㊂将属性㊁公钥等相关信息记录在智能合约可以有效防止第三方在访问控制过程中伪造虚假信息,为访问控制提供了公开透明㊁安全可信的通讯环境㊂3模型工作流程上文描述了模型的形式化定义,这里将详细介绍模型的工作流程㊂㊃553㊃计算机工程与设计2022年3.1 无t o k e n 访问控制流程当访问主体没有权限令牌t o k e n 的情况下,主体向访问控制实施点请求访问资源和权限,具体流程如图2所示,请求访问权限过程如算法1所示㊂图2 访问控制流程模型算法1:请求访问权限算法输入:(s .i d ,o .i d ,s .p )输出:t o k e n(1)R e q u e s t A c c e s s (s .i d ,o .i d ,s .p )(2)i f o =m s g .s e n d e r ɡs .a ʂN U L L ɡo ʂN U L L t h e n (3) s .a ѳG e t A t t r i b u t e s (s );r a ,p a ѳs .a ;(4) o .a ѳG e t A t t r i b u t e s (o);(5) I fA F C (s .a )ɪA C R ɡT t >T r(6) g e t D e c i s i o n ()ѳA F C (r a ,p a );(7) I f D e c i s i o n (o .a ,s .a ,s .p )=t r u e t h e n (8) e m i t r e q u e s t e v e n t ;(9) t o k e n ѳC r e a t e T o k e n (s .a ,o .a ,s .p );(10) r e t u r n t o k e n ;(11) e l s e r e t u r nA c c e s s d e n i e d ;(12) e n d i f (13)e l s e r e t u r nF a i l v e r i f i c a t i o n;(14)e n d i f访问控制实施点向权限裁决点发送一个三元组请求的消息(s .i d ,o ,s .o p )㊂分别是主体的唯一i d ,主体o 和用户所请求的操作s .o p ㊂当收到访问控制请求时权限裁决点通过调用G e t A t t r i b u t e (),G e t S t r a t e g y ()分别获得用户的属性s .a ,客体属性o .a ㊂依据属性条件函数A C F ()判断属性是否合规,同时结合计算所得的信任度T t 确认用户设备身份㊁类型和信任评价㊂使用角色条件函数A F C ()根据角色属性r a 找到与设备相关访问策略合约D e c i s i o n ()的地址㊂调用裁决合约D e c i s i o n ()利用获得o .a ,s .a ,s .p 做出决策,判断是否授予权限㊂调用裁决合约D e c i s i o n()进行判断的过程是需要发生交易的,所以会被广播并记录在区块链上㊂如果决定授予权限,则权限裁决点生成一个对应的t o k e n ㊂裁决过程由所有以太坊节点进行监督,裁决结果根据共识算法的不同需要达到一定占比的支持才能生效,保证了裁决结果的公开透明㊂3.2 有t o k e n 访问控制流程为了不影响访问速度,访问主体可以提前向权限裁决点发送访问请求㊂其过程与访问控制实施点向权限裁决点请求裁决过程类似㊂当访问主体获得t o k e n 后,主体向访问控制实施点发送访问请求㊂访问控制实施点通过判断t o k e n 的有效性代替权限裁决过程,判断t o k e n 是否合法如算法2所示㊂算法2:请求访问算法输入:(s .i d ,o .i d ,t o k e n ,s .p)输出:t r u e o r f a l s e(1)G r a n t A c c e s s (s .i d ,t o k e n ,s .p )ѳ(s .i d ,t o k e n ,s .p );(2)i fs =m s g .s e n d e rɡs .i d ʂN U L L ɡt o k e n ʂN U L L t h e n(3) s .a ѳG e t A t t r i b u t e s (s);(4) i f E f f e c t i v e (t o k e n )ɡG e t A t t r i b u t e s (t o k e n )⊆s .a t h e n(5) s .p ѳG e t P e r m i s s i o n (t o k e n );(6) I f s .p ⊆o .p(7) r e t u r n t r u e ;e m i t a c c e s s e v e n t ;(8) e l s e r e t u r n f a l s e;㊃653㊃第43卷 第2期 宋丽华,朱宗科,李梦晨,等:基于区块链的细粒度物联网访问控制模型(9) e n d i f(10) e l s e r e t u r n f a l s e ;(11) e n d i f (12)e l s e r e t u r n f a l s e ;(13)e n d i f主体向访问控制实施点发送四元消息(s .i d ,o .i d,t o k e n ,s .p)分别是主体的唯一i d ,主体所使用的t o k e n ㊁客体的i d 和将要使用的权限㊂然后访问控制实施点通过调用G e r A t t r i b u t e s (s )查看主体属性集s .a ,并判断有权利使用t o k e n 的属性是否被包含在主体属性集s .a 内㊂最后判断主体所请求的访问权限s .p 是否属于资源所有者所允许的权限o .p 内,是则用户拥有s .p 权限访问资源㊂需要注意的是当被访问资源为敏感资源时,主体发送访问请求前需要对t o k e n 进行签名处理㊂4 案例分析基于以上访问控制模型,搭建了原型演示系统,具体硬件环境配置如图3所示,其中两台台式计算机㊁3台笔记本电脑㊁一个物联网网关开发板㊁两个W i -F i 开发板㊂图3 部分设备环境在两台台式计算机㊁3台笔记本电脑和物联网网关开发板上安装以太坊客户端,安装了以太坊g e t h 客户端的设备可以转换为以太坊节点,这些节点通过配置加入到同一个私有区块链网络,如图4所示㊂图4 仿真实验拓扑图实验中两台台式计算机和3台笔记本电脑充当矿工维护整个私有区块链网络㊂物联网网关开发板作为物联网设备的代理通过R e m i x 集成开发环境编译用于访问控制判断的智能合约㊂每个以太坊节点还采用了w e b 3j ,通过w e b 3j来与以太坊g e t h 客户端进行交互㊂计算机设备规格见表1㊂案例:用户依次对温度计㊁灯进行读取和控制操作㊂预计达到的访问控制结果见表2㊂表1 计算机设备规格设备名称C P U操作系统内存D e l l i n s p i r o n 14-7460I n t e l C o r e i 7-7500U U b u n t u -16.04.48G B D e l l i n s p i r o n 15-5543I n t e l C o r e i 5-5200U U b u n t u -16.04.48G B D e l l i n s p i r o n 3650I n t e l C o r e i 7-6700U b u n t u -16.04.48G B D e l l D 09M 003I n t e l C o r e i 7-3770W i n d o w 7-x 648G BD e l l D 09M 004I n t e l C o r e i 7-3770W i n d o w 7-x 6416G B㊃753㊃计算机工程与设计2022年表2 预期访问结果客体名称访问操作是否允许拒绝原因温度显示器r e a d N 签名认证失败温度显示器c o n t r o l N 超出t o k e n 权限灯光控制器r e a dY用户使用错误签名请求对温度计进行读操作,温度计可以进行读操作,但是错误签名导致签名认证错误第一次操作被拒绝㊂用户使用正确签名向温度计请求控制操作,温度计只能进行读操作,控制操作显然超出温度计的适用范围,自然超出t o k e n 权限范围,操作被拒绝㊂用户使用正确签名向灯光控制器请求读操作,权限允许,签名认证通过,所以允许操作㊂实验结果如图5所示㊂图5 仿真实验结果5 安全分析女巫攻击是指攻击者利用单个节点来伪造多个身份存在于P 2P 网络中,从而达到削弱网络的冗余性,降低网络健壮性,监视或干扰网络正常活动等目的㊂用户和资源都存在身份被冒领的可能,本模型在请求访问过程中,资源拥有者需要对t o k e n 进行签名,以此验证该t o k e n 是自己发布的㊂用户在得到t o k e n 后使用资源拥有者的公钥进行认证,确认该t o k e n 是资源拥有者所发布的㊂在访问资源过程中,需要用户自身对t o k e n 进行私钥加密签名,资源拥有者会根据用户的公钥验证访问者的身份㊂解密和签名的过程会极大地增加女巫攻击的计算成本,而通过引入私钥签名㊁公钥认证的过程,可以轻松解决掉用户身份被冒领的问题㊂为了确保正确的访问控制,A B A C -B 模型必须能够抵抗共谋攻击㊂有时,当设备中没有一个满足访问控制要求的属性集时,它们可能会在利益的驱动下相互勾结,以尝试与他人进行身份验证㊁恶意串通访问权限以获取有价值的数据㊂例如当用户1拥有属性集A ,用户2拥有属性集B ɘC ㊂规定只有拥有(AɣB )ɘC 才能访问资源㊂此时,用户1想要访问资源则需要和用户2恶意串通获得t o k e n ㊂用于访问时需要提交t o k e n 和用户1的ID ㊂资源拥有者在获得访问请求后首先要调用验证t o k e n 是否合法,随后调用智能合约查看用户1是否符合t o k e n 的属性要求,可以很轻易地发现用户1并没有拥有属性集C ,并终止身份验证㊂因此,我们的访问控制是可以防止用户间恶意串通的㊂6 性能分析A B A C -B 模型通过属性分为角色属性㊁权限属性和标识属性达到细粒度访问的目的㊂本模块共设置10个节点,其中包括3个恶意节点,即拥有错误属性或伪造属性的节点和2个低信任节点,即拥有正确属性却申请错误权限的节点,利用本文所提算法,使用循环随机请求的方式分别进行10,100,500,1000次实验,实验预期及结果见表3㊂表3 访问结果访问次数恶意节点访问次数低信任节点访问次数拦截数正确率/%103249010030204696500150********.2100030020049699.6㊃853㊃第43卷 第2期 宋丽华,朱宗科,李梦晨,等:基于区块链的细粒度物联网访问控制模型可以看到当访问次数很少时,系统可以准确找到恶意节点,却很难区分低信任节点㊂当访问次数增加时,会话历史也在增加,此时系统可以有更多的信息计算节点的信任度,访问的正确率也逐步增加㊂A B A C -B 模型通过提前申请访问权限和多次使用t o k e n,降低区块链对访问控制性能的影响㊂本模块将通过实验验证,引用t o k e n 可以有效降低区块链对访问控制性能的影响㊂因为本实验的区块链环境和数字签名环境并不能客观反映A B A C -B 模型的时间效能,实验中P O W 和P B F T 的共识时间来自文献[13,18]㊂本次实验,5种访问方式共进行20次取平均值,第一次完整的访问控制时间如图6所示㊂其中依次为A B A C -B 模型在分别在P O W 和P B F T 环境下进行无t o k e n 的访问控制㊁有t o k e n 的访问控制和传统的A B A C ㊂需要注意的是在有t o k e n 的访问控制过程中,访问控制实施点通过判断t o k e n 的有效性来代替权限裁决过程和共识过程㊂而无t o k e n 的访问控制在进行第一次访问控制之后,访问主体将会获得t o k e n ,之后将进行有t o k e n 的访问控制㊂可以看出在引入t o k e n 概念后访问控制的时间得到有效的减少,且在理想环境下无t o k e n 的访问控制时间比传统的A B A C 访问控制时间明显增加,而有t o k e n 的访问控制时间则略低于传统的A B A C 访问控制时间㊂累计访问控制时间如图7所示㊂图6第一次访问控制的响应时间图7 累计访问控制响应时间可以看出,在引入t o k e n 进行多次访问控制的情况下,可以有效降低区块链对访问控制性能的影响㊂实验中存在一种可能当用户申请t o k e n 后且在t o k e n 生效时间内属性被更改,则此次访问时间为正常访问的两倍,但是此类事件发生概率太低,可以忽略不计㊂7 结束语在本文中,我们引入了A B A C 中属性的概念,提出了一种与区块链技术相结合的基于属性的物联网系统访问控制方案㊂通过属性将属性细化,降低了访问控制的管理难度㊂利用智能合约存储重要数据和决策访问策略,达到了分布式的访问控制效果,有效防止了单点故障的问题㊂在策略中引入t o k e n 概念,访问主体通过提前申请t o k e n 获得访问权限,以及一次申请多次使用的方法,降低区块链对访问控制性能的影响㊂将属性㊁策略㊁公钥和权限更新在区块链上公开,创造了公开透明㊁安全可信的访问控制环境㊂利用非对称密码认证用户信息㊂引入了非对称加密算法中的数字签名算法,有效解决了身份被冒领的问题㊂参考文献:[1]D o r r i A ,K a n h e r e S S ,J u r d a kR ,e t a l .B l o c k c h a i n i n i n t e r n e to f t h i n g s :C h a l l e n g e s a n d s o l u t i o n s [J ].a r X i v p r e pr i n t a r X i v :1608.05187,2016.[2]L I U A o d i ,D UX u e h u i ,W A N GN a ,e t a l .R e s e a r c h p r o gr e s s o f b l o c k c h a i n t e c h n o l o g y a n d i t s a p pl i c a t i o n i n i n f o r m a t i o n s e c u -r i t y [J ].J o u r n a l o f S o f t w a r e ,2018,29(7):2092-2115(i n C h i n e s e ).[刘敖迪,杜学绘,王娜,等.区块链技术及其在信息安全领域的研究进展[J ].软件学报,2018,29(7):2092-2115.][3]G e r v a i sA ,K a r a m eG O ,K a r lW üs t ,e ta l .O nt h es e c u r i t ya n d p e r f o r m a n c e o f p r o o f o f w o r kb l oc k c h a i n s [C ]//A C MS i g-s a c C o n f e r e n c e o n C o m p u t e r &C o m m u n i c a t i o n s S e c u r i t y ,2016:3-16.[4]W a t a n a b e H ,F u ji m u r aS ,N a k a d a i r a A ,e ta l .B l o c k c h a i n c o n t r a c t :S e c u r i n g a b l o c k c h a i n a p p l i e d t o s m a r t c o n t r a c t s [C ]//I E E E I n t e r n a t i o n a l C o n f e r e n c e o n C o n s u m e r E l e c t r o n i c s,2016:467-468.[5]M E IY i n g .S i m pl i f i c a t i o nm o d e l c o n s t r u c t i o no f i n t e r n e t a c c e s s c o n t r o l b a s e do nb l o c k c h a i n [J ].J o u r n a lo fC o m m u n i c a t i o n U n i v e r s i t y o f C h i n a ,2017,24(5):7-12(i nC h i n e s e ).[梅颖.基于区块链的物联网访问控制简化模型构建[J ].中国传媒大学学报(自然科学版),2017,24(5):7-12.][6]D i n g S,C a oJ ,L iC ,e ta l .A n o v e la t t r i b u t e -b a s e da c c e s s c o n t r o l s c h e m eu s i n g bl o c k c h a i nf o r I o T [J ].I E E E A c c e s s ,2019,7:38431-38441.[7]A l a n s a r i S ,P a c iF ,S a s s o n e V ,e ta l .A d i s t r i b u t e da c c e s sc o n t r o l s ys t e mf o r c l o u d f e d e r a t i o n s [C ]//I E E E37t h I n t e r n a -t i o n a lC o n f e r e n c eo n D i s t r i b u t e d C o m p u t i n g S ys t e m s ,2017:㊃953㊃。