Hi Dan,
The main point to think about when adding a restriction is that it is an additional assumption that you are making. Tamarin then uses this assumption and has an easier time proving other properties, of course. Thus, adding the assumption that certain keys are never known by the attacker can very easily lead to missed attacks.
An extreme example showing this issue is to add the restriction
"false" after which you can prove any all-traces lemma, as there
are no traces anymore.
For your protocol, the source for the partial deconstructions is that certain opaque values are being sent around as part of larger messages, are then decrypted, and output in the clear (they are also encrypted, but it's a free variable in the rule it happens). These could/should usually be other encryptions with specific content [unless the adversary maybe inserted them?], but you need to convince Tamarin of that. Your sources lemma unfortunately does not help, while the --auto-sources produced lemma also does not help. So, you need to consider a different sources lemma. I would suggest starting with a prefix of the protocol (commenting out later rules) and see if you can solve that.
Note that partial deconstructions do not mean that Tamarin knows
a way the adversary can derive something, but rather, that Tamarin
is not yet convinced that the adversary cannot derive that
specific thing. This is subtle but important to realize. The
sources lemma gives Tamarin the help to understand what the
content is, and thus how it won't help.
KU vs K is an internal difference, and indeed it is sometimes
necessary to use KU, specifically for sources lemmas.
Cheers,
Ralf
--
You received this message because you are subscribed to the Google Groups "tamarin-prover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tamarin-prove...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/tamarin-prover/fcb8fbc0-43a6-41ef-9e4c-79f178e3696cn%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/tamarin-prover/8e1b5cf8-3137-4055-bee8-37f7a681c527%40inf.ethz.ch.
To view this discussion visit https://groups.google.com/d/msgid/tamarin-prover/CABhg3Hnh-530Av7raYWrU30CMa88iZj1U00Xt0vzfd7mymgqoQ%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/tamarin-prover/CABdrxL70GNNT9828Y_Ne3jLm-xC3h8_KHznn1WfTLZX3477CWQ%40mail.gmail.com.
For your protocol, the source for the partial deconstructions is that certain opaque values are being sent around as part of larger messages, are then decrypted, and output in the clear (they are also encrypted, but it's a free variable in the rule it happens). These could/should usually be other encryptions with specific content [unless the adversary maybe inserted them?], but you need to convince Tamarin of that. Your sources lemma unfortunately does not help, while the --auto-sources produced lemma also does not help. So, you need to consider a different sources lemma. I would suggest starting with a prefix of the protocol (commenting out later rules) and see if you can solve that