本发明是有关于一种数据校验方法及装置,且特别是有关于一种数据安全性校验方法及电子装置。
背景技术:
:1、现有的平台固件保护与恢复(platform firmware resiliency,pfr)机制在平台开机时只会对静态可执行图像(executable image)验证一次,之后基板管理控制器(boardmanagement controller,bmc)或主机即可从静态存储器中提取可执行图像。2、然而,pfr架构并未考虑到旁路攻击(side channel attack)。在主机复归(hostreset)被释放前,所有的静态图像只在检查时间(time of check,toc)(即,pfr的t-1阶段)被验证过一次,而无法保证该静态存储器中的内容在使用时间(time of use,tou)(即,pfr的t0阶段)是正确的。实际上,在pfr的t-1阶段之后,黑客可使用电压假信号(glitch)、频率频率、温度等物理特性来改变静态存储器中的多个位,或是将读取路径导引到其他静态存储器,使得bmc或主机读取到经修改的恶意图像。3、此外,pfr在t-1阶段,需要从该平台上的所有静态存储器读取所有可执行图像,并在进入t0阶段前进行完整性(integrity)验证,而由于图像容量可观,验证过程将耗费大量时间,且当需要执行固件的元件数量增加时,在t-1阶段耗费的时间也会延长。技术实现思路1、本发明提出了一种数据安全性校验方法及电子装置,其透过在检查时间(toc)和使用时间(tou)对静态存储器中的可执行图像(executable image)进行验证,可提升图像数据的安全性。2、本发明提供一种数据安全性校验方法,适用于具存储装置、校验电路及处理器的电子装置。此方法包括下列步骤:在电子装置开机时,校验电路验证存储装置中可执行图像的完整性(integrity);若验证失败,校验电路中止处理器读取并执行可执行图像;若验证成功,校验电路判断处理器可读取并执行可执行图像,并释放主机复归(host reset),其中处理器在意图读取可执行图像的一部或全部时,校验电路以另一完整性验证程序再度验证可执行图像的一部或全部,并根据验证结果判断处理器是否可读取并执行可执行图像的一部或全部。3、在一些实施例中,校验电路验证所述存储装置中可执行图像的完整性的步骤包括使用内建的签名(signature)验证存储装置中可执行图像的根哈希(root hash),其中若根哈希为无效(invalid),校验电路中止主机处理器执行可执行图像;而若根哈希为有效(valid),校验电路判断处理器可读取并执行可执行图像并释放主机复归。4、在一些实施例中,处理器在意图读取存储装置中可执行图像的一部或全部时,校验电路以另一完整性验证程序再度验证可执行图像的一部或全部的步骤包括处理器在意图读取可执行图像的其中一个数据块时,校验电路使用以多个数据块建立的哈希树,计算该数据块的哈希并向上计算到哈希树的根节点的哈希,以将所计算的哈希与开机时所验证的根哈希比较,并根据比较结果判断该数据块的有效性,若该数据块无效,则立即中止处理器的读取行为及采取相对应的措施。5、在一些实施例中,所述方法更包括使用多个数据块建立哈希树,其中包括计算可执行图像的多个数据块的哈希作为哈希树底层的多个终端节点,并向上计算哈希树的多个中间节点及根节点的哈希。6、在一些实施例中,使用多个数据块建立哈希树的步骤更包括赋予各数据块至少一个属性,或将经常被连续读取且相邻的数据块合并并计算合并后数据块的哈希。7、在一些实施例中,使用多个数据块建立哈希树的步骤更包括对哈希树的终端节点或中间节点加入属性卷标,以记录对应的数据块的至少一个属性,所述属性包括数据块的大小、重要性、可读取次数、读取频率或验证策略。8、在一些实施例中,于验证成功并释放主机复归步骤后,所述方法更包括由处理器使校验电路使用内建的密钥对可执行图像进行加密(encryption),并将经加密的可执行图像存储于一存储器,其中所述密钥包括对称式密钥或非对称式密钥。9、在一些实施例中,若所述存储器为动态存储器,所述方法更包括当处理器意图读取存储于存储器的经加密的可执行图像的一部或全部时,校验电路使用密钥对可执行图像的一部或全部进行解密(decryption),并根据解密后的可执行图像的一部或全部判断处理器是否可读取并执行可执行图像的一部或全部。10、在一些实施例中,若所述存储器为静态存储器,所述方法更包括当处理器意图读取存储于存储器的经加密可执行图像的一部或全部时,校验电路使用密钥对可执行图像的一部或全部进行解密,对解密后的可执行图像的一部或全部进行完整性的验证或另一完整性验证程序,并根据验证结果判断处理器是否可读取并执行可执行图像的一部或全部。11、在一些实施例中,所述方法更包括由校验电路使用安全闪存(secure flash)存储可执行图像。12、本发明提供一种电子装置,其包括存储装置、校验电路及处理器。其中,存储装置用以存储可执行图像。校验电路耦接校验电路,且经配置以在电子装置开机时,用以验证存储装置中可执行图像的完整性,其中若验证失败,校验电路将中止主机处理器执行可执行图像,若验证成功,校验电路判断处理器可读取并执行可执行图像,并释放主机复归。处理器耦接存储装置及校验电路,且经配置以在校验电路释放主机复归时,读取并执行可执行图像。其中处理器在意图读取存储装置中的可执行图像的一部或全部时,校验电路以另一完整性验证程序再度验证该可执行图像的全部或一部的完整性,以根据验证结果判断该可执行图像全部或一部对应的至少一数据块的有效性,若该至少一数据块无效,则立即中止处理器的读取行为及采取相对应的措施。13、在一些实施例中,校验电路包括使用内建的签名验证存储装置中可执行图像的根哈希,在根哈希为无效时,中止主机处理器执行可执行图像,并在根哈希为有效时,判断处理器可读取并执行可执行图像并释放主机复归。14、在一些实施例中,处理器包括在意图读取可执行图像的其中一个数据块时,由校验电路使用以多个数据块建立的哈希树,计算该数据块的哈希并向上计算到哈希树的根节点的哈希,以将所计算的哈希与开机时所验证的根哈希比较,并根据比较结果判断该数据块的有效性,若该数据块无效,则立即中止处理器的读取行为及采取相对应的措施。15、在一些实施例中,校验电路更使用多个数据块建立哈希树,其中包括计算可执行图像的多个数据块的哈希作为哈希树底层的多个终端节点,并向上计算哈希树的多个中间节点及根节点的哈希。16、在一些实施例中,校验电路更赋予各个数据块至少一个属性,或将经常被连续读取且相邻的数据块合并并计算合并后数据块的哈希。17、在一些实施例中,校验电路更对哈希树的终端节点或中间节点加入属性卷标,以记录对应的数据块的至少一个属性,所述属性包括数据块的大小、重要性、可读取次数、读取频率或验证策略。18、在一些实施例中,处理器更使校验电路使用内建的密钥对可执行图像进行加密,并将经加密的可执行图像存储于一存储器,其中所述密钥包括对称式密钥或非对称式密钥。19、在一些实施例中,若存储器为动态存储器,当处理器意图读取存储于存储器的经加密可执行图像的一部或全部时,校验电路使用密钥对可执行图像的一部或全部进行解密,并根据解密后的可执行图像的一部或全部判断处理器是否可读取并执行可执行图像的一部或全部。20、在一些实施例中,若存储器为静态存储器,当处理器意图读取存储于存储器的经加密可执行图像的一部或全部时,校验电路使用密钥对可执行图像的一部或全部进行解密,对解密后的可执行图像的一部或全部进行完整性的验证或另一完整性验证程序,并根据验证结果判断处理器是否可读取并执行可执行图像的一部或全部。21、在一些实施例中,校验电路更使用安全闪存存储可执行图像。22、本发明的数据安全性校验方法及电子装置,除了在检查时间(toc)对静态存储器中的可执行图像进行验证外,在使用时间(tou)读取该可执行图像时,亦对所读取的数据块进行验证,藉此可防止存储器遭受到旁路攻击。其中,本发明通过根哈希的验证或是数据的加解密,可在加强数据安全性的同时,提升系统效能。23、为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。当前第1页12