-
Notifications
You must be signed in to change notification settings - Fork 90
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
Verifier: Add IBM Secure Execution driver framework #345
Verifier: Add IBM Secure Execution driver framework #345
Conversation
c723db8
to
52f0b09
Compare
47fbb1a
to
abdf68f
Compare
231177c
to
c0b4061
Compare
Oh. I am still worried about the breakage for the PR. As it couple the KBS logic and AS logic to prepare an Way 1:Con: We need to embed the host cert key chain ( The logic of
The logic of
Rationality: BTW, if SE guest could support initdata (either though Way 2: Add a
|
Thanks @Xynnn007 for good suggestions, I think |
@Xynnn007 @jialez0 we also want to add the |
This is a tricky one. If we get this extra challenge information from the AS, does that mean that the AS will have to maintain some per-connection state? |
@fitzthum No need keep the state. For IBM SE, the attester will embed the original encrypted attestation request in evidence also, the verifier will extract the request first and then perform the verifying. |
be396b5
to
417404b
Compare
@fitzthum @Xynnn007 CCC-Attestation/meetings#32, slides 9~18 describes the details of IBM SE attestation and also answers why we have attestation-request needed. The record is coming soon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm.
I'll suggest to wait for the attester module to be merged first and then bump the kbs/tools/client guest-component dependency revision for e2e tests
We are encountering an issue on s390x when compiling AS with `all-verifier`. The error message is as follows: ``` error: failed to run custom build command for `tss-esapi-sys v0.5.0` ``` A platform-specific verifier (e.g., `se-verifier`) is used here. (confidential-containers#345) Although we can easily configure the verifier using `--features`, this approach lacks flexibility when the crate is selectively called from outside (e.g., kbs) based on `target_arch`. The optimal solution would be to open up room for configuring the verifier at a `dependencies` level rather than a `features` level. This commit aims to remove `all-verifier` from the default feature set and configure it differently for s390x. Signed-off-by: Hyounggyu Choi <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. lgtm. Let's get this merged after confidential-containers/guest-components#492
* Verifier: Add IBM Secure Execution verifier driver framework Signed-off-by: Qi Feng Huo <[email protected]> * kbs/attestation: support attestation service to generate Challenge Related to confidential-containers#162 .1 This commit allows the Challenge step in RCAR handshake to be generated due to backend attestation service. For typical attestation services, a nonce will be generated. This commit also covers IBM SE + CoCoAS case. In this case, CoCoAS must be accessed to get a challenge which is specificly used by IBM SE. Signed-off-by: Xynnn007 <[email protected]> --------- Signed-off-by: Qi Feng Huo <[email protected]> Signed-off-by: Xynnn007 <[email protected]> Co-authored-by: Xynnn007 <[email protected]>
Squashed commits. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
5651d3e
to
af3d0b5
Compare
…ents Signed-off-by: Qi Feng Huo <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good. A few comments.
…ents Signed-off-by: Qi Feng Huo <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I do want to emphasize that since this verifier does not check the report data, it is not secure. Hopefully that will be addressed in a follow-up. I think this PR is fine for getting all the support code in.
Thank you! @fitzthum , yes, the checking algorithm checks the evidence from TEE guest and re-calculated value from verifier, which also based on same SE OS Image. We'll add additional check in a follow up PR. |
confidential-containers/guest-components#492 was merged. we should update the rev in https://github.com/confidential-containers/trustee/blob/main/kbs/tools/client/Cargo.toml#L21 |
Signed-off-by: Qi Feng Huo <[email protected]>
We are encountering an issue on s390x when compiling AS with `all-verifier`. The error message is as follows: ``` error: failed to run custom build command for `tss-esapi-sys v0.5.0` ``` A platform-specific verifier (e.g., `se-verifier`) is used here. (confidential-containers#345) Although we can easily configure the verifier using `--features`, this approach lacks flexibility when the crate is selectively called from outside (e.g., kbs) based on `target_arch`. The optimal solution would be to open up room for configuring the verifier at a `dependencies` level rather than a `features` level. This commit aims to remove `all-verifier` from the default feature set and configure it differently for s390x. Signed-off-by: Hyounggyu Choi <[email protected]>
We are encountering an issue on s390x when compiling AS with `all-verifier`. The error message is as follows: ``` error: failed to run custom build command for `tss-esapi-sys v0.5.0` ``` A platform-specific verifier (e.g., `se-verifier`) is used here. (#345) Although we can easily configure the verifier using `--features`, this approach lacks flexibility when the crate is selectively called from outside (e.g., kbs) based on `target_arch`. The optimal solution would be to open up room for configuring the verifier at a `dependencies` level rather than a `features` level. This commit aims to remove `all-verifier` from the default feature set and configure it differently for s390x. Signed-off-by: Hyounggyu Choi <[email protected]>
We are encountering an issue on s390x when compiling AS with `all-verifier`. The error message is as follows: ``` error: failed to run custom build command for `tss-esapi-sys v0.5.0` ``` A platform-specific verifier (e.g., `se-verifier`) is used here. (confidential-containers#345) Although we can easily configure the verifier using `--features`, this approach lacks flexibility when the crate is selectively called from outside (e.g., kbs) based on `target_arch`. The optimal solution would be to open up room for configuring the verifier at a `dependencies` level rather than a `features` level. This commit aims to remove `all-verifier` from the default feature set and configure it differently for s390x. Signed-off-by: Hyounggyu Choi <[email protected]> Signed-off-by: Pawel Proskurnicki <[email protected]>
Fixes: #342
This is kbs side code and related with PR: confidential-containers/guest-components#492
Depends on:
The IBM SE Remote Attestation flow: