Commit Graph

51 Commits

Author SHA1 Message Date
Zhang Lili 4d78a1a6cf Rebase to 2.13 & bug fix.
Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2021-02-07 15:17:02 +00:00
Li, Xun 608fe1df4c Linux 2.12 Open Source Gold Release
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>
2020-11-11 17:17:33 +08:00
Yu Ding d10c025eb0 Typo fixes (#588)
Signed-off-by: Yu Ding dingelish@gmail.com
2020-09-09 16:31:22 +08:00
Li, Xun b9b071b544 Linux 2.11 Open Source Gold Release
Supported new OS: RHEL 8.2 and SUSE 15.
Provided standalone Intel(R) SGX DCAP Quote verification library installer.
Added Intel(R) SGX DCAP Platform Certificate ID Retrieval Tool and Multi-package Registration
  Agent (MPA) installers into SGX installation repo.
Fixed bugs.

Signed-off-by: Li, Xun <xun.li@intel.com>
2020-08-28 09:01:06 +08:00
Li, Xun 60d36e0de7 Linux 2.10 Open Source Gold Release
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>
2020-07-07 08:42:08 +08:00
Li, Xun 1eaa4551d4 Linux 2.9.1 Open Source Gold Release
Supported to query Intel(R) SGX attestation key ID list.
Fixed bugwqs.

Signed-off-by: Li, Xun <xun.li@intel.com>
2020-04-09 14:45:01 +08:00
Li, Xun 4589daddd5 Linux 2.9 Open Source Gold Release
Fixed bugs.

Signed-off-by: Li, Xun <xun.li@intel.com>
2020-03-10 12:47:50 +08:00
Zhang Lili Z 9ddec08fb9 Linux 2.8 Open Source Gold Release.
Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2020-01-16 09:56:26 +08:00
Li, Xun d166ff0c80 Linux 2.7.1 Open Source Gold Release
Updated OpenSSL to 1.1.1d.
Fixed bugs.

Signed-off-by: Li, Xun <xun.li@intel.com>
2019-11-12 13:55:35 +08:00
Zhang Lili Z b13ab0eae7 Linux 2.7 Open Source Gold Release
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>
2019-10-18 00:16:40 +08:00
Dionna Glaze f271c87d0a Guard weak_alias definition with ifndef
The musl libc implementation already defines weak_alias and conflicts
with this unguarded define.

Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
2019-08-13 11:52:03 -07:00
Li, Xun c505e6129a Linux 2.6 Open Source Gold Release
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>
2019-07-05 14:12:24 +08:00
Li, Xun b46e0b0003 Update Deb installer
Signed-off-by: Li, Xun <xun.li@intel.com>
2019-04-15 16:19:09 +08:00
Li, Xun d10cabebb5 Linux 2.5 Open Source Gold Release
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>
2019-04-02 13:26:58 +08:00
Dionna Amalie Glaze fd859f67ff Remove unused ill-defined 'storage' type field
The templated "storage" field in randomly_placed_buffer is uses alignas
in an undefined way. The field is also not used, so this change removes
it.

Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
2019-02-04 22:12:41 -08:00
Li, Xun 28817533cc Linux 2.4 Open Source Gold Release
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>
2018-12-20 11:02:39 +08:00
lzha101 af25522a05 Merge pull request #323 from deeglaze/remove_using_std
Remove using namespace std

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2018-10-30 08:46:19 +08:00
Dionna Glaze 1cd53405cc Remove using namespace std
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>
2018-09-29 21:01:49 -07:00
Li, Xun d9ba97c7fa Remerge PR #304 #308 #309 #310 #313
These PRs are lost in Linux 2.3.1 Open Source Gold Release

Signed-off-by: Li, Xun <xun.li@intel.com>
2018-09-28 09:52:02 +08:00
Li, Xun 12223e5a17 Linux 2.3.1 Open Source Gold Release
Bug fixes

Signed-off-by: Li, Xun <xun.li@intel.com>
2018-09-28 08:42:40 +08:00
Dionna Glaze ebf217908d Include sl_util.h to define MIN in mini_snprintf.h
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
2018-09-17 11:41:17 -07:00
lzha101 ef91b293ad Merge pull request #309 from deeglaze/remove_sgx_urts_include
Remove #include sgx_urts.h from sgx_uswitchless

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2018-09-17 14:36:54 +08:00
Li, Xun 68f44d6e68 Linux 2.3 Open Source Gold Release
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>
2018-09-13 09:47:41 +08:00
Dionna Glaze 7785922829 Remove #include sgx_urts.h from sgx_uswitchless
The sgx_uswitchless.h header is used in both trusted and untrusted
contexts from transitive inclusions. The sgx_urts.h header is strictly
an untrusted domain header. Users that depend on the untrusted runtime
should not depend on the transitive include behavior to provide
sgx_urts.h.

Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
2018-09-04 17:21:19 -07:00
Zhang Lili Z 62dc69d355 Add 'const' to sgx_create_enclave_ex()
Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2018-08-07 22:31:27 +08:00
Li, Xun a169a69497 Linux 2.2 Open Source Gold Release
Support for Switchless Calls
Bug fixes

Signed-off-by: Li, Xun <xun.li@intel.com>
2018-07-03 10:48:20 +08:00
Li, Xun 75dd558bda Linux 2.1.3 Open Source Gold Release
Security updates to Linux SDK and PSW
Support for Intel SGX Protected Code Loader

Signed-off-by: Li, Xun <xun.li@intel.com>
2018-05-10 11:05:38 +08:00
Li, Xun 5d59856dae Update tlibcrypto to add new crypto wrapper function
New API:
sgx_create_rsa_key_pair
sgx_rsa_priv_decrypt_sha256
sgx_rsa_pub_encrypt_sha256
sgx_create_rsa_priv2_key
sgx_create_rsa_priv1_key

Signed-off-by: Li, Xun <xun.li@intel.com>
2018-04-12 11:15:57 +08:00
lzha101 a31b0b6034 Merge pull request #143 from deeglaze/ioctl_retry
Expose an internal error on enclave_create ioctl interrupt.

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2018-03-16 17:13:40 +08:00
Li, Xun bd59dc35dc Linux 2.1.2 Open Source Gold Release
Security updates to Linux SDK and PSW

Signed-off-by: Li, Xun <xun.li@intel.com>
2018-03-16 12:56:41 +08:00
Dionna Glaze 25709d8403 Expose an internal error on enclave_create ioctl interrupt.
After months of debugging to find the source of the interrupt, this
is the middle ground solution to make progress.

Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
2018-03-14 11:26:27 -07:00
lzha101 7ce7e243d2 Merge pull request #216 from deeglaze/typedef_include
Adds includes to allow use of some typedefs when in pickier compilers.

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2018-03-05 15:54:56 +08:00
Dionna Glaze 22f9f6008e Adds includes to allow use of some typedefs when in pickier compilers.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
2018-03-02 09:58:08 -08:00
Dionna Glaze 3d80233b42 Adds an API function to check if the enclave has crashed.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
2018-03-02 09:56:44 -08:00
Andy Zhao 1bcdf2ed21 Linux 2.1.1 Open Source Gold Release
Signed-off-by: Andy Zhao <yebin.andy.zhao@intel.com>
2018-02-13 06:29:03 +00:00
Li, Xun 1ccf25b64a Linux 2.1 Open Source Gold release
Signed-off-by: Li, Xun <xun.li@intel.com>
2018-01-19 11:02:56 +08:00
Li, Xun 159f60223e Linux 2.0 Open Source Gold release
Signed-off-by: Li, Xun <xun.li@intel.com>
2017-11-07 14:41:20 +08:00
Haitao Huang 960ad91a4a Add error code in oal for invalid inputs
Signed-off-by: Haitao Huang <4699115+haitaohuang@users.noreply.github.com>
2017-09-22 16:57:45 +08:00
Kai Mast 94c162c98b g++7 fixes (#148)
Signed-off-by: Li, Xun<xun.li@intel.com>
2017-09-18 16:07:19 +08:00
Chris Rankin 635e3a3708 Resolve warnings about deprecated throw(std::bad_alloc) in C++11. 2017-09-13 10:31:11 +01:00
John Mechalas 6f0e20cfd9 Implements most of libsgx_capable for Linux (previously only available in the Windows SDK) (#107)
* Adds libsgx_capable, which is currently only available in the Windows
version of the Intel SGX SDK. The Linux implementation of this library
adds the following functions:

  sgx_status_t sgx_is_capable (int *sgx_capable);
  sgx_status_t sgx_cap_get_status (sgx_device_status_t *sgx_device_status);
  sgx_status_t sgx_cap_enable_device (sgx_device_status_t *sgx_device_status);

And adds the following error code (also from the Windows version of the
Intel SGX SDK):

  SGX_ERROR_NO_PRIVILEGE

Generates both a static and dynamic build of libsgx_capable. This is
incorporated into the SDK package, not the PSW package, since software
installers need to check for Intel SGX capability on systems where the PSW
may not already be installed. This means that installers will either have
to statically link, or distribute the .so with their installation package.

----------------------

Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Signed-off-by: John P Mechalas <john.p.mechalas@intel.com>
2017-08-11 10:00:34 +08:00
Jaak Randmets d42cd14bdd Merge pull request #124 from Jaak/master
Improve const correctness of sgx_fopen and sgx_fimport_auto_key.

Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2017-07-24 14:04:03 +08:00
Li, Xun 0fb9f47e78 Linux 1.9 Open Source Gold release
Signed-off-by: Li, Xun <xun.li@intel.com>
2017-06-30 15:51:16 +08:00
Li, Xun 0cbb1f074d Update Linux_SGXEclipsePlugin
Signed-off-by: Li, Xun <xun.li@intel.com>
2017-04-10 14:24:45 +08:00
Li, Xun 1115c195cd Linux 1.8 Open Source Gold release
Signed-off-by: Li, Xun <xun.li@intel.com>
2017-03-16 15:30:38 +09:00
llly 6662022bf8 Linux 1.7 Open Source Gold release
Signed-off-by: Li, Xun <xun.li@email.com>
2016-12-20 09:47:15 +09:00
Yu Yuan d1353eeebe fixed conflict 2016-10-24 15:45:22 +08:00
Yu Yuan 5cd3c5a7bf update enclave_creator to align with driver API change 2016-10-24 12:27:44 +08:00
Sean Christopherson 14c19edaaf Clean up build_sections and build_mem_region code
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>
2016-09-26 13:46:38 -07:00
zhaohuidu 85947caa12 Upgrade to Linux 1.6 gold release
switch code to linux 1.6 opensource gold release
2016-09-19 14:55:22 +08:00