Skip to content

Commit 279331b

Browse files
author
Jamie C. Driver
committed
attestation: only allow attestation initialisation on secure devices
1 parent 3bec0a6 commit 279331b

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

jade_attest.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,9 @@ def attestation_verify(jade, args):
192192
if verinfo['BOARD_TYPE'] not in ESP32S3_CHIP_BOARDS:
193193
print('Attestation only available on esp32s3 chipset')
194194
sys.exit(2)
195+
if verinfo['JADE_FEATURES'] != 'SB':
196+
print('Attestation only available on secure-boot devices')
197+
sys.exit(3)
195198

196199
if args.initialise:
197200
attestation_initialise(jade, args)

main/attestation/attestation.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
#define JADE_ATTEST_EFUSE EFUSE_BLK_KEY5
3333
#define JADE_ATTEST_HMAC_EFUSE_ID (JADE_ATTEST_EFUSE - EFUSE_BLK_KEY0)
3434

35-
#ifdef CONFIG_DEBUG_MODE
35+
#if defined(CONFIG_DEBUG_MODE) && !defined(CONFIG_SECURE_BOOT)
3636
#define ALLOW_REINITIALISE 1
3737
#endif
3838

@@ -428,6 +428,10 @@ static void rsa_ctx_to_ds_params(mbedtls_rsa_context* rsa, esp_ds_p_data_t* para
428428

429429
bool attestation_can_be_initialised(void)
430430
{
431+
// Only 'secure-boot' units can be set-up with attestation
432+
#ifndef CONFIG_SECURE_BOOT
433+
return false;
434+
#else
431435
// Check efuse is currently unused (ie. 'user', [or already set if in dev mode])
432436
const esp_efuse_purpose_t purpose = esp_efuse_get_key_purpose(JADE_ATTEST_EFUSE);
433437
#ifdef ALLOW_REINITIALISE
@@ -453,6 +457,7 @@ bool attestation_can_be_initialised(void)
453457
}
454458

455459
return true;
460+
#endif // CONFIG_SECURE_BOOT
456461
}
457462

458463
bool attestation_initialised(void)

0 commit comments

Comments
 (0)