Formalisation and Verification of Java Card Security Properties in Dynamic Logic
We present how common Java Card security properties can be formalised in Dynamic Logic and verified, mostly automatically, with the KeY system. The properties we consider, are a large subset of properties that are of
importance to the smart card industry. We discuss the properties one by one, illustrate them with
examples of real-life, industrial size, Java Card applications, and show how the properties are verified with the KeY Prover - an interactive theorem prover for Java Card source code based on a version of Dynamic Logic
that models the full Java Card standard. We report on the experience related to formal verification of Java Card programs we gained during the course of this work. Thereafter, we present the current state of the art of
formal verification techniques offered by the KeY system and give an assessment of interactive theorem proving as an alternative to static analysis.
interactive theorem proving
object oriented programs