|
|
|
SPDX-License-Identifier: GPL-2.0+
|
|
|
|
/*
|
|
|
|
* (C) Copyright 2015
|
|
|
|
*/
|
|
|
|
|
|
|
|
esbc_validate command
|
|
|
|
========================================
|
|
|
|
|
|
|
|
1. esbc_validate command is meant for validating header and
|
|
|
|
signature of images (Boot Script and ESBC uboot client).
|
|
|
|
SHA-256 and RSA operations are performed using SEC block in HW.
|
|
|
|
This command works on both PBL based and Non PBL based Freescale
|
|
|
|
platforms.
|
|
|
|
Command usage:
|
|
|
|
esbc_validate img_hdr_addr [pub_key_hash]
|
|
|
|
esbc_validate hdr_addr <hash_val>
|
|
|
|
Validates signature using RSA verification.
|
|
|
|
$hdr_addr Address of header of the image to be validated.
|
|
|
|
$hash_val -Optional. It provides Hash of public/srk key to be
|
|
|
|
used to verify signature.
|
|
|
|
|
|
|
|
2. ESBC uboot client can be linux. Additionally, rootfs and device
|
|
|
|
tree blob can also be signed.
|
|
|
|
3. In the event of header or signature failure in validation,
|
|
|
|
ITS and ITF bits determine further course of action.
|
|
|
|
4. In case of soft failure, appropriate error is dumped on console.
|
|
|
|
5. In case of hard failure, SoC is issued RESET REQUEST after
|
|
|
|
dumping error on the console.
|
|
|
|
6. KEY REVOCATION Feature:
|
|
|
|
QorIQ platforms like B4/T4 have support of srk key table and key
|
|
|
|
revocation in ISBC code in Silicon.
|
|
|
|
The srk key table allows the user to have a key table with multiple
|
|
|
|
keys and revoke any key in case of particular key gets compromised.
|
|
|
|
In case the ISBC code uses the key revocation and srk key table to
|
|
|
|
verify the u-boot code, the subsequent chain of trust should also
|
|
|
|
use the same.
|
|
|
|
6. ISBC KEY EXTENSION Feature:
|
|
|
|
This feature allows large number of keys to be used for esbc validation
|
|
|
|
of images. A set of public keys is being signed and validated by ISBC
|
|
|
|
which can be further used for esbc validation of images.
|