Skip to content

ddreyer/wave-verify-sgx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verifying WAVE proofs using Intel SGX

This code is adapted from the Intel Remote Attestation Sample Code and includes a WAVE proof verification library as a submodule. To use this project, make sure to have the prerequisites installed as specified in the first link.

Other Notes

  • The file utils/settings.h contains options for the client and enclave/app
  • I have changed the build such that the client and enclave/app are built separately

Using this Library

First, clone the repository into the appropriate directory in your Go source tree (src/github.com/ddreyer/wave-verify-sgx) and then build the library as described below. This library can be used as an imported package via import "github.com/ddreyer/wave-verify-sgx/lang/go". A Go testing suite can be run via the command go test in the lang/go directory. The testing suite requires that the WAVE daemon be running. WAVE releases can be found here

Building the Enclave library

  • These three paths need to be in your LD_LIBRARY_PATH environment variable:
    • /opt/openssl/1.1.0i/lib
    • $GOPATH/src/github.com/ddreyer/wave-verify-sgx/enclave_plus_app_src
    • Path to Intel SGX Linux libraries ($PREFIX/linux-sgx/linux/installer/bin/sgxsdk/sdk_libs)
  $ cd enclave_plus_app_src
  $ ./bootstrap
  $ ./configure --with-openssldir=/opt/openssl/1.1.0i
  $ make
  $ ./run-enclave-app
  $ g++ -shared *.o ../utils/*.o -L/home/sgx/linux-sgx/linux/installer/bin/sgxsdk/lib64 -L/opt/openssl/1.1.0i/lib -L/opt/intel/sgxssl/lib64   -lsgx_urts -lsgx_ukey_exchange -lsgx_uae_service -lcrypto -l:libsgx_capable.a -lpthread -ldl -lsgx_usgxssl -o libverify.so

Building and Running the Client

$ cd client_src
$ ./bootstrap
$ ./configure --with-openssldir=/opt/openssl/1.1.0i
$ make
$ ./run-client

About

Verifying Wave proofs using Intel SGX

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 51.0%
  • C 17.6%
  • M4 14.5%
  • Go 13.7%
  • Makefile 2.4%
  • Shell 0.8%