AsmSecure.lean
Hardware Attacker and Explained-Trace Security Queries
Trusted: definitions used by the statement.
Defines the hardware-level Dolev-Yao attacker (HwAttackerObserves, HwAttackerKnows) and instantiates Security. over explained CLI event traces (All).
@[expose] public sectionnamespace DY.Libsignal.Composed.Refinementopen DY DY.Comparseopen CryptoProofLib.Refinement (ExternInterpretation)open DY.Libsignal.HwEvents (CliEvent)sectionvariable (r : ProtocolSetup) (vis : List VisEntry)def HwAttackerObserves
Terms observed by the hardware adversary under vis: public setup messages (setupSent r) and terms in .send, .recv, or .leak entries (excluding .pt, .rng, and .accept).
def HwAttackerKnows
Dolev-Yao deduction closure of HwAttackerObserves r vis.
def HwAttackerKnows (t : DY.Bytes) : Prop :=
Fixpoint.mkLeastFixpoint
(fun known b => AttackerKnowledge.attackerKnowledge.pred known b ∨ HwAttackerObserves r vis b) tend
def All
Under every explanation (g, ss, vis) of CLI trace evs, all ten security queries hold on runTrace r ss against HwAttackerKnows r vis.
def AllSecurityQueriesHoldOnHwTrace (interpretation : ExternInterpretation) (r : ProtocolSetup)
(S : OpaqueSymbolSemantics) (evs : List CliEvent) : Prop :=
∀ g ss vis, Explains interpretation r S g ss vis evs →
Security.AllSecurityQueriesHold (runTrace r ss) (HwAttackerKnows r vis)end DY.Libsignal.Composed.Refinement