Commit Graph

7 Commits

Author SHA1 Message Date
David Drysdale
388597703e Secretkeeper: use Ed25519 identity key
Test: VtsSecretkeeperTargetTest
Change-Id: I27aebb8913c34f043b7ccc7b6e23969377313e1e
2024-01-09 17:52:15 +00:00
David Drysdale
c3aa44207f secretkeeper: add fuzzer
Move nonsecure implementation code out of main.rs and into a new
secretkeeper_nonsecure library, to allow re-use in both the nonsecure
service and the new fuzzer.

The fuzzer drops the `LocalTa` instance on each input, so adjust the
error path to cope with this happening (the channels will fail).

Test: build, fuzz
Bug: 291228655
Change-Id: Ibe2ca5db9a9c8eed129ac5a90de85b933ab256a0
2023-12-18 17:31:58 +00:00
Shikha Panwar
2759df0d3c [Secretkeeper] In-memory KeyValueStore
We introduce InMemoryStore, an implementation of KeyValueStore trait.
This can be used for implementing backends that VTS can run against.

Bug: 291224769
Test: atest VtsSecretkeeperTargetTest
Change-Id: Id109ee3bd38ec0979953b6285019c97d418172ef
2023-12-12 14:24:14 +00:00
Shikha Panwar
3f136b2914 Replace secretkeeper_comm_nostd->secretkeeper_core_nostd
Moving SecretkeeperTa struct to secretkeeper_core

Bug: 291224769
Test: Builds
Change-Id: I6f1a7ef08580e2c9383abcb88997a8eb11c6b14a
2023-12-08 13:51:51 +00:00
David Drysdale
8898d2ec57 Secretkeeper: add AuthGraph key exchange
Add `ISecretkeeper::getAuthGraphKe()` method to the Secretkeeper HAL.

Align the AIDL targets between AuthGraph and Secretkeeper, and add
some defaults that automatically link to the current version of the
Secretkeeper AIDL targets.

Move the non-secure implementation of AuthGraph to run the TA in a
separate thread.

Alter the nonsecure implementation of Secretkeeper so that it no longer
directly implements Secretkeeper functionality, but instead re-uses
common code from the Secretkeeper reference implementation.  This
involves re-using the common implementation of the HAL service (from
`authgraph_hal`), but also involves using the reference implementation
of the the TA code that would normally run in a separate secure
environment.  The latter code expects to run in a single-threaded
environment, so run it in a single local thread.

Note that the negotiated session keys emitted by AuthGraph are not yet
used by Secretkeeper (coming in a subsequent CL).

Extend the Secretkeeper VTS tests to invoke the AuthGraph VTS inner
tests on the returned IAuthGraphKeyExchange instance, exercising the
instance as an AuthGraph sink.

Bug: 291228560
Test: VtsSecretkeeperTargetTest
Change-Id: Ia2c97976edc4530b2c902d95a74f3c340d342174
2023-12-06 06:50:19 +00:00
Jooyung Han
bc19229812 Create secretkeeper HAL APEX
Bug: 276190333
Test: VtsSecretkeeperTargetTest
Change-Id: Ia932b8eaaccf806d7fbfd764db2922a5ff1a9a1b
2023-11-29 14:27:07 +09:00
Shikha Panwar
eb223ba883 Secretkeeper implementation: in-HAL/nonsecure impl
Create the default/reference implementation of Secretkeeper HAL. Status
quo, this is non-secure implementation. In reality, the HAL should be
backed by a privileged component such a trusted app.

Bug: 291224769
Test: Topic includes VTS
Change-Id: I6a4ad50482d537f5438de6201275f4020cd827df
2023-11-17 18:21:35 +00:00