Commit graph

45 commits

Author SHA1 Message Date
Shawn Willden
e21ce63ba6 Update KM4.1 owners
Change-Id: Ib7e0d3aead2a220c8161d7b4af471116f9ffa93f
2021-01-08 15:57:56 +00:00
Steven Moreland
28f2549765 HIDL HALs mark sensitive data
For extra precautious transaction clearing.

Bug: 171501998
Test: hidl_test + inspecting output
Change-Id: I813dc3dd6c85ad0e86c6b8c116b7a207517dd12e
2020-11-20 21:16:16 +00:00
David Zeuthen
34abaaefcb identity: Fix attestation and documentation problems.
- The docs said that IdentityCredential.createEphemeralKey() returned
  data encoded PKCS#8 which is wrong. It's supposed to be in DER format
  which is also what the VTS tests and credstore expects.

- Clarify that createEphemeralKeyPair(), setReaderEphemeralPublicKey(),
  and createAuthChallenge() are all optional.

- Avoid passing an invalid profile ID in the IdentityCredentialTests.
  verifyOneProfileAndEntryPass test.

- Update requirements for which tags must be present in the attestation
  for CredentialKey as well as the requirements on expiration date and
  the issuer name.  Update default implementation to satisfy these
  requirements. Update VTS tests to carefully verify these requrements
  are met.

- Clarify requirements for X.509 cert for AuthenticationKey. Add VTS
  test to verify.

- Mandate that TAG_IDENTITY_CREDENTIAL_KEY must not be set for test
  credentials. Add VTS test to verify this.

- Make default implementation pretend to be implemented in a trusted
  environment and streamline VTS tests to not special-case for the
  default implementation.

- Switch to using the attestation extension parser from the KM 4.1
  support library instead of the one from system/keymaster. The latter
  one did not support the latest attestation extension and thus would
  fail for pretty much anything that wasn't the default HAL impl.

- Fix a couple of bugs in keymaster::V4_1::parse_attestation_record():
  - Report root_of_trust.security_level
  - Add support for Tag::IDENTITY_CREDENTIAL_KEY

- Fix how EMacKey is calculated.

- Add test vectors to verify how EMacKey and DeviceMac is calculated.

Test: atest VtsHalIdentityTargetTest
Test: atest android.security.identity.cts
Bug: 171745570
Change-Id: I2f8bd772de078556733f769cec2021918d1d7de6
2020-11-17 13:44:00 -05:00
Xin Li
36dcf1a404 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I6502829205ede2de914b27e6c2c5c42916af2b39
Change-Id: I7cb06511e43bd1fffd5f80a11dbdf5b1314cfe8e
2020-08-28 13:05:04 -07:00
Dan Shi
ba4d532fee Suppress gtest error for tests without any instance
Bug: 162052785
Test: m -j vts
Change-Id: I8c1a48e6fbd7c8161137902b5332911fa0d7b8b3
2020-07-28 15:12:32 -07:00
allen.zhang
569a61290e Fix Keymaster VTS unique attestation failure
Adding TAG_DEVICE_UNIQUE_ATTESTATION & CheckedDeleteKey()
in TEST_P(DeviceUniqueAttestationTest, NonStrongBoxOnly)
Test procedure:
1.Build APP "VtsHalKeymasterV4_1TargetTest" in android project,
then replace it to VTS testcase(version in 0610).
2. ./vts-tradefed
3.run vts -m VtsHalKeymasterV4_1TargetTest
Result:all testcase pass

Bug: 158724430
Test: m VtsHalKeymasterV4_1TargetTest && echo run vts -m VtsHalKeymasterV4_1TargetTest | ./vts-tradefed

Change-Id: I693c23596a045bf9af9fe6cc483924fd7cfc6ce6
2020-07-23 12:39:13 +01:00
Jooyung Han
d610435ac4 update hidl .bp
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.

.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.

Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.

Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
2020-07-07 16:22:36 +09:00
Jooyung Han
d18cba85fe update hidl .bp
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.

