One document matched: draft-ietf-idwg-iap-01.txt
Differences from draft-ietf-idwg-iap-00.txt
Internet Engineering Task Force IDWG
Internet Draft Gupta
draft-ietf-idwg-iap-01.txt Hewlett-Packard
March 31, 2000 Expires: September, 2000
Intrusion Alert Protocol - IAP
STATUS OF THIS MEMO
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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".
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
Intrusion Alert Protocol (IAP) is an application-level protocol for
exchanging intrusion alert data between intrusion detection
elements, notably sensor/analyzers and managers across IP networks.
The protocol's design is compatible with the design goals for the
HyperText Transfer Protocol (HTTP). The specification of alerts
carried using this protocol is described in companion documents of
the intrusion detection working group of the IETF.
1 Introduction
1.1 Purpose
The Intrusion Alert Protocol (IAP) is application-level protocol
for exchanging intrusion alert data. The protocol is designed to
provide the necessary transport and security properties to allow
sensitive alert data to be sent across IP networks. In addition,
the protocol is designed so that future extensions may use the
application layer for configuring intrusion detection
Gupta [Page 1]
Internet Draft IAP March 23, 2000
sensor/analyzers or sending responses.
1.2 Transport layer protocol
IAP uses the transmission control protocol (TCP) [1] as its
underlying transport layer mechanism. This protocol is used for a
wide variety of IP services. It has a number of features such as
congestion avoidance, slow start, etc. that enable it to work over
large networks with a wide variety of latency, bandwidth and
congestion characteristics. TCP provides reliable and sequenced
delivery of data between IP peers.
1.3 Terminology
Terminology is borrowed from [2].
1.4 Overall operation
IAP is primarily oriented towards supporting the transmission of
alert data from an intrusion detection sensor/analyser that detects a
potential intrusion, to a manager that displays it to a human, logs
it to a database or takes appropriate action.
In the simplest case, a sensor/analyser (SA) sends alerts to a
manager(M).
SA -------------------> M
In a more complex situation, there are more than one intermediaries
in the communication path. Two common forms of intermediary are:
Proxy A proxy is a forwarding agent which MAY do some rewriting
of the content, and forward the message.
Gateway A gateway is used to translate messages from/to some
native format (such as SNMPv3 UDP wire protocol).
A proxy may be used to relay two connections when the communication
needs to pass through an intermediary such as a firewall.
SA ----> P -----> G ----> M
Gupta [Page 2]
Internet Draft IAP March 23, 2000
Here, IDEF data is generated by SA and passed to a proxy P. P
connects to a gateway G, which translates alerts into a native format
to be consumed by the manager M. In this exchange, the connections
between SA and P, and P and G use IAP. The connection between G and M
uses the native protocol supported by M.
IAP communication takes place over an IP network using the transport
control protocol (TCP). To connect with other networks, gateways
should be used to transform protocol data into the native
representation. It is expected that the IANA will allocate a
designated TCP port for IAP communications.
1.5 Augmented BNF
We use the augmented BNF definitions of [3].
1.6 Protocol parameters
IAP uses a <major>.<minor> numbering scheme to indicate versions of
the protocol. The minor number is changed when updates to the
protocol add features that do not change the parsing algorithm. The
major number is changed when the parsing algorithm is modified.
This document describes version 0.3 of IAP. The version string for
this is iap-version: IAP/0.3.
1.7 Media Types
IAP uses Internet Media Types [4] to denote the type of alert data.
Media types are used to define the encapsulation of data, in a manner
that can be extended without requiring changes to the application
protocol.
The only media type used by IAP/0.3 is application/x-idef-alert. It
is expected that the IANA will allocate a registered media type for
the IDEF alert format. IAP entities MUST accept data sent in this
format.
2 IAP Communication Model
IAP communications occur on top of the transport control protocol
(TCP). The TCP connection carries request-response pairs much like
the payload of the HyperText Transfer Protocol (http). The TCP
connection MAY be initiated by the analyzer SA or the manager M. This
is to accommodate security perimeter configurations that proscribe
certain kinds of connections - for instance, if the manager resides
in an outsourcer's environment whereas the analyzer is inside a
protected network, perimeter security needs of the protected network
Gupta [Page 3]
Internet Draft IAP March 23, 2000
may be better served if the analyzer initiates the connection.
Response codes are borrowed from the hypertext transfer protocol [3].
In order to accommodate this variation, the roles of IAP entities are
not determined by who initiates the TCP connection. This is in
contrast to the hypertext transfer protocol (HTTP) where the client
(user agent) always initiates the TCP connection.
2.1 Why not HTTP?
HTTP/1.1 satisfies a number of needs of the application, but has a
few assumptions that make it hard to use in-toto as the application
layer. The first is the assumption that the TCP connection initiator
is the HTTP client or requester in the request-response scheme - this
precludes running the protocol "in reverse". A second issue is the
inability to give the proxy enough hints about the connection if the
protocol is being run over a TLS session, although there is ongoing
work in that direction. This draft uses the recommendations of this
work, in particular the Upgrade: keyword and the CONNECT method as
outlined in [5].
2.2 Request-Response
A configured IAP sensor/analyzer - manager pair MAY have two types of
active connections for analyzer-initiated and manager-initiated
flows.
Payload where the analyzer sends requests such as alerts is carried
over one TCP connection. Should the manager wish to send commands to
the analyzer, it MUST be carried over a separate TCP connection. An
IAP entity MAY close a connection if it finds unexpected data from
its peer.
An analyzer MUST support connections in which it sends the
requests. It MAY choose to support connections in which it
responds to requests from a manager.
2.3 Phases
The protocol is divided into two major phases. The first (setup)
phase is a request-response protocol where requests are sent by the
peer that initiated the TCP connection. This establishes roles for
the peers and the two parties agree whether the connection will be
used for request-response pairs where the analyzer acts as the
sender, or vice versa.
The second (data) phase is also a request-response session in which
the sender of requests may be reversed, based on the negotiations in
the first phase. If the connection is used for carrying payload
Gupta [Page 4]
Internet Draft IAP March 23, 2000
initiated by the analyzer, such as alerts, the requests will be from
the analyzer. Otherwise, they will be from the manager.
2.3.1 Proxies
An IDEF entity in a proxy role does not have an IAP identity. It acts
as a relay of messages without understanding their content. It MAY do
some rewriting of the content, but in a manner that does not impact
the security properties of alerts.
3 IAP Setup Phase
This is the first phase after a TCP connection is in the
established state. In this phase, the two parties set up the
transport parameters of the protocol. An IAP entity in a proxy role
MAY rewrite content to set up the protocol in this phase. This
phase uses a request-response form, with the TCP connection
initiator as requestor. The phase is divided into three subphases,
where the TCP connection, security and channel parameters are
agreed upon by the peers.
3.1 TCP Setup
The TCP connection initiator issues an iap-connect-request command.
A corresponding peer MAY choose to accept this connection, and
respond using an iap-response command, with the status code set to
200 to denote success. The pair can then proceed to the security
setup section.
Alternatively, the entity MAY reject the connection request by
setting the status code to 4xx to denote failure. In particular, the
403 Forbidden command MAY be used by the responder.
An intermediate entity in a proxy role MAY, upon receiving the
request, rewrite the iap-connect-request command. A proxy MAY append
a iap-proxy-via line to the connection request before passing it on
to the receiving entity.
A proxy SHOULD relay the server's response back to the client after
appending a iap-proxy-via line. A proxy MUST verify that existing
proxy-via headers in the request don't match its own identity in
order to limit the damage from misconfigured proxies. Otherwise, it
MUST send a bad gateway (502) response to the peer that requested the
connection.
Any entities in a proxy role MUST forward data transparently once the
upgrade phase is reached. End entities detect any attempts to
manipulate or inject messages into the communications channel.
Gupta [Page 5]
Internet Draft IAP March 23, 2000
3.2 Security Setup
A single request-response pair is used to upgrade the security of a
connected transport. The initiator of the TCP connection upon
receiving an iap-response command without any errors, issues a iap-
upgrade-request command.
A server should expect the iap-upgrade-request command after sending
an iap-response reply indicating acceptance of the connection. The
server SHOULD terminate if the request is not received, or some other
request is received. Upon receiving the request, it SHOULD send an
iap-response reply with the status code set to 101 to indicate
acceptance of the upgrade.
It MAY also send a 500 to denote server configuration error, if for
instance, it is not yet configured and does not have a certificate.
Once the TCP connection initiator receives an iap-response message
indicating success of its request to upgrade the security of the
connection, the parties initiate the TLS 1.0 handshake protocol [6].
This step negotiates the protocol version, cryptographic algorithms,
mutual authentication and generates shared secrets for the next
phase. The analyzer will initiate this step regardless of who
initiated the TCP session, because it assumes the TLS client role.
The analyzer sends the TLS client-hello message to initiate the
handshake.
If the parties complete the TLS handshake protocol successfully,
they enter exchange final setup request-response pairs, using the
TLS record protocol. These pairs are exchanged after a successful
handshake and is used by the parties to verify connection
parameters.
Once the TLS handshake is completed successfully, the TCP connection
initiator sends the channel setup request.
3.3 Channel Setup
Data in the channel setup phase is send using the TLS record layer,
and is thus impervious to passive and active attacks. The purpose of
this phase is to verify the IAP version information and decide on the
kind of payload the connection will carry for data.
The TCP connection initiator sends the iap-channel-setup-request
message. The recipient then:
+ Verifies the version information against what it received
during the protocol setup phase;
Gupta [Page 6]
Internet Draft IAP March 23, 2000
+ Checks that it is able to either accept requests from, or send
requests to the peer
It then issues a iap-response reply to indicate its agreement with
the parameters specified by the TCP connection initiator.
The protocol, security and channel setup phases are now complete, and
the channel is ready to communicate data. The directionality of this
phase is dependent on the parameters agreed upon during channel
setup.
3.4 Secured data transport
This is the main phase of the protocol. In this phase, encoded IDEF
alerts are sent by the client (sensor/analyzer) to the server
(manager) over the TLS record layer.
In addition to data in the form x-idef-alert, compatible clients and
servers MAY send other data using this transport. A peer, upon
receipt of data that it is unable to decode (unknown IAP content
type), SHOULD reject the data. It MAY choose not to terminate the
connection. This allows clients (analyzers) supporting richer content
types to communicate with legacy servers (managers).
3.5 Termination
Termination can be initiated by either peer by sending a TLS close-
notify alert (section 7.2.1). The recipient, on receipt of this
alert, should in turn respond with a close-notify alert and the
parties can close the connection gracefully.
3.6 Example
In this example, an analyzer A is configured to connect to proxy P. P
connects to a manager M to deliver the alerts. The following diagram
depicts the abstract message flow for the case where there are no
errors, and a connection is set up to deliver alerts from A to M.
A P M
[Setup Phase]
--------------->
iap-connect-request
--------------->
iap-connect-request
Gupta [Page 7]
Internet Draft IAP March 23, 2000
<---------------
iap-response
<---------------
iap-response
[proxy is now a transparent forwarding agent]
--------------->
iap-upgrade-request
<---------------
iap-response
(TLS handshake negotiation)
[TLS handshake completed: data sent using the TLS record layer]
--------------->
iap-channel-setup-request
<---------------
iap-response
[Data Phase]
--------------->
iap-content
<---------------
iap-response
4 IAP Wire Protocol
IAP uses a subset of the HTTP/1.1 syntax to send IDEF alerts. The
request-response protocol is modeled on HTTP, with the exception
that the each request and response must be prefixed with the IAP
version number during the setup phase.
All requests must be responded to using an iap-response message
indicating whether the recipient was able to successfully interpret
(and act on) the request. Response codes are borrowed from HTTP/1.1.
4.1 Alert content
Gupta [Page 8]
Internet Draft IAP March 23, 2000
Alert content payload must be preceded by a header specifying the
content length.
4.2 Syntax
In the wire protocol, requests and responses are terminated by a pair
of CRLF sequences, following HTTP/1.1. The following definitions from
[3] are used.
+ hostThis
+ DIGIT
+ Chunked-Body
+ SPC
+ CRLF
An IAP message is denoted by iap-message.
iap-message =
( iap-connect-request |
iap-upgrade-request |
iap-channel-setup-request |
iap-content |
iap-response )
CRLF
The version of the protocol is denoted by iap-t-version
iap-t-version = "IAP/0.3"
The role of the TCP connection initiator is specified by sender-
receiver:
sender-receiver = "Sender" | "Receiver"
By choosing the appropriate string, it signals whether it wants to
send requests to the peer or receive them from the peer.
4.3 Protocol messages
4.3.1 Responses
Gupta [Page 9]
Internet Draft IAP March 23, 2000
An iap-response denotes the status code returned by an IAP entity in
response to a request.
iap-response = iap-t-version SP
3DIGIT CRLF
4.3.2 Connection Request
A iap-connect-request denotes a request message sent by an IAP client
to establish an IAP protocol connection.
iap-connect-request
= iap-t-connect-request
( iap-t-via )*
iap-t-connect-request
= iap-t-version SP
"CONNECT" SP host CRLF
iap-t-via = iap-t-version SP
"Via:" SP host CRLF
4.3.3 Upgrade Request
An iap-upgrade-request contains a notification from the client that
it wishes to upgrade the security of the connection.
iap-upgrade-request
= iap-t-version SP
"Upgrade: TLS/1.0" CRLF
4.3.4 Channel Setup
An iap-channel-setup request contains a notification requesting that
the peer verify the version of IAP being used.
iap-channel-setup-request
= iap-t-version SP
"IAP-Version: 0.3" CRLF
"IAP-Role:" SP sender-receiver CRLF
Gupta [Page 10]
Internet Draft IAP March 23, 2000
4.3.5 Alert Content
The iap-content message is an encoded alert sent using IAP.
iap-content
= iap-t-content-header
CRLF
iap-t-content-body
CRLF
iap-t-content-header
= iap-content-type
iap-transfer-encoding
iap-content-type = "Content-Type:" SP
"application/x-idef-alert"
CRLF
iap-transfer-encoding
= "Content-Length: " SP +DIGIT CRLF
4.4 Example
Here is a transcript of a scenario in which an IDEF sensor/analyzer A
wishes to send alerts to manager M. The proxy P mediates this
connection. After the connection has been set up, A sends an IDEF
alert 64 octets in length with each octet set to 0xFF.
A P M
iap-connect-request
--------------->
IAP/0.3 CONNECT M.DOM.ORG CRLF
CRLF
iap-connect-request
--------------->
IAP/0.3 CONNECT M.DOM.ORG CRLF
IAP/0.3 Via: P.DOM.ORG CRLF
CRLF
iap-response
<---------------
IAP/0.3 200 CRLF
CRLF
iap-response
Gupta [Page 11]
Internet Draft IAP March 23, 2000
<---------------
IAP/0.3 200 CRLF
IAP/0.3 Via: P.DOM.ORG CRLF
CRLF
[proxy is now a transparent forwarding agent]
iap-upgrade-request
--------------->
IAP/0.3 Upgrade: TLS/1.0 CRLF
CRLF
iap-response
<---------------
IAP/0.3 101 CRLF
CRLF
(TLS handshake negotiation)
[TLS handshake completed: data sent using the TLS record layer]
iap-version-verify
--------------->
IAP/0.3 IAP-Version: 0.3 CRLF
IAP/0.3 IAP-Role: Sender CRLF
CRLF
iap-response
<---------------
IAP/0.3 200 CRLF
CRLF
iap-version-verify
iap-content
--------------->
Content-Type: application/x-idef-alert CRLF
Content-Length: 64 CRLF
64 * 0xFF octet (IDEF alert data)
CRLF
CRLF
iap-response
<---------------
IAP/0.3 200 CRLF
CRLF
5 Scenarios
Gupta [Page 12]
Internet Draft IAP March 23, 2000
5.1 Simple analyzer
A simple analyzer can only initiate connections, and only be able to
connect with a single manager at a time. In this case, the analyzer's
configuration is expected to include the manager's IP address and a
specification of the manager's certificate (such as the signer's
public key and patterns in the common name or organizational unit).
The analyzer would initiate the TCP session. As a result, any
firewalls in the path MUST be configured to let through traffic
initiated by the analyzer(s) with the manager's IP address and IAP
destination port as the other endpoint of the session.
5.2 Simple analyzer with proxy
If perimeter security demands that a proxy be deployed, the analyzer
should be configured with the proxy's IP address. The proxy would
then establish a connection to the manager, and forward traffic
between the two connections. The proxy's configuration would include
the manager's address. Note that the proxy does not participate in
the TLS handshake and does not need TLS related configuration
parameters.
5.3 Manager design considerations
The protocol is oriented to allow lightweight implementation of
sensor/analyzers. A manager MUST accept TCP connections from multiple
sensor/analyzers by listening on the IAP port.
6 Implementation Considerations
6.1 TCP connection initiation
The entity that initiates a TCP connection will be variable, and
dependent on the exact deployment model. One scenario is that of
sensor/analyzers outside a security perimeter, with the manager
inside. In such configurations, the manager MAY initiate the
connection in line with perimeter security requirements.
Another scenario is that of remote sensor/analyzers being managed by
a service provider. In this case, the sensor/analyzer MAY contact a
proxy on the perimeter, which in turn connects to the remote manager
in a service provider's network.
The communications protocol should allow chained proxies to carry IAP
data across multiple security perimeters.
6.2 Urgent data
Gupta [Page 13]
Internet Draft IAP March 23, 2000
Urgent data at the TCP layer MUST NOT be used by an entity using IAP.
Endpoints SHOULD terminate a connection upon receipt of urgent data.
6.3 TLS/1.0 protocol
The TLS 1.0 protocol MUST be used. An IDEF entity MUST not allow
older protocol HELLO messages, and reject attempts to negotiate an
older version of the protocol. The following TLS ciphersuite MUST be
supported in line with recommendations from the tls working group:
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
The recommendations in sections 2.1 and 2.2 of [7] must be followed
by IAP client and server implementations.
6.4 Mandatory client certificates
In line with the requirement for strong mutual authentication, client
certificates (for sensor/analyzers acting in an IAP client role) are
mandatory, and the entity should verify the certificate's content
during the TLS handshake.
6.5 Certificate conventions
One or more of the following extended key usage extensions MUST be
specified in X.509v3 certificates issued to an IAP client or server
entity:
+ IAP_ALERT_GENERATOR
+ IAP_ALERT_CONSUMER
+ IAP_IDEF_CONFIGURATOR
The object identifiers (OIDs) for these extensions will be specified
in a companion document. The presence of the extension means that the
signer believes that the holder of the certificate is allowed to
function in the corresponding IAP role.
An entity in a IAP server role MUST have the IAP_ALERT_CONSUMER
extension in its certificate. Similarly, an entity in a IAP client
role MUST have the IAP_ALERT_GENERATOR extension in its certificate.
6.6 Verification of peer identity
As the peer identity is initially sent in the clear, it is essential
that the IAP client and server entities verify the identity of their
peer using criteria based on their public key certificates.
Gupta [Page 14]
Internet Draft IAP March 23, 2000
Implementors SHOULD adopt prudent security practice and reject
certificates that are not in accordance with the installation's
configuration. For instance, they may wish to verify subfields of the
peer's identity, such as the Organizational Unit, in addition to
verifying the correctness of the signature and the signer's identity.
The version of the protocol MUST be verified during the channel setup
phase to stop protocol downgrade attacks. The mechanism specified in
section 2.4 of [7] for verifying peer certificates must be followed.
6.7 TLS session resumption
The entities MUST be configured to support TLS session resumption.
Because of the possibility of external entities maliciously
terminating IAP sessions, clients and servers MAY attempt to resume a
session even if the TLS close-notify alert was not received before
the transport closed.
7 Security Considerations
As IAP is intended to be used for carrying security-sensitive data,
we will list a number of security considerations.
7.1 Reliable and sequenced delivery
Although reliable and sequenced delivery can be built on top of UDP,
this usually reimplements some of the protocol features of TCP.
Certain deployment scenarios may prefer fast unreliable delivery with
the manager doing a "best effort" attempt to keep up with the flow of
alerts. This proposal does not address such a scenario. One potential
alternative for this scenario is to use the SNMP trap as a means to
represent the alert. We remark that the above scenario is at odds
with a number of items in section 6 of the requirements document of
the working group. In addition, the use of UDP-based protocols is
likely to result in unresponsive or aggressive flows which further
exacerbate the congestion problem in the internet.
7.2 TCP handshake
TCP uses a three-message handshake mechanism to set up connections.
This opens the protocol up to certain well-known denial of service
attacks. This protocol does not address this vulnerability. The
effect of such attacks can be mitigated by a number of techniques,
including:
+ restricting the set of peer IP addresses allowed to connect to
the node.
Gupta [Page 15]
Internet Draft IAP March 23, 2000
+ having the node only accept connections when it is not already
connected to known peers.
7.3 Key Management
For a public-key based communications model to be useful, good key
management principles must be used for the lifecycle of public key
certificates. The pkix working group of the IETF is defining
mechanisms that can be used for this purpose.
7.4 Message length
Traffic analysis may allow an observer to induce the type of alert
from the size of the message. If this is a threat, IDEF entities
SHOULD pad their data so that it observes some known distribution
(such as the uniform distribution) over time.
7.5 Proxy considerations
As the proxy transparently forwards encrypted traffic after
connections are established, it is prudent to deploy the proxy in a
manner that it can't be used to violate the perimeter security
policy. For instance, a proxy may only accept requests from
connections on its inside interface, to known locations outside the
perimeter.
8 Acknowledgements
This document makes heavy use of prior work in the IETF on HTTP, MIME
and TLS. Their effort is gratefully acknowledged. Members of the
IETF's intrusion detection working group (idwg) have made extensive
comments that are reflected in the draft.
9 Bibliography
[1] J. Postel, "Transmission control protocol," Request for Comments
(Standard) 793, Internet Engineering Task Force, Sept. 1981.
[2] M. Wood, "Intrusion detection exchange format requirements,"
internet draft (work in progress), Internet Engineering Task Force,
June 1999.
[3] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P.
Leach, and T. Berners-Lee, "Hypertext transfer protocol - HTTP/1.1,"
Request for Comments (Draft Standard) 2616, Internet Engineering Task
Force, June 1999.
[4] N. Borenstein and N. Freed, "MIME (multipurpose internet mail
Gupta [Page 16]
Internet Draft IAP March 23, 2000
extensions): Mechanisms for specifying and describing the format of
internet message bodies," Request for Comments (Proposed Standard)
1341, Internet Engineering Task Force, June 1992.
[5] R. Khare and S. Lawrence, "Upgrading to TLS within HTTP/1.1",
internet draft (work in progress), Internet Engineering Task Force,
Jan 2000.
[6] T. Dierks and C. Allen, "The TLS protocol version 1.0," Request
for Comments (Proposed Standard) 2246, Internet Engineering Task
Force, Jan. 1999.
[7] C. Newman, "Using TLS with IMAP, POP3 and ACAP," Request for
Comments (Proposed Standard) 2595, Internet Engineering Task Force,
June 1999.
A Author's Address
Dipankar Gupta
Hewlett-Packard
690 E Middlefield Road, MS 31R
Mountain View, CA 94043, USA
Fax: +1(650)919-8066
Email: dg@mayfield.hp.com
B Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
Gupta [Page 17]
Internet Draft IAP March 23, 2000
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Table of Contents
1 Introduction ........................................ 1
1.1 Purpose ............................................. 1
1.2 Transport layer protocol ............................ 2
1.3 Terminology ......................................... 2
1.4 Overall operation ................................... 2
1.5 Augmented BNF ....................................... 3
1.6 Protocol parameters ................................. 3
1.7 Media Types ......................................... 3
2 IAP Communication Model ............................. 3
2.1 Why not HTTP? ...................................... 4
2.2 Request-Response .................................... 4
2.3 Phases .............................................. 4
2.3.1 Proxies ............................................. 5
3 IAP Setup Phase ..................................... 5
3.1 TCP Setup ........................................... 5
3.2 Security Setup ...................................... 6
3.3 Channel Setup ....................................... 6
3.4 Secured data transport .............................. 7
Gupta [Page 18]
Internet Draft IAP March 23, 2000
3.5 Termination ......................................... 7
3.6 Example ............................................. 7
4 IAP Wire Protocol ................................... 8
4.1 Alert content ....................................... 8
4.2 Syntax .............................................. 9
4.3 Protocol messages ................................... 9
4.3.1 Responses ........................................... 9
4.3.2 Connection Request .................................. 10
4.3.3 Upgrade Request ..................................... 10
4.3.4 Channel Setup ....................................... 10
4.3.5 Alert Content ....................................... 11
4.4 Example ............................................. 11
5 Scenarios ........................................... 12
5.1 Simple analyzer ..................................... 13
5.2 Simple analyzer with proxy .......................... 13
5.3 Manager design considerations ....................... 13
6 Implementation Considerations ....................... 13
6.1 TCP connection initiation ........................... 13
6.2 Urgent data ......................................... 13
6.3 TLS/1.0 protocol .................................... 14
6.4 Mandatory client certificates ....................... 14
6.5 Certificate conventions ............................. 14
6.6 Verification of peer identity ....................... 14
6.7 TLS session resumption .............................. 15
Gupta [Page 19]
Internet Draft IAP March 23, 2000
7 Security Considerations ............................. 15
7.1 Reliable and sequenced delivery ..................... 15
7.2 TCP handshake ....................................... 15
7.3 Key Management ...................................... 16
7.4 Message length ...................................... 16
7.5 Proxy considerations ................................ 16
8 Acknowledgements .................................... 16
9 Bibliography ........................................ 16
A Author's Address .................................... 17
B Full Copyright Statement ............................ 17
Gupta [Page 20]
| PAFTECH AB 2003-2026 | 2026-04-23 17:26:13 |