Internet DRAFT - draft-li-icnrg-hopauth
draft-li-icnrg-hopauth
Information-Centric Networking Research Group R. Li
Internet-Draft H. Asaeda
Intended status: Informational NICT
Expires: September 6, 2020 March 5, 2020
Hop-by-Hop Authentication in Content-Centric Networking/Named Data
Networking
draft-li-icnrg-hopauth-02
Abstract
The unpredictability of consumers, routers, copyholders, and
publishers for the in-network data retrievals in Content-Centric
Networking (CCN) / Named Data Networking (NDN) poses a challenge to
design an authentication mechanism to inhibit the malicious consumers
to flood data requests and prevent the fake data from being provided.
Signature is adopted as the fundamental function in CCN / NDN, which
however can only provide publisher authentication with additional
certificate acquisition. This document describes the Hop-by-Hop
Authentication mechanism (HopAuth) integrating certificate collection
and packet forwarding potentially with the assistance from
certificate authority to provide consumer authentication, copyholder
authentication and path authentication to enable the in-network data
retrieval to be trustworthy, besides the publisher authentication.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 6, 2020.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
Li & Asaeda Expires September 6, 2020 [Page 1]
Internet-Draft HopAuth in CCN/NDN March 2020
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. System Descriptions . . . . . . . . . . . . . . . . . . . . . 6
4. HopAuth Designs . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Initial Trust Establishment . . . . . . . . . . . . . . . 7
4.2. Data-centric Certificate Management . . . . . . . . . . . 9
4.2.1. Certificate Exchange . . . . . . . . . . . . . . . . 9
4.2.2. Certificate Update and Revocation . . . . . . . . . . 9
4.3. Forwarding-Integrated Authenticable Data Retrieval . . . 10
4.4. Suspension-Chain Model (SCM) . . . . . . . . . . . . . . 12
5. Protocol Message Format . . . . . . . . . . . . . . . . . . . 12
6. Security Considerations . . . . . . . . . . . . . . . . . . . 14
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1. Normative References . . . . . . . . . . . . . . . . . . 14
7.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction
Information-Centric Networks in general, and Content-Centric
Networking (CCN) [4] or Named Data Networking (NDN) [5] in
particular, are the emerging network architectures enabling in-
network caching and data retrievals through their names. In CCN/NDN,
data can be cached at the intermediate routers, close to consumers
for reducing delay and redundant bandwidth consumption or for the
robustness under dynamic network environment. It has been noticed
that CCN/NDN is a promising approach for the application scenarios in
disaster networking [6], video streaming [7], and Internet of Things
(IoT) [9].
In CCN/NDN, the basic network operations and these use scenarios with
in-network data caching and retrievals lead the network to be
seriously vulnerable under a variety of attacks, such as the
impersonation attack, malicious-request attack [10], [11], [12], and
the data poisoning attack [13], [14], [15]. The unpredictability of
consumers, routers, copy holders, and publishers during data
Li & Asaeda Expires September 6, 2020 [Page 2]
Internet-Draft HopAuth in CCN/NDN March 2020
retrievals in CCN/NDN poses the novel challenge to design data-
centric authentication to prevent these attacks. This novel
authentication should potentially enable the consumer authentication,
copyholder authentication to authenticate the identity of the entity
providing data, path authentication to authenticate the path from
which data are retrieved, in addition to the publisher
authentication.
On the other hand, signature is already adopted as the fundamental
function in CCN/NDN, which promises to achieve the integrity and
publisher authentication. It can partially prevent the above attacks
and but still is insufficient to protect the unpredictable data
retrievals in CCN/NDN. The unpredictability with which copy holders
provide data, routers cache data, and consumers request data leads to
great difficulty in inhibiting malicious-request attacks and data-
poisoning attacks. To prevent data poisoning, consumers and routers
need to verify data before caching them. If the data are found to be
fake, the copy holder providing the data and the path to retrieve the
data also need to be discovered in order to disable the further
spread of that fake data. To prevent malicious-request attacks, copy
holders need to verify the identities of the consumers.
There are many authentication mechanisms with key management schemes
in the Internet, such as Kerberos [16], MSEC [17], X.509 [18], PGP
[19], RPKI [20]. They are designed to achieve different purposes
with centralized or decentralized approach based on end-to-end
communication paradigm in the Internet. They can only provide the
authentications of consumers and publishers or the link between them.
In other words, they do not consider data-centric authentication,
that is aimed to protect data in the networks.
For data-centric authentication, the key is to mitigate data-
poisoning and malicious-request attacks. Regarding the data
poisoning attacks, if the fake or corrupted data are cached along the
path, consumers who use the path always retrieve the wrong data,
because the router does not detect the cached data validity (as it is
signed by attacker correctly). The fake or corrupted data are
further cached, which pollute the routers as virus spreads. These
routers will provide the fake or corrupted data to other potential
consumers.
To mitigate the content poisoning attacks, the KeyId restriction has
already been built in the CCNx design [3]. Only the requested data
packet satisfying the interest with the KeyId restriction would be
forwarded and stored in the CS, thus resulting in a reduction in the
chances of cache poisoning. However, this approach requires users to
obtain and keep the public key through certification authority (CA)
for the potential content to be retrieved every time, which leads the
Li & Asaeda Expires September 6, 2020 [Page 3]
Internet-Draft HopAuth in CCN/NDN March 2020
serious scalability problem and is also not suitable for the
environment without capability of accessing the centralized servers
to assert the authenticity of the key. It is also difficult to
mitigate the content poisoning attacks mounted from the attacker
controlling several or many intermediate routers or consumer nodes,
because these nodes can collude with each other for data poisoning.
For malicious requests, even malicious Interests can be reduced by
restricting sending rate, part of malicious Interests still can reach
the copyholder. If copyholders verify the Interests before replying
the data, the effect to inhibit the Interest flooding attack can be
improved. For Interest verification, the first-hop router to
consumer can remove the certificate from it to consumer before
forwarding the Interest to preserve the consumer anonymity (See
Section 4.3). Hence, the authentication from any consumer or router
to Interest, data, copyholder, and the data retrieval path plays
crucial role to inhibit the data poisoning and malicious-request
attacks, besides the identity authentication to the publisher.
Another concern is that most of the existing authentication
mechanisms rely on centralized servers (e.g. CA) to acquire keys or
certificates, thereby increasing authentication delays, which we
refer to herein as the delay-enlargement problem. Whenever data are
transmitted and cached, router needs to contact centralized servers
to retrieve certificates for authentications everytime. Obviously,
these mechanisms cannot satisfy the following performance
requirements for the emerging data-centric communication paradigm in
CCN/NDN: any consumer or router needs to authenticate Interest, data,
copyholder (including publisher), and the data retrieval path without
additional messaging delay.
In this document, we propose a certificate chain-based approach named
HopAuth, which enables data verification before caching and the
authentications to Interest, data retrieval path, and copyholder for
preventing the data poisoning attack and malicious-request attack.
With HopAuth, forwarding-integrated hop-by-hop certificate collection
is performed together with the adaptive replacement for parts of
chain with highly trustworthy certificates, which can be operated
independent of centralized servers. This specification derives
directly from the design published in [21]. In HopAuth, a
suspension-chain model (SCM) is used as the trust model, where the
neighbor-trust-based certificate chain is suspended by CA-based
trust. The HopAuth avoids reliance on centralized server(s) for
chain construction and solves the delay-enlargement problem.
Li & Asaeda Expires September 6, 2020 [Page 4]
Internet-Draft HopAuth in CCN/NDN March 2020
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [1].
The following terminology is used throughout this document.
o Cryptographic key: A string of bits used by a cryptographic
algorithm to transform plain-text into cipher-text or vice versa.
o Signature: A cryptographic value calculated through public key
algorithm from the data and a secret key only known by the signer.
It is to validate the authenticity and integrity of a message.
o Certificate: A data structure used to verifiably bind an identity
to a cryptographic key.
o Consumer: A node requesting data. It initiates communication by
sending an interest packets.
o Publisher: A node providing data. It originally creates or owns
the data.
o Router: A node forwarding data. It may hold memory to cache the
data.
o Forwarding Information Base (FIB): A lookup table in a router
containing the name prefix and corresponding destination interface
to forward the interest packets.
o Pending Interest Table (PIT): A lookup table populated by the
interest packets containing the name prefix of the requested data,
and the outgoing interface used to forward the received data
packets.
o Content Store (CS): A storage space for a router to cache data
objects. It is also known as in-network cache.
o Physical entity: an entity that communicates using a physical
device. This could be a router or a publisher node (PN) that
hosts applications.
o Logical entity: an entity that is involved in an application.
This can be an authorizer, a sub-authorizer, or a publisher.
Li & Asaeda Expires September 6, 2020 [Page 5]
Internet-Draft HopAuth in CCN/NDN March 2020
3. System Descriptions
Here we briefly explain the background and basic network operations
of CCN/NDN. Different from the end-to-end communications in the
Internet, CCN/NDN provides data-name-based retrievals as in Fig. 1.
It further requires the data-centric authentication, instead of the
current end-to-end secure channel establishment.
1.Interest 2.Interest 3.Interest 4.Interest
+----+ +----+ +----+ +----+
| | | | | | | |
| v | v | v | v
+--------+ +--------+ +--------+ +--------+ +---------+
|Consumer|----| Router |----| Router |----| Router |----|Copy |
| | | A | | B | | C | |Holder |
+--------+ +--------+ +--------+ +--------+ +---------+
^ | ^ | ^ | ^ |
| | | | | | | |
+----+ +----+ +----+ +----+
8.Data 7.Data 6.Data 5.Data
Figure 1: Request and reply messages forwarded by consumer, copy
holder and routers.
In a CCN/NDN network, each router in a CCN/NDN network has three main
data structures: a FIB for forwarding Interests, a CS for caching
data, and a PIT for forwarding data. Basically there are two types
of packets: interest and data. As in Fig. 1, consumer requests data
by throwing an "interest" packet with the name of data to the
network. Regarding the difference to note here between CCN [4] and
NDN [5] is that in later versions of CCN, interest packet must carry
a full data name, while in NDN it may carry a data name prefix.
Once a router receives an "interest" packet, it performs a series of
the following look-up.
The router first checks in the CS to see whether it holds the
corresponding data or not. If there is, it returns the data through
the reverse path for forwarding interest packet as the copy holder in
Fig. 1. If not, it performs a look-up of the PIT. If there is
already a PIT entry matching the name of requested data, it is
updated with the incoming interface of this new request and the
interest is discarded. If there is no matching entry, it creates an
entry in the PIT that lists the data name and the interfaces from
which it received the interest. Then, the interest undergoes a FIB
lookup to discover the outgoing interface.
Li & Asaeda Expires September 6, 2020 [Page 6]
Internet-Draft HopAuth in CCN/NDN March 2020
Once a copy of the "data" packet is retrieved, the router sends it
back to the data requester(s) using the trail of PIT entries and
remove the PIT state every time that an interest is satisfied.
Additionally, it may store the data in its CS.
However, data retrieval with in-network caching in CCN/NDN has been
identified to suffer from malicious data-request attacks [10], [11],
[12], and the data poisoning attacks [13], [14], [15]. In the
former, adversaries impersonate consumers to create a flood of
interests, and in the latter, they impersonate copy holders (e.g.,
routers or publishers) to provide fake data. These attacks are
severe, because data are cached in a distributed manner, and copy
holders have no way to verify consumers' identities, consumers/
routers have no way to verify copy holders' identities to avoid
caching fake data, and the path to retrieve data cannot be verified.
This form of attack can quickly pollute the router caches as the
virus spreads, because routers cache the fake data, redistribute
them, and other intermediate routers re-cache them. It finally
consumes much in-network caches and prevents consumers from
retrieving the correct data.
4. HopAuth Designs
Herein we elaborate the basic design of HopAuth, which has three
phases: 1) initial trust-establishment, 2) data-centric certificate
management, and 3) forwarding-integrated authenticable data-
retrieval. The trust model for HopAuth is given by a suspension
chain model (SCM) later explained.
For the first phase, certificates are issued for neighboring entities
and the certificate authority (CA) potentially issues certificates to
a set of routers to form the highly trusted router group (HTRG). Let
CE(A->B) represent the public-key certificate issued from A to B. In
the second phase, routers exchange certificates within their
neighborhoods, and any compromised entity can be shut down quickly.
Finally, the third phase provides a hop-by-hop method for
constructing a chain consisting of a physical-entity certificate
chain (peCEChain) and a logical-entity certificate chain (leCEChain)
for data-centric authentication.
4.1. Initial Trust Establishment
The initial trust establishment has two components: self-certifiable
naming and certificate issuing.
Self-certifiable naming defines the rule for naming the principals,
including entities, keys, and certificates, to enable the entities to
be self-certifiable. As the extension of the cryptographically
Li & Asaeda Expires September 6, 2020 [Page 7]
Internet-Draft HopAuth in CCN/NDN March 2020
generated address (CGA) [8], we merge the hash-based self-certifying
names with hierarchical naming. It embeds the public key into the
name, which is self-certifiable. The purpose of self-certifiable
naming is to prevent stealing and spoofing of existing names. The
public key of the name owner is bound cryptographically to the name.
The name owner can use the corresponding private key to assert its
ownership and to sign messages sent from the entity with that name.
In fact, an attacker can create a new name from an arbitrary public
key. However, the attacker cannot impersonate somebody else's name.
To issue a certificate, an entity should be convinced that a given
public key truly belongs to another entity. Under that situation, it
issues a certificate for this entity such that the public key is
bound to the entity name by its signature. In HopAuth, certificate
issuing is the initial trust establishment among entities having
trust relationships, namely as neighbor-based trust for physical
entities, CA-based trust, and authorization relationships for logical
entities.
For neighbor-based trust, a physical entity creates a public key and
the corresponding private key locally by itself. It generates the
names using the public key based on the self-certifiable naming
method. If physical entity B is a neighbor of entity A, B can
announce its public key to A with the key name and A generates the
certificate for B.
CA-based trust between two entities is established using the CA as
the "introducer". The CA is managed by the network operator, and
provides certificates to the owner's entities and the highly trusted
physical entities close to them in the HTRG. The entities in the
HTRG then confer CA-based trust relationships and issue certificates
to each other.
All the highly trustable entities register at CA. CA has the whole
view of these entities and determines the neighboring relations among
the entities in HTRG. After the determination of the neighboring
relations, an entity, A, sends interest to CA to request the
certificates of its neighbors. CA replies with the related
certificates to A, such as CE(CA->B). After A receiving the
certificates, A verifies them, issues certificates from itself to
those neighbors, such as CE(A->B), and sends to CA. CA verifies this
certificate and forwards it to B when B requests.
In HopAuth, the physical entities pre-keep the certificates and
associate certificates with interfaces in FIB. The physical entity
knows the next hop of one interface, and it associates the
certificate from that entity to itself with the forwarding interface.
Li & Asaeda Expires September 6, 2020 [Page 8]
Internet-Draft HopAuth in CCN/NDN March 2020
This mechanism enables the appending of the relevant certificate to
the packets as required when forwarding them.
For logical entities, the trust relationship is defined by the
application. Each logical entity also generates a public/private key
pair by itself. If logical entity A authorizes the right for entity
B to manage a sub-category or publish data, A should provide a
certificate for the true public key of B.
4.2. Data-centric Certificate Management
4.2.1. Certificate Exchange
Certificate exchange allows entities to share the certificates that
they issue and hold. Each physical entity has a local repository in
which to store certificates securely. In HopAuth, the physical
entities request and keep all the certificates issued for or by their
nearby highly trusted entities in the HTRG and by common neighboring
physical entities. To exchange the information of certificates they
hold, each entity hashes the names of certificates and exchange
hashes to see if there is one missed in the neighborhood. If there
is, the entity will send interest to its neighbor to retrieve that
certificate. Finally, the physical entities hold all the
certificates within a two-hop distance and the certificates with
nearby highly trusted entities in the HTRG. These certificates are
used to construct chains hop by hop, shorten certificate chains, and
check the certificates appended by an up-stream entity. This
certificate check is performed by the next hop of the entity to check
whether the certificate appended by this entity is the same as the
one stored by it. If the certificates are the same, the certificate
passes the check. Otherwise, this packet will be dropped because of
the fake certificate.
The certificates of the logical entities in an application should be
stored in the repository of the PN. When data are published, the
trust chain from the PN to the publisher can be automatically formed
and appended to the packet. Meanwhile, the neighbors of the PN also
keep all the certificates of the PN in order to check them during
transmissions.
4.2.2. Certificate Update and Revocation
To guarantee its validity, each certificate in the network is issued
with a certificate expiration time, after which the certificate is
invalid.
For certificate updates using neighbor-based trust, the subject
entity of the certificate should notify the issuer of its interest in
Li & Asaeda Expires September 6, 2020 [Page 9]
Internet-Draft HopAuth in CCN/NDN March 2020
updating the certificate. On receiving this interest, the issuer
checks whether this entity has been compromised. It then checks
whether the mapping between the name and the public key satisfies the
naming rule. If all the checks are passed, the issuer considers
whether the public key of the subject entity is still trustworthy,
generates an updated certificate, and replies with this updated
certificate. If any check is failed, the issuer does not provide a
certificate update to that entity. For certificate updates using CA-
based trust in the HTRG, the subject entity of the certificate
requests the CA to issue an updated certificate and provide it to the
related nearby highly trusted routers, who can further issue update
certificates.
If one entity no longer wishes to trust another entity, the former
may revoke the certificate that it originally issued. Because
certificates are issued over a one-hop distance, it is easy to detect
the misbehavior of an entity. To revoke a certificate quickly, the
revocation is announced over a two-hop distance. The revocation
initiator broadcasts the revocation information to all the entities
within a two-hop distance. Each entity receiving this information
adds the compromised entity or certificate to its blacklist. All the
packets from the compromised entities are dropped for a rapid local
shutdown.
4.3. Forwarding-Integrated Authenticable Data Retrieval
Here, when forwarding interests and data, we define a forwarding-
integrated hop-by-hop approach to construct the suspended chain from
unpredictable copy holders to a consumer for authenticating interest,
and from a consumer or router to data for authenticating copy holders
or publishers or path to retrieve data. We let highly trusted
routers replace the parts of chain with highly trusted certificates
induced by CA's suspended trust to enhance trustworthiness.
The steps for data retrieval are as follows.
Step 1: The consumer issues an interest appended with its signature.
It knows its next hop is the router to which it is connected. It
then appends to this interest the certificate from the next-hop
router to itself. Finally, it sends out the interest.
Step 2: When the interest is received by an router, the following
operations will be performed. If the router is the first-hop router
to the consumer, it verifies the correctness of the certificate from
itself to the consumer and then remove this certificate before
forwarding Interest to preserve the anonymity of consumer if the
verification passes. Otherwise, it checks whether the previous
certificates are correct. If the check succeeds and it belongs to
Li & Asaeda Expires September 6, 2020 [Page 10]
Internet-Draft HopAuth in CCN/NDN March 2020
the HTRG, this router attempts to find the previous highly trusted
router to replace the related part of the certificate chain with one
highly trusted certificate in the suspended chain. If this router
does not belong to the HTRG, it directly finds the interface to the
next hop and appends to the interest the relevant certificate from
the next-hop router to itself.
Step 3: This is executed if an router holds the requested data in its
cache. The router checks the suspended chain from it to the consumer
through the process described later in the SCM. If the verification
succeeds, this router replies with the data packet. In the data
packet, the suspended chain from this router to the publisher and the
certificate from the next router to this router are appended. This
router sends this data packet to the interface in reply as specified
in the PIT.
Step 4: If the PN receives the interest, it verifies the suspended
chain from itself to the consumer. If the verification succeeds, the
PN discovers the suspended chain from itself to the publisher in its
storage, and appends this certificate chain with the certificate from
the first router to itself. Next, the PN replies with these data
using the reverse path of the interest.
Step 5: After the router receives the data packet, it performs
forwarding and possibly caching. When the router intends to cache
the data, it first caches them in a temporary cache, which is
separated from the data cache. Second, it checks the suspended chain
from itself to the publisher. Only if the verification passes, these
data can be cached in the data memory and the suspended chain from
this router to the publisher will be cached along with the data. The
verification is performed offline, which does not affect the speed of
data retrieval. At the same time, this router checks the previous
certificate. If the check is successful and it belongs to the HTRG,
it will discover the previous entity in the suspended chain belonging
to the HTRG. If there is a previous entity, the router replaces part
of the related certificate path with a highly trusted certificate.
Otherwise, the router directly finds the interface to the
corresponding certificate from the next hop to itself and appends
this certificate to the packet, then forwards this packet to the
interface.
Step 6: After the consumer receives the data packet, there should be
a certificate chain from it to the publisher. It verifies this
suspended chain. If the verification passes, it believes that it
gets the authentic public key of the publisher, and utilizes the key
to verify the signature of the data. The consumer can also verify
the copy holder or the routers on the path.
Li & Asaeda Expires September 6, 2020 [Page 11]
Internet-Draft HopAuth in CCN/NDN March 2020
The contructed suspended chain can be further shortened by the
routers to reduce the cost incurred by the suspended chain
construction and verification. That is, routers can replace the
verified suspended chain with a simplified certificate by specifying
that this certificate is a shortened one.
The future network will consist of both the CCN/NDN routers and the
routers without CCN/NDN functions. For such kind of partially
deployed CCN/NDN network, the CA-based trust is used to logically
connect the CCN/NDN routers to conceal the part of the network
without CCN/NDN functions. That is, in Steps 2 and 5, the router
attempts to find the previous highly trusted router to use one highly
trusted certificate to link to the suspended certificate.
HopAuth can be further enhanced by the Blockchain with the function
of the data life-cycle management for CCN/NDN [22].
4.4. Suspension-Chain Model (SCM)
A suspension-chain model (SCM) is the trust model in HopAuth. It is
a flexible series of neighbor-trust-based certificates suspended by
CA's trust, which form a suspension chain. In SCM, neighbor-based
trust forms the certificate chain to realize data-centric
authentication, whereas CA-based trust reduces the length of the
chain to solve the trust degradation problem for certificate chain.
For CA's trust, the CA assigns certificates to highly trusted routers
as the suspension points based on CA's trust, which is the pre-trust
between these routers and CA.
Public-key verification is the process for one entity to verify the
authenticity of the public key of another entity. Entity X
authenticates the public key of the entity Y by verifying the
suspension chain in the following steps. First, X verifies the first
certificate by its private key. If it is correct, each intermediate
public key is used to verify the next direct associated certificate.
This process continues for multiple rounds until the final
certificate is verified. Finally, X obtains the true public key of
the entity Y.
5. Protocol Message Format
HopAuth messages are encoded in the CCNx TLV format [2]. An example
of HopAuth packet format with a certificate chain from consumer C0 to
router R_n, (CE1(C0->R1), ..., CE_n(R_(n-1)->R_n)), is provided in
Figure 2. As in Figure 2, the HopAuth message consists HopAuth
header, and HopAuth certificate TLVs.
Li & Asaeda Expires September 6, 2020 [Page 12]
Internet-Draft HopAuth in CCN/NDN March 2020
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
| Version | PT_CONTENT | PacketLength |
+---------------+---------------+---------------+---------------+
| Reserved | Flags | HeaderLength |
+===============+===============+===============+===============+
| T_HOPAUTH | Length(=n) |
+---------------+---------------+---------------+---------------+
| Total length of inserted T_HOPAUTH_CERT TLVs |
+===============+===============+===============+===============+
| T_Object | Object Message Length |
+---------------+---------------+---------------+---------------+
/ Object Message /
+---------------+---------------+---------------+---------------+
| T_VALIDATION_ALG | Validation Algorithm Length |
+---------------+---------------+---------------+---------------+
/ Validation Algorithm Data /
+---------------+---------------+---------------+---------------+
| T_VALIDATION_PAYLOAD | Signature Length |
+---------------+---------------+---------------+---------------+
/ Signature Data /
+---------------+---------------+---------------+---------------+
| T_HOPAUTH_CERT | CE1 Length |
+---------------+---------------+---------------+---------------+
/ CE1(C0->R1) /
+---------------+---------------+---------------+---------------+
/ . /
/ . /
+---------------+---------------+---------------+---------------+
| T_HOPAUTH_CERT | CE_n Length |
+---------------+---------------+---------------+---------------+
/ CE_n(R_(n-1)->R_n) /
+===============+===============+===============+===============+
Figure 2: An Example of HopAuth packet format
The HopAuth header is composed of the fields of type, Length, and
Total length of inserted T_HOPAUTH_CERT's TLVs. The type is
T_HOPAUTH, the Length shows the number of inserted certificates, and
Total length of inserted T_HOPAUTH_CERT's TLVs describes the total
number of bits occupied by certificate TLVs. In the part of HopAuth
certificate TLVs, the certificate name, length and certificate data
are included. Take CE1(C0->R1) in Figure 2 as example. The type is
T_HOPAUTH_CERT, CE1 Length is the length of certificate CE1(C0->R1),
and CE1(C0->R1) is the certificate data for CE1(C0->R1).
Li & Asaeda Expires September 6, 2020 [Page 13]
Internet-Draft HopAuth in CCN/NDN March 2020
6. Security Considerations
This document is entirely about an authentication mechanism in CCN/
NDN.
7. References
7.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[2] Mosko, M., Solis, I., and C. Wood, "CCNx Messages in TLV
Format", RFC 8609, July 2019.
7.2. Informative References
[3] Mosko, M., Solis, I., and C. Wood, "Content-Centric
Networking (CCNx) Semantics", RFC 8569, July 2019.
[4] Jacobson, V., Smetters, D., Thornton, J., Plass, M.,
Briggs, N., and R. Braynard, "Networking Named Content",
Proc. CoNEXT, ACM, December 2009.
[5] Zhang, L., Afanasyev, A., Burke, J., Jacobson, V., Claffy,
K., Crowley, P., Papadopoulos, C., Wang, L., and B. Zhang,
"Named data networking", ACM Comput. Commun. Rev., vol.
44, no. 3, July 2014.
[6] Seedorf, J., Arumaithurai, M., Tgami, A., Ramakrishnan,
K., and N. Melazzi, "Research Directions for Using ICN in
Disaster Scenarios", draft-irtf-icnrg-disaster-07 (work in
progress), June 2019.
[7] Westphal, C., Lederer, S., Posch, D., Timmerer, C., Azgin,
A., Liu, W., Mueller, C., Detti, A., Corujo, D., Wang, J.,
Montpetit, M., and N. Murray, "Adaptive Video Streaming
over Information-Centric Networking (ICN)", RFC 7933,
August 2016.
[8] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, March 2005.
Li & Asaeda Expires September 6, 2020 [Page 14]
Internet-Draft HopAuth in CCN/NDN March 2020
[9] Ravindran, R., Zhang, Y., Grieco, L., Lindgren, A., Burke,
J., Ahlgren, B., and A. Azgin, "Design Considerations for
Applying ICN to IoT", draft-irtf-icnrg-icniot-03 (work in
progress), May 2019.
[10] Afanasyev, A., Mahadevan, P., Moiseenko, I., Uzun, E., and
L. Zhang, "Interest flooding attack and countermeasures in
named data networking", Proc. IFIP Networking, IFIP, May
2013.
[11] Compagno, A., Conti, M., Gasti, P., and G. Tsudik,
"Poseidon: mitigating interest flooding ddos attacks in
named data networking", Proc. LCN 2013, IEEE, October
2013.
[12] Nguyen, T., Cogranne, R., and G. Doyen, "An optimal
statistical test for robust detection against interest
flooding attacks in ccn", Proc. International Symposium on
Integrated Network Management (INM), IFIP/IEEE, May 2015.
[13] Ghali, C., Tsudik, G., and E. Uzun, "Network-layer trust
in named-data networking", ACM SIGCOMM Computer
Communication Review, vol.44, no. 5, October 2014.
[14] Kim, D., Nam, S., Bi, J., and I. Yeom, "Efficient content
verification in named data networking", Proc. ACM
Conference on Information-Centric Networking, ACM,
September 2015.
[15] Gasti, P., Tsudik, G., Uzun, E., and L. Zhang, "Dos and
ddos in named data networking", Proc. IEEE ICCCN
2013, IEEE, August 2013.
[16] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
Kerberos Network Authentication Service (V5)", RFC 4120,
July 2005.
[17] Baugher, M., Canetti, R., Dondeti, L., and F. Lindholm,
"Multicast Security (MSEC) Group Key Management
Architecture", RFC 4046, April 2005.
[18] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, May 2008.
[19] Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R.
Thayer, "OpenPGP Message Format", RFC 4880, November 2007.
Li & Asaeda Expires September 6, 2020 [Page 15]
Internet-Draft HopAuth in CCN/NDN March 2020
[20] Bush, R. and R. Austein, "The Resource Public Key
Infrastructure (RPKI) to Router Protocol Version 1",
RFC 8210, September 2017.
[21] Li, R., Asaeda, H., and J. Wu, "DCAuth: Data-Centric
Authentication for Secure In-Network Big-Data Retrieval",
IEEE Transactions on Network Science and Engineering, DOI:
10.1109/TNSE.2018.2872049, September 2018.
[22] Li, R. and H. Asaeda, "A Blockchain-based Data Lifecycle
Protection Framework for Information-Centric Network",
IEEE Communications Magazine, vol. 57, no. 6, June 2019.
Authors' Addresses
Ruidong Li
National Institute of Information and Communications Technology
4-2-1 Nukui-Kitamachi
Koganei, Tokyo 184-8795
Japan
Email: lrd@nict.go.jp
Hitoshi Asaeda
National Institute of Information and Communications Technology
4-2-1 Nukui-Kitamachi
Koganei, Tokyo 184-8795
Japan
Email: asaeda@nict.go.jp
Li & Asaeda Expires September 6, 2020 [Page 16]