On Mon, Sep 5, 2016 at 10:59 AM Hubert Kario <hka...@redhat.com> wrote:

> On Monday, 5 September 2016 14:48:55 CEST David Benjamin wrote:
> > On Mon, Sep 5, 2016 at 7:07 AM Hubert Kario <hka...@redhat.com> wrote:
> > > On Friday, 2 September 2016 18:53:45 CEST David Benjamin wrote:
> > > > I've finally gotten to uploading
> > > > https://tools.ietf.org/html/draft-davidben-tls-grease-01 which
> hopefully
> > > > resolves the procedural issues (thanks again!). I've also revised the
>
> > >    Clients MUST reject GREASE values when negotiated by the server.
> > >    When processing a ServerHello containing a GREASE value in the
> > >    ServerHello.cipher_suite or ServerHello.extensions fields, the
> client
> > >    MUST fail the connection.  When processing an ECParameters structure
> > >    with a GREASE value in the ECParameter.namedcurve field, the client
> > >    MUST fail the connection.
> > >
> > >    Note that this requires no special processing on the client.
> Clients
> > >    are already required to reject unknown values selected by the
> server.
> > >
> > > Don't the other RFCs just say that clients should reject values not
> > > advertised
> > > by client? Since GREASE values are advertised by clients, I don't think
> > > the
> > > "no special processing" applies. As such, handling how connections in
> > > which
> > > server selects GREASE values should be specified precisely.
> > > (I haven't checked the RFCs for that so I may be mistaken, but still
> is a
> > > bit
> > > dicey to say that programmers don't need to check error handling in
> their
> > > code...)
> >
> > Right. That's why this one says "no special processing" rather than
> > "restatements or corollaries of existing [client] requirements" as in the
> > server section. In the implementation I've tossed together, this never
> > makes it into the list of values the client believes it has advertised.
> The
> > serialization code just adds some u16s without remembering them anywhere.
> > As a result, all the existing logic works just fine.
>
> On the other hand, the implementation I work on keeps the sent Client
> Hello on
> hand and checks the server response against the exact values it sent.
>
> So for it, server selecting GREASE value would be fine, it would fail at
> key
> exchange processing time.
>
> Keeping the Client Hello in case server asks for certificate verification
> is
> not entirely unheard of either.
>
> So I think it's best to keep the specification implementation agnostic,
> without any assumptions about how the code is written, and describe just
> the
> externally visible behaviour. But describe it fully.
>

The document does that, no? Or are you simply asking that I remove the "no
special processing sentence. Happy to do that.

(I'm assuming your implementation then handles the renegotiate_info SCSV
and FALLBACK_SCSV similarly special? It's the same story with those two.)

David
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to