Scenario: I have to protect the integrity of some files that will be exchanged b
ID: 648291 • Letter: S
Question
Scenario: I have to protect the integrity of some files that will be exchanged between entities A, B, C. Entity A creates the file (e.g. configuration) and sends it to B and C. Entities A and B are considered trusted but entity C is semi-trusted (by default it is trusted but we assume it could be compromised at some point). The communication channel between A?B?C is considered secure (e.g. VPN).
Now, I obviously cannot rely on HMAC since I would have to share a secret with potentially compromised C. But I would prefer to avoid implementing a PKI and digital signatures for this purpose. Is there any way around a PKI that will protect the integrity of my files?
Explanation / Answer
As owlstead wrote in the comments, you don't need a real public key infrastructure to use public key signatures for this. You can have A create a key-pair, then distribute the public key to B and C in advance, before any communications start.
A symmetric setup isn't much more complex either. You need two secrets, one between A and B, one between A and C. Calculate two MACs for each file, with either key. B can verify one, C the other. Even if E gets the secret key from C modifies a file, they can only calculate one of the MACs for modified messages.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.