Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrity docs #189

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Conversation

andrewlawhh
Copy link
Collaborator

No description provided.

Copy link
Member

@chester-leung chester-leung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Left a few comments.


Overview
--------
The main idea behind integrity support is to tag each step of computation with a MAC, attached by the enclave worker when it has completed its computation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you elaborate on what exactly the MAC is over?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See new commit

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be good to elaborate a bit further on what is MAC'd over -- maybe for example you can explain what is in each LogEntry, similar to what we say in the "Building Blocks" section of this document (but of course with the updated fields)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the flatbuffers schema explicitly and a short description of each object in 2db9389

docs/src/integrity/integrity.rst Outdated Show resolved Hide resolved
docs/src/integrity/integrity.rst Outdated Show resolved Hide resolved
docs/src/integrity/integrity.rst Outdated Show resolved Hide resolved

Enclave Code
^^^^^^^^^^^^
In the enclave code (C++), modifications were made to the ``FlatbuffersWriters.cpp`` file.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modifications were also made to FlatbuffersReaders for the during-execution integrity checks: checking whether all blocks that were outputted from the previous ecall indeed were received by the subsequent ecall.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you also add a section about the during-execution checks and post-verification checks?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you elaborate on this? I think I wrote a little about the post verification checks in the part about the "Scala / Job Verification Engine Code" which outlines the reconstruction of the executed and expected. Do you want me to explain more in this section?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think it'd be good to either have a separate section or to add to the "Overview" section a bit about the during-execution integrity checks and the post-verification checks, i.e. say that as part of integrity we perform checks during execution and post-execution. In particular, maybe we can talk about what each is checking for.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a little more detail in commit 2db9389

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants