-
Notifications
You must be signed in to change notification settings - Fork 100
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
Require resources to come from the same source #194
Comments
It should be reminded that this change will involve three components besides AA: kata-agent, image-rs, and ocicryt-rs:
|
Yeah honestly might not be worth the changes since there is currently no issue, but I thought it was worth documenting this somewhere before I forgot. |
Identity of KBS could also be covered by the problem identity of TEE, which we are working on a proposal. Maybe we can talk about that after the coming happy holiday :).
Support that AA talk to different KBS sounds not a bad idea for me, only if we can ensure all the identities of the KBSes AA is talking to.
In fact {
"key-providers": {
"attestation-agent": {
"grpc": "127.0.0.1:50000"
}
}
} I'm sorry, but I hate to keep selling, confidential-containers/documentation#85 proposal may help AA to identify which KBC is going to used, although it is greatly still to be improved. Even if we now kata-agent uses one fixed KBC and KBS, I hope that in future AA and kata-cc should not care about one KBS to provide more extensibility. (Maybe in the future there is a weird user intending to use multiple KBSes?) |
I think we have a somewhat subtle security issue.
Today, the
kbs_name
andkbs_uri
is part of theget_resource
orget_secret
request. This means that hypothetically the attestation agent could use one KBS to fulfill aget_secret
request and another kbs to fulfill theget_resource
request.This is potentially dangerous because of how difficult it is to confirm the identity of the KBS. There is no way to store the public key of the KBS in generic guest image. Instead, we can validate that we are talking to the correct KBS only by receiving secrets that only a valid KBS would have access to. This only works for secrets, however. Signatures do not have the same properties. We can only trust that a signature is legit if it came from the same KBS that sent over a privileged secret.
So it's a little bit suspicious if we allow resources and secrets to come from different sources. That breaks that guarantee that we are talking to the same KBS. Currently
ocicrypt-rs
is the one that makes the requests andocicrypt-rs
will always use the same KBS so I don't think there is any immediate issue. That said, maybe we should think about changing the AA API to not support different KBC/KBS per request. Rather there could be one global setting for it. This would also simplifyocicrypt-rs
because it wouldn't need to worry about which KBC/KBS to use.The text was updated successfully, but these errors were encountered: