防止回滚攻击的系统及方法技术方案

技术编号:30885796 阅读:17 留言:0更新日期:2021-11-22 20:31
本发明专利技术提供一种防止回滚攻击的系统及方法,该系统包括只读存储器程序码,包含一启动程序,于芯片通电时运作;存储版本识别码的可编程熔丝阵列存储器,存储一个可开机固件版本的复本的非易失性存储器,其中第一识别码被存储,包含现用主要编号与次要编号,被一私有金钥标记;第二识别码被存储,包含复原主要编号与次要编号,被该私有金钥标记;以及硬件,遵守第一指令,由开机只读存储器程序码提供,关闭复原非易失性存储器的写入功能直到下次系统重置(启动程序除外),遵守第二指令,解除复原非易失性存储器的写入保护,其中与这两版本及这两识别码关联的固件映像,被该私有金钥标记,且该开机只读存储器程序码认证固件映像与所述识别码。所述识别码。所述识别码。

【技术实现步骤摘要】
防止回滚攻击的系统及方法


[0001]本专利技术关于半导体装置,特别关于防止对半导体装置的回滚攻击的系统及方法。

技术介绍

[0002]IBM专利文件US20080175381A1描述存储安全版本数据的熔丝(fuse)。该文件提供可利用于系统的方法与装置,以动态地更新用于加密安全数据的安全版本参数。该IBM系统包括一装置,用于加密即将存储于该装置外部的存储器的数据区块;该装置包含第一持久存储部件,用于存储安全版本参数;第二持久存储部件,用于存储主要金钥数据;加密引擎,被设定用于加密即将存储于外部存储器的安全数据区块;其中,以下至少之一:受加密的安全区块,或为此产生的完整性检查值,受安全版本参数的影响;以及用于修改第一持久存储部件,以在不修改先前已修改的第一持久存储部件的情形下,更新安全版本参数的机制。
[0003]以单个一次性可程序化存储器(OTP)设定的分组固件版本描述于:
[0004]https://developer.trustedfirmware.org/w/tf_m/design/secure_storage_service/rollback_protection/
[0005]上述公开文件描述一进阶精简指令集机器(ARM)平台的安全架构,提供防止回滚(roll

back)的准则,以及使回滚可靠的范例。其中,该公开文件陈述“一个合适的实施可能每个软件实例采用一个计数,或将一个列表的版本编号聚集于一个数据库档案,该数据库档案本身的版本采用单一计数”。
[0006]以下链接:https://www.mylgphones.com/how

to

identify

qfuse

anti

rollback

version

of

lg

kdz

firmware.html
[0007]陈述:“您的手机当前软件版本为ZVA,Qfuse版本为ARB01。您想由ZVA降级至ZV6,然而ZV6的固件含有ARB00版本的Qfuse”。该公开文件亦主张:“请勿对防回滚(Qfuse)版本低于您的手机当前Qfuse版本的KDZ或TOT固件进行刷机。”[0008]该技术系统的其他叙述,见于以下文件:
[0009]US20140250290A1/en
[0010]WO2014131652A1/en
[0011]US20170308705A1/en
[0012]https://www.intel.com/content/dam/www/public/us/en/documents/guides/bootloader

s ecurity

features

programmers

guide.pdf
[0013]一种实施非易失性、不可重置,用于嵌入式系统的计数器的方法描述于下列线上公开文件:
[0014]https://www.maximintegrated.com/en/design/technical

documents/app

notes/5/5042.html.
[0015]所有于本说明书内提及的公开文件与专利文件所公开的内容,与其中直接或间接引用的公开文件与专利文件,除标的否认或放弃外,特此并入参照文件。若并入的内容与明确公开于此的内容不一致,则其解释为明确公开于此的内容描述某些实施例,而并入的内
容描述其他实施例。并入内容中的定义可视为待讨论的词汇的一种可能定义。

技术实现思路

