Ignore:
Timestamp:
22/02/08 19:16:51 (15 years ago)
Author:
paul.hoffman@…
Message:

Checked in 01 of security, also modded the Makefile for my setup.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis-security-properties/latest/draft-ietf-httpbis-security-properties.xml

    r179 r216  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <?xml-stylesheet type='text/xsl' href='../myxml2rfc.xslt'?>
    32<!DOCTYPE rfc [
    43<!ENTITY rfc2026 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2026.xml">
     
    1413]>
    1514
    16 <rfc category="info" ipr="full3978" docName="draft-ietf-httpbis-security-properties-latest">
     15<rfc category="info" ipr="full3978"
     16  docName="draft-ietf-httpbis-security-properties-01.txt">
     17
     18<?xml-stylesheet type='text/xsl' href='rfc2629xslt/rfc2629.xslt' ?>
    1719
    1820<?rfc toc="yes" ?>
     
    2325<?rfc subcompact="no" ?>
    2426<?rfc linkmailto='no'?>
     27<?rfc comments="yes"?>
     28<?rfc inline="yes"?>
    2529
    2630<front>
     
    3438     <address><email>alexey.melnikov@isode.com</email> </address>
    3539  </author>
    36   <date month="January" year="2008"/>
     40  <date year="2008"/>
    3741  <abstract>
    3842    <t>Recent IESG practice dictates that IETF protocols must specify
     
    5458protocols specify mandatory security mechanisms. "Strong Security
    5559Requirements for IETF Standard Protocols" <xref target="RFC3365"/>
    56 requires that all IETF protocols provide a mechanism for implementors
     60requires that all IETF protocols provide a mechanism for implementers
    5761to provide strong security. RFC 3365 does not define the term "strong
    5862security".</t>
     
    6367
    6468<figure><artwork>
    65    We have evolved in the IETF the notion of "mandatory to implement"
    66    mechanisms.  This philosophy evolves from our primary desire to
    67    ensure interoperability between different implementations of a
    68    protocol.  If a protocol offers many options for how to perform a
    69    particular task, but fails to provide for at least one that all
    70    must implement, it may be possible that multiple, non-interoperable
    71    implementations may result.  This is the consequence of the
    72    selection of non-overlapping mechanisms being deployed in the
    73    different implementations.
     69  We have evolved in the IETF the notion of "mandatory to implement"
     70  mechanisms.  This philosophy evolves from our primary desire to
     71  ensure interoperability between different implementations of a
     72  protocol.  If a protocol offers many options for how to perform a
     73  particular task, but fails to provide for at least one that all
     74  must implement, it may be possible that multiple, non-interoperable
     75  implementations may result.  This is the consequence of the
     76  selection of non-overlapping mechanisms being deployed in the
     77  different implementations.
    7478</artwork></figure>
    7579
     
    8791combination of access authentication and/or a secure transport.</t>
    8892
     93<t>[[ There is a suggestion that this section be split into
     94"browser-like" and "automation-like" subsections. ]]</t>
     95
     96<t>[[ NTLM (shudder) was brought up in the WG a few times in
     97the discussion of the -00 draft. Should we add a section on it? ]]</t>
     98
    8999<section title="Forms And Cookies">
    90100
    91 <t>Almost all HTTP authentication is accomplished through HTML forms,
    92 with session keys stored in cookies. For cookies, most implementations
     101<t>Almost all HTTP authentication that involves a human
     102using a web browser is accomplished through HTML forms,
     103with session identifiers stored in cookies. For cookies, most implementations
    93104rely on the "Netscape specification", which is described loosely in
    94105section 10 of "HTTP State Management Mechanism" <xref
     
    98109not widely implemented.</t>
    99110
    100 <t>Forms and cookies have number of properties that make them an
    101 excellent solution for some implementors. However, many of those
     111<t>Forms and cookies have many properties that make them an
     112excellent solution for some implementers. However, many of those
    102113properties introduce serious security trade-offs.</t>
    103114
     
    106117reliance on the appearance of the interface. Many users do not
    107118understand the construction of URIs <xref target="RFC3986"/>, or their
    108 presentation in common clients [[ CITATION NEEDED ]]. As a result,
     119presentation in common clients <xref target="PhishingHOWTO"/>.
     120As a result,
    109121forms are extremely vulnerable to spoofing.</t>
    110122
     
    114126
    115127<t>HTML forms provide a facility for sites to indicate that a password
    116 should never be pre-populated. [[ More needed here on autocomplete ]]</t>
     128should never be pre-populated.
     129[[ More needed here on autocomplete ]]</t>
    117130
    118131<t>The cookies that result from a successful form submission make it
    119 unessecary to validate credentials with each HTTP request; this makes
     132unnecessary to validate credentials with each HTTP request; this makes
    120133cookies an excellent property for scalability. Cookies are susceptible
    121134to a large variety of XSS (cross-site scripting) attacks, and measures
     
    130143from the client.</t>
    131144
    132 <t>HTML forms require an HTML rendering engine, which many protocols
    133 have no use for.</t>
     145<t>HTML forms require an HTML rendering engine for which many protocols
     146have no use.</t>
    134147
    135148</section>
     
    137150<section title="HTTP Access Authentication">
    138151
    139 <t>HTTP 1.1 provides a simple authentication framework, and "HTTP
     152<t>HTTP 1.1 provides a simple authentication framework, "HTTP
    140153Authentication: Basic and Digest Access Authentication" <xref
    141 target="RFC2617"/> defines two optional mechanisms. Both of these
     154target="RFC2617"/>, which defines two optional mechanisms. Both of these
    142155mechanisms are extremely rarely used in comparison to forms and
    143156cookies, but some degree of support for one or both is available in
     
    182195
    183196<t>Digest includes many modes of operation, but only the simplest
    184 modes enjoy any degree of interoperability. For example, most
     197modes enjoy any degree of interoperability.  For example, most
    185198implementations do not implement the mode that provides full message
    186 integrity. Additionally, implementation experience has shown that the
    187 message integrity mode is impractical because it requires servers to
    188 analyze the full request before determining whether the client knows
    189 the shared secret.</t>
     199integrity.  Perhaps one reason is that implementation experience has
     200shown that in some cases, especially those involving large requests or
     201responses such as streams, the message integrity mode is impractical
     202because it requires servers to analyze the full request before
     203determining whether the client knows the shared secret or whether
     204message-body integrity has been violated and hence whether the request
     205can be processed.</t>
    190206
    191207<t>Digest is extremely susceptible to offline dictionary attacks,
    192208making it practical for attackers to perform a namespace walk
    193 consisting of a few million passwords [[ CITATION NEEDED ]].</t>
     209consisting of a few million passwords
     210[[ CITATION NEEDED ]].</t>
    194211
    195212<t>Many of the most widely-deployed HTTP/1.1 clients are not compliant
     
    197214
    198215<t>Digest either requires that authentication databases be expressly designed
    199 to accomodate it, or requires access to cleartext passwords.
     216to accommodate it, or requires access to cleartext passwords.
    200217As a result, many authentication databases that chose to do the former are
    201218incompatible, including the most common method of storing passwords
     
    219236
    220237<t>[[ A discussion about "SPNEGO-based Kerberos and NTLM HTTP
    221 Authentication in Microsoft Windows" <xref target="RFC4559"/> goes
    222 here.]]</t>
     238Authentication in Microsoft Windows" <xref target='RFC4559'/>
     239goes here. ]]</t>
    223240
    224241</section>
     
    253270time <xref target="WS-Pagecount"/> without any documented change control
    254271procedures. These protocols usually don't have much in common with the
    255 Architecture of the World Wide Web. It's not clear why term "Web" is
     272Architecture of the World Wide Web. It's not clear why the term "Web" is
    256273used to group them, but they are obviously out of scope for HTTP-based
    257274application protocols.</t>
    258275
     276<t>[[ This section could really use a good definition of
     277"Web Services" to differentiate it from REST. ]]</t>
     278
    259279</section>
    260280
    261281<section title="Transport Layer Security">
    262282
    263 <t>[[ A discussion of HTTP over TLS needs to be added here. ]]</t>
     283<t>[[ A discussion of HTTP over TLS needs to be added
     284here. ]]</t>
    264285
    265286<t>[[ Discussion of connection confidentiality should be separate from
     
    315336  <organization />
    316337  </author>
    317   <date year='' month='' />
     338</front>
     339</reference>
     340
     341<reference anchor='PhishingHOWTO'
     342  target='http://www.cs.auckland.ac.nz/~pgut001/pubs/phishing.pdf'>
     343<front>
     344  <title>Phishing Tips and Techniques</title>
     345  <author initials="P." surname="Gutmann" fullname="Peter Gutmann">
     346  <organization /></author>
     347  <date year='2008' month='February' />
    318348</front>
    319349</reference>
     
    335365
    336366<t>Much of the material in this document was written by Rob Sayre,
    337 who first promoted the topic.</t>
     367who first promoted the topic. Many others on the HTTPbis Working
     368Group have contributed to this document in the discussion.</t>
    338369
    339370</section>
     
    344375
    345376<section title='Changes between draft-sayre-http-security-variance-00 and
    346   draft-ietf-http-security-properties-00'>
     377  draft-ietf-httpbis-security-properties-00'>
    347378
    348379<t>Changed the authors to Paul Hoffman and Alexey Melnikov, with permission
     
    355386
    356387<t>In 3.2.1 and 3.2.2, changed "Latin-1 range" to "ISO 8859-1
    357 repertoire" to match the defintion of "TEXT" in RFC 2616.</t>
     388repertoire" to match the definition of "TEXT" in RFC 2616.</t>
    358389
    359390<t>Added minor text to the Security Considerations section.</t>
     
    363394</section>
    364395
     396<section title='Changes between -00 and -01'>
     397
     398<t>Fixed some editorial nits reported by Iain Calder.</t>
     399
     400<t>Added the suggestions about splitting for browsers and
     401automation, and about adding NTLM, to be beginning of 2.</t>
     402
     403<t>In 2.1, added "that involves a human
     404using a web browser" in the first sentence.</t>
     405
     406<t>In 2.1, changed "session key" to "session identifier".</t>
     407
     408<t>In 2.2.2, changed
     409<figure><artwork><![CDATA[
     410Digest includes many modes of operation, but only the simplest modes
     411enjoy any degree of interoperability.  For example, most
     412implementations do not implement the mode that provides full message
     413integrity.  Additionally, implementation experience has shown that
     414the message integrity mode is impractical because it requires servers
     415to analyze the full request before determining whether the client
     416knows the shared secret.
     417]]></artwork></figure>
     418to
     419<figure><artwork><![CDATA[
     420Digest includes many modes of operation, but only the simplest
     421modes enjoy any degree of interoperability.  For example, most
     422implementations do not implement the mode that provides full message
     423integrity.  Perhaps one reason is that implementation experience has
     424shown that in some cases, especially those involving large requests
     425or responses such as streams, the message integrity mode is
     426impractical because it requires servers to analyze the full request
     427before determining whether the client knows the shared secret or
     428whether message-body integrity has been violated and hence whether
     429the request can be processed.
     430]]></artwork></figure>
     431</t>
     432
     433<t>In 2.4, asked for a definition of "Web Services".</t>
     434
     435<t>In A, added the WG.</t>
     436
     437</section>
     438
    365439</section>
    366440
Note: See TracChangeset for help on using the changeset viewer.