Re: -encryption draft -01

Hi Martin,

below some unstructured feedback...

Best regards, Julian


1. Introduction

    ...

    Currently, "https" URIs require acquiring and configuring a valid
    certificate, which means that some deployments find supporting TLS
    difficult.  Therefore, this document describes a usage model whereby
    sites can serve "http" URIs over TLS without being required to
    support strong server authentication.

"Currently"?

1.1. Goals and Non-Goals

    A secondary goal is to limit the potential for active attacks.  It is
    not intended to offer the same level of protection as afforded to
    "https" URIs, but instead to increase the likelihood that an active
    attack can be detected.

This repeats a paragraph from Section 1.

    A final (but significant) goal is to provide for ease of
    implementation, deployment and operation.  This mechanism should have
    a minimal impact upon performance, and should not require extensive
    administrative effort to configure.

Please void lowercase BCP14 terms.


2. Using HTTP URIs over TLS

    ...

    A client that places the importance of protection against passive
    attacks over performance might choose to withhold requests until an
    encrypted connection is available.  However, if such a connection
    cannot be successfully established, the client MAY resume its use of
    the cleartext connection.

As the first sentence doesn't have a BCP14 keyword, the second problem 
shouldn't either.

    A client can also explicitly probe for an alternative service
    advertisement by sending a request that bears little or no sensitive
    information, such as one with the OPTIONS method.  Likewise, clients
    with existing alternative services information could make such a
    request before they expire, in order minimize the delays that might
    be incurred.

Q: How is OPTIONS better than HEAD?

3. Server Authentication

    ...

    When connecting to an alternative service for an "http" URI, clients
    are not required to perform the server authentication procedure
    described in Section 3.1 of [RFC2818].  The server certificate, if
    one is proffered by the alternative service, is not necessarily
    checked for validity, expiration, issuance by a trusted certificate
    authority or matched against the name in the URI.  Therefore, the
    alternative service MAY provide any certificate, or even select TLS
    cipher suites that do not include authentication.

s/MAY/can/ methinks.

4. Interaction with "https" URIs


    When using alternative services, both "http" and "https" URIs might
    use the same connection, because HTTP/2 permits requests for multiple
    origins on the same connection.

s/"http" and "https" URIs/request for resources identified by..../

    ...

5. Requiring Use of TLS

    ...

    The mechanism described in this specification is trival to mount an
    active attack against, for two reasons:

s/trival/trivial/

    o  A client that doesn't perform authentication an easy victim of
       server impersonation, through man-in-the-middle attacks.

s/an easy/is an easy/

    o  A client that is willing to use cleartext to resolve the resource
       will do so if access to any TLS-enabled alternative services is
       blocked at the network layer.

maybe s/cleartext/HTTP over cleartext/

    ...

    When an alternative service is able to commit to providing service
    for a particular origin over TLS for a bounded period of time,
    clients can choose to rely upon its avilability, failing when it
    cannot be contacted.  Effectively, this makes the choice to use a
    secured protocol "sticky" in the client.

s/avilability/availability/

5.1. The HTTP-TLS Header Field

    ...

    HTTP-TLS     = 1#parameter

Need to cite ABNF for parameter and HTTP/1.1 #list rule.

    ...

    GET /index.html HTTP/1.1
    Host: example.com


    HTTP/1.1 200 OK
    Content-Type: text/html
    Cache-Control: 600

??? Broken Cache-Control header field...

    Age: 30
    Date: Thu, 1 May 2014 16:20:09 GMT
    HTTP-TLS: ma=3600

    This header field creates a commitment from the origin [RFC6454] of
    the associated resource (in the example, "http://example.com").  For
    the duration of the commitment, clients SHOULD strongly authenticate
    the server for all subsequent requests made to that origin, though
    this creates some risks for clients Section 5.2.

s/Section 5.2/(see Section 5.2)/

    Authentication for HTTP over TLS is described in Section 3.1 of
    [RFC2818], noting the additional requirements in
    [I-D.ietf-httpbis-alt-svc].  The header field MUST be ignored if

The alt-svc citation should be more specific; is this about SNI?

    ...

    The commitment made by the "HTTP-TLS" header field applies only to
    the origin of the resource that generates the "HTTP-TLS" header
    field.  Requests for an origin that has a persisted, unexpired value
    for "HTTP-TLS" MUST fail if they cannot be made over an authenticated
    TLS connection.

Maybe these should be two paragraphs.

    Note that the commitment is not bound to a particular alternative
    service.  Clients SHOULD use alternative services that they become
    aware of.  However, clients MUST NOT use an unauthenticated
    alternative service for an origin with this commitment.  Where there
    is an active commitment, clients MAY instead ignore advertisements
    for unsecured alternatives services.

Aren't alt-svc advertisements optional anyway?


6.4. Confusion Regarding Request Scheme

    ...

    HTTP/1.1 MUST NOT be sent over HTTP/1.1 or earlier versions of the
    protocol.  Opportunistically secured HTTP requests MUST include an
    explicit scheme identifier.

Doesn't compute.

Received on Tuesday, 16 December 2014 09:47:14 UTC