Added Ubuntu 20.04 and CentOS 8.2 support.
Added Intel(R) Provisioning Certification Service V3 API support for ECDSA attestation.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
Some developers may have workstations that are not Intel
based. These developers should be able to test their enclaves
with the SGX simulation before building real SGX enclaves and
running those enclaves on genuine Intel processors.
By fixing CPU feature detection, developers with non-Intel
workstations can use SGX simulation to develop SGX enclaves.
Signed-off-by: Seth Moore <sethmo@google.com>
Changes:
Added a command option “-resign” for Signing Tool.
Split the header file of Un-trusted Architecture Services.
Supported Red Hat* Enterprise Linux* Server 8.0 (for x86_64). And we do not support
Red Hat* Enterprise Linux* Server 7.6 (for x86_64) from this release
Added support for new version Intel(R) Provisioning Certification Server interfaces.
Added new libraries libsgx_epid.so, libsgx_launch.so, libsgx_platform.so and libsgx_quote_ex.so
Fixed bugs.
Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
Added support for Reproducible Enclave Build using Docker file.
Added support for Intel AVX-512 instructions and Intel SHA Extensions New Instructions (SHA-NI) in trusted libraries.
Support both EPID and ECDSA based quote for quoting related interfaces in sgx_uae_service library.
Updated key exchange library to support both EPID and ECDSA based remote attestation.
Support new interface to check platform information blob from remote attestation response message.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
Added new APIs in sgx_uae_service.h and sgx_ukey_exchange.h to support ECDSA quote based remote attestation.
The set of legacy APIs supports EPID only and the set of new APIs supports ECDSA quotes.
Enhanced Edger8r with structure deep-copy feature.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
Added support for the Key Separation and Sharing (KSS) feature.
Provided a set of new encryption and decryption functions such as sgx_hmac256_*.
Provided a new untrusted API: sgx_get_target_info.
Provided a new untrusted API: sgx_create_enclave_from_buffer_ex.
Updated the cryptography library and Architecture Enclaves to use Intel(R) Integrated
Performance Primitives Cryptography 2019 Update 1.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
Header files that contain "using namespace std;" do not work well in
codebases that have custom implementations for common classes such as
"string". This is a C++ Core guideline (SF.7).
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
Support for Ubuntu 18.04 LTS 64-bit Desktop and Server version
Provided a new set of SGX common loader APIs in sgx_enclave_common.h
Provided the sample code for Switchless Call
Provided a new API in tcrypto: sgx_ecc256_calculate_pub_from_priv
sgx_create_enclave API will ignore the parameter of launch token and will not update it after function successfully returns
Change Intel SGX PSW installer for Ubuntu by
- Using .deb installer.
- Using name libsgx-enclave-common_{version string}-1_amd64.deb.
- Installing Intel SGX Enclave Common loader library.
Bug fixes
Signed-off-by: Li, Xun <xun.li@intel.com>
Currently we seed random number generator with timestamp in seconds.
Because of this we have to insert 1 second delay in each testcase to
ensure the randomness, which prevents us from testing applications
effeciently.
Simulation mode is not supposed to be used in production, but
developing applications on environtment without SGX HW is still common.
So let's seed with timestamp in nanoseconds in simulation mode.
Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
The load_regs assembly function uses its caller's frame pointer.
C/C++ compilers are allowed to make optimizations to their
representation of the stack, and frequently omit the frame pointer.
The functions _EEXIT in t_instructions.cpp and _SE3 in
u_instructions.cpp both call load_regs, and thus should be the only ones
that should be affected by deoptimization.
Even -O0 may omit the frame pointer (indeed we found this to be the case
when compiling with GCC 7.3.0), so this change also makes that requirement
explicit by by means of -fno-omit-frame-pointer.
The analogous attribute for -fno-omit-frame-pointer is not available in
clang, so the clang version of the LOAD_REGS_ATTRIBUTES is simply
[[clang:optnone]].
An added bonus of switching the -O0 flag over to an attribute in source
code is that alternate build tools are easier to port to :)
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
Document that _mm_pause definition requires -ffreestanding.
Guard the definition of __STDC_FORMAT_MACROS with #ifndef/#endif.
Consistently refer to std::hex with std:: qualification in SignTool.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>