Konubinix' opinionated web of thoughts

Intel Sgx

Intel’s hardware implementation of the enclave concept.

private regions of memory, called enclaves, whose contents are protected and unable to be either read or saved by any process outside the enclave itself

Should be fips 140-2 Level 3, (not 4) since it is indicated not to handle side-channel attacks.

Ma compréhension

SGX est un ensemble de fonctionnalités de la suite des processeurs intel post 2018 permettant un chiffrement/déchiffrement à la volée de la DRAM avec une clé cryptographique embarquée dans le processeur.

Elle permet la réduction de la surface d’attaque à l’interface entre le processeur et la partie logicielle et entre le code de la partie chiffrée et le reste de l’application. [1]

Il y a très peu de limitations à ce qui peut tourner de façon chiffrée, mais, dû à la corrélation entre nombre de bugs et taille de code et au sur coût de chiffrer à la volée, il est conseillé de réduire la partie chiffrée au minimum nécessaire à garantir la confidentialité du code. [2]

Il est important de comprendre que, dans le modèle de confiance de SGX, le circuit imprimé contenant le processeur est la seule entité de confiance, incluant la SRAM associée. La DRAM est considérée non de confiance. [3]

Bien que SGX tente de rendre l’écriture de programmes simples, il est nécessaire de comprendre les vocabulaire de SGX pour développer des application compatibles :

Pour protéger la mémoire, voir how does sgx protects my data?

Notes pointant ici

Bibliographie

Références

[1]
[2]
Intel® software guard extensions (intel® sgx) developer guide, https://download.01.org/intel-sgx/sgx-linux/2.12/docs/Intel_SGX_Developer_Guide.pdf.
[3]
GUERON, S., A memory encryption engine suitable for general purpose processors, https://eprint.iacr.org/2016/204.pdf.