Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/svartkanin/linux-sgx-remoteattestation
Example of Linux SGX remote attestation
https://github.com/svartkanin/linux-sgx-remoteattestation
Last synced: about 1 month ago
JSON representation
Example of Linux SGX remote attestation
- Host: GitHub
- URL: https://github.com/svartkanin/linux-sgx-remoteattestation
- Owner: svartkanin
- License: mit
- Created: 2017-03-11T11:47:34.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-12-18T15:50:50.000Z (almost 6 years ago)
- Last Synced: 2024-10-31T17:51:52.824Z (about 1 month ago)
- Language: C++
- Homepage:
- Size: 126 KB
- Stars: 63
- Watchers: 10
- Forks: 22
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-SGX-Open-Source - https://github.com/svartkanin/linux-sgx-remoteattestation
README
# Linux SGX remote attestation
Example of a remote attestation with Intel's SGX including the communication with IAS.The code requires the installation of Intel SGX [here](https://github.com/01org/linux-sgx) and
the SGX driver [here](https://github.com/01org/linux-sgx-driver). Furthermore, also a developer account
for the usage of IAS has be registered [Deverloper account](https://software.intel.com/en-us/sgx).
After the registration with a certificate (can be self-signed for development purposes), Intel will
respond with a SPID which is needed to communicate with IAS.The code consists of two separate programs, the ServiceProvider and the Application.
The message exchange over the network is performed using Google Protocol Buffers.## Installation
Before running the code, some settings have to be set in the ```GeneralSettings.h``` file:
* The application port and IP
* A server certificate and private key are required for the SSL communication between the SP and the Application (which can be self-signed)
e.g. ```openssl req -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 365```
* The SPID provided by Intel when registering for the developer account
* The certificate sent to Intel when registering for the developer account
* IAS Rest API url (should stay the same)To be able to run the above code some external libraries are needed:
* Google Protocol Buffers (should already be installed with the SGX SDK package) otherwise install ```libprotobuf-dev```, ```libprotobuf-c0-dev``` and ```protobuf-compiler```
All other required libraries can be installed with the following command
```sudo apt-get install libboost-thread-dev libboost-system-dev curl libcurl4-openssl-dev libssl-dev liblog4cpp5-dev libjsoncpp-dev```After the installation of those dependencies, the code can be compiled with the following commands:
```cd ServiceProvider```
```make```
```cd ../Application```
```make SGX_MODE=HW SGX_PRERELEASE=1```