Перейти к основному содержимому
Версия: Next

Установка компонентов SGX DCAP в Ubuntu 22.04

Убедитесь, что процессор в production режиме SGX

apt install -y msr-tools
modprobe msr
rdmsr 0xCE -f 27:27

Команда должна вернуть 0

Проверка наличия устройств SGX

test -e /dev/sgx_enclave && echo 'Driver installed' || echo 'Driver is not installed'

Если команда вернула "Driver installed", то следующий раздел по установке драйвера можно пропустить

note

Иногда, всё же, требуется установка новой версии драйвера взамен той, что поставляется вместе с ОС или установлена облачным провайдером. Но, если всё работает с предустановленным драйвером, то лучше оставить его.

Установка драйвера SGX

mkdir -p /opt/intel
cd /opt/intel
apt install -y dkms
wget 'https://download.01.org/intel-sgx/sgx-dcap/1.12/linux/distro/ubuntu20.04-server/sgx_linux_x64_driver_1.41.bin'
chmod +x sgx_linux_x64_driver_1.41.bin
./sgx_linux_x64_driver_1.41.bin

Проверьте наличие устройства SGX с помощью команды

Установка PCCS

Сервис PCCS (Intel® SGX Provisioning Certificate Caching Service) необходим для кэширования сертификатов Intel в сервисах Enclave(TEE) и CAS. Для его работы требуется Node.js. Более подробно о спецификации сервиса PCCS возможно узнать по ссылке

Установка Node.js

cd /tmp
curl -o setup.sh -sL https://deb.nodesource.com/setup_14.x
chmod a+x setup.sh
sudo ./setup.sh
apt-get install -y cracklib-runtime nodejs

Установка PCCS

echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu focal main' > /etc/apt/sources.list.d/intel-sgx.list
wget -O - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add -
apt update
apt install -y sqlite3 python build-essential sgx-dcap-pccs

Во время установки может потребоваться ввести данные конфигурации PCCS. Введите следующие данные:

  • PCCS KEY: aecd5ebb682346028d60c36131eb2d92
  • PCCS Password: 2PT0b^#xH39k

Установка AESMD

Сервис AESMD (Intel® Architectural (Application) Enclave Service Manager Daemon) - Архитектурный менеджер сервисов Анклавов (Enclave (TEE)) - обеспечивает абстракцию для доступа к архитектурным анклавам, необходим для полноценной работы анклава. Более подробно о спецификации сервиса AESMD возможно узнать по ссылке

apt install -y sgx-aesm-service libsgx-dcap-default-qpl libsgx-dcap-ql libsgx-aesm-pce-plugin libsgx-aesm-quote-ex-plugin
systemctl restart aesmd

Установка MPA

Сервис MPA (Multi-Package Registration Agent) - Утилита, необходимая для регистрации много процессорных машин в сервисах Intel® Более подробная информация о сервисе MPA доступна по ссылке

apt install -y sgx-ra-service
systemctl restart mpa_registration_tool

Настройка quoting сервиса

cp /etc/sgx_default_qcnl.conf /etc/sgx_default_qcnl.conf.backup
cat <<EOF > /etc/sgx_default_qcnl.conf
PCCS_URL=https://localhost:8081/sgx/certification/v3/
USE_SECURE_CERT=FALSE
COLLATERAL_SERVICE=https://api.trustedservices.intel.com/sgx/certification/v3/
PCCS_API_VERSION=3.1
EOF

systemctl restart aesmd
systemctl restart pccs

Перезагрузка сервера

reboot