.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.

Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.

Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
2020-07-02 12:26:37 +09:00
Shawn Willden
a2a6a33ea9 Fix delivery of earlyBootEnded to KM4.1
Bug: 152932559
Test: Boot and observe that Strongbox gets the message
Merged-In: I752b44f5cc20d85bf819188ccaaf0813a5607ba5
Change-Id: I752b44f5cc20d85bf819188ccaaf0813a5607ba5
2020-06-01 14:08:39 -06:00
nagendra modadugu
eb7f3527de Round off attestation tests.
This CL needs some polish.  Changes
herein are somewhat brute-force to
make things work, particularly with
authorization-list parsing and validation.

This CL also copies over support for
dumping attestation records.

Bug: 129282228
Test: VtsHalKeymasterV4_1TargetTest
Change-Id: I4fc0183dc0b8a76e84d14054b38ad7c1540a1897
2020-04-22 04:21:36 +00:00
nagendra modadugu
5d531a26c0 Fix StrongBoxOnly test
This test is expected to be run
on non-StrongBox instances.

Bug: 129282228
Test: StrongBoxOnly passes on TZ
Change-Id: Ia6b274d097b4c698904d1c51daed821188a50510
2020-04-22 02:17:08 +00:00
TreeHugger Robot
0260d7d1ee Merge "Fix delivery of earlyBootEnded to KM4.1" into rvc-dev 2020-04-15 14:56:34 +00:00
Shawn Willden
08c7e71236 Fix delivery of earlyBootEnded to KM4.1
Bug: 152932559
Test: Boot and observe that Strongbox gets the message
Change-Id: I752b44f5cc20d85bf819188ccaaf0813a5607ba5
2020-04-14 21:48:11 -06:00
TreeHugger Robot
ecd5e55cc1 Merge "Correct UseHmacKey parameter" into rvc-dev 2020-04-15 02:19:58 +00:00
Treehugger Robot
08ea51852b Merge "Remove IOperation and beginOp." 2020-04-10 16:23:49 +00:00
Shawn Willden
ca71a6e839 Merge "Fixed encoding of device_locked field" into rvc-dev 2020-04-10 16:08:07 +00:00
Shawn Willden
994c65e5bc Fixed encoding of device_locked field
The attestation code used boringssl's ASN.1 encoding tools
incorrectly, causing it to encode incorrect values in device_locked.

Bug: b/152503089
Test: Build & boot
Merged-In: I3c5352523b2db37d539ad353ac8c48c1585eb08d
Change-Id: I3c5352523b2db37d539ad353ac8c48c1585eb08d
2020-04-09 15:44:36 -06:00
Dan Shi
aad51fa000 Rename vts-core to vts
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.

Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
2020-04-07 16:37:40 -07:00
Dan Shi
ba894f81db Rename vts-core to vts
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.

Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
2020-04-07 15:17:02 -07:00
Shawn Willden
e32c142da4 Remove IOperation and beginOp.
The way I planned for this to work doesn't work.  We'll revisit in
Keymaster5.  For now, removing IOperation and beginOp.

Test: Build & boot
Merged-In: I017d17079380cc3bacc6f05b2486e1b6e6c3f675
Change-Id: I017d17079380cc3bacc6f05b2486e1b6e6c3f675
2020-04-02 12:47:32 -06:00
Shawn Willden
664ff765af Fixed encoding of device_locked field
The attestation code used boringssl's ASN.1 encoding tools
incorrectly, causing it to encode incorrect values in device_locked.

Bug: b/152503089
Test: Build & boot
Change-Id: I3c5352523b2db37d539ad353ac8c48c1585eb08d
2020-04-01 13:54:33 -06:00
Tommy Chiu
83691500e1 Correct UseHmacKey parameter
HMAC key was created with Digest(Digest::SHA_2_256) which is missing in
the UseHmacKey function

