Revert "tbbr: Use constant-time bcmp() to compare hashes"
This reverts commit b621fb5.

Because of the Trusted Firmware design, timing-safe functions are not
needed. Using them may be misleading as it could be interpreted as being
a protection against private data leakage, which isn't the case here.

For each image, the SHA-256 hash is calculated. Some padding is appended
and the result is encrypted with a private key using RSA-2048. This is
the signature of the image. The public key is stored along with BL1 in
read-only memory and the encrypted hash is stored in the FIP.

When authenticating an image, the TF decrypts the hash stored in the FIP
and recalculates the hash of the image. If they don't match, the boot
sequence won't continue.

A constant-time comparison does not provide additional security as all
the data involved in this process is already known to any attacker.
There is no private data that can leaked through a timing attack when
authenticating an image.

`timingsafe_bcmp()` is kept in the codebase because it could be useful
in the future.

Change-Id: I44bdcd58faa586a050cc89447e38c142508c9888
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
1 parent 4d07e78 commit fabd21ad36a4ae405fbc6a938151620cda8bc31e
@Antonio Nino Diaz Antonio Nino Diaz authored on 9 Feb 2017
Showing 2 changed files
View
drivers/auth/mbedtls/mbedtls_crypto.c
View
drivers/auth/mbedtls/mbedtls_x509_parser.c