Systemsicherheit/7-SGX_Hands-on
Paul Zinselmeyer f28ccea96f
Some checks are pending
Latex Build / build-latex (Assignment 4 - Protokollsicherheit (Praxis)) (push) Waiting to run
Latex Build / build-latex (Assignment 5 - Software Security - Teil 1) (push) Waiting to run
Latex Build / build-latex (Assignment 6 - Software Security - Teil 2) (push) Waiting to run
Latex Build / build-latex (Assignment 4 - Protokollsicherheit (Praxis)) (pull_request) Successful in 1m0s
Latex Build / build-latex (Assignment 5 - Software Security - Teil 1) (pull_request) Successful in 1m2s
Latex Build / build-latex (Assignment 6 - Software Security - Teil 2) (pull_request) Successful in 1m1s
[Assignment-7] add keys of Bob and Oskar
2024-07-06 17:52:46 +02:00
..
employee_keys [Assignment-7] add keys of Bob and Oskar 2024-07-06 17:52:46 +02:00
src [Assignment-7] added embedded device to main.c; adjusted parameter parsing 2024-07-06 17:52:23 +02:00
test [Assignment-7] Flake + App base 2024-07-03 16:16:24 +02:00
.gitkeep [Assignment-7] Flake + App base 2024-07-03 16:16:24 +02:00
flake.lock [Assignment-7] Flake + App base 2024-07-03 16:16:24 +02:00
flake.nix [Assignment-7] update flake and add missing enclave files 2024-07-06 17:42:39 +02:00
Makefile [Assignment-7] Flake + App base 2024-07-03 16:16:24 +02:00
README.md [Assignment-7] app restructure and cleanup 2024-07-06 17:25:34 +02:00

Usage

Setup

Initialize the Enclave keypair by executing: ./signatureproxy proxysetup -pkey <sealed_proxy_key.bin> > <proxy_public_key.pem>

Sign

  1. Create employee signature using ./signatureproxy employee -firm <firmware.bin> -ekey <employee_privat_key.pem> > <employee_signature.der> This step can also be done using OpenSSL: openssl dgst -sha256 -sign <employee_private_key.pem> -out <employee_signature.der> -in <firmware.bin>
  2. Use the signature proxy to resign the firmware using ./signatureproxy proxy -pkey <sealed_proxy_key.bin> -epub <employee_public_key.der> -firm <firmware.bin> > <proxy_signature.der> The enclave verifies the employee signature and signs the firmware if the signature is valid.
  3. Verify signature using cat <proxy_signature.der> | ./signatureproxy embedded -firm <firmware.bin> -ppub <proxy_public_key.pem> This step can also be done using OpenSSL: openssl dgst -sha256 -verify <proxy_public_key.pem> -signature <proxy-signature.der> <firmware.bin>