DOTS | R. Moskowitz |
Internet-Draft | L. Xia |
Intended status: Standards Track | Huawei |
Expires: May 3, 2017 | D. Migault |
Ericsson | |
A. Mortensen | |
Arbor Networks, Inc. | |
October 30, 2016 |
Strong Identities for DOTS Agents
draft-moskowitz-dots-identities-00.txt
DOTS communications are machine-to-machine oriented communications. In addition DOTS agents are expected to end up in a large number of entities. As a result, in addition to secure, the naming scheme to identify all DOTS agents must be scalable. For these reasons this document recommends the use of cryptographic identifiers or strong Identities as opposed to human readable identifiers for example.
This document proposes two forms of strong Identities for the registration and operation of DOTS Agents. One is 802.1AR LDevID [Std-802.1AR-2009] X.509 certificates. The other is raw public keys as in HIP [RFC7401] or TLS/DTLS Raw Public Keys [RFC7250].
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 http://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 May 3, 2017.
Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://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.
DOTS communications are machine-to-machine oriented communications. In addition DOTS agents are expected to end up in a large number of entities. As a result, in addition to secure, the naming scheme to identify all DOTS agents must be scalable. For these reasons the document recommend the use of cryptographic identifiers or strong Identities as opposed to human readable identifiers for example.
Human readable identifiers are very helpful to represent a resource for human. A typical example is the use of First Name and Last Name which is easier for human beings to remember than a phone number. The same occurs for web sites where FQDNs are easier to remember than the IPv6 addresses. However the human readable representation also comes with some issues.
First human readable identifiers have very little entropy which means that when the number of identifiers grow, collision are likely to happen. The likelihood of identifier collision may be limited at the expense of management complexity whose complexity grows with the number of identifiers. Second, human readable identifiers are only meaningful when used by humans who are only able to handle a limited numbers of identifiers. Third the identifier needs to be securely bound to additional element such as security elements - a public key - or routing elements - an IP address - in order to enable a communication.
As a result, human readable identifiers do not scale to meet the need of DOTs identifiers and the management overhead complexity to make identifiers human readable becomes meaningless in a automated machine to machine environment. A DOTS is intended for machine to machine -like communication, there is no reason for using human readable identifiers. DOTS recommends the use of cryptographic identifiers to avoid an additional and unnecessary cryptographic binding between the identifier and the security material.
This document describes two forms of strong Identities for the registration and operation of DOTS Agents.
The first is the X.509 LDevID defined in 802.1AR [Std-802.1AR-2009]. The methodology proposed herein expects the DOTS mitigation provider to provide a PKI that will issue LDevID certificates to its customers. This provides a strong "domain of trust" to the identities of its customers. Inter provider trust can be established through any of the multi-PKI trust models in use today.
Customer LDevID registration may be based on an "Owner Certificate", allocated to the device during a NETCONF zerotouch registration [I-D.ietf-netconf-zerotouch]. Or the IDevID could be used directly in some registration process.
The second form of Identity is a Raw Public Key.
One type of Raw Public Key is a HIP [RFC7401] Host Identity (HI). The customer may use HIP DNS Extension [RFC8005] to assert its HI to the DOTS mitigation provider and then use HIP to prove ownership of the HI.
Although nothing prevents HI/HIT to be assigned by the provider, there is currently no mechanisms defined for such provisioning. This might be defined in future work, however, the current use of HI/HIT is that these identifiers are generated by the owner or the agent.
Another type of Raw Public Key is defined in [RFC7250]. The customer would use the methods defined in DANE [RFC6698] validate a TLS Raw Public Key.
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 [RFC2119].
DOTS is meant to be deployed within the context of a business arrangement between a customer and a DDoS mitigation provider. This relationship is long-lived over a persistent session. This relationship and the data communications can best be managed with trusted identities.
Further, the customer's DDoS mitigation provider may need to enlist the assistance of a peer provider. A strong trusted identity link from the requesting provider back to the attacked customer would benefit the mitigation process.
The web's PKI model is fraught with trust leakage challenges. Why trust a specific certificate just because some CA within the list of CAs that must be trusted has signed the certificate? This leads to independent vetting of each client certificate or applying some rules as to which CA is accepted for what business arrangement and then still maintaining a list of accepted client certificates is needed. This leads to a basic question of what is an X.509 certificate providing to the business agreement that would not be needed to be found out independent from the certificate?
IEEE 802.1AR [Std-802.1AR-2009] defines two important types of X.509 certificates. The IDevID is installed in the device in permanent, secure storage (e.g. a TPM) and is NEVER replaced. This certificate is signed by the manufacturer's CA. Typically, its subjectName contains the device's serial number and other information that uniquely identifies the device.
The IDevID is not appropriate to use as an Identifier for any action other than provisioning another Identifier that is more flexible for general use. This limitation is based, in part, on the permanency of IDevIDs and the potential for a large number of CAs 'owning' those IDevIDs.
The second, more regularly usable, type of certificate is the LDevID. This Locally Significant Secure Device Identifier is expected to be signed by a PKI appropriate to its use. For example, the DDoS mitigation provider can maintain its PKI for the signing and validating the device's LDevID certificate. The methodology for an IDevID to leverage the creation of an LDevID is left to IETF protocols. Originally, this meant using PKIX protocols like CMP [RFC4210]. Recent work with [I-D.ietf-netconf-zerotouch] can lead to a trusted lDevID request based on the Owner Certificate.
With Raw Public Keys, the trust establishment is left to the provider. Authentication based on a Raw Public Key assumes the peer already has the corresponding identifier. Authentication based on raw keys has been integrated by many protocol such as IKEv2, HIP, and TLS. However, unless the identifier is known by the peer, such protocol end with an unauthenticated communication. Provisioning of the identifier, is usually out of scope of these protocol. The Identifier may be provided out of band, using leap of faith mechanisms. Eventually DNSSEC can also be used to bind the identifier to raw key.
There are some recent developments, like Hierarchical HITs [I-D.moskowitz-hierarchical-hip] that provide an trusted infrastructure for Raw Public Keys.
TBD
TBD
TBD
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[Std-802.1AR-2009] | IEEE SA-Standards Board, "IEEE Standard for Local and metropolitan area networks - Secure Device Identity", December 2009. |