Activer Intel SGX sur votre serveur dédié
Activez l’option SGX sur votre serveur Infrastructure ou Advance et installez la pile de logiciels SGX pour Linux
Activez l’option SGX sur votre serveur Infrastructure ou Advance et installez la pile de logiciels SGX pour Linux
Dernière mise à jour le 03/06/2022
Activez Intel Software Guard Extensions sur votre serveur, pour pouvoir exécuter les applications SGX-ready. La technologie Intel SGX fournit des fonctions de sécurité avancées de chiffrement matériel de la mémoire. Cela permet d’isoler des parties de code et des données spécifiques d'une application.
Ce guide détaille comment activer la fonctionnalité SGX, depuis l'espace client OVHcloud ou via l'API OVHcloud.
Parmi la gamme Advance, seuls les serveurs ci-dessous, équipés d'un CPU Intel, sont compatibles avec la technologie Intel SGX :
Connectez-vous à l'espace client OVHcloud, accédez à la section Bare Metal Cloud
, puis sélectionnez le serveur sur lequel vous souhaitez activer SGX dans la section Serveurs dédiés du menu de gauche.
Descendez jusqu'à la zone Fonctionnalités avancées
et cliquez sur ...
en face de « Sécurité - Intel SGX (Software Guard Extensions) ». Sélectionnez Activer SGX
dans le menu déroulant.
Sur l'écran suivant, cliquez sur le bouton Activer
.
Vous pouvez choisir d'activer SGX avec une quantité spécifique de mémoire réservée ou de l'activer en permettant à votre logiciel de réserver automatiquement la mémoire dont il a besoin. Une fois que vous avez fait votre choix, cliquez sur Confirmer
.
Descendez jusqu'à la zone Fonctionnalités avancées
et cliquez sur ...
en face de « Sécurité - Intel SGX (Software Guard Extensions) ». Sélectionnez Modifier SGX
dans le menu déroulant. Choisissez l'option Désactiver
, puis cliquez sur Confirmer
.
Cela entraînera le redémarrage de votre serveur. Confirmez dans la fenêtre contextuelle et attendez quelques minutes avant d'accéder de nouveau à votre serveur.
Continuez la lecture de ce guide à l'étape 4 ci-dessous.
Allez sur https://api.ovh.com/console/ et cliquez sur Login
dans le coin supérieur droit de la page.
Sur la page suivante, connectez-vous avec les identifiants de votre compte OVHcloud.
Obtenez le nom de votre serveur de la liste renvoyée par cet appel :
Vérifiez que votre service dispose de l’option SGX, avec l’appel suivant :
Maintenant, activez SGX.
Vérifiez le progrès de la tâche de configuration en appelant cet endpoint avec le taskId renvoyé par l’appel précédent :
Vous pouvez vérifier que l’état est maintenant «activé» :
Il faut maintenant installer le driver Intel et SDK pour pouvoir développer et exécuter des applications SGX.
En premier lieu, il faut installer quelques dépendances :
sudo apt-get install build-essential ocaml ocamlbuild automake autoconf libtool wget python libssl-dev libcurl4-openssl-dev protobuf-compiler libprotobuf-dev debhelper cmake git
Ensuite, téléchargez, créez et installez la pile logicielle SGX :
BASE_DIR=/opt/intel
[[ -d $BASE_DIR ]] || sudo mkdir -p $BASE_DIR && sudo chown `whoami` $BASE_DIR
cd $BASE_DIR
git clone https://github.com/intel/linux-sgx.git
cd linux-sgx
git checkout sgx_2.6
./download_prebuilt.sh
make -j 6
make sdk_install_pkg -j 6
make deb_pkg -j 6
$BASE_DIR/linux-sgx/linux/installer/bin/sgx_linux_x64_sdk_2.6.100.51363.bin --prefix=$BASE_DIR/
sudo dpkg -i $BASE_DIR/linux-sgx/linux/installer/deb/libsgx-urts_2.6.100.51363-bionic1_amd64.deb $BASE_DIR/linux-sgx/linux/installer/deb/libsgx-enclave-common_2.6.100.51363-bionic1_amd64.deb
Téléchargez et installez le driver :
wget https://download.01.org/intel-sgx/linux-2.6/ubuntu18.04-server/sgx_linux_x64_driver_2.5.0_2605efa.bin
chmod +x sgx_linux_x64_driver_2.5.0_2605efa.bin
sudo ./sgx_linux_x64_driver_2.5.0_2605efa.bin
Créez une application avec un des modèles fournis :
BASE_DIR=/opt/intel
cd $BASE_DIR/sgxsdk/SampleCode/LocalAttestation/
source $BASE_DIR/sgxsdk/environment
make SGX_DEBUG=0 SGX_MODE=HW SGX_PRERELEASE=1
Exécutez-la :
ovh@nsXXXX:/opt/intel/sgxsdk/SampleCode/LocalAttestation$ ./app
Available Enclaves
Enclave1 - EnclaveID 2
Enclave2 - EnclaveID 3
Enclave3 - EnclaveID 4
Secure Channel Establishment between Source (E1) and Destination (E2) Enclaves successful !!!
Enclave to Enclave Call between Source (E1) and Destination (E2) Enclaves successful !!!
Message Exchange between Source (E1) and Destination (E2) Enclaves successful !!!
Secure Channel Establishment between Source (E1) and Destination (E3) Enclaves successful !!!
Enclave to Enclave Call between Source (E1) and Destination (E3) Enclaves successful !!!
Message Exchange between Source (E1) and Destination (E3) Enclaves successful !!!
Secure Channel Establishment between Source (E2) and Destination (E3) Enclaves successful !!!
Enclave to Enclave Call between Source (E2) and Destination (E3) Enclaves successful !!!
Message Exchange between Source (E2) and Destination (E3) Enclaves successful !!!
Secure Channel Establishment between Source (E3) and Destination (E1) Enclaves successful !!!
Enclave to Enclave Call between Source (E3) and Destination (E1) Enclaves successful !!!
Message Exchange between Source (E3) and Destination (E1) Enclaves successful !!!
Close Session between Source (E1) and Destination (E2) Enclaves successful !!!
Close Session between Source (E1) and Destination (E3) Enclaves successful !!!
Close Session between Source (E2) and Destination (E3) Enclaves successful !!!
Close Session between Source (E3) and Destination (E1) Enclaves successful !!!
Hit a key....
Pour aller plus loin (développer votre propre application, s’inscrire pour obtenir une certification à distance, ...), voici quelques ressources utiles :
N’hésitez pas à nous proposer des suggestions d’amélioration afin de faire évoluer cette documentation.
Images, contenu, structure… N’hésitez pas à nous dire pourquoi afin de la faire évoluer ensemble !
Vos demandes d’assistance ne seront pas traitées par ce formulaire. Pour cela, utilisez le formulaire "Créer un ticket" .
Merci beaucoup pour votre aide ! Vos retours seront étudiés au plus vite par nos équipes..
Accedez à votre espace communautaire. Posez des questions, recherchez des informations, publiez du contenu et interagissez avec d’autres membres d'OVHcloud Community.
Echanger sur OVHcloud Community