| ▲ | arboles 2 hours ago | |||||||||||||||||||||||||||||||
What prevents the provider from sending to the client an attestation of hardware state and actually running another? | ||||||||||||||||||||||||||||||||
| ▲ | viraptor an hour ago | parent | next [-] | |||||||||||||||||||||||||||||||
The other comments are correct, but let me try for a different phrasing, because it's a complex topic. You have two parts for attestation: The hardware provides the keys and computation for the measurement state that you can't change as a user. The software provides the extra information/measurements to the hardware. That means you can't simulate the hardware in a way that would allow you to cheat (the keys/method won't match). And you can't replace the software part (the measurements won't match). It all depends on the third party and the hardware keys not leaking, but at long as you can review the software part, you can be sure the validation of the value sent with the response is enough. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | FrasiertheLion an hour ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
When the enclave boots, two things happen: 1. An HPKE (https://www.rfc-editor.org/rfc/rfc9180.html ) key is generated. This is the key that encrypts communication to the model. 2. The enclave is provisioned a certificate The certificate is embedded with the HPKE key accessible only inside the enclave. The code for all this is open source and part of the measurement that is being checked against by the client. So if the provider attempts to send a different attestation or even route to a different enclave, this client side check would fail. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | julesdrean an hour ago | parent | prev [-] | |||||||||||||||||||||||||||||||
The provider cannot chose the attestation that is sent, the hardware assembles the attestation through mechanisms that it cannot control. That why it's called "trusted hardware" technology, you only need to trust the hardware (how it was implemented), and you don't need to trust the provider operating it. | ||||||||||||||||||||||||||||||||