# Multi-Authority Revocable Access Control Method Based on CP-ABE in NDN
## 3 Design and Implementation of Access Control Method
### Overall Design of Access Control Method  
The CP-ABE-based access control system in the NDN proposed in this paper mainly includes the following five parts: NDN cache node, global certificate authority (CA), attribute authorization center (AAs), content publisher, and content consumer. Figure 1 demonstrates flow of the NDN access control system.  
Central Authorization Center (CA)  
The CA is fully trusted. It is primarily responsible for the authentication of the Authorization Center and consumer users in the system, and publishes a globally unique identifier uid for each NDN consumer user, giving each AA a globally unique identity \(aid_{i}\), which does not participate in any work related to property management and key generation.  
2. Attribute Authorization Centers (Hereinafter abbreviated as AA or \(AA_{i},i=1,\ldots,k\))  
Each \(AA_{i}\) is independent of others and each \(AA_{i}\) manages different attributes and generates related keys. In this scenario, each \(AA_{i}\) can control any number of attributes, and one \(AA_{i}\) can only manage each attribute. Each \(AA_{i}\) is responsible for generating an attribute public key PK\(x\) for the attributes of the management attribute domain, and dividing the consumer key into a proxy key \(PxK_{uid\_{idid}}\). \(PxK_{uid\_{idid}}\) will be sent to the NDN routing node for storage, and the routing node will add the consumer user's \(PxK_{uid\_{idid}}\) to the proxy key list \(LPxK\). The user secret key \(SK_{uid}\) is sent to the corresponding consumer users that are kept by the consumer users themselves.  
3. Content Publisher  
The content publisher defines an access control policy for attributes from \(AA_{i}\), and then encrypts the content that needs to be shared. These encrypted content ciphertexts are cached at the NDN routing node.  
4. NDN cache nodes  
They can provide storage services for NDN network content through their own storage policies, and provide response packets for them according to the consumer's interest package. When a user issues a file query request, the cloud service provider first checks if his set of attributes conforms to the access structure. If his attribute meets the access structure, then the partially decrypted ciphertext is computed. Only legitimate consumer users can decrypt the content of the ciphertext by using the proxy key through the NDN routing node. The legitimate consumer users then send the decrypted data to the appropriate consumer.  
5. Content Consumer  
Figure 1: Flow of the Named Data Network (NDN) access control system.  
Content consumers can obtain encrypted data from their neighbor routers or publishers while requesting their keys from the relevant CA. The NDN routing node partially decrypts it using its proxy key. After the consumer user obtains the partially decrypted content, the user can use the key to decrypt the remaining portion to obtain the plaintext data.  
The main steps of the mechanism are divided as follows. The first step is for the CA to initialize the system to issue a globally unique identity to the AA and to issue a globally unique identity to the content consumer. The second step AA is responsible for managing the attributes of the attribute domain and generating the attribute public key. In addition, the AA will generate a proxy key and add it to the NDN routing node, and the AA will send the private key to the corresponding consumer user. In the third step, the publisher needs to use the public key to encrypt the information to be published. The fourth step is that the consumer user requests a key from the CA or uses the proxy key of the NDN node for partial decryption.