fix: add preimage tags for domain separation of signatures#160
fix: add preimage tags for domain separation of signatures#160
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the protocol specification to explicitly domain-separate signed messages using fixed message tags (matching the Tamarin model values).
Changes:
- Updates the
SIGbuilding block to sign/verifytag ∥ minstead of justm. - Adds concrete domain-separation tags to signature inputs throughout the setup and key-fetch verification flows.
- Updates the signature verification checks in the “Sender fetches keys” step to include the new tags.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
d63165f to
98dcdc2
Compare
|
I believe this also addresses #53 by preventing type confusion between signed keys returned by the server. |
|
Just because I think there's potential for Even though it's true that signed_pubkey_bytes is a "message", it might be friendly to our future selves if we try to disambiguate this a bit in our terminology when we describe this step, so that it's highly clear what it's for. About the comment on #53: I'd say the primary mitigation was the 0.2 change in which the clue/hint dh key have no relation to anything used in message encryption. (and in 0.3, where all pubkeys that are involved encryption/decryption are either signed, enclosed in authenc ciphertext, or committed to in authenc ciphertext). But I agree that separating keys by context has to be specified. |
|
That's a good disambiguation. In e46a6d5 I've suggested (and documented) |
The manuscript does not specify domain-separating message tags. The Tamarin models, helpfully, do, so here we adopt those values.
|
Rebased from |
The manuscript does not specify domain-separating preimage tags. The Tamarin models, helpfully, do, so here we adopt those values.