Skip to content

Commit ccaba47

Browse files
Merge pull request #218324 from msmbaldwin/attestation-misc
Attestation misc
2 parents d245517 + 28358ab commit ccaba47

File tree

5 files changed

+22
-20
lines changed

5 files changed

+22
-20
lines changed

articles/attestation/claim-sets.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ ms.author: mbaldwin
1212
---
1313
# Claim sets
1414

15-
Claims generated in the process of attesting enclaves using Microsoft Azure Attestation can be divided into the below categories:
15+
Claims generated in the process of attesting enclaves using Microsoft Azure Attestation can be divided into these categories:
1616

1717
- **Incoming claims**: The claims generated by Microsoft Azure Attestation after parsing the attestation evidence and can be used by policy authors to define authorization rules in a custom policy
1818

1919
- **Outgoing claims**: The claims generated by Azure Attestation and included in the attestation token
2020

2121
- **Property claims**: The claims created as an output by Azure Attestation. It contains all the claims that represent properties of the attestation token, such as encoding of the report, validity duration of the report, and so on.
2222

23-
## Incoming claims
23+
## Incoming claims
2424

2525
### SGX attestation
2626

@@ -42,7 +42,7 @@ Claims to be used by policy authors to define authorization rules in an SGX atte
4242

4343
When an enclave author prefers to rotate MRSIGNER for security reasons, Azure Attestation policy must be updated to support the new and old MRSIGNER values before the binaries are updated. Otherwise authorization checks will fail resulting in attestation failures.
4444

45-
Attestation policy must be updated using the below format.
45+
Attestation policy must be updated using the format below.
4646

4747
#### Before key rotation
4848

@@ -87,10 +87,10 @@ Claims to be used by policy authors to define authorization rules in an SGX atte
8787
8888
The enclave author assigns a Security Version Number (SVN) to each version of the SGX enclave. When a security issue is discovered in the enclave code, enclave author increments the SVN value post vulnerability fix. To prevent interacting with insecure enclave code, customers can add a validation rule in the attestation policy. If the SVN of the enclave code does not match the version recommended by the enclave author, attestation will fail.
8989
90-
Below claims are considered deprecated but are fully supported and will continue to be included in the future. It is recommended to use the non-deprecated claim names.
90+
These claims are considered deprecated but are fully supported and will continue to be included in the future. It is recommended to use the non-deprecated claim names:
9191
9292
Deprecated claim | Recommended claim
93-
--- | ---
93+
--- | ---|
9494
$is-debuggable | x-ms-sgx-is-debuggable
9595
$product-id | x-ms-sgx-product-id
9696
$sgx-mrsigner | x-ms-sgx-mrsigner
@@ -114,7 +114,7 @@ Claims to be used by policy authors to define authorization rules in a TPM attes
114114
115115
### VBS attestation
116116
117-
In addition to the TPM attestation policy claims, below claims can be used by policy authors to define authorization rules in a VBS attestation policy.
117+
In addition to the TPM attestation policy claims, these claims can be used by policy authors to define authorization rules in a VBS attestation policy:
118118
119119
- **enclaveAuthorId**: String value containing the Base64Url encoded value of the enclave author id-The author identifier of the primary module for the enclave
120120
- **enclaveImageId**: String value containing the Base64Url encoded value of the enclave Image id-The image identifier of the primary module for the enclave
@@ -124,11 +124,11 @@ In addition to the TPM attestation policy claims, below claims can be used by po
124124
- **enclavePlatformSvn**: Integer value containing the security version number of the platform that hosts the enclave
125125
- **enclaveFlags**: The enclaveFlags claim is an Integer value containing Flags that describe the runtime policy for the enclave
126126
127-
## Outgoing claims
127+
## Outgoing claims
128128
129129
### Common for all attestation types
130130
131-
Azure Attestation includes the below claims in the attestation token for all attestation types.
131+
Azure Attestation includes these claims in the attestation token for all attestation types:
132132
133133
- **x-ms-ver**: JWT schema version (expected to be "1.0")
134134
- **x-ms-attestation-type**: String value representing attestation type
@@ -145,7 +145,7 @@ Below claim names are used from [IETF JWT specification](https://tools.ietf.org/
145145
- **"exp" (Expiration Time) Claim** - Expiration time after which the JWT must not be accepted for processing
146146
- **"nbf" (Not Before) Claim** - Not Before time before which the JWT must not be accepted for processing
147147
148-
Below claim names are used from [IETF EAT draft specification](https://tools.ietf.org/html/draft-ietf-rats-eat-03#page-9)
148+
These claim names are used from [IETF EAT draft specification](https://tools.ietf.org/html/draft-ietf-rats-eat-03#page-9):
149149
150150
- **"Nonce claim" (nonce)** - An untransformed direct copy of an optional nonce value provided by a client
151151
@@ -162,7 +162,7 @@ rp_data | nonce
162162
163163
### SGX attestation
164164
165-
Below claims are generated and included in the attestation token by the service for SGX attestation.
165+
These caims are generated and included in the attestation token by the service for SGX attestation:
166166
167167
- **x-ms-sgx-is-debuggable**: A Boolean, which indicates whether or not the enclave has debugging enabled or not
168168
- **x-ms-sgx-product-id**: Product ID value of the SGX enclave
@@ -180,17 +180,17 @@ Below claims are generated and included in the attestation token by the service
180180
- **tcbinfohash**: SHA256 value of the TCB Info collateral
181181
- **x-ms-sgx-report-data**: SGX enclave report data field (usually SHA256 hash of x-ms-sgx-ehd)
182182
183-
Below claims will appear only in the attestation token generated for Intel® Xeon® Scalable processor-based server platforms. The claims will not appear if the SGX enclave is not configured with [Key Separation and Sharing Support](https://github.com/openenclave/openenclave/issues/3054). The claim definitions can be found [here](https://github.com/openenclave/openenclave/issues/3054)
183+
These claims will appear only in the attestation token generated for Intel® Xeon® Scalable processor-based server platforms. The claims will not appear if the SGX enclave is not configured with [Key Separation and Sharing Support](https://github.com/openenclave/openenclave/issues/3054). The claim definitions can be found [here](https://github.com/openenclave/openenclave/issues/3054):
184184
185185
- **x-ms-sgx-config-id**
186186
- **x-ms-sgx-config-svn**
187187
- **x-ms-sgx-isv-extended-product-id**
188188
- **x-ms-sgx-isv-family-id**
189189
190-
Below claims are considered deprecated but are fully supported and will continue to be included in the future. It is recommended to use the non-deprecated claim names.
190+
These claims are considered deprecated, but are fully supported and will continue to be included in the future. It is recommended to use the non-deprecated claim names:
191191
192192
Deprecated claim | Recommended claim
193-
--- | ---
193+
--- | ---|
194194
$is-debuggable | x-ms-sgx-is-debuggable
195195
$product-id | x-ms-sgx-product-id
196196
$sgx-mrsigner | x-ms-sgx-mrsigner

articles/attestation/overview.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.author: mbaldwin
1010
ms.custom: references_regions
1111

1212
---
13-
# Microsoft Azure Attestation
13+
# Microsoft Azure Attestation
1414

1515
Microsoft Azure Attestation is a unified solution for remotely verifying the trustworthiness of a platform and integrity of the binaries running inside it. The service supports attestation of the platforms backed by Trusted Platform Modules (TPMs) alongside the ability to attest to the state of Trusted Execution Environments (TEEs) such as [Intel® Software Guard Extensions](https://www.intel.com/content/www/us/en/architecture-and-technology/software-guard-extensions.html) (SGX) enclaves, [Virtualization-based Security](/windows-hardware/design/device-experiences/oem-vbs) (VBS) enclaves, [Trusted Platform Modules (TPMs)](/windows/security/information-protection/tpm/trusted-platform-module-overview), [Trusted launch for Azure VMs](../virtual-machines/trusted-launch.md) and [Azure confidential VMs](../confidential-computing/confidential-vm-overview.md).
1616

@@ -20,6 +20,8 @@ Azure Attestation enables cutting-edge security paradigms such as [Azure Confide
2020

2121
Azure Attestation receives evidence from compute entities, turns them into a set of claims, validates them against configurable policies, and produces cryptographic proofs for claims-based applications (for example, relying parties and auditing authorities).
2222

23+
Azure Attestation supports both platform- and guest-attestation of AMD SEV-SNP based Confidential VMs (CVMs). Azure Attestation-based platform attestation happens automatically during critical boot path of CVMs, with no customer action needed. For more details on guest attestation, see [Announcing general availability of guest attestation for confidential VMs](https://techcommunity.microsoft.com/t5/azure-confidential-computing/announcing-general-availability-of-guest-attestation-for/ba-p/3648228).
24+
2325
## Use cases
2426

2527
Azure Attestation provides comprehensive attestation services for multiple environments and distinctive use cases.
@@ -40,17 +42,17 @@ Intel® Xeon® Scalable processors only support [ECDSA-based attestation solutio
4042

4143
OE standardizes specific requirements for verification of an enclave evidence. This qualifies OE as a highly fitting attestation consumer of Azure Attestation.
4244

43-
### TPM attestation
45+
### TPM attestation
4446

4547
[Trusted Platform Modules (TPM)](/windows/security/information-protection/tpm/trusted-platform-module-overview) based attestation is critical to provide proof of a platform's state. A TPM acts as the root of trust and the security coprocessor to provide cryptographic validity to the measurements (evidence). Devices with a TPM can rely on attestation to prove that boot integrity is not compromised and use the claims to detect feature state enablement during boot.
4648

4749
Client applications can be designed to take advantage of TPM attestation by delegating security-sensitive tasks to only take place after a platform has been validated to be secure. Such applications can then make use of Azure Attestation to routinely establish trust in the platform and its ability to access sensitive data.
4850

49-
### AMD SEV-SNP attestation
51+
### AMD SEV-SNP attestation
5052

5153
Azure [Confidential VM](../confidential-computing/confidential-vm-overview.md) (CVM) is based on [AMD processors with SEV-SNP technology](../confidential-computing/virtual-machine-solutions-amd.md). CVM offers VM OS disk encryption option with platform-managed keys or customer-managed keys and binds the disk encryption keys to the virtual machine's TPM. When a CVM boots up, SNP report containing the guest VM firmware measurements will be sent to Azure Attestation. The service validates the measurements and issues an attestation token that is used to release keys from [Managed-HSM](../key-vault/managed-hsm/overview.md) or [Azure Key Vault](../key-vault/general/basic-concepts.md). These keys are used to decrypt the vTPM state of the guest VM, unlock the OS disk and start the CVM. The attestation and key release process is performed automatically on each CVM boot, and the process ensures the CVM boots up only upon successful attestation of the hardware.
5254

53-
### Trusted Launch attestation
55+
### Trusted Launch attestation
5456

5557
Azure customers can [prevent bootkit and rootkit infections](https://www.youtube.com/watch?v=CQqu_rTSi0Q) by enabling [trusted launch](../virtual-machines/trusted-launch.md) for their virtual machines (VMs). When the VM is Secure Boot and vTPM enabled with guest attestation extension installed, vTPM measurements get submitted to Azure Attestation periodically for monitoring boot integrity. An attestation failure indicates potential malware, which is surfaced to customers via Microsoft Defender for Cloud, through Alerts and Recommendations.
5658

articles/attestation/quickstart-azure-cli.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: attestation
55
author: msmbaldwin
66
ms.service: attestation
77
ms.topic: quickstart
8-
ms.date: 11/20/2020
8+
ms.date: 11/14/2022
99
ms.author: mbaldwin
1010
ms.custom: mode-api, devx-track-azurecli
1111
ms.devlang: azurecli

articles/attestation/quickstart-portal.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: attestation
55
author: msmbaldwin
66
ms.service: attestation
77
ms.topic: quickstart
8-
ms.date: 08/31/2020
8+
ms.date: 11/14/2022
99
ms.author: mbaldwin
1010

1111

articles/attestation/quickstart-powershell.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: attestation
55
author: msmbaldwin
66
ms.service: attestation
77
ms.topic: overview
8-
ms.date: 01/23/2023
8+
ms.date: 11/14/2022
99
ms.author: mbaldwin
1010
ms.custom: devx-track-azurepowershell
1111

0 commit comments

Comments
 (0)