Next Article in Journal
High-Embedded Low-Distortion Multihistogram Shift Video Reversible Data Hiding Based on DCT Coefficient
Next Article in Special Issue
MalDBA: Detection for Query-Based Malware Black-Box Adversarial Attacks
Previous Article in Journal
Comparative Study of the Parameter Acquisition Methods for the Cauer Thermal Network Model of an IGBT Module
Previous Article in Special Issue
Boosting Adversarial Attacks with Nadam Optimizer
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

NACDA: Naming-Based Access Control and Decentralized Authorization for Secure Many-to-Many Data Sharing

1
School of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, China
2
Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100081, China
3
School of Cyber Security, University of Chinese Academy of Sciences, Beijing 100081, China
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(7), 1651; https://doi.org/10.3390/electronics12071651
Submission received: 7 February 2023 / Revised: 24 March 2023 / Accepted: 28 March 2023 / Published: 31 March 2023
(This article belongs to the Special Issue AI-Driven Network Security and Privacy)

Abstract

:
The rapid development of wearable technology has facilitated the collection and sharing of health data, allowing patients to benefit from caretakers and medical research. However, these personal health data often contain sensitive information and it is typically not known in advance with whom the information will be shared. Therefore, messages must be encrypted and shared while adhering to the decoupled communication model. This paper presents NACDA, a secure many-to-many data-sharing service on the Named Data Network (NDN). NACDA uses Identity-Based Encryption with Wildcard Key Derivation (WKD-IBE) to allow naming-based access control, enabling data subjects to share data securely and flexibly regardless of the data processor. In addition, NACDA supplements a decentralized authorization mechanism with blockchain to ensure data subjects’ data ownership and enforce access policies. We developed an NDN-based prototype and performed a security analysis to demonstrate NACDA’s feasibility.

1. Introduction

In recent years, with the development of communication technology, wearable devices have rapidly developed in the healthcare domain. This trend promotes users sharing medical and health data with multiple hospitals or research institutions to enable disease diagnosis and health analysis [1,2]. Thus, the relationship between the user and the institution is a complex many-to-many communication rather than a one-to-one communication. In addition, medical and health data often contain a large amount of private information that, if leaked, would seriously threaten the security of users’ personal property. Therefore, secure healthcare data sharing in many-to-many communication scenarios is crucial.
Secure sharing in many-to-many communications requires data subjects (i.e., the owner of data) to securely, selectively, and flexibly grant access to data processors (i.e., someone who wants to access data). Ideally, it provides the four following features: (i) decoupling data subjects and data processors: data subjects that classify and publish data to storage servers, and data processors that request or subscribe to specific data types; (ii) data confidentiality and integrity: encryption primitives are independent of the data processor, and encryption operations are relatively efficient and can be verifiable; (iii) fine-grained access control: data subjects limit what data types to share and who can access which time range of the data; (iv) decentralized management: data subjects are free from dependence on trusted intermediaries, such as resource management and access authorization, avoiding the problems of transparency and single point of failure.
Most current many-to-many communication systems rely on TCP/IP. However, TCP/IP does not directly support many-to-many communication but requires the implementation of complex logic at the application layer [3]. We implement the four above features by utilizing the functionalities provided by NDN, a data-centric network architecture [4]. In NDN, the data receivers drive communication by hierarchical names and fetch cryptographic data from intermediate caches by intelligent forwarding strategies. On top of NDN, several access control schemes have been proposed to enable secure data sharing in NDN, such as role-based access control (RBAC) and attribute-based encryption (ABE) [5]. However, these schemes rely on the role or attributes of the data receivers, and users may not know which institutions they will share in advance. With the publish–subscribe paradigm in NDN, a more appropriate encryption idea is to encrypt the based on the data’s properties.
This paper leverages WKD-IBE [6] in NDN. WKD-IBE is a public key encryption scheme that enhances the concept of hierarchical identity-based encryption (HIBE) [7] by allowing more general key delegation patterns. We take NDN’s hierarchical naming as a pattern of WKD-IBE to implement naming-based access control. In addition, access control and authorization need to be designed together to enable a complete data-sharing process. We further introduce blockchain technology [8] as a trusted intermediary to address the trust risk of centralized data retrieval and authorization services in NDN. In brief, we build a secure many-to-many data-sharing framework called NACDA with naming-based access control and decentralized authorization. The NACDA’s contributions are as follows.
  • A naming-based access control model is proposed based on WKD-IBE, which ensures data confidentiality and integrity as well as fine-grained access control for many-to-many communications in NDN.
  • To effectively and securely share resources, we introduce a decentralized authorization mechanism, which allows data subjects to manage the data and access policies. Furthermore, this mechanism grants permissions in a transparent and auditable manner.
  • We evaluate the prototype of NACDA and analyze its security.
The remainder of this paper is organized into seven sections. Section 2 describes the background and related work. Section 3 describes NACDA at a high level, including design concepts and architecture. Section 4 presents a name-based access control model that encrypts the data for fine-grained access control in NDN. Section 5 offers a decentralized authorization mechanism that manages data and policies for trusted authorization with the blockchain. Section 6 implements and evaluates the prototype. Finally, Section 7 concludes and discusses this paper.

2. Background and Related Work

This section introduces the related work of access control in NDN and blockchain-based authorization.

2.1. Access Control in NDN

NDN communication consists of two types of packets: an interest packet and data packet, as shown in Figure 1. A processor sends an interest packet, specifying the name of the desired data, and then obtains a data packet containing the data’s content if the storage or route node owns the data. Therefore, NDN drives communication based on the content name and decouples the content from its original location. This phenomenon leads to a loss of control over the content, which causes challenges in achieving effective access control mechanisms [9]. The existing solutions are as follows.
Zhang et al. [10] proposed a well-designed naming convention that facilitates explicitly communicating access policies and efficiently assigning access control keys. In this work, the data subject generates a production credential named a key encryption key (KEK) and a consumption credential named a key decryption key (KDK) related to the data naming. The data producer obtains the KEK and uses it to encrypt the content key (CK), and the authorized processor will obtain the corresponding KDK and decrypt the data. Fan et al. [11] extended [10] to support spatio-temporal policies by adding location information to the KEK and KDK names. However, in fine-grained data access control cases, the data subject needs to generate, manage and transmit many KEKs and KDKs, resulting in high resource consumption.
Feng et al. [5] propose a decentralized CP-ABE scheme. The publisher creates an access policy and encrypts the data according to the policy, the current time, and the time the router caches the data. However, having full knowledge of the processor attributes in advance in large-scale publish/subscribe systems is not practical, and the solution also requires publishers to be available at all times.
Fotiou et al. [12] used HIBE to build name-based security mechanisms for content distribution. The content owner utilizes the Namecoin blockchain to deliver the system parameters. A subscriber then obtains system parameters to verify a digital signature over the item, no matter the providing endpoint. However, it has limitations in hierarchical key derivation, a helpful function of data sharing in NDN.
Table 1 compares NACDA with other name-based access control research regarding key features. Our work focuses on many-to-many data-sharing service with efficiently fine-grained access control.

