Skip to content

Commit

Permalink
Merge branch 'dev' of https://github.com/keystone-enclave/keystone in…
Browse files Browse the repository at this point in the history
…to dev
  • Loading branch information
dayeol committed Jan 12, 2019
2 parents a917276 + fa91552 commit 9abf64e
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 122 deletions.
62 changes: 0 additions & 62 deletions docs/source/Keystone-Demo/Building.rst

This file was deleted.

59 changes: 3 additions & 56 deletions docs/source/Keystone-Demo/Demo-Basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,60 +4,7 @@ Keystone Demo
=============

The Keystone Demo is an example of the current capabilities of the
Keystone enclave framework. The demo consists of:
Keystone enclave framework.

- A server application (server-eapp)
- An untrusted host (enclave-host)
- A "dummy client" for local testing (dummy-client)
- A remote client for demonstration of full remote attestation (trusted-client)

This demo shows how a remote client can request computation to be
performed on an untrusted server using an enclave.

Note: The demo uses test keys and is not safe for production use.

Server eapp
-----------

The demo server enclave application, basic enclave features
(attestation report generation, etc), a simple word-counting feature,
and uses ``libsodium`` for establishing a secure channel.

The enclave first sends a copy of its attestation report, along with
its eccdh public key to the client. Upon receving the client public
key, it establishes a secure channel and asks the enclave-host to wait
for messages.

Once it has received a message, it authenticates and decrypts the
message.

If successful, it supports two message types:

#. word-count of arbitrarily sized block of text
#. exit

For word count, it performs a simple word counting calculation, and
returns the result over the secure channel.

Enclave host
------------

The host serves two functions: starting the enclave, and proxying
network messages.

It can also use the 'dummy client' in which case it sends messages to
the dummy client object, and not over the network. This is useful for
testing in a single process in qemu.

Dummy Client
------------

A simple, single file copy of the client that runs locally in the
host. Useful for test only.

Trusted Client
--------------

A simple remote client that connects to the host, validates the
enclave report, constructs a secure channel, and then can send
messages to the host for computation.
See https://github.com/keystone-enclave/keystone-demo and
documentation contained within.
2 changes: 1 addition & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Welcome to Keystone Enclave's documentation!
:numbered:

Keystone-Demo/Demo-Basics
Keystone-Demo/Building


.. toctree::
:maxdepth: 1
Expand Down
2 changes: 1 addition & 1 deletion riscv-pk
2 changes: 1 addition & 1 deletion riscv-qemu
2 changes: 1 addition & 1 deletion sdk

0 comments on commit 9abf64e

Please sign in to comment.