摘 要:针对汽车产业链资源信息多源异构、跨平台交互建立困难的问题,提出了一种基于区块链的跨域权限委托方法(BCPDM)。该方法首先将区块链技术与基于属性的访问控制(ABAC)模型相结合,并建立权限过滤功能,以避免平台间权限冲突;其次,引入权限收回机制,提高模型授权的灵活性,避免长时间授权可能导致的信息泄露问题,旨在以灵活、动态、高效和可信的方式解决复杂汽车产业链多域环境下的访问授权问题。经安全性分析与实验表明:所提方法在复杂汽车产业链多域环境中能够保证用户的安全访问和各平台之间的数据信息交互,并且计算开销低。该方法能够满足汽车产业链协同交互的实时要求,为解决复杂汽车产业链中的访问控制问题提供了一种可行的解决方案。
关键词:汽车产业链; 跨域访问; 区块链; 权限委托
中图分类号:TP309 文献标志码:A
文章编号:1001-3695(2024)08-006-2284-08
doi:10.19734/j.issn.1001-3695.2023.12.0584
Blockchain-based permission delegation method for automotive industry chain
Deng Liangming1, Li Binyong1,2, Deng Xianhui1
(1.School of Cybersecurity(Xin Gu Industrial College), Chengdu University of Information Technology, Chengdu 610225, China; 2.Advanced Cryptography & System Security Key Laboratory of Sichuan Province, Chengdu 610225, China)
Abstract:Aiming at the problems of multi-source heterogeneity of automotive industry chain resource information and the difficulty of establishing cross-platform interaction, this paper proposed a blockchain-based cross-domain permission delegation mode(BCPDM). Firstly, it combined blockchain technology with attribute-based access control(ABAC) model, and established a permission filtering function to avoid inter-platform permission conflicts. Secondly, it introduced a permission retraction mechanism to improve the flexibility of the model authorization and avoid the problem of information leakage that might be caused by prolonged authorization, aiming to solve the access authorization problem under the multidomain environment of complex automotive industry chain in a flexible, dynamic, efficient and trustworthy way. The security analysis and experimental results show that the proposed method can ensure the safe access of users and data and information interaction between platforms in the multi-domain environment of complex automotive industry chain, and the computational overhead is low. The method can meet the real-time requirements of automobile industry chain cooperative interaction, and provides a feasible solution for solving the access control problem in complex automobile industry chain.
Key words:automotive industry chain; cross-domain access; blockchain; delegation of authority
0 引言
汽车产业链是指涵盖汽车设计、研发、制造、销售和售后服务等各个环节的产业体系。它由多个相关的产业和环节组成,包括原材料供应平台、零部件制造平台、汽车制造平台、销售平台、经销平台、售后服务提供平台等。这些环节共同合作,形成一个相互依存的产业生态系统,以满足汽车市场的需求。这个庞大的产业链为汽车行业的发展和运作提供了支撑,同时也促进了相关产业的发展和经济的增长[1,2]。
汽车产业链多域环境是指在汽车产业链中存在多个相互独立的域,每个域都代表着一个独立的组织,拥有自己的管理策略、访问控制规则和资源。在这样的环境中,不同部门或者业务单元可能运行在不同的域中,每个域有自己的用户账号和访问权限控制。
汽车产业链上不同参与方之间需要进行数据交换和协作,因此,汽车产业链多域环境下平台间的信任安全和平台间数据权限交互安全问题是汽车产业链发展的两个障碍,为解决这些问题,汽车产业链需要建立健全的访问策略和机制。研究表明,基于属性的访问控制[3]是解决汽车产业链上平台安全访问的一种优秀策略。相对于传统的访问控制机制,如访问控制列表(ACL)[4]、强制访问控制(MAC)和基于角色的访问控制(RBAC)[5],ABAC具有以下优势:面向ACL的伸缩性和粒度有限,MAC存在动态适应性差的问题,RBAC需要事先定义大量角色并将用户绑定到某个角色进行授权,可能导致角色爆炸等问题,ABAC基于主体和客体的属性进行访问决策,通过预定义的合法用户列表和属性或属性集[6],以访问策略约束某个用户在特定条件下对数据的操作,从而实现更细粒度的访问控制决策。然而,随着计算机的不断发展,ABAC也面临着一些挑战。随着模型中属性和属性集的增长,系统开销会增加,访问效率会降低。此外,大多数ABAC模型都依赖于集中式的授权实体进行访问决策,存在单点故障的风险。区块链作为一种可用且安全的体系结构[7~12],在与访问控制结合的场景下[13,14]具有良好的应用前景,可以解决访问控制模型中的单点故障问题。叶进等人[15]针对供应链引入数据分级的思想,可以实现更细粒度的访问控制策略,但随着策略数量的不断增多,访问控制机制在时间开销上的成本也会相应扩大,并出现策略管理困难的问题。张建标等人[16]提出了一种基于区块链的跨域ABAC模型,利用统一的属性标准来控制域之间的访问策略,并根据访问策略进行授权。TACE[17]针对利益冲突域导致的信息泄露问题提出了一种集成区块链的转移访问检查和执行以及可能的权限路径检测的算法,然而,该算法没有进行正式的建模和验证。BCAI[18]是一种应用于物联网的去中心化权限委托模型,实现了物联网交互所需的权限转移、分散用户权力和协同工作的功能,从而实现对资源的安全细粒度访问,然而,该模型没有解决跨域环境下的权限授权问题。BCCA[19]为了解决多个域认证方案的安全性和效率问题,提出了一种基于区块链信任模型和系统架构的方法,该方法在PKI认证体系的基础上验证签名在联盟链上的认证效率更好。
针对数据权限交互安全,研究表明,权限委托能很好地解决汽车产业链上不同平台无法获取其他域的完整信息,能更加精确地将用户权限转移并解决复杂环境下的权限转移安全性问题。在复杂的汽车产业链环境中,M-PBDM模型[20]针对汽车生产中的复杂工作流和非工作流场景为工作人员分配合理的生产权限,以避免制造协同工作效率低下的问题。然而,模型无法满足跨域访问的需求,在委托元素扩大时处理能力有限,由于汽车产业链上需供关系的多样复杂性,该方案无法满足产业链上所有平台用户的需求。为了满足企业内部复杂的权限访问与数据共享,王秀利等人[21]提出一种属性基加密的访问控制模型,较好地解决了企业内部访问权限难以控制的问题。为解决访问控制系统中无法细粒度管理令牌中权限的问题,UNFTO[22]根据有向超图进行权限流通路径追溯,并实现了令牌中权限的分割与组合,但该方案缺少对链上恶意节点的预防识别处理。现有的汽车产业链权限委托仍存在一些局限性,主要局限于关注用户访问主体资源的安全性和权限授予的灵活性较低。目前的权限授予方式仅限于单次的授予,并且无法对被授权权限的主体进行有效管理。这种情况无法满足汽车产业链多平台之间数据权限交互的需求。本文认为,解决链上供需关系的多样复杂性、满足平台用户需求的关键在于实现汽车产业链跨多平台之间的动态权限委托。因此,提出了一种基于汽车产业链的多域权限委托机制,具体方案为:
a)为确保权限在委托过程中不会被非法用户获取,在基于属性的访问控制(ABAC)模型的基础上,设计了权限委托智能合约,支持对权限委托的安全性和可行性进行限制。通过设定权限委托的期限、次数、深度和路径等参数,可以确保权限委托的安全性。
b)针对多域之间信息交互可能出现的域间利益冲突和多个域同时向一个域申请权限的安全性问题,本文提出了权限过滤算法。该算法能够在权限委托过程中对权限进行过滤,以确保委托的安全性,并提供冲突警告。通过对权限请求进行分析和比较,可以检测潜在的利益冲突,并及时发出警告,避免权限被滥用或冲突引起的安全问题。
c)针对以往权限委托仅限于单次授予权限和无法对授予权限的主体进行管理的问题,本文设计了能够满足一次多个权限委托的算法,并支持自动和手动撤销已授予的权限。这使得模型能够提供更细粒度、更安全的权限管理,保障汽车产业链上用户的信息共享。通过自动化的权限收回机制,可以防止被授权对象滥用权限或进行恶意操作,确保权限的有效管理和使用。同时,通过安全分析对模型的性能进行验证,可保证其在实际应用中的安全性。
1 基于区块链的跨域权限委托模型
1.1 模型构建
面对以整车平台为核心,将其他企业和分支机构分成上下游平台的汽车产业链,在汽车产业链多域环境下的访问控制面临以下安全问题:
a)跨域访问控制。不同域之间可能存在跨域访问的需求,如整车平台、合作伙伴或其他分支机构需要访问核心系统或敏感数据,这涉及到如何确保跨域访问的安全性,以防止未经授权的访问和数据泄露。
b)权限管理和策略一致性。在多域环境中,管理权限和策略的一致性是关键问题,不同域可能具有不同的访问控制策略、角色定义和权限规则。
c)数据隔离和隐私保护。域之间的数据共享和访问需要确保数据的隔离,需要采用适当的保护措施,以确保个人和敏感信息的保密性和合规性。
为了解决汽车产业链在多域环境下面临跨域访问的安全性和权限委托的可靠性和精确性问题,避免汽车产业链高投入、低效益的死循环情景,实现多方资源平台上下协同,提升产业竞争力,本文提出一种基于区块链的跨域权限委托模型(blockchain-based cross-domain permission delegation mode,BCPDM)。BCPDM部署在多域信息平台的网络结构如图1所示,旨在实现在不同域之间安全、可控的委托和管理访问权限,以实现资源共享和协同工作。在该模型中,合法节点只有在特定的地点、时间等一系列因素通过的情况下,通过跨域节点结合区块链才能对其他域的资源信息进行授权访问,以保证数据传递的安全性,实现链上智能合约权限传递。BCPDM的工作流程如图2所示,主要包括域间访问模块(S流程)和域间授权模块(R流程),其中域间访问模块将ABAC模型与区块链结合,将ABAC模型中的各个功能执行点以智能合约的形式来实现,确保访问控制过程中的去中心化和透明性;域间授权模块中被委托方需要经过权限过滤和权限授予设计,只有在权限授予不冲突的情况下方可实现多域间的权限委托,很好地确保权限委托的可靠性和安全性,实现跨域资源的协同利用,提升整个产业链的效益和竞争力。
1.2 问题定义
针对不同域间的交互,使用Duser和Dobject分别表示源域和目标域,U表示不同域上的用户集合,用户U在源域上对目标源的访问请求将根据策略集合policy作为判断依据,对每次访问请求进行评估,只有当主体属性(S)、环境属性(E)、时间属性(T)、等级属性(L)为合法属性时,才能使合法的主体授权访问。BCPDM涉及的各种符号定义如表1、2所示。
1.3 跨域访问
域间访问模块包括PEP合约、属性权威(AA)、PDP合约、PAP合约。当某一域上的用户节点发起访问请求时,跨域节点会保存用户的访问请求,并为PEP合约提供原始访问请求(NAR)。PEP合约会将请求发送给属性权威(AA),以获取相关属性信息。然后,PEP合约将基于属性的访问请求(AAR)发送给PDP合约,并请求PAP合约提供策略信息。最终,PDP合约根据策略决定是否授权,并将结果返回。
在跨域访问中,保障属性权威的可靠性是一个重要问题,本文利用区块链提供的去中心化和不可窜改的特性,来记录和验证属性数据的变更和访问控制决策,通过将属性数据存储在区块链上,并利用智能合约来执行访问控制规则,有效地避免了第三方机构介入可能导致的属性数据泄露和窜改问题,从而在一定程度上增加了属性权威的可靠性。
定义1 基于属性的访问请求(attribute-based access request,AAR)是由主体属性(S)、环境属性(E)、时间属性(T)、等级属性(L)构成的四元组,即 AAR=〈S,E,T,L〉。其中,环境属性E是由物理地址(physical location,PL)和网络环境(net location,NL)构成的二元组,即E=〈PL,NL〉。时间属性T是对访问流程的时间约束集合。等级属性L实现主体和客体之间的多级安全联系,它由主体访问等级(Luser)和客体最低访问等级(Lobject)构成的二元组,即L=〈Luser,Lobject〉。
AAR提供了一种灵活的访问请求表示方式,考虑了主体的属性、环境的属性、时间约束以及等级联系。主体属性描述了访问请求的源头,环境属性描述了访问请求发起的物理和网络环境,时间属性约束了访问请求的时间范围,而等级属性则实现了主体和客体之间的安全联系和权限控制。通过对这些属性的综合判断,可以确定是否授权访问请求。需要满足以下条件才能进行合法授权访问:主体必须属于合法的主体集合Slegal,访问请求必须在合法规定的时间区域内发起,访问请求的物理和网络地址必须在合法的环境范围内,同时主体访问用户的等级Luser 必须大于等于被访问资源的访问等级Lobject。只有当这些条件都满足时,才能进行合法授权访问,并将访问等级设置为object,这样的定义和约束机制可以有效控制访问权限,确保只有符合条件的主体才能获得授权访问。
下面将以汽车产业链上三包期间出现汽车损坏问题为切入,在客户向服务平台提出修理赔偿业务,并希望在责任评定完成后,请示服务平台能够跨域请求供应平台提供相应的汽车零件为实例,在确保两方平台间安全访问和避免客户信息泄露的前提下,提出了一种基于区块链的域间访问方案,如图3所示。该方案将策略管理点、策略决策点和策略执行点以智能合约的形式表现,如算法1~3所示。这些智能合约部署在区块链上,通过域上用户的身份信息绑定的数据库地址在链下的对应数据库中获取数据信息,完成授权服务的域间访问。
算法1 策略管理点合约算法
输入:policy[]。
输出:new_policy_data_set。
a)init policies[name, subject, resource, action, environment, decision] and init new_policy[];//初始化策略信息
b)create new_policy[]:for new_policy[]=policies[name, subject, resource, action, environment, decision], then new_policy.append(policies);//创建策略列表
c)delete policy[name]:for policy in policies:
if policy.name==name then policy.remove(policies);
//删除指定名称的策略
d)else return false;
e)modify_policy(name,new_decision):for policy in policies:
if policy.name=name then policy.deciosn=new_decision;
//修改指定名称的策略决策
f)else return false;
算法2 策略决策点合约算法
输入:policy,DSPuseri.ARR。
输出:boolean。
a)evaluate[subject,resourse,action,environment];
//从PAP_SC获取策略信息进行评估检查
b)for policy in policies: if match(subject && resource && action && environment)∈policy_data_set
then return policy.decision;
//遍历策略进行匹配
c)if(Suseri∈Slegal&&〈PLuseri,NLuseri〉∈Elegal)&& LSPuseri≥LPPobject&& TSPuseri∈[TPPstart,TPPend]) then
result←(policy_decision(DSPuseri.AAR,policy_data_set));
//根据主体的基于属性的访问请求和对应策略集进行决策评估
d)if(result==deny) then
e) send result to PEP_SC;
f) return false;
g)else if(result==permit);
h) send result to PEP_SC; return true;
算法3 策略执行点合约算法
输入:DSPuseri ,NAR,result。
输出:access_license。
a)send NAR from DSPuseri to cross_node;
//将用户的原始访问请求发送至跨域节点
b)check if NAR.origin in access_allow_list(cross_node);
//判断NAR上的原始请求来源origin是否在可允许访问列表中
c) if true then send NAR to AA return AAR;
d)if get PDP_SC.result=='permit' &&
determine if DSPuseri.ARR is viable in PolicyData&&
decision(DSPuseri.ARR+Useri.sid == permit);
e) do execute_action(action,source);
f)else return deny_access();
1.4 域间授权
域间授权模块主要包括权限过滤合约和权限授予合约,如图4所示。当B域作为委托方的跨域节点需要为A域的用户提供权限委托时,首先会经过权限过滤合约进行判断,确定A域的用户节点是否具备合法访问的条件,包括判断A域用户是否有权使用授予的权限以及是否会造成授权冲突的情况。如果不符合条件,则直接拒绝授权。若通过初步过滤,请求将进入权限授予合约,根据委托方的ID生成的寻址地址来查找相应的权限数据库,并将获取的权限作为结果返回给A域用户节点,完成权限委托的过程。
当服务平台经过域间访问模块获得供应平台的访问许可后,可以对供应平台上的资源进行最低级别的读取操作。然而,对于更复杂的车辆报修问题(例如车辆发生重大事故),服务平台和供应平台需要共同参与责任评定,供应平台需要向服务平台请求更复杂的操作来协助完成责任评定。简单的读取操作已无法满足两个平台之间的信息交互需求,因此某个平台需要通过域间授权模块,授予其他平台不同的操作权限。
以服务平台和供应平台之间的域间授权为例,实现用户方、服务方和供应方之间的三方责任评定。当服务平台的用户节点通过访问控制流程获得供应平台上节点的授权认可时,供应平台可以通过权限授予流程将自己的一个或多个权限授予被委托节点。这个过程首先经过权限过滤过程,如算法3所示,对双方节点之间的权限和利益冲突进行筛选;然后根据策略库的要求,将符合条件的权限集合整合返回给被委托方,如算法4所示;最后,根据供应平台协作授予的权限,完成两个平台的责任评定。
通过域间授权模块的运作,服务平台和供应平台可以有效协作,在需要更复杂的操作和信息交互时进行授权和权限管理。这种方式确保了平台间的合作和协同,以完成车辆报修问题的责任评定。
定义2 过滤约束机制(filter constraint mechanism,filter〈C〉)是在域间权限传递之前进行的初步过滤操作。其中,C是各种限制条件的集合,是由授权时间(data)、允许的授权传递次数(times)、权限传递路径(path)和允许信任值(L_truth)构成的四元组,即C=〈data,times,path,L_truth〉。其中,L_truth是独立于前三个条件的过滤判断指标,它由主体业务类型(Se)和主体业务访问次数(At)共同决定,满足L_truth=Se()⊕(Lag(n-1)×At()+Lag(n-2)×At()),其中Lag是时间衰减因子,随着时间的推移而衰减。
过滤约束机制通过限制条件集合C对权限传递进行过滤和约束。这些限制条件包括授权时间、允许的授权传递次数、权限传递路径和允许信任值。其中,授权时间指明了授权的有效时间范围,允许的授权传递次数表示权限可以被传递的次数限制,权限传递路径定义了授权传递的路径限制,而允许信任值是一个过滤判断指标。
过滤约束机制在域间授权和权限管理中起着重要作用,能够提供额外的保障和约束,以确保权限传递的安全性和有效性。
算法4 权限过滤合约算法(动态过滤)
输入:DfromPPuseri,DtoSPobjectj,CSPobjectj ,CPPuseri。
输出:boolean。
a)if(do PEP_SC.execute_action()&&(Useri∪Objectj∈Matrixij)&&(DfromPPuserihave rights to use DtoSPobjectj′permissions) then
/*判断被委托方是否能合法访问委托方,并判断被委托域上的接受用户节点是否属于访问控制矩阵且有权使用委托节点的权限*/
b) if(datauser<tertimeobject)&&(times≥1) && no path conflict) return true;
c) else evalute→value(Se()+At()); return L_trust;
//计算主体业务类型以及业务访问次数返回信任评估等级
d) while L_trust>=minimun_trust; return true;;
/*当主体的信任等级达到最小评估等级返回允许授权,避免因为固定指标而被初步过滤掉*/
e) emit result==permit to PermissionDelegated_SC;
f)else return false;
g)emit result==deny to PermissionDelegated_SC;
算法5 权限委托合约算法
输入:result, useri.sid。
输出:permission_set。
a)if(result==permit) then
b) do decryption(useri.sid) → PermissionData;
//对用户节点i身份进行解密操作
c)if(decision(useri.sid,PermissionData))==permit then
d) permission_set ← permission_decsion(permission_set.buffer);
//将筛选合法的权限与主体权限赋值给权限集的临时区
e) return permission_set to DfromPPuseri;
2 跨多域的权限授予和权限收回
为了避免某个域过高的权限分配导致信息垄断,每个域上的业务分配需要满足职责分离原则。在复杂的汽车多域贸易环境中,例如当消费者需要报修或更换汽车损坏零件时,首先他们会跨域请求服务平台提供售后服务。服务平台需要向供应平台请求协助完成责任评定。如果责任确认归属于汽车厂商,服务平台就需要向物流平台请求配送新的更换零件。因此,本章设计了一种汽车多域委托机制(AMDM),该机制部署在跨域节点上。当允许传递次数的参数times大于1时,该机制会被调用,以确保跨域节点在未作恶的情况下,根据上一个跨域节点返回的数据验证上一个跨域节点的路径是否合法且数据是否完整安全。如果发现路径被修改,传递过程会被直接断开,有效避免了恶意节点对授权传递过程的干扰。
汽车多域贸易问题模型如图5所示,汽车产业链中的一个平台可能会为另一个平台提供业务需求,同时也会向其他平台提供业务需求。例如,一个供应平台可以同时为多个独立的物流平台提供零件配送请求。针对这种需要委托多个平台的跨域请求,设置date、times、depth、path参数来严格控制委托的路径,以避免出现委托路径中的恶意节点拦截导致信息泄露问题。对于授予出去的权限,可以进行强制的主动回收和被动回收。
通过汽车多域委托机制(AMDM),可以在汽车多域贸易环境中实现安全可靠的跨域请求和委托,保护数据的完整性和隐私,并确保权限的有效管理和回收。AMDM算法如算法6所示。
算法6 automotive multi-domain delegation mechanism
a)for i=1 to N do
b) if(from_userx to DLPorderx is a legal path)&&(data<tertime∩times=N-1) then
c) for i=1 to N do;
d) send Pfromx0 to nextDorderx ;times--;
e) return true;
f) else return false;
g) if(date==tertime||times==0)then
h) revokePermission(DLPorderx to userx);
//到期限时间或可允许传递次数等于0,回收从委托域发出的权限集
i) when DLPorderxneed active revoke permissions then
j) set tertime==CurrentTime && Permission_Set.buffer/PermissionData.Plegal then
k) re-authenticate(userx to DLPorderx);
//通过重认证核实委任双方之间断开授权链接
l) if(userx can’t access to DLPOrderx) then
m) return ture;
n) else return false;
3 安全与实验分析
针对跨域权限委托机制的安全性,本章从简单安全问题和简单可用性问题两个方面进行分析,证明了该模型方案的安全性。简单安全问题的思想是确认是否存在一种情况,在某种状态下,未授权的用户可以访问特定的资源。如果不存在这种情况,则说明该方案是安全的,没有权限泄露的问题;如果存在这种情况,则意味着系统不安全。简单可用性问题的思想是确认授权用户是否可以在可达状态下对指定资源进行访问。如果授权用户可以在可达状态下访问指定资源,则说明方案是可用的,能够确保正确的权限授予;否则,方案是不可用的。
为了更好地分析跨域权限委托机制的安全性,本文采用了状态机模型来进行分析[23]。状态机模型是一个抽象的数学模型,用于研究系统中的各个状态和过程,并通过描述系统中的规则来证明其安全性。根据状态机模型的定义,可以分为状态变量和状态转移规则,其中状态变量表示系统的当前状态,而状态转移规则描述了每个状态之间的变化过程。其中安全模型各实体间的关系如表3所示,通过关系集合可以将各个实体集合连接,实现实体中元素之间的操作。
建立的安全模型使用状态机来证明其安全性,具体理论如下:a)首先证明方案中每个状态之间的状态转移规则都是合理可行的;b)接下来证明方案的初始状态是安全的。当步骤a)和b)得证时,就可以证明整个方案无论处于哪个状态,均是合理可行的。
通过以上分析和证明,可以确保跨域权限委托机制在安全性方面是可靠的,能够有效防止未授权用户访问资源,并确保授权用户在可达状态下正确访问指定资源。
3.1 状态机模型的定义
定义3 基于跨域权限委托机制的状态机系统(state machine system,SMS)被定义为一个四元组SMS=(StateSet,ss0,Inp,Π)。其中:StateSet是状态机模型的有限集合;ss0是模型的初始状态,ss0∈StateSet;Inp是输入事件集合;Π:ss×inp→ss′(ss&ss′∈StateSet,inp∈Inp)为系统状态转移规则,表示在一个输入事件驱动下方案从一个状态ss过渡到另一个状态ss′。StateSet和Inp包含的集合如表4所示,SMS包含的状态传递规则如表5所示。
定义4 安全状态不定式。如果SMS在状态ss下是安全的,将其标记为safe(ss),access(u)→o代表某个用户u能够访问客体o,当且仅当ss满足
(u,o)((u,o)ss∧p)→access(u)=o(1)
式(1)表示了简单安全问题:不存在任何一个非授权用户能访问数据。(u,o)((u,o)∈ss∧p(u)∈P)→access(u)=o(2)
式(2)表示了简单可用性问题:对任意授权用户都可以根据指定权限访问相应数据。
定义5 状态转移规则的安全性。当且仅当任何状态的状态转移规则π∈Π满足式(3)时,表明状态转移规则转换之间是安全的。
(π)(inp)(ss)(π∈Π∧inp∈Inp∧ss∈
StateSet∧Π:ss×inp→ss′∧safe (ss))→(safe(ss′))(3)
定义6 系统安全表达。SMS是安全的,当且仅当SMS在初始状态ss0中是安全的,并且任何状态转移规则π是保持合理可行的。
3.2 模型安全性证明
定理1 状态转移规则Π是安全保持、合理可行的。
证明 a)分别展开定义4中的表达式,对于基于区块链的跨域权限委托机制,有以下三种情况用户u将不被授权:
(a)用户u没有认证成功,即uU。
(b)用户属性匹配失败,即(A,att(u.s,u.e,u.t,u.l))UA。
(c)客体权限匹配失败,即(a,p(o.s,o.e,o.t,o.l))OP。
对式(1)进行展开:
(u,o)((u,o)∈ss∧
((uU)∨(A,att(u.s,u.e,u.t,u.l))OP))→access(u)(4)
同样地,对于用户u能获得授权的也是三种情形,将式(2)进行展开:
(u,o)((u,o)∈ss∧((uU)∨(A,att(u.s,u.e,u.t,u.l))∈
UA∧(a,p(o.s,o.emo.t,o.l))∈OP))→access(u)=o(5)
b)假设SMS的当前状态是ss,且ss状态是安全的,根据定义4,当SMS的状态在输入一个事件后可以安全地到另一个状态,则说明这个状态转移规则是合理可行的。
由π0可知是对设定的用户集进行增添用户操作,即U′=U∪(u)。任选一个uU,可得
uUU′=U∪(u)u∈U′∧U∈U′
(u,o)((u,o)∈ss′∧((u∈U′)))→access(u)=o(6)
根据式(4),当uU与属性匹配和客体权限匹配无关时,π0满足式(4),对于用户u是设立好的用户的情况,显然在π0状态转移规则中不受影响,所以可以看出π0状态是安全的。针对π1和π2状态转移规则亦是对用户集进行相应修改删除状态转换,显然可以证明π1和π2状态是安全的。
由π3可知是对建立的用户分配属性操作,即UA′=UA∪{(u,att)}。任选一对(u,att)UA,可得
(u,att)∈UAu∈U∧att∈AUA′=UA\{(u,att)}(u,att(u.s,u.e,u.t,u.l))UA
u∈U∧u.attA(u,att(u.s,u.e,u.l))UA
(u,0)((u,0)∈ss′∧((u,att(u.s,u.e,u.t,u.l)′)∈UA))→access(u)=o(7)
根据式(4),当(u,att)UA与合法用户接入以及客体权限匹配无关时,π3满足式(4),对于(u,att)∈UA情形,在π3状态转移规则中不受影响,可以得出π3状态是安全的。
由π4可知是对已有的用户移除属性操作,即UA′=UA\{(u,att)}。任选一对(u,att)∈UA,可得
(u,att)UAu∈U∧attA
UA′=UA∪{(u,att)}(u,att(u.s,u.e,u.t,u.l))∈UA
u∈U∧u.att∈A(A,att(u.s,u.e,u.l))∈UA
(u,o)((u,o)∈ss′∧((A,att(u.s,u.e,u.t,u.l)′)∈UA))→
access(u)=o(8)
根据式(3),(u,att(u.s,u.e,u.t,u.l)UA)和(u,att)∈UA有关,移除无关项(uU)和(a,p(o.s,o.e,o.t,o.l))∈OP,π4满足式(3),对于(u,att)UA情形,在π4状态转移规则中不受影响,可以得出π4状态是安全的。
由π5可知是对客体分配权限操作,即OP′=OP∪{(o,p)}。任选一对(a,p)OP,可得
(a,p)OPaA∧pP
OP′=OP∪{(a,p)}A′=A∪a∧P′=P∪p
p′∈P∧d∈A(d,p(o.s,o.e,o.t,o.l))∈OP
(u,o)((u,o)∈ss′∧((d,p(o.s,o.e,o.t,o.l)′)∈OP))→
access(u)=o(9)
根据式(4),当(a,p(o.s,o.e,o.t,o.l)′)∈OP和(a,p)OP有关,且与合法用户接入以及客体权限分配结果无关时,移除无关项,π5满足式(4),对于(a,p)∈OP情形,在π5状态转移规则中不受影响,可以得出π5状态是安全的。
由π6可知是对客体权限收回操作,即OP′=OP\{(o,p)}。任选一对(a,p)∈OP,可得
(a,p)∈OPa∈A∧p∈P
OP′=OP\{(o,p)} A′=A\a∨P′=P\p
p′P∨a′A(a′,p(o.s,o.e,o.t,o.l)′)OP
(u,o)((u,o)∈ss′∧((a′,p(o.s,o.e,o.t,o.l)′)OP))→
access(u)=o(10)
根据式(3),只有(a′,p(o.s,o.e,o.t,o.l)′)∈OP和(a,p)∈OP有关,移除无关项(u∈U)和(A,att(u.s,u.e,u.t,u.l))UA,π6满足式(3),对于(a,p)OP情形,在π6状态转移规则中不受影响,可以得出π6状态是安全的。
综上所述,状态转移规则π0~π6都是合理可行的,这表明该模型能够安全可信地处理用户的访问请求,可以看出跨域权限委托系统可以为用户和客体提供一个安全和可信的操作环境,同时根据π0是保持安全的,能够证明SMS的初始状态ss0也是安全的。
定理2 BCPDM模型方案是安全可行的。
证明 根据定义5和定理1,可知SMS的状态转移规则Π是合理可行的且初始状态ss0也是安全的,因此根据上述分析可知,基于区块链的跨域访问委托模型方案是安全可行的。
3.3 实验环境设置
本文实验的操作运行选择在英特尔11th Gen Intel CoreTM i7-11800H@ 2.30 Hz八核处理器、16 GB内存和64位Windows 10操作系统的PC机上进行,使用Jet-Brains PyCharm 2019.1.1 x64作为集成开发环境,基于Hyperledger Fabric区块链平台实现域间访问控制机制,进行性能测试。
在Hyperledger Fabric中,共识机制的选择是灵活的,允许参与者根据业务需求选择合适的共识算法。本文针对汽车产业链多域环境下的网络规模、性能要求、安全性需求,选择了Kafka共识算法,使用分布式日志来实现共识过程,通过将交易发送到Kafka通道,对多位订阅者进行排序和复制,确保了数据的一致性和可靠性,防止窜改和错误的发生,这种机制实现了高吞吐量和容错性,能够满足汽车产业链的需求。
3.4 实验及分析
本文使用以下指标评估实验中的模型算法性能:
a)判决时间(judgment elapsed time)。访问主体的源节点生成并成功投递到客体目标节点,访问客体处理不同数量级访问请求所需的耗时。
b)授权总耗时(total authorization time)。被委托方的源节点生成并成功投递到委托方目标节点,委托方的目标节点处理完不同规模属性集并完成权限授予的总耗时。
本文共设定了两组实验。为了防止原始请求数据之间的差异会对结果产生影响,本文对数据进行了归一化处理。第一组实验旨在检测访问请求处理算法的有效性,验证不同类型的访问请求对访问策略(混合型数据集)的及时处理能力,通过比较本文模型与FFADC[6]、BCAI[9]以及UNFTO[22]模型在混合型数据上的处理性能,分析四者之间的差异。第二组实验旨在评估BCPDM在授权耗时处理性能方面的表现。通过设置不同规模的属性集,验证在高复杂度数据请求下,BCPDM是否能够成功授权。为了验证BCPDM的高效可用性,本轮实验进行了多次,实验结果如图6、7所示。根据本轮实验结果显示,BCPDM在复杂的多域访问请求环境下表现出了较好的高效处理访问请求的能力。
选择多个具有代表性的模型,并从是否使用区块链技术、支持动态访问、细粒度化、支持多平台、授权灵活性、管理难度和数据安全性七个维度进行比较。具体的对比细节如表6所示。通过比较可以看出,本文模型在汽车产业链这种复杂环境中具有明显的优势,能够很好地保证用户的安全访问和各平台之间的数据信息交互,并支持汽车产业链基本的跨域授权功能。
4 结束语
本文提出了一种基于区块链的跨域权限委托模型(BCPDM),旨在解决复杂的汽车产业链多平台网络环境下无法灵活高效、动态实施访问控制的问题。该模型保留了传统属性基础访问控制(ABAC)的动态特性,并引入了权限委托机制,实现了域间授权的访问控制。此外,针对多平台之间的特殊情景,还引入了权限收回机制,实现了更主动和细粒度的权限授予过程,并确保了一个可信可靠的多域访问环境。BCPDM设计了六个智能合约算法来实现核心功能,实现了一个去中心化、透明的访问控制过程。
为了防止恶意节点对智能合约进行攻击,本文在合约算法设计上对合约的权限进行了精准限制。设计的智能合约只拥有必要的权限,并且只允许其对特定的资源进行访问,从而避免了合约被滥用的风险。对于跨域节点的恶意行为,本文模型采用去中心化的结构。在确保节点身份的真实性和合法性的前提下,任何一个恶意节点都不能对整个网络产生破坏性影响。此外,本文模型还验证了跨域节点身份的真实性和合法性,防止未经授权的节点加入网络,进一步增强了安全性。对于链下数据,本文模型采用MySQL数据库来进行存储。对于敏感的链下数据,进行了加密处理,只有授权用户特有的安全标识(sid)才能够解密和访问数据。这种加密处理能够有效防止未授权访问和窃取敏感信息,保护了数据的安全完整性。
通过简单的安全性问题、简单的可用性问题以及链上数据安全等方面的验证,证明了本文模型的安全可用性。最后,与其他经典访问控制模型进行多维度比较,结果表明本文模型在复杂的汽车产业链场景中具有广泛的应用空间。
未来的工作可以将提出的方案扩展到更多的访问控制场景,例如基于博弈论的奖惩访问控制场景等。这将进一步提升模型的适用性和灵活性,使其适用于更广泛的应用场景。
参考文献:
[1]李斌勇, 孙林夫, 王淑营, 等. 面向汽车产业链的云服务平台信息支撑体系[J]. 计算机集成制造系统, 2015, 21(10): 2787-2797. (Li Binyong, Sun Linfu, Wang Shuying, et al. Information support system of cloud services platform for automobile industrial chain[J]. Computer Integrated Manufacturing Systems, 2015, 21(10): 2787-2797.)
[2]张春贺. 新能源汽车产业链上市公司财务竞争力评价研究[D]. 北京: 北京化工大学, 2023. (Zhang Chunhe. Research on the evaluation of the financial competitiveness of listed companies in the new energy vehicle industry chain[D]. Beijing: Beijing University of Chemical Technology, 2023.)
[3]Yuan E, Tong J. Attributed based access control(ABAC) for Web services[C]//Proc of IEEE International Conference on Web Ser-vices. Piscataway, NJ: IEEE Press, 2005: 569-577.
[4]诸晔. 用ACL实现系统的安全访问控制[J]. 计算机应用与软件, 2005, 22(3): 111-114. (Zhu Ye. Using ACL to realize the system’s safe access control[J]. Computer Applications and Software, 2005, 22(3): 111-114.)
[5]Aftab M U, Habib M A, Mehmood N, et al. Attributed role based access control model[C]//Proc of Information Assurance and Cyber Security. Piscataway, NJ: IEEE Press, 2015: 83-89.
[6]Mehraj S, Banday M T. A flexible fine grained dynamic access control approach for cloud computing[J]. Cluster Computing, 2021, 24(4): 1413-1434.
[7]Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[EB/OL]. (2009-03). https://bitcoin.org/en/bitcoin-paper.
[8]韦可欣, 李雷孝, 高昊昱, 等. 区块链访问控制技术在车联网中的应用研究综述与展望[J]. 计算机工程与应用, 2023, 59(24): 26-45. (Wei Kexin, Li Leixiao, Gao Haoyu, et al. Review and prospect of blockchain access control technology in Internet of Vehicles[J]. Computer Engineering and Applications, 2023, 59(24): 26-45.)
[9]Maesa D D F, Mori P, Ricci L. Blockchain based access control[M]//Chen L Y, Reiser H P. Distributed Applications and Intero-perable Systems. Cham: Springer, 2017: 206-220.
[10]甘臣权, 杨宏鹏, 祝清意, 等. 基于访问控制的可验证医疗区块链数据搜索机制[J]. 重庆邮电大学学报: 自然科学版, 2023, 35(5): 873-887. (Gan Chenquan, Yang Hongpeng, Zhu Qingyi, et al. A verifiable medical blockchain data search mechanism with access control[J]. Journal of Chongqing University of Posts and Telecommunications: Natural Science Edition, 2023, 35(5): 873-887.)
[11]曹萌, 余孙婕, 曾辉, 等. 基于区块链的医疗数据分级访问控制与共享系统[J]. 计算机应用, 2023, 43(5): 1518-1526. (Cao Meng, Yu Sunjie, Zeng Hui, et al. Hierarchical access control and sharing system of medical data based on blockchain[J]. Journal of Computer Applications, 2023, 43(5): 1518-1526.)
[12]包俊, 张新有, 冯力, 等. 一种基于区块链的车联网安全认证协议[J]. 计算机应用研究, 2023,40(10): 2908-2915, 2921. (Bao Jun, Zhang Xinyou, Feng Li, et al. Security authentication protocol for Internet of Vehicles based on blockchain[J]. Application Research of Computers, 2023, 40(10): 2908-2915,2921.)
[13]王利朋, 关志, 李青山, 等. 区块链数据安全服务综述[J]. 软件学报, 2023,34(1): 1-32. (Wang Lipeng, Guan Zhi, Li Qingshan, et al. Survey on blockchain-based security services[J]. Journal of Software, 2023, 34(1): 1-32.)
[14]张利华, 张赣哲, 曹宇, 等. 基于区块链的智能家居认证与访问控制方案[J]. 计算机应用研究, 2022, 39(3): 863-867,873. (Zhang Lihua, Zhang Ganzhe, Cao Yu, et al. Authentication and access control scheme for smart home based on blockchain[J]. Application Research of Computers, 2022, 39(3): 863-867,873.)
[15]叶进, 庞承杰, 李晓欢, 等. 基于区块链的供应链数据分级访问控制机制[J]. 电子科技大学学报, 2022, 51(3): 408-415. (Ye Jin, Pang Chengjie, Li Xiaohuan, et al. Blockchain-based supply chain data hierarchical access control mechanism[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(3): 408-415.)
[16]张建标, 张兆乾, 徐万山, 等. 一种基于区块链的域间访问控制模型[J]. 软件学报, 2021, 32(5): 1547-1564. (Zhang Jianbiao, Zhang Zhaoqian, Xu Wanshan, et al. Inter-domain access control model based on blockchain[J]. Journal of Software, 2021, 32(5): 1547-1564.)
[17]Ali G, Ahmad N, Cao Y, et al. BCON: blockchain based access control across multiple conflict of interest domains[J]. Journal of Network and Computer Applications, 2019, 147: 102440.
[18]Ali G, Ahmad N, Cao Yue, et al. Blockchain based permission delegation and access control in Internet of Things[J]. Computers & Security, 2019, 86: 318-314.
[19]周致成, 李立新, 李作辉. 基于区块链技术的高效跨域认证方案[J]. 计算机应用, 2018, 38(2): 316-320,326. (Zhou Zhicheng, Li Lixin, Li Zuohui. Efficient cross-domain authentication scheme based on blockchain technology[J]. Journal of Computer Applications, 2018, 38(2): 316-320,326.)
[20]赵雪岩. 基于汽车生产管控系统的授权委托模型的研究与应用[D]. 吉林: 吉林大学, 2017. (Zhao Xueyan. Research and application of authorization delegation model based on automobile production management and control system[D]. Jilin: Jilin University, 2017.)
[21]王秀利, 江晓舟, 李洋. 应用区块链的数据访问控制与共享模型[J]. 软件学报, 2019, 30(6): 1661-1669. (Wang Xiuli, Jiang Xiaozhou, Li Yang. Model for data access control and sharing based on blockchain[J]. Journal of Software, 2019, 30(6): 1661-1669.)
[22]史锦山. 物联网多域合作下基于区块链的访问控制技术研究 [D]. 呼和浩特: 内蒙古大学, 2022. (Shi Jinshan. Blockchain-based access control technology for IoT multi-domain cooperation[D]. Hohhot: Inner Mongolia University, 2022.)
[23]熊厚仁, 陈性元, 杜学绘, 等. 基于角色的访问控制模型安全性分析研究综述[J]. 计算机应用研究, 2015, 32(11): 3201-3208. (Xiong Houren, Chen Xingyuan, Du Xuehui, et al. Survey of security analysis for role-based access control[J]. Application Research of Computers, 2015, 32(11): 3201-3208.)