-
Notifications
You must be signed in to change notification settings - Fork 10
Provide a TAP device to enclave application #43
Commits on Nov 17, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 6d1f996 - Browse repository at this point
Copy the full SHA 6d1f996View commit details -
...because nitriding is no longer (just) a package.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 772c1db - Browse repository at this point
Copy the full SHA 772c1dbView commit details -
Philipp Winter committed
Nov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 63533c0 - Browse repository at this point
Copy the full SHA 63533c0View commit details -
Add system architecture diagram.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 95c1aab - Browse repository at this point
Copy the full SHA 95c1aabView commit details -
Add handler that allows for secret registration.
Nitriding is going to be running two Web servers: one is public-facing and meant to be accessed by clients and the other is enclave-facing and meant to be accessed by the enclave application.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 63faf97 - Browse repository at this point
Copy the full SHA 63faf97View commit details -
Add Makefile and refactor standalone application.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 3ffa59d - Browse repository at this point
Copy the full SHA 3ffa59dView commit details -
Philipp Winter committed
Nov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 523667b - Browse repository at this point
Copy the full SHA 523667bView commit details -
Add target to build nitriding executable.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for d2b9202 - Browse repository at this point
Copy the full SHA d2b9202View commit details -
Add function for creating a unix domain socket.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 21d68c8 - Browse repository at this point
Copy the full SHA 21d68c8View commit details -
Philipp Winter committed
Nov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 755834f - Browse repository at this point
Copy the full SHA 755834fView commit details -
Nitriding is now a stand-alone application, obviating the need for an API to add HTTP handlers.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 167c5cf - Browse repository at this point
Copy the full SHA 167c5cfView commit details -
Re-create networking if necessary.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 3f19c82 - Browse repository at this point
Copy the full SHA 3f19c82View commit details -
Philipp Winter committed
Nov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for a202081 - Browse repository at this point
Copy the full SHA a202081View commit details -
Display domain socket address.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 52ad0d6 - Browse repository at this point
Copy the full SHA 52ad0d6View commit details -
Philipp Winter committed
Nov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for ea0971f - Browse repository at this point
Copy the full SHA ea0971fView commit details -
Rename handlers and add tests.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 3461486 - Browse repository at this point
Copy the full SHA 3461486View commit details -
Philipp Winter committed
Nov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for cf0284c - Browse repository at this point
Copy the full SHA cf0284cView commit details -
Philipp Winter committed
Nov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for f60dcf2 - Browse repository at this point
Copy the full SHA f60dcf2View commit details -
Block forever after starting the enclave.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 894f701 - Browse repository at this point
Copy the full SHA 894f701View commit details -
Add Go dependencies of command line tool.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 02da09e - Browse repository at this point
Copy the full SHA 02da09eView commit details -
Add reverse proxy for enclave application.
The reverse proxy terminates TLS and forwards all but a select few HTTP requests to the enclave application, which runs its own Web server. Since the reverse proxy terminates TLS, the enclave application does not need to bother with certificates and can expose a simple HTTP server.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for a120b7c - Browse repository at this point
Copy the full SHA a120b7cView commit details -
Provide a function to shut down the enclave.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 00f40b8 - Browse repository at this point
Copy the full SHA 00f40b8View commit details -
Allow application to register key material.
Non-HTTP enclave applications need a way to link their key material to the attestation document, which serves as our root of trust. This commit adds a new enclave-internal endpoint that allows applications to register a hash over their public key material. This hash (along with a hash over nitriding's HTTPS certificate) is then embedded in attestation documents.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for b3d08c2 - Browse repository at this point
Copy the full SHA b3d08c2View commit details -
Add handler to signal readiness.
This enclave-internal HTTP handler allows applications to signal their readiness to nitriding. When the handler is called, nitriding starts its Internet-facing Web server.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for efb5580 - Browse repository at this point
Copy the full SHA efb5580View commit details -
Replace domain socket with TCP port.
Domain sockets are great for high-throughput applications but we don't need troughput here; we need ease of use.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 80812c1 - Browse repository at this point
Copy the full SHA 80812c1View commit details -
Re-add loopback interface creation.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for f86cd67 - Browse repository at this point
Copy the full SHA f86cd67View commit details -
A simple Python client that retrieves its IP address by connecting to a Web server.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 9ab4012 - Browse repository at this point
Copy the full SHA 9ab4012View commit details -
Rename path from "key" to "hash".
The endpoint takes as input a SHA-256 hash, so "hash" better reflects what's going on behind the scenes; "key" is too broad of a term.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for e757a4c - Browse repository at this point
Copy the full SHA e757a4cView commit details -
Update documentation and architecture diagram.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 82c0b1f - Browse repository at this point
Copy the full SHA 82c0b1fView commit details -
Simplify the way we use autocert.
This patch makes use of Let's Encrypt's tls-alpn-01 challenge which is simpler than the http-01 challenge because it does not require a separate listener on port 80.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 130eb77 - Browse repository at this point
Copy the full SHA 130eb77View commit details -
...and add a -f to rm, while we're at it.
Philipp Winter committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 695161d - Browse repository at this point
Copy the full SHA 695161dView commit details
Commits on Nov 18, 2022
-
Make handler naming consistent.
Philipp Winter committedNov 18, 2022 Configuration menu - View commit details
-
Copy full SHA for e4c63a9 - Browse repository at this point
Copy the full SHA e4c63a9View commit details -
Move Sleep call to signalReady.
Philipp Winter committedNov 18, 2022 Configuration menu - View commit details
-
Copy full SHA for 83863b2 - Browse repository at this point
Copy the full SHA 83863b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d8133d - Browse repository at this point
Copy the full SHA 8d8133dView commit details -
Initialize array with a handful of bytes.
...to make the array distinct from the default, which is all 0-bytes.
Philipp Winter committedNov 18, 2022 Configuration menu - View commit details
-
Copy full SHA for e8b9338 - Browse repository at this point
Copy the full SHA e8b9338View commit details -
Philipp Winter committed
Nov 18, 2022 Configuration menu - View commit details
-
Copy full SHA for 2ed7aba - Browse repository at this point
Copy the full SHA 2ed7abaView commit details
Commits on Nov 19, 2022
-
So far, nitriding has used DHCP to obtain an IP address, which adds complexity and unnecessary attack surface. This commit replaces our use of DHCP with a hard-coded IP address.
Philipp Winter committedNov 19, 2022 Configuration menu - View commit details
-
Copy full SHA for e05c1f4 - Browse repository at this point
Copy the full SHA e05c1f4View commit details
Commits on Nov 22, 2022
-
Finish creation of tap0 interface.
This commit wraps up the configuration of the tap0 interface. We configure the interface statically to avoid having to use an in-enclave DHCP client -- an unnecessary security risk.
Philipp Winter committedNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for bcac0c9 - Browse repository at this point
Copy the full SHA bcac0c9View commit details -
Cheers to Ralph for pointing out the lack of explanation.
Philipp Winter committedNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for c4c72c5 - Browse repository at this point
Copy the full SHA c4c72c5View commit details -
Don't use multicast MAC address.
Least significant bit of the most significant byte indicates a multicast address if set.
Philipp Winter committedNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for 6c17bfd - Browse repository at this point
Copy the full SHA 6c17bfdView commit details -
Set default gateway after activating link.
...otherwise, the operation fails.
Philipp Winter committedNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for 6990ac2 - Browse repository at this point
Copy the full SHA 6990ac2View commit details -
Use requests.status_codes.codes.ok instead of 200.
Philipp Winter committedNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for 621b1e4 - Browse repository at this point
Copy the full SHA 621b1e4View commit details -
Invoke r.raise_for_status() after request.
Philipp Winter committedNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for 41d8af8 - Browse repository at this point
Copy the full SHA 41d8af8View commit details -
Don't mix chi's major version numbers.
This commit removes the chi import that's not part of its v5 API. It also initializes chi's middleware before we create routes because chi requires that.
Philipp Winter committedNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for a832419 - Browse repository at this point
Copy the full SHA a832419View commit details
Commits on Nov 23, 2022
-
Validate all command line arguments.
This commit 1) ensures that all required command line arguments are present and 2) validates the arguments' values. This commit also changes the type of some configuration variables to more appropriate types, e.g., uint16 for AF_INET port numbers.
Philipp Winter committedNov 23, 2022 Configuration menu - View commit details
-
Copy full SHA for 9906e90 - Browse repository at this point
Copy the full SHA 9906e90View commit details -
Add prefix to serialized attestation hashes.
This is going to facilitate the transition to a different hash function.
Philipp Winter committedNov 23, 2022 Configuration menu - View commit details
-
Copy full SHA for c568165 - Browse repository at this point
Copy the full SHA c568165View commit details
Commits on Nov 24, 2022
-
Add FIXME and refer to GitHub issue.
Philipp Winter committedNov 24, 2022 Configuration menu - View commit details
-
Copy full SHA for 7b6f27e - Browse repository at this point
Copy the full SHA 7b6f27eView commit details -
Use latest Go version in GitHub action.
Philipp Winter committedNov 24, 2022 Configuration menu - View commit details
-
Copy full SHA for de88f4d - Browse repository at this point
Copy the full SHA de88f4dView commit details
Commits on Nov 29, 2022
-
Replace our own constants with the ones from math.
This adds clarity.
Philipp Winter committedNov 29, 2022 Configuration menu - View commit details
-
Copy full SHA for b78c4b8 - Browse repository at this point
Copy the full SHA b78c4b8View commit details -
Use flag.UintVar for all ports.
There's no reason to allow negative ports and Go's spec guarantees that a uint is at least 32 bits -- the size of an AF_VSOCK port.
Philipp Winter committedNov 29, 2022 Configuration menu - View commit details
-
Copy full SHA for a098ea3 - Browse repository at this point
Copy the full SHA a098ea3View commit details -
Install requests via apk instead of pip.
Ralph measured that this saves around 20 MB of space.
Philipp Winter committedNov 29, 2022 Configuration menu - View commit details
-
Copy full SHA for 8710b38 - Browse repository at this point
Copy the full SHA 8710b38View commit details
Commits on Jan 20, 2023
-
Delete outdated references to HTTP-01 challenge.
Philipp Winter committedJan 20, 2023 Configuration menu - View commit details
-
Copy full SHA for 94d7d99 - Browse repository at this point
Copy the full SHA 94d7d99View commit details -
Update to latest dependencies.
Note that we have to run `go get gvisor.dev/gvisor/runsc@go` in addition to `go get -u` because we need gvisor/runsc's Go branch: https://github.com/google/gvisor#using-go-get
Philipp Winter committedJan 20, 2023 Configuration menu - View commit details
-
Copy full SHA for beed0b9 - Browse repository at this point
Copy the full SHA beed0b9View commit details -
Remove unused curTime argument.
Philipp Winter committedJan 20, 2023 Configuration menu - View commit details
-
Copy full SHA for c850d56 - Browse repository at this point
Copy the full SHA c850d56View commit details
Commits on Jan 24, 2023
-
Be explicit about enclave-internal endpoints.
Philipp Winter committedJan 24, 2023 Configuration menu - View commit details
-
Copy full SHA for 9edb2c4 - Browse repository at this point
Copy the full SHA 9edb2c4View commit details