June 6 Delivery - ku-sldg/stairCASE GitHub Wiki

Attestation Demo Punch List

Todo list for getting the attestation system integrated with the larger CASE June 6 demo. Annotate with due dates and responsibilities.

  1. Infrastructure

    • Communication among UserAM & PlatformAM - Michael
      • Move to data port communications
      • Move request and evidence between UserAM and PlatformAM
    • Signing and signature checking - Grant
      • Issues on CAmkES
      • Works on Linux VM - Will face CMmkES signature if we have to, but would rather not.
    • Nonce generation - Grant
      • Linux is the only place we need this for demo
      • Accesses ODROID random number generator
    • Communication among UserAM & UAVAM
      • Call API generated by HAMR - Collins
      • Decide on message structure - All - Wrapper around Copland evidence for request and evidence - All - Evidence to JSON function and inverse - Grant
    • Measurement - Perry, Michael - Integrity measurement for UxAS image (UserAM) - Integrity measurement for VM (PlatformAM)
    • Copland protocol execution via AM - Grant, Adam, Michael
      • Compile statically to AVM - Execute AVM on AM
  2. UserAM

    • Startup with Key in image
    • Perform a measurement
    • Send initial evidence to UAVAM with 0 nonce
    • Receive request from UAVAM
    • Execute measurement
    • Send request to PlatformAM
    • Receive evidence from PlatformAM
    • Sign evidence
    • Send evidence to UAVAM
      • Loop back to Receive Request
  3. PlatformAM

    • Startup with Key in image
    • Receive request from UserAM
    • Perform measurement
    • Sign evidence
    • Send evidence to UserAM
  4. UAVAM

    • Startup with Key in image
    • CAkeML file of data structures compiled in for initialization
    • Receive initial evidence from UserAM
    • Send request to UserAM with nonce
    • Receive evidence from UserAM
    • Check signatures and values
    • Update good/bad table
      • pseudo-random wait
      • Loop back to send request
  5. Simplifications for June Demo

    • No sel4AM
    • Keys are stored in images
    • AMs execute single, hard coded protocols
    • No time outs or other error handling
    • One ground station whose parameters are hard coded