Trust Models

Trust Models & Adversary Capabilities #

Defining what the adversary can and cannot do. Critical for meaningful security/privacy guarantees.

Standard Adversary Models #

ModelBehaviorCapabilitiesUse Case
HonestFollows protocolNone adversarialBaseline
Semi-honest (HbC)Follows protocol, tries to learnObserves all internal stateMPC, PIR
CovertCheats if undetectableDeviates if detection prob < εPractical MPC
MaliciousArbitrary deviationFull protocol deviationStrongest guarantees

Semi-Honest (Honest-but-Curious) #

  • Executes protocol correctly
  • Attempts to infer additional information from transcript
  • Models curious cloud providers, passive eavesdroppers
  • Sufficient for many practical scenarios
Example: Cloud storage provider
- Honestly stores encrypted files
- Tries to learn content from access patterns
- Solution: ORAM

Malicious Adversary #

  • Arbitrary deviation from protocol
  • May send malformed messages, abort, collude
  • Requires stronger techniques:
    • Zero-knowledge proofs
    • Authenticated garbling
    • Verifiable computation

Collusion Models #

ModelDescription
No collusionEach party independent
Threshold (t-of-n)Up to t parties collude
Dishonest majority> n/2 parties malicious
Honest majority< n/2 parties malicious

Threshold Assumptions #

ThresholdEnables
t < nBasic MPC possible
t < n/2Information-theoretic MPC
t < n/3Byzantine agreement without setup

Network Adversary Models #

ModelCapabilities
Passive/EavesdropperRead all traffic
Active/MitMRead, modify, inject, drop
GlobalObserve all network links
LocalObserve subset of links
AdaptiveCompromise nodes based on observations
StaticCorruption set fixed before execution

TEE Threat Models #

AdversaryCapabilitiesTrust
Software attackerControl OS, hypervisorTrust CPU + enclave code
Physical attackerProbe memory busTrust CPU package
Side-channel attackerMeasure timing, power, cacheTrust varies by mitigation
MicroarchitecturalExploit speculative executionTrust specific CPU + patches

What TEEs Typically DON’T Protect Against #

  • Side-channel attacks (timing, cache, power)
  • Denial of service (OS controls scheduling)
  • Rollback attacks (without monotonic counters)
  • Physical attacks on CPU package
  • Bugs in enclave code

Cryptographic Assumptions #

AssumptionBroken By
DLog (discrete log)Quantum (Shor’s)
RSAQuantum (Shor’s)
DDHQuantum
LWE/RLWEUnknown (believed post-quantum)
Hash collision resistanceQuantum (Grover’s, √ speedup)
Random Oracle ModelInstantiation may fail

Modeling Checklist #

When specifying a threat model, define:

  1. Adversary goal: Confidentiality, integrity, availability, privacy?
  2. Adversary position: Insider, outsider, network, physical?
  3. Adversary capabilities: Computational (PPT?), storage, network access?
  4. Corruption model: Static/adaptive, threshold, collusion?
  5. Trust assumptions: What is NOT compromised?
  6. Cryptographic assumptions: Hardness assumptions relied upon
  7. Out of scope: Explicit non-goals

Common Pitfalls #

  • Assuming “encrypted = secure” (ignores metadata, access patterns)
  • Trusting the client in client-server model
  • Ignoring side channels in threat model
  • Unstated collusion assumptions
  • Assuming honest majority without justification
  • Confusing authentication with authorization

Written by Claude Opus 4.5