Comment les enclaves communiquent entre elles en toute sécurité pendant l’attestation locale
Une attaque de l’homme du milieu (MITM), où une troisième enclave intercepte des messages et usurpe l’identité de l’une des enclaves, peut-elle être mise en œuvre lors de l’attestation locale entre deux enclaves ?
Une attaque de l’homme du milieu n’est pas possible car une troisième enclave ne peut pas intercepter les messages entre l’enclave source et l’enclave de destination.
Dans l’attestation locale, les deux enclaves ne communiquent pas directement entre elles. Au lieu de cela, les enclaves communiquent en utilisant des canaux cryptés via l’application non fiable en tant qu’intermédiaire.
Lisez la section Attestation locale du Guide de référence du développeur SDK Intel® Software Guard Extensions (Intel® SGX) pour Windows* pour plus d’informations. La sous-section Établissement de circuits protégés indique ce qui suit :
L’application lance une session entre l’enclave source et l’enclave de destination en effectuant un ECALL dans l’enclave source, en transmettant l’ID d’enclave de l’enclave de destination. À la réception de l’ID d’enclave de destination, l’enclave source effectue un OCALL dans le code principal non approuvé, qui effectue ensuite un ECALL dans l’enclave de destination pour échanger les messages nécessaires à l’établissement d’une session en utilisant le protocole ECDH Key Exchange*.
Le Intel SGX Developer Reference pour Linux se trouve dans le dossier Documentation de la dernière version du SDK Intel® Software Guard Extensions pour Linux*.