Activer Intel SGX sur les serveurs de la gamme Infrastructure

Activer l’option SGX sur votre serveur Infrastructure et installer la pile de logiciels SGX pour Linux

Dernière mise à jour le 16 décembre 2020

Objectif

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.

Prérequis

En pratique

Depuis l'espace client OVHcloud

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.

Activation de l'option

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.

activation SGX

Sur l'écran suivant, cliquez sur le bouton Activer.

activation SGX

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.

activation SGX

Désactivation de l'option

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.

Désactivation de SGX

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.

Depuis l'API OVHcloud

Étape 1 : Se connecter à l’API

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.

Étape 2 : Activer SGX

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 :

SGX disabled

Maintenant, activez SGX.

Configure 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 :

Get SGX configuration task

Vous pouvez vérifier que l’état est maintenant «activé» :

SGX enabled

Étape 3 : Redémarrer le serveur pour que la nouvelle configuration du BIOS soit prise en compte.

Étape 4 : Installer la pile de logiciels SGX

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

Étape 5 : Redémarrer pour finir l’installation

Étape 6 : Utiliser un modèle d’application pour valider l’installation

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....

Allez plus loin

Pour aller plus loin (développer votre propre application, s’inscrire pour obtenir une certification à distance, ...), voici quelques ressources utiles :


Cette documentation vous a-t-elle été utile ?

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..


Ces guides pourraient également vous intéresser...

OVHcloud Community

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