oasisprotocol / oasisprotocol/oasis-core

Simplify may query field in CHURP SGX policy

Open
#6,553 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

c:key management
Dominant language
Go
Stars
369
Forks
151
Avg merge
1d 3h
Merged PRs (30d)
6

Description

The SGX policy structure was copied from the old key manager, where enclaves are mapped to runtime IDs. Since derived key shares are not bound to the caller's runtime ID, the hash map could be simplified to a vector of enclave identities. This would likely also allow us to remove the runtime ID from the key share request.

Note that all enclaves included in the policy are allowed to query all keys. This means that runtime A can query keys for runtime B if allowed by the policy. And this is fine, as this enables key sharing across different runtimes. Binding key shares to a runtime ID was considered as an alternative but was intentionally not adopted.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the SGX policy structure and the key share request implementation described in the issue. Determine how the runtime-ID map is used, then verify that a vector of enclave identities preserves the stated cross-runtime key-sharing behavior and whether the runtime ID can be removed from the request.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
blockchain, security
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.