吕环宇,鄢楚平
(华北计算技术研究所,北京 100083)
基于WoT的访问控制的设计与实现
吕环宇,鄢楚平
(华北计算技术研究所,北京 100083)
Web of Things(WoT)就是把物联网和Web技术结合起来,将物联网网络环境中的设备抽象为资源和服务能力连接到Web空间。针对WoT技术,当前存在的访问控制模型并不完全适用。因此本文结合了基于角色的访问控制模型和基于属性的访问控制模型,并在基于WoT思想的“物联网通用体系架构”的基础上,设计一个访问控制子模块,展开对满足物联网特性的访问控制机制的研究和实现,提出一种改进的访问控制机制。在基于角色的访问控制基础上增加属性的判断,从而在保留基于角色访问控制优点的同时实现自动分配权限的功能。
访问控制;基于角色的访问控制;基于属性的访问控制; 物联网
本文著录格式:吕环宇,鄢楚平. 基于WoT的访问控制的设计与实现[J]. 软件,2016,37(12):153-156
Web of Things(WoT)是近几年提出的把Web和物联网技术相结合的技术实现形式,利用Web中REST风格架构的灵活和易用等优势,解决传统物联网系统中存在的架构封闭化、耦合度高和扩展性差等问题,使得物联网上的设备和业务更容易接入与访问。
WoT技术使得物联网环境更加开放,用户使用Web进行访问更加便捷快速。但随之而来的安全问题也日益显著,而访问上的安全问题则成为其中重要的一部分。在传统的基于角色、基于身份的访问控制模型中,由于物联网中系统、设备的位置不断变化,访问者的身份、地点等也在随之改变。这样的动态性导致了无法预知附近访问者的权限从未提前分配;又加之物联网中对某一信息的访问者往往数量巨大,这也增加了提前分配权限的工作量,使之难以实现。而基于属性的访问控制根据用户的属性特点,使用提前预设的规则将用户归类,进而能够动态的分配权限,虽然能够解决动态性这一问题,但单纯的基于属性的访问控制授权过程复杂、不灵活,不能满足实时性[1];同时规则的数量也会随着用户和属性的增加而急剧膨胀。
因此,本课题在基于WoT思想的“物联网通用体系架构”的基础上,设计一个访问控制子模块,展开对满足物联网特性的访问控制机制的研究和实现,提出一种改进的访问控制机制——基于角色和属性的混合访问控制。在基于角色的访问控制模型的基础上增加属性的判断,从而在保留基于角色访问控制优点的同时实现自动分配权限的功能。
1.1 基于角色的访问控制模型
基于角色的访问控制模型是在1992年由美国国家标准化和技术委员会的Ferraiolo等人提出的,该模型的核心思想是在用户和系统访问权限之间加入角色的概念[2],将系统的访问权限与角色建立对应关系,为不同的角色分配不用的权限[1]。然后在用户访问系统时为其分配角色,这样将用户和权限相关联,系统为用户分配不同的角色就可以实现不同用户的访问控制。基于角色的访问控制基本模型如图1所示:
图1 基于角色的访问控制模型
在图1中可以看出,基于角色的访问控制模型拥有三个基本概念。用户[3]:用户是一个主体,在物联网系统中是指对设备信息或者数据进行访问的人或应用。角色[4]:角色是模型中核心的概念,是权限的集合。角色作为用户和权限之间的中间层,将用户和权限结合起来。不同的角色通过不同是权限来实现各自的功能。权限[5]:权限是对物联网系统中数据或者其他资源进行访问的一种许可。例如对温度传感器中数据读取或者开关的控制都是一种权限。
1.2 基于属性的访问控制模型
基于属性的访问控制和基于角色的访问控制模型所包含的基本元素大体相同,都包括了访问主体、被访问的资源、访问方式和外界条件[6]。基于属性的访问控制是随着分布式系统的发展而被提出的,目的在于解决分布式应用中的访问控制问题。该模型的基本思想是:访问控制以实体的属性作为基础进行授权决策,它可以随着实体属性的变化,动态地更新访问控制策略,从而提供一种更加灵活的、细粒度的动态访问控制方法。在基于属性的访问控制模型中,属性是访问控制策略授权判断的依据和基础,用户满足访问控制策略中规定的属性条件即可获得策略规定的访问权限。并且,主体、资源统一用属性来描述,每个元素的属性可以根据系统的实际需求来定义。
2.1 物联网通用体系架构
针对WoT的思想,该项目中提出了一套完整的针对物联网核心基础设施的新型的物联网通用体系架构。通用体系架构将物体和应用分离,在物体和应用间添加一个中间层,即物联港支撑系统,成为应用的共性支撑。物联港支撑系统对下供物体接入并进行服务封装,对上提供便捷统一的开发接口支持应用构建。同时采用通用体系架构的物联网系统之间可以实现互联互通互操作,为用户提供通用的物联网应用共性支撑平台。在物联网的体系建设中,起到承上启下的桥梁作用,实现对物体统一描述与接入、统一标识与寻址、统一服务封装与调用。
2.2 物联港支撑系统
物联港支撑系统是构建物联港的软件系统,利用物联港支撑系统,可以在服务器、PC或者嵌入式设备上构建硬件承载方式、规模大小不同的物联港系统,支撑多样化的物联网物体接入和应用构建方式。其基本功能包括支持物体的注册、接入和管理,支持便捷的物体感知/控制数据传输,支持物体服务的封装及事件订阅。
2.3 PE(Physical Entity)
PE是具有可交互接口的设备在物联港内对应的数字对象,其对应物体世界中确定的物体。PE具有属性和接口,直接支撑VE的生成、开发和运行,可以利用PE配置工具生成。PE中描述的接口需要符合E-things物联港接口规范。
2.4 VE(Visual Entity)
VE是虚拟实体的简称,是物联港内具有统一服务化接口的数字实体。VE是物联港系统内直接与应用发生交互的对象,在应用看来,对物体的操作实际是对VE的操作。VE既可以由PE自动生成和部署,也可以利用VE开发支持框架开发VE模板然后进行部署。
访问控制系统基于上述物联网通用体系架构设计,该访问控制模块具有如下几个功能:认证访问物联网平台服务的用户/应用,只有认证合法的用户/应用才允许对物联港进行访问。鉴定用户/应用的对物联网平台中资源的访问权限,只有鉴定通过的用户/应用才允许对平台中的资源进行访问。授予用户/应用对对物联网平台中资源的访问权限,具体包括授予服务拥有者对物体的开发权限、授予用户/应用对服务的访问权限。管理用户信息,包括第三方应用,VE拥有者,PE拥有者的注册信息,以及VE拥有者,PE拥有者拥有的资源的信息。
如图2所示,根据访问控制系统需要实现的功能,该系统具有如下几个模块:授权模块、用户管理模块、资源管理模块。
3.1 授权模块
图2 访问控制系统总体架构图
授权模块负责为第三方应用(VE拥有者)发放访问令牌,并管理访问令牌。包括授权码管理,令牌管理,对外服务端口等子模块
对于第三方应用来说,可以通过授权码模式或者客户端模式申请访问令牌。在客户端模式下,第三方应用以自己的名义向授权服务器申请某些权限。在授权码模式下,是物联港用户将自己的某些权限授权给第三方应用。
在客户端模式下,具体访问流程如下:
1)第三方应用在物联港注册之后。第三方应用通过客户端模式向物联港申请某些权限。
2)授权服务器将第三方应用的信息与授权规则进行匹配,将匹配成功的权限授予给第三方应用。
3)授权服务将访问令牌和刷新令牌返回给第三方应用。
在授权码模式下,具体访问流程如下:
1)第三方应用向授权服务器申请授权码。
2)授权服务器对VE拥有者进行认证。
3)对VE拥有者认证成功后,返回VE拥有者所拥有的所有权限信息。
4)VE拥有者选择要授予的权限,并同意授权。
5)授权服务器生成授权码返回给第三方应用。
6)第三方应用携带授权码换取访问令牌。
7)授权服务器通过授权码生成相应的访问令牌和刷新令牌,将其返回给第三方应用。
3.2 用户管理模块
对物联港来说,VE拥有者,PE拥有者和第三方应用都属于物联港的用户。用户管理模块主要作用是提供用户注册,用户登录,用户信息修改,管理用户信息等基本功能。用户在物联港内注册成为物联港用户,物联港将注册信息转发给授权服务器。
授权服务器验证注册信息的有效性,将注册结果返回给物联港。VE拥有者,PE拥有者在物联港内进行任何操作之前首先需要登录,物联港将登录信息转发给授权服务器。授权服务器验证登录信息的合法性,将登录结果返回给物联港。用户可以在已登录的基础上修改个人信息,物联港转发该请求到授权服务器。授权服务器验证合法性和有效性,将修改结果返回给物联港。
3.3 资源管理模块
物联港内的资源包括VE向外提供的服务,PE提供的操作。同时,VE的生成是依赖与PE的。资源管理模块的主要工作就是负责PE和VE的管理,包括生成PE,生成VE同时负责管理每一个PE与其操作的对应关系,每一个VE的服务与PE的对应关系。模块内使用PE的操作和VE的接口都用一个抽象的Resource对象来表示。
PE拥有者,VE拥有者在成功登陆之后可以进行PE生成和VE生成操作。PE拥有者在物联港内生成PE,填写相应的PE信息,物联港将PE信息转发到授权服务器。授权服务器验证PE拥有者的合法性,返回PE生成结果。VE拥有者在物联港生成VE,填写相应的VE信息,并选择要绑定的PE及接口。物联港将生成VE的请求转发到授权服务器。授权服务器内部验证VE的合法性,并将VE与要绑定的PE接口所对应的授权规则进行匹配,若匹配成功则VE成功生成,否则生成失败。授权服务器将生成结果信息返回给物联港。
3.4 鉴权模块
获得访问令牌的第三方应用调用VE的服务,或者VE调用PE的操作时,都要携带访问令牌到物联港请求要调用的资源,物联港将该请求转发到授权服务器,授权服务器对该访问令牌进行鉴权,将鉴权结果返回给物联港,若鉴权成功,物联港即将所请求的资源返回给调用者。
本文中所述的在传统的基于角色的访问控制模型基础上与基于属性的访问控制相结合,提出一种优化的适于WoT技术的访问控制系统。与传统的访问控制相比,具有高效、灵活等特点,更适用于物联网中设备数量多、种类多,访问者身份、位置动态变化的环境。同时,该系统的应用实践也表明所述的模型实现了对物联网系统中权限的控制和管理。
[1] 王小明, 付红, 张立臣. 基于属性的访问控制研究进展[J].电子报, 2010, 38, No.7.
[2] 杨庚, 沈剑刚, 容淳铭. 基于角色的访问控制理论研究[J].南京邮电大学学报: 自然科学版, 2006, 26(3): 1-8.
[3] 曹天杰, 张永平. 管理信息系统中基于角色的访问控制[J].计算机应用, 2001, 21(8): 198-201.
[4] 吴薇. 基于角色的访问控制技术的用户权限管理及实现[J]福建电脑, 200, 11: 176-177.
[5] 栗龙, 卢山. 物流信息系统中RBAC模型角色继承关系的研究与实现[J]. 软件, 2013, 34(7): 15-18.
[6] 李晓峰, 冯登国, 陈朝武, 等. 基于属性的访问控制模型[J]. 通信学报, 2008. 29 (4): 90-99.
[7] 常豆, 宋美娜, 杨俊. 一种基于角色和数据项的访问控制方式[J]. 软件, 2014, 35(7): 40-43.
[8] 韩金松. 基于角色权限的投票测评系统的设计与实现[J].软件, 2013, 34(9): 47-48.
[9] 赵凯, 汪卫平. 数字化校园中基于角色的权限控制[J]. 软件, 2014, 35(11): 22-24.
[10] 刘志杰. 物联网技术的研究综述[J]. 软件, 2013, 34(5): 164-165.
[11] 沈海波, 洪帆. 访问控制模型研究综述[J]. 计算机应用研究, 2005, No. 6: 9-11.
Design and Implementation of an Access Control Method Based on WoT
LV Huan-yu, Yan Chu-ping
(North China Institute of Computing Technology, Beijing 100083)
Web of Things (WoT) combines the Internet of Things and Web technology,and takes devices as resources and service capabilities to connect to the Web space. For WoT technology, the existing access control model is not fully applicable. Therefore, this paper combines the role-based access control model and attribute-based access control model, and designs an access control sub-module based on the general architecture of Internet of Things. Then this paper proposes an improved access control mechanism which can retain the advantages of role-based access control while achieving the function of automatic allocation of permissions.
Access control; Role-based access control model; Attribute-based access control model; Web of things
TP391
A
10.3969/j.issn.1003-6970.2016.12.032
吕环宇(1992-),男,研究生,计算机系统结构;鄢楚平(1965-),男,研究员,通信与移动计算技术。