Comment gérer Intel SGX sur un serveur dédié

Base de connaissances

Comment gérer Intel SGX sur un serveur dédié


Icons/System/eye-open Created with Sketch. 4223 vues 20.11.2025 Cloud / Serveur Dédié (Baremetal)

Objectif

L'activation des Intel Software Guard Extensions (SGX) sur votre serveur vous permet d'exécuter des applications compatibles SGX. Intel SGX offre des fonctionnalités avancées de chiffrement matériel et de sécurité de la mémoire vive, afin d'isoler les parties de code et de données spécifiques à chaque application.

Ce guide explique comment activer la fonctionnalité SGX, via l'espace client OVHcloud ou via l'API OVHcloud.

Prérequis

  • Avoir accès à l'API OVHcloud (facultatif)
  • Avoir un serveur dédié compatible avec l'option SGX dans votre compte OVHcloud
  • Disposer des identifiants reçus par e-mail après l'installation
  • Ubuntu 24.04 ou équivalent est installé sur le serveur

Accès à l'espace client OVHcloud

  • Lien direct : Serveurs dédiés
  • Pour accéder à vos services : Bare Metal Cloud > Serveurs dédiés > Sélectionnez votre serveur

En pratique

Activer SGX

L'activation de SGX est possible depuis l'espace client OVHcloud, l'API OVHcloud ou le BIOS de votre serveur.

1 - Connexion à l'espace client OVHcloud

Sélectionnez le serveur sur lequel vous souhaitez activer SGX.

2 - Activer SGX

Depuis l'onglet Informations générales, dans le cadre Fonctionnalités avancées, cliquez sur ... à côté de la mention Sécurité - Intel SGX (Software Guard Extensions) et 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 en permettant à votre application de réserver automatiquement la mémoire dont elle a besoin. Une fois votre choix fait, cliquez sur Confirmer.

Gestion SGX

Une fenêtre de confirmation apparaîtra. Veuillez confirmer que vous avez compris que l'activation de la technologie Intel SGX entraînera un redémarrage de votre serveur.

Activation SGX

Cela entraînera un ou plusieurs redémarrages de votre serveur, selon son modèle.

1 - Connexion à la console API

Sur la page des API OVHcloud :

  • Cliquez sur Authentication en haut à gauche.
  • Cliquez ensuite sur Login with OVHcloud SSO.
  • Saisissez vos identifiants OVHcloud.
  • Cliquez sur le bouton Authorize pour autoriser les appels aux API depuis ce site.

2 - Activer SGX

Récupérez le nom de votre serveur dans la liste retournée par l'appel suivant :

Vérifiez que votre service dispose de l'option SGX en utilisant cet appel :

SGX désactivé

Activez SGX en utilisant le nom du serveur :

Cela entraînera un ou plusieurs redémarrages de votre serveur, selon son modèle.

Configuration SGX

Vérifiez l'avancement de la tâche de configuration en appelant ce point de terminaison avec le taskId retourné par l'appel précédent :

Obtenir la tâche de configuration SGX

Vous pouvez vérifier que l'état est activé :

SGX activé

1 - Démarrer une session Remote KVM

Sélectionnez le serveur sur lequel vous souhaitez activer SGX.

Depuis l'onglet IPMI / KMV, démarrez une session Remote KVM :

Démarrer une session Remote KVM

2 - Activer SGX

Ensuite, depuis le KVM, initiez un redémarrage du serveur et entrez dans le BIOS (généralement en appuyant sur la touche DEL ou F2).

Dans le BIOS, rendez-vous dans la partie Advanced > Processor Configuration.

Activez les options TME et SGX et configurez la taille PRMRR souhaitée :

Activer SGX

Sauvegardez les modifications en appuyant sur la touche F10. Une fenêtre de confirmation apparaîtra, veuillez confirmer avec l'option Yes.

Votre serveur redémarrera ensuite sur votre système d'exploitation.

Installer la pile logicielle SGX

Utilisez les commandes suivantes pour installer le SDK d'Intel afin de pouvoir développer et exécuter des applications SGX.

Tout d'abord, installez quelques dépendances :

sudo apt update
sudo apt install autoconf automake build-essential cmake debhelper git libcurl4-openssl-dev libprotobuf-dev libssl-dev libtool lsb-release ocaml ocamlbuild protobuf-compiler python-is-python3 reprepro wget perl unzip pkgconf libboost-dev libboost-system-dev libboost-thread-dev libsystemd0

Ensuite, téléchargez le code source et préparez les sous-modules et les binaires prêts à l'emploi :

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.26
make preparation

Construisez et installez le SDK SGX :

make sdk_install_pkg
$ ./linux/installer/bin/sgx_linux_x64_sdk_2.26.100.0.bin --prefix=$BASE_DIR/

Tester l'application d'exemple en mode simulateur

Pour construire et exécuter le code d'exemple LocalAttestation en mode simulateur :

BASE_DIR=/opt/intel
cd $BASE_DIR/sgxsdk/SampleCode/LocalAttestation/
source $BASE_DIR/sgxsdk/environment

make clean
SGX_MODE=SIM make
cd bin
./app
succeed to load enclaves.
succeed to establish secure channel.
Succeed to exchange secure message...
Succeed to close Session...

Construire et installer le PSW Intel SGX

Le logiciel Intel SGX Platform Software (PSW) fournit des bibliothèques logicielles permettant d'exécuter des applications SGX en mode matériel. Pour créer le référentiel Debian local qui héberge les paquets, exécutez les commandes suivantes :

BASE_DIR=/opt/intel
cd $BASE_DIR/linux-sgx
make deb_local_repo

Créez le fichier suivant pour ajouter le dépôt local de paquets Debian au système de configuration des dépôts :

$ cat /etc/apt/sources.list.d/sgx.sources
Types: deb
URIs: file:/opt/intel/linux-sgx/linux/installer/deb/sgx_debian_local_repo
Suites: noble
Components: main
trusted: yes

Ensuite, installez les paquets suivants :

sudo apt update
sudo apt-get install libsgx-epid libsgx-quote-ex libsgx-dcap-ql

Tester l'application d'exemple en mode matériel (facultatif)

Pour construire et exécuter le code d'exemple LocalAttestation en mode matériel :

BASE_DIR=/opt/intel
cd $BASE_DIR/sgxsdk/SampleCode/LocalAttestation/
source $BASE_DIR/sgxsdk/environment

make clean
SGX_MODE=HW make
cd bin
./app
succeed to load enclaves.
succeed to establish secure channel.
Succeed to exchange secure message...
Succeed to close Session...

Aller plus loin

Pour aller plus loin (développer votre propre application, vous inscrire à l'attestation distante, etc.), voici quelques ressources utiles :

Articles associés