Come gestire Intel SGX su un server dedicato

Obiettivo

L'abilitazione delle Intel Software Guard Extensions (SGX) sul tuo server ti permette di eseguire applicazioni compatibili con SGX. Intel SGX fornisce funzionalità avanzate di crittografia della sicurezza hardware e della memoria RAM, al fine di isolare parti specifiche di codice e dati per ogni applicazione.

Questa guida spiega come attivare la funzionalità SGX, tramite lo Spazio Cliente OVHcloud o tramite l'API OVHcloud.

Prerequisiti

  • Avere accesso all'API OVHcloud (opzionale)
  • Avere un server dedicato compatibile con l'opzione SGX nel tuo account OVHcloud
  • Disporre delle credenziali ricevute via e-mail dopo l'installazione
  • Ubuntu 24.04 o equivalente installato sul server

Accesso allo Spazio Cliente OVHcloud

  • Link diretto: Server dedicati
  • Percorso di navigazione: Bare Metal Cloud > Server dedicati > Seleziona il tuo server

Procedura

Attivare SGX

L'attivazione di SGX è possibile dal pannello clienti di OVHcloud, dall'API di OVHcloud o dal BIOS del tuo server.

Tramite lo Spazio Cliente OVHcloud
Tramite l'API OVHcloud
Configurazione manuale nel BIOS

1 - Connessione allo Spazio Cliente OVHcloud

Seleziona il server su cui desideri abilitare SGX.

2 - Attivare SGX

Dall'onghetta Informazioni generali, nel riquadro Funzionalità avanzate, clicca su ... accanto alla voce Sicurezza - Intel SGX (Software Guard Extensions) e seleziona Attiva SGX nel menu a discesa.

Attivazione SGX

Nello schermo successivo, clicca sul pulsante Attiva.

Attivazione SGX

Puoi scegliere di abilitare SGX con una quantità specifica di memoria riservata o permettendo all'applicazione di riservare automaticamente la memoria necessaria. Una volta effettuata la scelta, clicca su Conferma.

Gestione SGX

Verrà visualizzata una finestra di conferma. Conferma di aver compreso che l'abilitazione della tecnologia Intel SGX comporterà un riavvio del tuo server.

Attivazione SGX
Warning

Questo comporterà uno o più riavvii del tuo server, a seconda del modello.

Installare la pila software SGX

Utilizza i seguenti comandi per installare l'SDK di Intel in modo da poter sviluppare ed eseguire applicazioni SGX.

Innanzitutto, installa alcune dipendenze:

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

Successivamente, scarica il codice sorgente e prepara i sottomoduli e i binari pronti all'uso:

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

Costruisci e installa l'SDK SGX:

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

Testare l'applicazione di esempio in modalità simulatore

Per costruire ed eseguire il codice di esempio LocalAttestation in modalità simulatore:

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

Costruire e installare il PSW Intel SGX

Il software Intel SGX Platform Software (PSW) fornisce librerie software per eseguire applicazioni SGX in modalità hardware. Per creare il repository Debian locale che ospita i pacchetti, esegui i seguenti comandi:

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

Crea il seguente file per aggiungere il repository locale dei pacchetti Debian al sistema di configurazione dei repository:

$ 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

Successivamente, installa i seguenti pacchetti:

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

Testare l'applicazione di esempio in modalità hardware (opzionale)

Per costruire ed eseguire il codice di esempio LocalAttestation in modalità hardware:

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

Per saperne di più

Per approfondire (sviluppare la tua applicazione, iscriverti all'attestazione remota, ecc.), ecco alcune risorse utili:

Questa pagina ti è stata utile?