sigpwny / 2024-ectf-uiuc

UIUC's implementation of the Medical Infrastructure Supply Chain (MISC) for MITRE eCTF 2024
Apache License 2.0
5 stars 2 forks source link

Initial protocol for Boot Verification #3

Closed WhiteHoodHacker closed 7 months ago

WhiteHoodHacker commented 7 months ago

@yyaasshh1018 @ramnreddy15 @IshaanChamoli @kcho2027 Create a Mermaid diagram for the boot verification protocol based on the design document and insecure example.

Design doc

Insecure example:

Mermaid documentation:

yyaasshh1018 commented 7 months ago

Boot Verification Protocol

Note
"TTT" refers to "total transaction time."

Booting Device

sequenceDiagram
  participant Host Computer
  participant AP
  participant C1
  participant C2
  Host Computer ->> AP: Boot
  Note over AP, C2: boot.ping is sent simultaneously to both components
  AP ->> C1: boot.ping
  Note over AP, C1: Maximum 1s TTT elapsed
  C1 ->> AP: boot.pong
  alt C1 Response > 1s
    AP -x Host Computer: "Boot Fail"
    AP -->> Host Computer: "C1 Component ID"
  end
  AP ->> C2: boot.ping
  Note over AP, C1: Maximum 1s TTT elapsed
  C2 ->> AP: boot.pong
  alt C2 Response > 1s
    AP -x Host Computer: Boot Fail
    AP -->> Host Computer: C2 Component ID
  end
  Note over Host Computer, C2: Minimum 2.8s TTT elapsed
  AP ->> C1: Go Boot
  C1 -->> AP: C1 Boot_MSG
  AP ->> C2: Go Boot
  C2 -->> AP: C2 Boot_MSG
  AP ->> Host Computer: Boot Success
  AP -->> Host Computer: AP Boot_MSG
  AP -->> Host Computer: C1 Boot_MSG
  AP -->> Host Computer: C2 Boot_MSG
ramnreddy15 commented 7 months ago

Updated the design doc according to the new edits