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

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 en permettant à votre application de réserver automatiquement la mémoire dont elle a besoin. Une fois votre choix fait, cliquez sur Confirmer.

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.

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
Authenticationen haut à gauche. - Cliquez ensuite sur
Login with OVHcloud SSO. - Saisissez vos identifiants OVHcloud.
- Cliquez sur le bouton
Authorizepour 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 :

Activez SGX en utilisant le nom du serveur :
Cela entraînera un ou plusieurs redémarrages de votre serveur, selon son modèle.

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 :

Vous pouvez vérifier que l'état est 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 :

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 :

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 :
Ensuite, téléchargez le code source et préparez les sous-modules et les binaires prêts à l'emploi :
Construisez et installez le SDK SGX :
Tester l'application d'exemple en mode simulateur
Pour construire et exécuter le code d'exemple LocalAttestation en mode simulateur :
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 :
Créez le fichier suivant pour ajouter le dépôt local de paquets Debian au système de configuration des dépôts :
Ensuite, installez les paquets suivants :
Tester l'application d'exemple en mode matériel (facultatif)
Pour construire et exécuter le code d'exemple LocalAttestation en mode matériel :
Aller plus loin
Pour aller plus loin (développer votre propre application, vous inscrire à l'attestation distante, etc.), voici quelques ressources utiles :