One document matched: draft-ietf-mile-rfc6046-bis-05.txt
Differences from draft-ietf-mile-rfc6046-bis-04.txt
MILE Working Group B. Trammell
Internet-Draft ETH Zurich
Obsoletes: 6046 (if approved) January 3, 2012
Intended status: Standards Track
Expires: July 6, 2012
Transport of Real-time Inter-network Defense (RID) Messages over HTTP/
TLS
draft-ietf-mile-rfc6046-bis-05.txt
Abstract
The Incident Object Description Exchange Format (IODEF) defines a
common XML format for document exchange, and Realtime Internetwork
Defense (RID) defines extensions to IODEF intended for the
cooperative handling of security incidents within consortia of
network operators and enterprises. This document specifies a
transport protocol for RID based upon the passing of RID messages
over HTTP/TLS.
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 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 July 6, 2012.
Copyright Notice
Copyright (c) 2012 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
Trammell Expires July 6, 2012 [Page 1]
Internet-Draft RID Transport January 2012
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.
1. Introduction
The Incident Object Description Exchange Format (IODEF) [RFC5070]
describes an XML document format for the purpose of exchanging data
between Computer Security Incident Response Teams (CSIRTs) or those
responsible for security incident handling for service providers
(SPs). The defined document format provides an easy way for CSIRTs
to exchange data in a way which can be easily parsed.
IODEF defines a message format, not a transport protocol, as the
sharing of messages is assumed to be out of scope in order to allow
CSIRTs to exchange and store messages in a way most suited to their
established incident handling processes. However, Real-time Inter-
network Defense (RID) [I-D.ietf-mile-rfc6045-bis] do require a
specification of a transport protocol to ensure interoperability
among members in a RID consortium. This document specifies the
transport of RID messages within HTTP [RFC2616] Request and Response
messages transported over TLS [RFC5246] (herein, HTTP/TLS). Note
that any IODEF message may also be transported using this mechanism,
by sending it as a RID Report message.
1.1. Changes from RFC6046
This document contains the following changes with respect to its
predecessor [RFC6046]:
o The intended status of the document is now Standards Track.
o The document is updated to refer to the updated RID specification,
[I-D.ietf-mile-rfc6045-bis], where appropriate.
o Language regarding the use of HTTP/1.1 and TCP ports for RID
transport is clarified.
o The RID-Callback-Token entity header is added to allow matching of
RID replies during callback, independent of the content of the
underlying RID message.
o The minimum required version of TLS is upgraded to 1.1, and the
minimum recommend version to 1.2.
This document, when published, obsoletes [RFC6046] and moves it to
Historic status.
Trammell Expires July 6, 2012 [Page 2]
Internet-Draft RID Transport January 2012
2. Terminology and Normative Sections
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 [RFC2119].
RID systems participating in a consortium are required to fully
implement the protocol in Section 3 in order to interoperate within
the consortium; the remainder of this document is informative, and
provides helpful background or explanatory information.
3. Transmission of RID Messages over HTTP/TLS
This section specifies the details of the transport of RID messages
[I-D.ietf-mile-rfc6045-bis] over HTTP/TLS. In this arrangement, each
RID server is both an HTTP/TLS server and an HTTP/TLS client. When a
RID message is sent, the sending RID system connects to the receiving
RID system and sends the message, optionally receiving a message in
reply. All RID systems MUST be prepared to accept HTTP/TLS
connections from any RID peer with which it communicates, in order to
support callback for delayed replies (see below).
BCP 56 [RFC3205] contains a number of important considerations when
using HTTP for application protocols. These include the size of the
payload for the application, whether the application will use a web
browser, whether the protocol should be defined on a port other than
80, and if the security provided through HTTP/TLS suits the needs of
the new application.
It is acknowledged within the scope of these concerns that HTTP/TLS
is not ideally suited for RID transport, as the former is a client-
server protocol and the latter a message-exchange protocol; however,
the ease of implementation of RID systems over HTTP/TLS outweighs
these concerns. Consistent with BCP 56, RID systems listen for TCP
connections on port 4590 (see Section 5). Every RID system
participating in a consortium MUST listen for HTTP/TLS connections on
the assigned port. RID systems SHOULD NOT use TCP port 443 (the
standard port for HTTP over TLS) for RID messages, to avoid confusing
standard HTTP/TLS servers for RID systems.
RID systems MUST implement all REQUIRED functionality for HTTP/1.1
[RFC2616]. All RID messages sent in HTTP Requests MUST be sent using
the POST method with a Request-URI of '/'. As RID documents are XML,
the RID media type is 'text/xml'; i.e., the 'Content-type' Request
and Response headers MUST be 'text/xml'. As RID messages MUST be
sent using the POST method, the GET and HEAD methods have no
particular meaning on a RID system; a RID system SHOULD answer 'GET
Trammell Expires July 6, 2012 [Page 3]
Internet-Draft RID Transport January 2012
/' or 'HEAD /' with 204 No Content. Other Request-URIs are reserved
for future use; any access to Request-URIs other than '/' by any
method on a RID system SHOULD return the appropriate HTTP error (404
Not Found).
Since the content of RID messages is essentially declarative, a RID
system interrupted during transport MAY simply repeat the
transaction; the sending of a RID message is idempotent.
As the queries and replies in a RID message exchange may be
significantly separated in time, RID over HTTP/TLS supports a
callback mechanism. In this mechanism, the receiving RID system MAY
return a 202 Accepted response, called a RID callback, instead of a
RID message. The RID callback MUST contain a zero-length entity body
and a 'RID-Callback-Token' entity header, itself containing a unique
token generated by the receiving RID system. This token is a string
that MUST uniquely identify the callback among all callbacks from the
receiving RID system to the sending RID system. Due to the amount of
time that may be required to generate a RID Result or Report
response, there is no upper bound on the time period for this
uniqueness requirement. When performing RID callback, a responding
system MUST connect to TCP port 4590 on the network-layer address
from which the original request was sent; there is no mechanism in
RID for redirected callback.
While a RID system SHOULD return the reply in an HTTP Response if it
is available immediately or within a generally accepted HTTP client
timeout (about thirty seconds), this is not mandatory, and as such
RID systems MUST be prepared for a query to be met with a 202
Accepted, an empty Response body, a connection termination and a
callback. Note that all RID messages require a response from the
receiving RID system, so a sending RID system can expect either an
immediate response or a callback.
Table 1 lists the allowable RID message types in an HTTP Response for
a given RID message type in the Request. A RID system MUST be
prepared to handle an HTTP Response of the given type(s) when sending
the corresponding HTTP Request. A RID system MUST NOT send an HTTP
Response containing any RID message other than the one corresponding
to the one sent in the HTTP Request.
Trammell Expires July 6, 2012 [Page 4]
Internet-Draft RID Transport January 2012
+----------------------+----------+--------+----------------------+
| Request RID type | Callback | Result | Response RID type |
+----------------------+----------+--------+----------------------+
| TraceRequest | | 200 | RequestAuthorization |
| TraceRequest | | 200 | Result |
| TraceRequest | | 202 | [empty] |
| RequestAuthorization | X | 202 | [empty] |
| Result | X | 202 | [empty] |
| Investigation | | 200 | Result |
| Investigation | | 202 | [empty] |
| Report | X | 202 | [empty] |
| IncidentQuery | | 200 | Report |
| IncidentQuery | | 202 | [empty] |
+----------------------+----------+--------+----------------------+
Table 1
For security purposes, RID systems SHOULD NOT return 3xx Redirection
response codes, and MUST NOT follow any 3xx Redirection. The
protocol provides no in-band method for handling a change of address
of a RID System. For this reason, the use of stable DNS names to
address RID Systems is RECOMMENDED.
If a RID system receives an improper RID message in an HTTP Request,
it MUST return an appropriate 4xx Client Error result code to the
requesting RID system. If a RID system cannot process a RID message
received in an HTTP Request due to an error on its own side, it MUST
return an appropriate 5xx Server Error result code to the requesting
RID system.
Note that HTTP provides no mechanism for signaling to a server that a
response body is not a valid RID message. If an RID system receives
an improper RID message in an HTTP Response, or cannot process a RID
message received in an HTTP Response due to an error on its own side,
it MUST log the error and present it to the RID system administrator
for handling; the error logging format is an implementation detail
and is considered out of scope for this specification.
RID systems MUST support and SHOULD use HTTP/1.1 persistent
connections as described in [RFC2616]. RID systems MUST support
chunked transfer encoding on the HTTP server side to allow the
implementation of clients that do not need to pre-calculate message
sizes before constructing HTTP headers.
RID systems MUST use TLS version 1.1 [RFC4346] or higher with mutual
authentication for transport confidentiality, identification, and
authentication, as in [RFC2818]. RID systems MUST support TLS
version 1.1 and SHOULD support TLS version 1.2 [RFC5246]; RID systems
Trammell Expires July 6, 2012 [Page 5]
Internet-Draft RID Transport January 2012
MUST NOT request, offer, or use any version of SSL, or any version of
TLS prior to 1.1, due to known security vulnerabilities in prior
versions of the protocol; see Appendix E of [RFC5246] for more.
The TLS session MUST use non-NULL ciphersuites for authentication,
integrity, and confidentiality. Sessions MAY be renegotiated within
these constraints.
Each RID consortium SHOULD use a trusted public key infrastructure
(PKI) to manage identities for RID systems participating in TLS
connections. At minimum, each RID system MUST trust a set of X.509
Issuer identities ("Certificate Authorities") [RFC5280] to directly
authenticate RID system peers with which it is willing to exchange
information, and/or a specific white list of X.509 Subject identities
of RID system peers.
RID systems MUST provide for the verification of the identity of a
RID system peer presenting a valid and trusted certificate, by
verifying the fully-qualified domain name and service name from the
DNS SRV record, if available, against that stored in the certificate,
as in Section 6 of [RFC6125].
4. Security Considerations
In addition to the final paragraphs in Section 3 on the use of TLS to
secure RID message transport, all security considerations of related
documents apply, especially the Incident Object Description Exchange
Format (IODEF) [RFC5070] and Real-time Inter-network Defense (RID)
[I-D.ietf-mile-rfc6045-bis]. The transport described herein is built
on the foundation of these documents; the security considerations
contained therein are incorporated by reference.
5. IANA Considerations
Consistent with BCP 56 [RFC3205], since RID over HTTP/TLS is a
substantially new service, and should be controlled at the consortium
member network's border differently than HTTP/TLS, it requires a new
port number. IANA has assigned port 4590/tcp to RID with service
name RID over HTTP/TLS.
[NOTE to IANA: Since this document obsoletes RFC 6046, please update
the reference in the Port Numbers registry for 4590/tcp to point to
this document.]
Trammell Expires July 6, 2012 [Page 6]
Internet-Draft RID Transport January 2012
6. Acknowledgments
The author would like to thank David Black for the review, and
Kathleen Moriarty for work on earlier revisions of this
specification.
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.
[RFC5070] Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident
Object Description Exchange Format", RFC 5070,
December 2007.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008.
[RFC5280] 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.
[I-D.ietf-mile-rfc6045-bis]
Moriarty, K., "Real-time Inter-network Defense (RID)",
draft-ietf-mile-rfc6045-bis-05 (work in progress),
January 2012.
[RFC6125] Saint-Andre, P. and J. Hodges, "Representation and
Verification of Domain-Based Application Service Identity
within Internet Public Key Infrastructure Using X.509
(PKIX) Certificates in the Context of Transport Layer
Security (TLS)", RFC 6125, March 2011.
7.2. Informative References
[RFC3205] Moore, K., "On the use of HTTP as a Substrate", BCP 56,
RFC 3205, February 2002.
Trammell Expires July 6, 2012 [Page 7]
Internet-Draft RID Transport January 2012
[RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.1", RFC 4346, April 2006.
[RFC6046] Moriarty, K. and B. Trammell, "Transport of Real-time
Inter-network Defense (RID) Messages", RFC 6046,
November 2010.
Author's Address
Brian Trammell
Swiss Federal Institute of Technology Zurich
Gloriastrasse 35
8092 Zurich
Switzerland
Phone: +41 44 632 70 13
Email: trammell@tik.ee.ethz.ch
Trammell Expires July 6, 2012 [Page 8]
| PAFTECH AB 2003-2026 | 2026-04-24 05:36:59 |