Internet Engineering Task Force (IETF)                       K. Moriarty
Request for Comments: 6046                                           EMC
Category: Informational                                      B. Trammell
ISSN: 2070-1721                                               ETH Zurich
                                                           November 2010
        
Internet Engineering Task Force (IETF)                       K. Moriarty
Request for Comments: 6046                                           EMC
Category: Informational                                      B. Trammell
ISSN: 2070-1721                                               ETH Zurich
                                                           November 2010
        

Transport of Real-time Inter-network Defense (RID) Messages

实时网络间防御(RID)消息的传输

Abstract

摘要

The Incident Object Description Exchange Format (IODEF) defines a common XML format for document exchange, and Real-time Inter-network 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 (Transport Layer Security).

事件对象描述交换格式(IODEF)定义了用于文档交换的通用XML格式,实时网络间防御(RID)定义了IODEF的扩展,用于在网络运营商和企业联盟内合作处理安全事件。本文档基于通过HTTP/TLS(传输层安全)传递RID消息,为RID指定传输协议。

Status of This Memo

关于下段备忘

This document is not an Internet Standards Track specification; it is published for informational purposes.

本文件不是互联网标准跟踪规范;它是为了提供信息而发布的。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。并非IESG批准的所有文件都适用于任何级别的互联网标准;见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6046.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc6046.

Copyright Notice

版权公告

Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2010 IETF信托基金和确定为文件作者的人员。版权所有。

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.

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。

1. Introduction
1. 介绍

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 network providers (NPs). The defined document format provides an easy way for CSIRTs to exchange data in a way that can be easily parsed.

事件对象描述交换格式(IODEF)[RFC5070]描述了一种XML文档格式,用于在计算机安全事件响应团队(CSIRT)或负责网络提供商安全事件处理的团队(NPs)之间交换数据。定义的文档格式为CSIRT以易于解析的方式交换数据提供了一种简单的方法。

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) [RFC6045] does 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 Transport Layer Security (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.

IODEF定义了一种消息格式,而不是传输协议,因为假定消息共享超出范围,以便允许CSIRT以最适合其既定事件处理流程的方式交换和存储消息。然而,实时网络间防御(RID)[RFC6045]确实需要传输协议规范,以确保RID联盟成员之间的互操作性。本文档规定了通过传输层安全性(TLS)[RFC5246](此处为HTTP/TLS)传输的HTTP[RFC2616]请求和响应消息中RID消息的传输。请注意,任何IODEF消息也可以使用此机制传输,方法是将其作为RID报告消息发送。

2. Terminology
2. 术语

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].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。

3. Transmission of RID Messages over HTTP/TLS
3. 通过HTTP/TLS传输RID消息

This section specifies the details of the transport of RID messages over HTTP/TLS. In this arrangement, each RID server is both an HTTP/ TLS server and an HTTP/TLS client. When a RID message must be sent, the sending RID system connects to the receiving RID system and sends

本节指定通过HTTP/TLS传输RID消息的详细信息。在此安排中,每个RID服务器既是HTTP/TLS服务器又是HTTP/TLS客户端。当必须发送RID消息时,发送RID系统连接到接收RID系统并发送

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).

消息,可选择接收回复消息。所有RID系统必须准备好接受来自其通信的任何RID对等方的HTTP/TLS连接,以便支持延迟回复的回调(见下文)。

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.

BCP 56[RFC3205]包含在应用程序协议中使用HTTP时的一些重要注意事项。其中包括应用程序有效负载的大小、应用程序是否将使用web浏览器、协议是否应在80以外的端口上定义,以及通过HTTP/TLS提供的安全性是否适合新应用程序的需要。

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 will listen for TCP connections on port 4590. Every RID system participating in a consortium MUST listen for HTTP/TLS connections on the assigned port.

在这些关注的范围内,HTTP/TLS并不适合RID传输,因为前者是客户机-服务器协议,后者是消息交换协议;然而,通过HTTP/TLS实现RID系统的易用性超过了这些问题。与BCP 56一致,RID系统将侦听端口4590上的TCP连接。参与联合体的每个RID系统都必须侦听指定端口上的HTTP/TLS连接。

All RID messages sent in HTTP Requests MUST be sent using the POST with a Request-URI of "/"; additional Request-URI paths are reserved for future use by RID.

HTTP请求中发送的所有RID消息必须使用请求URI为“/”的POST发送;其他请求URI路径保留供RID将来使用。

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.

