Formal Development of an Embedded Verifier for Java Card Byte Code
نویسندگان
چکیده
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 this 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.
منابع مشابه
Development of an Embedded Verifier for Java Card Byte Code using Formal Methods Ludovic
The Java security policy is implemented using security components such as a Java Virtual Machine (JVM), API, verifier, and a loader. It is of prime importance to ensure that these components are implemented in accordance with their specifications. Formal methods can be used to bring the mathematical proof that their implementation corresponds to their specification. In this paper, we introduce ...
متن کاملEmbedding Formal Development into a Smart Card : The Java Card Byte Code verifier case study
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 specificati...
متن کاملDéveloppement formel d'un vérifieur embarqué de byte-code Java
The Java security policy is implemented by security components such as the Java Virtual Machine (JVM), the verifier and 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...
متن کاملFormal Proof of Smart Card Applets Correctness
The new Gemplus smart card is based on the Java technology, embedding a virtual machine. The security policy uses mechanisms that are based on Java properties. This language provides segregation between applets. But due to the smart card constraints a byte code verifier can not be embedded. Moreover, in order to maximise the number of applets the byte code must be optimised. The security proper...
متن کاملU-turn to Java Card Byte Code Verification
Java is the ideal development platform for mobile code systems. It ensures application portability and mobility for a variety of platforms, while providing strong security features. The intermediate code (byte code) allows us to verify statically (i.e. during loading phase) that the program is trustworthy. This is done by a software security module called the byte code verifier. Given the compl...
متن کامل