Title :
Formal development of an embedded verifier for Java Card byte code
Author :
Casset, Ludovic ; Burdy, Lilian ; Requet, Antoine
Abstract :
The Java security policy is implemented by security components such as the Java Virtual Machine (JVM), the API, the verifier, the loader. It is of prime importance to ensure that the implementation of these components is in accordance with their specifications. Formal methods can be used to bring the mathematical proof that the implementation of these components corresponds to their specification. In the paper, a formal development is performed on the Java Card byte code verifier using the B method. The whole Java Card language is taken into account in order to provide realistic metrics on formal development. The architecture and the tricky points of the development are presented. This formalization leads to an embeddable implementation of the byte code verifier thanks to automatic code translation from formal implementation into C code. We present the formal models, discuss the integration into the card and the results of such an experiment.
Keywords :
Java; embedded systems; formal specification; formal verification; security of data; smart cards; software metrics; B method; Java Card byte code; Java Card language; automatic code translation; embedded verifier; formal development; metrics; Data security; Error correction codes; Information systems; Java; Protection; Prototypes; Smart cards; Virtual machining;
Conference_Titel :
Dependable Systems and Networks, 2002. DSN 2002. Proceedings. International Conference on
Print_ISBN :
0-7695-1101-5
DOI :
10.1109/DSN.2002.1028886