Working silo protocol within enclave using Intel SGX SDK.
Comparison program is here.
$ wget https://download.01.org/intel-sgx/latest/linux-latest/distro/ubuntu20.04-server/sgx_linux_x64_sdk_2.17.100.3.bin
$ chmod 777 sgx_linux_x64_sdk_2.17.100.3.bin
$ ./sgx_linux_x64_sdk_2.17.100.3.bin
[yes]
$ source {ENVIRONMENT-PATH} // indicated by green text.
$ cd enclaveSilo
$ make
$ ./silo
If you try this code in datadock, please follow 2 steps.
- open "consts.h" in Include folder and modify
THREAD_NUM
to 224 andCLOCKS_PER_US
to 2100. - open "Enclave.config.xml" in Enclave folder and modify
TCSNum
to 225(THREAD_NUM + 1).
If TCSNum
== THREAD_NUM
, ecall_sendQuit() is not work normally and never finishes the worker thread, so +1 is added.