Bug: 152932473
Test: VtsHalKeymasterV4_1TargetTest
Change-Id: If63dd197fe12172e14be9890ab07a00c3eef4a4c
2020-04-01 07:02:35 +00:00
TreeHugger Robot
220b3237dd Merge "Remove IOperation and beginOp." into rvc-dev 2020-03-30 17:59:00 +00:00
Roman Kiryanov
779c6327ec Add vintf_fragments to keymaster@4.1-service
Bug: 152616625
Bug: 152554068
Test: boot emulator, lshal | grep keymaster
Signed-off-by: Roman Kiryanov <rkir@google.com>
Merged-In: I36818fdc0f7732174fc7b2fd7619b1ae75b5b33d
Change-Id: I2d7336c3f45ee7722d04ade091d50432e1fd6f99
2020-03-27 15:30:23 -07:00
Roman Kiryanov
1cc355b57b Add vintf_fragments to keymaster@4.1-service
Bug: 152616625
Bug: 152554068
Test: boot emulator, lshal | grep keymaster
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I36818fdc0f7732174fc7b2fd7619b1ae75b5b33d
2020-03-27 10:46:21 -07:00
Shawn Willden
e0affee86b Remove IOperation and beginOp.
The way I planned for this to work doesn't work.  We'll revisit in
Keymaster5.  For now, removing IOperation and beginOp.

Bug: 152536287
Test: Build & boot
Change-Id: I017d17079380cc3bacc6f05b2486e1b6e6c3f675
2020-03-26 13:49:28 -06:00
Selene Huang
ee37ee9252 Add attestation certificate generation and identity credential tags.
Bug: 149908474
Test: atest android.security.identity.cts.AttestationTest
Test: atest VtsHalIdentityCredentialTargetTest
Test: atest android.hardware.identity-support-lib-test
Merged-In: I18c5d05d806d4157c9dce42a398cc89421e26907
Change-Id: Ifaffef3606a6398613e33982ff5db81ade1af0b2
2020-03-09 12:30:11 -04:00
Selene Huang
459cb80866 Add attestation certificate generation and identity credential tags.
Bug: 149908474
Test: atest android.security.identity.cts.AttestationTest
Test: atest VtsHalIdentityCredentialTargetTest
Test: atest android.hardware.identity-support-lib-test

Change-Id: I18c5d05d806d4157c9dce42a398cc89421e26907
2020-02-21 16:02:26 -08:00
Barani Muthukumaran
9e8014d1d5 Add STORAGE_KEY tag to keymaster 4.1
These are keymaster keys used specifically for storage
encryption. This provides the ability for keymaster implementations to
securely protect storage encryption keys.

Test: VtsHalKeymasterV4_1TargetTest
Bug: 147733587
Change-Id: I5f7f83755fcbed96d8f38fa51812aa6d2eb0927b
Merged-In: I5f7f83755fcbed96d8f38fa51812aa6d2eb0927b
2020-02-11 15:51:03 -07:00
Shawn Willden
166c5c70c2 Add support lib wrappers for clients
Bug: 140193672
Bug: 140192237
Test: CtsKeystoreTestCases
Change-Id: I0157df310f85d83cef07282ea80204c035626518
Merged-In: I0157df310f85d83cef07282ea80204c035626518
2020-02-11 15:51:03 -07:00
Shawn Willden
3f7c80ac05 Keymaster 4.1 VTS tests
Bug: 140193672
Bug: 140192237
Test:  VtsHalKeymasterV4_1TargetTest
Change-Id: I488402079ebb3940e021ac1558aeee15c4b133c9
Merged-In: I488402079ebb3940e021ac1558aeee15c4b133c9
2020-02-11 15:51:03 -07:00
Shawn Willden
ef28554d35 Update Keymaster 4.0 VTS to use parameterized tests.
Bug: 139437880
Test: VtsHalKeyamsterV4_0TargetTest
Change-Id: I487000cc19fe355fdef88f1561a38b2cbfd3c3c3
Merged-In: I487000cc19fe355fdef88f1561a38b2cbfd3c3c3
2020-02-11 15:51:03 -07:00
Barani Muthukumaran
9bc9059842 Add STORAGE_KEY tag to keymaster 4.1
These are keymaster keys used specifically for storage
encryption. This provides the ability for keymaster implementations to
securely protect storage encryption keys.

Test: VtsHalKeymasterV4_1TargetTest
Bug: 147733587
Change-Id: I5f7f83755fcbed96d8f38fa51812aa6d2eb0927b
2020-01-22 11:33:44 -07:00
Shawn Willden
7b37dc5d9c Merge "Updates to KM4.1" 2020-01-21 21:18:21 +00:00
Shawn Willden
26a803beef Merge "Add support lib wrappers for clients" 2020-01-21 20:48:20 +00:00
TreeHugger Robot
c78e55d510 Merge changes I48840207,Idc5de13c,I8f2b7ab3,I2460106c
* changes:
  Keymaster 4.1 VTS tests
  Update KM4 VTS tests to allow s/w implementation to pass.
  Remove service death test.
  Change finish input test to avoid large sizes.
