-
Notifications
You must be signed in to change notification settings - Fork 88
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
Refactoring KBS #217
Comments
I don't think the KBS protocol is coupled with the AS today. The challenges are mostly with the current implementation and I've summarized the gaps in #162. You mentioned
We must also have a nonce originated from the attestation service so that each quote it verifies can be considered "fresh". |
please see the call stack here:
IMO, CoCo-AS/Amber/MAA are all
There might be two reasons I think it would be better to refactor:
|
My comment was: the KBS protocol specification itself is fine and it has no coupling to CoCo AS but also Intel Trust Authority can be made to work by following the spec. Maybe we are talking about the same thing: the kbs implementation (and guest-components' attesters + kbs_protocol) needs rework to better support other AS'es. I totally agree and we can start from #162 issues. What you write about authentication and authorization issues sound something that first needs to be addressed in the KBS protocol spec and once updates to the spec are made, the implementation would follow. |
After merging AS code into KBS, it is a good time to refactor KBS codes.
Before v0.8.0, we use KBS to return an attestation token from CoCo AS that includes a tee pubkey inside as a claim. This will make the things coupled, because it requires that any token provisioned by an attestation service behind KBS should have a claim named
tee-pubkey
. However, except CoCo-AS, other attestation services like Amber does not have such a claim.To let KBS to work with different kinds of attestation services, it is a good practice to decouple KBS protocol semantics from the attestation token. That is to say, the attestation service only helps to check the base TCB of the TEE, while other information like tee pubkey, the nonce, etc are authentication semantics higher than attestation. KBS should leverage the returned attestation token from the attestation behind to check if the step
Attestation
succeeds, and then decide to provision a token/credential of itself. This new token is endorsed by KBS, showing the TEE client has passed the KBS protocol and mainly used for the TEE to retrieve the resources of KBS and other privileged operations.The text was updated successfully, but these errors were encountered: