Subject: Re: [Cfrg] Attacker changing tag length in OCB

From: Peter Gutmann <[email-masked]>
Date: Fri, 31 May 2013 04:05:59 +0000

Rene Struik <[email-masked]> writes:

>History suggests that lots of security vulnerabilities arise precisely
>because of these poor choices (or lack of knowledge of impact of policy on
>security services offered). One could shield against poor choices in various
>ways, e.g., by using as key k:=Hash(K, TagLength).

+1.  It's not a case of "will this be misused?", it's a case of "how long will
we have to wait before the first misuse occurs?".

Peter.

---

From: Dan Brown <[email-masked]>
Date: Fri, 31 May 2013 13:36:46 +0000

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf Of
> Peter Gutmann
> 

[DB] Temporarily taking generality (and frivolity) to the limit:

a) History has taught us: better safe than sorry.
b) History has taught us: if ain't broke, don't fix it.
c) History has taught us: keep it simple.

My interpretation is that under the generic cliché-pastiche criteria above,
the two proposed OCB fixes on this list pass (a), but fail on (b) and (c).  

***

More specifically, can (or has) somebody formalize(d) the problem here, and
proved that some method actually fixes solve the problem.  

I liken the AEAD-security here to be the symmetric-key equivalent to IND-CCA
for PKE.  I'm not aware of any IND-CCA-type definitions or proofs that
soften the integrity-protection compared to the confidentiality-protection.

Intuitively, I agree that this softened-authentication (e.g. tag shorter
than key) mode has merit: confidentiality has to withstand future
cryptanalysis, whereas cryptanalysts cannot go back in time to impersonate.

***

Speaking of history, fixing, PKE, MACs, and authentication: I recall the
incident of ECIES proposed in IEEEP1363 (and include in SEC1-v1).  It was
based on provably secure construction, but various tweaks were introduced to
add some bonus features (i.e. additional unencrypted input to the MAC, sound
familiar?), which proved to be flawed fixes (which had to be fixed in turn,
in IEEE 1363, SEC1-v2 and ISO 18033-2).  In other words, let's not tweak OCB
until we're certain of why and how.  Of course, that's a single data point.
I defer to the wisdom of the learned historians to make an inference based
on a broader data set.