HSM(Hardware Security Module),是专门用于实现加解密算法的一个外设,在英飞凌TC3XX系列单片机上,HSM单独有一个Cortex-M3的核,能实现AES-128等加密算法。本文总结一下英飞凌用户手册上与HSM相关的内容。
1. UCBs
USB存储在DFlash中,每次上电时,芯片自带的Boot Firmware会读取UCB中的值,判断状态,并加载到相应的寄存器中。
1.1 UCB_HSMCFG
1.1.1 地址
1.1.2 定义
1.1.3 读写规则
由英飞凌出厂时填充内容。当Confirmation为unlocked时master(主核)可以写入数据,当Confirmation为unlocked时主核和HSM核都可以读取,当状态为confirmed或errored时,只有HSM核可读。
1.1.4 涉及的寄存器
1.1.4.1 DMU_HF_CONFIRM0(状态指示)
状态被寄存器DMU_HF_CONFIRM0.PROINHSMCFG指示。
1.2 UCB_HSMCOTP0/1
1.2.1 地址
1.2.2 定义
1.2.3 涉及的寄存器
1.2.3.1 SF_PROCONUSR
在启动的时候从UCB赋值。
1.2.3.2 SP_PROCONHSMCBS
该寄存器表示从Flash启动后存储在UCB_HSMCOTP配置集中的所有引导扇区选择项的组合。
该寄存器包含BOOTSEL0-3,BOOTSEL即Boot Sector Selection,控制哪个HSM代码扇区(HSM code sector)被查找作为启动代码。BOOTSEL的定义如下:
1.2.3.3 SP_PROCONHSMCX0/1
该寄存器用来表示PFlash的某个扇区是否被排除在HSM之外(HSM_exclusive)。
1.2.3.4 SP_PROCONHSMCOTP0/1
该寄存器用来表示PFlash的某个扇区是否被配置为HSM永久锁定。
1.2.3.5 SP_PROCONHSMCFG
SP_PROCONHSMCFG represents after Flash startup the or-combination of all boot sector selection entries stored in the HSMCOTP configuration sets.
1.3 UCB_HSM
1.3.1 地址
1.3.2 定义
1.3.3 涉及的寄存器
1.3.3.1 DMU_SP_PROCONHSM
1.4 UCB_PFLASH_ORIG and UCB_PFLASH_COPY
1.4.1 地址
1.4.2 定义
1.4.3 涉及的寄存器
1.4.3.1 HF_PROCONPF
1.4.3.2 HP_PROCONPi0 (i=0-5)
1.5 UCB_DFLASH_ORIG and UCB_DFLASH_COPY
1.5.1 地址
1.5.2 定义
1.5.3 涉及的寄存器
1.5.3.1 HF_PROCONUSR
1.5.3.2 HF_PROCONDF
1.5.3.3 HF_PROCONRAM
2. 其它HSM寄存器
2.1 SF_STATUS
3. HSM DFlash地址
HSM核可以操作DFlash1,地址如下:
|