Commit graph

250 commits

Author SHA1 Message Date
Treehugger Robot
f65abbd1c8 Merge "Allowing GSI patch level to be greater than vbmeta SPL" am: b22330e065 am: c12559f79e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1256345

Change-Id: If6721904a50f164626d30460a2b13c59ffd2814f
2020-09-02 03:39:52 +00:00
TreeHugger Robot
484456242d Merge "Keymaster: update the verifyAuthorization call time and delta time in VerificationToken VTS" into stage-aosp-rvc-ts-dev am: 9ade092595 am: 872216fd37
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/12430970

Change-Id: I065b9d6122747a55eb4decf0b32b7ff20756e26c
2020-08-31 18:34:09 +00:00
Bowgo Tsai
63c0129fa6 Allowing GSI patch level to be greater than vbmeta SPL
The GSI patch level might be greater than the vbmeta SPL, because
GSI system.img might be updated via the DSU flow, where vbmeta.img won't
be updated in this scenario.

  https://developer.android.com/topic/dsu

Allowing GSI patch level to be greater than or equal to the vbmeta SPL,
since Treble allows new system.img works on old vendor images.

Bug: 145377203
Test: atest VtsHalKeymasterV4_0TargetTest
Change-Id: Ib761d80c88695eb2db08b0dc00e30fcdc2788865
2020-08-26 13:16:25 +08:00
kh0705
f5b567afab Keymaster: update the verifyAuthorization call time and delta time in VerificationToken VTS
The keymaster function affects the performance of secure os. When considering the swtiching time of the normal world < - > Secure world and the processing delay of the SecureOS by the scheduling policy of the normal world, it is necessary to increase the time.
Even though Secure world is no problem, Sometimes there is a possibility of that the test will fail because it is a limited resource normal world.
On average, it is performed in a very fast time, but sometimes it takes a lot of time. After many tests, the safe time was measured.

Bug: 162115135

Change-Id: I55862204ef71f69bc88c79fe2259f7cb8365699a
Signed-off-by: kh0705 <kh0705.park@samsung.com>
2020-08-24 15:01:16 +08:00
Treehugger Robot
8a42374ffa Merge "Disable the test TooManyOperations in keymaster VTS" 2020-08-19 19:07:08 +00: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
Gaurav Kashyap
48f67e8438 Disable the test TooManyOperations in keymaster VTS
The test fails on devices because an unknown
client starts a keymaster BEGIN operation during
bootup but does not finish it. This affects the
keymaster hardware implementation's capability
to support the maximum possible operations while
running this test.

Bug: 154801042

Change-Id: Ib6adc6c28ebe76ddfdc2c66cd17cf78c04e5b468
2020-07-22 11:14:44 -07: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
josephjang
4feb8cd284 Keymaster: Fix potential bug in extractUint32()/extractUint64()
In deserializeVerificationToken(), we use extractUint64() to extract
VerificationToken.challenge. A potential bug was found in
extractUint64() that will cause VerificationToken.challenge()
incorrect.

Bug: 160198696
Merged-In: Ie0d2c0127cc34f1bb90455e4f7869e15e5542173
Change-Id: Ie0d2c0127cc34f1bb90455e4f7869e15e5542173
2020-07-06 07:03:27 +00:00
josephjang
c96b1fab12 Keymaster: Fix potential bug in extractUint32()/extractUint64()
In deserializeVerificationToken(), we use extractUint64() to extract
VerificationToken.challenge. A potential bug was found in
extractUint64() that will cause VerificationToken.challenge()
incorrect.

Bug: 160198696
Change-Id: Ie0d2c0127cc34f1bb90455e4f7869e15e5542173
2020-07-06 14:53:55 +08:00
Bowgo Tsai
307d2bba7d Allow unlocked in VTS
VTS was running on a userdebug build GSI before Android 10.
Starting from Android 10, VTS is switched to running on top of a
user build GSI image, plus the device-specific boot-debug.img to
allow adb root.

   https://source.android.com/compatibility/vts/vts-on-gsi

So 'ro.build.type' will be 'user' because the value comes from
/system/build.prop. Switching to using 'ro.debuggable' to decide
whether we should check the device is locked or not. Note that
'ro.debuggable' will be '1' for userdebug/eng images or when a
boot-debug.img is used.

Bug: 154449286
Test: atest VtsHalKeymasterV4_0TargetTest
Change-Id: If5a90d62f77489aa58f96e908553a052cf6d1e18
Merged-In: If5a90d62f77489aa58f96e908553a052cf6d1e18
(cherry picked from commit 43dd6e34bd)
2020-06-01 13:20:52 +08:00
Bowgo Tsai
43dd6e34bd Allow unlocked in VTS
VTS was running on a userdebug build GSI before Android 10.
Starting from Android 10, VTS is switched to running on top of a
user build GSI image, plus the device-specific boot-debug.img to
allow adb root.

   https://source.android.com/compatibility/vts/vts-on-gsi