表1列出了请求中给定RID消息类型的HTTP响应中允许的RID消息类型。RID系统必须准备好在发送相应的HTTP请求时处理给定类型的HTTP响应。RID系统不得发送包含任何RID消息(与HTTP请求中发送的消息相对应的消息除外)的HTTP响应。

As the queries and replies in a RID message exchange may be significantly separated in time, the receiving RID system MAY return 202 Accepted, terminate the connection, and at a later time connect to the requesting RID system and send the RID reply in an HTTP Request. This mechanism is referred to in this document as "RID callback". When performing RID callback, a responding system MUST connect to the network- and transport-layer addresses from which the original request was sent; there is no mechanism in RID for redirected callback.

由于RID消息交换中的查询和应答可能在时间上显著分离,因此接收RID系统可能返回202 Accepted,终止连接,并在稍后连接到请求RID系统并在HTTP请求中发送RID应答。此机制在本文档中称为“RID回调”。在执行RID回调时,响应系统必须连接到发送原始请求的网络和传输层地址;RID中没有用于重定向回调的机制。

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系统应该在HTTP响应中返回应答(如果该应答立即可用或在普遍接受的HTTP客户端超时(大约30秒)内可用),但这不是强制性的,因此

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.

RID系统必须为查询做好准备,以满足202接受、空响应主体、连接终止和回调的要求。请注意,所有RID消息都需要接收RID系统的响应,因此发送RID系统可以期望立即响应或回调。

RID systems accepting a callback message in an HTTP Request MUST return 202 Accepted.

在HTTP请求中接受回调消息的RID系统必须返回202 Accepted。

Table 1 lists the allowable request/response pairs for RID.

表1列出了RID允许的请求/响应对。

    +----------------------+----------+--------+----------------------+
    | 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]              |
    +----------------------+----------+--------+----------------------+
        
    +----------------------+----------+--------+----------------------+
    | 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

表1

For security purposes, RID systems SHOULD NOT return 3xx Redirection response codes, and MUST NOT follow any 3xx Redirection. When a RID system's address changes, contact point information within the consortium must be updated out of band.

出于安全目的,RID系统不应返回3xx重定向响应代码,并且不得遵循任何3xx重定向。当RID系统的地址更改时,必须在带外更新联合体内的联系人信息。

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.

如果RID系统在HTTP请求中接收到不正确的RID消息,则必须向请求RID系统返回适当的4xx客户端错误结果代码。如果RID系统由于自身的错误而无法处理HTTP请求中接收到的RID消息,则必须向请求RID系统返回适当的5xx服务器错误结果代码。

Note that HTTP provides no mechanism for signaling to a server that a response body is not a valid RID message. If a 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.

请注意,HTTP不提供向服务器发出响应主体不是有效RID消息的信号的机制。如果RID系统在HTTP响应中接收到不正确的RID消息,或者由于自身的错误而无法处理在HTTP响应中接收到的RID消息,则必须记录错误并将其提交给RID系统管理员处理;错误日志记录格式是一个实现细节,被认为超出了本规范的范围。

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 precalculate message sizes before constructing HTTP headers.

RID系统必须支持并应使用[RFC2616]中所述的HTTP/1.1持久连接。RID系统必须在HTTP服务器端支持分块传输编码,以允许在构建HTTP头之前不需要预先计算消息大小的客户端实现。

RID systems MUST use TLS for confidentiality, identification, and strong mutual authentication as in [RFC2818]; see Section 4 below for details.

RID系统必须使用TLS进行机密性、标识和强相互认证,如[RFC2818]所述;详情见下文第4节。

4. Security Considerations
4. 安全考虑

All security considerations of related documents MUST be considered, especially the Incident Object Description Exchange Format (IODEF) [RFC5070] and Real-time Inter-network Defense (RID) [RFC6045]. The transport described herein is built on the foundation of these documents; the security considerations contained therein are incorporated by reference.

必须考虑相关文件的所有安全注意事项,尤其是事件对象描述交换格式(IODEF)[RFC5070]和实时网络间防御(RID)[RFC6045]。本文所述的运输是建立在这些文件的基础上的;其中包含的安全注意事项通过引用合并。

For transport confidentiality, identification, and authentication, TLS with mutual authentication MUST be used to secure the HTTP connection as in [RFC2818]. The session MUST use non-NULL ciphersuites for authentication, integrity, and confidentiality; sessions MAY be renegotiated within these constraints. Although TLS implementations typically support the older Secure Socket Layer (SSL) protocol, a RID peer MUST NOT request, offer, or use SSL 2.0, due to known security vulnerabilities in this protocol; see Appendix E of [RFC5246] for more.

