Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename SimulatorEnclaveProvider - "None" attestation protocol, phase 1 #1419

Merged
merged 4 commits into from
Jan 5, 2022
Merged

Rename SimulatorEnclaveProvider - "None" attestation protocol, phase 1 #1419

merged 4 commits into from
Jan 5, 2022

Conversation

johnnypham
Copy link
Contributor

@johnnypham johnnypham commented Dec 2, 2021

Summary of feature
Currently, VBS enclaves are supported on-prem and SGX enclaves on Azure VMs. VBS support for Azure is in the works but strong attestation is not possible on Azure VMs due to restrictions against accessing the host machine's Trusted Platform Module (TPM).
A new attestation protocol called "None" will be allowed in the connection string, allowing users to forgo enclave attestation when using VBS enclaves: Attestation Protocol = None;

Phase 1 changes
The existing SimulatorEnclaveProvider performs no attestation and only derives the shared secret required to set up a secure enclave session, which is exactly what is needed. This PR renames it to the proposed NoneAttestationEnclaveProvider and the file can now be shared across netcore and netfx.

The simulator can be built with

msbuild -p:Configuration="Release" -p:BuildSimulator=true

clientDHKey.KeySize = 384;

return new SqlEnclaveAttestationParameters(2, new byte[] { }, clientDHKey);
ECDiffieHellman clientDHKey = KeyConverter.CreateECDiffieHellman(DiffieHellmanKeySize);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This change is required to share the file. See #1022

Copy link
Contributor

Choose a reason for hiding this comment

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

Could new byte[] { } be Array.Empty<byte>() or is it not available in all supported targets?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it'll work, I'll let the CI determine that 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants