[OTR-dev] Achieving non-non-repudiation in another protocol.
Ian Goldberg
ian at cypherpunks.ca
Wed Aug 27 13:01:21 EDT 2008
On Wed, Aug 27, 2008 at 11:20:20AM -0400, Gregory Maxwell wrote:
> On Wed, Aug 27, 2008 at 10:17 AM, Ian Goldberg <ian at cypherpunks.ca> wrote:
> >> Does this appear correct?
> >
> > I think you indeed achieve repudiability, but I'm pretty sure the above
> > protocol suffers from the same identity-misbinding attack that OTRv1
> > had.
> >
> > The MITM can change the signature on the last message to be her own
> > signature instead of C2's. Then C1 will think she's talking to MITM,
> > but she's really talking to C2.
>
> Eeek. I agree. Thank you for pointing this out.
>
> > OTR switched to the SIGMA protocol (used in IPSec) to overcome this
> > problem. I think to fix the above, you could:
> >
> > - Change the H inside the signatures to a MAC, with key based on the DH
> > shared secret. This proves that the parties have computed the same
> > session key.
> > - Put the sender's name/id/pubkey inside this MAC, along with the M and
> > N values.
>
> I had consciously avoided *signing* the DH value or any result of the
> DH value because I wanted a third party to be able to produce a whole
> encrypted transmission bearing client1 and client2's signatures based
> only on passive observation without ever taking to those clients
> himself. Since the third party wouldn't know the private portions of
> the DH exchange (nor could we reasonable expect him to find new a new
> DH exchange which resulted in the same shared secret, I think) signing
> the DH exchange or shared secret would prevent such an forgery.
>
> I think I can probably solve this by including the pubkey inside the
> initial MAC over the public DH values but I'll have to give it a bit
> more thought.
>
> Thank you very much for your insight.
Fair enough; you just have to MAC your name with the DH session key, and
also sign something fresh. So S(N1 || N2), MAC_s(my name) where s is
derived from the DH shared secret may be OK. (That is, I think the MAC
doesn't have to be *inside* the signature.) I think that's one of the
variants explicitly given in the SIGMA paper, but I'm not positive.
- Ian
More information about the OTR-dev
mailing list