Provided a reproducible SDK.
Supported new OS: RHEL 8.1, CentOS 8.1 and Fedora 31.
Supported user to specify platform id in PCK Cert ID Retrieval Tool’s command line option.
Added ability to execute Platform Cert ID Retrieval Tool on multi-package platforms without
loading enclaves. PCCS now supports this functionality. The platform still needs to support
SGX.
Updated Platform Cert ID Retrieval Tool and Multi-package registration tool to align with BIOS
platform manifest changes.
Added .deb and .rpm installers for Platform Cert ID Retrieval Tool and Multi-package
Registration Agent.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.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>
Query si_flags instead of attributes when determining whether a layout
entry should be readable/writable or not accessible. The current code
magically works because all layout entries that should be marked R/W
will have a non-zero value for attributes since added pages are marked
with either ADD_EXTEND_PAGE or ADD_EXTEND_PAGE.
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Modify build_mem_region to support an unaligned starting address. This
makes it symmetrical with regard to starting and ending partial pages;
previously, build_mem_region only support partial pages at the end of a
section (caller was responsible for handling the first page). Remove
the edge case handling of the first page from build_sections now that
build_mem_region does not have alignment restrictions.
Change the section_info_t parameter in build_mem_region to be a const
reference to eliminate any need to check for a null pointer.
Make the raw_data pointer in section_info_t const, as the source file's
data should never be modified. This is currently cast away via GET_PTR
in build_pages when calling into add_enclave_page; the add_enclave_page
flow can be modified by a future commit to retain the const modifier.
Add two utilities, is_relocation_page and build_partial_page, to reduce
copy-paste code.
Add PAGE_OFFSET macro to calculate the offset within a page.
Assert on address/size alignment in build_pages and build_context to
document expected alignment and catch any related code bugs.
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Set misc_attr in the top level sgx_create_enclave if _create_enclave
fails. This provides the user with the platform's capabilities when
sgx_create_enclave fails for any reason other than a parameter error.
Previously the misc_attr was only set upon failure if build_image
failed, which was not helpful when sgx_create_enclave failed due to
an attribute error, e.g. misc_select, as the flow aborted before it
reached build_image.
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
The urts library and the signing tool often shift page counts as
32-bit integers, then passes the result as a 64-bit value. This patch
casts page counts into 64-bit integers first, so that large page
counts don't overflow.
Signed-off-by: Warren He <-w@berkeley.edu>