我需要一些关于 bios 加载/执行过程的解释。我需要验证 CPU 执行的 bios。我的想法是执行 MISO 数据流的 HMAC-SHA1(从 SPI BIOS Flash 到 CPU 的数据)。
问题是我不确定 MISO 数据流是否总是相同的。我做了一些尝试,我总是得到与前一个不同的数据流。流的第一部分总是相同的,过了一段时间(我没有设备来转储整个通信并获得它发生的时刻)流是不同的。我不确定,但我怀疑它是不同的,因为当计数器达到指定值并且我得到不同的嗅探值时,我可以嗅探流的几个字节。我认为嗅探过程是正确的,但我不能确定(嗅探是由 CPU 和 SPI BIOS FLASH 之间的 FPGA 执行的,我编写了 VHDL)。
我还注意到,在执行 bios 期间,CPU 至少读取了 2 倍的复位向量( 0hFFFFF0 )。
CPU是否有可能在每次开机时执行不同的步骤?您认为是否可以对数据流进行身份验证?我需要确保执行的 bios 是有效的 bios ( my bios )。
如果问题一团糟,我会道歉,但我对 BIOS 和启动程序的了解很差。
谢谢您的帮助。