Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 4.57 KB

psa_adac_scenarios.md

File metadata and controls

34 lines (28 loc) · 4.57 KB

PSA ADAC Scenarios

Scenario ID Section Description Test Cases
S_ADAC_001 Commands Verify that the following commands are recognized by the target and do not return ADAC_INVALID_COMMAND status.
1. Discovery
2. Authentication Start
3. Authentication Response
4. Close Session
5. Lock Debug
test_a002
S_ADAC_002 Commands Send two authentication-start commands back-to-back and verify that the challenge vector obtained in the response is different. test_a001
S_ADAC_003 Commands Use discovery command to query the target for supported response fragment formats. Check the following constraints for the response:
1. token_formats (Type ID 0x0100) TLV enlists token_adac (Type ID 0x200)
2. cert_formats (Type ID 0x0101) TLV enlists cert_adac (Type ID 0x201)
3. psa_lifecyle TLV indicates only one state.
test_a003
S_ADAC_004 Commands Send discovery command with list of specified TLV entries, both in increasing and decreasing order. Verify that the target responds with ADAC_SUCCESS status. test_a004
S_ADAC_005 Commands Send invalid response fragment as part of Authentication response command sequence and check that the target responds with ADAC_FAILURE status. test_a005
S_ADAC_006 Commands Request two challenge sequences back-to-back. Send the ADAC token signed with the older challenge and verify that the target rejects the token by responding with ADAC_FAILURE. Send the ADAC token with the latest issued challenge and check that the target rejects the updated token as well by responding with ADAC_FAILURE status. test_a005
S_ADAC_007 Commands Send an authentication response command with a NULL payload and verify that the target responds with ADAC_FAILURE status. test_a006
S_ADAC_008 Commands Verify that the target responds to an unrecognized ADAC command with ADAC_INVALID_COMMAND status. test_a007
S_ADAC_009 Commands Verify that for a multiple fragment Authentication response request, the device responds with a ADAC_MORE_DATA_NEEDED status code after each response fragment. test_a001, test_a005
S_ADAC_010 Commands Check that the Close Session command always returns an ADAC_SUCCESS status. test_a001
S_ADAC_011 Constraints In a certificate chain, provide a leaf certificate before a root certificate and verify that the target responds with an error. test_a008
S_ADAC_012 Constraints Check that a certificate is rejected due to each of the following scope-limiting feature:
1. Role
2. Lifecycle
test_a008
S_ADAC_013 Constraints Check that if two or more distinct non-neutral values are present in the certificate chain, a failure response is obtained. test_a009
S_ADAC_014 Constraints Request a permission value (perm_req) via authentication token which is denied due to a restrictive perm_mask field. Check that the authentication response is successful. test_a002
S_ADAC_015 Constraints Request access to software partition with no software partition ID listed in the certificate chain. Check that success status is reported. test_a010
S_ADAC_016 Constraints Verify that the reserved fields of TLV sequences read as 0 for ADAC version 1.0 implementation. test_a011
S_ADAC_017 Constraints Verify that when the host sends ADAC_LCS_CHANGE command, the target does not respond with ADAC_INVALID_COMMAND status. test_a012
S_ADAC_018 Constraints Verify that when the host sends ADAC_LCS_CHANGE command without a TLV sequence containing lifecycle state, the target responds with ADAC_INVALID_PARAMETERS status. test_a012

Note

  1. The list of identified scenarios is not exhaustive and is subject to change.
  2. Some of the listed scenarios could be descoped or classified as testing limitation.

License

Arm PSA test suite is distributed under Apache v2.0 License.


Copyright (c) 2021-2023 Arm Limited and Contributors. All rights reserved.