AccConF: An Access Control Framework for Leveraging In-Network Cached Data in ICNs Satyajayant Misra†, Reza Tourani†, Frank Natividad†, Travis Mick†, Nahid Ebrahimi Majd‡ and Hong Huang? † Computer Science Department, New Mexico State University, Las Cruces, New Mexico Email:{misra, rtourani, fnativid,tmick}@cs.nmsu.edu ‡ Computer Science Department, California State University, San Marcos, California Email:{nmajd}@csusm.edu ? Electrical and Computer Engineering Department, New Mexico State University, Las Cruces, New Mexico Email:{hhuang}@nmsu.edu

Netflix Repository Abstract—The fast-growing Internet traffic is increasingly becoming content-based and driven by mobile users, with users more interested in data rather than its source. This has precipitated the need for an information-centric Internet archi- Netflix server1 Netflix server2 tecture. Research in information-centric networks (ICNs) have resulted in novel architectures, e.g., CCN/NDN, DONA, and Top Level PSIRP/PURSUIT; all agree on named data based addressing CDN and pervasive caching as integral design components. With CDN1 CDN2 CDN3 CDN4 5

network-wide content caching, enforcement of content access Upper Level control policies become non-trivial. Each caching node in the

network needs to enforce access control policies with the help ISP2 ISP3 ISP of the content provider. This becomes inefficient and prone to 1 Base Station unbounded latencies especially during provider outages. Lower Level In this paper, we propose an efficient access control frame- Bottom Level work for ICN, which allows legitimate users to access and Fig. 1. Multi-level network architecture for Internet-based content distri- use the cached content directly, and does not require verifica- bution. tion/authentication by an online provider authentication server or the content serving router. This framework would help reduce allows each user on the Internet to become a data server. the impact of system down-time from server outages and re- duce delivery latency by leveraging caching while guaranteeing This phenomenon has led to the Internet users becoming access only to legitimate users. Experimental/simulation results indifferent about the data source (video, music, movies) as demonstrate the suitability of this scheme for all users, but long as they are reasonably sure about the content. These are particularly for mobile users, especially in terms of the security alarming signs—the Internet was not engineered to scale for and latency overheads. such trends. Keywords: Information-centric networks, threshold secret sharing, authentication, caching, access control. To address these concerns there has been a strong push to redesign the Internet architecture. This push is aimed at a shift from the host-centric Internet to the information- arXiv:1603.03501v1 [cs.NI] 11 Mar 2016 1. INTRODUCTION centric network [15] where each data item is named and The nature of the traffic and the service requirements from routing is performed using the name. The ICN Internet the Internet have changed tremendously. As per the Cisco leverages pervasive in-network data caching and has built- Visual Networking Index Forecast (2019) [6]: high bandwidth in intelligence to satisfy requests by obtaining the data from video traffic would account for 77% of the Internet traffic by network caches or the content provider, and transferring it to 2019 and mobile wireless devices will account for 77% of the requester(s). Several newly proposed Information-Centric the world Internet traffic. This implies that the majority of the Network (ICN) architectures, such as the CCN/NDN [15], traffic on the Internet will be multimedia and emanate from DONA [16], PSIRP [30], PURSUIT [11], and NetInf [7], wireless mobile users. This rapid growth has also been fueled aim to attain the above objectives. We refer the interested by the use of P2P software (Ares, BitTorrent, etc.), which readers to a survey on Information-Centric Networks [1] for more information. This work has been submitted to IEEE Transactions on Information In today’s Internet most Content Providers (CPs) use Forensics and Security journal and is supported in part by the U.S. NSF grants:1345232 and 1248109 and the U.S. DoD/ARO grant: W911NF-07- content distribution networks (CDNs) to cache (store) content 2-0027. geographically closer to the users for faster content delivery. As shown in Fig. 1, the Internet hierarchy consists of CPs at authenticator/verifier. (ii) Discussions on design and imple- the top, followed by the CDNs (e.g. Akamai and Limelight), mentation issues of AccConF in the popular CCN/NDN and then the ISPs (e.g. Comcast, AT&T, and Verizon), architecture. (iii) Proof that AccConF can handle user revo- culminating in the static/mobile end-users. This architecture cations limited by a large threshold t and can be augmented places most of the CDN nodes at the edge of ISPs (refer to handle more than t revoked users. (iv) Implementation of Fig. 1) to reduce the network traffic; yet the ISPs keep AccConF in a CCN/NDN testbed and the ndn-SIM simulator deploying more network resources to handle the explosive on ns-3 and accompanying analysis validating its usability in data growth. The ICN paradigm, with its decoupling of data mobile devices. from the source, will enable in-network caching by the ISPs, In Section 2, we present the related work. In Section 3, we reducing their network traffic load and improving scalability present the basic definitions and notations, and in Section 4, and data availability [33]. But, the important concern is how we present the system model, security assumptions, and the to ensure that the available cached content are only usable threat model. We present our framework in Section 5, its ICN by authentic/legitimate users? specific details in Section 6, and discuss its security provi- Let’s illustrate this concern using Netflix as the CP and sions in Section 7. In Section 8, we present our experimental the CCN/NDN Internet architecture [15]. To ensure user results and analysis. In Section 9, we present our conclusions. authenticity, in the current architecture, a legitimate user’s Netflix player authenticates itself to a server hosted on a 2. RELATED WORK Cloud service (e.g., Amazon EC2). Once the server authen- In CCN/NDN [15], the user’s data interest (request) is ticates the user, the player/client connects to a CDN node either served by an intermediate router that receives the (selected based on network load, proximity, etc.) to access interest and has the data cached or the Content Provider (CP). the content. The access control (AC) is enforced by the server Data is routed back using information stored in a router’s and subsequently, streaming happens from the designated pending interests table and the forwarding information base, CDN node. and is cached at each forwarding router. In DONA [16], CPs With ICN, ubiquitous caching would require each node advertise their named content, in form of P:L where P is the that caches any portion of a content to enforce the AC hash of their public key and L is the content’s unique label, policies; an impractical exercise. To cope with this problem, to resolution handlers (RHs), which form an inter-domain the user still has to authenticate himself to Netflix. The RH-hierarchy. A user transmits a data request with the help decryption key, for the encrypted cached content, is granted of the RH-hierarchy to a data source, which then transmits to the user upon successful authentication. However, there is the data back along the same path. The data can be cached an obvious concern; in our illustration, if the cloud service, in the buffer of the involved RHs along the return path. The Amazon EC2, is down, then the Netflix service is down. The design paradigms of both PURSUIT and PSIRP [11] involve user cannot authenticate himself to use the cached content. three separate elements – publishers, subscribers, and the This has occurred several times in the past. One may argue REndezvous NEtwork (RENE) with similar naming scheme that this service-loss can be addressed through better service- as DONA. Rendezvous Points (RPs) in RENE perform level agreements (SLAs) with the cloud provider, but even the rendezvous action between publishers and subscribers and best SLA cannot guarantee zero downtime. A better approach select a path for a publisher/subscriber pair. Network of In- is one that can leverage the data available in routers close to formation (NetInf) [7] provides a service conceptually similar the users, to satisfy requests from legitimate users. to the rendezvous service in PSIRP/PURSUIT. Caching and This research is motivated by these observations. We named data based addressing are integral facets of all these address the question: Can we design an efficient AC frame- architectures, which are also the only two pre-requisites of work to utilize the cached content in ICNs that only serves our framework. legitimate users/subscribers? In this paper, we extend our AC in the ICN has recently received more attention from preliminary framework to answer this question [23] (ACM the community [2], [5], [10], [12], [14], [19], [20]. In [2], ICN Workshop, 2013) and show that our framework also the authors proposed a per-user privacy design in which increases content availability (even when the provider’s au- content chunks are mixed with chunks of cover and the thentication service is offline) and improves clients’ quality results are published into the network. The user gets the of experience. necessary decoding information via a secure back channel In a nutshell, our contributions include: (i) Design of from the CP, which requires the CP to be always online. AccConF a novel ICN AC framework to guarantee trusted Fotiou et al. proposed an AC enforcement delegation tech- content in nearby caches can be efficiently used by only nique [10]. This scheme introduces the Relaying Party (RP) legitimate users/subscribers. AccConF leverages broadcast and the Access Control Provider (ACP) entities, which are encryption and specifically targets mobile users that are at responsible for storing the content and enforcing the AC the low-end of the devices capability/power spectrum. Our policies, respectively. The RP (a caching node) receives the framework also obviates the need for an “always online” user’s request and sends a secret and the corresponding AC policy to both the ACP and the user. The user authenticates total number of users. In 2001, Naor et al. [25] decreased himself to the ACP by forwarding the received secret, the the key storage requirement to log n. Broadcast encryption policy, and his credentials. The ACP authenticates the user has found use in the real-world applications. For instance, and notifies the RP to transfer data. This technique requires subset difference based BE is used for AACS, HD DVD, interaction between each router and an ACP, which is not , and Blu-ray disc encryption. However, these scalable. techniques are not readily usable for secure content delivery Chen [5] proposed a probabilistic encryption-based AC on power and computation constrained mobile devices. which leverages symmetric/asymmetric cryptographic opera- In this paper, we extend our preliminary work [23], which tions. The proposed mechanism was augmented with a Bloom uses the public-key based traitor tracing t-resilient algorithm filter representing the authorized clients’ public keys; that is proposed by Tzeng and Tzeng in [32] as a building block used by the intermediate routers to verify a user before for- to create a secure content delivery framework especially warding the encrypted content. In [12], the authors proposed applicable for mobile devices. Our enhanced framework a mechanism built upon name obfuscation and authorized (AccConF) ensures that mobile devices need less than 4 ad- disclosure; the former prevents the unauthorized clients to ditional seconds at start-up on account of the BE procedures. obtain the content name. The latter requires any entity, with This guarantees that user experience is not affected adversely. a copy of the content, to perform client authentication and We also, propose a detailed protocol for handling |R| > t, authorization. In this scheme, the content name is encrypted and address the real-world implementation challenges and (hashed) to prevent unauthorized access; the content is in present more analysis and experimental results. plaintext. Majority of the proposed AC mechanisms in ICN either Li et al. [20] designed a light-weight signature and AC need an entity (or a network of entities) for client authentica- enforcement mechanism that uses per-content tokens. Tokens tion and/or require the intermediate routers to perform client are generated and assigned by the content provider to the authentication. These assumptions, on one hand, undermine network entities according to their capabilities. Legitimate the scalability of the system due to the additional workload of users authorize themselves to a network router by obtaining the routers. On the other hand, they undermine the security; the content’s private token(s) from the content provider and in case a router decides to maliciously authenticates an unau- verifying to the router that they have the token(s). This thorized client. Different from prior work, in AccConF, there scheme suffers from the storage overhead of the token (three is no entity for AC enforcement; the intermediate routers per content) at the routers and the overhead of token synchro- only forward an extra content (enabling block), which is nization which undermine scalability. Also, the mechanism much smaller than the original content. In the event of client does not scale in the face of user-revocation as it requires revocation, our framework only incurs a minor updating cost complete re-keying at all routers. as opposed to the proposed mechanisms, which invariably Attribute-based AC has also been investigated for require system re-keying. ICN [14], [19]. In [14] the authors proposed a sketch of the key-policy and the ciphertext-policy based AC. In the key- 3. BASIC DEFINITIONS AND NOTATIONS policy, the content is encrypted with a key that is derived From here on, we denote the content provider as CP , the from the content attributes and the access policy is embedded content distribution network as CDN, a CDN node i as CNi, in the decryption key. For the ciphertext policy, the access the Internet Service Provider as ISP . In our framework, the policy includes the authorized clients’ attributes which is used CP and its servers are essentially the same as they perform the to generate the decryption key. Li et al. [19] proposed a same tasks, so we use the terms server and CP interchange- ciphertext-policy scheme in which the provider encrypts the ably. A user ui’s public/private key pair for asymmetric content with a symmetric key. It then encrypts the symmetric encryption/decryption is denoted as < Pi, P ri > and the key with the access policy, which results in the content name. CP’s corresponding key pair is denoted as < PS , P rS >. The user first acquires the content name from the name Now we define some key concepts used in the paper (please publishing system. Only an authorized user can decrypt the refer to [22] for details). content’s name using his attributes to get the symmetric key. Definition 3.1: [Broadcast Encryption] Broadcast en- The problem with the attribute-based systems is again lack cryption is defined as a mechanism where a CP can se- of support for client revocation and computation complexity. curely broadcast content to a set of legitimate users U = Broadcast encryption (BE) was first proposed by Fiat and {u1, u2, . . . , un}, such that each ui ∈ U can decrypt the Naor [9] to enable a source to send encrypted data to a content using his private key (or share). [26] 2 set of legitimate users in the network who can decrypt the Definition 3.2: [Shamir’s (t + 1, n)-threshold Secret data. The protocol was t-resilient (resilient to collusion of Sharing Scheme] In this secret sharing, a secret is shared up to t malicious users) with O = (t2 log2 t log n) message between n users in a way that at least (t+1) ≤ n users have transmission overhead and O = (t log t log n) key storage at to combine their shares to obtain the secret. No combination the user, where t is the revocation threshold and n is the of users less than t + 1 (t + 1 is termed the threshold), can decipher the secret. This scheme is implemented with (or their servers) form the top level of the network. The the help of a one-dimensional t-degree polynomial pt(x) = servers may be synchronized to have the same global image 2 t a0 + a1x + a2x + ... + atx , which can be uniquely of the user base or be distributed, serving non-overlapping determined using any t + 1 points on the polynomial. A user user groups, while still having access to the central content ui’s share is given by (xi, f(xi)), where xi is a point on repository. The content is pushed onto the CDN nodes–the the X-axis and f(xi) = pt(xi). In Shamir’s secret sharing next (upper) level of the system hierarchy–to transmit the scheme, generally the secret is the term a0 in the polynomial. data to the users connected to the ISPs. The next (lower) 2 level consists of ISPs, which cache the packets and forward Definition 3.3: [Lagrangian Interpolation Polynomial] the data to the users (bottom level). A Lagrange’s polynomial of degree n taking on the values For illustrating our framework and experimentation, we f(x0), . . . , f(xn) for the points x0, . . . , xn is given by, use the CCN/NDN architecture [15], and its code-base [17]. However, with all ICN architectures sharing the same premise (x − x1)(x − x2) ... (x − xn) Ln(x) = f(x0) + of caching and name based routing our framework will apply (x − x )(x − x ) ... (x − x ) 0 1 0 2 0 n to all. In our framework, Q and P = 2Q + 1 are large prime (x − x0)(x − x2) ... (x − xn) numbers, n is the number of users in the system, t is the f(x1) + ... + (x1 − x0)(x1 − x2) ... (x1 − xn) number of users that can be revoked without affecting system (x − x )(x − x ) ... (x − x ) performance; and given that all polynomial operations happen 0 1 n−1 ∗ f(xn) . in , n has to satisfy the condition n ≤ Q − t − 1. A first- (x − x )(x − x ) ... (x − x ) ZQ n 0 n 1 n n−1 time user registers with the CP to get his credentials and can Note that the secret a0 in Shamir’s secret sharing scheme obtain data from proximal nodes or the CP. can be obtained as a0 = Ln(0). In this paper, we denote the ith fractional term (also called the Lagrangian coefficient) in B. Set-up and Security Assumptions xj Ln(0) as, λi = Π0≤j(6=i)≤n resulting in a0 = Ln(0) = xj −xi We assume that the content is encrypted by the content f(x0)λ0 + f(x1)λ1 + ... + f(xn)λn. 2 provider using a secure symmetric key encryption algorithm, With Shamir’s secret sharing, when t+1 users combine their such as AES [22]. A content or a group of contents (set shares, they can obtain a unique interpolating polynomial us- of movies) may be encrypted using the same secret key–a ing well-known techniques, such as Lagrangian interpolation. legitimate user can decrypt the set of contents after suc- The Lagrangian interpolation method uses the Lagrangian cessfully extracting the key. Different secret keys can be Interpolation Polynomial to interpolate pt(x). used by the provider to encrypt different contents or groups Definition 3.4: [Decisional Diffie-Hellman (DDH) of contents; this allows the provider to define diverse AC Problem] Let G denote a multiplicative finite cyclic policies. Our framework’s objective is to ensure that the group of order Q (a large prime number), and g be a content is encrypted and cannot be used by an entity that generator of G, then given two distributions (gx, gy, gxy) x y z is not a legitimate user/client (not even CDN/ISP nodes). and (g , g , g ), where x, y, z ∈ ZQ (Z\ QZ), the set of We also assume that a legitimate user’s front-end player non-negative integers truncated by Q, and are chosen at does not store the symmetric key after decrypting the content, random, can the two distributions be distinguished? This and that a user cannot tamper the player, which performs DDH problem is widely assumed to be intractable [22]. 2 the decryption. Most content providers (Netflix, DirectTV, Definition 3.5: [Schnorr Group] Given two large primes Comcast) have a player (set-top box, a standalone or em- Q P P = rQ + 1 r ∈ ∗ ∗ and , where , ZQ, where ZQ is the bedded player), which performs the task of decryption of mod Q 1 < h < P multiplicative group of integers , choose , the content and these players are not easily tamperable. such that hr 6≡ 1 mod P , then g = hr generates a Schnorr ∗ Without this assumption, no known encryption scheme can group, which is a subgroup of ZP , the multiplicative group be used for security. We assume that the user does not mod P Q 2 of integers of order . [29] use VPN tunneling or other location-cloaking mechanisms, We use the Schnorr group for our framework. In cryptogra- such as the Tor network [31], to hide their location. In the phy, such prime-order subgroups are desirable as the modulus rest of the paper, we use the term user and client to refer Q is as small as possible relative to . interchangeably to the user’s mobile device. 4. SYSTEMAND THREAT MODELSAND ASSUMPTIONS C. Threat Model In this section, we present the system model, our security assumptions, and possible security threats to our framework. In a set-up for content delivery, data security is of ut- most importance. The use of symmetric key infrastructure, A. System Model public key infrastructure, and our framework guarantees data As the next generation Internet architecture is a notion that security. However, there are several other attack scenarios. is constantly in flux, we model AccConF to be adaptable. For instance, an attacker could flood the network with fake The setup is hierarchical as shown in Fig. 1, where the CPs interests (new or replayed interests), thus orchestrating a TABLE I denial of service (DoS) attack. An adversary can pollute NOTATIONS USED the routers’ caches by sending out unpopular requests [34]. Traffic analysis attack can be performed on a specific user Notation Description P , Q Big prime numbers such that P = 2Q + 1 to identify his content access pattern. A compromised or ∗ ∗ ZQ, ZP Multiplicative groups of integers of order Q colluding user’s keying materials can be extracted and used and P respectively by an adversary, not part of the system, to gain access to the GQ, GP Cyclic groups of order Q and P respectively g Generator of a sub-group of GP of order Q content by impersonation. The extracted keying materials can ∗ ZQrand() Random number generator in ZQ be used by an adversary to mount a Sybil attack [8]. Also, a0 Constant of pt(x) few revoked users (popularly termed as traitors) can collude t Degree of polynomial pt(x) and the revoca- to generate a key for a malicious user (pirate), not part of tion threshold R Set of revoked users, |R| ≤ t the system, to decode the content. Additionally, there are n Total number of legitimate users standard attacks by an adversary, such as chosen plaintext τ Secret (Symmetric) key for data encryption attack (CPA), chosen ciphertext attack (CCA), and adaptive Ti = (xi, f(xi)) Tuple of user ui Tr = (xr, f(xr)) Tuple of revoked user ur chosen ciphertext attack (A-CCA) [22], [32]. || Concatenation operator By virtue of the information-centric paradigm, our frame- pt(x) One-dimensional t-degree polynomial f(x ) Evaluation of coordinate x on p (x) ∈ ∗ work, can address most of the threats mentioned. For in- i i t ZQ E Server’s share (Protocol 1) stance, the use of the sequence numbers in the interest Ee Transformed server’s share (Protocol 2) and data packets, and caching at the edge routers can help SC Enabling block neutralize replay attacks. Aggregation of interest packets and γ Encrypted symmetric key τ Λ Set of partial Lagrangian coefficients controlling interest rates will mitigate DoS attacks. Note that Υ Secret (Symmetric) key composed of smaller neither the NDN architecture nor our framework require the keys concatenation th users to identify themselves to the communicating hosts nor λk k Lagrangian coefficient ˆ th in the interest packets. This ensures identity privacy, unless λk k partial Lagrangian coefficient of course, the routers in the user’s neighborhood collude them to be as hard as the DDH problem [32]. We augment to identify him. Cache pollution attacks has already been the proposed BE scheme to allow accurate and efficient addressed satisfactorily [34]. After proposing our framework, encryption of the content, and to ensure that contents can we will discuss its security against Sybil, collusion, and the only be used by legitimate users, but not by the revoked CPA, CCA, and A-CCA attacks. users. Table I presents the notations used to describe our framework. 5. ACCCONF:FRAMEWORKFOR HIGH AVAILABILITY AND EFFICIENCY IN SECURE CONTENT DELIVERY A. Overview of AccConF Now, we present our framework, which helps perform the Our framework consists of three major steps: The first two following for AC in an ICN: (i) Allows ISPs to cache the steps are performed at the server and are related to encrypting content packets at their edge-routers enabling requests for τ, the symmetric key for data encryption; only the last step is same data to be served from the cache. (ii) Increases the formed at the client. In the first step, the server generates a availability of the content to users by not requiring an initial polynomial of degree t and evaluates n+t (>> t) number of authentication by an online server. (iii) Ensures that only points on it. The server distributes n of the evaluated points legitimate users can use the content, according to the content among the n clients, one to each legitimate client, while it access policy, and no revoked user can use the contents. The keeps t of the remaining as its own shares. In the second protocols in our framework are either implemented at the top step, the server generates the enabling block – an essential or the bottom levels of the system hierarchy (Fig. 1). There metadata block, which contains the encrypted τ, and is used are several BE schemes in the literature [9], [25], [32] and by a client in the last step to extract τ. The enabling block our framework is generic enough to use any BE scheme, is forwarded to the routers similarly as content chunks and which can account for user revocation. However, for ease of forms an integral part of the content. In the third step, a illustration in this paper, we use a BE scheme proposed by legitimate client extracts the encrypted τ from the enabling Tzeng and Tzeng [32], which is a variant of Shamir’s secret block by using his share. sharing scheme (Definition 3.2). In [32], the threshold t+1 of Shamir’s scheme helps define a revocation threshold of t–the threshold for the number B. Basic Protocols of user revocations permitted without affecting data secrecy. We use a server S to illustrate the computations at the Congruently, we assume n legitimate users in the system and server(s) or the CP. The server S generates the polynomial the number of revoked users (|R|) to be at most t (<< n); pt(x) and calculates the tuple Ti = (xi, f(xi)) for each we also propose an enhancement to handle |R| > t. The legitimate user ui. Where it does not create confusion, in the BE scheme proposed by Tzeng and Tzeng was proved by context of the users, we use share and tuple interchangeably. In what follows, we use index i to represent the users’ shares By generating a random number (Line 1), the server obtains and index j to represent the server shares. the encrypted secret key (γ) using the field generator (g), 1) Polynomial and Shares Generation: Protocol 1 polynomial constant (a0), and the secret encryption key (τ) presents the procedure for generation of the polynomial pt(x) in Line 2. Line 3 shows the transformation of the group gen- of degree t. In Line 1, the server generates the t + 1 coeffi- erator, g, by an exponentiation operation with the generated cients of pt(x). It then generates its shares by identifying t random number r. In Line 4, the server calculates Λ (partial Lagrangian coefficients), this precomputed Λ is used at the Protocol 1 Generation of Polynomial/User Shares at the client for calculating the complete Lagrangian coefficients Server needed for decryption. As we will show in Section 8 by com- Input: Values of n < Q and t, a prime number Q, paring our framework (Global) with the standard approach in ZQrand(). literature (GlobalNP), this partial precomputation step helps Output: Generates a polynomial pt(x) with random coeffi- reduce the decryption time at the client tremendously. Thus, cients a0, . . . , at and the tuple Tj for each user uj. our framework is computation-heavy at the server side, which 1: Calculates ai = ZQrand(), i = 0 to t. result in lightweight computations at the clients. 2: Generates pt(x) using the ais. In Line 5, the server calculates the transformed enabling 3: Calculates xj = ZQrand(), j = 0 to t − 1 and block, obtained by raising g to the power of rf(xj) ∀f(xj) ∈ xj 6= xk, 0 ≤ j, k ≤ t − 1. {Ensures xjs are positive, E. In Line 6, the server puts together the enabling block unique, and not reused for clients} SC . We will discuss the need for timeout (Line 7) and ∗ 4: Calculates f(xj) = pt(xj) ∈ ZQ, j = 0 to t − 1. how to decide a value for TO in the next subsection. 5: Obtains E = E∪(xj, f(xj)), j = 0 to t−1. {Calculation The enabling block SC is signed by the server (Line 8) of each legitimate client’s share follows.} to guarantee provenance. A bigger key (say 128-bit key 6: Calculates xi = ZQrand(), i = t to n + t, and for AES) can be used by splitting the bigger key Υ into xi 6= xk, 0 ≤ i, k < n + t. smaller sub-keys Υ = {τ1|| ... ||τb|| ... ||τm}, where each ∗ ∗ 7: Calculates f(xi) = pt(xi) ∈ ZQ, i = t to n + t. τb ∈ ZQ and instead of sending γ, the server can send ra0 ra0 8: Stores values Ti = (xi, f(xi)). {Tuple of user ui} {γ1 = τ1g , . . . , γm = τmg }. The user will combine the split keys to regenerate Υ. This protocol’s O(t) modular exponentiations dominate its running time. random points (Lines 3-5) on pt(x) and the n clients’ shares using n other points (Lines 6-7). The dissemination of the Protocol 3 User ui’s Registration users’ share happens through the User Registration Protocol Input: User’s registration credentials. (Protocol 3). The CP encrypts the content using a shared 1: User u creates a verifiable profile and successfully enters symmetric key τ ∈ ∗ . A bigger key (say 128-bit AES key) i ZQ the system. can also be handled; we will discuss this in Protocol 2. 2: Server securely transmits the user its public key, PS , its digital certificate, the user’s share (x , f(x )), and the Protocol 2 Generation and Encryption of Enabling Block i i expiration time (TO) of the share.

