GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
Executable
+28
@@ -0,0 +1,28 @@
|
||||
SUPPORT_CHIP :=
|
||||
SUPPORT_CHIP += xm7206v10 xm7206v10b xm7206v11a
|
||||
|
||||
UBOOT_FILE := uboot.bin
|
||||
|
||||
ifeq ($(AES_ENC), true)
|
||||
UBOOT_SIGNED_FILE := uboot_$(CHIP)_sig_enc.bin
|
||||
else
|
||||
UBOOT_SIGNED_FILE := uboot_$(CHIP)_sig.bin
|
||||
endif
|
||||
|
||||
all: rsa4096pem_gen uboot_rsa_sig.bin
|
||||
|
||||
rsa4096pem_gen:
|
||||
@./rsa4096pem.sh
|
||||
|
||||
uboot_rsa_sig.bin: rsa4096pem_gen
|
||||
ifeq ($(findstring $(CHIP),$(SUPPORT_CHIP)),)
|
||||
$(error you must set valid CHIP:$(SUPPORT_CHIP)!)
|
||||
endif
|
||||
./create_secure_boot_v4.sh $(UBOOT_FILE) $(UBOOT_SIGNED_FILE) $(AES_ENC)
|
||||
|
||||
clean:
|
||||
rm -fr output/
|
||||
|
||||
distclean:clean
|
||||
rm -fr rsa4096pem/
|
||||
rm -rf aes_otp_cfg.txt
|
||||
+278
@@ -0,0 +1,278 @@
|
||||
#! /bin/bash
|
||||
|
||||
#If want to decrypt ddr_init.bin,u-boot.bin and their signatures,
|
||||
#you must to set the KEY and IV for aes, and IV can't be zero;
|
||||
#otherwise, u-boot.bin and their signatures would not be decrypted.
|
||||
|
||||
#The AUX_IV, BOOT_IV and ROOT_KEY0 must be used at the same time.
|
||||
# AUX_IV=00112233445566778899aabbccddeeff
|
||||
# BOOT_IV=00ffeeddccbbaa998877665544332211
|
||||
# M4_FW_IV=
|
||||
# ROOT_KEY0=67452301efcdab8998badcfe103254763322110077665544bbaa9988ffeeddcc
|
||||
|
||||
# if AES_ENABLE=true, the auxcode area and bootcode area will be encrypted by AES
|
||||
AES_ENABLE=$3
|
||||
|
||||
if [ "is${AES_ENABLE}" = "istrue" ];then
|
||||
# AES encryption iv
|
||||
BOOT_IV=00ffeeddccbbaa998877665544332211
|
||||
# AES encryption key
|
||||
ROOT_KEY0=67452301efcdab8998badcfe103254763322110077665544bbaa9988ffeeddcc
|
||||
else
|
||||
BOOT_IV=
|
||||
ROOT_KEY0=
|
||||
fi
|
||||
|
||||
# uboot.bin original file
|
||||
uboot_file=${1}
|
||||
# signed uboot.bin file
|
||||
uboot_sig_file=${2}
|
||||
|
||||
if [ -f ${uboot_file} ];then
|
||||
echo ""
|
||||
echo " uboot_file = $uboot_file";
|
||||
#echo " AUX_IV = $AUX_IV";
|
||||
echo " BOOT_IV = $BOOT_IV";
|
||||
echo " ROOT_KEY0 = $ROOT_KEY0";
|
||||
echo "";
|
||||
else
|
||||
echo -e "\033[0;31;1mError:${uboot_file} is not exist!\033[0m"
|
||||
exit
|
||||
fi
|
||||
|
||||
dec2hex(){
|
||||
printf "0x%08x" $1
|
||||
}
|
||||
|
||||
function H_TO_NL {
|
||||
local tmp1=$[$1 & 0xff]
|
||||
local tmp2=$[$[$1 & 0xff00] >> 8]
|
||||
local tmp3=$[$[$1 & 0xff0000] >> 16]
|
||||
local tmp4=$[$[$1 & 0xff000000] >> 24]
|
||||
local val=$[$[$tmp1 << 24] | $[$tmp2 << 16] | $[$tmp3 << 8] | $tmp4]
|
||||
|
||||
echo $val
|
||||
}
|
||||
|
||||
function HASH_OTP_TABLE {
|
||||
Str=`cat $1`
|
||||
echo $Str > $2
|
||||
echo ================================================================================== >> $2
|
||||
echo "input_file: $1" >> $2
|
||||
echo ================================================================================== >> $2
|
||||
for((i=0; i<64; i=i+8))
|
||||
do
|
||||
word=${Str:i:8};
|
||||
word=$(printf "0x%s" $word)
|
||||
word=$(H_TO_NL $word)
|
||||
word=$(printf "0x%08x" $word)
|
||||
reg=$[0x100A000C + $(($i/2))] # OTP reg
|
||||
reg=$(printf "%08x" $reg)
|
||||
echo rootkey_hash[$(($i/8))]=mw 0x$reg $word >> $2
|
||||
done
|
||||
}
|
||||
|
||||
function AES_OTP_TABLE {
|
||||
Str=$1
|
||||
echo "AES KEY FILE" > $2
|
||||
echo ================================================================================== >> $2
|
||||
echo "AES KEY:: $1" >> $2
|
||||
echo ================================================================================== >> $2
|
||||
for((i=0; i<64; i=i+8))
|
||||
do
|
||||
word=${Str:i:8};
|
||||
word=$(printf "0x%s" $word)
|
||||
word=$(H_TO_NL $word)
|
||||
word=$(printf "0x%08x" $word)
|
||||
reg=$[0x100A000C + $(($i/2))] # OTP reg
|
||||
reg=$(printf "%08x" $reg)
|
||||
echo aes_key_val[$(($i/8))]=mw 0x$reg $word >> $2
|
||||
done
|
||||
}
|
||||
|
||||
################ uboot.bin layout#######################
|
||||
HEAD_AREA_LEN=10240
|
||||
|
||||
# 1. key area
|
||||
KEY_AREA_POS=0
|
||||
KEY_AREA_LEN=1024
|
||||
|
||||
# 2. param area
|
||||
PARAMS_AREA_POS=1024
|
||||
PARAMS_AREA_LEN=8640
|
||||
|
||||
# 3. unchecked area
|
||||
UNCHECK_AREA_POS=10176
|
||||
UNCHECK_AREA_LEN=64
|
||||
|
||||
# 4. auxcode area
|
||||
AUXCODE_AREA_POS=10240
|
||||
########################################################
|
||||
|
||||
## 1. key area
|
||||
if [ -f rsa4096pem/rsa_pub_4096.pem ];then
|
||||
echo "....................start........................."
|
||||
echo "---------------calc hash for keys---------------"
|
||||
test -d output || mkdir -p output
|
||||
rm -rf output/*
|
||||
openssl base64 -d -in rsa4096pem/rsa_pub_4096.pem -out private_4096.bin
|
||||
dd if=./private_4096.bin of=./fb1 bs=1 skip=33 count=512
|
||||
for((i=1;i<=509;i++))
|
||||
do
|
||||
echo 0x00 | xxd -r >> fb2
|
||||
done
|
||||
dd if=./private_4096.bin of=./fb3 bs=1 skip=547 count=3
|
||||
cat fb1 fb2 fb3 > output/rsa_pub_4096.bin
|
||||
|
||||
filesize=`wc -c < output/rsa_pub_4096.bin`
|
||||
if [ $filesize == $KEY_AREA_LEN ];then
|
||||
echo ""
|
||||
echo 0:RSA_PUB creat OK!
|
||||
echo RSA_PUB file_size = $filesize
|
||||
echo ""
|
||||
else
|
||||
echo 0:RSA_PUB creat error!
|
||||
echo RSA_PUB file_size = $filesize
|
||||
echo ""
|
||||
fi
|
||||
## calc key area hash
|
||||
openssl dgst -sha256 -r -hex output/rsa_pub_4096.bin > rsa4096pem/rsa_pub_4096_sha256.txt
|
||||
rm -f fb1 fb2 fb3 private_4096.bin
|
||||
|
||||
## 2. params area
|
||||
echo "---------------make signature for params---------------"
|
||||
dd if=$uboot_file of=output/params.bin bs=1 skip=$PARAMS_AREA_POS count=$PARAMS_AREA_LEN conv=notrunc
|
||||
## aux iv/flag
|
||||
# if [ $AUX_IV ];then
|
||||
# echo 0x$AUX_IV | xxd -r > aux_iv.bin
|
||||
# echo 0x12c8132a | xxd -r > aux_enc_flag.bin
|
||||
# dd if=./aux_enc_flag.bin of=output/params.bin bs=1 seek=12 count=4 conv=notrunc
|
||||
# dd if=./aux_iv.bin of=output/params.bin bs=1 seek=24 count=16 conv=notrunc
|
||||
# rm aux_iv.bin aux_enc_flag.bin
|
||||
# fi
|
||||
|
||||
## m4 fw iv/flag
|
||||
# if [ $M4_FW_IV ];then
|
||||
# echo 0x$M4_FW_IV | xxd -r > m4_iv.bin
|
||||
# echo 0x12c8132a | xxd -r > m4_enc_flag.bin
|
||||
# dd if=./m4_enc_flag.bin of=output/params.bin bs=1 seek=20 count=4 conv=notrunc
|
||||
# dd if=./m4_iv.bin of=output/params.bin bs=1 seek=48 count=16 conv=notrunc
|
||||
# rm m4_iv.bin m4_enc_flag.bin
|
||||
# fi
|
||||
|
||||
## boot iv/flag
|
||||
if [ $BOOT_IV ];then
|
||||
echo 0x$BOOT_IV | xxd -r > boot_iv.bin
|
||||
echo 0x12c8132a | xxd -r > boot_enc_flag.bin
|
||||
dd if=./boot_enc_flag.bin of=output/params.bin bs=1 seek=16 count=4 conv=notrunc
|
||||
dd if=./boot_iv.bin of=output/params.bin bs=1 seek=40 count=16 conv=notrunc
|
||||
rm boot_iv.bin boot_enc_flag.bin
|
||||
fi
|
||||
|
||||
## make params area signature
|
||||
openssl dgst -sha256 -sign rsa4096pem/rsa_priv_4096.pem -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -out output/params_sig.bin output/params.bin
|
||||
|
||||
## 3. unchecked area
|
||||
dd if=$uboot_file of=output/unchecked_area.bin bs=1 skip=$UNCHECK_AREA_POS count=$UNCHECK_AREA_LEN conv=notrunc
|
||||
|
||||
## 4. auxcode area
|
||||
echo "---------------prepare auxcode area---------------"
|
||||
val=$(hexdump -e '16/4 "%04x"' -n 4 -s 0 output/params.bin)
|
||||
auxcode_area_len=$(printf "%d\n" 0x$val)
|
||||
dd if=$uboot_file of=output/auxcode_check.bin bs=1 skip=$AUXCODE_AREA_POS count=$auxcode_area_len conv=notrunc
|
||||
|
||||
# echo "---------------make signature for auxcode---------------"
|
||||
## make auxcode signature
|
||||
# openssl dgst -sha256 -sign rsa4096pem/rsa_priv_4096.pem -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -out output/auxcode_sig.bin output/auxcode_check.bin
|
||||
## enc auxcode area
|
||||
# if [ $AUX_IV ]; then
|
||||
# echo "---------------Auxcode encrypt enable---------------"
|
||||
## IV and KEY have set,
|
||||
## Obtain a new KEY by decrypting the ECB mode.
|
||||
# echo 0x1b7b45c0abd412c0382a0242c2824a61 | xxd -r > seed_1.bin
|
||||
# echo 0xcad7733ee80bd0741d9128627ea880ad | xxd -r > seed_2.bin
|
||||
# openssl enc -nopad -d -nosalt -aes-256-ecb -K "$ROOT_KEY0" -in seed_1.bin -out out_1.bin
|
||||
# openssl enc -nopad -d -nosalt -aes-256-ecb -K "$ROOT_KEY0" -in seed_2.bin -out out_2.bin
|
||||
# cat out_2.bin >> out_1.bin
|
||||
# KEY_ecb=$(xxd -ps out_1.bin | sed 'N;s/\n//g')
|
||||
# rm out_*.bin seed_*.bin
|
||||
# echo Obtain a new KEY by decrypting the ECB mode!
|
||||
# echo new_KEY = $KEY_ecb
|
||||
# echo ""
|
||||
## Use the new KEY and IV to encrypt the image in CBC mode.
|
||||
# openssl enc -aes-256-cbc -nopad -K "$KEY_ecb" -iv "$AUX_IV" -in output/auxcode_check.bin -out output/auxcode_check_enc.bin
|
||||
# mv output/auxcode_check_enc.bin output/auxcode_check.bin
|
||||
# fi
|
||||
|
||||
## MCU FW
|
||||
val=$(hexdump -e '16/4 "%04x"' -n 4 -s 8252 output/params.bin)
|
||||
mcu_fw_area_len=$(printf "%d\n" 0x$val)
|
||||
if [ $mcu_fw_area_len == 0 ]; then
|
||||
touch output/mcu_fw_area.bin
|
||||
else
|
||||
skip_offset=$[ $HEAD_AREA_LEN + $auxcode_area_len ]
|
||||
dd if=$uboot_file of=output/mcu_fw_area.bin bs=1 skip=$skip_offset count=$mcu_fw_area_len conv=notrunc
|
||||
fi
|
||||
|
||||
## 5. boot area
|
||||
echo "---------------make signature for boot area---------------"
|
||||
val=$(hexdump -e '16/4 "%04x"' -n 4 -s 4 output/params.bin)
|
||||
boot_check_area_len=$(printf "%d\n" 0x$val)
|
||||
echo boot_check_area_len=$boot_check_area_len
|
||||
boot_check_area_pos=$[ $HEAD_AREA_LEN + $auxcode_area_len + $mcu_fw_area_len ]
|
||||
dd if=$uboot_file of=output/boot_area.bin bs=1 skip=$boot_check_area_pos count=$boot_check_area_len conv=notrunc
|
||||
## make boot area signature
|
||||
openssl dgst -sha256 -sign rsa4096pem/rsa_priv_4096.pem -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -out output/boot_sig.bin output/boot_area.bin
|
||||
## encrypt boot area
|
||||
if [ $BOOT_IV ]; then
|
||||
echo "---------------Boot area encrypt enable---------------"
|
||||
## IV and KEY have set,
|
||||
## Obtain a new KEY by decrypting the ECB mode.
|
||||
echo 0x50db86c592c52f0c436cca6f2ffecaf5 | xxd -r > seed_1.bin
|
||||
echo 0x4a96ae013fc60e205e9da4c9d5ad9b99 | xxd -r > seed_2.bin
|
||||
openssl enc -nopad -d -nosalt -aes-256-ecb -K "$ROOT_KEY0" -in seed_1.bin -out out_1.bin
|
||||
openssl enc -nopad -d -nosalt -aes-256-ecb -K "$ROOT_KEY0" -in seed_2.bin -out out_2.bin
|
||||
cat out_2.bin >> out_1.bin
|
||||
KEY_ecb=$(xxd -ps out_1.bin | sed 'N;s/\n//g')
|
||||
rm out_*.bin seed_*.bin
|
||||
echo Obtain a new KEY by decrypting the ECB mode!
|
||||
echo new_KEY = $KEY_ecb
|
||||
echo ""
|
||||
## Use the new KEY and IV to encrypt the image in CBC mode.
|
||||
openssl enc -aes-256-cbc -nopad -K "$KEY_ecb" -iv "$BOOT_IV" -in output/boot_area.bin -out output/boot_area_enc.bin
|
||||
mv output/boot_area_enc.bin output/boot_area.bin
|
||||
fi
|
||||
|
||||
## 6. lbist test pattern
|
||||
val1=$(hexdump -e '16/4 "%04x"' -n 4 -s 8260 output/params.bin)
|
||||
lbist_test_pattern_len=$(printf "%d\n" 0x$val1)
|
||||
echo lbist_test_pattern_len=$lbist_test_pattern_len
|
||||
lbist_test_pattern_pos=$[ $HEAD_AREA_LEN + $auxcode_area_len + $mcu_fw_area_len + $boot_check_area_len + 0x200 ]
|
||||
echo lbist_test_pattern_pos=$lbist_test_pattern_pos
|
||||
dd if=$uboot_file of=output/lbist_test_pattern.bin bs=1 skip=$lbist_test_pattern_pos count=$lbist_test_pattern_len conv=notrunc
|
||||
|
||||
# 7. combine to Finalboot.bin
|
||||
cat output/rsa_pub_4096.bin > output/Finalboot.bin
|
||||
cat output/params.bin >> output/Finalboot.bin
|
||||
cat output/params_sig.bin >> output/Finalboot.bin
|
||||
cat output/unchecked_area.bin >> output/Finalboot.bin
|
||||
cat output/auxcode_check.bin >> output/Finalboot.bin
|
||||
cat output/mcu_fw_area.bin >> output/Finalboot.bin
|
||||
cat output/boot_area.bin >> output/Finalboot.bin
|
||||
cat output/boot_sig.bin >> output/Finalboot.bin
|
||||
cat output/lbist_test_pattern.bin >> output/Finalboot.bin
|
||||
|
||||
cp output/Finalboot.bin output/${uboot_sig_file}
|
||||
|
||||
HASH_OTP_TABLE rsa4096pem/rsa_pub_4096_sha256.txt rsa4096pem/rsa4096_pem_hash_val.txt
|
||||
cat rsa4096pem/rsa4096_pem_hash_val.txt
|
||||
|
||||
if [ $ROOT_KEY0 ]; then
|
||||
AES_OTP_TABLE $ROOT_KEY0 aes_otp_cfg.txt
|
||||
echo create aes_otp_cfg.txt over!
|
||||
fi
|
||||
|
||||
echo "....................end........................."
|
||||
fi
|
||||
exit
|
||||
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
编译方法:
|
||||
1. 拷贝非安全uboot到当前目录。
|
||||
|
||||
2. 生成普通安全uboot镜像:
|
||||
make CHIP=<chip_name>
|
||||
chip_name可选值:
|
||||
xm7206v10 xm7206v10b xm7206v11a
|
||||
签名成功后生成的文件: output/uboot_<chip_name>_sig.bin
|
||||
|
||||
3. 生成加密安全uboot镜像:
|
||||
make CHIP=<chip_name> AES_ENC=true
|
||||
chip_name可选值:
|
||||
xm7206v10 xm7206v10b xm7206v11a
|
||||
签名成功后生成的文件: output/uboot_<chip_name>_sig_enc.bin
|
||||
|
||||
4. 清理:make clean 或 make distclean
|
||||
|
||||
注意:如果需要用已有的rsa4096pem格式的key,需要将公钥'rsa_priv_4096.pem'和私钥'rsa_pub_4096.pem'拷贝到rsa4096pem目录。
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#! /bin/sh
|
||||
|
||||
|
||||
echo "======================================================================================"
|
||||
echo "| rsa4096pem |"
|
||||
echo "======================================================================================"
|
||||
# generate rsa pub key and private key
|
||||
if [ -f rsa4096pem/rsa_pub_4096_sha256.txt ]; then
|
||||
echo "use old rsa4096pem/rsa_pub.bin rsa4096pem/rsa_pub_4096_sha256.txt"
|
||||
else
|
||||
echo "gen new rsa4096pem/rsa_pub.bin rsa4096pem/rsa_pub_4096_sha256.txt"
|
||||
mkdir -p rsa4096pem
|
||||
openssl genrsa -out rsa4096pem/rsa_priv_4096.pem 4096
|
||||
openssl rsa -in rsa4096pem/rsa_priv_4096.pem -pubout -out rsa4096pem/rsa_pub_4096.pem
|
||||
fi
|
||||
@@ -0,0 +1,12 @@
|
||||
4d5d0918e69c5f1f47f3297b49ebad2e67d1c769c6662ad4201ea9c8c19e7029 output/rsa_pub_4096.bin
|
||||
==================================================================================
|
||||
input_file: rsa4096pem/rsa_pub_4096_sha256.txt
|
||||
==================================================================================
|
||||
rootkey_hash[0]=mw 0x100a000c 0x18095d4d
|
||||
rootkey_hash[1]=mw 0x100a0010 0x1f5f9ce6
|
||||
rootkey_hash[2]=mw 0x100a0014 0x7b29f347
|
||||
rootkey_hash[3]=mw 0x100a0018 0x2eadeb49
|
||||
rootkey_hash[4]=mw 0x100a001c 0x69c7d167
|
||||
rootkey_hash[5]=mw 0x100a0020 0xd42a66c6
|
||||
rootkey_hash[6]=mw 0x100a0024 0xc8a91e20
|
||||
rootkey_hash[7]=mw 0x100a0028 0x29709ec1
|
||||
@@ -0,0 +1,51 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqerm2wTCOQtJEMt6NNrE
|
||||
HZgdle/muxVXbjtiNoZAVhylEAc5GUO+9pdV5Ff3JZX/S6TU4jHPY6DfTlme3Kvh
|
||||
87jx7Z/Jsw7FmhzXQegDjx5oXf/lM6Ek2myl2jjm9yc6jZVVPJ49Ie5ggxmIkhtL
|
||||
PMwtDi/JU4OC/I4LHf7l3AWCgU+cumSUYrpdXTGaeZeQW1KK9SSg/EjGtT7FH4t8
|
||||
kL3xkbPk9oisPXBF84Ytwtn8UAffj3vkMoqWJQ7LU+U5x3WA3+L/ABzShRkh7aqZ
|
||||
bCizgEUndjqfVcZS4NZV1/0QmKaWigKpz55AfxfbTtyoYQAZH+ujiSIu3asfNU5W
|
||||
GbgXIcu87yoNEMEp3RTJP7Sk3RkUlGacGv9T0RQfbCpSit/ujbN1a/2UTtBi3OQO
|
||||
bEltlbLpnC/mlKKFhiNmj3XGJgUEijXA+qF8UIMZSnmEz7TeNhiI9tns7vtt1xq9
|
||||
P7CxBgS58r9zrOjMpZ7rSp/NmEQoSFY0x8GTczWeYfzabEcU28sqN7Dj70jz4tJ6
|
||||
xBPmsf/74opRwUjpB1sMtRiUcpCY+RTuF/D6hoII9gaMBjGgxdJyll+vauoknp7+
|
||||
EhEgKflGpaXJSnGRH+NBDsb7cVPb+BF8pE59TU3ELzMZ83qOlyO3pV6xzbGOEh6b
|
||||
c04URwpnjI3hdT5konwsCbsCAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1 @@
|
||||
4d5d0918e69c5f1f47f3297b49ebad2e67d1c769c6662ad4201ea9c8c19e7029 *output/rsa_pub_4096.bin
|
||||
Reference in New Issue
Block a user