对于传输机密性、标识和身份验证,必须使用具有相互身份验证的TLS来保护HTTP连接,如[RFC2818]所示。会话必须使用非空密码套件进行身份验证、完整性和机密性;会话可以在这些约束条件下重新协商。尽管TLS实现通常支持较旧的安全套接字层(SSL)协议,但RID对等方不得请求、提供或使用SSL 2.0,因为该协议中存在已知的安全漏洞;更多信息,请参见[RFC5246]的附录E。

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联盟应使用可信公钥基础设施(PKI)来管理参与TLS连接的RID系统的身份。至少,每个RID系统必须信任一组X.509颁发者身份(“证书颁发机构”)[RFC5280]来直接验证其愿意与之交换信息的RID系统对等方,和/或RID系统对等方的X.509主体身份的特定白名单。

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 or other network-layer identifier against that stored in the certificate, if available. More information on best practices in peer identity verification is available in [TLS-SERVER-ID].

RID系统必须通过对照证书中存储的完全限定域名或其他网络层标识符(如果可用)验证提供有效可信证书的RID系统对等方的身份。有关对等身份验证最佳实践的更多信息,请参见[TLS-SERVER-ID]。

5. IANA Considerations
5. IANA考虑

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 the service name RID over HTTP/TLS.

与BCP 56[RFC3205]一致,由于HTTP/TLS上的RID是一项实质上全新的服务,并且应在联盟成员网络的边界上以不同于HTTP/TLS的方式进行控制,因此需要一个新的端口号。IANA已将端口4590/tcp分配给RID,服务名称为RID over HTTP/TLS。

6. References
6. 工具书类
6.1. Normative References
6.1. 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[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.

[RFC2616]菲尔丁,R.,盖蒂斯,J.,莫卧儿,J.,弗莱斯蒂克,H.,马斯特,L.,利奇,P.,和T.伯纳斯李,“超文本传输协议——HTTP/1.1”,RFC 2616,1999年6月。

[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.

[RFC2818]Rescorla,E.,“TLS上的HTTP”,RFC2818,2000年5月。

[RFC5070] Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident Object Description Exchange Format", RFC 5070, December 2007.

[RFC5070]Danyliw,R.,Meijer,J.,和Y.Demchenko,“事件对象描述交换格式”,RFC 50702007年12月。

[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008.

[RFC5246]Dierks,T.和E.Rescorla,“传输层安全(TLS)协议版本1.2”,RFC 5246,2008年8月。

[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.

[RFC5280]Cooper,D.,Santesson,S.,Farrell,S.,Boeyen,S.,Housley,R.,和W.Polk,“Internet X.509公钥基础设施证书和证书撤销列表(CRL)配置文件”,RFC 52802008年5月。

[RFC6045] Moriarty, K., "Real-time Inter-network Defense (RID)", RFC 6045, November 2010.

[RFC6045]Moriarty,K.,“实时网络间防御(RID)”,RFC 60452010年11月。

6.2. Informative References
6.2. 资料性引用

[RFC3205] Moore, K., "On the use of HTTP as a Substrate", BCP 56, RFC 3205, February 2002.

[RFC3205]Moore,K.,“关于HTTP作为基板的使用”,BCP 56,RFC 3205,2002年2月。

[TLS-SERVER-ID] 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)", Work in Progress, October 2010.

[TLS-SERVER-ID]Saint Andre,P.和J.Hodges,“在传输层安全(TLS)环境下使用X.509(PKIX)证书在互联网公钥基础设施内表示和验证基于域的应用程序服务身份”,正在进行的工作,2010年10月。

Authors' Addresses

作者地址

Kathleen M. Moriarty RSA, The Security Division of EMC 174 Middlesex Turnpike Bedford, MA 01730 US

Kathleen M.Moriarty RSA,EMC 174 Middlesex Turnpike Bedford的安全部门,马萨诸塞州,美国01730

   EMail: Moriarty_Kathleen@EMC.com
        
   EMail: Moriarty_Kathleen@EMC.com
        

Brian H. Trammell Swiss Federal Institute of Technology Zurich Gloriastrasse 35 8092 Zurich Switzerland

Brian H.Trammell瑞士联邦理工学院苏黎世Gloriastrasse 35 8092瑞士苏黎世

   Phone: +41 44 632 70 13
   EMail: trammell@tik.ee.ethz.ch
        
   Phone: +41 44 632 70 13
   EMail: trammell@tik.ee.ethz.ch