2020-01-21 20:47:04 +00:00
Automerger Merge Worker
8999898f9c Merge "Update Keymaster support lib OWNERS" am: f7238c9c01 am: e65c023c44 am: d8fd3aa17e
Change-Id: Ib7f6d20166de39022ec202450225ac90e6322842
2020-01-21 18:10:02 +00:00
Shawn Willden
c0125fb930 Update Keymaster support lib OWNERS
Test:  VtsHalKeymasterV4_0TargetTest && VtsHalKeymasterV4_1TargetTest
Change-Id: Ibc719cdc4bd8821d67659eb6a2cf4d0094322322
Merged-In: Ibc719cdc4bd8821d67659eb6a2cf4d0094322322
2020-01-21 10:30:29 -07:00
Shawn Willden
3d035b9c0b Add support lib wrappers for clients
Test: CtsKeystoreTestCases
Change-Id: I0157df310f85d83cef07282ea80204c035626518
2020-01-21 01:56:38 -07:00
Shawn Willden
b26a225b9c Keymaster 4.1 VTS tests
Test:  VtsHalKeymasterV4_1TargetTest
Change-Id: I488402079ebb3940e021ac1558aeee15c4b133c9
2020-01-21 01:31:39 -07:00
Shawn Willden
5e1347cedf Update Keymaster 4.0 VTS to use parameterized tests.
Bug: 139437880
Test: VtsHalKeyamsterV4_0TargetTest
Change-Id: I487000cc19fe355fdef88f1561a38b2cbfd3c3c3
2020-01-21 01:12:31 -07:00
Shawn Willden
f3d741744a Updates to KM4.1
This CL adds:

- The IDENTITY_CREDENTIAL_KEY tag.  This new tag is not actually used
  by Keymaster at all.  It's used by the new Identity Credential HAL in
  its key attestations, which use the Keymaster format and the Keymaster
  attestation key.

- A VerificationToken argument to deviceLocked, used for StrongBox
  implementations.

- Some error codes, including one to diagnose unprovisioned
  attestation keys/ids.

- Clarifications in the documentation.

Test: VtsHalKeymasterV41TargetTest
Change-Id: Iae7151e2d9b328dd73e5cd78e59687ef29bab4f0
Merged-In: Iae7151e2d9b328dd73e5cd78e59687ef29bab4f0
2020-01-17 15:52:07 -07:00
Shawn Willden
2d7394209e Updates to KM4.1
This CL adds:

- The IDENTITY_CREDENTIAL_KEY tag.  This new tag is not actually used
  by Keymaster at all.  It's used by the new Identity Credential HAL in
  its key attestations, which use the Keymaster format and the Keymaster
  attestation key.

- A VerificationToken argument to deviceLocked, used for StrongBox
  implementations.

- Some error codes, including one to diagnose unprovisioned
  attestation keys/ids.

- Clarifications in the documentation.

Test: VtsHalKeymasterV41TargetTest
Change-Id: Iae7151e2d9b328dd73e5cd78e59687ef29bab4f0
2020-01-17 12:53:42 -07:00
Steven Moreland
7696aa885f ./update-makefiles.sh, for union changes/memory
Many more types can be used in Java.

Bug: 143566068
Test: N/A
Change-Id: Ie18e1e0f9c22f2ea15b755df3b048c9d651c4945
2019-11-26 09:24:31 -08:00
Shawn Willden
94ad891792 Add Keymaster 4.1
Note that CL is missing complete tests (what's included is just a
stub, really) and support library code.  All of that will come in
near-future CLs.  This CL omits them because they'll take time and
there's a need to unblock Keymaster 4.1 implementers now.

Bug: 140193672
Bug: 140192237
Bug: 140824829
Test: Will be in a future CL
Change-Id: I0e6e3a38356f0517158a10604b549415641ad1b9
2019-11-20 12:14:36 -07:00