Skip to content
This repository has been archived by the owner on Apr 27, 2023. It is now read-only.

Hw interface #19

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

Conversation

mikelodder7
Copy link
Contributor

@mikelodder7 mikelodder7 commented Feb 19, 2020

This PR adds the enclave APIs description to Ursa.

# Prior art
[prior-art]: #prior-art
This provider model is extremely common in the crypto world with implementations like [PKCS11](http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/os/pkcs11-base-v2.40-os.html)
Microsoft CNG, Java JCA, [Parsec](https://github.com/parallaxsecond/parsec), and others.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May want to consider linking webkms, w3c-ccg/webkms#4

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possibly. Thanks for linking us from them. I hope they have something more concrete soon. Looking at it now, it doesn’t have much. Maybe we should invite them to this discussion?!?

Copy link

@msporny msporny Feb 22, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's something a bit more concrete... we're still finalizing the API and didn't want to write the spec bits until we ship something more stable to customers.

These docs aren't great, but they're the best we have unless someone wants to start diving into the code:

https://github.com/digitalbazaar/webkms-client/#api-reference

This may also be of interest wrt. the KMS API operations we're looking at standardizing:

https://github.com/digitalbazaar/webkms-switch/tree/master/lib/schemas

# Summary
[summary]: #summary
Hardware security modules(HSM)/Trusted Execution Environments(TEE)/Secure enclaves are becoming more common for specialized cryptography key management.
This RFC describes a common API that can be used for interacting with enclaves in Ursa. This API allows for
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this API intended to be usable outside of Rust?

If so, may want to separate the abstract API from a concrete implementation in Rust... also might be easier to align with other things if that were the case.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for reviewing this. I agree that the API should be abstract. That’s why I’ve designed it this way. I do say while the concrete example here is in Rust, the API could easily be adapted to any other language. Rust also compiles to WASM and C. I fully intend for this to be as widely adoptable and portable as possible.

Signed-off-by: Michael Lodder <[email protected]>
Signed-off-by: Michael Lodder <[email protected]>
Signed-off-by: Michael Lodder <[email protected]>
Signed-off-by: Michael Lodder <[email protected]>
Signed-off-by: Michael Lodder <[email protected]>
Signed-off-by: Michael Lodder <[email protected]>
Base automatically changed from master to main January 22, 2021 20:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants