IntelĀ® SGX
Introduction to IntelĀ® SGX
IntelĀ® Software Guard Extensions (SGX) offers hardware-based memory encryption that isolates specific application code and data in memory. SGX allows client-level code to allocate private regions of memory, called enclaves, which are designed to be protected from processes running at higher privilege levels. It offers a granular level of control and protection against many known and active threats. For more information on IntelĀ® SGX, please click here.SGX-ready server types
Azure confidential VMs
The required settings to configure a SGX-ready server are as follows:- Select resource group: Ubuntu 20.04 LTS
- Enter a virtual machine name (e.g. CoboTSSNode)
- Select the Azure region
- Choose image: Ubuntu 20.04 LTS - Gen2
- Select virtual machine size (recommended): Standard DC1ds v3 (1 vcpu, 8 GiB memory)
Alibaba Cloud Elastic Compute Service
The following settings are required to build an encrypted computing environment on a g7t, c7t, or r7t instance (vSGX instance):- Version: Ubuntu 20.04 64-bit that works with UEFI
- Recommended memory: 8 GB and above
- Memory (encrypted data): 4 GB and above
- Hard disk: 64 GB SSD
SGX-Ready physical server (on premise)
Please check the processors that support SGX:- Head to https://ark.intel.com/content/www/us/en/ark.html
- Click Find products by feature at the bottom
- Switch to the Processors tab and select IntelĀ® Software Guard Extensions (IntelĀ® SGX) in the drop-down menu.
- Select Yes with both IntelĀ® SPS and IntelĀ® ME
- Review the product specifications and configure the following settings:
- BIOS Settings:
- Enable Intel SGX (Software Guard Extension)
- Enable DCAP (FLC)
- Disable hyperthreading
- Operating system: Ubuntu Server 20.04 LTS or 22.04 LTS
- Recommended memory: 8 GB RAM
- Recommended storage: 128 GB SSD
- Minimum memory (encrypted data): 2 GB EPC
SGX status check
Once the encrypted SGX environment has been set up, you can check the SGX status via CPUID. Please execute the following shell commands.SGX driver installation
The SGX driver should have already been installed by default. During TSS Node initialization, you will be prompted to approve the auto installation of the SGX driver (Intel DCAP 1.41). To verify the installation, execute the following command.- Ubuntu 22.04 LTS server + default kernel
- Ubuntu 20.04 LTS server + HWE rolling update model
- Update the package resource list for APT.
- Install dependencies.
- Download the Intel SGX DCAP drive.
- Modify permissions to the driver installation packages of Intel SGX DCAP.
- Install Intel SGX DCAP drive.
- Check whether the installation is successful.
Docker Engine installation
Docker Engine is required for running the TSS Node. During TSS Node initialization, you will be asked to approve the auto installation of Docker Engine. It is recommended to manually install and configure Docker Engine if your organization follows specific best practices. For more information on how to manually install the Docker Engine on Ubuntu, please click here.General server
Introduction to general servers
A general server is any server that satisfies the minimum configuration requirements for the TSS Node, such as Elastic Compute or a physical server managed by you. While a general server can host the TSS Node, it lacks the distinctive security features inherent in an SGX-ready server.Minimum requirements
- CPU: AMD64 or ARM64, 2 cores, a clock speed of 2.5 GHz
- Memory: 4 GB
- Hard disk: 64 GB SSD
- Operating system: Ubuntu Server 20.04 LTS or above
Recommended settings
- CPU: AMD64 or ARM64, 4 cores, a clock speed of 3.0 GHz
- Memory: 8 GB
- Hard disk: 128 GB SSD
- Operating system: Ubuntu Server 20.04 LTS or above
Docker Engine installation
Docker Engine is required for running the TSS Node. During TSS Node initialization, you will be asked to approve the auto installation of Docker Engine. It is recommended to manually install and configure Docker Engine if your organization follows specific best practices. For more information on how to manually install the Docker Engine on Ubuntu, please click here.Apple MacBook
Please prepare a new Apple MacBook, upgrade the operating system to the latest macOS version and perform the necessary security configurations.Things to note
- Avoid using unknown portable storage devices.
- Prevent your computer from syncing with iCloud.
- Refrain from logging into your Apple ID on this computer.
Security configurations
- Disable Bluetooth.
- Turn off AirDrop.
- Activate FileVault for disk encryption.
- Enable the Firewall.
- Establish a complex administrator password using a password manager (e.g., 1Password).
- Set up a Lock Screen.
- Disable Handoff.
Advanced configurations
If utilizing a third-party management system (e.g., Jamf), consider configuring advanced security settings:- Ensure your computer password is a minimum of 12 characters, including at least one letter, one number, and one special character.
- Prohibit using the same password consecutively three times.
- Set a password expiration period of 90 days, and change the password when prompted.
- Disable iCloud, Apple ID, and Family Sharing.
- Turn off the App Store.
- Disable internet accounts and logins via local mail clients.
- Configure privacy settings to prevent automatic data transfer to Apple.
- Deactivate all sharing services (e.g., tethering, Bluetooth sharing, file sharing, screen sharing).
- Turn off all remote software.
Docker Engine installation
Ensure Docker Engine is installed for running the TSS Node. Follow the official Docker website instructions to complete the installation of Docker Desktop for Apple MacBook.Feel free to share your feedback to improve our documentation!