2.2. Blockchain-Based Authorization

While a content-based access control scheme is appropriate in NDN, this scheme cannot be directly associated with data processors. Therefore, it requires additional authorization mechanisms to complement the secure sharing process. The authorization mechanism based on trusted third parties may have the problems of a single point of failure and a non-transparent authorization process. In contrast, blockchain technology is a new decentralized infrastructure and distributed computing paradigm. It has the properties of decentralization, persistency, and auditability, which make the authorization process more secure and credible. The current solutions are presented below.
Ouadda et al. [13] store access policies in blockchain transactions. They use authorization tokens to represent unspent transaction output (UTXO), which can be passed from one peer to another via transactions, thus enabling authorization management. However, its decision-making process counts on a centralized authorization entity, which still suffers from a single point of failure.
Truong et al. [14] proposed a resource access control scheme based on smart contracts, which consists of two ledgers: the 3A_ledger, which is responsible for storing resource summaries and access policies, and the log_ledger, which records authorization tokens. Afterwards, resource servers can query the authorization records in the log_ledger to verify whether the data processors’ requests are legitimate. This work implements the OAuth2 standard [15] authorization process but does not further consider data security and fine-grained access control.
Our research combines a content encryption-based access control scheme with a smart contract-based authorization mechanism to achieve a complete secure sharing process in NDN.

3. NACDA’s Overview

This section describes NACDA in a nutshell and its architecture.

3.1. NACDA in a Nutshell

NACDA is a decentralized access control system that enables data subjects to securely, selectively, and granularly share their data with data processors in a scenario of many-to-many communication. NACDA is designed to use namespaces as the basis for data search, data encryption, and access control, as shown in Figure 2. First, NDN uses hierarchical semantic names to identify content, and the resulting namespace is used for NDN data requests (Section 4.2). Second, since fine-grained data sharing is based on fine-grained data encryption, the namespace naturally serves as the basis for fine-grained encryption. That is, the leaf nodes of the namespace serve as the minimum granularity of data encryption (Section 4.3). Thirdly, the data subject sets the namespace’s node associated with the access policy (Section 5.1) and then denotes the sub-namespace right to a data processor as an access token (Section 5.2). Finally, since fine-grained data encryption generates many keys, there may be problems with key management and distribution. Therefore, we have adopted an access control approach based on hierarchical encryption, where authorized data processors obtain the decryption keys corresponding to the namespace’s nonleaf nodes, and then derive all decryption keys for that sub-namespace themselves (Section 4.3).
Note that we covered the terms authorization and access control, which are relatively easy to confuse. Authorization is the specification of access policies, and access control is the enforcement of access policies [16]. In the above paragraph, we discuss the specification of access control policies and their mappings to access tokens, which we summarize as a decentralized authorization mechanism (Section 5). The remaining parts are summarized as a name-based access control model (Section 4).

3.2. Architecture

Figure 3 shows the architecture of NACDA, and Table 2 explains the entities and components involved. It is essential to note that data sharing should comply with GDPR’s requirements when EU citizens are involved, so we define the entities referring to GDPR [14,17].
The name-based access control model takes namespaces as the basis for data encryption, as shown in the upper part of Figure 3. First of all, the data subject initializes the namespace, which contains a hierarchy of resources and time, and grants sub-namespace to the IoT devices (Step 1). Furthermore, IoT devices generate and encrypt data in the related namespace (Step 2). The encryption process allows different resources to be encrypted at different times using unique encryption parameters and does not require generating and managing extensive encryption keys. Then, the encrypted data are packaged and published on the NDN (Step 3). NDN uses an in-network cache mechanism so that each node in the transmission path can cache the content and quickly respond to the corresponding request. Additionally, the authorized data processor requests data from the NDN (Step 8) and can decrypt the data with the corresponding decryption keys (Steps 10–12).
The name-based access control module ensures data confidentiality. However, it does not adequately consider how to authorize data processors (including verifying identity, managing access policies, and granting access rights). Therefore, the blockchain is introduced to implement a decentralized authorization mechanism, which acts as an agent to handle authorization requests from data processors in a unified manner, as illustrated in the lower part of Figure 3. The data subject uploads the namespace and the corresponding access policy to the blockchain (Steps 4–5). Then, the data processor requests the blockchain to obtain the exact name of the packets and access token (Steps 6–7). When a data processor requests data, the NDN’s node that caches the data will validate access permission again based on the blockchain’s authorization log and choose to allow or deny the data access request (Step 9).

4. Name-Based Access Control Model

The objectives of the name-based access control model can be summarized as follows: (i) data encryption: using the namespace as the basis for the fine-grained and effective encryption primitives. (ii) access control: a data processor can get succinct keys for an access scope grant. Given all the above, the critical point is that NDN naturally organizes the data into hierarchies, resulting in a namespace that could act as the encryption parameter of the lightweight encryption algorithm WKD-IBE. Furthermore, a WKD-IBE’s decryption key related to a namespace can derive all keys of its sub-namespace but not for the parent namespace (Section 4.1). The detailed workflow of the name-based access control module is shown in Figure 4, which is further broken down into name-based encryption (Section 4.2) and fine-grained access control (Section 4.3).

4.1. Generic WKD-IBE

Algorithms

