APP下载

基于DB-ABAC模型的物联网数据访问控制策略

2021-06-04

科技经济导刊 2021年14期
关键词:细粒度访问控制联网

贾 睿

(辽宁省交通高等专科学校,辽宁 沈阳 110122)

物联网是从互联网的发展而逐渐演变出的一种形态,被广泛应用于医疗保健、交通运输、智能家居和监控系统等众多日常应用中,为更多的用户提供更加全面的信息式的服务。物联网的信息服务发展离不开海量异构数据,需要对海量异构物联网数据进行存储和访问控制,为数据使用提供安全与质量保障,这样才能更好地体现物联网的应用价值[1]。同时对于各数据存储之间应提供数据互通机制,最大化地保证资源有效共享。存储和管理海量异构物联网数据具有挑战性,主要体现在数据存储模式应满足多源、异构、海量的物联网数据存储需求,分析物联网设备产生的事件数据和状态数据间复杂关联关系,发现海量数据间蕴含的共性和模式,挖掘深层次业务价值。综上所述,海量异构物联网数据的统一存储、高效访问、业务导向、数据分析成为物联网数据管理领域的核心研究内容。

1. 相关工作

为了满足不同用户的数据访问请求,灵活应对多种业务视角,物联网数据管理系统需提供动态配置和细粒度的访问控制机制,实现物联网数据的高效查询和展示,保证物联网数据安全和隐私[2]。基于属性的访问控制(ABAC)使用主客体属性作为访问控制的决策要素,灵活利用请求者所具有的属性集合决定是否赋予其访问权限,能够很好地将策略管理和权限判定相分离。有效解决了具有大规模、强动态性及强隐私性特点的新型计算环境下的细粒度访问控制问题。

文献[3]阐述了基于属性的访问控制模型的整体流程、关键问题、研究现状和发展趋势进行分析,指出其技术优点能够有效地解决动态大规模环境下的细粒度访问控制问题,是新型计算环境中的理想访问控制模型。文献[4]提出混合扩展访问控制模型HARBAC,支持基于属性的用户角色分配、角色权限分配、角色激活、会话角色权限缩减和权限继承等动态访问控制功能,支持用户匿名访问和细粒度、动态的权限控制。

总体而言,当前的物联网数据管理系统存在两个典型问题:面向物联网海量异构数据,存储性能较低,缺乏存储模型扩展机制;仅能从简单维度进行数据查询和挖掘,数据访问控制粒度较粗,无法满足多维度的复杂业务诉求,未能挖掘物联网数据间隐含的关联价值。

2. 基于设备-业务属性的访问控制模型

基于角色的访问控制(RBAC)是目前应用最为普遍的访问控制模型,通过引入角色实现了用户与权限的逻辑分离,用户不直接与权限相关联,而是通过角色获得所需权限,降低了授权管理复杂度。RBAC中的角色可以根据系统需求随时进行创建、删除、激活或去活,以满足不同系统的应用需求。RBAC模型主要问题是不能很好地支持动态授权和细粒度授权,构建角色层次结构和策略复杂,成本高[5][6]。

基于属性的访问控制(ABAC)将用户、资源和环境等参与者的属性作为授权与访问判定的依据,能有效解决RBAC不支持细粒度授权和动态授权问题,具有较强的灵活性和扩展性,且不需要构建角色层次,比较容易建立授权管理所需的策略。但在ABAC模型中,直接通过属性在用户和资源之间建立权限关系,没有考虑业务发展变化对权限带来的影响,权限规则数量随业务变化呈指数级增长,导致规则爆炸,影响查询效率。

针对以上问题,本文提出基于设备和业务属性的访问控制模 式(Device And Business Attribute Based Access Control, DBABAC),在ABAC基础上引入设备、业务、传感器等物联网实体抽象。DB-ABAC将业务规则引入,从用户、业务、传感器、数据、时间等多个维度构建访问控制和授权决策的策略,利用图形结构中边来管理设备、业务和传感器数据间复杂多变的关系。此模型具备灵活适配和动态调整的特点,支持多维度、跨领域、动态配置的数据访问和挖掘,支持根据业务规则动态调整各维度间关联关系,利用数据立方理念实现多领域、细粒度的数据访问授权。

3. 数据访问控制与管理服务

数据访问控制与管理服务主要包括身份鉴权和访问控制。身份鉴权认证数据访问请求方的身份信息,判断其是否为真实且有效的用户。访问控制遵循最小权限和职责分离等安全原则,从用户身份、设备、业务、传感器、时间等多维度进行权限控制,返回用户能够访问的传感器数据集,保证数据安全性。同时,根据业务需要对用户、设备、业务及传感器间关联进行动态调整,满足多维度、横跨领域、动态配置的数据查询和挖掘需求。

处理各种业务请求,比如设备型号设置、业务规则变更、为用户分配可访问设备、为用户分配业务规则。解析请求参数,验证参数有效性,访问底层图数据库服务进行数据管理操作,将操作结果封装返回给请求方。其核心技术如下:

属性表达式(Attribute Expression,AE):是对属性的具体描述或限制,为三元组(Att, Op, Value)[7],其中Att为属性名称;Op为属性比较操作符,Op∈{<,≤,>,≥,=,≠}或{in,out,up,down};Value为属性值。

关联管理(Relation Administration,RA):利用访问者信息、设备信息、业务信息、传感器信息等对各个信息维度间关联关系进行形式化描述,表现形式为(AE1,AE2, ROp),其中AE表示信息体的属性表达式,ROp表示信息体间关联的管理操作,ROp∈{add,update,delete,query}。根据物联网应用实践情况,具体定义了用户设备关联(User-Device)、用户业务关联(User-Business)、设备传感器关联(Device-Sensor)、业务传感器关联(Business-Sensor)、传感器数据关联(Sensor-Data)。

通过上述5种关联,物联网应用能够依据用户身份信息和业务规则来获取所需数据,即从纵向的设备维度进行权限分配,也从横向的业务维度进行权限分配,两者结合实现细粒度的授权管理。同时,根据属性表达式可以很方便地进行关联调整,兼备灵活性和动态性。

数据立方(Data Cube, DC):数据立方是一种重要的数据查询和分析方式,它通过多维度和度量值来构建数据单元,高层级的数据立方可以通过聚合一定数量的低层级数据单元而构造出来[8]。其具备很好的灵活性和扩展性,适合于物联网数据的查询和挖掘。

Device Cube Query从设备维度找出待查询的传感器,其表现形式为DCQ=(U,D,S),U,D,S分别代表用户、设备、传感器的属性表达式。Business Cube Query从业务维度找出待查询的传感器,其表现形式为BCQ=(U,B,S), U,B,S分别代表用户、业务、传感器的属性表达式。数据查询结合DCQ和BCQ的传感器结果,并加入时间维度(TAE)来进一步限制访问范围,获取结果数据,表达式如下:

数据立方查询由若干子查询构成,每个子查询获得特定规则的数据单元,并根据聚合策略生成最终查询结果,表达式为Qset={Q1, Q2, ..., Qn}。

4. 实验与结果

评测两种不同的数据立方查询方式,从用户相关联的设备和业务出发,根据用户属性、设备类型、业务名称等属性进行过滤,找出和其有连接的传感器交集或并集,并结合起始时间范围等数据属性,最终定位待访问的数据节点。查询性能评测设置了不同数量的用户、设备、业务和传感器的组合环境,模拟验证各种复杂的物联网业务场景,并对比测试是否包含属性查询条件时的平均响应时间。

查询结果展示了查询1000条传感器集合所需平均时间,说明了在各种复杂的物联网管理场景下,即使设备、传感器数量变化增长时,本系统能够在有效时间响应数据访问请求。同时,随着业务变化,数据查询条件也随之动态调整,基于属性的过滤条件未对系统查询响应时间造成显著影响。

交集查询测试结果

并集查询测试结果

5. 结语

本文主要设计DB-ABAC访问控制模型,引入业务视角,构建“用户+设备+业务+传感器”的多维度访问策略,采用属性条件过滤、业务关联动态调配、数据立方技术,支持细粒度h跨业务的数据访问需求。后续工作中,我们会进一步研究提升物联网多维度数据并行查询与处理性能,在数据安全和性能两方面做出平衡,使本方案提出的访问控制策略模型适应物联网业务发展和数据安全需求。

猜你喜欢

细粒度访问控制联网
一种跨策略域的林业资源访问控制模型设计
“身联网”等五则
《物联网技术》简介
《物联网技术》简介
物联网下的智控萌宠屋
内外网隔离中ACL技术的运用
在线评论情感分析研究综述
基于型号装备?角色的IETM访问控制研究
云计算访问控制技术的运用及论述
基于web粒度可配的编辑锁设计