Input: Server’s share E, ZQrand(), g ∈ GQ, a0, data ∗ 3) New User Registration: Protocol 3 deals with registra- secret key τ ∈ ZQ. tion of a new user in our framework. For registration, a user Output: Enabling Block SC u sends a registration interest to the CP. The format for the 1: Calculates r = ZQrand(). i ra0 ∗ ra0 ∗ user’s name is: /Netflix/Registration/Unique 2: Obtains γ = τg . {ra0 ∈ ZQ and τg ∈ ZP .} r ∗ User ID. This interest contains ui’s other credentials, 3: Calculates g ∈ ZP . ˆ encrypted with PS and signed by P ri (ui’s private key). 4: Calculates partial Lagrangian coefficients Λ = {λk | ˆ Q xj ∗ The CP then replies to ui with a data packet containing λk = 0≤j6=k

t−1 Y rf(xk) λk r f(xi)λi δ1 ∗ δ2 = (g ) · (g ) (Lines 3&5 Protocol 4.) A. Data Chunking and Packet Naming k=0 Pt−1 1) Chunk Creation: Large contents are broken down into r (f(xk)·λk) rf(xi)λi = g k=0 · g smaller data packets (chunks); each chunk is named uniquely = gr[(f(x0)λ0)+(f(x1)λ1)+···+f(xt−1)λt−1+(f(xi)λi)] and requested by its corresponding interest. Fig. 2 illustrates = gra0 the splitting of the content and the enabling block. Both are split into equal sized chunks and given appropriate names for ra0 Qt−1 rf(xk) λk r f(xi)λi Hence, τ ·g /{ k=0(g ) ·(g ) } = τ and the distinction. user can obtain the secret key. 2) Packet Naming: We follow the hier- archical naming convention of CCN/NDN 6. ICN-SPECIFIC DETAILS OF ACCCONF (ref. Fig. 2). A typical content chunk name is We now discuss the compatibility of the framework /Netflix.com/movie/category/movieName/V3/x.avi. The with popular ICN architectures. In publish-subscribe based first segment is the CP’s name, next (“movie”) is the content schemes, such as PURSUIT [11], [30] and NetInf [7], the type, followed by the category, e.g, Sci-Fi or Comedy, the content’s meta-information (number of packets, encoding, fourth is the content name (Star Wars), the fifth is the etc.) are published by the CP, whereas, in CCN/NDN or version (V3), and the last part (x.avi) represents the chunk DONA, this information can be elicited by an interest packet number. Versioning enables coexistence of different content sent to the network or the resolution handlers respectively. qualities and expiry of content. The enabling block naming follows the same convention Proactive Update – Enabling Block refreshed by the but with the replacement of data type with the service type CP: Another approach is the CP pushing the enabling block (premium, standard, plus). The category segment is replaced network-wide. Given that the number of users could be as by the group with same intention–help group different users several million spread across the globe, and that the data is under the same service. Two types of numbering scheme can cached at several hundred ISPs, this may not be very easy to be used: sequential and random. accomplish. The challenges notwithstanding, such a proactive Sequential Numbering: In this scheme, each content chunk approach may be feasible with close interactions between the has a sequence number x ∈ {001, 002,...}, with increas- CP, the CDNs, and the ISPs. ing value of x. This scheme is easy to implement, but Proactive Update – Refreshing Enabling Block through enables cache probing and traffic analysis attack at the Clustering: An improved approach is to partition the network router/proxy [18]. into independent clusters with number of users n0 < n, where Random Numbering: In random numbering, the value of the clustering is motivated by access policies, geographical x for the first packet is known to the client; however, distribution, or cluster size. Each cluster Ci has a cluster head each subsequent packet has a random x value. Each chunk (CH), which may be a CDN node or an ISP node, designated i carries the sequence number of the next interest to be used. by the CP. Each Ci, uses a different polynomial pt0 (x), and This helps negate traffic analysis attack but, may undermine given that n0 could be smaller than n, the threshold t0 can aggregation of chunks. also be smaller than t. The enabling block may be generated at the CH or at the CP. In the event of a user revocation, Si B. Protocols to Handle System Dynamics now there is need for only a local update of the local C corresponding to the cluster Ci. Updating the routers within Our framework has to address several system dynamics. the cluster during user revocation becomes much easier. The For instance, (i) what to do when a registered user discontin- use of the smaller t0 instead of t will also speed-up the user’s ues the service and needs to be revoked? (ii) What happens extraction procedure. A combination of the timeout and the when the number of revoked users reaches the threshold t? clustering mechanisms may work better than either. (iii) What happens when a new user arrives and the system 2) Number of Revoked Users Close to or Greater than t: is at its capacity? We detail how these events are handled. There are two approaches to address this concern: 1) Revocation of a User ur: When a user ur has to be Proactive Approach: The CP can re-key the whole system revoked, the server replaces one of its t tuples in SC with with a new polynomial, and treat the already revoked users Tr = (xr, f(xr)), ur’s tuple. Hence in Line 5 of Protocol 2, as non-existent; in essence re-initializing the system. This rf(xj ) rf(xr ) one of the hxj, g i has to be replaced with hxr, g i, procedure can be performed when the number of revoked 0 thus changing SC to SC . Several concerns that need to be users gets close to t. addressed on this front are: (a) A high rate of revocation Reactive Approach: Let’s consider the case where the number 0 would require a new SC to be disseminated in the network of revoked users |R| = at + p << n, where a > 0 and with every revocation. Hence, the enabling block should be p < t. Let’s assume that the key Υ is 128-bits. As we a small overhead and should be named in a way that allows mentioned in Section 5.B.2, the server splits Υ into m pieces, differentiation between multiple versions in the network. (b) {τ , . . . , τ }. To ensure that revoked users cannot obtain Υ, 0 1 m The new SC has to be refreshed everywhere data exists, so we can update Protocols 2 and 4 by choosing t revoked users that the revoked user cannot access the content. for each τi ∈ Υ from at + p revoked users, such that each In Section 8, using implementation results we show that revoked user ur’s share is in the server share for at least S < 1% the size of C is much smaller than the content size ( ). one τi. Then ur cannot decrypt one or more τis and hence Also if one key is used to encrypt several contents (e.g., Υ correctly. This can extend the scheme beyond t revoked movies), the amortized cost over all related contents can be users. made negligible. Thus (a) can be addressed. We believe (b) is more difficult to address and attempt some possible solutions. C. System Reaches User Capacity Lazy Update – Refreshing Enabling Block through Timeout: ∗ One way to address (b) is to have a small timeout The system reaches user capacity when n + t = ZQ. At value (TO) for SC , which is inversely proportional to the that point, no new users can be added. All xs are allocated to turnover rate (ζ(n)) of users in the system, i.e., TO ∝ users, no new unique user share can be created. There is some 1/ζ(n). The turnover rate is the ratio of the revoked users scope for reuse of the tuples, with the initial revoked users’ to all users, per unit of time. This will enforce a small time tuples replaced in the server’s share. However, eventually the window in which a revoked user can access the data, after whole system has to be reinitialized with new prime numbers which the routers caching the enabling block will expunge Q0(>> Q) and P 0 = 2Q0 + 1, polynomial, and user tuples it. Any subsequent request for contents would require a fetch and distribution of the new user tuples and enabling blocks. of the latest/updated enabling block. However, we note that this would happen rarely. ISCUSSIONON ECURITY ROVISIONSIN 12 7. A D S P 1 Million 12 Clustered (t’=t/10) 5 Million Clustered (t’=t) 10 10 ACCCONF 10 Million Global (t) 8 15 Million 8 The security concerns in our framework include Sybil 20 Million 6 6 attacks, collusion attacks, and the other well-known attacks, 4 4 2 such as CPA, CCA, and A-CCA. We will discuss how the 2 0 Time (thousands of seconds) framework can address these concerns. Unfortunately, in an Time (thousands of seconds) 0 5 10 15 20 25 30 35 40 0.5/5 1/10 1.5/15 2/20 2.5/25 3/30 3.5/35 4/40 ICN architecture, where routing is based on named data Polynomial Degree (in thousand) Polynomial Degree (in thousand) rather than hosts identifiers, there is no way to stop an (a) Polynomial and Users Share Gen- (b) Polynomial and Users Share Gen- impersonation attack or a Sybil attack. This is because, if eration time (global) eration time a legitimate user is colluding with an impersonating user 500 Clustered (t’=t/10) (sharing keys, passwords, etc.), then the impersonator has 400 Global−NP Global the keying materials of the legitimate node and can decrypt 300 received content. The Sybil attack also follows similar rea- 200 Size (kB) soning. As pointed out by Douceur [8], it is difficult to handle 100 such attacks without a central verification entity. 0 0.5/5 1/10 1.5/15 2/20 2.5/25 3/30 3.5/35 4/40 A possible way to identify an impersonating/Sybil node is Polynomial Degree (in thousand) by the server/CP requiring the user’s player to periodically (c) Enabling Block Size verify its credentials to the server. The verification procedure 180 can involve the CDN node and/or the ISP. Approximate 160 Global Laptop 140 Global Smartphone 120 Clustered location information obtained during these verifications (from Global−NP 100 CDN/ISP) can help estimate the user’s geographic location 80 60 40

