Commit Graph

181 Commits

Author SHA1 Message Date
David Drysdale
a5af95bff3 Merge "KeyMint: sync all attestation tags" am: ba8e44599c am: 16d7e387a1
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1719302

Change-Id: I75004dbf0512fafea3396a2884f803faa7fd0828
2021-06-09 06:18:30 +00:00
David Drysdale
ba8e44599c Merge "KeyMint: sync all attestation tags" 2021-06-09 05:49:33 +00:00
David Drysdale
5cbbb6d580 Merge "KeyMint VTS: better early boot key tests" am: f3374d4237 am: 83b0b9a2fc
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1719303

Change-Id: I2814959563c2ea2f6cd9a4561e9504d1570c90ca
2021-06-07 16:43:19 +00:00
David Drysdale
f3374d4237 Merge "KeyMint VTS: better early boot key tests" 2021-06-07 16:05:23 +00:00
David Drysdale
93c72cef92 KeyMint: sync all attestation tags
Get description of ASN.1 schema in HAL and the keymint support library
in sync with each other.  Change code to always list tags in the same
order (by numeric tag).

Bug: 188672564
Bug: 186735514
Test: VtsAidlKeyMintTargetTest
Change-Id: I620f54ba4a265ea69d174f6f44765a8508bfe803
2021-06-07 13:46:49 +01:00
Treehugger Robot
8e928b5b0f Merge "Improve unique attestation docs & tests" am: 0872e42bec am: f5eb250c29
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1719304

Change-Id: I94ee1b03e81fe308166446ed5a9c77f4f4fecdd5
2021-06-07 11:49:11 +00:00
Treehugger Robot
0872e42bec Merge "Improve unique attestation docs & tests" 2021-06-07 11:22:48 +00:00
David Drysdale
adfe6116d5 KeyMint VTS: better early boot key tests
Add a check that the TAG_EARLY_BOOT_ONLY is included in the returned key
characteristics.

Bug: 188672564
Test: VtsAidlKeyMintTargetTest
Change-Id: I200c61f34888c720c47f6289d79cd21d78436b58
2021-06-04 16:42:23 +01:00
David Drysdale
f417c062d1 Merge "KeyMint VTS: test getKeyCharacteristics()" am: 19c7c575f0 am: fdf8b5d957
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1714348

Change-Id: Ia80b988f91e409835ad80e26dc5a45fdcc324b31
2021-06-03 07:45:23 +00:00
David Drysdale
19c7c575f0 Merge "KeyMint VTS: test getKeyCharacteristics()" 2021-06-03 06:55:24 +00:00
Max Bires
995bbe52a3 Merge "Fixing tests to reflect change in CDDL" into sc-dev am: 09c9ab7c9a
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/14739444

Change-Id: I22c525a9e716d5185d96c4cc4782dcd8aa1f11dc
2021-06-03 00:32:19 +00:00
Treehugger Robot
6f87175e16 Merge "Fixing tests to reflect change in CDDL" 2021-06-03 00:25:49 +00:00
Treehugger Robot
bf3990ca24 Merge "Correct the description for getKeyCharacteristics" am: e8d43f7e59 am: bb1b56ab1f
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1723364

Change-Id: I6462aaf864f7c5da64d28749238e9aecaad221fe
2021-06-01 20:13:47 +00:00
Treehugger Robot
1607b3abb2 Merge "Fix for the documentation in TimeStampToken.aidl. HMAC computation will always use 1, which is the value of SecurityLevel.TRUSTED_ENVIRONMENT. This is done for backwards compatibility purpose. Test: N/A Bug: None." am: 006bdf3fa9 am: 94131d871b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1717931

Change-Id: Ied8b5ca9a7d2ae2d6716c4fa31705fd32dcd6472
2021-06-01 20:03:06 +00:00
Treehugger Robot
e8d43f7e59 Merge "Correct the description for getKeyCharacteristics" 2021-06-01 19:49:43 +00:00
Seth Moore
fa3d38d206 Correct the description for getKeyCharacteristics
The description should note that keystore-enforced tags are not to be
returned. This is done so that the keymint implementation doesn't have
to bother keeping track of tags it's not repsonsible for dealing with.