WKD-IBE normally generates a secret key based on an identity string template where wildcards can replace elements. Then, this secret key can derive keys for other identity string vectors that match the above template. Although the original WKD-IBE scheme focuses on the user’s identity information as a template, it can also abstract other details as a template. For example, Kumar et al. [18] proposed that in a system where resources have hierarchical structures, a user has a key with the resource prefix a/b/*, i.e., a/b/* is encoded as a string template and * denotes a wildcard, then it can derive keys with resources a/b/c, a/b/d, etc.
WKD-IBE consists of four operations: Setup, KeyDer, Enc, and Dec. They are described as follows [18]:
  • Setup ( 1 ) P a r a m s , M a s t e r K e y . This operation outputs public parameters (Params) and master secret key (MasterKey).
  • KeyDer ( P a r a m s , K e y P a t t e r n A , P a t t e r n B ) K e y P a t t e r n B . This operation derives a key for P a t t e r n B , where K e y P a t t e r n A is M a s t e r K e y or P a t t e r n A matches P a t t e r n B .
  • Enc ( P a r a m s , P a t t e r n , m ) C i p h e r t e x t P a t t e r n , m . This operation receives a ciphertext encrypted by P a r a m s and P a t t e r n .
  • Dec ( K e y P a t t e r n A , C i p h e r t e x t P a t t e r n , m ) m . This operation receives a ciphertext encrypted by P a r a m s and P a t t e r n . Then, it obtains a plain text message m with the help of K e y P a t t e r n .
WKD-IBE can also be used to sign data to verify its integrity. It is illustrated as follows:
  • Sign ( P a r a m s , K e y P a t t e r n m , m ) S . This operation uses K e y P a t t e r n m to sign a message m and output the signature S.
  • Verify ( S , P a r a m s , P a t t e r n m , m ) o r . This operation uses the P a t t e r n m and the message m to verify the signature S. The output ⊤ indicates a successful verification and the output ⊥ indicates a failed one.

4.2. Name-Based Encryption

The named-based encryption part includes the following steps: the data subject initializes the namespace and WKD-IBE (Section 4.2.1), then grants the IoT devices the right to generate data under the sub-namespace (Section 4.2.2). Finally, the IoT devices generate, encrypt, and publish the data (Section 4.2.3).

4.2.1. Initialization

NDN names resources with hierarchically structured names similar to URI, which group data with similar attributes in the same namespace. This naming way reflects the relationship between different data blocks and facilitates the management and sharing of resources. The data subject and the processor can agree to express a standard namespace structure. Taking the health scenario as an example, the data subject Alice uses the health app to collect her health data and activity data, dividing the corresponding namespace into two sub-namespaces: alice/health and alice/activity, where health data are further divided into blood pressure and heart rate data, corresponding to the sub-namespace: alice/health/BP and alice/health/HR, as shown in Figure 5. Once the resource hierarchy is determined, the resources can be further divided according to the set temporal granularity, i.e., a temporal hierarchy is added to the hierarchy of resources. For example, layers 4–6 in Figure 5 divide the resources by year, month, and day, and the namespace corresponding to the blood pressure data generated by Alice on 12 December 2020 are called alice/health/BP/2020/12/12. The granularity of the namespace division determines the granularity of the subsequent data encryption and sharing.
After defining the NDN’s namespace, the data subject initiates WKD-IBE, which takes the depth of the namespace as input parameters and outputs the public parameters and the master key. This step is represented as follows.
  • Setup 1 : select g , g 2 , g 3 , h 1 , , h , h s $ G , α $ Z p and let g 1 = g α . Then, the output: P a r a m s = g , g 1 , g 2 , g 3 , h 1 , , h , h s and M a s t e r K e y = g 2 α . G is a bilinear group if the group action in G can be efficiently computed and there exists both a group G 1 and an efficiently computable bilinear map e: G × G G 1 .
This datum subject performs this step (or the authority trusted by the data subject) and keeps M a s t e r K e y secret. P a r a m s can be stored publicly, which data processors use subsequently, so we can use blockchain to disseminate P a r a m s , i.e., holding them along with the namespace in the data subject’s blockchain account.
Subsequently, the data subject has two aspects of work. One is to grant the right to generate data under the sub-namespace to the IoT devices, and the other is to distribute the decryption keys of an authorized sub-namespace for the data processors. Both of these tasks rely on the key derivation step. Note that we can distinguish encryption and sign by adjusting P a r a m s and M a s t e r K e y [19].
  • KeyDer ( P a r a m s , K , P a t t e r n ) : when K is M a s t e r K e y , let K = g 2 α , and r $ Z p . The private key for the P a t t e r n of sub-namespace is:
    g 2 α · g 3 · i , a i fixed ( P a t t e r n ) h i a i r , g r , j , h j r j free ( P a t t e r n ) .
    when K is not M a s t e r K e y , then parse K as k 0 , k 1 , B , B = i , b i . Let t $ Z p . The private key for S is:
    k 0 · g 3 · i , a i fixed ( P a t t e r n ) h i a i t · i , a i fixed ( P a t t e r n ) i , b i B b i a i , g t · k 1 , j , h j t · b j j free ( P a t t e r n ) .
The K e y D e r step considers the case where K is M a s t e r K e y or not. Generally, the data subject depends on M a s t e r K e y derivation because these have the right to their entire namespace. The case where K is not M a s t e r K e y , on the other hand, is typically when the IoT devices or data processors obtain the derived key and handle their own sub-namespace.

4.2.2. Sub-Namespace Authorization

The security of the NDN is built into the data themselves, which requires that each packet be signed. The digital signature’s legitimacy ensures the integrity and authentication of the message, preventing it from being tampered with or forged.
Specifically, the data subject grants the producer permission to produce data under its sub-namespace. These permission keys could use an out-of-band channel (e.g., Bluetooth low energy) to exchange between the subject and devices. Then, the devices obtain the keys, generate data, and sign the hash of the data, which is subsequently published to the NDN along with the data packet. The data processor then obtains the data packet and verifies its origin and integrity. The above process is summarized in two steps.
  • Sign ( P a r a m s , K e y P a t t e r n m , H a s h m ) S : Parse the key K as k 0 , k 1 , B , s , b s B . H a s h m is the hash value of message m whose pattern is P a t t e r n m , and K e y P a t t e r n m is the corresponding sign key. Select t $ Z p and output the signature S:
    k 0 · g 3 · h s H a s h m · i , a i fixed ( P a t t e r n m ) h i a i t · b s H a s h m , g t · k 1
  • Verify ( P a r a m s , S , P a t t e r n m , H a s h m ) o r : parse the signature S as s 0 , s 1 . Check:
    e s 0 , g = ? e g 1 , g 2 · e g 3 · h s H a s h m · i , a i f fixed ( P a t t e r n m ) h i a i , s 1
The S i g n function is usually combined with the K e y D e r function (usually when K is not MasterKey) since the sub-namespace obtained by the IoT device is often not a specific sub-namespace. In addition, the data processor verifies the received S to check whether the signature is correct. If the device is authorized, then the hash value can verify the integrity of the data. We use an example to further illustrate the process. Data subject Alice derives the signing key K e y a l i c e / h e a l t h for sub-namespace alice/health and sends it to her device. When Alice produces plaintext data m under alice/health/BP/2020/12/12, she calculates the H a s h m and signs it, i.e., KeyDer ( P a r a m s , K e y a l i c e / h e a l t h , P a t t e r n a l i c e / h e a l t h / B P / 2020 / 12 / 12 ) K e y a l i c e / h e a l t h / B P / 2020 / 12 / 12 , then Sign ( P a r a m s , P a t t e r n a l i c e / h e a l t h / B P / 2020 / 12 / 12 , H a s h m ) S . The data processor obtains the signature S and uses P a t t e r n a l i c e / h e a l t h / B P / 2020 / 12 / 12 to verify the origin and integrity of the m.

4.2.3. Data Encryption

IoT devices generate the data, encrypt them according to WKD-IBE, and publish them to the NDN. Given that IoT devices are usually low-power and have a large amount of data, a hybrid encryption scheme combining WKD-IBE and symmetric encryption is suitable. In detail, the data devices encrypt the plaintext data using a symmetric key and invoke WKD-IBE to encrypt the symmetric key based on the temporal granularity of the namespace. The next encryption round will flip the symmetric key and modify the WKD-IBE encryption parameter. The process is brief in the following step.
  • Enc ( P a r a m s , P a t t e r n m , K m ) C T K m : K m is the symmetric key of message m, then selects s $ Z p and outputs C T K m :
    e g 1 , g 2 s · K m , g s , g 3 · i , a i fixed ( P a t t e r n m ) h i a i s .
To further explain the process, we consider an instance of datum m generated under alice/health/BP/2020/12/12. The IoT devices use the AES algorithm to sample a symmetric key K m to encrypt m. The corresponding generated ciphertext C T m , together with the signature information in Section 4.2.2, are packaged and published to the NDN. Meanwhile, as another data packet, K m is encrypted to generate the key ciphertext C T K m . Note that the minimum time granularity of alice/health/BP/2020/12/12 is in days, so the data producer flips the symmetric key and invokes WKD-IBE to encrypt it once a day. The finer temporal hierarchy brings in the finer encryption’s granularity, which benefits flexible data sharing. However, this may cause resource waste, so a balance between granularity and consumption is best based on practical cases.

4.3. Fine-Grained Access Control

The fine-grained access control consists of the following steps: the authorized data processor sends an interest packet to the NDN and requests decryption keys within its authorization from the key server (Section 4.3.1). The data processor then obtains the decryption keys and decrypts the data (Section 4.3.2). Note that this subsection assumes that the data processor has already obtained an access token (Section 5).

4.3.1. Decryption Keys Delegation

When requesting data from the NDN, an authorized data processor first retrieves the ciphertext packet, which usually contains the corresponding key packet name so that the data processor can continue to request key packets. In addition, NDN’s node will verify the data processor’s access token by the blockchain’s authorization log before returning the data, which could intercept data requests from attackers or those with expired authorization tokens.
The data processor also needs to request the decryption keys within the scope of the access token. We previously mentioned in Section 4.2.1 that data subjects distribute decryption keys for data users. However, it would be stressful for the data subject to generate and distribute all decryption keys in advance, so we generate them when the authorized data processor triggers the request. In addition, the single point of failure and performance problems may occur if the only data subject is the only key server responding to a decryption key request.
Considering the derivation nature of WKD-IBE’s keys, the data processor with privileges and the data subject can act together as a key server. When a user requests authorization from the blockchain, the blockchain acts as an authorization server to determine that the user is legitimate and returns the token along with other processors that can derive the decryption key. After receiving the token, the user requests one of the processors to obtain the decryption key (the token supports obtaining the decryption key only once, and decryption keys could be encrypted with the user’s public key), decrypt the data, and verify it against the signature.

4.3.2. Data Decrypt

After obtaining the two packets and the decryption keys, the data processor first decrypts the symmetric key from the key packet and then decrypts the plaintext data using the symmetric key. The operation is succinct in the step below.
  • Dec ( K e y P a t t e r n m , C T K m ) K m : Parse the K e y P a t t e r n as k 0 , k 1 , B , and the ciphertext C T K m as ( X , Y , Z ) . Output K m :
    X · e k 1 , Z · e Y , k 0 1
The D e c function also depends on the K e y D e r function to obtain the decryption keys of specific sub-namespace. For example, Bob achieved K e y a l i c e / h e a l t h and then KeyDer ( P a r a m s , K e y a l i c e / h e a l t h , P a t t e r n a l i c e / h e a l t h / B P / 2020 / 12 / 12 ) K e y a l i c e / h e a l t h / B P / 2020 / 12 / 12 . He used the key to decrypt the symmetric key of alice/health/BP/2020/12/12.

5. Decentralized Authorization Mechanism

The decentralized authorization mechanism consists of two parts: (i) content management: the data subject publishes the namespace and access policy, and the data processor retrieves the relevant content; (ii) decentralized authorization: the data processor is granted an access token according to the access policy. We utilize smart contracts to manage the content and automate the authorization operations for those two parts. As shown in Figure 6, there are three smart contracts: the namespace smart contract, the policy smart contract, and the decentralized authorization smart contract. Moreover, all user operations are recorded in the ledgers for auditing at any time.

5.1. Content Management

When a data processor requests dynamically generated data in the NDN, the data are usually retrieved based on the part of the data name. For instance, the data processor sends an interest packet with the name alice/health/BP to retrieve a data packet with the name alice/health/BP/2020/12/12 if it exists and then requests the actual packet. This retrieval process may send multiple interest packets to obtain the datum’s exact name, resulting in more invalid interest packets and inefficient retrieval in the NDN. It is desirable to have a retrieval mechanism to confirm the data name before sending interest packets. Centralized retrieval mechanisms run the risk of a single point of failure. Blockchain, as a decentralized and trusted intermediary, can be used to establish a transparent and reliable named retrieval mechanism. Hence, the data subject publishes the namespace on the blockchain, and the data processor queries to efficiently obtain the exact name of the data (Section 5.1.1). Furthermore, the data subject can further update the access policy based on the namespace, allowing the owner to take ownership of its data and share them selectively and flexibly (Section 5.1.2).

5.1.1. Naming Management

The namespace contract implements naming management, which contains creating and updating namespaces by data subjects and retrieving naming by data processors. The first ledger in Figure 6 shows the structure of the content.
Initially, the data subject registers credentials based on a uniquely named prefix identifier, representing the ability to create and update smart contracts. In addition, the namespace uses a dictionary tree as a storage structure, which is query-efficient. The data subject also stores the hash of static resources and the public parameters of WKD-IBE on the namespace, which assists the data processor in validating and decrypting the data. When a data processor retrieves a naming, the contract checks whether the naming format is standardized and retrieves the dictionary tree. If the naming is already fully named, returning exists. Otherwise, it uses naming as a prefix to search for the relevant specific name and returns the set of names (other restricted parameters can be added, such as the rightmost child, which improves the retrieval efficiency). Overall, data processors can reduce the number of invalid interest packets in the NDN by confirming the specific name before sending the interest packet. Algorithm 1 illustrates the naming retrieval process.
Algorithm 1: Naming Retrieval.
Electronics 12 01651 i001

5.1.2. Policy Management

Policy management is implemented in the policy contract, which contains the creation and updating of the policy by data subjects and the retrieval of the policy by data processors. The second ledger in Figure 6 shows the structure of the content.
When a data subject creates an access policy, nodes in the namespace are bound to different access control lists (ACLs) to enable fine-grained access. We can set the ACL to the same level node of the namespace. For example, the data subject Alice uniformly sets her authorization granularity to the fifth level of the namespace, i.e., to authorize access to data by month. This approach improves the efficiency of policy retrieval but limits the minimum sharing granularity. We can also set the ACL to any node of the namespace, which increases the retrieval time but allows flexibility in setting sharing granularity. Algorithm 2 illustrates the policy update process. In addition, there are two types of data-operation abilities for data processors. The authorized data processor can only read the data or further delegate keys to other data processors.   
Algorithm 2: Policy update.
Electronics 12 01651 i002
Naming and policies need to be regularly maintained and updated. For the case of data subjects cleaning up outdated data, leading to updates to the namespace. In addition, some malicious users need to be removed from the policy as soon as they are discovered. The data subject must periodically check its namespace and policy whilst the data processors of the relevant updates are notified.

5.2. Decentralized Authorization

The smart contract for decentralized authorization checks the access policy after receiving the request from the data processor. Then, it returns the result and records it in the log ledger. The third ledger in Figure 6 shows the structure of the content.
When a data processor requests read or delegated rights to the resources, the decentralized authorization contract determines the naming’s legitimacy based on the naming contract, and whether the processor is in the access policy based on the policy contract. If the conditions are met, the authorization contract returns an access token for the data processor. Algorithm 3 illustrates the decentralized authorization process. The access token consists of the token header and the token payload, where the token header contains the token ID and the token type. The token ID is a (pseudo) random and unique string, and the token type indicates it is a read or delegated operation. The payload contains specific authorization information, including the grantor (data subject), the grantee (data processor), the scope of the authorization, the authorization time, and the expiration. Moreover, decentralized authorization smart contracts confirm the access token, i.e., whether the data processor requests keys or content, the corresponding node will recheck the token to verify its validity.
Algorithm 3: Decentralized authorization.
Electronics 12 01651 i003

6. Implementation and Evaluation

This section describes the experiment environment and evaluates the experimental results.

6.1. Experimental Environment

In this section, we implement the NACDA prototype based on the above design ideas. The name-based access control model was developed in C++ and used the Named Data Networking Forwarding Daemon (NFD) [20] to route and forward NDN packets. The decentralized authorization mechanism built the blockchain environment with the Hyperledger Fabric (HLF) [21] platform. The HLF is a consortium blockchain [22] that allows authenticated and authorized nodes to join the network, resulting in higher levels of security. Therefore, HLF is designed for enterprise environments and is more suitable for this paper’s many-to-many data-sharing usage scenario. All of the above were evaluated in a macOS Monterey 12.6 operating system configured with a 2 GHz quad-core Intel Core i5, 16 GiB RAM.

6.2. Experimental Results

The goal of the decentralized authorization mechanism is that the data subject publishes the namespace and access policy information on the blockchain, and the data processor retrieves the relevant content and obtains an access token. The detailed experimental design is as follows: (i) The HLF platform consists of two peer organizations, Org1 and Org2, each with two Peers, Peer0, and Peer1. It also configures a single-node Raft ordering service. All HLF participants are issued certificates by the built-in fabric certificate authority (CA). (ii) We measured the performance of the authorization mechanism using Caliper [23], an evaluation tool developed for the Hyperledger Foundation. (iii) The mechanism consists of three smart contracts and two ledgers. Namespace and policy information are stored in one ledger, and the access token is stored in another to facilitate the subsequent token verification operations.
Figure 7 and Figure 8 shows the evaluated results of the decentralized authorization mechanism. Figure 7 interprets the performance results for the query ledger (query naming and policy). Figure 7a sets the Caliper to submit 2000 transactions per round. By varying the transaction’s rate controller from 100TPS to 1000TPS, it can be seen that the throughput leveled off after a period of increase, but the latency kept trending upwards. Figure 7b sets the transaction’s rate controller to 750 TPS for each round. By varying the number of transactions submitted from 1000 to 10,000, the maintained throughput remained at approximately 700 TPS, with the success rate of transactions at a high level. Figure 7 illustrates that, when the transaction’s rate controller reaches approximately 700 TPS, an increase in the transaction throughput is blocked, i.e., the local system processing bottleneck is reached. Figure 8 shows the performance results for the updated ledger (update authorization token). The combination of Figure 8a,b demonstrates that the maximum processing capacity of the system is of approximately 150TPS. Accordingly, comparing Figure 7 and Figure 8, it is evident that the performance of the query ledger is much higher than that of the updated ledger because the query ledger operation involves the interaction with only one peer node. On the contrary, the updated ledger operation involves multiple participants (peer endorser, orderer, committer peer) and multiple stages [15].
In the naming-based access control model, the device encrypts and publishes data packets based on the resource namespace. The data processor sends interest packets to achieve encrypted data and decryption keys and decrypts data according to the derived keys. We assume that all data packets the data processor requests can be returned, and the obtained decryption key can decrypt all relevant data. Furthermore, the calculated time of the data producer includes the total time from generating the data to publishing them, and the data processor’s total time includes requesting the data to decrypt them.
Figure 9 shows the time of publishing/receiving data with different packet sizes and numbers with the namespace depth equal to 10. In Figure 9a,b, the different size packets merged multiple data points ranging from 1 KB to 6 KB (up to 8 KB per packet). The results show that the time spent on encryption, decryption, signing, and verification accounts for relatively little of the total time. The remaining time includes packet and communication time in NDN, spending a relatively large amount of time. In addition, as the packet size increases, there is a slight increase in the time spent in each phase. In Figure 9c,d, we fix the packet size to 4 KB to verify the effect of namespace depth on the published and received data. The results show that the time spent in each phase increases as the number of packets increases, where the majority of time is still spent in the NDN.
Figure 10 assesses the relationship between the latency time and packet numbers with different namespace depths. The results of Figure 10a indicate that as the packet numbers increase, a different namespace depth does not have much effect on the publishing time. In contrast, Figure 10b shows that time spent by data processors significantly increases with higher namespace depths. This is because, when the device encrypts data, the namespace’s length has little effect on the encryption operation. Instead, the data processor needs to derive multiple keys when deeper in the namespace’s length.
Subsequently, we compare NACDA to NAC-ABE [24], which uses ABE in NDN, as shown in Figure 11. Since our method considers a data-centric encryption approach, the user attributes and attribute policies in NAC-ABE are converted into data-centric representation. Take the two sub-namespaces /alice/health/BP and /alice/health/HR as examples. In data encryption, both NACDA and NAC-ABE use “1-alice, 2-health, 3-BP” and “1-alice, 2-health, 3-HR” as encryption parameters. When distributing decryption keys, NACDA only needs to share the key for /alice/health/*. In contrast, NAC-ABE needs to share the key for the policies “(1-alice AND 2-health AND 3-BP) or (1-alice AND 2-health AND 3-HR)”. Thus, our method only needs to distribute a smaller size key, which is an advantage, especially when the namespace depth is large. As for decryption, NACDA has one more key derivation step than NAC-ABE. However, we can learn from Figure 9 that the operation in NDN takes more time than data encryption- and decryption-related steps. Thus, reducing the key size can further reduce the time spent on packaging and communication in the NDN, which further reduces the overhead of decryption.

6.3. Security Analysis

In this section, we analyze the security of our method. We focus on privacy protection and access control in NDN, which includes four security objectives: (i) data security: data security is built into the data themselves and is not dependent on the recipient. (ii) data integrity: the data need to prove their origin; they cannot be altered once created; and (iv) access control: only authorized data processors can access the data. Next, we analyze the objectives and the corresponding attacks in theory and practice. Note that the attacks associated with routing in NDN networks are beyond our scope.

6.3.1. Data Security

NDN relies on WKD-IBE for data security. The WKD-IBE scheme is IND-sWKID-CAP security, described as follows.
Theorem 1. 
A WKD-IBE scheme is indistinguishable under a selective-identity, chosen-plaintext attack, i.e., IND-sWKID-CAP secure (Indistinguishability against Selective-Identity with Wildcard Key, Chosen-Plaintext Attack), if and only if for all probabilistic polynomial-time attacker A whose advantage of winning the following game interacting with challenger C is negligible for the security parameter k [6].
I n i t i a l i z a t i o n . Give the depth of the namespace ℓ and security parameter k, C run S e t u p to generate the public parameters P a r a m s and the master key M a s t e r K e y , and then A obtains P a r a m s from the blockchain.
Q u e r y 1 .   A asks C for the keys of its sub-namespace. In the ith query, A adaptively selects a sub-namespace s. C runs K e y D e r to generate s k s and sends it to A .
C h a l l e n g e .   A chooses two messages, m 0 and m 1 , with the same length and sends them to C. Then, C chooses a random bit b 0 , 1 , encrypts m b under the pattern p, runs E n c ( P a r a m s , p , m b ) , and sends the generated ciphertexts to A .
Q u e r y 2 .   A can continue to query like Query 1.
G u e s s .   A outputs guess b . if b = b , A wins the game. The advantage of A is Pr b = b 1 2 .
Analysis. Based on the IND-sWKID-CAP security guarantee, we analyze data security in NDN. In I n i t i a l i z a t i o n , each data subject initializes M a s t e r K e y and P a r a m s , respectively, and M a s t e r K e y remains private while P a r a m s is propagated by the blockchain, avoiding single-point-failure attack. In the data encryption phase, IoT devices only encrypt the data but cannot access decryption keys. The decryption keys are also not shared with storage services, intermediate nodes, or authorization services. Then, an A Q u e r y step is performed by A , and we divide it into two cases. The first case assumes that A is a non-authorized user. A will request the authorization service to obtain an access token before requesting the decryption keys. However, A is not qualified to obtain that token and, thus, not eligible to request the decryption keys. The second case assumes that A is a user authorized by a data subject. A obtains an access token and requests the decryption key. Additionally, A wants to obtain decryption keys outside the authorized scope. However, the token for the keys only supports Q u e r y once, and does not perform continuous querying. Thus, attacker A does not have the opportunity to perform an ongoing Q u e r y , so it is challenging to perform a successful G u e s s .
Accordingly, our method guarantees data confidentiality in the NDN and can block constant attempts by attackers. Furthermore, even if the key of the sub-namespace is compromised, the data storage node will validate the data access token to check whether it is an authorized user. Taking a further step back, even if both the key access token and the data access token are compromised, the attacker can only access data in that sub-namespace scope within the token’s validity time.

6.3.2. Data Integrity

The integrity guarantees can be formalized using a game similar to Theorem 1. We do not repeat the description here.
Analysis. Our method is based on WKD-IBE to guarantee data integrity. The data subject allocates to each IoT device a signing key certificate associated with the authorized sub-namespace. Then, the devices put their signing key name into each NDN’s packet before publishing. The data processor can verify the signature, which prevents the message from being tampered with or forged. Therefore, the authentication mechanism of each packet prevents the malicious tampering of the message by man-in-the-middle attacks.

6.3.3. Access Control

The standard blockchain threat model assumes that the blockchain network is secure if an adversary cannot control a large percentage of nodes.
Analysis. NDNs are named after content and need to add access control to the content to establish a relationship with authorized consumers. Our approach is based on the blockchain to provide a decentralized authorization service. The decentralized nature of the blockchain ensures that an adversary cannot compromise the blockchain network to make unauthorized changes to the ledger. In addition, if the authorized token is compromised during transmission, a secondary verification mechanism can reconfirm it to prevent compromise, which alleviates token impersonation attacks.

7. Conclusions and Future Work

This paper introduces NACDA, a decentralized access control framework based on NDN. It enables data subjects to share their data autonomously and securely in a many-to-many communication scenario. Specifically, the named-based access control model provides encryption and access control schemes that decouple data subjects and processors, enabling secure, flexible, and selective data sharing. The decentralized authorization mechanism solves the problem of a single point of failure for NDN data retrieval and authorization services, allowing data subjects to customize access policies. Our experimental results and security analysis indicate the feasibility and applicability of NACDA in many-to-many communication scenarios.
There are two aspects to be improved. Firstly, NDN’s naming concerns data semantics and access control. An attacker may infer sensitive information about a user by monitoring the user’s requests. Therefore, the main challenge for naming is maintaining name privacy while ensuring the routability and decodability. Secondly, blockchain immutability provides the ability to audit authorization records to verify users’ compliance with GDPR. However, there exists conflict between the immutability of recorded transactions and the GDPR’s ‘right to be forgotten’. The above-mentioned decodability can be a way to mitigate that conflict since the ‘right to be forgotten’ is associated with the ability to decode a namespace on the ledger.

Author Contributions

Conceptualization, M.L. and Y.W.; Methodology, M.L. and Y.W.; Software, M.L.; Validation, M.L. and Y.W.; Investigation, M.L.; Data curation, M.L.; Writing—original draft, M.L.; Writing—review & editing, J.X. and Y.W.; Visualization, M.L.; Supervision, J.X., Y.W., R.M. and W.H.; Project administration, J.X. and Y.W.; Funding acquisition, J.X. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Key Research & Development Program of China (No. 2020YFC2006204), the National Natural Science Foundation of China (No. 62172042), and the Opening Foundation of Key Laboratory of Network Evaluation Technology, CAS under Grant KFKT2022-008.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Sim, I. Mobile devices and health. N. Engl. J. Med. 2019, 381, 956–968. [Google Scholar] [CrossRef] [PubMed]
  2. Lu, L.; Zhang, J.; Xie, Y.; Gao, F.; Xu, S.; Wu, X.; Ye, Z. Wearable health devices in health care: Narrative systematic review. JMIR Mhealth Uhealth 2020, 8, e18907. [Google Scholar] [CrossRef] [PubMed]
  3. Singh, M.; Rajan, M.; Shivraj, V.; Balamuralidhar, P. Secure MQTT for Internet of Things (IoT). In Proceedings of the 2015 Fifth International Conference on Communication Systems and Network Technologies, Gwalior, India, 4–6 April 2015. [Google Scholar]
  4. Zhang, L.; Afanasyev, A.; Burke, J.; Jacobson, V.; Claffy, K.; Crowley, P.; Papadopoulos, C.; Wang, L.; Zhang, B. Named Data Networking. ACM SIGCOMM Comp. Commun. Rev. 2014, 44, 66–73. [Google Scholar] [CrossRef]
  5. Feng, T.; Guo, J. A New Access Control System Based on CP-ABE in Named Data Networking. Int. J. Netw. Secur. 2018, 20, 710–720. [Google Scholar]
  6. Abdalla, M.; Kiltz, E.; Neven, G. Generalized Key Delegation for Hierarchical Identity-Based Encryption. In Proceedings of the Computer Security—ESORICS 2007, Dresden, Germany, 24–26 September 2007. [Google Scholar]
  7. Horwitz, J.; Lynn, B. Towards Hierarchical Identity-Based Encryption. In Advances in Cryptology—EUROCRYPT 2002; Springer: Berlin/Heidelberg, Germany, 2002. [Google Scholar]
  8. Zheng, Z.; Xie, S.; Dai, H.N.; Chen, X.; Wang, H. Blockchain Challenges and Opportunities: A Survey. Int. J. Web Grid Serv. 2018, 14, 352–375. [Google Scholar] [CrossRef]
  9. Nour, B.; Khelifi, H.; Hussain, R.; Mastorakis, S.; Moungla, H. Access control mechanisms in named data networks: A comprehensive survey. ACM Comput. Surv. 2021, 54, 1–35. [Google Scholar] [CrossRef]
  10. Zhang, Z.; Yu, Y.; Afanasyev, A.; Burke, J.; Zhang, L. NAC: Name-Based Access Control in Named Data Networking. In Proceedings of the 4th ACM Conference on Information-Centric Networking (ICN’ 17), Berlin, Germany, 26 September 2017. [Google Scholar]
  11. Fan, L.; Yu, Y.; Wang, L. Secure Sharing of Spatio-Temporal Data through Name-based Access Control. In Proceedings of the IEEE INFOCOM 2021–IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Vancouver, BC, Canada, 10–13 May 2021. [Google Scholar]
  12. Fotiou, N.; Polyzos, G.C. Decentralized name-based security for content distribution using blockchains. In Proceedings of the 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), San Francisco, CA, USA, 10–14 April 2016. [Google Scholar]
  13. Ouaddah, A.; Abou Elkalam, A.; Ait Ouahman, A. FairAccess: A New Blockchain-based Access Control Framework for the Internet of Things. Secur. Commun. Netw. 2016, 9, 5943–5964. [Google Scholar] [CrossRef]
  14. Truong, N.B.; Sun, K.; Lee, G.M.; Guo, Y. GDPR-Compliant Personal Data Management: A Blockchain-Based Solution. IEEE Trans. Inf. Forensic Secur. 2020, 15, 1746–1761. [Google Scholar] [CrossRef] [Green Version]
  15. Foschini, L.; Gavagna, A.; Martuscelli, G.; Montanari, R. Hyperledger Fabric Blockchain: Chaincode Performance Analysis. In Proceedings of the ICC 2020—2020 IEEE International Conference on Communications (ICC), Dublin, Ireland, 7–11 June 2020. [Google Scholar]
  16. Jøsang, A. A Consistent Definition of Authorization. In Proceedings of the Security and Trust Management, Oslo, Norway, 14–15 September 2017. [Google Scholar]
  17. Chhetri, T.R.; Kurteva, A.; DeLong, R.J.; Hilscher, R.; Korte, K.; Fensel, A. Data Protection by Design Tool for Automated GDPR Compliance Verification Based on Semantically Modeled Informed Consent. Sensors 2022, 22, 2763. [Google Scholar] [CrossRef] [PubMed]
  18. Kumar, S.; Hu, Y.; Andersen, M.P.; Popa, R.A.; Culler, D.E. JEDI: Many-to-many end-to-end encryption and key delegation for IoT. In Proceedings of the 28th USENIX Conference on Security Symposium (SEC’19), Santa Clara, CA, USA, 14 August 2019. [Google Scholar]
  19. Kumar, S.; Hu, Y.; Andersen, M.P.; Popa, R.A.; Culler, D. JEDI: Many-to-Many End-to-End Encryption and Key Delegation for IoT. arXiv 2019, arXiv:1905.13369v2. [Google Scholar]
  20. NFD: Named Data Networking Forwarding Daemon. Available online: https://named-data.net/doc/NFD/current/ (accessed on 6 February 2023).
  21. Hyperledger Fabric. Available online: https://github.com/hyperledger/fabric (accessed on 6 February 2023).
  22. Androulaki, E.; Barger, A.; Bortnikov, V.; Cachin, C.; Christidis, K.; De Caro, A.; Enyeart, D.; Ferris, C.; Laventman, G.; Manevich, Y.; et al. Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains. In Proceedings of the Thirteenth EuroSys Conference (EuroSys ’18), Porto, Portugal, 23 April 2018. [Google Scholar]
  23. Hyperledger Caliper. Available online: https://hyperledger.github.io/caliper/ (accessed on 6 February 2023).
  24. NAC-ABE. Available online: https://github.com/UCLA-IRL/NAC-ABE (accessed on 6 February 2023).
Figure 1. Two packets in NDN.
Figure 1. Two packets in NDN.
Electronics 12 01651 g001
Figure 2. NACDA’s design concept.
Figure 2. NACDA’s design concept.
Electronics 12 01651 g002
Figure 3. NACDA architecture.
Figure 3. NACDA architecture.
Electronics 12 01651 g003
Figure 4. Name-based access control model.
Figure 4. Name-based access control model.
Electronics 12 01651 g004
Figure 5. Alice’s namespace.
Figure 5. Alice’s namespace.
Electronics 12 01651 g005
Figure 6. Decentralized Authorization Mechanism.
Figure 6. Decentralized Authorization Mechanism.
Electronics 12 01651 g006
Figure 7. Performance of READ from HLF’s ledgers. (a) Performance of Different Send Rates with a TxNumber Equal to 2000. (b) Performance of Different TxNumber with a Send Rate Equal to 750.
Figure 7. Performance of READ from HLF’s ledgers. (a) Performance of Different Send Rates with a TxNumber Equal to 2000. (b) Performance of Different TxNumber with a Send Rate Equal to 750.
Electronics 12 01651 g007
Figure 8. Performance of WRITE to HLF’s ledgers. (a) Performance of Different Send Rates with a TxNumber Equal to 2000. (b) Performance of Different TxNumber with a Send Rate Equal to 150.
Figure 8. Performance of WRITE to HLF’s ledgers. (a) Performance of Different Send Rates with a TxNumber Equal to 2000. (b) Performance of Different TxNumber with a Send Rate Equal to 150.
Electronics 12 01651 g008
Figure 9. Performance of Publishing/Receiving a Message with Different Packet sizes and Numbers.
Figure 9. Performance of Publishing/Receiving a Message with Different Packet sizes and Numbers.
Electronics 12 01651 g009
Figure 10. Performance of Publishing/Receiving a Message with Different Namespace Depths and Packet Numbers. (a) Publishing with Different Namespace Levels and Packet Numbers. (b) Receiving with Different Namespace Levels and Packet Numbers.
Figure 10. Performance of Publishing/Receiving a Message with Different Namespace Depths and Packet Numbers. (a) Publishing with Different Namespace Levels and Packet Numbers. (b) Receiving with Different Namespace Levels and Packet Numbers.
Electronics 12 01651 g010
Figure 11. Publishing/Receiving Comparison with Different Namespace Depths: (a) Publishing Comparison with Different Namespace Depths; (b) Receiving Comparison with Different Namespace Depths.
Figure 11. Publishing/Receiving Comparison with Different Namespace Depths: (a) Publishing Comparison with Different Namespace Depths; (b) Receiving Comparison with Different Namespace Depths.
Electronics 12 01651 g011
Table 1. Comparison of NACDA With Other Name-based Access Control.
Table 1. Comparison of NACDA With Other Name-based Access Control.
Related ResearchName-Based SecurityMultiple Naming GranularityKeys Distribution FlexibilityDecoupling and Namespace DelegationNamespace Granting Simplicity
[10]YNNNN
[11]YYNNN
[5]YYYNN
[12]YYYYN
Our workYYYYY
Table 2. Notation of entries in NACDA architecture.
Table 2. Notation of entries in NACDA architecture.
NotationDescriptionFunction
IoT devicesDevices for producing
data
Producing, encrypting, and
uploading data
Data subjectThe owner of dataThe management of names,
spaces, access policies, and
decryption keys
Data controllerSomeone or an institution
who manages personal data
Assuring the rights
of data subjects
Data processorSomeone who wants
to access data
Requesting access rights,
decryption keys, and
decrypting data
NDNInternet architectureStoring, caching, and
forwarding data
BlockchainDecentralized serversStoring namespaces, access
policies, and granting access
rights
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Li, M.; Xue, J.; Wang, Y.; Ma, R.; Huo, W. NACDA: Naming-Based Access Control and Decentralized Authorization for Secure Many-to-Many Data Sharing. Electronics 2023, 12, 1651. https://doi.org/10.3390/electronics12071651

AMA Style

Li M, Xue J, Wang Y, Ma R, Huo W. NACDA: Naming-Based Access Control and Decentralized Authorization for Secure Many-to-Many Data Sharing. Electronics. 2023; 12(7):1651. https://doi.org/10.3390/electronics12071651

Chicago/Turabian Style

Li, Minghui, Jingfeng Xue, Yong Wang, Rui Ma, and Wei Huo. 2023. "NACDA: Naming-Based Access Control and Decentralized Authorization for Secure Many-to-Many Data Sharing" Electronics 12, no. 7: 1651. https://doi.org/10.3390/electronics12071651

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop