Keep the colleague's microbu-esp32c5 tree in this repository
obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but that tree was gitignored, so a clone of this repository could not build the firmware it ships. It is now committed here as ordinary files in its own folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP bridge's signature verification (--trust) used on the bench. Nothing is fetched from or pushed to the colleague's repository; this repository and its remotes carry everything. The folder's own .gitignore keeps build output, downloaded components and private key material out, as it did there; the committed file set is identical to that repository's tracked files. The ESP32-C5 is still flashed from obu-firmware/, which only takes vanetza-idf from microbu-esp32c5/, so the two stay separate folders. FLASHING.md says how to take a newer version of the colleague's tree (copy it over the folder, rebuild, test, commit).
This commit is contained in:
+51
@@ -0,0 +1,51 @@
|
||||
# security-host-05: AtsSecurity, receiving side
|
||||
|
||||
Campaign: `ports/esp_idf/tests/etsi_security_receive.cfg` (26 cases: the compiled
|
||||
`TC_SEC_ITSS_RCV_*` cases of the pinned suite minus those gated by PICS this SUT
|
||||
does not claim, i.e. implicit certificates and Brainpool), host SUT `vidf_sut
|
||||
--security-pool ./certificates` built with `VIDF_SECURITY_VERIFY=ON`, pool from
|
||||
`vidf_test_pool` (now also `CERT_TS_B_AT`, a ticket restricted to a 5 km circle
|
||||
around the SUT position, selected as `PX_AT_CERTIFICATE`). The test system signs
|
||||
in TTCN-3 with `CERT_TS_A_AT`/`CERT_TS_B_AT`; the adapter injects each secured
|
||||
GN PDU into the SUT and reports what the SUT passes up after SN-DECAP as
|
||||
`UtGnEventInd` (`rawPayload` = BTP header plus SDU). A BV case passes when the
|
||||
payload the test system sent is indicated upwards, a BO case when it is not.
|
||||
|
||||
| Case | Verdict | Observed |
|
||||
| --- | --- | --- |
|
||||
| `TC_SEC_ITSS_RCV_MSG_01_BV`, `CAM_01..03_BV`, `CAM_04_BV_XX` | pass | protocol version 3, certificate signer, digest signer after the certificate, x-only signature, region-restricted ticket with the SUT inside: `UtGnEventInd` seen |
|
||||
| `TC_SEC_ITSS_RCV_MSG_01_BO`, `MSG_02_BO` | pass | protocol version 2 / 4: discarded (`check_profile`) |
|
||||
| `TC_SEC_ITSS_RCV_CAM_01..09_BO` | pass | wrong psid, missing/extra header fields, invalid signature algorithm, signer `self`, bad signature: discarded, no `UtGnEventInd` |
|
||||
| `TC_SEC_ITSS_RCV_DENM_01..07_BO`, `DENM_09_BO` | pass | as above for the DENM profile |
|
||||
| `TC_SEC_ITSS_RCV_DENM_01_BV`, `DENM_02_BV_XX` | **error** | ATS defect, IUT-independent (below) |
|
||||
|
||||
## TC_SEC_ITSS_RCV_DENM_01_BV and TC_SEC_ITSS_RCV_DENM_02_BV_XX
|
||||
|
||||
Both testcases read NodeB's position in their variable declaration, before the
|
||||
configuration function has filled the position table:
|
||||
|
||||
```
|
||||
var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
|
||||
...
|
||||
f_cf01Up();
|
||||
```
|
||||
|
||||
`f_getPosition` returns an unbound `LongPosVector` from the still-empty
|
||||
`vc_positionTable`, and building the DENM's `generationLocation` from it raises
|
||||
"Dynamic test case error: Creating a template from an unbound integer value"
|
||||
(pinned `ItsSecurity_TestCases.ttcn` lines 9293 and 9401) before anything is
|
||||
sent to the IUT. The DENM BO cases do not use that variable and run normally.
|
||||
The current upstream head (`forge.etsi.org/rep/ITS/ttcn/ats_sec_ts103096-3`,
|
||||
`master`, `TC_SEC_ITSS_RCV_DENM_01_BV` at line 8608) has the same order. The
|
||||
verdicts are retained as recorded; the testcases were not modified. The
|
||||
receiving DENM profile itself (generationLocation present, certificate signer)
|
||||
is covered by the eight DENM BO cases and by the library's component test
|
||||
(`test_verification`, step 10).
|
||||
|
||||
## What this campaign does not show
|
||||
|
||||
The 99 `TC_SEC_ITSS_RCV_CERT_*` and `TC_SEC_ITSS_RCV_GENMSG_*` cases are
|
||||
commented out in the pinned suite and therefore not compiled; the certificate
|
||||
chain rules they would exercise are covered by the library's component tests
|
||||
(forged ticket, unknown AA, expired ticket, permissions) only. Implicit
|
||||
certificates and Brainpool curves are outside the SUT's PICS.
|
||||
Reference in New Issue
Block a user