- AP - TODO VERIFY PIN DOCS
- AP calls
send_validateto validate component's authenticity - Component calls
receive_validateto respond to AP's validation request - AP sends attestation command to component
- Component calls
send_validateto validate AP's authenticity - AP calls
receive_validateto respond to component's validation request - Component responds with attestation data
- AP receives attestation data and prints it
- AP calls
validate_componentsensure authenticity of all components - AP calls
boot_componentsto boot all components - AP prints boot message
- AP boots
For each component:
- AP call
send_validateto validate components's authenticity - Component calls
receive_validateto respond to AP's validation request
For each component:
- AP sends boot command to component
- Component calls
send_validateto validate AP's authenticity - AP calls
receive_validateto respond to component's validation request - Component sends AP it's boot message
- AP receives component's boot message and prints it
- Server creates a random 16 byte nonce using chips onboard TRNG chip
- Sever sends the nonce to the client
- Client calls
receive_validateto respond to server - Server calls
verify_signaturewith the recieved signature
- Client receives nonce from server
- Client calls
create_signaturewith the received nonce - Client sends signature to server
int create_signature(uint8_t* data, size_t size, uint8_t* secret, uint8_t* dest)
- Initializes an MD5 hash
- Updates the hash with
data - Updates the hash with the 16 byte
secret - Writes MD5 hash to
dest
int verify_signature(uint8_t* data, size_t size, uint8_t* secret, uint8_t* signature)
- Calls
create_signaturewithdataandsecret - Compares that result with
signatureusingmemcmp