In order to design and develop a secure system it is important to formulate a threat/adversary/trust/security model for the corresponding system to be able to evaluate the proposed system and help others to know if it is suitable in their prospect applications or not.

First, I am a bit confused about the difference between those terms:

  • Adversary Model
  • Threat Model
  • Trust Model
  • Security Model

and how much are they alike ? Do they only concern the protocol evaluation or they can be also applied on other security concerns?

Second, when it comes to Adversary Model, it seems that there are several classifications for an adversary such:

  • Honest-but-curious
  • Semi-honest
  • Covert
  • Selfish
  • Malicious

and maybe many be others that I still haven't heard about them yet. Can you recommend reference where I can learn about these and more types of adversaries? Can any one give a brief definition about them?

Finally, to put you in the context, I am interested in designing a boot related scenario for an embedded system and I would like to define the correspondent adversary/threat/trust. Do you thing that the listed above adversary models fall in to the category an embedded system boot scenario (System On Chip security evaluation)?

  • 1
    Sorry I call this too broad and many explained in Wiki en.wikipedia.org/wiki/Secure_multi-party_computation . Also, you need to explain your confusion to get a netter response. This question needs to be separated into two.
    – kelalaka
    Oct 2, 2020 at 12:54
  • 3
    Of all the things cited, I think that the most actionable and relatively well-defined one for an embedded designer is Threat Model. But still that's not quite the standard vocabulary.
    – fgrieu
    Oct 2, 2020 at 12:57


You must log in to answer this question.

Browse other questions tagged .