< draft-froment-sipping-spit-requirements-00.txt   draft-froment-sipping-spit-requirements-01.txt >
SIPPING H. Tschofenig, Ed. SIPPING H. Tschofenig, Ed.
Internet-Draft Nokia Siemens Networks Internet-Draft Nokia Siemens Networks
Intended status: Informational G. Dawirs Intended status: Informational G. Dawirs
Expires: December 16, 2007 University of Namur Expires: January 10, 2008 University of Namur
T. Froment T. Froment
Alcatel-Lucent Alcatel-Lucent
D. Wing D. Wing
Cisco Cisco
H. Schulzrinne H. Schulzrinne
Columbia University Columbia University
June 14, 2007 July 9, 2007
Requirements for Authorization Policies to tackle Spam for Internet Requirements for Authorization Policies to tackle Spam and Unwanted
Telephony and Unwanted Traffic Communication for Internet Telephony
draft-froment-sipping-spit-requirements-00.txt draft-froment-sipping-spit-requirements-01.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 42 skipping to change at page 1, line 42
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 16, 2007. This Internet-Draft will expire on January 10, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
Spam over Internet Telephony (SPIT) is one of the foreseen future Spam over Internet Telephony (SPIT) is one of the foreseen future
forms of spamming that SIP open-wide networks may have to handle. forms of spamming that SIP open-wide networks may have to handle.
SPIT also has more impact on users than email spam since it is more SPIT also has more impact on users than email spam since it is more
skipping to change at page 3, line 14 skipping to change at page 3, line 14
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1. Conditions . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. Conditions . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Actions . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2. Actions . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3. Transformations . . . . . . . . . . . . . . . . . . . . . 8 3.3. Transformations . . . . . . . . . . . . . . . . . . . . . 8
3.4. Generic Requirements . . . . . . . . . . . . . . . . . . . 8 3.4. Generic Requirements . . . . . . . . . . . . . . . . . . . 8
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.1. Normative References . . . . . . . . . . . . . . . . . . . 13 7.1. Normative References . . . . . . . . . . . . . . . . . . . 12
7.2. References . . . . . . . . . . . . . . . . . . . . . . . . 13 7.2. References . . . . . . . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Intellectual Property and Copyright Statements . . . . . . . . . . 17 Intellectual Property and Copyright Statements . . . . . . . . . . 15
1. Introduction 1. Introduction
The problem of SPIT is an important challenge and it appears that a The problem of SPIT is an important challenge and it appears that a
combination of several techniques is desirable to provide a framework combination of several techniques is desirable to provide a framework
to deal with it. to deal with it.
One important building block is to provide a mechanism to instruct a One important building block is to provide a mechanism to instruct a
trusted SIP proxy or any other SIP element to influence message trusted SIP proxy or any other SIP element to influence message
handling of incoming requests according to policies. Different handling of incoming requests according to policies. Different
skipping to change at page 5, line 14 skipping to change at page 6, line 5
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119], document are to be interpreted as described in RFC 2119 [RFC2119],
with the important qualification that, unless otherwise stated, these with the important qualification that, unless otherwise stated, these
terms apply to the design of the authorization policies, not its terms apply to the design of the authorization policies, not its
implementation or application. implementation or application.
The term 'Rule Maker' is defined in RFC 3693 [RFC3693].
3. Requirements 3. Requirements
This section lists the requirements categorized according to their This section lists the requirements categorized according to their
applicability for the "conditions", "actions" and "transformation" applicability for the "conditions", "actions" and "transformation"
parts of authorization policies. Furthermore, we describe parts typically found in authorization policies.
requirements that are more generic in nature and apply to the entire
rule set.
3.1. Conditions 3.1. Conditions
The first set of requirements refer to identity related information. The first set of requirements refer to identity related information.
Req-C 1: Policies MUST allow conditions to express single Req-C 1: Policies MUST allow conditions to express single
authenticated identities. authenticated identities.
Req-C 2: Policies MUST allow filtering based on the domain part of Req-C 2: Policies MUST allow filtering based on the domain part of
the identity. the identity.
Req-C 3: Policies MUST support the differentiation between Req-C 3: Policies MUST support the differentiation between
authenticated and unauthenticated identities. authenticated and unauthenticated identities.
Req-C 4: Policies MUST be able to express expections within a group Req-C 4: Policies MUST be able to express exceptions within a group
of users/domain. of users or a domain.
Req-C 5: Policies SHOULD allow an anonymous identity as a condition.
Message handling might be different depending on the content of the Message handling might be different depending on the content of the
SIP message header fields. SIP message header fields.
Req-C 5: Policies SHOULD allow conditions to refer to the Req-C 6: Policies SHOULD allow conditions to refer to the
"destination" (which corresponds to the "Request-URI") and "destination" (which corresponds to the "Request-URI") and
"original-destination" (which corresponds to the "To" header). "original-destination" (which corresponds to the "To" header).
Req-C 6: Policies SHOULD allow conditions to refer to the method Req-C 7: Policies SHOULD allow conditions to refer to the method
invoked by the caller (e.g., INVITE, REFER, MESSAGE). invoked by the caller (e.g., INVITE, REFER, MESSAGE).
Motivation: Some SIP methods are more intrusive than others Motivation: Some SIP methods are more intrusive than others
(the default applicative behaviour when SIP MESSAGEs are (the default applicative behaviour when SIP MESSAGEs are
received is often to pop-up the message on the UAS side), received is often to pop-up the message on the UAS side),
adopting a different filtering policy depending of the method adopting a different filtering policy depending of the method
invoked will enhance the user's protection. invoked will enhance the user's protection.
Req-C 7: Policies SHOULD allow Rule Makers to take actions on Req-C 8: Policies SHOULD allow the entity that writes the rules to
messages that are marked as Spam. take actions on messages that are marked as Spam.
Note that such a condition element should be seen in Note that such a condition element should be seen in
context of the authenticated domain or or otherwise context of the authenticated domain or or otherwise
protected information to avoid security protected information to avoid security
vulnerabilities. vulnerabilities.
[Editor's Note: Should we allow message handling based on the Req-C 9: Policies MAY allow to make decisions based on the current
existence or non-existence of certain SDP / SIP content, such as state of the user. E.g., based on a user selected active
specific mime types? For example, is a "exists" test useful that profile, or sphere or other presence information.
returns true if the headers listed in the argument exist within the
message. Furthermore, do we need test operators (such as "allof" and Req-C 10: Policies SHOULD support consitions based on the content
"anyof", which implement logical "and" and logical "or", type and/or offered (or used) media of a message.
respectively)?
Message handling might be different based on time. Message handling might be different based on time.
Req-C 7: Policies SHOULD allow conditions that refer to the Req-C 11: Policies SHOULD allow conditions that refer to the
reception date, time or period of time of the incoming reception date, time, timezone or period of time of the
request. incoming request.
Message handling might be different based on the language. Message handling might be different based on the language.
Req-C 8: Policies SHOULD allow to make decisions based on the Req-C 12: Policies SHOULD allow to make decisions based on the
languages in which the originator of the call wishes to languages in which the originator of the call wishes to
communicate. communicate.
Message handling might be different based on the SIP resource
priority fields, on emergency service related messages or more
generic forms of indicating the type of service.
Req-C 9: Policies MAY allow to make decisions based on the presence
of SIP Resouce Priority headers, as described in [RFC4412].
Req-C 10: Policies SHOULD allow to make decisions based on the
messages marked as emergency calls indicated in
[I-D.ietf-ecrit-service-urn].
Req-C 11: Policies MAY allow to make decisions based on service
identification fields, see
[I-D.rosenberg-sipping-service-identification].
3.2. Actions 3.2. Actions
Req-A 1: Policies SHOULD allow messages to get "blocked", i.e., to Req-A 1: Policies SHOULD allow messages to get "blocked", i.e., to
stop forwarding the request and to return an answer with a stop forwarding the request and to return an answer with a
``403 Forbidden'' ``403 Forbidden''
Req-A 2: Policies SHOULD allow messages to get "politely blocked", Req-A 2: Policies SHOULD allow messages to get "politely blocked",
i.e., to drop the request without returning an answer. i.e., to drop the request without returning an answer.
Req-A 2: Policies SHOULD allow messages to get "marked", i.e., to Req-A 3: Policies SHOULD allow messages to get "marked", i.e., to
forward the request and mark it as "potential Spam" for forward the request and mark it as "potential Spam" for
filtering at the end point or at subsequent entities along the filtering at the end point or at subsequent entities along the
signaling path. signaling path.
Req-A 3: Policies SHOULD allow messages to be "allowed", i.e., to Req-A 4: Policies SHOULD allow messages to be "allowed", i.e., to
forward this message. forward this message.
Req-A 4: Policies MUST allow messages to be "redirected" to, for Req-A 5: Policies MUST allow messages to be "redirected" to, for
example, voicemail or to a different device in the possession example, voicemail or to a different device in the possession
of the user. of the user.
Req-A 5: Policies MUST allow the ability to execute other SPIT Req-A 6: Policies MUST allow executing other SPIT prevention
prevention procedures, such as computational puzzles procedures, such as computational puzzles
[I-D.jennings-sip-hashcash] or the consent framework" [I-D.jennings-sip-hashcash] or the consent framework"
[I-D.ietf-sip-consent-framework]. Ideally, a specification [I-D.ietf-sip-consent-framework]. A specification developing
developing a SPIT prevention mechanism SHOULD provide a SPIT prevention mechanism should provide information on how
information on how they can be incorporated into the they can be incorporated into the authorization policy
authorization policy framework. framework.
As an example, for a statistical analysis tool a URI is
defined. The algorithms itself do not need to be
standardized and hence the impact for authorization
policies is mainly the ability to allow a Rule Maker to
enable or to disable the usage of these statistical
techniques for SPIT filtering and potentially to map
the output of the analysis process to value range from
0 (i.e., the message is not classified as Spam) and 100
(i.e., the message was classified as as Spam). A Rule
Maker may decide the appropriate action on the message
depending on the determined SPIT probability.
Req-A 6: Policies MAY allow an e-mail (or SMS, MMS) to be sent to Req-A 7: Policies MAY allow an e-mail (or SMS, MMS) or other
the user about the actions taken due to a specific call notifications to be sent to the user about the actions taken
attempt. due to a specific call attempt.
3.3. Transformations 3.3. Transformations
Req-T 1: Policies SHOULD allow SIP messages to be marked with a Req-T 1: Policies SHOULD allow SIP messages to be marked with a
certain SPIT probability in case SPIT detection and policy certain SPIT probability in case SPIT detection and policy
enforcement is excecuted on different entities. For example, enforcement is excecuted on different entities. For example,
a network element might run a statistical SPIT detection tool a network element might run a statistical SPIT detection tool
but the authorization policies are executed on a different but the authorization policies are executed on a different
entity, such as the end host. Note that it needs to be entity, such as the end host. Note that it needs to be
ensured that an adversary is not able to set the SPIT ensured that an adversary is not able to set the SPIT
skipping to change at page 9, line 4 skipping to change at page 8, line 22
certain SPIT probability in case SPIT detection and policy certain SPIT probability in case SPIT detection and policy
enforcement is excecuted on different entities. For example, enforcement is excecuted on different entities. For example,
a network element might run a statistical SPIT detection tool a network element might run a statistical SPIT detection tool
but the authorization policies are executed on a different but the authorization policies are executed on a different
entity, such as the end host. Note that it needs to be entity, such as the end host. Note that it needs to be
ensured that an adversary is not able to set the SPIT ensured that an adversary is not able to set the SPIT
probabity values since otherwise the authorization policies probabity values since otherwise the authorization policies
that rely on such information are misguided. that rely on such information are misguided.
3.4. Generic Requirements 3.4. Generic Requirements
Req-G 1: It SHOULD be possible to allow a hierarchy of authorization Req-G 1: It SHOULD be possible to allow a hierarchy of authorization
policies to be used. policies to be used.
It is quite likely that a rules from different rule writing
entities are provided. For example, in a company environment
policies from the system administrator are provided in
addition to the end users policies. The former might reflect
the overall company policy. The impact for the policy is
mainly on the definition of an appropriate conflict resolution
mechanism.
Req-G 2: It MUST be possible for a client to learn the supported Req-G 2: It MUST be possible for a client to learn the supported
authorization policy capabilities implemented by the server. authorization policy capabilities implemented by the server.
Req-G 3: Policies MUST be extensible and these extensions MUST exist Req-G 3: Policies MUST be extensible and these extensions MUST exist
within a different namespace. Furthermore, a published schema within a different namespace. Furthermore, a published schema
and the namespace for elements defined within it MUST NOT be and the namespace for elements defined within it MUST NOT be
altered by future specifications. altered by future specifications.
Req-G 4: The policies MUST provide a mandatory-to-implement conflict Req-G 4: The policies MUST provide a mandatory-to-implement conflict
resolution mechanism. resolution mechanism.
skipping to change at page 13, line 5 skipping to change at page 11, line 12
consequence with impact for more than a single end point. These consequence with impact for more than a single end point. These
security aspects are, however, not subject of this document. security aspects are, however, not subject of this document.
6. Acknowledgements 6. Acknowledgements
The content of this document is inspired by the work of CPL The content of this document is inspired by the work of CPL
[RFC3880], SIEVE [I-D.ietf-sieve-3028bis], Common Policy [RFC4745] [RFC3880], SIEVE [I-D.ietf-sieve-3028bis], Common Policy [RFC4745]
and Presence Authorization Policy [I-D.ietf-simple-presence-rules]. and Presence Authorization Policy [I-D.ietf-simple-presence-rules].
We would like to thank the authors of these documents for their work. We would like to thank the authors of these documents for their work.
Furthermore, we would like to thank Eva Leppanen for the detailed
review provided in June 2006.
7. References 7. References
7.1. Normative References 7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
7.2. References 7.2. References
[I-D.ietf-ecrit-service-urn]
Schulzrinne, H., "A Uniform Resource Name (URN) for
Services", draft-ietf-ecrit-service-urn-06 (work in
progress), March 2007.
[I-D.ietf-sieve-3028bis] [I-D.ietf-sieve-3028bis]
Showalter, T. and P. Guenther, "Sieve: An Email Filtering Showalter, T. and P. Guenther, "Sieve: An Email Filtering
Language", draft-ietf-sieve-3028bis-12 (work in progress), Language", draft-ietf-sieve-3028bis-12 (work in progress),
February 2007. February 2007.
[I-D.ietf-simple-presence-rules] [I-D.ietf-simple-presence-rules]
Rosenberg, J., "Presence Authorization Rules", Rosenberg, J., "Presence Authorization Rules",
draft-ietf-simple-presence-rules-09 (work in progress), draft-ietf-simple-presence-rules-10 (work in progress),
March 2007. July 2007.
[I-D.ietf-sip-consent-framework] [I-D.ietf-sip-consent-framework]
Rosenberg, J., "A Framework for Consent-Based Rosenberg, J., "A Framework for Consent-Based
Communications in the Session Initiation Protocol (SIP)", Communications in the Session Initiation Protocol (SIP)",
draft-ietf-sip-consent-framework-01 (work in progress), draft-ietf-sip-consent-framework-02 (work in progress),
November 2006. July 2007.
[I-D.jennings-sip-hashcash] [I-D.jennings-sip-hashcash]
Jennings, C., "Computational Puzzles for SPAM Reduction in Jennings, C., "Computational Puzzles for SPAM Reduction in
SIP", draft-jennings-sip-hashcash-05 (work in progress), SIP", draft-jennings-sip-hashcash-05 (work in progress),
June 2007. June 2007.
[I-D.rosenberg-sipping-service-identification]
Rosenberg, J., "Identification of Communications Services
in the Session Initiation Protocol (SIP)",
draft-rosenberg-sipping-service-identification-02 (work in
progress), May 2007.
[RFC3693] Cuellar, J., Morris, J., Mulligan, D., Peterson, J., and
J. Polk, "Geopriv Requirements", RFC 3693, February 2004.
[RFC3880] Lennox, J., Wu, X., and H. Schulzrinne, "Call Processing [RFC3880] Lennox, J., Wu, X., and H. Schulzrinne, "Call Processing
Language (CPL): A Language for User Control of Internet Language (CPL): A Language for User Control of Internet
Telephony Services", RFC 3880, October 2004. Telephony Services", RFC 3880, October 2004.
[RFC4412] Schulzrinne, H. and J. Polk, "Communications Resource
Priority for the Session Initiation Protocol (SIP)",
RFC 4412, February 2006.
[RFC4474] Peterson, J. and C. Jennings, "Enhancements for [RFC4474] Peterson, J. and C. Jennings, "Enhancements for
Authenticated Identity Management in the Session Authenticated Identity Management in the Session
Initiation Protocol (SIP)", RFC 4474, August 2006. Initiation Protocol (SIP)", RFC 4474, August 2006.
[RFC4745] Schulzrinne, H., Tschofenig, H., Morris, J., Cuellar, J., [RFC4745] Schulzrinne, H., Tschofenig, H., Morris, J., Cuellar, J.,
Polk, J., and J. Rosenberg, "Common Policy: A Document Polk, J., and J. Rosenberg, "Common Policy: A Document
Format for Expressing Privacy Preferences", RFC 4745, Format for Expressing Privacy Preferences", RFC 4745,
February 2007. February 2007.
Authors' Addresses Authors' Addresses
 End of changes. 30 change blocks. 
97 lines changed or deleted 62 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/