Trustworthy Systems

Modélisation et Vérification Formelles de Systèmes Embarqués dans les Cartes à Microprocesseur – Plate-Forme Java Card et Système d'Exploitation

Authors

June Andronick

Université Paris-Sud
Gemalto

Abstract

The work presented in this thesis aims at strengthening the security and safety level of smart card embedded systems, with the use of Formal Methods. On one hand, we present the formal verification of the isolation of the data belonging to different applets loaded on the same card. More precisely, we describe the formal proof, in the Coq proof system, that the run-time access control, performed by the Java Card platform, ensures data confidentiality and integrity. On the other hand, we study the correctness and the safety of low level source code of an embedded operating system. Such source code is illustrated by a case study of a Flash memory management module, using a journalling mechanism and ensuring the memory consistency in the case of a card tear. The verification of functional and local properties has been developed using the Caduceus program verification tool. Since this tool does not support some low level constructions of the C~language, such as the unions and the casts, we propose an analysis and some solutions for the formalisation of such constructions. We also propose an extension of Caduceus that allows to specify and verify the behaviour of a function in the case of sudden interruption of its execution. Then, we introduce a methodology for the verification of high level and global properties, which is meant for the expression and proof of this kind of properties on a model formally linked to the source code. More precisely, we describe an automatic extraction of a transition system from the annotations that are verified by the source code. This transition system can then be translated into a higher-order logic, with all the expressiveness for the definition of complex properties.

BibTeX Entry

  @phdthesis{Andronick:phd,
    author           = {June Andronick},
    paperUrl         = {https://trustworthy.systems/publications/papers/Andronick%3Aphd.pdf},
    school           = {Universit\'e Paris-Sud},
    title            = {{Mod\'elisation et V\'erification Formelles de Syst\`emes Embarqu\'es dans les Cartes \`a
                        Microprocesseur -- Plate-Forme Java Card et Syst\`eme d'Exploitation}},
    year             = {2006}
  }

Download