Yuzheng Yang,Zhe Tu,Ying Liu and Huachun Zhou
School of Electronic and Information Engineering,Beijing Jiaotong University,Beijing,100044,China
ABSTRACT Currently,data security and privacy protection are becoming more and more important.Access control is a method of authorization for users through predefined policies.Token-based access control(TBAC)enhances the manageability of authorization through the token.However,traditional access control policies lack the ability to dynamically adjust based on user access behavior.Incorporating user reputation evaluation into access control can provide valuable feedback to enhance system security and flexibility.As a result,this paper proposes a blockchain-empowered TBAC system and introduces a user reputation evaluation module to provide feedback on access control.The TBAC system divides the access control process into three stages: policy upload,token request,and resource request.The user reputation evaluation module evaluates the user’s token reputation and resource reputation for the token request and resource request stages of the TBAC system.The proposed system is implemented using the Hyperledger Fabric blockchain.The TBAC system is evaluated to prove that it has high processing performance.The user reputation evaluation model is proved to be more conservative and sensitive by comparative study with other methods.In addition,the security analysis shows that the TBAC system has a certain anti-attack ability and can maintain stable operation under the Distributed Denial of Service(DDoS)attack environment.
KEYWORDS Access control;reputation evaluation;feedback;blockchain
With the development of Internet of Things(IoT)and mobile communication technologies,the Internet of Everything has accelerated the collection,analysis,and sharing of information on the Internet[1].However,heterogeneous access needs and growing information also create serious security issues such as data leakage,information tampering,excessive access,and illegal access[2].Therefore,it is crucial to design an access control system that can effectively protect resources.
Access control is a method of protecting resources,which usually occurs after identity authentication and plays a vital role in the protection of digital information and the maintenance of resource permissions[3].Traditional access control is unable to provide manageable and trusted mechanisms to accommodate the heterogeneous data characteristics and short-term authorization requirements of existing network communications[4].Moreover,the existing centralized implementation architecture cannot meet the requirements of decentralized and transparent information management[5].Therefore,how to build a distributed and trusted access control system has become a hot research topic.
Blockchain is defined as a distributed data structure that enables resource sharing among network nodes without relying on a central repository.Smart contracts in the blockchain can also automatically process transactions strictly according to the rules.Currently,research combining blockchain with access control systems has covered a wide range of fields such as finance [6],healthcare [7],digital information[8]and IoT,contributing greatly to the improvement of invariance,security,and accountability of access control.
In communication environments with large amounts of access,the user’s reputation is also a key concern[9].Traditional access control policy is subjective and lacks the ability to dynamically adjust based on user access behavior.Incorporating user reputation evaluation into access control can provide valuable feedback to enhance system security and flexibility[10].However,the existing user reputation evaluation model is only based on the access control authorization process and lacks an evaluation mechanism that can evaluate the authorization and verification process.
Access control is a method of ensuring that resources can only be accessed by authorized users in an authorized manner.The traditional access control methods are:discretionary access control(DAC)[11],mandatory access control (MAC) [12],role-based access control (RBAC) [13],attribute-based access control(ABAC)[14],etc.However,with the growth of resources and users,traditional access control methods cannot provide manageable mechanisms to support distributed systems with many interacting services.To solve this problem,Gusmeroli et al.[15]proposed the capability-based access control(CapBAC),which maps permission to passable capability tokens.The model can control the user’s access to resources by constraining the token.Gan et al.[16]proposed the token-based access control (TBAC) model for a more standardized description of the use of tokens in access control systems.However,existing access control methods still face security problems such as single point of failure due to centralized architecture.Although a distributed solution based on lightweight IoT devices is proposed in CapBAC,it still fails to cope with malicious traffic attacks.
The distributed,decentralized,and tamper-proof characteristics of blockchain make it a natural security advantage in the field of access control [17].Many scholars at home and abroad began to try to combine blockchain with traditional access control[18].Sun et al.[19]proposed a blockchainbased cross-domain RBAC model using blockchain to store the mapping rules of subjects and roles and access control policies.Rouhani et al.[20]proposed a blockchain-based distributed ABAC model,which consists of an off-chain system and blockchain.The off-chain system relies on the blockchain to store its access control attributes and query access rights.Liu et al.[21]proposed a smart contractbased access control model.This model uses three smart contracts to manage the subject,policy,and authorization information respectively.Xu et al.[22]proposed a blockchain-based decentralized federated access control system BlendCAC,which uses an identity-based entitlement token management policy to register,propagate,and revoke access authorizations using smart contracts.Chen et al.[23]proposed a capability-&blockchain-based fine-grained and flexible access control model(CB2FAC),which enables granting,revoking,authenticating,and fine-grained control of user privileges through capability tokens.
In order to protect the resources in the system,user reputation evaluation needs to be used to evaluate the access behavior of users.Ghafoorian et al.[24] proposed a reputation method based on the Bayesian reputation principle and combined it with RBAC to evaluate the trust of resource owners for roles and roles for users.Yang et al.[25] based on ABAC,used blockchain to store user behavior data.The sigmoid function and time weighting method are used to evaluate user reputation.Gwak et al.[26]proposed TARAS for the RBAC model to count the positive and negative behaviors of users and to quickly establish trust relationships between users and resources.Zhao et al.[27]proposed an attribute-based user reputation evaluation model,in which each attribute has a trust value,and the weighted average of all attributes is the total user reputation.Putra et al.[28]designed a trust-aware access control model TAC-IoT.The model evaluates user reputation based on the Gompertz function and uses an aging factor to assign different weights to access times.The paper [29] extended [28] to include the evaluations of other resources with which the user has a transaction history as a reference for reputation evaluation.Dubey et al.[30] proposed a credit component module that is integrated with ABAC and is used in cloud environments.It can be seen that most reputation models are single reputation evaluations for RBAC and ABAC models,and lack a reputation evaluation mechanism capable of evaluating the access control behavior of the user’s authorization and verification process.
Access control systems are essential for securing data and preventing unauthorized access.However,current systems have issues such as coarse-grained,poor privilege management,and centralized architecture.To solve these issues,we need standardized rules for precise and flexible privilege management,as well as implementing blockchain technology to enhance security.This can involve distributed ledgers and smart contracts to securely enforce access control policies.By doing so,we can achieve a more secure system that protects sensitive data and resources,ensuring only authorized users can access them and enhancing overall security.
Introducing the user reputation evaluation mechanism can improve the security of the access control system.However,it is still challenging to effectively combine both of them.Firstly,a reputation evaluation model needs to be designed to quantify the user’s reputation level by considering the user’s historical access request behavior.Then,the reputation evaluation model should have the ability to dynamically control access privileges to provide a new basis for access control.In addition,it is also necessary to design a reasonable feedback mechanism that can limit the abnormal requests of users in the authorization and verification process promptly according to the characteristics of the access control process.
Therefore,this paper aims to solve the problems of coarse-grained,poor manageability,and poor security in the existing access control.A standardized access control interaction method is developed for users and resources,and blockchain is used for distributed implementation of the system.And design a user reputation feedback mechanism that can guide access control in the authorization and verification process to restrict abnormal user behavior.The system in this paper can prevent unauthorized access and potential security threats more effectively.It can solve several current technical challenges such as data security,fine-grained access control,privilege management and reclamation,and security auditing,and can better protect data security and establish a trustworthy interaction environment between users and resources.
The main contributions of this paper are as follows:
(1)We propose a TBAC model.This model takes the token as the credential for accessing resources and refines the traditional single policy decision to a combination of policy decision and token decision,which improves the manageability of access control.The model realizes fine-grained access control by taking the resource operation privilege as the smallest unit.
(2)We propose a user reputation evaluation module.The model calculates the user’s token reputation and resource reputation for the TBAC process,evaluates user authorization and verification,respectively,and provides feedback on access control.
(3)We use the Hyperledger fabric blockchain for the distributed implementation of the TBAC system.We performed evaluation analysis and comparative study of the TBAC system.The results show that the TBAC system can respond to access requests correctly and efficiently.The user reputation evaluation model accurately evaluates user reputation and provides feedback,demonstrating higher conservatism and sensitivity compared to previous studies[26,28,29].We also performed the security analysis and verified the performance of the system in the Distributed Denial of Service(DDoS)attack environment.
The remainder of this paper is organized as follows.In Section 3,we present background information on access control and blockchain.In Section 4,the system framework and main modules are described.In Section 5,we describe the process of TBAC and user reputation evaluation and introduce the update and feedback mechanism of user reputation.In Section 6,we evaluate the TBAC system and the reputation model.Performed security analysis and verified the performance of the system in the DDoS attack environment.In Section 7,we conclude this paper and introduce future work.
Access control is a technique and methodology used to manage and control access to resources in a computer system,network,or physical location[31].It determines who can access specific resources,under what conditions,and in what manner.The primary objective of an access control system is to protect the security and confidentiality of resources,preventing unauthorized access,misuse,and data leaks.By implementing features such as authentication,authorization management,and auditing,access control systems verify the identity of users or entities and determine their access privileges.This ensures that only authorized individuals or entities are granted appropriate privileges to access restricted resources,thereby maintaining the overall security and integrity of the system.In this paper,the TBAC system uses a token as a permission credential to the smallest unit of resource operation authority,which can realize manageable fine-grained access control.
Blockchain is regarded as an immutable distributed database [32].It integrates networks,cryptography,game theory,and smart contracts to facilitate the entire process from bookkeeping to distribution,verification,and preservation.Blockchain is classified into three types: public chain,private chain,and consortium chain.The public chain is a completely open blockchain network,where the data of the public chain is transparent and public so that anyone can view and verify it.The private chain is a restricted blockchain network where only specific organizations or entities are authorized to join.The consortium chain is a type of blockchain network that is jointly managed and verified by multiple organizations or entities.The participants jointly decide and manage the network.In order to ensure higher security and flexibility in the network environment,this paper adopts a representative Hyperledger Fabric in the consortium chain for the distributed implementation of the system.
In this section,we first introduce the system framework,and then introduce the TBAC module,the user reputation evaluation module,and the blockchain module,respectively.
As shown in Fig.1,the TBAC system consists of three parts: the TBAC module,the user reputation evaluation module,and the blockchain module.
Figure 1:TBAC system framework
The TBAC module is the main module of the system.The module receives and processes access control requests from users and controls their access behavior.The TBAC module divides the access control process into three stages:policy upload,token request,and resource request.
The user reputation evaluation module provides reputation evaluation for the access control module.It evaluates and updates the reputation based on the user’s access control results.This module provides user reputation for the access control decision process and provides feedback to abnormal users through low reputation decisions based on the user reputation update.
The system uses blockchain for distributed implementation.The blockchain contains three types of smart contracts:User Contract,Policy Contract and Token Contract,which are used to implement the decision process,and user reputation evaluation process in the access control.
The TBAC module divides the access control process into three stages: policy upload,token request,and resource request,as shown in Fig.2.
Figure 2:The process of TBAC model
In the policy upload stage,the resource owner uploads the predefined access control policy to the blockchain through the gateway for the subsequent decision process of user access requests.In the token request stage,the user submits token request(3).The gateway invokes the blockchain smart contract to query the legality of the user’s identity(4) and make policy decision(5a).In the process of policy decision,the system invokes the user reputation evaluation module for token reputation decision(5b).If the policy decision is satisfied,a token is issued for the user(6),which can be used as a credential for the user’s resource access.In the resource request stage,the user continues to submit a resource request(7),and the gateway invokes the smart contract for token decision(8a).The system also invokes the user reputation evaluation module for resource reputation decision (8b).After the token decision,the user can be granted the corresponding resource access rights(9)based on the valid information of the token.Then the user can start to access the resource(10).
In order to improve the security and flexibility of the system,this paper uses the user reputation evaluation module to evaluate the user’s token reputation and resource reputation and provide reputation information and feedback for access control,respectively.The process of the module is shown in Fig.3.
In the policy decision of the token request (1),the reputation model is invoked to query the token reputation and make the token reputation decision (2).At the end of the token request,the reputation model updates the token reputation based on the token request result(3).Then make low reputation decision,if the reputation is not satisfied,the low reputation feedback will be triggered and the system will limit the user’s identity legality(4).In the token decision of the resource request(5),the User Contract is invoked for the resource reputation decision(6).At the end of the resource request,the user’s resource reputation is updated based on the resource request result(7).Similarly,the system makes the low reputation decision and triggers low reputation feedback if the reputation is not satisfied,and the system will limit the validity of the user’s token(8).
Figure 3:The process of user reputation evaluation module
In this paper,three smart contracts are deployed in the blockchain: User Contract,Policy Contract,and Token Contract,which are used to store and process user and reputation information,access control policy information,and token information respectively.Meanwhile,we implement access control and reputation evaluation by defining smart contract functions.The smart contracts and their functions are described in Table 1.
Table 1:Smart contract and function description
In Table 1,theUID,OID,RIDandTIDare the identifiers of the user,resource owner,resource and token,respectively.Policyis the access control policy,Policy:={RID,OP,
In this section,we first introduce the specific process of the system and then describe the principles of the reputation model.
The specific process of each stage of TBAC is shown in Fig.4.
(1)Policy Upload
Step 1:The resource owner sends the upload policy message UPM to the gateway,UPM:={Policy}.
Step 2:The gateway invokes theUpPolicy()function of the Policy Contract for policy upload.The blockchain executes the chain code function to upload the access control policy.
(2)Token Request
Step 3:The user requests the token.The user submits the identity legality verification request message IRM.IRM:={UID,PKA},in whichPKAis the user’s public key.
Step 4:User identity legality decision.4.1.The gateway invokes theQULegality()function in the User Contract to make the user identity legality decision to get the identity legality resultIRR.4.2.The gateway returns to the user the identity legitimacy decision result messageIRRM,IRRM:={IRR,PKB}PKA,which includes IRR and the gateway public keyPKB,encrypted withPKA.
Step 5:Policy decision.5.1.The user sends the token request messageTRMto the gateway.TRM:={SignSKA[UID,OID,RID,OP,Role,IP,Loca]}PKB,which contains the user information corresponding to the policy,signed bySKAand encrypted byPKB.5.2–5.3.InvokePolicyDec()function in the Policy Contract for policy decision.5.4.Make token reputation decision in the policy decision.5.5.Generate the access control tokentokenfor the user after the policy decision.Invoke theUpToken()function in the Token Contract to upload the token and save it.5.6–5.7.Get theTRRand invoke theUpUTR() function in the User Contract to update the user token reputationUTRaccording toTRR.
Step 6:The system issues the token to the user.6.1.The Policy Contract transmits the token generated for the user to the gateway.6.2.The gateway returns theTRRmessageTRRMto the user,TRRM:={TRR,TID,UID,OID,RID,OP,Period}PKA,which includesTRRand part of the token information.6.3.The user extracts the token information fromTRRMand then can make resource request via the token.
(3)Resource Request
Step 7:The user requests resource.The user sends a resource request messageRRMto the gateway,RRM:={UID,OID,RID,OP,TID}PKA.
Step 8:Token decision.8.1–8.2.Invoke theTokenDec()function in the Token Contract to make token decision.8.3.Make resource reputation decision in the token decision process.8.4–8.5.At the end of the decision,theUpURR()function of the User Contract is invoked to update theURRbased on theRRR.
Step 9:Return theRRRto the user.9.1.The Token Contract returns theRRRto the gateway.9.2.The gateway generates the resource request result messageRRRM,RRRM:={RRR}PKA,and forwards it to the user.
Step 10:The user accesses the resource after obtaining the permission.
In this subsection,we will describe the specific process of the user reputation evaluation and the principle of user reputation update and feedback mechanisms.
5.2.1 Process of User Reputation Evaluation
The specific process of each stage of user reputation evaluation is shown in Fig.5.
(1)Token request
Step 1:Policy decision in the token request.1.1–1.2.During the token request of TBAC,the gateway invokes thePlicyDec()function of the Policy Contract to make policy decision.
Step 2:Token reputation decision.2.1.As a part of the policy decision,the token reputation decision needs to invoke theQueryUTR() function of the User Contract to query the user’s direct token reputationUTR_DR.2.2.Make the token reputation decision based onUTR_DR.
Step 3:Token reputation update.3.1–3.2.Invoke theUpUTR()function of the User Contract after the policy decision to update theUTRaccording toTRR.
Step 4:Low reputation decision and feedback.4.1.Make low reputation decision afterUTRupdate.4.2.If the reputation is not satisfied,low reputation feedback is triggered to limit the legality of the user’s identity.4.3–4.8.The effectiveness of low reputation feedback is reflected in the user’s next token request,where the system rejects the user’s request due to illegal identity in the user identity legality decision.
(2)Resource request
Step 5:Token decision in the resource request.5.1–5.2.During the resource request of TBAC,the gateway invokes theTokenDec()function of the Token Contract to make token decision.
Step 6:Resource reputation decision.6.1.As a part of the token decision,theQueryURR()function of the User Contract is invoked to query the user’s resource reputationURR.6.2.Make resource reputation decision according toURR.
Step 7:Resource reputation update.7.1–7.2.Invoke theUpURR()function of User Contract at the end of the token decision to updateURRaccording toRRR.
Step 8:Low reputation decision and feedback.8.1.Make low reputation decision afterURRis updated.8.2–8.3.If the reputation is not satisfied,the low reputation feedback is triggered and theTokenINV()function in the Token Contract is invoked to invalidate the user’s token for the resource owner.8.4–8.8.The effectiveness of the low reputation feedback is reflected in the user’s next resource request.The system rejects the user’s request for the invalid token in the token decision.
Figure 5:The specific process of each stage of user reputation evaluation
5.2.2 Reputation Model
The user reputation evaluation module evaluates the token reputation and resource reputation based on the user’s access control result in the token request and resource request stages,respectively.
Reputation Update Mechanism
(1)Token Reputation
The token reputationUTRis the user reputation calculated based on the user’s token request result,which consists of direct token reputation and recommended token reputation.
1)Direct Token Reputation
The direct token reputationUTR_DRis a reputation calculated directly based on the user’s access request result in the token request.Based on the result,the evaluation of the user at that stage can be divided into two intervals: RReject∈(0,0.5] andTrust∈(0.5,1].The token request result and its corresponding evaluation interval are shown in Table 2.A feedback quantified valuefTis randomly generated according to the evaluation interval,which represents the evaluation of the token request behavior of the user by the resource owner.Calculate the user direct token reputationUTR_DRaccording to Eq.(1).
Table 2:Access control results and the corresponding evaluation intervals
In Eq.(1),nis the current request status,αTis positive feedback,andβTis negative feedback.In order to increase the monitoring of the abnormal access,a constantPTgreater than 1 is introduced as a penalty factor.In the first calculation of a newUTR,make the initial valueαT=βT=1.When theUTR_DRis lower than 0.5,PTincreases byΔP.
2)Recommended Token Reputation
Recommended token reputationUTR_IRis the user reputation calculated based on the recommended value of the recommender,where the recommender refers to other resource owners with whom the user has interaction history.When calculating the recommended reputation,NRrecommenders are selected first,and then the recommended reputation is calculated based on their recommended value for the user,as shown in Eq.(2).
In Eq.(2),TandDare the recommender reliability weight factors,which are used to selectNRreliable recommenders.Tis the transaction reliability weight,the greater the total number of tokens issued to the user,the greater the value ofT. Dis the time reliability weight,the closer the time to generate the latest token,the greater the value ofD.is the recommended evaluation value,which is the direct token reputation of the recommender for the user.When the number of recommenders in the system is less thanNR,virtual recommenders are introduced to make the number of recommenders reachNR,and will set=0.5,and theTandDfactors are taken to be relatively minimal.
3)Token Reputation
The token reputationUTRis calculated from the weighted sum of theUTR_DRand theUTR_IR,wherewis the weight of theUTR_DR,as shown in Eq.(3).
(2)Resource Reputation
The resource reputationURRis the user reputation calculated based on the user’s resource request result,which reflects the direct trust of the resource owner to the user.Based on the result,the system’s evaluation of the user at this stage can be divided into three intervals:Reject∈(0,0.25],Suspect Reject∈(0.25,0.5],andTrust∈(0.5,1],and the resource request result and its corresponding evaluation interval are shown in Table 2.A feedback quantified valuefRis randomly generated within the evaluation interval,which represents the accessed resource owner’s evaluation of that user’s resource request behavior.Then,theURRis calculated according to Eq.(4).
when calculating theURRfor a new user for the first time,make the initial valueαR=βR=1.When the user reputation is below 0.5,PRincreases byΔP.
Reputation Feedback Mechanism
After the user’s reputation is updated,the user reputation evaluation module provides low reputation feedback through low reputation decisions.In this paper,four reputation thresholds are defined for these decision processes:
Access Permission Threshold(APT):By limiting theUTR_DR,the user’s level of compliance with the resource owner’s policy is judged in the token reputation decision.
Resource Authorization Threshold (RAT): By limiting theURR,the user’s token usage for a resource is judged in the resource reputation decision.
Identity Legitimacy Threshold(ILT):By limiting theUTR,the user’s level of compliance with the policy within the system is judged in the low reputation decision.
Invalid token threshold(ITT):By limiting the number of times the user is invalidated for a resource owner,the user is judged for the token usage of the resource owner in the low reputation decision.
As shown in Fig.6,In the token request stage compareUTR_DRwithAPT.IfUTR_DRis lower thanAPT,deny this access request.Then compareUTRwithILTin the user reputation evaluation.IfUTRis lower thanILT,limit the user identity legality.The next token request will be denied because the user identity is not legal.After the penalty time has elapsed,the user’s identity is restored.In the resource request stage,ifURRis less thanRAT,the current token is invalidated and the user is denied access.The user has to go through the token request again to reapply for a new token.In the reputation evaluation,the number of invalid tokens is counted and compared withITT.If it is higher thanITT,it is reasonable to assume that the user is a threat to the resource owner.Then the system invalidates all the user’s tokens for the resource owner,and all subsequent accesses to the resource owner by the user need to make the token request again.
Figure 6:Reputation feedback
We use the Hyperledger Fabric for a distributed implementation of the system.The network topology is shown in Fig.7.The evaluation is performed on the VMware vSphere virtual platform,on which the virtual machines are configured as Intel?Xeon?CPU E52609 v4 @1.70 GHz ?8,8 GB RAM,1 TB HDD.We use 10 virtual machines to simulate users,resource owners,and gateways respectively.The gateway is used for responding to access control requests and also as a blockchain node for transaction sequencing and ledger maintenance.
Figure 7:The network topology
In the system evaluation,we first test the delay of the system under different conditions.We define the request delay as the time spent by the user in the corresponding stage from the submission of the request to the receipt of the request result.Define the access delay as the time spent by the user in the process of submitting the token request to access the resource.
The user reputation is then evaluated,and we simulate three users,User A(U1),User B(U4),and User C(U6),respectively.Each user sends 100 token requests and resource requests.User A continuously sends normal requests,User B continuously sends abnormal requests,and User C initially sends normal requests until the 30th request is followed by an abnormal request.In addition,we compare this paper’s model with existing models[26,28,29]by evaluating the reputation of User A and User B.
Finally,we integrate the TBAC model with the security feedback module [33] to test the performance of TBAC in the DDoS attack environment.The security feedback module is used to feed information about malicious users to TBAC.We then used Python scripts to simulate normal traffic on U1 and replayed five DDoS attack traffic through TcpReplay on other User VMs to simulate the DDoS attack environment[34],including BotNet(U2),LDDoS(U3),NetDDoS(U4),DRDoS(U5),and AppDDoS(U6).
6.2.1 Evaluation of the TBAC System
In this subsection,we first evaluate the access control request delay in the TBAC system.Then we compare the system processing performance under different situations.
As shown in Fig.8,the single request delay of most of the token requests and resource requests is within 0.15 and 0.05 s,respectively,which proves the high performance of the TBAC system.The higher delay of the phase is caused by the blockchain operations such as packing,consensus,and publishing the ledger.
As shown in Fig.9,we test the total request delay required by the system to respond to 200 token requests and resource requests for different proportions of normal requests respectively.It can be found that when the proportion of normal requests decreases,the request delay also decreases.This is because the system reduces the decision delay by rejecting abnormal requests in a timely manner.
Figure 8:The request delay of token request and resource request
Figure 9:The total request delay for different proportion of normal requests
Then we compared the total access delay of TBAC and the Non-token system.As shown in Fig.10,the performance of TBAC is higher,and the effect is more obvious with more accesses.This is because TBAC achieves the separation of authorization and verification through the token,reducing the overall number of request decisions in the system.
Figure 10:The total access delay of TBAC and non-token system
6.2.2 Evaluation of User Reputation
In this subsection,we first evaluate the reputation of different types of users in the access process.Then we validated the feedback from user reputation on the access control process.Finally,we compare this reputation model with other methods.In the evaluation,the parameters of the reputation model are set asαT=βT=αR=βR=1,PT=PR=1.3,ΔP=0.3,NR=4,=0.5,w=0.7.The reputation thresholds are set asAPT=ILT=RAT=0.3,ITTis 2/3 of the number of tokens.
As shown in Fig.11,we evaluate the reputation of different types of users.It can be seen that the initial value of reputation is 0.5.Normal behavior increases user reputation,as seen after the 100th request,the UTR of User A is 0.82 and the URR is 0.96.The slow increase of UTR is due to the effect of the recommended reputation.It proves that the system is conservative in rewarding reputation.Abnormal behavior leads to a decrease in reputation and low reputation feedback is triggered when it falls below the threshold (0.3).For token requests,low reputation feedback limits user identity legitimacy for a certain period of time andUTRstays at the default value.For resource requests,triggering low reputation feedback limits token validity andURRresets to the default value,and users need to make the token request again.
Figure 11:Reputation evaluation of different types of users
To verify the feedback of user reputation on access control,we tested the changes of access results with reputation for three users,as shown in Fig.12.We divide the access control results into three types:successful access,failed access,and limited access,where limited access corresponds to the case where user identity legality is limited in the token request and token validity is limited in the resource request.As shown in the figure,theUTRandURRof User A are growing and all its access requests are successful.User B’s all access requests failed and access was limited after low reputation feedback.User C’s first 30 requests are successful and gets the failed result for the subsequent requests.In addition,during the resource request,User C triggers the low reputation feedback at the 67th request,and the access is limited.All together,the user reputation evaluation module can provide timely feedback for access control.
Then we compared the reputation model with the methods in[26,28,29].Since other methods do not have a reputation for resource access,we compare token reputation with other models,because they both reflect the user’s compliance with the access control policy.Fig.13 shows the reputation evaluation of User A and User B in different reputation models.As shown in Fig.13a,all reputation curves of User A show an increasing trend.Among them,TBAC achieves a reputation value of 0.82 after 100 requests,while the other three models achieve a reputation value of more than 0.9 after the 20th request.TBAC converges significantly slower than the other models,which have higher conservativeness and stability.As shown in Fig.13b,the reputation curves of User B are all trending downward.The reputation of TBAC decreases to below 0.3 after the 4th request,which is the larger rate of decrease than the TRS-IoT and BCTRA models,and only second to the TARAS model.Taken together,the reputation model of TBAC is highly sensitive to abnormal behavior while conservatively rewarding normal behavior,and can effectively maintain the stability and fairness of the whole system.
Figure 12:The changes of access results with reputation for three users
Figure 13:Comparison of reputation methods
The TBAC model does not introduce new security issues.We provide a security analysis of several common attacks that the system can resist.The TBAC model is then combined with a security feedback module to test the performance of TBAC in the DDoS attack environment.
Ultra vires attack resistant: Traditional access control allows a user to execute all the privileges it has when the request passes,which may lead to ultra vires attacks.The TBAC system in this paper authorizes the user’s resource operation privileges according to the user’s specific request,which effectively resists ultra vires attacks through fine-grained authorization.
Identity spoofing attack resistant: An identity spoofing attack refers to an attacker forging a legitimate user identity to gain access to resources.In this regard,the system in this paper adopts the following two measures:firstly,using blockchain to record and audit user behaviors.Secondly,using the determination policy to ensure the user’s access is legitimate,and to detect and block abnormal access behaviors such as logging in from a different place,logging in at an illegal time,and holding illegal tokens in a timely manner.
Opportunistic attack resistant:Opportunistic attackers usually do not plan their attacks in advance but rather look for opportunities to exploit to carry out malicious behaviors.For example,the attacker uses the privileges obtained from previous normal requests to carry out illegal behaviors.In response,TBAC recovers privileges in a timely manner by limiting the number of times and duration of token usage to avoid over-exploitation of privileges.
Whitewashing attack resistant:Malicious users attempt to be removed from the system by lowering their reputation and then re-enter the system with a new reputation.In this regard,TBAC employs the following strategies:First,the blockchain is used to ensure that the user’s history is fully recorded,and the user’s bad behavior can be verified by the system at any time.In addition,the system restricts the access of such users for a certain period of time through low reputation feedback,thus preventing the whitewashing behavior.
Next,we perform an experiment to evaluate the performance of TBAC in the DDoS attack environment.We set up one user who sends normal traffic and five users who send attack traffic,each sending access control requests every 5 s with a duration of 200 s.The user sending normal traffic sends normal requests continuously.Users sending attack traffic send normal requests for the first 50 s and random normal or abnormal requests for the next 150 s.Finally,the malicious user information is fed back to TBAC via the security feedback module at 180 s.
The change in user reputation is shown in Fig.14.As can be seen,the reputation of normal traffic users continues to increase.Attack traffic users change according to their access control behavior,where users sending BotNet and NetDDoS trigger low reputation feedback due to too many abnormal requests.after 180 s,the reputation of attack traffic users both returns to the default value.The traffic inflow at the resource owner is shown in Figs.15,and 15a shows the traffic inflow by type.It can be seen that each type of traffic inflow varies according to the access control results and reputation changes.After the low reputation feedback is triggered(110 and 130 s),BotNet and NetDDoS traffic no longer flows to the resource.Fig.15b shows the inflow of normal traffic and attack traffic more visually.As can be seen,after 180 s,TBAC receives the security feedback module malicious user information and is able to block malicious users,thus blocking malicious traffic.
Figure 14:Comparison of reputation methods
Figure 15:Traffic inflow at the resource owner
We have proposed a blockchain-empowered TBAC system with user reputation evaluation.We deployed the proposed TBAC system in Hyperledger Fabric and made the experimental evaluation and security analysis.The results demonstrate that the TBAC system can efficiently respond to access requests based on tokens.The user reputation evaluation module can accurately evaluate the reputation and restrict abnormal users through feedback.By comparing with other methods,we demonstrate the conservativeness and sensitivity of our proposed reputation model.Finally,we analyze the security of the system and show that the system in this paper is equally applicable in the face of malicious attacks by evaluating the performance of TBAC in the DDoS attack environment.
The TBAC system in this paper formulates clear interaction rules between user,resource,and blockchain,and proposes a method that combines user reputation evaluation with access control.In future work,we will further extend the reputation feedback method and design incentives to reward high-reputation users to enhance user experience.
Acknowledgement:We would like to express our sincere gratitude to the reviewers for their insightful and constructive comments that helped us improve this paper’s quality.
Funding Statement:This paper is supported by NSFC under Grant No.62341102,and National Key R&D Program of China under Grant No.2018YFA0701604.
Author Contributions:The manuscript was written entirely by the authors.All authors made an equal contribution to the development of the paper.All authors reviewed the results and approved the final version of the manuscript.
Availability of Data and Materials:The data that support the findings of this study can be obtained from the corresponding author upon reasonable request.
Conflicts of Interest:The authors declare that they have no conflicts of interest to report regarding the present study.
Computers Materials&Continua2023年12期