One document matched: draft-lowekamp-p2psip-dsip-security-00.txt
P2PSIP B. Lowekamp
Internet-Draft J. Deverick
Intended status: Standards Track SIPeerior
Expires: August 29, 2007 February 25, 2007
Authenticated Identity Extensions to dSIP
draft-lowekamp-p2psip-dsip-security-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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.
This Internet-Draft will expire on August 29, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
This document describes mechanisms to authenticate peer and resource
identities within a distributed SIP overlay. It makes use of
existing identity frameworks, modifying them as necessary to
accommodate the specific needs of a peer-to-peer environment.
Lowekamp & Deverick Expires August 29, 2007 [Page 1]
Internet-Draft dSIP Identity February 2007
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Security Models . . . . . . . . . . . . . . . . . . . . . 4
3.2. Security Process . . . . . . . . . . . . . . . . . . . . . 5
3.3. Example Message Flow . . . . . . . . . . . . . . . . . . . 6
4. Peer Behavior . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1. Changes to RFC4474 . . . . . . . . . . . . . . . . . . . . 9
4.2. Resource Tickets . . . . . . . . . . . . . . . . . . . . . 9
4.3. Sender Behavior . . . . . . . . . . . . . . . . . . . . . 10
4.4. Processing Requests . . . . . . . . . . . . . . . . . . . 10
4.5. Processing Responses . . . . . . . . . . . . . . . . . . . 10
5. Shared Secret . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1. Validating Messages . . . . . . . . . . . . . . . . . . . 11
6. Certificates . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1. Selecting the Authenticating Identity for Messages . . . . 12
6.2. Validating Messages . . . . . . . . . . . . . . . . . . . 12
6.3. Fetching Certificates . . . . . . . . . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
7.1. Protecting the ID Namespace . . . . . . . . . . . . . . . 14
7.2. Protecting the resource namespace . . . . . . . . . . . . 14
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
10.1. Normative References . . . . . . . . . . . . . . . . . . . 15
10.2. Informative References . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16
Intellectual Property and Copyright Statements . . . . . . . . . . 17
Lowekamp & Deverick Expires August 29, 2007 [Page 2]
Internet-Draft dSIP Identity February 2007
1. Introduction
The distributed Session Initiation Protocol (dSIP) extends
traditional SIP by providing peer-to-peer registration and resource
location. While most security mechanisms for dSIP derive naturally
from its client-server counterpart, certain considerations must be
made for the peer-to-peer extensions provided by the protocol.
Joining peers should only be admitted into an overlay if they are
authorized members of that overlay. Resources should be
authenticated to ensure genuine communication among them.
Without such security measures in place, attackers can generate false
identities and become peers in the system, where they can interfere
with message routing and maintenance of the overlay structure. They
can also masquerade as other, valid users or resources in the
overlay, possibly generating false responses to resource requests.
The goal of dSIP is to scale gracefully from ad hoc groups of a few
people to an overlay of millions of peers across the globe. As such,
there is no one security model that fits the needs of all envisioned
environments; for the small network establishing a certificate chain
is difficult, while for a global network the unrestricted ability to
insert resources and devise useful Peer IDs is a clear invitation to
insecurity. To address this issue, the dSIP security extensions
offer two different security models. The first is based on a shared
secret key and is applicable to small environments where deployment
of more complicated schemes is impractical. The second is a public
key certificate system applicable to larger deployments in which the
administrative costs of public key management is preferable to the
scalability issues of shared secret keys. One of these models should
be selected according to the needs of the overlay and the anticipated
deployment scenario.
Both approaches make use of the Identity digest-string header
presented in RFC 4474. In that specification, this digest over
certain header fields and the message body is signed by an
authentication service for the domain in which the communication is
occurring. Because the concept of a specific, server-based, central
authentication service role is antithetical to the dSIP paradigm,
this approach modifies how the Identity header is signed when
messages are being constructed. Details on the changes as applicable
to each security model are presented in Section 3.1
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
Lowekamp & Deverick Expires August 29, 2007 [Page 3]
Internet-Draft dSIP Identity February 2007
document are to be interpreted as described in RFC 2119 [RFC2119].
Terminology defined in RFC 3261 [RFC3261] is used without definition.
We use also the terminology and definitions from Concepts and
Terminology for Peer to Peer SIP [I-D.willis-p2psip-concepts] and
dSIP: A P2P Approach to SIP Registration and Resource Location
[I-D.bryan-p2psip-dsip] extensively in this document.
3. Overview
Instead of violating the distributed nature of dSIP by implementing
the RFC 4474 authentication service as central server, the dSIP
Security Extensions require communication endpoints to sign and
validate correspondence directly. The method by which this is done
varies depending on the security model being used. In both models,
the Identity digest-string is generated without modification as
described in P2P Identity, but the protocol by which the digest is
signed (and by extension the verification protocol) changes.
Additionally, we modify the contents of the Identity-Info header as
necessary to provide message recipients required information to
validate incoming messages. For both security models, the details of
key and certificate provisioning are beyond the scope of this
document, and we assume that they are provided by some out of band
mechanism.
3.1. Security Models
The shared secret signature process is straightforward. After the
identity digest-string is generated, the endpoint encrypts it with
the shared secret key for the overlay, and populates the Identity
header with the encrypted value. It also injects a string
identifying the algorithm used to generate the Identity value in the
Identity-Info header. The recipient of the message can then generate
the same digest-string, and encrypt it with the same shared key and
algorithm, comparing the result to the value presented in the
Identity header of the message. If the value generated by the
recipient does not match the value contained in the Identity header,
the message should be considered unauthorized and rejected.
In the public key certificate model, each endpoint has a different
private key and a corresponding public key certificate issued by a
certificate authority for the overlay. When an endpoint prepares an
outbound message, it generates the identity digest-string and signs
it with its unique private key. In addition, it fills the Identity-
Info header with the sip URI of the certificate that the recipient
needs to verify the identity signature. When the recipient receives
Lowekamp & Deverick Expires August 29, 2007 [Page 4]
Internet-Draft dSIP Identity February 2007
the message, it may have a preloaded or cached copy of the necessary
certificate. If not, it can subscribe to the URI indicated in the
Identity-Info header using the SIP event notification extensions
defined in sip-certs [I-D.ietf-sip-certs] to fetch the needed
certificate. When the certificate arrives, the recipient must first
verify that it is signed by the CA for the overlay. Once the
validity of the certificate is confirmed, the recipient can use the
certificate to verify the signed digest-string in the Identity header
of the original message and accept or reject the message
appropriately. The fetched certificate may, as a matter of local
policy, be cached for future verifications.
3.2. Security Process
Generally speaking, there are two processes that are secured by this
approach: DHT maintenance and resource registrations and migrations.
The signatories for DHT maintenance are peers in the system. For
resource registrations, the resources themselves provide signatures.
This distinction is unimportant in the shared secret model, where the
same key is used to create all Identity headers. In the public key
certificate system, however, it is possible for peers and resources
to be issued different key-certificate pairs. It is also possible
for a resource to be bound to one or more peers, containing the peer
IDs as subjectAltNames in its certificate. In such a case, the same
key may be used to sign, and corresponding certificate used to
validate, both peer and resource communication, though in general
they are distinct.
DHT maintenance, including peer registrations, authenticate messages
by verifying that the Identity header was generated with the overlay
key, in the case of the shared-secret model. In the public-key
certificate model, receiving nodes verify that the header was
generated using the key associated with the specified peer ID as
assigned by the certificate authority for the overlay.
Resource registrations are identical to peer registrations in the
shared-secret model. In the certificate-based model, however, the
verification process uses the certificate for the resource indicated
in the From header, rather than the peer ID.
Once a resource is registered in the overlay, its signed registration
is included as a resource ticket in all responses to queries for that
resource. This resource ticket prevents subversive peers from
forging registrations directly, and limits them to attacks on the
routing or a simple DoS by not providing any registration information
to queries. This is particularly important as peers join and leave
the overlay; the resulting changes in the structure of the DHT
commonly result in resource migration among peers. Requiring that
Lowekamp & Deverick Expires August 29, 2007 [Page 5]
Internet-Draft dSIP Identity February 2007
the original, signed registration be included in responses inhibits
rogue peers' abilities to claim that they host resources not
legitimately migrated to them.
3.3. Example Message Flow
To illustrate the message flow generated by the security extensions,
consider a resource registration and query. Because it is the most
complex scenario, assume that the public key certificate model is
used, and that no certificates have been preloaded or cached by peers
in the system.
Lowekamp & Deverick Expires August 29, 2007 [Page 6]
Internet-Draft dSIP Identity February 2007
Peer 0 Peer 1 Peer 2
| | |
|(1) REGISTER | |
|------------------>| |
| resource r | |
| | |
|(2) SUBSCRIBE | |
|<------------------| |
| cert for r | |
| | |
|(3) NOTIFY | |
|------------------>| |
| cert for r | |
| | |
|(4) 200 | |
|<------------------| |
| | |
| |(5) REGISTER |
| |<------------------|
| | query r from s |
| | |
| |(6) SUBSCRIBE |
| |------------------>|
| | cert for s |
| | |
| |(7) NOTIFY |
| |<------------------|
| | cert for s |
| | |
| |(8) 200 |
| |------------------>|
| | response r |
| | |
|(9) SUBSCRIBE | |
|<--------------------------------------|
| cert for r | |
| | |
|(10) NOTIFY | |
|-------------------------------------->|
| cert for r | |
In (1), resource r is registered at peer 1. Since peer 1 does not
have a copy of r's certificate to verify the Identity header for r's
registration, it subscribes to the URI indicated by the Identity-Info
header of the REGISTER message. In this case, that header contains
the URI of peer 0. Peer 0, on receipt of the certificate
subscription request (2), issues a notification response (3)
containing r's certificate. At this point, peer 1 validates that the
Lowekamp & Deverick Expires August 29, 2007 [Page 7]
Internet-Draft dSIP Identity February 2007
certificate is signed by the overlay's certificate authority, then
uses the certificate to verify the Identity field in the original
registration for resource r. Because the signature is valid, peer 1
issues a 200 OK (4) to peer 0, indicating that r has been registered
successfully.
Later, resource s wishes to query resource r. After locating r as
described in dSIP and omitted from this diagram, s queries peer 1 (5)
for resource r. The REGISTER message used for this query contains a
signed digest-string that peer 1 must validate. Because peer 1 does
not have a copy of s's certificate, it subscribes to peer 2 (6), the
URI provided by resource s in the Identity-Info header. Resource s
at peer 2 responds with its certificate (7), allowing peer 1 to
verify the resource request. Once the verification is complete, peer
1 responds (8) to the resource query. Included in the response to
s's query is a copy of r's original registration at peer 1. In order
to trust that the response is valid, s must verify that the copy of
r's registration actually originated from r and has not yet expired.
It does so by subscribing (9) to peer 0 as indicated in by the
Identity-Info header of the encapsulated registration. Peer 0
responds with a copy of r's certificate (10), which s uses to verify
that the response it received from its query for resource r
ultimately originated from r's valid registration.
Note that the responses in steps (4) or (8) could also be 401
Unauthorized if the certificates received by the corresponding
notifications could not verify the requests in (1) and (5),
respectively. In the first case, this would result in a failed
registration for resource r. In the second, the query for r from
resource s would be refused. Finally, if the certificate retrieved
in (10) fails to verify the encapsulated copy of r's registration
received in (8), then s should treat the response as unauthorized and
discard it.
4. Peer Behavior
This draft applies to all messages sent between peers in a dSIP
overlay. Such messages are identifiable by the presence of the token
'dht' in the message's Require header. The provisions provided by
this document are not applicable to messages that do not satisfy this
prerequisite. If the overlay requires dSIP-identity security to be
used, then all messages sent that perform any dht or resource
maintenance or queries (any message with a Require: p2p) MUST include
the appropriate Identity and Identity-Info headers. Messages
received that do not contain an Identity header MUST be rejected with
a 428 Use Identity Header response code. Extensions defined in this
document MUST NOT appear in any message that does not include a "dht"
Lowekamp & Deverick Expires August 29, 2007 [Page 8]
Internet-Draft dSIP Identity February 2007
token in the Require header.
Because we interpret the Identity and Identity-Info headers from
RFC 4474 differently, we have to prevent implementations of
conventional RFC 4474 from being adversely affected. By requiring
that this specification only apply to messages with the Require
dht header, standard RFC 4474 implementations should not see the
modified messages. Whether or not this is satisfactory to address
the concern remains an open question.
4.1. Changes to RFC4474
dSIP-identity is an extension of RFC 4474 [RFC4474]. Unless this
draft specifies otherwise, all behavior described in RFC 4474 is
followed in generating the dSIP-identity headers. In particular,
digest-string is determined in the same manner. The two major
exceptions are:
Response Authentication: Unlike RFC 4474, responses MUST include an
Identity header used to validate the response. Although the
sender does not always know which peer will ultimately respond to
a request, it can assert that the response it receives originated
from an authorized member of the overlay.
Fetching Certificates: For certificate-based security, RFC 4474
specifies that implementations MUST support HTTP and HTTPS URIs in
the Identity-Info header. All peers compliant with this
specification MUST support HTTP and HTTPS URIs for retrieving
certificates from peers providing such a server. In addition, all
peers compliant with this specification MUST support the
"certificate" SIP Event Package from sip-certs
[I-D.ietf-sip-certs] both as subscriber and notifier. A peer MUST
NOT provide an HTTP or HTTPS URI for its Identity-Info unless it
knows that no NAT traversal techniques will be required to contact
that server (i.e. it knows its server has an unfirewalled port at
an address that is directly routable by all peers in the overlay).
Because this is difficult to know in advance, peers SHOULD rely on
the Event Package technique.
4.2. Resource Tickets
A peer receiving a resource registration for which it is responsible
stores the registration itself and additionally MUST store the
digest-string, Identity, and Identity-Info from the actual request
message used to send the registration. This information stored from
the request message will be known as a resource ticket. The resource
ticket MUST be returned in the body of any 200 OK response the
responsible peer returns in response to a query for the resource it
is responsible for. The ticket allows the querying entity to
validate that the actual resource performed the indicated
registration.
Lowekamp & Deverick Expires August 29, 2007 [Page 9]
Internet-Draft dSIP Identity February 2007
4.3. Sender Behavior
When sending a message, the sender implements the authentication
service described in RFC 4474 [RFC4474].
4.4. Processing Requests
A peer MUST NOT perform any action that changes state or returns
information stored in the overlay without validating the Identity
signature of the request message. A peer MAY proxy or redirect a
request without validation, and it may return error codes indicating
an error in the request, such as 413, 414, 420, etc without
validating the request, however it MUST NOT process a DHT maintenance
request or resource registration that it is responsible for in any
way, including generating a 404, until it has completed validation of
the message's signature.
An important exception to the above rule is that in certificate-based
security schemes, a peer MUST NOT validate a SUBSCRIBE request for
the peer's certificate if it requires fetching the certificate of the
peer submitting the request. This exception avoids deadlock fetching
certificates.
4.5. Processing Responses
A peer MUST NOT perform any action based on a response without
validating the Identity signature of the response message. This
includes reacting to an error code such as 420 response that may be
generated without validating the corresponding request.
After validating the response message to a resource query, if the
result code is a 200 OK, the peer MUST confirm that the response
contains a resource ticket. The peer MUST then separately validate
the resource ticket. Because resource tickets are longer-lived than
standard messages, the peer SHOULD allow a longer validity period
with respect to the Date header of the message, although not in
excess of the Expires value of the resource ticket.
5. Shared Secret
To secure a small-scale network, perhaps an office environment or
small group of people who wish to communicate together, a shared
secret will suffice. Rather than relying on a domain certificate,
therefore, the Identity field consists of an HMAC-SHA1 [RFC2104] hash
of the digest-string.
Because shared secrets are shared between all peers in the overlay,
Lowekamp & Deverick Expires August 29, 2007 [Page 10]
Internet-Draft dSIP Identity February 2007
there is no need to fetch one, therefore Identity-Info stores only
the name of the algorithm used to sign the message. This requires a
change in the syntax of the Identity-Info header to allow the ident-
info parameter to be omitted:
Identity-Info = "Identity-Info" HCOLON ident-uri-info /
( ident-info-params *( SEMI ident-info-params ) )
ident-uri-info = ident-info *( SEMI ident-info-params )
where ident-uri-info is the definition of Identity-Info from RFC 4474
and ident-info-params is used as the only element of Identity-Info
only when used for a security mechanism such as shared secret where
no certificates must be identified or retrieved.
Messages using shared secrets must contain an "alg" parameter. This
specification defines the value "hmac-sha1" for the "alg" parameter.
Messages MUST additionally contain the token "dSIP" as an ident-info-
extension to indicate the type of processing required to validate the
message. Therefore, the Identity-Info header will be
Identity-Info: alg=hmac-sha1;dSIP
5.1. Validating Messages
Validating messages signed with a shared secret is simple because all
messages are signed with the same shared secret. Therefore the
message can be validated without fetching any external information.
When validating a message, the receiver MUST verify that the Identity
header presents the correct 'hmac-sha1' hash obtained by hashing the
message's digest-string using the overlay's shared secret as the key.
Any message that provides incorrect Identity information MUST be
rejected with a 438 Invalid Identity Header response code.
6. Certificates
Certificate-based implementations of dSIP-identity require the
existence of a CA responsible for the overlay. Typically each user
registering for the overlay will receive a certificate for their
identity within the overlay (AoR) and a small number of PeerIDs as
subjectAltNames to identity peers they intend to use (allowing for
multiple PeerIDs for multiple UAs the user may wish to have on the
overlay simultaneously). The CA SHOULD issue such PeerIDs
consecutively to prevent a single user from controlling multiple
portions of the overlay. Other than consecutive PeerIDs assigned to
the same user, PeerIDs SHOULD be assigned uniformly across the
namespace.
Lowekamp & Deverick Expires August 29, 2007 [Page 11]
Internet-Draft dSIP Identity February 2007
Each peer must be provisioned with the CA's certificate as well as
its own private key and certificate, signed by the CA.
For peers providing their certificates to other peers through the
"certificate" SIP Event Package [I-D.ietf-sip-certs], ident-info in
Identity-Info typically will be the P2P URI of the peer. Peers
hosting resources with separate certificates MUST use different URIs
for each certificate, but each URI MUST contain the peerID of the
peer hosting that resource so that SUBSCRIBE messages can be routed
to the correct peer.
Messages sent using certificate-based dSIP-identity MUST include the
tokens 'alg=rsa-sha1' and 'dSIP' in the Identity-Info Header. This
is in addition to the URI from which the sender's certificate can be
retrieved.
6.1. Selecting the Authenticating Identity for Messages
All request messages MUST be signed with the identity specified in
the From header. For DHT maintenance (peer registration and
queries), this will also be the same as the PeerID header, i.e. the
identity of the peer originating the request. For resource
registrations and queries, this will be the identity of the resource
performing the operation. In the typical case, a UA will have a
single certificate that is used for both the user's identity and peer
ID, so these may be the same certificate.
All response messages MUST be signed with the identity specified in
the PeerID header, which identifies the peer generating the response
and authenticates the response as having been generated by an
authorized peer. The requesting peer might also validate that the
responding peer has an appropriate PeerID to be responsible for that
portion of the namespace, but such validation is outside the scope of
this draft and may have negative implications for resource caching or
other optimizations.
Note that a resource migration, which is a third party registration
used to move resources as the peers responsible for those resource
IDs change due to joining or exiting peers, is signed using the key
of the admitting or exiting peer and uses that peer's URI as it's
From address. The resource ticket MUST be included in the body of
that request.
6.2. Validating Messages
To validate a message, a peer first checks its certificate cache to
see whether it has a certificate corresponding to the authenticating
identity used to sign the message. If it does not, it MUST fetch the
Lowekamp & Deverick Expires August 29, 2007 [Page 12]
Internet-Draft dSIP Identity February 2007
certificate using the URI in Identity-Info and defer further
processing of the message until validation can be completed. A peer
MUST NOT validate a "certificate" SIP Event Package SUBSCRIBE request
for the peer's certificate if it does not already possess the
certificate of the subscribing peer. It MUST respond to such
requests without verification.
The peer MUST use the certificate corresponding to the authenticating
identity appropriate for the type of message, as described above in
Section 6.1. The peer MUST NOT use Identity-Info to determine which
certificate to use. If a certificate retrieved from the URI
specified in Identity-Info does not match the appropriate
authenticating identity or is not signed by the certificate authority
for the overlay, the peer MUST reject that message with a 438 Invalid
Identity Header response code.
After confirming that it has the correct certificate, the peer
follows the procedures specified in RFC 4474 [RFC4474] to verify the
signature.
6.3. Fetching Certificates
A peer uses the "certificate" SIP Event Package[I-D.ietf-sip-certs]
to fetch certificates. Because CA-signed certificates are long-
lived, the peer SHOULD issue the SUBSCRIBE with Expires header of 0
to specify only a single NOTIFY response is desired.
After receiving the NOTIFY response, the peer MUST verify that the
certificate received is signed by the overlay's CA. Certificates
that are not signed by the overlay's CA MUST immediately be discarded
and any message validations waiting for the certificates to be
fetched MUST immediately be rejected with a 437 Unsupported
Certificate response code.
7. Security Considerations
No security scheme is stronger than the security with which it is
administered. If the shared-secret passphrase for the HMAC security
scheme is discovered by an attacker, then the security of the entire
scheme is lost. Similarly, for the dSIP-identity security scheme, if
the CA is compromised and an attacker can generate arbitrary
certificates, the security of the scheme is compromised. Although it
is fundamental to the security of both of these schemes, the
provisioning of peers with either the shared secret passphrase or
with an private key and certificate is beyond the scope of this
draft.
Lowekamp & Deverick Expires August 29, 2007 [Page 13]
Internet-Draft dSIP Identity February 2007
The dSIP-identity security scheme secures the namespace, but if an
individual peer is compromised or if an attacker obtains a
certificate from the CA, then a number of subversive peers can still
appear in the overlay, compromising (not returning) registrations
they are responsible for and possibly subverting routing to other
compromised peers. To defend against such compromised peers, a
resource search must still consist of parallel searches for
replicated registrations. The ultimate reliability of such an
overlay is a statistical question based on the replication factor and
the percentage of compromised peers.
Because this protocol relies on digest-string from RFC 4474
[RFC4474], it provides the same message integrity, authentication,
and defense against replay attacks offered by that specification. It
also shares the same weaknesses, described in Section 13 of RFC 4474.
In particular, because Identity and Identity-Info headers can be
replaced by an attacker, it is up to the recipient to ensure that the
certificate used to sign this message matches the claimed sender of
the message and that the certificate is signed by the proper CA for
the particular overlay.
7.1. Protecting the ID Namespace
When used properly, both schemes sufficiently inhibit attackers
attempting to join the overlay. The dSIP-identity scheme, in
particular, further protects the ID namespace by reducing the impact
of compromising a single authorized peer of the overlay, whereas an
attacker compromising a single peer in the shared-secret scheme can
obtain the shared secret and thus compromise the entire namespace.
7.2. Protecting the resource namespace
The shared-secret scheme protects the overlay from unauthorized peers
joining the overlay, but it provides no protection from a compromised
peer inserting arbitrary resource registrations, performing a Sybil
attack[Sybil], or performing other attacks on the resources.
The dSIP-identity scheme prevents an attacker compromising a single
peer from being able to forge the registration for more than that
peer's resources. Furthermore, although a subversive peer can refuse
to return registration entries for resources for which it is
responsible or in response to requests routed through it (404 Not
Found responses), it cannot return forged registrations because it
cannot authenticate such registrations. Therefore parallel searches
for redundant registrations mitigate most of the affects of a
compromised peer.
Once a resource is registered, the corresponding Resource Ticket is
Lowekamp & Deverick Expires August 29, 2007 [Page 14]
Internet-Draft dSIP Identity February 2007
used in queries for that resource, migrated between peers, and
generally considered public knowledge. As it is inherently intended
to be replayed, the value selected in the Expires header of the
original registration must be chosen carefully to ensure that
responses to future queries do not direct the querier to a location
over which the resource no longer has control.
8. IANA Considerations
This document defines the "dSIP" token as an ident-info-extension to
the Identity-Info header.
9. Acknowledgments
A team of people have worked on the various drafts related to the
dSIP protocol and extensions thereof. The team consists of: David
Bryan, Eric Cooper, James Deverick, Cullen Jennings, Bruce Lowekamp,
Philip Matthews, and Marcia Zangrilli.
Thanks to all who have been actively participating in the P2PSIP
efforts. Special thanks to Spencer Dawkins, Enrico Marocco, and
Jean-Francois Wauthy for providing editorial feedback, and Henry
Sinnreich, Eric Rescorla, and Alan Johnston for various discussions
related to this work.
10. References
10.1. Normative References
[I-D.bryan-p2psip-dsip]
Bryan, D., Lowekamp, B., and C. Jennings, "dSIP: A P2P
Approach to SIP Registration and Resource Location",
Internet Draft draft-bryan-p2psip-dsip-00, February 2007.
[I-D.ietf-sip-certs]
Jennings, C., "Certificate Management Service for The
Session Initiation Protocol (SIP)",
draft-ietf-sip-certs-02 (work in progress), October 2006.
[I-D.willis-p2psip-concepts]
Willis, D., "Concepts and Terminology for Peer to Peer
SIP", draft-willis-p2psip-concepts-03 (work in progress),
October 2006.
[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-
Lowekamp & Deverick Expires August 29, 2007 [Page 15]
Internet-Draft dSIP Identity February 2007
Hashing for Message Authentication", RFC 2104,
February 1997.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002.
[RFC4474] Peterson, J. and C. Jennings, "Enhancements for
Authenticated Identity Management in the Session
Initiation Protocol (SIP)", RFC 4474, August 2006.
10.2. Informative References
[Sybil] Douceur, J., "The Sybil Attack", March 2002.
Authors' Addresses
Bruce B. Lowekamp
SIPeerior
3000 Easter Circle
Williamsburg, VA 23188
USA
Phone: +1 757 565 0101
Email: lowekamp@sipeerior.com
James W. Deverick
SIPeerior
3000 Easter Circle
Williamsburg, VA 23188
USA
Phone: +1 757 565 0101
Email: jdeverick@sipeerior.com
Lowekamp & Deverick Expires August 29, 2007 [Page 16]
Internet-Draft dSIP Identity February 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Lowekamp & Deverick Expires August 29, 2007 [Page 17]
| PAFTECH AB 2003-2026 | 2026-04-23 08:44:33 |