So 'ro.build.type' will be 'user' because the value comes from
/system/build.prop. Switching to using 'ro.debuggable' to decide
whether we should check the device is locked or not. Note that
'ro.debuggable' will be '1' for userdebug/eng images or when a
boot-debug.img is used.

Bug: 154449286
Test: atest VtsHalKeymasterV4_0TargetTest
Change-Id: If5a90d62f77489aa58f96e908553a052cf6d1e18
2020-05-29 07:49:11 +00:00
David Zeuthen
b1e8ff545a Identity Credential: Add method to accept verification token.
This is to facilitate HAL implementations using a TA existing in a
different environment than where auth tokens are minted. This method
will be used by credstore in a companion CL.

This modifies version 2 of the Identity Credential API (which was
never been released) to add a new method and creates version 2 of the
Keymaster types-only AIDL API to include the new VerificationToken
parcelable and SecurityLevel enum.

Bug: 156076333
Test: atest VtsHalIdentityTargetTest
Test: atest android.security.identity.cts
Merged-In: I7d05413a9ec70225ce419079f3cc9daf026cf744
Change-Id: Idd7ab041d87617556ed840403033b642f8c2ab86
2020-05-18 15:55:21 -04:00
David Zeuthen
a8ed82cbb4 Identity Credential: Add method to accept verification token.
This is to facilitate HAL implementations using a TA existing in a
different environment than where auth tokens are minted. This method
will be used by credstore in a companion CL.

This modifies version 2 of the Identity Credential API (which was
never been released) to add a new method and creates version 2 of the
Keymaster types-only AIDL API to include the new VerificationToken
parcelable and SecurityLevel enum.

Bug: 156076333
Test: atest VtsHalIdentityTargetTest
Test: atest android.security.identity.cts

Change-Id: I7d05413a9ec70225ce419079f3cc9daf026cf744
2020-05-08 11:33:23 -04:00
Dorin Drimus
b20a4e01ef Allow device properties tags for attestation
Test: atest CtsKeystoreTestCases
Bug: 152945378
Change-Id: I9c85283f007535612bf4ebbfbe8b7e86a758286c
2020-04-20 17:44:56 +02: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
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
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
390825b291 Update KM4 VTS tests to allow s/w implementation to pass.
Although no real devices should have a software implementation,
emulator and cloud devices do, and it's useful to be able to use them
as a development platform, which is facilitated by having useful VTS
tests.

This is in preparation for Keymaster 4.1 implementation and VTS work.

Bug: 140193672
Bug: 140192237
Bug: 140824829
Test: VtsHalKeymaster4.0TargetTest
Change-Id: Idc5de13c342ef1ac62d3131a1a2185d5e78a0d45
Merged-In: Idc5de13c342ef1ac62d3131a1a2185d5e78a0d45
2020-02-11 15:51:03 -07:00
Shawn Willden
4c813d3c21 Remove service death test.
Moving to KM4.1 VTS.

Test: VtsHalKeymasterV4_0TargetTest
Change-Id: I8f2b7ab3305833fe8639fdefb9cc263f99684920
Merged-In: I8f2b7ab3305833fe8639fdefb9cc263f99684920
2020-02-11 15:51:03 -07:00
Shawn Willden
d6afe21ccd Change finish input test to avoid large sizes.
We'll add a large-size test to the Keymaster 4.1 VTS tests.

Test: VtsHalKeymasterV4_0TargetTest
Change-Id: I2460106cf918e44ea5eeac5c518a89c311756eb3
Merged-In: I2460106cf918e44ea5eeac5c518a89c311756eb3
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
Shawn Willden
fcc4c5c71b Remove dependency on libsoftkeymaster.
This is part of a refactor to facilitate reuse in Keymaster 4.1 VTS
tests.

Bug: 140193672
Bug: 140192237
Test: VtsHalKeymasterV4_0TargetTest
Change-Id: I9310a851648c028850f9795d303419c6a7e29a11
Merged-In: I9310a851648c028850f9795d303419c6a7e29a11
2020-02-11 15:51:03 -07: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
0a6755018f Update KM4 VTS tests to allow s/w implementation to pass.
Although no real devices should have a software implementation,
emulator and cloud devices do, and it's useful to be able to use them
as a development platform, which is facilitated by having useful VTS
tests.

This is in preparation for Keymaster 4.1 implementation and VTS work.

