Skip to content

MCUboot invokes aes_ctr encrypt and decrypt operations before initialization #2393

@Karambite

Description

@Karambite

In boot_enc_encrypt and boot_enc_decrypt calls aes_ctr encrypt and decrypt operations before initializing them.

When MCUboot verifies the secondary image and attempts to decrypt (an encrypted image), it ends up calling bootutil_aes_ctr_encrypt, but at this point bootutil_aes_ctr_drop has been called, dropping the aes instance. MCUboot should re-initialize the aes instance since the porting layer could deinitialize hw that are not reinitiailzed.

Other crypto algo instances have a pattern of initializing before performing an operation and this should carry over to this case as well.

A more likely solution would be to reinitialize when boot_enc_encrypt and boot_enc_decrypt are invoked (like boot_copy_region) that way multiple reinitializations are not neccessary

Metadata

Metadata

Assignees

Labels

area: coreAffects core functionalitycryptoEncryption support

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions