Asylo 0.5.0 Release

20 views
Skip to first unread message

Asylo Users

unread,
Nov 26, 2019, 5:45:08 PM11/26/19
to Asylo Users
We’re excited to announce the 0.5.0 release of Asylo. We’ve added a lot of new functionality in the 516 commits since the last release.

We’ve finished the “primitives” backend abstraction layer refactoring, which makes introducing new backends even easier by more cleanly separating them from the rest of Asylo’s functionality. Using this abstraction, we’ve added a new “Remote” backend that is able to launch an enclave remotely in a different process or even on a separate machine, while keeping the APIs similar to launching an enclave locally. We’ve published new guides on our website demonstrating the remote backend.

We have posted details on the Enclave Key Exchange Protocol (EKEP), which is essential to how Asylo establishes secure channels with gRPC, on our website. We’ve also created an additional guide on how to configure gRPC to establish secure connections using enclave-based identity and how to enforce authorization policies based on enclave identity.

We look forward to hearing your thoughts on these and other improvements!

Changes since 0.4.1 include:
  • Addition of remote backend
  • Documentation of the Enclave Key Exchange Protocol 
  • Added ability to apply channel-level authorization to EKEP-based gRPC connections
  • Guide for gRPC authentication and authorization in EKEP-based connections
  • fork() implementation is now thread-safe
  • Additional POSIX interface implementations
  • Updated to newer versions of dependencies
  • Improved documentation and testing
  • Maintenance work and bug fixes

Compatibility:
  • The EnclaveManager::LoadEnclave API has been simplified to take a protobuf instead of requiring the creation of a backend-specific EnclaveLoader object. The old APIs are deprecated and will be removed in a future release.
  • The sgx_enclave bazel macro is now deprecated. To make it clearer how to create signed enclaves, it is replaced by sgx_unsigned_enclave and sgx_debug_enclave/sgx_signed_enclave (see our Quickstart and SGX Release guides for examples).
  • SgxLocalSecretSealer has changed the format of its sealed secrets. It will continue to be able to unseal old secrets for a compatibility period, but any data previously sealed with SgxLocalSecretSealer should be resealed at v0.5.0 to maintain compatibility moving forward.
  • The sgx_code_identity_expectation_matcher library is deprecated in favor of sgx_identity_expectation_matcher.
  • Aliasing of SGX simulation as just “sim” has been deprecated. As we’re adding more backend modes, it was determined that being more explicit on which is being used was appropriate. This includes --config=enc-sim (use --config=sgx-sim), sim_enclave bazel macro (see sgx_enclave bullet above), SimLoader (use SgxLoadConfig), and SimEmbeddedLoader (use SgxLoadConfig).
  • The CleansingString type is deprecated in favor of CleansingVector.
  • The asylo_py_proto_library bazel macro (deprecated in v0.4.1) has been removed. Now that the issues with grpc_proto_library and proto_library have been resolved, the standard py_proto_library should be used directly instead.

The release can be found on GitHub at https://github.com/google/asylo/releases/tag/v0.5.0. You can join the discussion on the asylo-users mailing list with feedback and questions for the community.

Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages