[Docs] [txt|pdf|xml|html] [Tracker] [Email] [Diff1] [Diff2] [Nits]
Versions: 00 01 02
ABFAB J. Howlett
Internet-Draft JANET(UK)
Intended status: Informational S. Hartman
Expires: September 15, 2011 Painless Security
March 14, 2011
Key Negotiation Protocol for RadSec (KNP)
draft-howlett-radsec-knp-01
Abstract
RadSec provides a means to secure the communication between a RADIUS
client and server on the transport layer by using a TLS cipher-suite.
This avoids the security weaknesses inherent in RADIUS' use of the
MD5 algorithm.
The Key Negotiation Protocol for RadSec enables a RADIUS client and
RADIUS server to derive a key that can be used with a TLS PSK
ciphersuite and applied with a RadSec connection.
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 September 15, 2011.
Copyright Notice
Copyright (c) 2011 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
Howlett & Hartman Expires September 15, 2011 [Page 1]
Internet-Draft KNP for RadSec March 2011
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 . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Federation with RADIUS . . . . . . . . . . . . . . . . . . 3
1.2. Federation with RadSec . . . . . . . . . . . . . . . . . . 4
1.3. Requirements . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Federating RADIUS . . . . . . . . . . . . . . . . . . . . 5
1.5. Introducing KMP . . . . . . . . . . . . . . . . . . . . . 5
1.6. Trust Router . . . . . . . . . . . . . . . . . . . . . . . 6
2. Conventions used in this document . . . . . . . . . . . . . . 7
3. The KNP Actors . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Relationships With Other Protocols . . . . . . . . . . . . . . 8
4.1. Relationship to GSS-API and EAP . . . . . . . . . . . . . 8
4.2. Relationship to AAA . . . . . . . . . . . . . . . . . . . 9
4.3. Relationship to HTTP Negotiate . . . . . . . . . . . . . . 9
5. Key Negotiation Protocol . . . . . . . . . . . . . . . . . . . 9
5.1. Invocation by RADIUS Client . . . . . . . . . . . . . . . 9
5.2. Discovery of the RADIUS Server and KNP Endpoint . . . . . 10
5.3. Trust Establishment . . . . . . . . . . . . . . . . . . . 10
5.3.1. Client and Introducer . . . . . . . . . . . . . . . . 11
5.3.2. Server and Introducer . . . . . . . . . . . . . . . . 11
5.3.3. Server to Client . . . . . . . . . . . . . . . . . . . 12
5.3.4. Client to Server . . . . . . . . . . . . . . . . . . . 12
5.4. Keying . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.5. TLS Encryption Negotiation . . . . . . . . . . . . . . . . 12
6. Context and PSK Management . . . . . . . . . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
10.1. Normative References . . . . . . . . . . . . . . . . . . . 13
10.2. Informative References . . . . . . . . . . . . . . . . . . 15
Howlett & Hartman Expires September 15, 2011 [Page 2]
Internet-Draft KNP for RadSec March 2011
1. Introduction
The ABFAB architecture [I-D.lear-abfab-arch] provides an overview of
how AAA protocols, such as RADIUS[RFC2865], can be used to support
application layer authentication. In this architecture, the AAA
protocols are part of the 'federation substrate' that ultimately
binds relying parties to identity providers. The ABFAB substrate
provides the architectural roles:
o Deciding where to route messages addressed to a given Network
Access Identifier (NAI)
o Providing integrity protection and authentication so the relying
party can trust the authenticity of messages from the identity
provider
o When multiple sets of business rules are possible, indicate which
rules are being used
o Provide appropriate technical validation of information exchanged
through the federation.
Today, AAA protocols are already commonly employed for federation
between different domains. These system generally exhibit many of
these behaviours.
1.1. Federation with RADIUS
In a simple federated relationship, static configuration of RADIUS is
used to achieve technical trust. The RADIUS proxy is configured with
a static set of mappings from realm suffix to RADIUS server. There
are statically configured shared secrets with each of these servers.
Statically configured attribute release policies describe what
attributes may be expressed by RADIUS servers outside of the local
realm.
Another common deployment involves an organization running a network
of RADIUS proxies. These proxies are statically configured with
routing, credentials and filtering information. A RADIUS proxy
network and this static configuration is sometimes known as a proxy
fabric.
One disadvantage of a proxy fabric is that the intermediate proxies
can see information exchanged between the RADIUS client (or the
relying party in the ABFAB architecture) and terminal RADIUS server
(or the identity provider in the ABFAB architecture). Sometimes this
might be desirable: for example if an intermediate proxy is needed to
validate some of this information. However, it does create a
Howlett & Hartman Expires September 15, 2011 [Page 3]
Internet-Draft KNP for RadSec March 2011
significant privacy exposure.
Also, especially for the Extensible Authentication Protocol
[RFC3748], reducing the latency of a round trip can provide a
significant performance advantage.
1.2. Federation with RadSec
TLS encryption for RADIUS (RadSec) [I-D.ietf-radext-radsec] provides
a means to secure the communication between a RADIUS and server on
the transport layer by using a TLS [RFC5246] cipher-suite. This
avoids the security weaknesses inherent in RADIUS' use of the MD5
algorithm and removes the requirement for a RADIUS client to be
preconfigured with a shared secret to communicate with a particular
RADIUS server. This can be a significant part of reducing the
intermediaries in a RADIUS deployment.
RadSec mandates the use of one of the [RFC5246] ciphersuites and
recommends the use of two other ciphersuites specified in that
document. However any ciphersuite, including the TLS Pre-Shared Key
(PSK) ciphersuites [RFC4279], may be used providing that it supports
encryption.
1.3. Requirements
The KNP is motivated by the following requirements:
o Improve security while using a familiar credential technology.
RADIUS uses shared secrets to establish trust between RADIUS
clients and servers. For some AAA operational models it may be
more convenient to continue using secrets rather than introduce a
new credential technology (such as X.509 certificates) when
transitioning to the use of TLS encryption.
o Agnosticism with respect to credential technology. In complex
multi-domain federated AAA systems it may often be convenient not
to impose any particular credential technology(s) or trust
anchor(s) to establish trust between RADIUS peers. In other
words, it may be desirable for RADIUS peers in different
administrative domains to negotiate keys in the absence of any
understanding of their respective credential technologies or trust
anchors. This agnosticism may improve interoperability within,
and facilitate the scaling of, large heterogeneous AAA
environments where it may be difficult - for technical or
administrative reasons - to impose support for a common (or even a
small number of) technologies or trust anchors.
Howlett & Hartman Expires September 15, 2011 [Page 4]
Internet-Draft KNP for RadSec March 2011
o Online trust management. Similarly, the use of a variety of
different trust anchors and credential technologies may impede
essential trust management functions such as timely revocation.
In complex federated AAA environments, it would be desirable to
permit online trust management in a way that is independent of the
underlying credential technology.
o Avoiding intermediaries. Reducing the number of intermediaries
improves privacy and system robustness, and reduces end-to-end
latencies.
1.4. Federating RADIUS
In order to provide a scalable substrate for federation, the AAA
fabric needs to provide authentication and exchange of policy
information between RADIUS clients and servers that cross
organizational boundaries. That is, federated access management is
required for RADIUS as an application.
As with other applications, the ABFAB technologies can be applied to
provide federated access management. RADIUS clients act as clients
and subjects. They have identities issued by the organization
establishing the federation, which acts as an identity provider. The
foreign RADIUS server acts as a relying party.
This specification defines a protocol that permits the ABFAB
architecture to be used for federated access to RADIUS, providing the
technical details for interactions between parties. In an
environment where ABFAB is in use, this technology may provide
significant advantages over other approaches such as a public-key
infrastructure. In ABFAB, credentials are always managed between two
parties. The subject and identity provider (in this case, the RADIUS
client and federation) share a credential. The relying party and
identity provider share a secure channel created by AAA credentials.
Since only two parties need to interact with each credential, their
requirements dictate the complexity of enrollment, revocation,
policies, practices, and other credential management issues. Trust
anchor management may be significantly simpler.
1.5. Introducing KMP
The Key Negotiation Protocol (KNP) provides two functions:
1. It enables a RADIUS client and RADIUS server to derive a
credential that can be used with a TLS PSK ciphersuite applied to
a RadSec connection between these peers. This credential is
obtained as a result of an EAP authentication between the RADIUS
client, a trusted third-party EAP server known as the Introducer
Howlett & Hartman Expires September 15, 2011 [Page 5]
Internet-Draft KNP for RadSec March 2011
and the RADIUS server acting as an EAP pass-through
authenticator.
2. It enables a RADIUS client and RADIUS server to derive an EAP
credential that the client may subsequently use to authenticate
against that RADIUS server, now acting as Introducer, via a
second RADIUS server acting as an EAP pass-through authenticator.
This credential may be used to establish a TLS PSK (using the
function described above); or to establish yet another credential
with another RADIUS server.
In summary, the first function enables a RADIUS client and server to
negotiate a key by means of a trusted third-party called the
Introducer. The second function enables a RADIUS client to establish
an Introducer which it might subsequently use the first facility
against; or, in an iterative manner, repeat the second facility to
establish yet another Introducer.
TODO: this document currently only documents the first of these
functions. The second facility will be documented in a later
revision.
The composition of these two facilities enables a RADIUS client to
dynamically establish a trust relationship with a RADIUS server in
the absence of any pre-existing relationship, providing that there
exists a path between the RADIUS client and server via one or more
intermediate Introducers.
Conceptually the role of an Introducer as a trust broker is not
dissimilar to that of a conventional AAA proxy. The key difference
is that the trust path between the RADIUS client and server need not
bear any resemblance to the transit path taken by the AAA messages
between the RADIUS client and server.
1.6. Trust Router
Static configuration of routing information does not scale. Instead
it would be desirable to have a protocol that dynamically assembles
the necessary configuration information for RADIUS proxies.
This protocol has a lot in common with a routing protocol. The
protocol maintains a distributed database synchronized across a
number of replicas. It's likely that multiple paths will be able to
reach the same destination in some cases. Thus, some sort of
shortest-path algorithm is required. The metric often will be more
complex than simply length of path: business rules may prefer certain
paths. Business rules may also filter out certain paths at various
points.
Howlett & Hartman Expires September 15, 2011 [Page 6]
Internet-Draft KNP for RadSec March 2011
We propose that as ABFAB deployment complexity increases, such a
protocol will be required. Within a federation, local procedures,
such as frequently updated static configuration could be used.
However, to provide scalable inter-federation, a trust router
protocol is required to exchange the information necessary to
establish technical trust in a dynamic manner. This document does
not define a specific instantiation of a trust routing protocol.
Instead, it focuses on a problem that results once a trust routing
protocol exists. Efforts to design a proposal for a trust router
protocol are ongoing but less mature than this proposal.
2. Conventions used in this document
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].
3. The KNP Actors
The KNP does not require the RADIUS client and RADIUS server to share
a trust relationship. Instead, it only requires that these parties
share a trust relationship with a mutually trusted third party. In
the KNP, this party is known as the "Introducer".
Figure 1 below depicts the trust relationships for a RADIUS client,
RADIUS server and the Introducer before the KNP has been invoked.
Introducer
/\
/ \
/ \
RADIUS RADIUS
Client Server
Figure 1
Figure 2 below depicts the new trust relationship between the RADIUS
client, RADIUS server and the Introducer after the KNP has been
invoked.
Introducer
/\
/ \
/ \
RADIUS------RADIUS
Client Server
Figure 2
Howlett & Hartman Expires September 15, 2011 [Page 7]
Internet-Draft KNP for RadSec March 2011
Figure 3 below depicts the flow of RADIUS packets from the RADIUS
client to the RADIUS server using the new trust relationship.
Introducer
RADIUS ---> RADIUS
Client Server
Figure 3
4. Relationships With Other Protocols
The KNP builds on a variety of protocols. This section describes the
relationship of KNP to these.
4.1. Relationship to GSS-API and EAP
The KNP builds on the GSS-API [RFC2743] framework, the GSS EAP
mechanism [I-D.ietf-abfab-gss-eap] and EAP [RFC3748]. The RADIUS
client, acting as the GSS initiator and EAP peer, establishes a GSS-
API security context with the RADIUS server, acting as the GSS
acceptor and EAP authenticator, by reference to an EAP server that
acts as the Introducer.
The KNP enables all three parties - RADIUS client, RADIUS server and
Introducer - to establish a common view of their mutual relationships
as described by the names and keys that the KNP generates.
The RADIUS client must possess an EAP credential for the introducer,
allowing mutual authentication of both parties when applied with an
appropriate EAP method.
Figure 4 below depicts the relationships between these entities:
Introducer
/\
/ \
/ \
RADIUS RADIUS
Client Server
(wielding EAP
credential for
the introducer)
Figure 4
Howlett & Hartman Expires September 15, 2011 [Page 8]
Internet-Draft KNP for RadSec March 2011
4.2. Relationship to AAA
The RADIUS server uses an AAA protocol to forward the EAP transaction
to the Introducer.
The RADIUS server must possess an AAA credential for the Introducer,
allowing mutual authentication of both parties.
Figure 5 below depicts the relationships between these entities:
Introducer
/\
/ \
/ \
RADIUS RADIUS
Client Server
(wielding EAP (wielding AAA
credential for credential for
the Introducer) the Introducer)
Figure 5
The Introducer is always a single system entity: the EAP server.
However, the AAA link between the RADIUS server and Introducer may
not be direct, and instead may be composed of one or more proxies.
For the purposes of KNP, the RADIUS server and Introducer must have
equivalent or greater trust in any intermediate proxies than they do
with each other.
4.3. Relationship to HTTP Negotiate
The GSS EAP mechanism is transported using the HTTP Negotiate
authentication scheme [RFC4559] between the RADIUS client and the
RADIUS server's KNP endpoint.
5. Key Negotiation Protocol
This section describes the KNP.
5.1. Invocation by RADIUS Client
The KNP is invoked when the RADIUS client creates or receives (in the
case that it is also a proxy) a RADIUS message which must be
forwarded towards a RADIUS server but for which the RADIUS client
lacks a PSK. For example:
Howlett & Hartman Expires September 15, 2011 [Page 9]
Internet-Draft KNP for RadSec March 2011
o The RADIUS client may not have any local configuration for the
RADIUS server.
o The RADIUS client may have a cached PSK for the RADIUS server and
may have already attempted a RADIUS over TLS connection, but this
has been refused by the RADIUS server; possibly because the RADIUS
server has deleted the key.
5.2. Discovery of the RADIUS Server and KNP Endpoint
The RADIUS client first selects a RADIUS server. Implementations
MUST support the use of Dynamic Peer Discovery
[I-D.ietf-radext-dynamic-discovery], but MAY use any selection
algorithm.
Having selected a RADIUS server and obtained its network location,
the RADIUS client MUST attempt to establish an HTTP [RFC2616]
connection with the RADIUS server's KNP end-point.
This specification defines the SRV prefix "_knp._tcp". This MAY be
used to describe the network location of the KNP endpoint.
Implementations MUST support the use of this SRV RR. The label used
for this record is the RADIUS server.
Example:
_knp._tcp.radsec.example.com. IN SRV 0 10 TODO knp.example.com.
TODO: obtain a port.
5.3. Trust Establishment
It is essential that all three actors - RADIUS Client, Server and
Introducer - are able to validate each other's respective claims to
their names. These are determined using different processes for each
relationship, and are summarised in Figure 6 below.
Howlett & Hartman Expires September 15, 2011 [Page 10]
Internet-Draft KNP for RadSec March 2011
+===============+===============+==================+===============+
| Subject | Relying Party | Process | Evidence from |
+===============+===============+==================+===============+
| RADIUS Client | Introducer | EAP GSS | EAP method |
+---------------+---------------+ authentication | w/ qualifying |
| Introducer | RADIUS Client | (section 6.3.1. )|Security Claims|
+===============+===============+==================+===============+
| Introducer | RADIUS Server | AAA | AAA |
+---------------+---------------+ authentication | shared |
| RADIUS Server | Introducer | (section 6.3.2. )| secret |
+===============+===============+==================+===============+
| RADIUS | RADIUS | Channel bindings | Assertion by |
| Server | Client | (section 6.3.3. )| Introducer |
+---------------+---------------+------------------+---------------+
| RADIUS | RADIUS | RADIUS attribute | Assertion by |
| Client | Server | (section 6.3.4. )| Introducer |
+===============+===============+==================+===============+
Figure 6
The following sections describe how these processes are used by the
KNP to establish trust between the actors and, in particular, how
they determine their respective names.
5.3.1. Client and Introducer
The RADIUS client invokes the GSS authentication handshake using the
GSS EAP mechanism [I-D.ietf-abfab-gss-eap] using an empty POST
method. The RADIUS client, in its role as GSS initiator, MUST
request mutual authentication from the GSS layer.
The RADIUS server, acting as an EAP authenticator as described in
section 2.3 of [RFC3748], MUST forward the EAP Request messages from
the RADIUS client towards the Introducer over RADIUS; and also all
EAP Responses received from the Introducer over RADIUS from the
Introducer to the RADIUS client.
The RADIUS client and Introducer MUST negotiate an EAP method
supporting the following EAP Security Claims: mutual authentication,
integrity protection, replay protection, confidentiality, key
derivation, dictionary attack resistance, session independence and
channel binding.
5.3.2. Server and Introducer
The RADIUS Server and Introducer MUST each possess a shared secret to
protect the RADIUS exchange described in section Section 5.3.1. The
shared secret MUST be established out-of-band prior to the invocation
of the KNP; this is not within the scope of the KNP.
Howlett & Hartman Expires September 15, 2011 [Page 11]
Internet-Draft KNP for RadSec March 2011
5.3.3. Server to Client
The RADIUS client and Introducer MUST use the EAP channel binding
protocol [I-D.ietf-emu-chbind]. If the channel binding verification
fails, the Introducer MUST reject the authentication.
5.3.4. Client to Server
If the Introducer successfully authenticates the RADIUS client, the
Introducer MUST send the client's authenticated name to the RADIUS
server using the X RADIUS Attribute. The RADIUS server MAY use this
name to perform authorisation.
TODO: select an appropriate RADIUS attribute
5.4. Keying
The completion of the EAP method exchange results in the derivation
of an EAP MSK known only to the client and server and Peer-Id(s) and
Server-Id(s) identifying these respectively. The Introducer MUST
replicate the keying material and Server-Id to the RADIUS server.
The RADIUS client and server, in possession of the EAP MSK, establish
a GSS-API security context as described in section 6 of
[I-D.ietf-abfab-gss-eap].
The PSK identity and value shall be the output of GSS_Pseudo_random()
[RFC4401] using the Pseudo-Random Function defined for the GSS EAP
mechanism [I-D.ietf-abfab-gss-eap].
For the PSK identity, the prf_in input string MUST be prepended with
the string "tls-psk-identity"; desired_out_len MUST be set to 128
octets.
Note: this should use base64 representation
Note: should we append an NAI realm to the PSK identity?
For the PSK value, the prf_in input string MUST be prepended with the
string "tls-psk-value"; desired_out_len MUST be set to 64 octets.
5.5. TLS Encryption Negotiation
Finally the RADIUS client invokes RadSec, requesting a PSK TLS
ciphersuite. The RADIUS client MUST include its PSK identity in the
ClientKeyExchange message.
Howlett & Hartman Expires September 15, 2011 [Page 12]
Internet-Draft KNP for RadSec March 2011
6. Context and PSK Management
The RADIUS server and client MAY cache the GSS context until expiry
of the GSS context. However, either party MAY delete a GSS context
at any time up to expiry. When a GSS context is deleted, the
corresponding PSK value MUST also be deleted. The PSK identity MAY
be retained for auditing or other purposes.
7. Security Considerations
TODO
8. IANA Considerations
Note: register KNP TCP port and SRV RR label.
9. Acknowledgements
TODO
10. References
10.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.
[RFC2743] Linn, J., "Generic Security
Service Application Program
Interface Version 2, Update 1",
RFC 2743, January 2000.
[RFC2865] Rigney, C., Willens, S., Rubens,
A., and W. Simpson, "Remote
Authentication Dial In User
Service (RADIUS)", RFC 2865,
June 2000.
[RFC3748] Aboba, B., Blunk, L.,
Vollbrecht, J., Carlson, J., and
Howlett & Hartman Expires September 15, 2011 [Page 13]
Internet-Draft KNP for RadSec March 2011
H. Levkowetz, "Extensible
Authentication Protocol (EAP)",
RFC 3748, June 2004.
[RFC4279] Eronen, P. and H. Tschofenig,
"Pre-Shared Key Ciphersuites for
Transport Layer Security (TLS)",
RFC 4279, December 2005.
[RFC4401] Williams, N., "A Pseudo-Random
Function (PRF) API Extension for
the Generic Security Service
Application Program Interface
(GSS-API)", RFC 4401,
February 2006.
[RFC4559] Jaganathan, K., Zhu, L., and J.
Brezak, "SPNEGO-based Kerberos
and NTLM HTTP Authentication in
Microsoft Windows", RFC 4559,
June 2006.
[RFC5246] Dierks, T. and E. Rescorla, "The
Transport Layer Security (TLS)
Protocol Version 1.2", RFC 5246,
August 2008.
[I-D.ietf-abfab-gss-eap] Hartman, S. and J. Howlett, "A
GSS-API Mechanism for the
Extensible Authentication
Protocol",
draft-ietf-abfab-gss-eap-01
(work in progress),
February 2011.
[I-D.ietf-radext-radsec] Winter, S., McCauley, M.,
Venaas, S., and K. Wierenga,
"TLS encryption for RADIUS",
draft-ietf-radext-radsec-08
(work in progress), March 2011.
[I-D.ietf-radext-dynamic-discovery] Winter, S. and M. McCauley,
"NAI-based Dynamic Peer
Discovery for RADIUS over TLS
and DTLS", draft-ietf-radext-
dynamic-discovery-02 (work in
progress), March 2010.
Howlett & Hartman Expires September 15, 2011 [Page 14]
Internet-Draft KNP for RadSec March 2011
[I-D.ietf-emu-chbind] Hartman, S., Clancy, C., and K.
Hoeper, "Channel Binding Support
for EAP Methods",
draft-ietf-emu-chbind-07 (work
in progress), February 2011.
10.2. Informative References
[I-D.lear-abfab-arch] Howlett, J., Hartman, S.,
Tschofenig, H., and E. Lear,
"Application Bridging for
Federated Access Beyond Web
(ABFAB) Architecture",
draft-lear-abfab-arch-02 (work
in progress), March 2011.
Authors' Addresses
Josh Howlett
JANET(UK)
Lumen House, Library Avenue, Harwell
Oxford OX11 0SG
UK
Phone: +44 1235 822363
EMail: Josh.Howlett@ja.net
Sam Hartman
Painless Security
Phone:
EMail: hartmans-ietf@mit.edu
Howlett & Hartman Expires September 15, 2011 [Page 15]
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/