Jak zarządzać Intel SGX na serwerze dedykowanym

Wprowadzenie

Włączenie Intel Software Guard Extensions (SGX) na Twoim serwerze umożliwia uruchamianie aplikacji kompatybilnych z SGX. Intel SGX zapewnia zaawansowane funkcje szyfrowania bezpieczeństwa sprzętu i pamięci RAM, aby izolować określone części kodu i danych dla każdej aplikacji.

Ten przewodnik wyjaśnia, jak włączyć funkcję SGX za pomocą Panelu klienta OVHcloud lub za pomocą API OVHcloud.

Wymagania początkowe

  • Dostęp do API OVHcloud (opcjonalnie)
  • Serwer dedykowany kompatybilny z opcją SGX w Twoim koncie OVHcloud
  • Dane logowania otrzymane e-mailem po instalacji
  • Na serwerze zainstalowany jest Ubuntu 24.04 lub równoważny system

Dostęp do Panelu klienta OVHcloud

  • Link bezpośredni: Serwery dedykowane
  • Ścieżka nawigacji: Bare Metal Cloud > Serwery dedykowane > Wybierz serwer

W praktyce

Włączenie SGX

Aktywacja SGX jest możliwa za pośrednictwem Panelu Klienta OVHcloud, API OVHcloud lub BIOS serwera.

Za pomocą Panelu klienta OVHcloud
Za pomocą API OVHcloud
Ręczna konfiguracja w BIOS-ie

1 - Logowanie do Panelu klienta OVHcloud

Wybierz serwer, na którym chcesz włączyć SGX.

2 - Włączenie SGX

W zakładce Informacje ogólne, w ramce Zaawansowane funkcje, kliknij ... obok wpisu Bezpieczeństwo - Intel SGX (Software Guard Extensions) i wybierz Włącz SGX z menu rozwijanego.

Włączenie SGX

Na następnym ekranie kliknij przycisk Włącz.

Włączenie SGX

Możesz wybrać opcję włączenia SGX z określoną ilością zastrzeżonej pamięci lub pozwolić aplikacji automatycznie rezerwować potrzebną pamięć. Po dokonaniu wyboru kliknij Potwierdź.

Zarządzanie SGX

Wyświetlony zostanie ekran potwierdzenia. Potwierdź, że rozumiesz, iż włączenie technologii Intel SGX spowoduje ponowne uruchomienie Twojego serwera.

Włączenie SGX
Warning

Spowoduje to jedno lub więcej ponownych uruchomień serwera, w zależności od jego modelu.

Instalacja oprogramowania SGX

Użyj poniższych poleceń, aby zainstalować SDK firmy Intel, dzięki czemu będziesz mógł tworzyć i uruchamiać aplikacje SGX.

Najpierw zainstaluj kilka zależności:

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

Następnie pobierz kod źródłowy i przygotuj podmoduły oraz gotowe binarki:

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

Skompiluj i zainstaluj SDK SGX:

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

Testowanie przykładowej aplikacji w trybie symulacji

Aby skompilować i uruchomić przykładowy kod LocalAttestation w trybie symulacji:

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

Budowanie i instalowanie oprogramowania PSW Intel SGX

Oprogramowanie Intel SGX Platform Software (PSW) dostarcza bibliotek, które umożliwiają uruchamianie aplikacji SGX w trybie sprzętowym. Aby utworzyć lokalny repozytorium Debian, które będzie hostować pakiety, uruchom poniższe polecenia:

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

Utwórz następujący plik, aby dodać lokalne repozytorium pakietów Debian do systemu konfiguracji repozytoriów:

$ 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

Następnie zainstaluj poniższe pakiety:

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

Testowanie przykładowej aplikacji w trybie sprzętowym (opcjonalnie)

Aby skompilować i uruchomić przykładowy kod LocalAttestation w trybie sprzętowym:

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

Sprawdź również

Aby dowiedzieć się więcej (np. jak opracować własną aplikację, zarejestrować się do zdalnej attestacji itp.), oto przydatne zasoby:

Czy ta strona była pomocna?