Title of article :
The Shadow Knows: Refinement and security in sequential programs
Author/Authors :
Carroll Morgan، نويسنده ,
Issue Information :
ماهنامه با شماره پیاپی سال 2009
Abstract :
Stepwise refinement is a crucial conceptual tool for system development, encouraging program construction via a number of separate correctness-preserving stages which ideally can be understood in isolation. A crucial conceptual component of security is an adversary’s ignorance of concealed information. We suggest a novel method of combining these two ideas.Our suggestion is based on a mathematical definition of “ignorance-preserving” refinement that extends classical refinement by limiting an adversary’s access to concealed information: moving from specification to implementation should never increase that access. The novelty is the way we achieve this in the context of sequential programs.Specifically we give an operational model (and detailed justification for it), a basic sequential programming language and its operational semantics in that model, a “logic of ignorance” interpreted over the same model, then a program-logical semantics bringing those together — and finally we use the logic to establish, via refinement, the correctness of a real (though small) protocol: Rivest’s Oblivious Transfer. A previous report⋆ treated Chaum’s Dining Cryptographers similarly.In passing we solve the Refinement Paradox for sequential programs.
Keywords :
Logic of knowledge , SECURITY , Privacy , Hoare logic , Specification , implementation
Journal title :
Science of Computer Programming
Journal title :
Science of Computer Programming