Bug: 186685601
Test: none (it's just a comment change)
Change-Id: I3ff94201c262a5071d271b150dbbf21888d678aa
2021-06-01 11:30:24 -07:00
Treehugger Robot
006bdf3fa9 Merge "Fix for the documentation in TimeStampToken.aidl. HMAC computation will always use 1, which is the value of SecurityLevel.TRUSTED_ENVIRONMENT. This is done for backwards compatibility purpose. Test: N/A Bug: None." 2021-06-01 17:18:21 +00:00
Eran Messeri
90747ad701 Improve unique attestation docs & tests
Improve the documentation and tests related to device-unique
attestation on StrongBox KeyMint devices:
* Test that the chain produced is exactly of length 2.
* Document how the chain needs to be structured.
* Explain the trust properties of the key used for the
  self-signed root.

Test: atest VtsAidlKeyMintTargetTest
Bug: 187803288
Change-Id: I09bb16d6938b567c114485d2df00bde9d3e1ccf9
2021-05-27 18:19:18 +01:00
Max Bires
8dff0b3584 Fixing tests to reflect change in CDDL
This fixes up the tests to go along with the change to the signature
of the MAC key. Primarily, this adds the MAC tag from the MACing
operation over the public key set to be signed into the AAD of the
signature of said MAC key.

Bug: 189018262
Test: atest VtsHalRemotelyProvisionedComponentTargetTest
Change-Id: Ibdcf242e0ae73dee1a08fe98d939130055e4492e
Merged-In: Ibdcf242e0ae73dee1a08fe98d939130055e4492e
2021-05-26 21:42:17 +00:00
Max Bires
f884283cd6 Fixing tests to reflect change in CDDL
This fixes up the tests to go along with the change to the signature
of the MAC key. Primarily, this adds the MAC tag from the MACing
operation over the public key set to be signed into the AAD of the
signature of said MAC key.

Bug: 189018262
Test: atest VtsHalRemotelyProvisionedComponentTargetTest
Change-Id: Ibdcf242e0ae73dee1a08fe98d939130055e4492e
2021-05-26 14:40:32 -07:00
Treehugger Robot
9839acee2e Merge "Correct documentation for update()" am: 25e701b915 am: 302b92e7b3
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1717530

Change-Id: Ia095fdf84607309cda9efd3f5348ea36f4208603
2021-05-26 12:54:05 +00:00
Treehugger Robot
25e701b915 Merge "Correct documentation for update()" 2021-05-26 12:16:04 +00:00
Jiyong Park
a26f0629d3 Merge "Freeze AIDL APIs for SC" into sc-dev 2021-05-25 22:43:57 +00:00
Treehugger Robot
29159c728f Merge "Generate COSE MAC with a callback, not raw key" 2021-05-25 19:35:37 +00:00
Chirag Pathak
8ac0743508 Fix for the documentation in TimeStampToken.aidl. HMAC computation will always use 1, which is the value of SecurityLevel.TRUSTED_ENVIRONMENT. This is done for backwards compatibility purpose.
Test: N/A
Bug: None.

Change-Id: I1fd979908103f9095cc7c306e0d5036d6b357b30
2021-05-25 19:22:43 +00:00
Treehugger Robot
241327c140 Merge "Shifting VTS libs to static_lib entry" 2021-05-25 18:12:22 +00:00
Max Bires
753e88cfda Merge "Shifting VTS libs to static_lib entry" into sc-dev 2021-05-25 16:16:50 +00:00
Seth Moore
026bb7431d Generate COSE MAC with a callback, not raw key
The cppcose_rkp library was updated to generate MAC via callback instead
of passing keys around to allow for stronger MAC key protection.

Bug: 182928606
Test: VtsHalRemotelyProvisionedComponentTargetTest
Test: RemoteProvisionerUnitTests
Change-Id: Ia8a0410408fe3064e904c5282b52f172f8134b9a
Merged-In: Ia8a0410408fe3064e904c5282b52f172f8134b9a
2021-05-25 07:57:13 -07:00
Shawn Willden
0b11d84fdd Correct documentation for update()
update() is no longer allowed to consume only part of the data provided.

Change-Id: Ia64a9c0340f19b5dca6dff2502dc7072021522b6
Test: N/A
2021-05-25 12:14:03 +00:00
David Drysdale
300b555b6b KeyMint VTS: test getKeyCharacteristics()
Bug: 186685601
Bug: 188855306
Test: VtsAidlKeyMintTargetTest
Change-Id: Icf400533b0ded98b9338f2d782d95d90c7efbff4
2021-05-25 11:07:51 +01:00
Jiyong Park
72b6359859 Freeze AIDL APIs for SC
Ignore-AOSP-First: part of SC finalization

Bug: 188713899
Test: m
Change-Id: Iee18cd05954dc8ea08cc4f985499a70977d1af4f
2021-05-25 10:13:26 +09:00
Seth Moore
7735ba5ea9 Generate COSE MAC with a callback, not raw key
The cppcose_rkp library was updated to generate MAC via callback instead
of passing keys around to allow for stronger MAC key protection.

Bug: 182928606
Test: VtsHalRemotelyProvisionedComponentTargetTest
Test: RemoteProvisionerUnitTests
Change-Id: Ia8a0410408fe3064e904c5282b52f172f8134b9a
2021-05-24 12:16:08 -07:00
Max Bires
e857afb6a6 Shifting VTS libs to static_lib entry
If these HALs aren't present on the device, then the test runner will
fail due to test binary trying to dynamically link to libs that aren't
present. Statically linking them will allow the test to fail gracefully
when the test harness sees that the HAL interfaces aren't available on
device.

Fixes: 184797684
Test: atest VtsAidlKeyMintTargetTest
Change-Id: I0f8dea081a51256cfb0e50d6af20038e2b8f1f07
Merged-In: I0f8dea081a51256cfb0e50d6af20038e2b8f1f07
2021-05-23 22:10:13 +00:00
Max Bires
38dd36eaa8 Shifting VTS libs to static_lib entry
If these HALs aren't present on the device, then the test runner will
fail due to test binary trying to dynamically link to libs that aren't
present. Statically linking them will allow the test to fail gracefully
when the test harness sees that the HAL interfaces aren't available on
device.

Fixes: 184797684
Test: atest VtsAidlKeyMintTargetTest
Change-Id: I0f8dea081a51256cfb0e50d6af20038e2b8f1f07
2021-05-23 15:09:08 -07:00
David Drysdale
bad3aebaeb Merge "KeyMint: improve HAL spec and tests" into sc-dev 2021-05-21 13:51:17 +00:00
David Drysdale
216d99293f KeyMint: improve HAL spec and tests
- clarify & test BIGNUM spec
- allow alternative return codes when requesting device unique
  attestation
- use specific error for early boot import failure
- test more early boot key scenarios (in post-early-boot mode)

Bug: 188672564
Test: VtsAidlKeyMintTargetTest
Merged-In: I70a342084a29144aef1ed0ff80fec02cc06ffbc0
Change-Id: I70a342084a29144aef1ed0ff80fec02cc06ffbc0
2021-05-21 07:47:06 +01:00
TreeHugger Robot
0c1aaef83c Merge "KeyMint vts: Correct the EC curve parameter and some return code" into sc-dev 2021-05-21 01:47:14 +00:00
David Drysdale
db0dcf5034 KeyMint: improve HAL spec and tests
- clarify & test BIGNUM spec
- allow alternative return codes when requesting device unique
  attestation
- use specific error for early boot import failure
- test more early boot key scenarios (in post-early-boot mode)

Test: VtsAidlKeyMintTargetTest
Change-Id: I70a342084a29144aef1ed0ff80fec02cc06ffbc0
2021-05-19 16:40:25 +01:00
TreeHugger Robot
bb2b88ae7f Merge changes I10c4beea,I0efc30f3 into sc-dev
* changes:
  KeyMint VTS: local RSA encryption
  KeyMint VTS: local asymmetric verification
2021-05-18 13:58:16 +00:00
Tommy Chiu
3b56cbca28 KeyMint vts: Correct the EC curve parameter and some return code
Strongbox doens't support p-224. Change the curve to p-256 for better
compatibility.
Also update the tags to be filtered on the hw-enforcement list.

Bug: 186735514
Test: VtsAidlKeyMintTargetTest
Change-Id: I3f587c5471ca68b88a565ee9ec2e27d1e9e11b17
Merged-In: Ia8eb4c8e28810de5f37295abd8baed6f01b19a3c
2021-05-18 11:47:13 +08:00
David Drysdale
cad5403270 Merge changes I10c4beea,I0efc30f3
* changes:
  KeyMint VTS: local RSA encryption
  KeyMint VTS: local asymmetric verification
2021-05-17 17:12:40 +00:00
David Drysdale
2b6c351a40 KeyMint VTS: local RSA encryption
Change RSA encryption (with public key) so it happens locally in the
test, rather than by invoking an ENCRYPT operation against KeyMint.

 - Specify MGF1 digest for OAEP mode as (now) required by AIDL spec.
 - Drop tests for too-long encryption inputs.
 - Adjust test comments to reflect decryption-only nature.
 - Change parameter checking tests to do so on DECRYPT rather than ENCRYPT.

Bug: 188385353
Test: VtsAidlKeyMintTargetTest
Merged-In: I10c4beea28387eecfd0bc7c5dfd59a1b66fec21e
Change-Id: I10c4beea28387eecfd0bc7c5dfd59a1b66fec21e
2021-05-17 15:19:48 +01:00
David Drysdale
fe42aa3a3f KeyMint VTS: local asymmetric verification
Change verification of ECDSA and RSA signatures so it happens locally
in the test, rather than by invoking a VERIFY operation against KeyMint.

Bug: 188385353
Test: VtsAidlKeyMintTargetTest
Merged-In: I0efc30f3c96cd70ac636d34718eff53cc23f1480
Change-Id: I0efc30f3c96cd70ac636d34718eff53cc23f1480
2021-05-17 15:19:32 +01:00
David Drysdale
a8d103dd09 KeyMint HAL: cert dates are in milliseconds
Bug: 188385338
Test: None, comment change only
Merged-In: I6251d4a0ba74d111f4c107f9a54a5c45811aa90f
Change-Id: I6251d4a0ba74d111f4c107f9a54a5c45811aa90f
2021-05-17 14:57:23 +01:00
David Drysdale
8d1d302ffa Merge "KeyMint HAL: cert dates are in milliseconds" 2021-05-17 13:45:21 +00:00
Tommy Chiu
77aae9e40e Merge "KeyMint vts: Correct the EC curve parameter and some return code" 2021-05-15 01:50:30 +00:00
David Drysdale
59cae644e7 KeyMint VTS: local RSA encryption
Change RSA encryption (with public key) so it happens locally in the
test, rather than by invoking an ENCRYPT operation against KeyMint.

 - Specify MGF1 digest for OAEP mode as (now) required by AIDL spec.
 - Drop tests for too-long encryption inputs.
 - Adjust test comments to reflect decryption-only nature.
 - Change parameter checking tests to do so on DECRYPT rather than ENCRYPT.

Test: VtsAidlKeyMintTargetTest
Change-Id: I10c4beea28387eecfd0bc7c5dfd59a1b66fec21e
2021-05-12 16:09:44 +01:00
Tommy Chiu
c93c439ad3 KeyMint vts: Correct the EC curve parameter and some return code
Strongbox doens't support p-224. Change the curve to p-256 for better
compatibility.
Also update the tags to be filtered on the hw-enforcement list.

Change-Id: I3f587c5471ca68b88a565ee9ec2e27d1e9e11b17
2021-05-12 19:13:55 +08:00
David Drysdale
df8f52ee8d KeyMint VTS: local asymmetric verification
Change verification of ECDSA and RSA signatures so it happens locally
in the test, rather than by invoking a VERIFY operation against KeyMint.

Test: VtsAidlKeyMintTargetTest
Change-Id: I0efc30f3c96cd70ac636d34718eff53cc23f1480
2021-05-12 11:51:24 +01:00
David Drysdale
2a73db3d9e KeyMint VTS: fix 3DES key sizes
DES key size is 7/8 of what's provided.

Test: VtsAidlKeyMintTargetTest
Change-Id: I645c1df11646d129a9421630cb6e5ed86edb8899
2021-05-10 10:59:19 +01:00