Network Working Group M. Stecher
Request for Comments: 4902 Secure Computing
Category: Informational May 2007
Integrity, Privacy, and Security
in Open Pluggable Edge Services (OPES) for SMTP
Status of This Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
The Open Pluggable Edge Services (OPES) framework is application
agnostic. Application-specific adaptations extend that framework.
Previous work has focused on HTTP and work for SMTP is in progress.
These protocols differ fundamentally in the way data flows, and it
turns out that existing OPES requirements and IAB considerations for
OPES need to be reviewed with regards to how well they fit for SMTP
adaptation. This document analyzes aspects about the integrity of
SMTP and mail message adaptation by OPES systems and about privacy
and security issues when the OPES framework is adapted to SMTP. It
also lists requirements that must be considered when creating the
"SMTP adaptation with OPES" document.
The intent of this document is to capture this information before the
current OPES working group shuts down. This is to provide input for
subsequent working groups or individual contributors that may pick up
the OPES/SMTP work at a later date.
Stecher Informational [Page 1]
RFC 4902 OPES/SMTP Security May 2007
Table of Contents
1. Introduction ....................................................3
1.1. Differences between Unidirectional and
Bidirectional Application Protocols ........................3
1.2. Non-Standardized SMTP Adaptations at SMTP Gateways .........3
1.3. Non-OPES Issues of SMTP ....................................4
1.4. Opportunities of OPES/SMTP to Address Some Issues ..........4
1.5. Limitations of OPES in Regards to Fixing SMTP Issues .......4
2. Terminology .....................................................5
3. Integrity, Privacy, and Security Considerations .................5
3.1. Tracing Information in OPES/SMTP ...........................5
3.2. Bypass in OPES/SMTP ........................................6
3.3. Compatibility with Cryptographic Protection Mechanisms .....7
4. Protocol Requirements for OPES/SMTP .............................8
5. IAB Considerations for OPES/SMTP ................................9
5.1. IAB Consideration (2.1) One-Party Consent ..................9
5.2. IAB Consideration (2.2) IP-Layer Communications ............9
5.3. IAB Consideration (3.1) Notification .......................9
5.4. IAB Consideration (3.2) Notification ......................10
5.5. IAB Consideration (3.3) Non-Blocking ......................10
5.6. IAB Consideration Application Layer Addresses (4.x) .......10
5.7. IAB Consideration (5.1) Privacy ...........................10
5.8. IAB Consideration Encryption ..............................11
6. Security Considerations ........................................11
7. References .....................................................11
7.1. Normative References ......................................11
7.2. Informative References ....................................11
Appendix A. Acknowledgements ......................................13
Stecher Informational [Page 2]
RFC 4902 OPES/SMTP Security May 2007
1. Introduction
Because OPES is a protocol that is built over application layer
transports, its security may depend on the specifics of the
transport. OPES designs are guided by the IAB considerations for
OPES document [2], and those considerations are revisited here in the
context of the SMTP protocol.
Section 3 of the OPES SMTP use cases document [6] maps some email and
SMTP elements to OPES names that are used in this document.
1.1. Differences between Unidirectional and Bidirectional Application
Protocols
The IAB listed considerations for Open Pluggable Edge Services (OPES)
in [2] and OPES treatment of those considerations has been discussed
in [3]. Both documents make use of HTTP as an example for the
underlying protocol in OPES flows, and focus on web protocols that
have requests and responses in the classic form (client sends a
request to a server that replies with a response of the same protocol
within a single protocol transaction).
RFC 3914 [3] already indicates that other protocols may not fit in
this context, for example in Section 5.3, "Moreover, some application
protocols may not have explicit responses...".
When using SMTP there are still client and server applications, and
requests and responses handled within SMTP, but email messages are
sent by the data provider to the recipients (data consumers) without
a previous request. At that abstraction layer, email delivery via
SMTP is a unidirectional process and different from the previously
handled web protocols such as HTTP. For example, bypass has been
defined for OPES, so far, by the data consumer requesting an OPES
bypass by adding information to the application protocol request; the
OPES system can then react on the bypass request in both the
application request and response. For SMTP, the data consumer (email
recipient) cannot request in-band that the OPES bypass handling of
his/her messages.
The IAB considerations need to be revisited and special requirements
may be needed for OPES handling of SMTP.
1.2. Non-Standardized SMTP Adaptations at SMTP Gateways
A large number of email filters are deployed at SMTP gateways today.
In fact, all use cases listed in "OPES SMTP Use Cases" [6] are
already deployed, often in non-standardized ways. This opens a
number of integrity, privacy, and security concerns that are not
Stecher Informational [Page 3]
RFC 4902 OPES/SMTP Security May 2007
addressed, and SMTP itself does not provide effective measures to
detect and defend against compromised implementations.
OPES will most likely not be able to solve these issues completely,
but at least should be able to improve the situation to some extent.
1.3. Non-OPES Issues of SMTP
The SMTP specifications [4] require that NDRs (Non-Delivery Reports)
be sent to the originator of an undeliverable mail that has been
accepted by an SMTP server. But it has become common practice for
some sorts of mail (spam, worms) to be silently dropped without
sending an NDR, a violation of the MUST statement of SMTP (see
Section 3.7 of [4]). While the user of a web protocol notices if a
resource cannot be fetched, neither the email sender nor email
recipient may notice that an email was not delivered. These kind of
issues already exist and are not introduced by OPES.
1.4. Opportunities of OPES/SMTP to Address Some Issues
Adding SMTP adaptations with OPES allows us to define a standardized
way for SMTP gateway filtering, to offload filtering services to
callout servers and address a number of the integrity, privacy, and
security issues. OPES offers methods to add OPES tracing information
and to request a bypass of filtering, and by that can make email
gateway filtering a more reliable and standardized function. But
OPES won't make email delivery via SMTP a reliable communication.
1.5. Limitations of OPES in Regards to Fixing SMTP Issues
The biggest concerns when adding OPES services to a network flow are
that compromised, misconfigured, or faulty OPES systems may change
messages in a way that the consumer can no longer read them or that
messages are no longer delivered at all.
Defining a standard way to mark mails that have been handled by OPES
systems is fairly simple and does not require new techniques by SMTP
gateways; they already today MUST leave tracing information by adding
"Received" headers to mails. Therefore, recipients receiving broken
mail have a fair chance of finding the compromised OPES system by
using the trace information. There is still no guarantee, as the
email may have been broken in a way that makes even the tracing
information unreadable. But the chance will be even better than with
other protocols such as HTTP, because most email clients allow the
user to display mail headers, while many browsers have no mechanism
to show the HTTP headers that might include tracing info.
Stecher Informational [Page 4]
RFC 4902 OPES/SMTP Security May 2007
Email that cannot be delivered, because a compromised OPES system
prevented the delivery of legitimate mail, MUST result in a an NDR to
be sent to the originator of the mail according to the SMTP
specifications [4]. OPES should not be forced to fix the issue that
NDRs are not reliable over SMTP.
2. Terminology
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [1]. When used with
the normative meanings, these keywords will be all uppercase.
Occurrences of these words in lowercase comprise normal prose usage,
with no normative implications.
3. Integrity, Privacy, and Security Considerations
3.1. Tracing Information in OPES/SMTP
Tracing OPES operations is an important requirement for OPES systems.
Tracing information added to email should follow a similar syntax and
structure to that defined for OPES/HTTP in HTTP Adaptation with Open
Pluggable Edge Services [5], and with the same guidelines as the SMTP
specifications [4] defined for the "Received" headers. (We do not
specify here whether "Received" headers would be used to carry the
OPES information, or new trace headers should be defined, such as
OPES-System and OPES-Via.)
OPES/SMTP specifications defining tracing requirements MUST be
compliant with the general OPES tracing requirements defined in OPES
Entities & End Points Communication [12], but MAY further restrict
those. For example, they might require the following: that the OPES
processor must add tracing information for the OPES system before
calling the first callout server; that it has to augment the tracing
information with additional data if necessary after the message
returns from each service it is calling; and that it must ensure that
the tracing information has not been deleted by an OPES service
before it forwards the SMTP message.
Trace information can then be seen by mail recipients when the mail
message reaches the recipient.
Mail that cannot be delivered or that is blocked by the OPES service
will either be rejected or cannot be delivered after it has been
accepted by an SMTP server. In the latter case, SMTP specifications
[4] require that an NDR MUST be sent to the originator; OPES further
requires that an NDR generated due to OPES processing MUST also
contain information about the OPES system so that the sender gets
Stecher Informational [Page 5]
RFC 4902 OPES/SMTP Security May 2007
informed. If an email is rejected at the SMTP protocol level due to
OPES processing, an OPES system MUST also include trace data in the
SMTP response so that the originator can find out why and where the
mail was rejected.
3.2. Bypass in OPES/SMTP
If a mail message was rejected or could not be delivered (and an NDR
was sent), the originator of the message may want to bypass the OPES
system that blocked the message.
If the recipient of a message receives a mail with OPES trace
information, he may want to receive a non-OPES version of the
message. Although there is no direct in-band request from the
recipient back to the OPES system, the recipient can contact the
sender and ask her to send the message again and to add a bypass
request for the OPES system. Not all OPES systems will be allowed to
fulfill a bypass request according to their policy. For example,
malware scanners should not be bypassed. But other OPES services are
good candidates for bypass requests, such as language translation of
the email message. Translation could be bypassed after the recipient
has noticed that the translated result does not meet his/her
expectations and that the original message would be preferred.
An OPES system MAY also define out-of-band methods to request a
bypass, for example, a web interface or an email message sent to the
server that results in the creation of a white list entry for the
sender/recipient pair. Examples for these out-of-band methods are
email systems that keep a copy of the original email in a quarantine
queue and only send the recipient a block notification, plus either a
direct link or a digest notification, with the ability to retrieve
the original message from quarantine. These out-of-band methods are
typically offered by spam filters today.
OPES MUST implement methods to request a bypass, but there cannot be
a guarantee that the bypass request will be approved. The security
needs of the receiver or the receiver's network may demand that
certain filters must not be bypassed (such as virus scanners). In
general, the receiver should be able to configure a client centric
OPES system, i.e. the receiver should be able to indicate if he/she
wants to receive a non-OPES version if it is available.
Bypass requests could be added to the mail message or within the SMTP
dialog. Bypass request data added to the mail message cannot bypass
OPES services that operate on other SMTP dialog commands, which are
sent before the mail message has been received (such as RCPT
commands).
Stecher Informational [Page 6]
RFC 4902 OPES/SMTP Security May 2007
Bypass request data sent using an ESMTP extension as part of the SMTP
dialog may not reach the OPES system if intermediate SMTP relays do
not support those bypass request commands and don't forward that
information.
3.3. Compatibility with Cryptographic Protection Mechanisms
Cryptography can be used to assure message privacy, to authenticate
the originator of messages, and to detect message modification.
There are standard methods for achieving some or all these
protections for generic messages ([9], [10], [11]), and these can be
used to protect SMTP data without changing the SMTP protocol.
The content of encrypted mail messages cannot be inspected by OPES
systems because only the intended recipient has the information
necessary for decryption. The IAB and others have suggested that
users might want to share that information with OPES systems, thus
permitting decryption by intermediates. For most cryptographic
systems that are compatible with email, this would require end users
to share their most valuable keys, in essence their "identities",
with OPES machines. Some key management systems, particularly those
which have centralized administrative control of keys, might have
trust models in which such sharing would be sensible and secure.
After decrypting the message, an OPES box that modified the content
would be faced with the task of re-encrypting it in order to maintain
some semblance of "end-to-end" privacy.
If OPES/SMTP had a way to interact with end users on a per-message
basis, it might be possible to communicate cryptographic key
information from individual messages to end users, have them compute
the message encrypting key for particular message, and to send that
back to the OPES box. This would perhaps ameliorate the need to
share a user's "master" message decrypting key with the OPES box.
This kind of communication has not been defined for OPES.
Message protection systems generally include some message integrity
mechanisms by which a recipient can check for a message modification
that may have occurred after the sender released the message. This
protection can be applied to encrypted or plaintext messages and can
be accomplished through either symmetric or asymmetric cryptography.
In the case of symmetric cryptography, the key sharing problem is
exactly similar to the encryption case discussed previously. If the
OPES box modified the content, then the message integrity (or
authentication) code would have to be recalculated and included with
the modified message.
Stecher Informational [Page 7]
RFC 4902 OPES/SMTP Security May 2007
For asymmetric cryptography the situation is more complicated. The
message integrity is tied to the sender's public key, and although
anyone who can get the sender's public key can also check for a
message modification, no one but the sender can compute the sender's
signature on a modified message. Thus, an OPES system could not
modify messages and have them appear to come from the purported
sender. The notion of sharing the sender's signing key with the OPES
system is unpalatable because few trust models would be compatible
with sharing digital identities across organization boundaries.
However, if the OPES system doing the modification were under the
control of the sender's local administration, the sharing might be
sensible (as discussed for decryption, above).
OPES/SMTP systems could present modified content showing the modified
regions in a form that permits the authentication of the original
message and authentication of the OPES modifications (assuming the
OPES box had a digital signature identity and key). One method for
doing this is outlined in [13], but to our knowledge this method is
not in any standard.
There are security risks associated with sharing cryptographic keys
that must be addressed by implementers. Because this is not a simple
task, it is not a requirement for OPES/SMTP.
4. Protocol Requirements for OPES/SMTP
In addition to other documents listing requirements for OPES, the
discussion in this document implies specific requirements for
designing and implementing SMTP adaptations with OPES:
o OPES Systems MUST add tracing headers to mail messages
o If an email message that has been accepted by an OPES system
cannot be delivered, the non-delivery report MUST include trace
information of the OPES system.
o The OPES/SMTP specifications MUST define a bypass request option
that can be included in mail messages.
o The OPES/SMTP specifications MUST define a bypass request option
as an extension for SMTP dialogs.
Stecher Informational [Page 8]
RFC 4902 OPES/SMTP Security May 2007
5. IAB Considerations for OPES/SMTP
This section lists the IAB considerations for OPES [2] and summarizes
how OPES/SMTP addresses them.
5.1. IAB Consideration (2.1) One-Party Consent
The IAB recommends that all OPES services be explicitly authorized by
one of the application-layer end-hosts (that is, either the data
consumer application or the data provider application). For OPES/
SMTP, this means consent of either the email message sender or the
recipient.
The application agnostic architecture of OPES [7] requires that "OPES
processors MUST be consented to by either the data consumer or data
provider application" (OPES processor is the email gateway for OPES/
SMTP). This cannot prevent the consent-less introduction of OPES
processors by noncompliant OPES entities.
5.2. IAB Consideration (2.2) IP-Layer Communications
The IAB recommends that OPES processors must be explicitly addressed
at the IP layer by the end user (data consumer application).
This requirement has been addressed by the architecture requirements
in Section 2.1 of [7] and has been further clarified in Section 2.2
of [3].
5.3. IAB Consideration (3.1) Notification
"The overall OPES framework needs to assist content providers in
detecting and responding to client-centric actions by OPES
intermediaries that are deemed inappropriate by the content provider"
[2].
For OPES/SMTP this translates into assistance for the email message
sender to detect and respond to recipient-centric actions that are
deemed inappropriate by the sender.
This has been addressed in Section 3.1 and by the second tracing
requirements in Section 4. As discussed in Section 1.3, OPES/SMTP
cannot fix cases where NDRs are not sent or get blocked before
reaching the sender of the original message.
Stecher Informational [Page 9]
RFC 4902 OPES/SMTP Security May 2007
5.4. IAB Consideration (3.2) Notification
"The overall OPES framework should assist end users in detecting the
behavior of OPES intermediaries, potentially allowing them to
identify imperfect or compromised intermediaries" [2].
This is addressed in Section 3.1 and by the first tracing requirement
in Section 4. It must be noted that some email systems do not make
the email headers available to the end user, although the headers
belong to the payload that is transferred via SMTP. Building an OPES
architecture with those email systems should be avoided or requires
that the tracing information be made available to the end users in a
different way.
5.5. IAB Consideration (3.3) Non-Blocking
"If there exists a "non-OPES" version of content available from the
content provider, the OPES architecture must not prevent users from
retrieving this "non-OPES" version from the content provider" [2].
For OPES/SMTP, this has been discussed in Section 3.2 and is
addressed by the two bypass requirements of Section 4.
5.6. IAB Consideration Application Layer Addresses (4.x)
While "most application layer addressing revolves around URIs"
(section 8 of [2]), SMTP uses email addresses, for which the
considerations only apply to some degree.
The SMTP use cases document [6] includes a use case for Mail
Rerouting and Address Rewriting. Alias and email list address
resolution are standard functions of an email gateway described in
[4].
Translating the reference validity consideration regarding inter- and
intra-document reference validity to SMTP, OPES services mapping
internal to external email addresses MUST ensure the proper mapping
of addresses in all affected email headers.
5.7. IAB Consideration (5.1) Privacy
This consideration recommends that the overall OPES framework must
provide for mechanisms for end users to determine the privacy
policies that were used by OPES intermediaries.
The application agnostic part for OPES has been discussed in Section
10 of [3]. Email-specific trace information that will be added to
OPES/SMTP according to the requirements in Section 4 may raise
Stecher Informational [Page 10]
RFC 4902 OPES/SMTP Security May 2007
additional privacy issues that MUST be added to the privacy policy
description of the OPES system.
5.8. IAB Consideration Encryption
"If OPES was compatible with end-to-end encryption, this would
effectively ensure that OPES boxes would be restricted to ones that
are known, trusted, explicitly addressed at the IP layer, and
authorized (by the provision of decryption keys) by at least one of
the ends" [2].
This has been discussed in Section 3.3.
6. Security Considerations
The document itself discusses security considerations of OPES/SMTP.
General security threats of OPES are described in Security Threats
for OPES [8]
Section 3.3 ("Compatibility with Cryptographic Protection
Mechanisms") mentions that an OPES system could eventually deal with
cryptographic keys. This raises security issues (such as
availability and storage of cryptographic keys) that must be
addressed by the implementer.
7. References
7.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Floyd, S. and L. Daigle, "IAB Architectural and Policy
Considerations for Open Pluggable Edge Services", RFC 3238,
January 2002.
[3] Barbir, A. and A. Rousskov, "Open Pluggable Edge Services
(OPES) Treatment of IAB Considerations", RFC 3914, October
2004.
7.2. Informative References
[4] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, April
2001.
[5] Rousskov, A. and M. Stecher, "HTTP Adaptation with Open
Pluggable Edge Services (OPES)", RFC 4236, November 2005.
Stecher Informational [Page 11]
RFC 4902 OPES/SMTP Security May 2007
[6] Stecher, M. and A. Barbir, "Open Pluggable Edge Services (OPES)
SMTP Use Cases", RFC 4496, May 2006.
[7] Barbir, A., Penno, R., Chen, R., Hofmann, M., and H. Orman, "An
Architecture for Open Pluggable Edge Services (OPES)", RFC
3835, August 2004.
[8] Barbir, A., Batuner, O., Srinivas, B., Hofmann, M., and H.
Orman, "Security Threats and Risks for Open Pluggable Edge
Services (OPES)", RFC 3837, August 2004.
[9] Elkins, M., Del Torto, D., Levien, R., and T. Roessler, "MIME
Security with OpenPGP", RFC 3156, August 2001.
[10] Housley, R., "Cryptographic Message Syntax (CMS)", RFC 3852,
July 2004.
[11] Eastlake, D., Reagle, J., and D. Solo, "(Extensible Markup
Language) XML-Signature Syntax and Processing", RFC 3275, March
2002.
[12] Barbir, A., "Open Pluggable Edge Services (OPES) Entities and
End Points Communication", RFC 3897, September 2004.
[13] Orman, H., "Data Integrity for Mildly Active Content",
Proceedings of the Third Annual International Workshop on
Active Middleware Services, p.73, August 2001.
Stecher Informational [Page 12]
RFC 4902 OPES/SMTP Security May 2007
Appendix A. Acknowledgements
Many thanks to everybody who provided input and feedback for this
document. Very special thanks to Hilarie Orman for her input and
suggestions, especially for the content of Section 3.3
("Compatibility with Cryptographic Protection Mechanisms").
Author's Address
Martin Stecher
Secure Computing Corporation
Vattmannstr. 3
33100 Paderborn
Germany
EMail: martin.stecher@webwasher.com
URI: http://www.securecomputing.com/
Stecher Informational [Page 13]
RFC 4902 OPES/SMTP Security May 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Stecher Informational [Page 14]
|