Open
Description
Describe the bug
In GCP VM if use snp measurement as policy it always hit "PolicyDeny" error when get-resource.
The attestation step can pass.
Server policy:
package policy
default allow = false
input_tcb := input["tcb-status"]
allow {
input_tcb["snp"]["measurement"] == "WerZtCZk1U/aVPcHZwOG9hsdO9NOLajI+awGfmF6Cq5GIzBKSqmLswdWr/tLbAoF"
}
Attestation token:
eyJhbGciOiJSUzM4NCIsImp3ayI6eyJhbGciOiJSUzM4NCIsImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InZsaE9YdFQ4WE8yY2xvNUl1d1Q3ai0zN21EWWdkSmFUQUw4anhPRFdwZkYzUFU0ajhqQ2J4NFRteWhvSEZ2eUNJUDlhMG9tX0xHbTdPdGQxOUJTU2dSOEdlQkczLVRkOHZJVGZnOG5oTXAzZ2toQ3FuTTJocnJzT3hLMFgwb2dpTkRTbFpqbjZ5T3RkYUJ6ejNmbU4tUE5ybzNjcGp1Q3ZYS3ZjaW5UWENwaFVxdVJoMmhkbFNINFFLemhRNjJhQlptR0pNRm5TX0xnRHZKRGFGZFNOcGdQNnBySllHdnUwMW5zQjREWjJrS2pteFFQNFZ6LUdSQTdUdzc3RHRPMFdveHpUNnlpTEtOZEdGTkhGN3ZIMVFtVVZsWm1JTHpHaGdXM2dfWDlSZ2NJN25jT1o4SmZ1Ym9QMnJhS0tRRlRXdFd2UldXOE5wNkY2UmRJQmtsdnV6dyJ9LCJ0eXAiOiJKV1QifQ.eyJjdXN0b21pemVkX2NsYWltcyI6eyJpbml0X2RhdGEiOm51bGwsInJ1bnRpbWVfZGF0YSI6eyJub25jZSI6IldUWGNTNlBQbzRsY2hId2JPSmVUeEx1MjRrcUg4MVNCTG4rL3Q4bkxRVDg9IiwidGVlLXB1YmtleSI6eyJhbGciOiJSU0ExXzUiLCJlIjoiQVFBQiIsImt0eSI6IlJTQSIsIm4iOiJwUnc4M05vZ2FUSXc0eVY0ZGVqV1M3dHhXQlBudDhsU2g2a0Rfa19TYjc2R1hmU1p1dEhOY2tQdTh6RXRlcFc0S1AyejVxa1VEcHFLZmdNMFFMTk9jTGpERzZWeG9rNjlvdkxPUEl0ZEVnNng1MlZYclQ2UEd0Qk1JUG16Y2d4YlZGaGtWcDJXb09pSTZaYmVqRnlXeFRxY1IyU3ZpdmdkdGZDVGdGVEtCUWRSSUZqam1HT2ZBd3FIR1otcjkxeW9YR1dwS09JY050dTdCZzl3Wm93aWtxb0JuZEE4ekNxUnRhT0MzcTJrM0IxdUVQaVVDSGJ2ZVBzQk9UbnVkVHNEbmd4RW15bEE3TDRzTXRkbTIxSmdoakVpM2k5UHRvbjVLMFdHUTRmN01WYlZJZlRLLWhiT3ZwSnd0cUdwOEM0bHJtV2FYZjkxOVhtRjdXMy1sRlhFdFEifX19LCJldmFsdWF0aW9uLXJlcG9ydHMiOlt7InBvbGljeS1oYXNoIjoiYzBlNzkyOTY3MWZiNjc4MDM4N2Y1NDc2MGQ4NGQ2NWQyY2U5NjA5M2RmYjMzZWZkYTIxZjVlYjA1YWZjZGE3N2JiYTQ0NGMwMmNkMTc3YjIzYTVkMzUwNzE2NzI2MTU3IiwicG9saWN5LWlkIjoiZGVmYXVsdCJ9XSwiZXhwIjoxNzQyMzY1NDYzLCJpYXQiOjE3NDIzNjUxNjMsImlzcyI6IkNvQ28tQXR0ZXN0YXRpb24tU2VydmljZSIsImp0aSI6IjhsNGw2YUJqN3IiLCJuYmYiOjE3NDIzNjUxNjMsInRjYi1zdGF0dXMiOiJ7XCJpbml0X2RhdGFcIjpcIkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9XCIsXCJyZXBvcnRfZGF0YVwiOlwiM24xZ0hxYzRraVBTcEVOVjVBSXpsV25BWWQ2N3BNZmloWUhTYmd4dU4yVkhhLy9jNTFLSWtuS1lhK21UUFJQaEFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PVwiLFwic25wLm1lYXN1cmVtZW50XCI6XCJXZXJadENaazFVL2FWUGNIWndPRzloc2RPOU5PTGFqSSthd0dmbUY2Q3E1R0l6QktTcW1Mc3dkV3IvdExiQW9GXCIsXCJzbnAucGxhdGZvcm1fc210X2VuYWJsZWRcIjpcIjFcIixcInNucC5wbGF0Zm9ybV90c21lX2VuYWJsZWRcIjpcIjBcIixcInNucC5wb2xpY3lfYWJpX21ham9yXCI6XCIwXCIsXCJzbnAucG9saWN5X2FiaV9taW5vclwiOlwiMFwiLFwic25wLnBvbGljeV9kZWJ1Z19hbGxvd2VkXCI6XCIwXCIsXCJzbnAucG9saWN5X21pZ3JhdGVfbWFcIjpcIjBcIixcInNucC5wb2xpY3lfc2luZ2xlX3NvY2tldFwiOlwiMFwiLFwic25wLnBvbGljeV9zbXRfYWxsb3dlZFwiOlwiMVwiLFwic25wLnJlcG9ydGVkX3RjYl9ib290bG9hZGVyXCI6XCI0XCIsXCJzbnAucmVwb3J0ZWRfdGNiX21pY3JvY29kZVwiOlwiMjE5XCIsXCJzbnAucmVwb3J0ZWRfdGNiX3NucFwiOlwiMjRcIixcInNucC5yZXBvcnRlZF90Y2JfdGVlXCI6XCIwXCJ9IiwidGVlIjoic25wIn0.NO8WodwJYN_J0m1jYYGQOrnFdqv_wiOlsy2x-8m2imb0zOv9SmaEh-jK204_V2U2C__JRd89Tw1-5NJrlvmBhTpbGHeuUIXCHXD-nTTsdQQ-4k-yEM6-5kmbCycMxA38bEx9J2-HMIjk4rFscO5OQjbuKVWMElzrRKOeRSgYdlGtqVfMUsCQpj8V8bdPV-pBiLuD440aEpWt0wCsVTHDVAKAyoLwlpkASTV2wiOVUOI6e_ZT5ApGKyV1EX1JxNwgNtHJ5H6OXWQxSYcv8mntkskPkq_id_IJp8slJI4uEVl5jvlfToAlCdsyMK_H4pNE0VhDe5MpBpUeP2er6SUOTg
Attestation token payload:
{
"customized_claims": {
"init_data": null,
"runtime_data": {
"nonce": "Pn26/CYqumELcdg0zIV989Nll5HEZ/rEF8pUGeiHAgQ=",
"tee-pubkey": {
"alg": "RSA1_5",
"e": "AQAB",
"kty": "RSA",
"n": "pRw83NogaTIw4yV4dejWS7txWBPnt8lSh6kD_k_Sb76GXfSZutHNckPu8zEtepW4KP2z5qkUDpqKfgM0QLNOcLjDG6Vxok69ovLOPItdEg6x52VXrT6PGtBMIPmzcgxbVFhkVp2WoOiI6ZbejFyWxTqcR2SvivgdtfCTgFTKBQdRIFjjmGOfAwqHGZ-r91yoXGWpKOIcNtu7Bg9wZowikqoBndA8zCqRtaOC3q2k3B1uEPiUCHbvePsBOTnudTsDngxEmylA7L4sMtdm21JghjEi3i9Pton5K0WGQ4f7MVbVIfTK-hbOvpJwtqGp8C4lrmWaXf919XmF7W3-lFXEtQ"
}
}
},
"evaluation-reports": [
{
"policy-hash": "c0e7929671fb6780387f54760d84d65d2ce96093dfb33efda21f5eb05afcda77bba444c02cd177b23a5d350716726157",
"policy-id": "default"
}
],
"exp": 1740477661,
"iat": 1740477361,
"iss": "CoCo-Attestation-Service",
"jti": "NW16c3ZO3x",
"nbf": 1740477361,
"tcb-status": "{\"init_data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"report_data\":\"hnmityIPJY64Q0Dxk2KBLwVyIuB2lFju8QxCigbQPQVk59DUtQphGhIKeAIqW7XvAAAAAAAAAAAAAAAAAAAAAA==\",\"snp.measurement\":\"WerZtCZk1U/aVPcHZwOG9hsdO9NOLajI+awGfmF6Cq5GIzBKSqmLswdWr/tLbAoF\",\"snp.platform_smt_enabled\":\"1\",\"snp.platform_tsme_enabled\":\"0\",\"snp.policy_abi_major\":\"0\",\"snp.policy_abi_minor\":\"0\",\"snp.policy_debug_allowed\":\"0\",\"snp.policy_migrate_ma\":\"0\",\"snp.policy_single_socket\":\"0\",\"snp.policy_smt_allowed\":\"1\",\"snp.reported_tcb_bootloader\":\"4\",\"snp.reported_tcb_microcode\":\"219\",\"snp.reported_tcb_snp\":\"24\",\"snp.reported_tcb_tee\":\"0\"}",
"tee": "snp"
}
How to reproduce
kbs-client --url https://trusteeserver:8080 --cert-file /root/host.crt get-resource --attestation-token /root/gcp_attestation_token --tee-key-file /root/trustee/kbs/test/tee_key.pem --path default/test/dummy_test
CoCo version information
kbs 0.1.0
What TEE are you seeing the problem on
Snp
Failing command and relevant log output
Server debug log:
debug.log