mc2-project / mc2-project/opaque-sql

Integrity verification

Open
#61 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
190
Forks
70
PR merge metrics
No merged PRs in 30d

Description

Integrity verification would require the following changes:

  1. Construct a task DAG after a job has been submitted using Spark's EventListener API.
  2. Serialize the DAG using Flatbuffers.
  3. Construct task identifiers within each enclave call based on the operation that the task is to perform.
  4. Ensure that all output from an enclave call is uniquely identified with its task identifier.
  5. Ensure that each enclave call records the identifiers of each of its inputs.
  6. Send these (input, task, output) tuples from each enclave call to a verifier enclave.
  7. Implement the verifier enclave, which takes the task DAG and the set of (input, task, output) tuples, and checks whether the two are isomorphic.

Contributor guide

No contributing guide indexed for this repository

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

The issue names no files, tests, or entry points; begin by locating the Spark EventListener integration and enclave-call code. Done means constructing and serializing the task DAG, assigning and recording task identifiers and input/output tuples, sending them to a verifier enclave, and checking DAG isomorphism.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala, spark
Domain
data-engineering, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.