[docs] Add remote_attestation document
This commit is contained in:
parent
04a357021c
commit
eb0fce79bf
52
docs/remote_attestation.md
Normal file
52
docs/remote_attestation.md
Normal file
@ -0,0 +1,52 @@
|
||||
# Occlum Remote Attestation
|
||||
|
||||
Occlum provides wrapped library `libocclum_dcap` for `DCAP` remote attestion applications.
|
||||
This Occlum DCAP library is prebuilt as part of the Occlum toolchains in the [Occlum Docker images](https://hub.docker.com/r/occlum/occlum).
|
||||
|
||||
The libraries are in the path `/opt/occlum/toolchains/dcap_lib`.
|
||||
```
|
||||
.
|
||||
|-- glibc
|
||||
| |-- dcap_test
|
||||
| |-- libocclum_dcap.a
|
||||
| `-- libocclum_dcap.so
|
||||
|-- inc
|
||||
| `-- occlum_dcap.h
|
||||
`-- musl
|
||||
|-- dcap_test
|
||||
|-- libocclum_dcap.a
|
||||
`-- libocclum_dcap.so
|
||||
```
|
||||
|
||||
Two versions (glibc and musl-libc), including static and dynamic libraries are provided to meet different scenarios. Unified header file `occlum_dcap.h` is provided as well in which defines the exported APIs for DCAP quote generation and verification.
|
||||
|
||||
In short, applications can link to the prebuilt `libocclum_dcap.so` and use the APIs defined in `occlum_dcap.h` for their usage.
|
||||
|
||||
For details how to use the library, please refer to the [`demo`](../demos/remote_attestation/dcap/).
|
||||
|
||||
The source code of the library is in the [`path`](../tools/toolchains/dcap_lib/).
|
||||
|
||||
## SGX KSS (Key Separation and Sharing feature) support
|
||||
|
||||
Starting from SGX2, there is a new Key Separation and Sharing feature which provides more flexibility. The new feature gives user a chance to fill in some meaningful information to the enclave either in the signing or running stage.
|
||||
|
||||
* Signning stage:
|
||||
```
|
||||
ISVFAMILYID, 16 bytes
|
||||
ISVEXTPRODID, 16 bytes
|
||||
```
|
||||
* Running stage:
|
||||
```
|
||||
CONFIG ID, 64 bytes
|
||||
CONFIG SVN, 16 bits
|
||||
```
|
||||
Occlum can support both above by either modifying the fields in `Occlum.json` (for `Signning stage`) or using Occlum run arguments `"--config-id"` or `"--config-svn"` (for `Running stage`).
|
||||
|
||||
Details please refer to the [RFC](https://github.com/occlum/occlum/issues/589).
|
||||
|
||||
|
||||
## References
|
||||
|
||||
- [DCAP Quick Install Guide](https://software.intel.com/content/www/us/en/develop/articles/intel-software-guard-extensions-data-center-attestation-primitives-quick-install-guide.html)
|
||||
|
||||
- [Intel(R) Software Guard Extensions Data Center Attestation Primitives](https://github.com/intel/SGXDataCenterAttestationPrimitives)
|
Loading…
Reference in New Issue
Block a user