-
Notifications
You must be signed in to change notification settings - Fork 1
TrustedCapsules/optee_app
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
genref/ ------------------------------------------------------------------------------- Separate the provisioning of state/credentials from host/ into genref/cmd/cprov. The program cprov should take a <capsuleName>.state file similar to serverref/server_capsules/bio.state and register the keys in secure storage. Each capsule contains its own file and stores in its metadata whether a secure storage file exists under its capsule ID. This is checked during access control validation by trusted application. If a secure storage file should exist but does not exist, then operation is denied. Further, the secure storage file can be used as a canary to detect concurrently open on the same trusted capsule by capsule ID (works even for copies). This will replace capsule_gen/. ------------------------------------------------------------------------------- test/ This is currently host/. It should be broken into functional testing, benchmark testing. Also benchmarking_scripts/ should be folded in as well. Function testing: open/close capsules with different policies. Benchmark testing: open/close breakdown -> hash, encrption, policy evaluation, world switch This will replace host/, benchmarking_scripts/, test_app/. ------------------------------------------------------------------------------- commonref/ Currently this has all the common headers needed by genref/, luaref/, serverref/. Other headers needed by ta/, host/ should be included as the new ta/ is developed. Like common/, commonref/capsuleKeys.h contain a manifest of capsules we support and their IDs. This will replace common/. ------------------------------------------------------------------------------- luaref/ This is the reference policy engine for ta/. The file luaref/fakeoptee.h should be implemented by actual optee trusted application. More detailed descriptions are in that file. The folder luacopy/ is currently a copy of lua/ which does not contain optee modifications. The actual ta/ and luaref/ should be tied to lua/ rather than luacopy/ (I just didn't bother with installing the optee dependencies for my local build). ------------------------------------------------------------------------------- serverref/ This would replace capsule_server/. The optee_client and optee_os need to be modified such that only one world switch is required to transmit a request and receive a reply from the capsule server. The protocol and operations that are supported can be found in commonref/. Further a test client is written in serverref/ for reference. This reference can be used for ta/, optee_os/ and optee_client/ modifications. The list of capsules on the server is defined by commonref/capsuleKeys.h. For each such capsule, we create a *.state, *.log, *.policy file in serverref/server_capsules. The *.log file is where log is appended to on the server. The *.policy file is the policy file that exists on the server (e.g., for updates). The *.state file contains the server states for that capsule with entry format '<key>:<value>\n' This will replace capsule_server/ ------------------------------------------------------------------------------ luacopy/ This is a temp copy of lua/ without optee dependencies because I was too lazy to install the prerequisites. Luaref/ currently points to luacopy, you can change it to lua/ if you have the prerequisites. ------------------------------------------------------------------------------ Makefile, optee_register.sh, optee_setup.sh, run.sh, README Modify as required. ------------------------------------------------------------------------------ protobuf_common/ Remove. ------------------------------------------------------------------------------
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published