(lower the entity in the hierarchy, the finer the localization). Time (in second) 20 A user appearing at multiple locations simultaneously or over 0 0.5/5K 1/10K 1.5/15K 2/20K 2.5/25K 3/30K 3.5/35K 4/40K a short time span may be part of a Sybil or impersonation Polynomial Degree attack, and can be revoked. The clustering approach can (d) Symmetric Key Extraction further limit the impact of the attack. If each cluster uses a different polynomial, then a Sybil attacker using credentials Fig. 3. Results from Protocols Implementation: (a) Time taken to generate pt(x), 5K ≤ t ≤ 40K (global) and the user shares; (b) Comparison of of a user in a different cluster cannot decrypt the data. time taken to generate pt(x), 5K ≤ t ≤ 40K and user shares in the global A set of colluding nodes can create a new share for a and two clustered scenarios (5K ≤ t0(= t) ≤ 40K and 0.5K ≤ t0(= new malicious (illegitimate) node, however this requires at t/10) ≤ 4.0K respectively); (c) Size of the enabling block for the global and the clustered scenarios (t0 = t; t0 = t/10); (d) Time required for secret least t + 1 malicious/revoked nodes to collude, armed with key extraction in the global and the clustered scenarios (t0 = t; t0 = t/10). the knowledge of Q or P , so that they can re-generate the polynomial using their shares. With t + 1 being of the order 8. IMPLEMENTATION RESULTS AND ANALYSES of thousands (or millions), this is unlikely. Note that the enabling block sent by the server cannot be used to obtain Our implementation results are categorized into three the legitimate shares as it is as hard as the DDH problem. segments: (a) experiments for performance analysis of our For addressing the other attacks, such as CPA, CCA, and A- protocols with different settings; (b) experiments to assess CCA, we refer the readers to [32] – the proofs are similar the cost incurred for providing security (in terms of time) and we omit them here for brevity. using AccConF over NDN; and (c) results from simulation Privacy of the users in an ICN is an important issue, using ndn-SIM on ns-3. Our experiments were implemented with several privacy threats identified in the literature [4], on servers, laptops, and Nexus 5 smartphones. All these [18]. The most likely privacy threat is that of cache access nodes were a part of a CCNx-0.7 [17] testbed. For the first monitoring, where an attacker connected to the same router segment, on the laptop, we implemented our protocols in as ui monitors the cache accesses of ui to track his behavior. C (gcc version 4.5.2) and used the GNU Multi-Precision Even though in ICN, especially NDN, user’s identity is Arithmetic (GMP) library [13] for cryptographic operations. not present in the packet, an attacker can leverage partial On the smartphones we used Android OS version 5.0.0 (Lol- knowledge about the user (e.g., ui is interested in Sci-Fi lipop) and implemented the application using the Java based movies) and the interest name to conjecture ui’s identity. Android SDK API-19 (rev. 22.3) Kit Kat and NDK (rev. This problem is being studied by researchers [24] and is not 9c). Our mobile version was multithreaded and it decrypted in scope for this paper. We note that if the secret key (τ) the downloaded secret key τ concurrently while receiving is compromised, by means of some attack (a probable event content-chunks. in any secure system), it would require the content to be We implemented the Polynomial Generation protocol (Pro- encrypted with a new key (τ 0). Then the enabling block will tocol 1), the Enabling Block Generation and Encryption also need to be updated according to the new key. protocol (Protocol 2), and the Extraction protocol (Proto- TABLE II col 4). The straightforward user registration protocol was STATISTICS FOR LARGE VALUESOF t RELATED TO EXTRACTIONOF τ not implemented. In our implementation, for the global scenario, the total number of users ranged from 1M to 20M t (in million) 0.1 0.3 0.5 0.7 1 Laptop Extraction Time (secs) 0.14 0.46 0.71 1.03 1.34 in increments of 5M, and the value of t ranged from 5K Smartphone Ext. Time (secs) 1.16 3.68 5.92 7.44 10.65 to 40K in increments of 5K, where M and K stand for Enabling Block Size (MB) 1.2 3.6 6 8.4 12 million and thousand respectively. We chose n ≤ 20M to Smartphone RAM Usage (MB) 12 40 70 96 143 represent the dynamic user base of a CP such as Netflix case where the number of revoked user |R| > t, the size of (by current estimates Netflix has ≈ 45M users) [27]. For the enabling block will increase. Even if we create a share for the clustered scenario, there were 10 clusters, each having every byte of a 128-bit secret key (allows 16 · t revocations), 0 2M users; we assumed two sets of revocation thresholds (t ): the enabling block size is 7.52MB–only a 2.5% overhead. 0 0 t = t (as in global) and t = t/10, which ranged from The extra precomputed information at the server results in 0.5K to 4K in increments of 0.5K. Protocols 1 and 2, were the enabling block in Global to be significantly more than that run on a server class machine with 24 Intel Xeon 2.40 GHz of GlobalNP (around 50% for t = 40K). However, as shown processors and 50 GB RAM. Only one processor was used in Fig. 3(d), the corresponding reduction in extraction time at in our experimental result. Results were averaged over 100 the client due to the precomputation (Global) is significant– runs. less than 1 second for both the laptop and smartphone Fig. 3 displays the results for polynomial and enabling versions. The key extraction time in GlobalNP grows super- block generations and key extraction. Fig. 3(a) shows the time linearly with increasing t. The laptop client was running on taken to generate polynomials of different degrees, consisting an Apple Macbook Pro running VMware, allocated 1 GB of generating random coefficients ({a0, . . . , at}) for the poly- RAM and one 2.5 GHz, Intel Core i5 processor. The smart- nomial (pt(x)), and then evaluating pt(x) at n+t points. The phone was a Nexus 5, 2.3 GHz quad core, 2 GB smartphone. X-axis represents different polynomial degrees (equivalent As a demonstration of the framework’s scalability, es- to t) and the Y -axis represents the time in thousands of pecially from the perspective of the expensive extraction seconds. The polynomial generation procedure is the most protocol, we obtained statistics for higher values of t as time consuming component of our framework, however, it is shown in Table II. Even when t is 1 million, the enabling executed by the server only and can be performed offline and block is only 12 MB (1.2% of a standard Netflix movie [27]) in parallel by several processors. We note that the increase and the corresponding extraction of τ takes 1.34 seconds in running time with increasing t (for different values of n) on the laptop and 10.65 seconds on the smartphone. The is attributable not only to the polynomial degree but also difference between the laptop and smartphone results are due the number of users. The running time scales linearly—the to the difference in their processors (smartphone’s low-power generation time for 20M users is 20 times more than that for processors are slower). Also, in the laptop the algorithms are 1M users (t being the same). implemented in C, while on the smartphones they run on the Fig. 3(b) shows a comparison between the two clustered Java based Android SDK. scenarios (t0 = t and t0 = t/10) and the global scenario on Revocation threshold of 1 million is large, as can be the basis of the polynomial generation time. When t0 = t, as seen from recent Netflix statistics [27], [28], reached on an expected, the time taken is the same. For the t0 = t/10 case, average in three months for Netflix. This makes system re- running time for one polynomial generation is obviously go- initialization events rare and scalable. Eventually, a success- ing to be small. Interestingly, the running time for generating ful/scalable implementation should combine our clustering the ten polynomials of degree t0 is much less than generating approach and smaller values of t (say 100, 000), which a polynomial of degree t. will allow a smartphone to extract τ in close to 1 second. Fig. 3(c) shows the size of the enabling block SC in Such implementations can handle values of n close to 1 the clustered scenario t0 = t/10 and two different global million in a cluster. Also, our approach has a modest memory scenarios: one in which AccConF is used, thus the par- footprint, the high RAM usage numbers (e.g., 143 MB for tial Lagrangian coefficients are precomputed at the server t = 1 million) are only during the extraction process. (Protocol 2), denoted as Global, and the other in which For the second results segment, we implemented one client no precomputation is performed at the server, denoted as on the Macbook, the smartphone version on the Nexus 5 GlobalNP. The X-axis represents the polynomial degree (t) and the CP (a server with 2.5 GHz Intel Core 2 Quad, and the Y-axis represents size in KiloBytes. The size of 3.8 GB) was five hops away from the clients over a four- SC is independent of the number of members; it increases tiered network (created using switches and IPv4 routers). We proportionally with t. The worst case size is in Global compared the baseline NDN’s and AccConF’s performance ≈ 470kB, for t = 40K. Even then, given that a standard in content retrieval. Our framework took almost the same two-hour Netflix movie on a mobile device has a size of time for content download, the additional delay being in around 300 MB [21], the enabling block makes-up less than downloading the enabling block and extracting the secret 0.16% of the movie! For the reactive approach, to handle the key—an overhead to enforce the AC. Hence, we define the security cost as the total extra time that it takes for a cache-eviction algorithm. We ran the simulation for 30000 client to download the enabling block from a nearby cache seconds. The simulations were run on a server-class machine and extract the secret. Fig. 4 illustrates AccConF’s security having 2 AMD Opteron G276 processors, each core clocking cost, for different polynomial degrees, for the laptop and the 2.3 GHz, with 128 GB RAM. smartphone clients. The cost for the smartphone application increases faster than the laptop’s; this can be attributed to the 20 12 better resources at the laptop’s disposal. The biggest cost for 10 15 the laptop is downloading the enabling block, whereas in the 8 smartphone the costs of communication and extraction are 10 6 almost comparable. It is interesting that the download time 4 for the smartphone is higher than the laptop despite both 5 2 connecting to the same access point using IEEE 802.11n. Content Transmitted Avg. Content Transmitted Avg. 0 0 This difference is attributable to the laptop antenna being ANU ANU more powerful than the smartphone antenna. (a) Topology 1 (b) Topology 2 Our last segment details our simulation results using ndn- SIM on ns-3. We simulated the AccConF, NDN, and the UDP 20 25 clients on ten different network topologies; we illustrate the 20 15 results of four representative ones. The four representative 15 network topologies were: {3755 nodes, 7449 edges}; {3709 10 nodes, 7193 edges}; {3707 nodes, 7353 edges}; and {3696 10 nodes, 7331 edges}. The topologies were created using 5 5 the two-layer Top-Down hierarchical model in BRITE [3]. Content Transmitted Avg. Content Transmitted Avg. 0 0 The autonomous systems (AS) layer was created using the ANU ANU Waxman model and the router layer for each AS was created (c) Topology 3 (d) Topology 4 using the Barabasi-Albert` model. Each topology had two Fig. 5. Average Number of Content Downloaded per client in AccConF edge routers, each serving five clients through 20Mbps links. (A), NDN (N), and UDP (U). One content provider was placed across the network, 6 to 8 hops from the two edge routers. Links in the network core Fig. 5 shows the average number of contents downloaded had bandwidth selected randomly between 1 to 4 Gbps. by each client. In NDN and AccConF, the clients’ requests The server contained 100 content objects. Each object was are satisfied faster by virtue of nearby caches, hence the 300 MB for NDN and UDP and 312 MB for AccConF clients request more contents. NDN performs a little better (12 MB for the enabling block) respectively. The content than AccConF because it does not have the enabling block. popularity followed a Zipf-Mandelbrot distribution with q = In the last topology, the margin is relatively wider. From our 1 and s = 2, which is reflected in the requests made by analysis, we identified that this topology’s structure is such the clients. The clients constantly requested content–if one that more requests are completed, which leads to more cache- content request was satisfied they requested another. For fair evictions and hence more requests being served from farther comparison, the chunk size was 1436 bytes in NDN and caches. Consequently AccConF is punished more on account AccConF, comparable to a standard Ethernet frame size. In of its enabling block overhead. NDN and AccConF, the routers were equipped with 1.5 GB Fig. 6 presents the empirical cumulative distribution func- cache (i.e., 5% of the entire content) and used the LRU tion (eCDF) for per-interest latencies in the three approaches. Polynomial degree NDN and AccConF have a significant number of interests 10K 50K 100K 300K 500K 700K 1M that are served in less than 0.01 seconds, which markedly 20 improves the number of contents downloaded. Fig. 6(d) fur- EB Download Time Extraction Time ther illustrates why AccConF has lesser per-client downloads. 15 Whereas in the first three topologies the cumulative proba- bilities of AccConF and NDN track closely, here AccConF

10 is served by a farther cache (reflected in the eCDF increasing after latency value of 0.042s).

5 9. CONCLUSIONSAND FUTURE WORK Security Cost (seconds) 0 LSLSLSLSLSLSLS In this paper, we present a novel access control framework (AccConF) for secure content delivery to legitimate users Fig. 4. Security Cost for the Laptop (L) User and the Smartphone (S) User. in ICNs. Leveraging broadcast encryption, AccConF targets 1.0 AccConF NDN [3] Brite: Boston university representative internet topology generator, 0.8 UDP 2014. http://www.cs.bu.edu/brite. 0.6 [4] A Chaabane, E De Cristofaro, M. Kaafar, and E. Uzun. Privacy 0.4 in content-oriented networking: Threats and countermeasures. arXiv preprint arXiv:1211.5183, 2012. 0.2

Cumulative Probability Cumulative [5] T. Chen, K. Lei, and K. Xu. An encryption and probability based 0.0 access control model for named data networking. In IEEE IPCCC, 0.01 0.02 0.03 0.04 0.05 Latency (s) pages 1–8. IEEE, 2014. [6] Cisco. Cisco visual networking index forecast (2019), 2016. (a) Topology 1 http://www.cisco.com/c/en/us/solutions/service-provider/visual- networking-index-vni/vni-forecast.html. 1.0 AccConF NDN [7] C. Dannewitz. NetInf: An information-centric design for the future 0.8 UDP Internet. In 3rd GI/ITG KuVS Workshop on The Future Internet, 2009. 0.6 [8] J. Douceur. The sybil attack. Peer-to-peer Systems, pages 251–260,

0.4 2002. [9] A. Fiat and M. Naor. Broadcast encryption. In CRYPTO, pages 480– 0.2 491, 1994. Cumulative Probability Cumulative 0.0 [10] N. Fotiou, G.F. Marias, and G.C. Polyzos. Access control enforcement 0.02 0.04 0.06 0.08 Latency (s) delegation for information-centric networking architectures. In ACM Information-centric Networking Workshop, pages 85–90, 2012. (b) Topology 2 [11] N. Fotiou, P. Nikander, D. Trossen, and G.C. Polyzos. Developing information networking further: From PSIRP to PURSUIT. In ICST 1.0 AccConF Conference on Broadband Communications, Networks, and Systems NDN , 0.8 UDP pages 1–13, 2010. 0.6 [12] C. Ghali, M. Schlosberg, G. Tsudik, and C. Wood. Interest-based access control for content centric networks (extended version). arXiv 0.4 preprint arXiv:1505.06258, 2015. 0.2 [13] The GNU Multiple Precision Arithmetic Library, 2012. Cumulative Probability Cumulative 0.0 http://www.gmplib.org. 0.01 0.02 0.03 0.04 0.05 [14] M. Ion, J. Zhang, and E. M. Schooler. Toward content-centric privacy Latency (s) in icn: attribute-based encryption and routing. ACM SIGCOMM (c) Topology 3 Computer Comm. Review, 43(4):513–514, 2013. [15] V. Jacobson, D.K. Smetters, J.D. Thornton, M.F. Plass, N.H. Briggs, 1.0 AccConF and R.L. Braynard. Networking named content. In Intl. conference NDN 0.8 UDP on Emerging networking experiments and technologies, pages 1–12.

0.6 ACM, 2009. [16] T. Koponen, M. Chawla, B. Chun, A. Ermolinskiy, K. Kim, S. Shenker, 0.4 and I. Stoica. A data-oriented (and beyond) network architecture. ACM 0.2 SIGCOMM Computer Communication Review, 37(4):181–192, 2007. Cumulative Probability Cumulative 0.0 [17] Palo Alto Research Lab. Ccnx. http://www.ccnx.org/. 0.01 0.02 0.03 0.04 0.05 [18] T. Lauinger, N. Laoutaris, P. Rodriguez, and et al. Privacy implications Latency (s) of ubiquitous caching in named data networking architectures. Tech- (d) Topology 4 nical report, Technical Report TR-iSecLab-0812-001, iSecLab, 2012. [19] B. Li, A.P. Verleker, D. Huang, Z. Wang, and Y. Zhu. Attribute- Fig. 6. eCDF for the Latency in AccConF (A), NDN (N), and UDP (U). based access control for icn naming scheme. In IEE Conference on Communications and Network Security. IEEE, 2014. the users with power-constrained devices to enable efficient [20] Q. Li, X. Zhang, Q. Zheng, R. Sandhu, and X. Fu. Live: Lightweight content access without involving an online authenticator. integrity verification and content access control for named data net- We detailed the protocols and the design decisions for the working. IEEE Transactions on Information Forensics and Security, 10(2):308–320, 2015. framework in the CCN/NDN architecture and demonstrated [21] App Makers Worry as Data Plans Are Capped, June 6, 2010. it’s feasibility and scalability with practical experiments. Our http://www.nytimes.com/2010/06/07/technology/07data.html? r=0. experimental/simulation results demonstrate that AccConF [22] A.J. Menezes, P.C. Van Oorschot, and S.A. Vanstone. Handbook of is practical and deployable with minimal network changes. applied . CRC, 1997. [23] S. Misra, R. Tourani, and N. Majd. Secure content delivery in It can be used by content providers to reduce latency and information-centric networks: design, implementation, and analyses. In guarantee high availability of content. Proceedings of the ACM SIGCOMM workshop on Information-centric In future, we will optimize our smartphone application networking, pages 73–78. ACM, 2013. [24] A. Mohaisen, X. Zhang, M. Schuchard, H. Xie, and Y. Kim. Protecting and the protocols, testing them in a large network. We will access privacy of cached contents in information centric networks. In investigate more efficient system re-initialization when the ACM SIGSAC Symposium, pages 173–178. ACM, 2013. system reaches its capacity. [25] D. Naor, M. Naor, and J. Lotspiech. Revocation and tracing schemes for stateless receivers. In CRYPTO, pages 41–62, 2001. REFERENCES [26] M. Naor and B. Pinkas. Efficient trace and revoke schemes. In [1] B. Ahlgren, C. Dannewitz, C. Imbrenda, D. Kutscher, and B. Ohlman. Financial cryptography, pages 1–20, 2001. A survey of information-centric networking. IEEE Communications [27] Netflix has over 69 million members in over 60 countries., October Magazine, 50(7):26–36, 2012. 25, 2011. http://ir.netflix.com/. [2] S. Arianfar, T. Koponen, B. Raghavan, and S. Shenker. On preserving [28] OTT Subscriber Annual Churn Rates., July 30, 2015. privacy in content-oriented networks. In ACM SIGCOMM Information- https://www.parksassociates.com/blog/article/pr-july2015-ott- centric networking (ICN) workshop, pages 19–24. ACM, 2011. tracker. [29] C.-P. Schnorr. Efficient signature generation by smart cards. Journal Nahid Ebrahimi Majd received her PhD degree of Cryptology, 4(3):161–174, 1991. from the department of Computer Science, New [30] S. Tarkoma, M. Ain, and K. Visala. The publish/subscribe internet Mexico State University, Las Cruces, NM, USA, in routing paradigm (psirp): Designing the future internet architecture. 2014. She is currently an assistant professor with Towards the Future Internet, page 102, 2009. the computer science department at the Califor- [31] Tor Project: Anonymity Online. http://www.torproject.org/. nia State University at San Marcos. Her research [32] W. Tzeng and Z. Tzeng. A public-key traitor tracing scheme with interest is in energy harvesting wireless ad hoc revocation using dynamic shares. In Public Key Cryptography, pages networks, including relay node placement problem 207–224, 2001. and cooperative caching problem in such networks. [33] S. Wang, J. Bi, J. Wu, Z. Li, W. Zhang, and X. Yang. Could in-network caching benefit information-centric networking? In 7th Asian Internet Engineering Conference, pages 112–115, 2011. [34] M. Xie, I. Widjaja, and H. Wang. Enhancing cache robustness for content-centric networking. In IEEE INFOCOM, pages 2426–2434, 2012.

Satyajayant Misra (SM’05, M’09) is an associate professor in computer science at New Mexico State University. He completed his M.Sc. in Physics and Information Systems from BITS, Pilani, India in 2003 and his Ph.D. in Computer Science from Arizona State University, Tempe, AZ, USA, in 2009. His research interests include wireless net- works and the Internet, supercomputing, and smart grid architectures and protocols. He has served on several IEEE journal editorial boards and confer- ence executive committees (Communications on Surveys and Tutorials, Wireless Communications Magazine, SECON 2010, INFOCOM 2012). He has authored more than 45 peer-reviewed IEEE/ACM journal articles and conference proceedings. More information can be obtained at www.cs.nmsu.edu/ misra.

Reza Tourani received his B.S. in computer Hong Huang received his B.E. degree from Ts- engineering from IAUT, Tehran, Iran, in 2008, inghua University, Beijing, China, and M.S. and and M.S. in computer science from New Mex- Ph.D. degrees from Georgia Institute of Technol- ico State University, Las Cruces, NM, USA, in ogy in 2000 and 2002, respectively, all in elec- 2012. From 2013, he started his Ph. D. at New trical engineering. He is currently an associate Mexico State University. His research interests professor with the Klipsch School of Electrical and include smart grid communication architecture and Computer Engineering at the New Mexico State protocol, wireless protocols design and optimiza- University. His current research interests include tion, future Internet architecture, and privacy and wireless sensor networks, mobile ad hoc networks, security in wireless networks. network security, and optical networks. He is a member of the IEEE.

Frank Natividad is currently pursuing his Master degree in the computer science department at the New Mexico State University, Las Cruces, NM, USA. Frank’s current interests in research are in power trading agent competitions and machine learning in smart grid.

Travis Mick completed his B.S. at New Mexico State University, Las Cruces, NM, USA in 2014, and is now pursuing an M.S. in computer science at New Mexico State University. His research is in smart grid communication and information-centric networking.