RFC 2084
Considerations for Web Transaction Security
RFC 2084: Considerations for Web Transaction Security π This one is an Informational doc (not a standard!), dated January 1997. It's written by Greg (G.) Bossert and Simon (S.) Cooper from Silicon Graphics Inc. π, plus Walt (W.) Drummond from IEEE, Inc. π§. Its title block lists no "Obsoletes" or "Updates" entries, so it's not replacing or changing anything else β¨
Status of this Memo β¨
This memo provides information for the Internet community πΈ It does not specify an Internet standard of any kind, so don't go treating it as one π Distribution of this memo is unlimited π¦
Abstract π
This doc lays out the requirements for giving the HyperText Transport Protocol some security services π Those are confidentiality, integrity, user authentication, and authentication of servers and services, including proxied or gatewayed ones π These MAY be provided as extensions to HTTP, or as an encapsulating security protocol. The secondary goals are ease of integration and support for multiple mechanisms that provide these services π
1. Introduction πΈ
Okay so HTTP is used for specialized or commercial services and for personal or private data, which means it needs secure versions with privacy and authentication built in π₯ These MAY be extensions to HTTP or encapsulating security protocols. For this doc, all of those enhancements get called WTS π§
The goal here is to write down the WTS requirements, collecting the Internet-wide needs along with existing practice, so evaluating and building these protocols gets easier π
WTS is an enhancement to an object transport protocol, so it doesn't independently certify documents or other data objects outside the scope of transferring them π Security at the WTS layer is also independent of, and orthogonal to, the security services at the underlying network layers. It's envisioned that WTS MAY coexist in a single transaction with such mechanisms, each providing security services at the right level, with at worst some redundancy of service π«Ά
1.1 Terminology π
The following terms have specific meaning in this document. The HTTP specification [1] defines additional useful terms π
- Transaction: A complete HTTP action, made up of a request from the client and a response from the server.
- Gatewayed Service: A service accessed, via HTTP or an alternate protocol, by the HTTP server on behalf of the client.
- Mechanism: A specific implementation of a protocol, or a related subset of features of a protocol.
2. General Requirements β¨
WTS MUST define the following services. These services MUST be provided independently of each other, and they support the needs of proxies and intermediaries π
- Confidentiality of the HTTP request and/or response π
- Data origin authentication and data integrity of the HTTP request and/or response π«Ά
- Non-repudiability of origin for the request and/or response π
- Transmission freshness of request and/or response π
- Ease of integration with other features of HTTP π§
- Support of multiple mechanisms for the above services π
3. Confidentiality π
WTS MUST be able to provide confidentiality for both requests and responses. Note: because the identity of the object being requested is potentially sensitive, the URI of the request SHOULD be confidential. This is especially critical in the common case of form data or other user input being passed in the URI π
4. Service Authentication β¨
WTS SHOULD support the authentication of gatewayed services to the client π¦
WTS SHOULD support the authentication of the origin HTTP server or gatewayed services, regardless of intermediary proxy or caching servers π
To allow user privacy, WTS MUST support service authentication with user anonymity π
Because the identity of the object being requested is potentially sensitive, service authentication SHOULD occur before any part of the request, including the URI of the requested object, is passed π In cases where the authentication process depends on the URI (or other header data) of the request, such as with gatewayed services, the minimum necessary information to identify the entity to be authenticated SHOULD be passed π«Ά
5. User Authentication π
WTS MUST support the authentication of the client to the server π₯
WTS SHOULD support the authentication of the client to gatewayed services π
WTS SHOULD support the authentication of the client to the origin HTTP server, regardless of intermediary proxy servers π
6. Integrity π
WTS MUST provide assurance of the integrity of the HTTP transaction, including the HTTP headers and data objects of both client requests and server responses. No cap, this is a big one β¨
7. Integration π§
So to support integration with current and future versions of HTTP, and to provide extendibility and independence of development, the secure services provided by WTS MUST be orthogonal to and independent of the other services provided by HTTP π
In accordance with the layered model of network protocols, WTS MUST be:
- independent of the content or nature of the data objects being transported, although special attention to reference integrity of hyperlinked objects MAY be appropriate π¦
- implementable over a variety of connection schemes and underlying transport protocols πΈ
8. Multiple Mechanisms π
WTS MUST be compatible with multiple mechanisms for authentication and encryption. Support for multiple mechanisms is REQUIRED for a number of reasons π
- Accommodation of variations in site policies, including those due to external restrictions on the availability of cryptographic technologies π
- Support for a variety of applications and gatewayed services π
- Support for parallel implementations within and across administrative domains π§
- Accommodation of application-specific performance/security tradeoffs β
To allow interoperability across domains, and to support the transition to new or upgraded mechanisms, WTS SHOULD provide negotiation of authentication and encryption mechanisms π«Ά
References π
- [1] Berners-Lee, T., Fielding, R., and H. Frystyk Nielsen, "Hypertext Transfer Protocol -- HTTP/1.0", RFC 1945, May 1996.
- [2] G. Bossert, S. Cooper, W. Drummond. "Requirements of Secure Object Transfer Protocols", Work in Progress
<URL:http://www-ns.rutgers.edu/www-security/draft/draft-rutgers-sotp-requirements-00.txt>, March 1995.
The revision history of this document can be found at <URL:http://reality.sgi.com/csp/wts-wg/wts-documents.html> π·
Acknowledgments π«Ά
This document is a product of the IETF WTS working group. The working group uses the wts-wg@postofc.corp.sgi.com mailing list for discussion. The subscription address is wts-wg-request@postofc.corp.sgi.com π
Eric Rescorla of Terisa <ekr@terisa.com> provided valuable comments on an early draft of a document called "Requirements of Secure Object Transfer" [2], which was a principal influence on this document π
Security Considerations π
As noted above. (Yes, that's the whole section. Iconic minimalism π)
Authors' Addresses π¦
Greg Bossert
Silicon Graphics, Inc. MS 15-7
2011 North Shoreline Blvd.
Mountain View, CA 94043-1389
USA
EMail: bossert@corp.sgi.com
Simon Cooper
Silicon Graphics, Inc. MS 15-7
2011 North Shoreline Blvd.
Mountain View, CA 94043-1389
USA
EMail: sc@corp.sgi.com
Walt Drummond
Institute of Electrical and Electronics Engineers, Inc.
445 Hoes Lane
Piscataway, NJ 08855-1331
USA
Phone: 908-562-6545
Fax: 908-562-1727
EMail: drummond@ieee.org
π¦ where this page comes from
- ietf: rfc2084 1997-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms