The research work exposed in this document pursues a threefold objective: to present and explain the Java Security Architecture of the Java Platform, to analyze and understand the very fine details of the Java Bytecode Verifier, which enforces low-level security in the Java Platform, and to extend high-level Java Security by providing better efficiency, flexibility and robustness. To achieve this challenging objective, a multitude of official documents and many papers published by established experts in the field have firstly been studied. A complete and detailed specification of the Java Bytecode Verifier has also been analyzed. Thereafter, an implementation of this verifier has been developed. Its design is illustrated in this document by a series of UML diagrams. Finally, innovative ideas using Certifying Compilation techniques and having made it possible to extend Java Security are revealed. |