[0016]某些实施例试图提供一种用于硅装置固件防止回滚攻击的安全系统与方法。
[0017]某些实施例试图提供一种延长硅装置寿命的系统与方法。
[0018]某些实施例试图为OTP提供一种安全的防回滚方法与系统。
[0019]某些实施例试图提供一种延长寿命的特征,例如在OTP中,一般包括存储OTP版本位的版本编号解码协定于该OTP,相对于传统版本编号解码方案。
[0020]某些实施例试图于写入保护的非易失性存储器(NVM)中提供固件的额外复本。
[0021]某些实施例试图提供版本控制,使用外部存储器上版本数据的两个复本。
[0022]根据某些实施例,提供一种安全的防回滚系统,该系统使用数据的多个复本,至少在至少两个中每一个外部NVM装置上,以及在OTP上。
[0023]一般而言,有一个OTP与一个外部NVM(例如快闪存储器)。一个NVM中的一个固件复本开放读/写、故可更新,而第二个NVM(而非该OTP)中的另一个固件复本不开放任何读/写。“外部”一词一般包括位于含有OTP装置的硅装置外部的NVM装置。这两“外部快闪存储器”可能位于同一电路板/电路上,但毋须整合于硅装置内。
[0024]单一装置可能选择性地被使用,该装置的一部分为写入保护。
[0025]某些实施例试图为存储器,例如OTP,通过保证防止回滚而提供加强的安全性,该防止回滚包含存储密码的版本号码的双份复本于外部非易失性存储器内。
[0026]某些实施例试图提供安全的版本控制,即使OTP空间有限。
[0027]某些实施例试图提供安全的阶层式版本控制,使用OTP与两个存储于快闪存储器的版本复本。于阶层式版本控制中,有多于一个版本种类,包含拥有不同安全等级的主要与次要版本编号。该主要版本可存储于OTP中,并可被复制于快闪存储器中,而该次要版本仅在快闪存储器中。该OTP版本不可被降级,该快闪存储器版本则可。例如3.3可改变为3.2,但不可改变为2.4。
[0028]某些实施例使用两个外部存储器装置中版本栏位的已标记复本,这两个版本栏位可能与OTP版本栏位合并。该两个外部装置中的复本版本编号,至少其一不可被主处理器存取,防止软件于开机时通过持有在第二个序列周边界面(SPI)中,仅能由设定应用集成电路(ASIC)的只读存储器程序码(ROM code)存取的该版本编号的一复本,攻击单一序列周边界面。
[0029]下列词汇可解释为与任何现有技术文献中出现的定义一致、与本说明书所载一致、或包括其个别的范围,如下:
[0030]固件(Firmware,FW)映像(image):密码键(例如RSA或ECC)标记的可开机固件。
[0031]“映像”一词意图包含一种固件程序码状态,该状态与一已知版本编号关联。在一次升级中,一个与版本编号n关联的已知“映像”可被一个稍后安装、与稍后版本(例如版本n+1)关联的“映像”取代。一次升级可包含安装较当前安装版本稍后的固件映像的动作。
[0032]开机(Boot up):由芯片通电(或重置)的时刻起,至开机ROM程序码准许固件执行为止。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防止回滚攻击的系统,其特征在于,包括:i.芯片,包含:a.开机只读存储器程序码,当所述芯片通电时所述开机只读存储器程序码皆运作;以及b.一次性可编程存储器,用以存储一版本识别码;ii.现用非易失性存储器以及复原非易失性存储器,分别存储可开机固件的版本的第一复本与第二复本;其中,第一识别码存储于所述现用非易失性存储器中,且用以识别所述可开机固件的一设定版本,所述设定版本的所述第一复本存储于所述现用非易失性存储器中,所述第一识别码包含至少一个现用主要编号与一个现用次要编号,两者皆被标记一私有金钥;其中,第二识别码存储于所述复原非易失性存储器中,且用以识别所述可开机固件的所述版本,所述版本的所述第二复本存储于所述复原非易失性存储器中,所述第二识别码包含至少一个复原主要编号与一个复原次要编号,两者皆被标记所述私有金钥;以及iii.硬件装置,根据由开机只读存储器程序码于开机后提供的一第一指令,所述硬件装置将至少所述复原非易失性存储器上锁直到下次系统重置,其中将所述复原非易失性存储器上锁包含确保除了来自所述开机只读存储器程序码的操作之外所述复原非易失性存储器为不可写入,以及根据所述下次系统重置时由所述开机只读存储器程序码提供的第二指令,所述硬件装置解除所述复原非易失性存储器的上锁,从而当较新版本的可开机固件已生效后,防止较旧版本的可开机固件被启动;其中,与所述较新版本以及所述较旧版本相关联的多个固件映像,以及所述第一识别码及所述第二识别码均被标记所述私有金钥;以及其中,所述开机只读存储器程序码用以认证所述多个固件映像,及认证所述第一识别码及所述第二识别码。2.根据权利要求1所述的系统,其特征在于,所述一次性可编程存储器包含多个熔丝,所述熔丝的状态表示该版本识别码。3.根据权利要求1所述的系统,其特征在于,所述一次性可编程存储器中的多个位被用于表示一OTP编号;OTP编号=起始编号+计数;所述多个位包含一个n位的阵列,从而定义n个位序号,分别与所述n个位关联,所述n个位包含一个由值为“0”的位所构成的第一子集合,以及一个由值被熔为“1”的n个位所构成的第二子集合,其中所述计数被决定为多个位序号中的最高序号,所述多个位序号与被熔为“1”的n个位所构成的所述第二子集合关联。4.根据权利要求3所述的系统,其特征在于,当所述固件映像存储于所述现用非易失性存储器与所述复原非易失性存储器时,所述OTP编号与存储于所述现用非易失性存储器与所述复原非易失性存储器中的主要编号相等。5.根据权利要求3所述的系统,其特征在于,所述起始编号受到写入保护。6.根据权利要求3所述的系统,其特征在于,所述OTP编号被用以作为所述现用主要编号与所述复原主要编号的一个比较参考值。7.根据权利要求1所述的系统,其特征在于,所述硬件装置不关闭所述现用非易失性存
储器的读取及/或写入,使所述现用非易失性存储器于开机后为可读写。8.根据权利要求1所述的系统,其特征在于,所述现用非易失性存储器与所述复原非易失性存储器包含两个分离的存储器装置。9.根据权利要求1所述的系统,其特征在于,所述现用非易失性存储器与所述复原非易失性存储器包含位于单一快闪存储器装置中的两个存储器范围。10.一种防止回滚攻击的方法,其特征在于,包括:I.提供一系统,包括:i.芯片,包含:a.开机只读存储器程序码,当芯片通电时所述开机只读存储器程序码皆运作;以及b.一次性可程序化存储器,用以存储一版本识别码;ii.现用非易失性存储器以及复原非易失性存储器,分别存储可开机固件的版本的第一复本与第二复本;其中,第一识别码存储于所述现用非易失性存储器中用以识别所述可开机固件的所述版本,所述版本的所述第一复本存储于所述现用非易失性存储器中,所述第一识别码包含至少一个现用主要编号与一个现用次要编号,两者皆被标记一私有金钥;其中,第二识别码存储于所述复原非易失性存储器中且用以识别所述版本,所述版本的所述第二复本存储于所述复原非易失性存储器中,所述第二识别码包含至少一个复原主要编号与一个复原次要编号,两者皆被标记所述私有金钥;以及iii.硬件装置,根据由开机只读存储器程序码于开机后提供的一第一指令,所述硬件装置将至少所述复原非易失性存储器上锁直到下次系统重置,其中将所述复原非易失性存储器上锁包含确保除了来自所述开机只读存储器程序码的操作之外所述复原非易失性存储器为不可写入,以及根据所述下次所述系统重置时由所述开机只读存储器程序码提供的第二指令,所述硬件装置解除所述复原非易失性存储器的上锁,从而当较新版本的可开机固件已生效后,防止较旧版本的可开机固件被启动;II.存储第一版本的可开机固件的复本,于所述现用非易失性存储器与所述复原非易失性存储器中;存储至少所述第一版本的一主要编号的第一复本与第二复本,分别于所述复原非易失性存储器与所述现用非易失性存储器中;以及程序化所述一次性可编程存储器中的至少一位,使所述至少一位代表的数值匹配所述主要编号;III.进行至少一次所述可开机固件的次要更新,包含将存储于所述现用非易失性存储器的可开机固件版本以所述可开机固件的一个新的次要版本取代,以及将存储于所述现用非易失性存储器的第一识别码以一个包含较高次要编号的新识别码取代;以及IV.于至少一次必然导致一次开机的重置之后,a.执行开机只读存储器程序码:如果所述现用非易失性存储器的内容为有效,则决定所述现用非易失性存储器中的识...

【专利技术属性】
技术研发人员:蒙旭
申请(专利权)人:新唐科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1