[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [TLS] TLS 1.2 draft comments
<home_pw@xxxxxxx> writes:
> 1. signature
>
> "master secret
> A 48 byte secret shared between the two peers in the connection."
>
> Is it appropriate to now specify the length of this, and the client random component
> of the hello nonces? If so, give a rationale for the value in light of the fundamental
> PRF architecture changes going on in TLS 1.2
I don't think there really is a rationale. At some level, this is arbitrary,
but the chosen values are fine ones.
> Right now, this all defines a particular signature for the
> key_block = PRF(SecurityParameters.master_secret,
> "key expansion",
> SecurityParameters.server_random +
> SecurityParameters.client_random);
>
> If in TLS1.2 a PRF MAY be defined by a ciphersuite and not by the standard, need it have the same
> signature as the TLS PRF of old?
At the Montreal IETF, the consensus was to keep the signature/API the
same.
> 2. wrapped KEK/IVs in finished
>
> Im dubious about the new/amended means of protecting the integrity of the handshake, in the
> finished process. I cannot follow all its diddling with masks, and its impact on wrapped key/iv
> mechanisms when creating the first enciphered block under a server.write key. This may be
> more Peter problem, than spec problem. Perhaps I just have to read it a 100 times, more.
What section are you talking about?
> 3. timing channels vs key
>
> This is all funny on first reading, given all the recent discussion of NULL MAC in general!:
>
> Implementation Note: Canvel et. al. [CBCTIME] have demonstrated a
> timing attack on CBC padding based on the time required to
> compute the MAC. In order to defend against this attack,
> implementations MUST ensure that record processing time is
> essentially the same whether or not the padding is correct.
>
> Mac secrets are not "key", and are therefore assured not to influence the keyed
> confidentiality mechanism. if you use a secret vs key in a crypto SEF, you get what
> you expect.
That's not what's going on here. I suggest you read the referenced
paper for the background.
> 4. AEAD
>
> well at least I know what it is now, and how it relates to compression. Ill study the background issues
> to this some more, offline, before commenting in detail.
>
> But, interesting to see null length MAC getting involved, again -)
>
> And, interesting to see the failure alert: "fatal bad_record_mac alert"
>
> If I now calculate 2 + 2 = 5, the confidentiality service based on
> an AEAD mechanism is providing data origin authentication, and that
> DOA can control the record_layer integrity service, and the
> disconnect event. Hmm.
>
> I don't like it, at first glance. Its smells wrong. I need further
> rationale, in terms of function and assurance claims.
This is a chartered work item, so I think you're going to need to make
a stronger case if you want it removed.
> 5. "However, you SHOULD never send data over a link encrypted with 40 bit
> security unless you feel that data is worth no more than the effort
> required to break that encryption.
>
> I think its time for this to go... if only because we have no "links", above the TLS. We have
> channels or bridges. If its kept, perhaps consider
>
> "However, you SHOULD never send data over a link encrypted with 40 bit OR LESS
> security unless you feel that data is worth no more than the effort
> required to break that encryption.
Well, the 40-bit algroithms have been deprecated in TLS, so this
section should simply be removed.
> This updates the text to address ciphersuites with null confidentiality regimes.
>
> 6. I notice
> case certificate_url: CertificateURL;
> case certificate_status: CertificateStatus;
>
> These need adding to the "major changes section of the summary". I can not see these in
> RFC 4346.
>
> enum {
> hello_request(0), client_hello(1), server_hello(2),
> certificate(11), server_key_exchange (12),
> certificate_request(13), server_hello_done(14),
> certificate_verify(15), client_key_exchange(16),
> finished(20), (255)
> } HandshakeType;
>
> Given the description (they are part and parcel of the extension mechanism from other docs
> being folded into TLS 1.2) I think I see what's going on.
They're being moved back out again, so not really
> a) I like certificate URL, and it moves us beyond Nescape's tunnel vision on the format
> of the bag of certs (forwardCertPath). The bag can now contain HSM certs, for example
> from the client, where the architect has defined an "enhanced X.509 Certificate" cert type, per
> the rationale. It can also be a set of SAML assertions, getting us beyond X.509's aging formats.
>
> There is a strong danger that this extension will get badly abused, I feel. And, many
> military implementations are NOT going to be willy-nilly going out and resolving URLs
> sent by a (enhanced) handshake protocol, even if the handshake messages are being
> protected by an active (assured and sufficiently strong) TLS Connection. I can see such
> handshakes being used to ping a mgt port for a given user, and thus go collect data from certified
> repositories (over TLS), stuffing their response in caches. This is just X.500 revisted, tho.
>
> b) What nut pushed for that OCSP stuff in certificate_status? Don't folks understand that it was just
> to annoy VeriSign over the Micali patents?
>
> With TLS extensions, we will be able to recover cert status from a TLS responder, without
> bothering with OCSP. It can be authoritative as OCSP can be, once it starts putting
> digital signatures on sets of record fragments.
TLS Extensions is already a Proposed Standard (RFC 3546). It just
got moved into this document for editorial reasons.
-Ekr
_______________________________________________
TLS mailing list
TLS@xxxxxxxxxxxxxx
https://www1.ietf.org/mailman/listinfo/tls