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

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.

Via l'espace client OVHcloud
Via l'API OVHcloud
Configuration manuelle dans le BIOS

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
Warning

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

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 :

Cette page vous a-t-elle aidé ?