Questions tagged [sgx]

Intel SGX is a set of CPU instruction extensions that allows application developers to create applications that retain the confidentiality and integrity of select data and code using Secure Enclaves.

Intel SGX is a set of CPU instruction extensions that allows application developers to create applications that retain the confidentiality and integrity of select data and code using secure Enclaves.

Enclaves are protected areas of execution. Application code can be put into an enclave via special instructions and software made available to developers via the Intel SGX SDK. The SDK and documentation are available at:

Requirements

SGX requires 6th Generation Intel Core Processors (Skylake) or later.

The Windows SDK requires a 64-bit version of Windows 7 or above, and the Microsoft Universal C Runtime.

The Linux SDK requires Ubuntu Desktop-16.04-LTS 64-bit.

175 questions
1
vote
1 answer

How does Intel SGX remote attestation works?

SGX remote attestation procedure (variations: with and without the participation of the remote Intel service, the explanation / logic of the work is step by step.
zenbooster
  • 29
  • 5
1
vote
0 answers

How to install Intel SGX platform software?

I have tried to install the platform software (PSW) many times on my Windows machine and failed. I have tried to install it on the following OS version (all 64 bits) Windows 10 Pro build 1803 Windows 10 Pro build 1809 Windows 10 Home build…
xtt
  • 857
  • 1
  • 8
  • 24
1
vote
1 answer

g++ - linking stage (-L flag) not working

I am new to C++ and am trying to figure out where in the compiling process my error is. Apologies, if this question is unclear, I'm not sure what information to provide. Reference information: The directory "mbedtls/lib/" contains two .a (archive)…
Foobar
  • 7,458
  • 16
  • 81
  • 161
1
vote
2 answers

Can a Docker container or other non-C program run as an Intel SGX Trusted (Enclave) Component?

I'm new to Intel SGX and Docker. I'm trying to determine if I can place "sensitive" programs and data within a Docker container and run that container as a trusted (enclave) component in the SGX hardware. I plan to use the latest Linux version of…
dmwpepper
  • 31
  • 5
1
vote
2 answers

Enabling Intel SGX in BIOS

I want to test Intel SGX technology on my Lenovo Tower S510 10L3-000JFM. I checked via https://github.com/ayeks/SGX-hardware that my CPU Intel Core i7-6700 supports SGX but BIOS does not, or may be not enabled (in BIOS). A BIOS update can fix this.…
Oualid
  • 139
  • 9
1
vote
0 answers

Sample CMakeList.txt for Intel SGX

Would someone have an example of CMakeList.txt file to compile a simple "hello world" Intel SGX application? There are some examples on GitHub (like here) but they are all quite advanced applications. Edit More concretely, could someone help me to…
asonnino
  • 400
  • 1
  • 4
  • 15
1
vote
1 answer

How intel SGX verify the enclave library before launching?

I studied and find that enclave is signed with private key and at the time on enclave launching it will be verified using public key that come along with enclave library. My question is how to trust the enclave binary when it comes with public…
shivam garg
  • 547
  • 4
  • 7
1
vote
1 answer

Unable to create SGX enclave in hardware mode - "invalid launch token" even though documentation specifies an invalid launch token as the first one

Intel's documentation says here that if there is no previous launch token, an "invalid" token with all zeros should be used. This works perfectly in simulation mode, but in hardware mode it returns SGX_ERROR_INVALID_LAUNCH_TOKEN, even though that is…
DonAlonzo
  • 77
  • 1
  • 6
1
vote
1 answer

SGX demo application doesn't compile

Through Visual Studio SGX plugin, I created a demo application whose EDL is the following: enclave { from "sgx_tstdc.edl" import *; trusted { public char* sign([in, string] const char* message, unsigned saltLength); }; untrusted…
Fylax
  • 1,138
  • 2
  • 15
  • 24
1
vote
0 answers

Client Server Program with Intel SGX

I wanted to design and build a secure remote computation application. I wanted to leverage Intel SGX capabilities and I have thought of 2 approaches but due to lack of development experience, I could not be able to decide which approach I should…
Kumar Roshan Mehta
  • 3,078
  • 2
  • 27
  • 50
1
vote
1 answer

Device driver inside Intel SGX enclosure?

Is it possible to run a device driver inside an Intel SGX enclave? Or is it impossible for an enclave to access DMA memory and perform memory-mapped I/O? I already have a device driver that has mapped all of the necessary memory but I don't know if…
Luke Gorrie
  • 467
  • 3
  • 14
1
vote
2 answers

Create an enclave in an linux kernel module

Is it possible to write a linux kernel module and create an enclave in the module. And how to do this.
1
vote
1 answer

C++ Arguments to SGX Enclave Edge Functions

I'm trying to write a simple SGX enclave that takes in a vector of booleans, but apparently edger8r creates c code; so the edl code enclave{ from "sgx_tstdc.edl" import *; include "BetaDist.h" include trusted { BetaDist…
Arya Pourtabatabaie
  • 705
  • 2
  • 7
  • 22
1
vote
2 answers

Determine SGX enclaves running on same system

I have two applications A1 and A2, both creating there own enclave E1 and E2. A third application A3 is connected to A1 and A2. Is it possible for A3 to determine if the two enclaves E1 and E2 are actually running on the same system?
wasp256
  • 5,943
  • 12
  • 72
  • 119
1
vote
1 answer

Intel SGX: Reproduce enclave measurement from enclave binary

I have a question about the enclave measurement in Intel SGX. Judging by the SignTool source code (and high-level description in the manual), it seems like measurement involves loading the enclave file (ELF or PE). But the result of loading varies…
qweruiop
  • 3,156
  • 6
  • 31
  • 55