Cet article propose une introduction à la technologie Intel SGX à travers l’exemple du développement d’une application de gestion de mots de passe.
Intel SGX est une technologie introduite en 2015 sur tous les processeurs à partir de la micro-architecture Skylake et qui permet de répondre aux besoins de l’informatique de confiance. Elle est composée de 18 instructions et de 13 structures de données qui s’ajoutent à celles déjà existantes. Elle permet à du code utilisateur de créer des régions de mémoire isolées, appelées enclaves, qui sont protégées des autres applications s’exécutant sur la machine, mais aussi du système d’exploitation ou d’un éventuel hyperviseur.
Une application utilisant SGX se retrouve divisée en deux parties : une partie non sécurisée et une partie sécurisée (l’enclave). L’application est responsable du chargement de son enclave. Le code et les données de l’enclave sont isolés, ils ne sont donc pas accessibles depuis l’extérieur. L’enclave peut néanmoins accéder à la mémoire de son application. Les points d’entrée dans une enclave sont définis à...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première
[1] Intel SGX Explained (V. Costant et S. Devadas) : https://eprint.iacr.org/2016/086.pdf
[2] Intel® Software Guard Extensions : https://software.intel.com/sites/default/files/332680-002.pdf
[3] Intel® Software Guard Extensions SDK for Linux* OS Developer Reference : https://01.org/sites/default/files/documentation/intel_sgx_sdk_developer_reference_for_linux_os_pdf.pdf
[4] Intel® Software Guard Extensions Developer Guide : https://download.01.org/intel-sgx/linux-1.5/docs/Intel_SGX_Developer_Guide.pdf
[5] An introduction to creating a sample enclave using Intel® Software Guard Extensions : https://software.intel.com/en-us/articles/intel-software-guard-extensions-developing-a-sample-enclave-application
[6] Introducing the Intel® Software Guard Extensions Tutorial Series : https://software.intel.com/en-us/articles/introducing-the-intel-software-guard-extensions-tutorial-series
[7] Sample Enclave : https://github.com/intel/linux-sgx/tree/master/SampleCode/SampleEnclave
[8] Overview of Intel SGX - Part 1, SGX Internals : https://blog.quarkslab.com/overview-of-intel-sgx-part-1-sgx-internals.html
[9] Overview of Intel SGX - Part 2, SGX Externals : https://blog.quarkslab.com/overview-of-intel-sgx-part-2-sgx-externals.html