Bug: 140193672
Bug: 140192237
Bug: 140824829
Test: VtsHalKeymaster4.0TargetTest
Change-Id: Idc5de13c342ef1ac62d3131a1a2185d5e78a0d45
2020-01-21 01:31:28 -07:00
Shawn Willden
13f4bf8491 Remove service death test.
Moving to KM4.1 VTS.

Test: VtsHalKeymasterV4_0TargetTest
Change-Id: I8f2b7ab3305833fe8639fdefb9cc263f99684920
2020-01-21 01:31:16 -07:00
Shawn Willden
c78dc91896 Change finish input test to avoid large sizes.
We'll add a large-size test to the Keymaster 4.1 VTS tests.

Test: VtsHalKeymasterV4_0TargetTest
Change-Id: I2460106cf918e44ea5eeac5c518a89c311756eb3
2020-01-21 01:24:16 -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
2adf7fb2d5 Remove dependency on libsoftkeymaster.
This is part of a refactor to facilitate reuse in Keymaster 4.1 VTS
tests.

Bug: 140193672
Bug: 140192237
Test: VtsHalKeymasterV4_0TargetTest
Change-Id: I9310a851648c028850f9795d303419c6a7e29a11
2020-01-21 01:01:31 -07:00
Automerger Merge Worker
9193bd3eae Merge "Add TAG_MAC_LENGTH to EncryptionOperationsTest.AesWrongPurpose" am: a4bffdbeb0 am: 336af5783c am: c4b764ca09
Change-Id: I2847afc7dffa74a30f99a73042c7a07bd768188b
2020-01-06 19:02:05 +00:00
Wenhao Wang
a4bffdbeb0 Merge "Add TAG_MAC_LENGTH to EncryptionOperationsTest.AesWrongPurpose" 2020-01-06 18:22:49 +00:00
Automerger Merge Worker
c6f6cc6240 Merge "Remove creation time checks." am: 0184f1836d am: 58a95666eb am: 0804118fd5
Change-Id: Idb23e003f85002890d423c4e79329990bf8cb3af
2020-01-03 21:34:37 +00:00
Treehugger Robot
0184f1836d Merge "Remove creation time checks." 2020-01-03 21:09:18 +00:00
Shawn Willden
534085b76a Remove creation time checks.
We should not be relying on the HAL service to add CREATION_TIME to
keys.  It was always intended to be an optional tag that could be
added by keystore, or maybe the caller of keystore.  One widespread
Keymaster implementation started adding it (somewhat erroneously) if
it wasn't provided, and it appears that this implementation's behavior
became assumed to be the required behavior.

Test: VtsHalKeymasterV4_0TargetTest
Change-Id: I34267c4e1f59fd8ee5f898f8c746a7b49f4d74a5
2019-12-29 21:33:00 -08:00
Wenhao Wang
6008f37ae9 Add TAG_MAC_LENGTH to EncryptionOperationsTest.AesWrongPurpose
Without the setting of TAG_MAC_LENGTH, the test fails due to
MISSING_MAC_PURPOSE.

Bug: 145626599
Test: VtsHalKeymasterV4_0TargetTest
Change-Id: Ic58411b86e07dfeeb78211abf9271ee995beabc9
2019-12-23 11:29:19 -08:00
Automerger Merge Worker
418ddc1754 Merge "Updating a public exponent check" am: 3702b15a2a am: 42b6ecbd53 am: d680601c72
Change-Id: If2a31f11981f6c793efc70a739fe54160c4fc281
2019-12-19 17:10:39 +00:00
Automerger Merge Worker
1026f2c33f Merge "Adding sanity check for VBMeta device state" am: 63cc8d12a5 am: 051f044853 am: ff9179099e
Change-Id: I305f6f30a2f5f4ddb483131a5ef48cf501fb2b74
2019-12-19 17:10:29 +00:00
Treehugger Robot
3702b15a2a Merge "Updating a public exponent check" 2019-12-19 15:28:33 +00:00
Max Bires
444468b3dd Updating a public exponent check
This is updating the public exponent being checked from 3 to 65537. The
test was updated to use the latter public exponent without the check
also being updated

Test: atest VtsHalKeymasterV4_0TargetTest
Change-Id: I55fa2e67c94f0c52a1d65644f16b5f703a661e00
2019-12-19 00:49:24 -08:00
Treehugger Robot
63cc8d12a5 Merge "Adding sanity check for VBMeta device state" 2019-12-19 08:43:15 +00:00
Automerger Merge Worker
82bf9e83f9 Merge "Convert VtsHalKeymasterV*_0TargetTest to be parameterized test" am: aae9ff2315 am: 5960d7b49e am: 78648b8a28
Change-Id: I6d7383a4649ac9c1f2144c7ec05580e3c79486ca
2019-12-11 22:28:32 +00:00