# A PEKS-Based NDN Strategy for Name Privacy
## 2 Background and Related Work
### Related Solutions on Name Privacy  
Name Privacy issues have been considered in several related work. Proxy re-encryption is used in [7] to protect the name privacy of the packets and they apply the ElGamal encryption scheme. In their work,  
Figure 4: Public key encryption with keyword search (PEKS) system framework.  
there are ICN hosts (content consumer and producer) and ICN nodes (routers). The edge node nearest to a consumer or a producer behaves as a proxy. A Key Management Server (KMS), which holds a master key \(X_{MK}=X_{client}+X_{proxy}\), where \(X_{client}\) is a client key and \(X_{proxy}\) is a proxy key. The consumer encrypts interest names using its own client key and sends interest packets to the proxy. The proxy re-encrypts the incoming interest names with the associated proxy key to the consumer, and then it forwards to the network. It seems like the ciphertexts are encrypted using the master key after the proxy re-encryption. In their work, each name component is input to a pseudorandom function, which is common to all consumers and producers in the network. The output value of the pseudorandom function is used in place of random value which means the encryption has the same output for same plaintexts. Furthermore, their scheme relies on a single Key Management Server for the whole domain. Privacy-aware transmission scheme based on homomorphic proxy re-encryption for NDN (PATS_NDN) systems in [24] uses proxy re-encryption and a blind algorithm for privacy-aware content retrieval. In their work, Content Provider publishes generated content to the network. Then consumer uses a shared master secret key to encrypt the content name and requests alias name to the provider. The provider then generates an alias of content name by using a quadratic function and also generates a re-encryption key with respect to the consumer's public key. It then uses a blind algorithm to cover the alias. At last, the producer sends the information to the consumer. The latter then creates an interest packet and sends it to the network. Any router that receives the interest packet will check if there exists the matched data content. If it finds out a match, it will reply data. Otherwise, it will forward to the network. In their work, many encryption and decryption are involved. This creates some latency during transmission.  
Paper [9] designs a tool called AND\(\overline{\text{a}}\)NA which contains a number of features from Tor. It is an onion routing overlay network and provides privacy and anonymity to consumers. A pair of distinct anonymizing routers (ARs) are used to send encrypted interest packets. A consumer generates two symmetric keys that will be used to encrypt the retrieved content packet and shares to respective ARs. When the AR, which is closed to the producer, receives a data packet, it encrypts the whole packet with the key provided by the consumer. Then it creates a data packet containing the ciphertext as content and sends it to the next AR. The latter retrieves the ciphertext from the received data packet and encrypts it by using the consumer provided key. The second AR forwards the result of the encryption to the consumer. The consumer then decrypts the payload. However, due to data encryption, caching effectiveness is reduced. Name and naming convention explicitly convey desired information and can facilitate trust and key management in NDN. An identity-based architecture is introduced in [25] to prevent the operation traceability. Domain Trusted Entity (DTE) is a special entity to manage and protect the communication aspects of its domain identities. The usage of Bloom filters is suggested in [26] as a possible solution for name privacy. By using Bloom filter, the architecture would contain a hierarchical bloom filter used as a routing table, a counting bloom filter for each interface used as a PIT table, and a hierarchical bloom filter used as the router storage. However, using Bloom filters gives false positives and it is necessary to reset periodically.