Skip to content

Latest commit

 

History

History
219 lines (139 loc) · 8.25 KB

File metadata and controls

219 lines (139 loc) · 8.25 KB
title excerpt updated
Attiva Intel SGX sul tuo server dedicato
Come attivare SGX sul tuo server Infrastructure o Advance e installare lo stack software Linux SGX
2022-08-31

[!primary] Questa traduzione è stata generata automaticamente dal nostro partner SYSTRAN. I contenuti potrebbero presentare imprecisioni, ad esempio la nomenclatura dei pulsanti o alcuni dettagli tecnici. In caso di dubbi consigliamo di fare riferimento alla versione inglese o francese della guida. Per aiutarci a migliorare questa traduzione, utilizza il pulsante "Contribuisci" di questa pagina.

Obiettivo

Questa guida ti mostra come attivare Intel Software Guard Extension sul tuo server per poter utilizzare le applicazioni SGX-ready. Intel SGX offre funzionalità avanzate di crittografia di sicurezza hardware e RAM allo scopo di isolare parti di codice e dati specifici per ogni applicazione.

Prerequisiti

  • Un server dedicato compatibile con l'opzione SGX{.external}
  • Disporre delle credenziali di accesso ricevute via email in seguito all’installazione
  • Avere accesso allo Spazio Cliente OVHcloud o all’API OVHcloud
  • Aver installato Ubuntu 18.04 (o un sistema operativo simile) sul server

Procedura

Dallo Spazio Cliente

Accedi allo Spazio Cliente OVHcloud, accedi alla sezione Bare Metal Cloud{.action} e seleziona il server su cui vuoi attivare SGX nella sezione Server dedicati del menu a sinistra.

Attiva l'opzione

Scendi fino alla zona Funzionalità avanzate e clicca su ...{.action} in corrispondenza di "Sicurezza - Intel SGX (Software Guard Extensions)". Seleziona Attiva SGX{.action} nel menu a tendina.

attivazione SGX{.thumbnail}

Nella finestra successiva clicca sul pulsante Attiva{.action}.

attivazione SGX{.thumbnail}

Puoi scegliere di attivare SGX con una quantità specifica di memoria riservata o attivarla permettendo al tuo software di prenotare automaticamente la memoria di cui ha bisogno. Una volta effettuata la scelta, clicca su Conferma{.action}.

attivazione SGX{.thumbnail}

A questo punto, compare un pop-up di conferma, conferma che per attivare la tecnologia Intel SGX è necessario riavviare il tuo server.

attivazione SGX{.thumbnail}

Warning

In base al server, questa azione comporta l'avvio da 1 a diversi riavvii.

Disattivazione dell'opzione

Scendi fino alla zona Funzionalità avanzate e clicca su ...{.action} in corrispondenza di "Sicurezza - Intel SGX (Software Guard Extensions)". Seleziona Modifica SGX{.action} nel menu a tendina. Scegli l'opzione Disattivare{.action} e clicca su Conferma{.action}.

Disattivazione di SGX{.thumbnail}

Warning

In base al server, questa azione comporta l'avvio da 1 a diversi riavvii.

Continua la lettura di questa guida allo Step 3.

Via API OVHcloud

Step 1: accedi alla console API

Vai sul sito https://api.ovh.com/console/ e clicca suLogin{.action} in alto a destra.
Nella nuova pagina, effettua l’accesso con le credenziali del tuo account OVHcloud.

Step 2: attiva SGX

Recupera il nome del server dalla lista ottenuta da questa chiamata:

[!api]

@api {v1} /dedicated/server GET /dedicated/server

Verifica che il tuo server abbia l’opzione SGX effettuando questa chiamata:

[!api]

@api {v1} /dedicated/server GET /dedicated/server/{serviceName}/biosSettings/sgx

SGX disabled{.thumbnail}

A questo punto, attiva SGX:

Warning

In base al server, questa azione comporta l'avvio da 1 a diversi riavvii.

[!api]

@api {v1} /dedicated/server POST /dedicated/server/{serviceName}/biosSettings/sgx/configure

Configure SGX{.thumbnail}

Controlla lo stato di avanzamento della configurazione chiamando questo endpoint con il taskld ottenuto dalla chiamata precedente:

[!api]

@api {v1} /dedicated/server GET /dedicated/server/{serviceName}/task/{taskId}

Get SGX configuration task{.thumbnail}

Ora verifica che l’opzione sia attiva:

[!api]

@api {v1} /dedicated/server GET /dedicated/server/{serviceName}/biosSettings/sgx

SGX enabled{.thumbnail}

Step 3: installa lo stack software SGX

A questo punto installa il driver Intel e SDK per sviluppare ed eseguire le applicazioni SGX.

Per prima cosa, installa alcune dipendenze:

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

Poi, scarica, costruisci e installa il software 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

Scarica e installa il 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

Step 4: riavvia il sistema per completare l’installazione

Step 5: utilizza un’applicazione campione per convalidare l’installazione

Costruisci una delle applicazioni campione proposte:

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

Esegui l’applicazione:

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

Message Exchange between Source (E1) and Destination (E2) Enclaves successful !!!

Message Exchange between Source (E1) and Destination (E3) Enclaves successful !!!

Message Exchange between Source (E2) and Destination (E3) Enclaves successful !!!

Message Exchange between Source (E3) and Destination (E1) Enclaves successful !!!

Premi un tasto...

Spingiti oltre

Per saperne di più (ad esempio, su come sviluppare la tua applicazione o registrarsi per un’attestazione remota, ecc.) ecco alcune risorse utili: