diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml index 4cfe8087a1ef9..87ae71391c135 100644 --- a/docs/html/_redirects.yaml +++ b/docs/html/_redirects.yaml @@ -1201,3 +1201,8 @@ redirects: to: /studio/intro/index.html?utm_medium=android-studio - from: /r/studio-ui/menu-start.html to: /training/index.html?utm_medium=android-studio + +# N Preview redirects + +- from: /preview/features/key-attestation.html + to: /training/articles/security-key-attestation.html diff --git a/docs/html/training/_book.yaml b/docs/html/training/_book.yaml index 00f9295b05f73..d6561bb79388b 100644 --- a/docs/html/training/_book.yaml +++ b/docs/html/training/_book.yaml @@ -1373,6 +1373,11 @@ toc: path_attributes: - name: description value: How to use the SafetyNet service to analyze a device where your app is running and get information about its compatibility with your app. + - title: Verifying Hardware-backed Key Pairs with Key Attestation + path: /training/articles/security-key-attestation.html + path_attributes: + - name: description + value: How to retrieve and verify the properties of a device's hardware-backed key pair. - title: Enhancing Security with Device Management Policies path: /work/device-management-policy.html path_attributes: diff --git a/docs/html/preview/features/key-attestation.jd b/docs/html/training/articles/security-key-attestation.jd similarity index 92% rename from docs/html/preview/features/key-attestation.jd rename to docs/html/training/articles/security-key-attestation.jd index 5be6dfa370633..9145d308f1405 100644 --- a/docs/html/preview/features/key-attestation.jd +++ b/docs/html/training/articles/security-key-attestation.jd @@ -1,11 +1,11 @@ page.title=Key Attestation -page.metaDescription=New support in Android N for verifying security properties of hardware-backed keys. -page.keywords="android N", "security", "TEE", "hardware-backed", "keystore", "certificate", "key attestation" +page.metaDescription=A tool for verifying security properties of hardware-backed key pairs. +page.keywords="security", "TEE", "hardware-backed", "keystore", "certificate", "key attestation" @jd:body -
- Note: Only a small number of devices running Android N
- support hardware-level key attestation; all other devices running Android N
- use software-level key attestation instead. Before you verify the properties
- of a device's hardware-backed keys in a production-level environment, you
- should make sure that the device supports hardware-level key attestation. To
- do so, you should check that the attestation certificate chain contains a root
- certificate that is signed by the Google attestation root key and that the
- attestationSecurityLevel element within the Note: Only a small number of devices running Android 7.0 (API
+ level 24) support hardware-level key attestation; all other devices running
+ Android 7.0 use software-level key attestation instead. Before you verify the
+ properties of a device's hardware-backed keys in a production-level
+ environment, you should make sure that the device supports hardware-level key
+ attestation. To do so, you should check that the attestation certificate chain
+ contains a root certificate that is signed by the Google attestation root key
+ and that the attestationSecurityLevel element within the key description data structure
is set to the TrustedEnvironment security level.
- The root certificate within this chain is signed using an attestation key, - which the device manufacturer injects into the device’s hardware-backed - keystore at the factory. + If the device supports hardware-level key attestation, the root certificate + within this chain is signed using an attestation root key, which the device + manufacturer injects into the device’s hardware-backed keystore at the + factory.
- Note: On devices that ship with Android N and Google Play - services, the root certificate is issued by Google. You should verify that - this root certificate appears within Google’s list of root certificates. + Note: On devices that ship with hardware-level key + attestation, Android 7.0 (API level 24), and Google Play services, the root + certificate is signed by the Google attestation root key. You should verify + that this root certificate appears within Google’s list of root certificates.
@@ -231,7 +233,7 @@ VerifiedBootState ::= ENUMERATED {
attestationSecurity
+ attestationSecurityLevel
Warning: Although it is possible to attest keys that are
- stored in the Android system—that is, if the
- attestationSecurity value is set to Software—you
+ stored in the Android system—that is, if the value of
+ attestationSecurityLevel is set to Software—you
cannot trust these attestations if the Android system becomes compromised.
keymasterSecurity
+ keymasterSecurityLevel
Each field name corresponds to a similarly-named Keymaster tag. For example,
the keySize field in an authorization list corresponds to the
- KM_TAG_KEY_SIZE Keymaster tag.
+
+ KM_TAG_KEY_SIZE Keymaster tag.
@@ -780,7 +783,7 @@ VerifiedBootState ::= ENUMERATED {