具有保密软件映像的集成电路及其方法

文档序号:6593581阅读:280来源:国知局
专利名称:具有保密软件映像的集成电路及其方法
技术领域
本揭示内容系有关于保密由各种集成电路处理器执行的软件映像。
背景技术
基于科技的进步、消费者需求、以及诸如要求产品差异化之类的市场驱动因 素,人们持续驱策诸如无线通讯装置之类的电子装置至更高阶的性能。要满足许多该等 要求,当今能获得的处理能力允许使用可通过可程序化来提供高阶性能及弹性的尖端处 理器(例如,系统芯片(SOC)集成电路)。结果,软件与软件开发已变成提供性能、新特征及功能等等的关键因素。不 过,随着软件的普及,也需要保护软件不被盗用(misappropriation),或恶意更改。例 如,藉由攻击针对芯片的特定特征及功能,可盗用或更改甚至是在集成电路级的软件。 同时,为了除错、更新或基于各种开发需要,得以存取软件是有必要的。此外,在主要 副本毁坏且无法使用的情形下,能够提供软件备份是合乎需要的。不过,可轻易取得软 件副本是不恰当的,因为这可能导致程序代码被盗用、等等。例如,最好有专属于给定电子装置(或更特别的是,在该电子装置内的集成电 路)的各种不同程序代码映像,使得任何其它装置都无法使用或更改该等程序代码映像。


第1图的方块图系根据一具体实施例图示一集成电路。第2图的方块图系根据一具体实施例图解说明耦合至硬件唯一密钥逻辑电路 (hardware unique key logic)的密码逻辑电路(cryptographiclogic)。第3图的流程图系根据一具体实施例图解说明集成电路的高阶操作,其中系接 收来自外部装置的程序代码映像以及使用硬件唯一密钥加密该程序代码映像。第4图的流程图系图解说明一具体实施例之操作,其中系发送命令以请求使用 硬件唯一密钥来解密硬件唯一程序代码映像。第5图的流程图系图解说明具体实施例的操作,其中密码逻辑电路系由硬件唯 一密钥逻辑电路获取硬件唯一密钥。第6图为用于一具体实施例的流程图,其中泛用程序代码映像(generic code image)会被推入集成电路以及用加密随机密钥加密。第7图为用于一具体实施例的流程图,其系通过使用硬件唯一密钥加密的随机 密钥来解密软件。第8图为使用快闪加载器(flashingloader)之具体实施例的流程图。第9图的流程图系图解说明侦查可能需要升级的先前存入程序代码。第10图为一具体实施例的详细方块图,该具体实施例在硬件唯一密钥逻辑电路 与密码逻辑电路之间有保密通讯线路用于以保密方式传输硬件唯一密钥信息于其间。
第11图为图解说明硬件唯一密钥信息的位图(bitmap),其中可包含装置ID、硬 件唯一密钥及锁定位(locking bit)。第12图的流程图系图解说明图示于第10图之具体实施例的操作。
具体实施例方式揭示于本文的各种具体实施例系包含一种方法,其中集成电路可接收来自外部 装置的程序代码映像,使用有“硬件唯一密钥”的密码逻辑电路来加密该程序代码映像 以产生“硬件唯一程序代码映像”,在此该外部装置系无法存取该“硬件唯一密钥”。 然后,该集成电路会储存该“硬件唯一程序代码映像”,其中该“硬件唯一程序代码映 像”只有在使用该“硬件 唯一密钥”解密后才能执行。该方法也包含下列步骤发送命令以请求该密码逻辑电路使用该“硬件唯一密 钥”来解密该“硬件唯一程序代码映像”,以及在解密后由启动软件(boot software)执 行该“硬件唯一程序代码映像”。揭示于本文的具体实施例也提供一种含有存储器与耦合至该存储器之密码逻辑 电路的集成电路。在此该密码逻辑电路系能够被操作以使用“硬件唯一密钥”来加密程 序代码映像以产生“硬件唯一程序代码映像”,在此经由该集成电路的任何端口都无法 存取该“硬件唯一密钥”。该集成电路进一步包含可储存该“硬件唯一程序代码映像” 于存储器中的性能,在此该“硬件唯一程序代码映像”只有在使用该“硬件唯一密钥” 解密后才能执行。揭示于本文的集成电路也可包含能够被操作以控制外部装置由外围控制器接 收程序代码映像,与该密码逻辑电路连接的存储器控制器,以及与该存储器控制器连接 以及能够被操作以发送请求该密码逻辑电路使用该“硬件唯一密钥”来解密该“硬件唯 一程序代码映像”以及在解密后执行该“硬件唯一程序代码映像”的启动只读存储器 (boot ROM)。揭示于本文的集成电路包含能够被操作以控制外部装置以接收程序代码映像 的外围控制器,存储器,“硬件唯一密钥逻辑电路”,耦合至该存储器及该“硬件唯一 密钥逻辑电路”的密码逻辑电路,该密码逻辑电路能够被操作以向该“硬件唯一密钥逻 辑电路”发送请求该“硬件唯一密钥”,由响应该请求的“硬件唯一密钥逻辑电路”接 收该“硬件唯一密钥”,使用该“硬件唯一密钥”来加密该该程序代码映像以产生“硬 件唯一程序代码映像”,在此经由该集成电路的任何端口都无法存取该“硬件唯一密 钥”,以及在存储器中储存该“硬件唯一程序代码映像”,在此该“硬件唯一程序代码 映像”只有在使用该“硬件唯一密钥”解密后才能执行。该集成电路进一步包含连接至 该密码逻辑电路的存储器控制器与连接至该存储器控制器的启动只读存储器,其中该启 动只读存储器能够被操作以向该密码逻辑电路发送请求该密码逻辑电路使用该“硬件唯 一密钥”来解密该“硬件唯一程序代码映像”以及在解密后执行该“硬件唯一程序代码 映像”。揭示于本文的集成电路也可包含存储器控制器,其中该存储器控制器系能够被 操作以仲裁对于该存储器的存取。该集成电路能够进一步被操作以由该启动只读存储 器发送命令给该密码逻辑电路来响应请求以导致该密码逻辑电路可产生随机密钥,以及在此该密码逻辑电路更能够被操作以产生该随机密钥来响应该命令,使用该“硬件唯一 密钥”来加密该随机密钥以产生加密随机密钥,在密钥储存存储器中储存该加密随机密 钥并且使用该加密随机密钥来加密该程序代码映像。替换地,有些具体实施例可使用不 加密的随机密钥。揭示于本文的集成电路进一步可包含外围控制器,其系能够被操作以接收推入集成电路之内部存储器的快闪加载器程序代码,以及在此该启动只读存储器系能够被操 作以证实该快闪加载器程序代码为能够被信赖的程序代码,执行该快闪加载器程序代 码,以及与该外部装置执行挑战/响应安全例程(challenge/response security routine),并 且得到由该外部装置推入的程序代码映像以响应该挑战/响应安全例程的正确响应。此时请参考附图,其中类似的组件用相同的组件符号表示,第1图为集成电路 (IC) 100的方块图,在有些具体实施例中,集成电路(IC) 100可为系统芯片(SOC)集成 电路。集成电路100可具有数条实体连接(physical connection),例如实体连接131与 133,其系允许集成电路100连接至外部装置,例如但不受限于外部装置127与外部储存 所129。外部装置127可为服务器,或有处理器可与集成电路100通讯以便收送命令的 适当装置。换言之,外部装置127可用一种协议与集成电路100通讯,其中该协议可包 含讯号交换(handshaking)或包含安全程序的其它协议程序,例如但不受限于公钥/私钥 交换。外部储存所129可为各种类型的储存所,例如SD内存或NAND闪存或任何其它 适当的储存装置,例如但不受限于USB硬盘。经由与中央处理单元105互动且与其耦合 的外围控制器106,外部储存所129可与集成电路100互动。此外,中央处理单元105耦 合至存储器控制器101。存储器控制器101仲裁CPU及其它组件对于存储器(例如,内 部RAM 107与外部RAM 117)的存取。在CPU的指示下,存储器控制器101也可标记 不同的存储器区作为保密存储器。可为静态RAM的内部RAM 107可实体位于集成电路的晶粒上。可为例如 DRAM的外部RAM 117可实体在集成电路100的封装内,但不一定和存储器控制器在同 一个晶粒上。不过,不论是在或不在集成电路100的晶粒上,存储器可位于任何适当位 置。存储器控制器101进一步耦合至启动只读存储器103。启动只读存储器103控制集 成电路100的启动程序而且可包含以启动集成电路100为目的来操作的启动只读存储器软 件及/或逻辑电路。例如,启动只读存储器103可参考由启动只读存储器103运行的软 件,在此系由中央处理单元105执行该启动只读存储器软件。在其它具体实施例中,启 动只读存储器103可包含软件以及可藉由逻辑电路操作来与该软件互动或与该软件无关 的逻辑电路操作。此外,启动只读存储器103可包含保密存储器,其中该保密存储器系 上锁而不被集成电路100中与启动无关的各种逻辑电路存取。存储器控制器101可进一步耦合至用来加密为集成电路100所用之各种信息的加 密逻辑电路102,例如但不受限于软件程序代码或用于加密及解密软件(例如,视讯媒体 软件、等等)的各种加密密钥。加密逻辑电路102可为例如杂凑逻辑电路(hashing logic) 用来杂凑软件程序代码以及提供该杂凑给用于储存所(例如,内部RAM 107或外部RAM 117)的存储器控制器。存储器控制器101也耦合至密码逻辑电路113。密码逻辑电路 113系用来检查各种待加载以及在集成电路100上由例如中央处理单元105运行之软件映 像的有效性。密码逻辑电路113在一些具体实施例中可为密码核心处理器(crypto coreprocessor), ASIC、或适于根据本文提供之描述用来加密及解密软件程序代码的其它适当 逻辑电路。在有些具体实施例中,该密码逻辑电路可进一步包含随机数产生器121、密钥 储存内存123、及硬件唯一密钥储存存储器125。
集成电路100进一步包含可含有与集成电路100配置有关之信息的硬件唯一密钥 逻辑电路115。硬件唯一密钥逻辑电路115含有一旦熔断就无法恢复的保险丝。因此, 该硬件唯一密钥逻辑电路115可建立一组永久性的位可用来加密在集成电路100内的各种 软件。从而,硬件唯一密钥逻辑电路115可建立用来加密映像的“硬件唯一密钥”,这 在下文有进一步的说明。该硬件唯一密钥逻辑电路系耦合至密码逻辑电路113以及与密码逻辑电路113共 享来自频率逻辑电路(clock logic) 114的频率讯号(clocksignal)。可使用由频率逻辑电路 114进入密码逻辑电路113的频率讯号来序列频率化(serially clock)构成该“硬件唯一密 钥”的硬件唯一密钥逻辑电路115位样式(bitpattem)。然后,该密码逻辑电路可储存该
“硬件唯一密钥”于硬件唯一密钥储存存储器125中。该“硬件唯一密钥”系专属于集 成电路100而且与在任何其它集成电路实例之中的任何其它“硬件唯一密钥”不同。被 硬件唯一密钥逻辑电路115收纳也在硬件唯一密钥储存存储器125内的“硬件唯一密钥” 无法通过集成电路100的任何界面来存取。换言之,无法经由存储器控制器101或经由 集成电路100内的任何其它逻辑电路,从硬件唯一密钥逻辑电路115,密码逻辑电路113 读出该“硬件唯一密钥”。此一方法进一步详细地图解说明于第2图。如第2图所示,硬件唯一密钥逻辑 电路115包含耦合至在密码逻辑电路113内之对应序列接收器(serial receiver) 203的序列 加载器(serial loader) 201。使用由频率逻辑电路114产生、经由序列加载器201至密码逻 辑电路113之序列接收器203的频率讯号来频率化代表来自硬件唯一密钥逻辑电路115之
“硬件唯一密钥”的位样式。序列接收器203把该“硬件唯一密钥”传递至无法被在密 码逻辑电路113外部之逻辑电路存取的硬件唯一密钥储存存储器125。根据该等各种具体实施例,储存于密码逻辑电路113内的“硬件唯一密钥”可 用来加密加载於集成电路100的软件使得使用该“硬件唯一密钥”加密的软件在集成电 路100是唯一的而且无法被任何其它集成电路或装置使用。该等各种具体实施例的示范 方法系图示于第3图。在步骤301,该集成电路接收来自外部装置的程序代码映像。该 外部装置可为服务器(例如,服务器127)或外部储存所(例如,NAND闪存)或SD内 存(例如,外部储存所129)。在步骤303,密码逻辑电路113使用该“硬件唯一密钥” 来加密该程序代码映像以产生“硬件唯一程序代码映像”,在此外部装置127无法存取 该“硬件唯一密钥”。同样,任何外部装置或外部集成电路都无法使用该已予加密的程 序代码映像。在步骤305,该“硬件唯一程序代码映像”可储存于集成电路100内,在 此该“硬件唯一程序代码映像”只有在解密操作使用该“硬件唯一密钥”来解密该程序 代码映像后才能执行。例如,在第1图中,外部装置127可提供可经由外围控制器106获 取及储存于内部RAM107的程序代码映像111作为映像111。CPU 105可请求密码逻辑 电路113使用储存于硬件唯一密钥储存存储器125的“硬件唯一密钥”来加密映像111。 在映像111加密后,可储存已予加密的映像作为最终集成电路映像119于例如外部RAM 117中,如第1图所示。随后,在集成电路100外部的任何装置都无法使用该最终集成电路映像119。第4解说明该等各种具体实施例的方法,其中可用中央处理单元105运行最 终集成电路映像119。例如,在步骤401,启动只读存储器103可发送命令给密码逻辑 电路113以请求使用该“硬件唯一密钥”来解密“硬件唯一程序代码映像”最终集成电 路映像119。然后,密码逻辑电路113可由外部RAM 117获取最终集成电路映像119以 及使用储存于硬件唯一密钥储存存储器125的“硬件唯一密钥”来解密。如步骤403所 示,启动只读存储器103在解密后接着执行该“硬件唯一程序代码映像”。第5解说明先前在说明第2图时提及的方法。如步骤501所示的密码逻辑 电路113可请求来自硬件唯一密钥逻辑电路115的“硬件唯一密钥”数据,以及在步骤 503,硬件唯一密钥逻辑电路115经由如第2图所示的控制器202指示序列加载器201发 送该“硬件唯一密钥”位样式给密码逻辑电路序列接收器203。如步骤505所示,密码 逻辑电路113储存该“硬件唯一密钥”于硬件唯一密钥储存存储器125中。第6解 说明该等各种具体实施例的细节,其中如步骤601所示,可将泛用程序代码映像推入集 成电路100。尽管未图示于第6图,启动只读存储器103软件可证实推入集成电路100的 任何泛用程序代码为有效的程序代码。例如,集成电路100可在外部装置127与集成电 路100之间做挑战/响 应或一些其它适当安全机构(security mechanism)以证实外部装置 127对于集成电路100为软件的授权提供者。因此,根据该等具体实施例,如步骤601所 示,在进行与该程序代码映像有关的任何其它操作之前,集成电路100会验证推入该IC 的泛用程序代码映像。在步骤603,藉由读取不同的存储器位置,集成电路100会侦查该 存储器(例如,内部RAM 107或外部RAM 117)中不存在先前存入的泛用程序代码映像 加密版。例如,可由启动只读存储器103执行此操作。假设在步骤603不存在找到先前存入的版本,启动只读存储器103可发送命令给 密码逻辑电路113请求该密码逻辑电路产生随机密钥。如步骤607所示,密码逻辑电路 113可使用随机数产生器121 (在有些具体实施例中,它可为真随机数产生器(traenmdom number generator))以按照请求来产生随机密钥。如步骤609所示,密码逻辑电路113可 继续使用储存于硬件唯一密钥储存存储器125的“硬件唯一密钥”来加密该随机密钥, 然后启动只读存储器103可储存该加密随机密钥于存储器的适当位置。如步骤611所示, 该密码逻辑电路接着可使用该加密随机密钥来加密该程序代码映像(例如,程序代码映 像111)以及例如继续储存已予加密的程序代码映像作为最终集成电路映像119。为了执行最终集成电路映像程序代码119,启动只读存储器103会以加密的形式 发送该随机密钥给密码逻辑电路113以及请求密码逻辑电路113使用该随机密钥来解密最 终集成电路映像119。在有些具体实施例中,必须使用该硬件唯一密钥来解密该随机密 钥。如步骤703所示,最终集成电路映像119会与来自启动只读存储器103的请求通过 该密码逻辑电路以使用该随机密钥来解密。在步骤705,该密码逻辑电路可在已予解密 的映像上运行额外的杂凑测试(hashing test),其中也用该“硬件唯一密钥”来加密该杂 凑。第8示另一具体实施例,其中藉由接收能够被信赖快闪加载器程序代码的 推入可开始快闪(initially flash)集成电路100。如步骤801所示,一开始可将泛用程序 代码映像推入该集成电路,或替换地,如步骤809所示,经由远程服务器127或区域装置(例如,外部储存所129)来推入该集成电路。就这两个具体实施例中之任一而言,如步 骤803所示,能够被信赖快闪加载器程序代码推入集成电路100是可能发生的。启动只 读存储器103会使用例如保密杂凑(secure hash)来检查该快闪加载器程序代码。如本技 艺一般技术人员所习知,这涉及使用例如,公钥/私钥对(public/private key pair)或任何 其它适当的安全机构。在步骤807,该快闪加载器程序代码(例如,图示于第1图的快闪 加载模块109)可与外部装置(例如,外部服务器127)做挑战/响应以得到该泛用程序代 码的推入,如步骤809所示。根据该等各种具体实施例,如前文所述,可使用该“硬件 唯一密钥”来加密该泛用程序代码。第9解说明集成电路100用于各种情况的操作,其中系提供泛用程序代码映像给该集成电路。例如,在泛用程序代码映像推入集成电路后,启动只读存储器103 即可检查以藉由读取不同的存储器位置来侦查不存在先前存入的加密版本,如步骤901 所示。如步骤903所示,该启动只读存储器可侦查程序代码的确存在,然而仍然需要新 的程序代码,例如,在存储器中有较旧的版本然而装置已推入较新的版本以便完成升级 的时候。在步骤907,启动只读存储器103可起动如先前所述的密码处理(cryptographic process),或在说明第8图时提及的快闪加载器处理。第10解说明用于由硬件唯一密钥逻辑电路115以保密方式传输硬件唯一密 钥信息至密码逻辑电路113的具体实施例。根据该图标具体实施例,硬件唯一密钥逻辑 电路115与密码逻辑电路113存在由请求线路(request line) 1001、验证线路(validation line) 1003及数据线路(data line) 1005组成的保密通讯线路。该保密通讯线路系与该集成 电路的任何扫描链(scan chain)及任何测试机构分离,使得密码逻辑电路113以外的机构 都无法存取该硬件唯一密钥信息。硬件唯一密钥逻辑电路115 —开始是用硬件唯一密钥 及装置ID编程,有些具体实施例是在保密的环境中,例如,在制造集成电路的时候。第11图为图解说明一示范硬件唯一密钥信息的位图。例如,在有些具体实施例 中,该硬件唯一密钥信息可包含装置ID 1101与硬件唯一密钥1103。该硬件唯一密钥信 息可进一步包含锁定位(Iockbit) 1105,在有些具体实施例中,它可为单一位。例如,装 置ID 110有128个位长,硬件唯一密钥有128个位长,以及锁定位为单一位。因此,密 码逻辑电路113可包含装置ID储存处1007供储存装置ID 1101用。第12解说明图示于第10图之具体实施例的操作。在步骤1201,可发生该集 成电路或硬件唯一密钥逻辑电路115的重置。在步骤1203,硬件唯一密钥逻辑电路115读 取对应于如上述程序化之保密环境的保密内部固定位区(secure internal fixed bit region)。 在步骤1205,硬件唯一密钥逻辑电路115对于该位样式可做循环冗余检查(CRC)以确保 它的有效性。密码逻辑电路113可透过保密数据请求线路1001来请求该硬件唯一密钥信 息,如步骤1207所示。然后,该硬件唯一密钥逻辑电路可透过验证线路1003来确认该 硬件唯一密钥信息的有效性,以及透过数据线路1005来提供该硬件唯一密钥信息给密码 逻辑电路113,如步骤1209所示。如第11图所示,锁定位1105会被传输至密码逻辑电 路113作为序列线路(serial line)上的第一个位,之后是例如可为128个位的硬件唯一密钥 1103,然后同样可为128个位的装置ID1101,在有些具体实施例中,该序列传输是由最 小有效位到最大有效位。该锁定位用作给密码逻辑电路113的旗标藉此不需要计数器。 然后,密码逻辑电路113可撤消(de-assert)请求线路1001上的请求,如步骤1211所示。该硬件唯一密钥信息可能透过数据线路1005来传输。
本文以上所提出的详细描述及实施例只是为了图解说明而不是限制。例如,可 用任何适当的方式做出上述操作。可用仍可提供上述操作及结果的任何适当顺序来完成 该等方法步骤。因此,希望该等本发明具体实施例涵盖落入揭示于上文及以下申请专利 范围的基本原理之精神及范畴内的任一及所有修改、变体及等价陈述。
权利要求
1.一种方法,其包含下列步骤通过使用硬件唯一密钥的密码逻辑电路来加密来自外部装置的程序代码映像以产生 硬件唯一程序代码映像,该外部装置无法存取该硬件唯一密钥;以及储存该硬件唯一程序代码映像,其中该硬件唯一程序代码映像只有在使用该硬件唯 一密钥来解密该硬件唯一程序代码映像后才能执行。
2.根据权利要求1所述的方法,其包含下列步骤向该密码逻辑电路发送命令,该命令请求由该密码逻辑电路使用该硬件唯一密钥来 解密该硬件唯一程序代码映像;解密该硬件唯一程序代码映像;以及在该解密后,由该启动软件执行该硬件唯一程序代码映像。
3.根据权利要求1所述的方法,其中通过使用硬件唯一密钥的密码逻辑电路来加密该 程序代码映像以产生硬件唯一程序代码映像,该外部装置无法存取该硬件唯一密钥,进 一步包含下列步骤向该密码逻辑电路发送命令以请求该密码逻辑电路产生随机密钥; 由该密码逻辑电路产生随机密钥;由该密码逻辑电路使用该硬件唯一密钥来加密该随机密钥; 在存储器中储存该加密随机密钥;以及 由该密码逻辑电路使用该加密随机密钥来加密该程序代码映像。
4.根据权利要求1所述的方法,在接收来自外部装置的程序代码映像之后,包含下列 步骤确定在存储器中不存在该程序代码映像的先前加密版本。
5.根据权利要求1所述的方法,在接收来自外部装置的程序代码映像之后,包含下列 步骤确定在存储器中存在该程序代码映像的先前加密版本以及需要程序代码更新。
6.根据权利要求5所述的方法,在确定存储器中存在该程序代码映像的先前加密版本 以及需要程序代码更新之后,包含下列步骤把快闪加载器程序代码推入存储器;由启动软件证实该快闪加载器程序代码能够被信赖;执行该快闪加载器程序代码;与外部装置执行挑战/响应安全例程;以及得到来自该外部装置的程序代码映像的推入。
7.根据权利要求1所述的方法,在通过密码逻辑电路使用硬件唯一密钥来加密该程序 代码映像之前,包含下列步骤请求来自硬件唯一密钥序列加载器的硬件唯一密钥;以及用序列接收器接收来自该序列加载器且对应于该硬件唯一密钥的组序列位。
8.—种集成电路,其包含 存储器;以及耦合至该存储器的密码逻辑电路,该密码逻辑电路能够被操作以 使用硬件唯一密钥来加密程序代码映像以产生硬件唯一程序代码映像,经由该集成电路的任何端口都无法存取该硬件唯一密钥;以及储存该硬件唯一程序代码映像于该存储器中,其中该硬件唯一程序代码映像只有在 使用该硬件唯一密钥来解密该硬件唯一程序代码映像后才能执行。
9.根据权利要求8所述的集成电路,其包含外围控制器,其能够被操作以控制外部装置由该外围控制器接收该程序代码映像; 存储器控制器,其耦合至该密码逻辑电路;以及启动只读存储器,其耦合至该存储器控制器;该启动只读存储器能够被操作以 向该密码逻辑电路发送请求以请求由该密码逻辑电路使用该硬件唯一密钥来解密该 硬件唯一程序代码映像;以及在该解密后,执行该硬件唯一程序代码映像。
10.根据权利要求8所述的集成电路,其包含能够被操作地耦合至该存储器及该密码逻辑电路的CPU,其中该存储器控制器能够 被操作以向该密码逻辑电路发送命令,由该存储器控制器响应该请求,以导致该密码逻辑电 路能够产生随机密钥;以及其中该密码逻辑电路更能够被操作以产生该随机密钥以响应该命令;以及使用该硬件唯一密钥来加密该随机密钥以产生加密随机密钥;在密钥储存存储器中储存该加密随机密钥;以及使用该加密随机密钥来加密该程序代码映像。
11.根据权利要求9所述的集成电路,其中该启动只读存储器更能够被操作以 在接收来自该外部装置的该程序代码映像之后,确定该集成电路的内部存储器中不存在该程序代码映像的先前加密版本。
12.根据权利要求9所述的集成电路,其中该启动只读存储器更能够被操作以 在接收来自该外部装置的该程序代码映像之后,确定该集成电路的内部存储器中存在该程序代码映像的先前加密版本;以及 确定需要该程序代码映像的程序代码更新。
13.根据权利要求12所述的集成电路,其中该外围控制器能够进一步被操作以 接收推入该集成电路的该内部存储器的快闪加载器程序代码;以及其中,该启动只读存储器能够进一步被操作以证实该快闪加载器程序代码能够被信赖;以及执行该快闪加载器程序代码,其中该快闪加载器程序代码能够被操作以 与该外部装置执行挑战/响应安全例程;以及由该外部装置取得该程序代码映像的推入以响应该挑战/响应安全例程的正确响应。
14.根据权利要求8所述的集成电路,其包含能够被操作地耦合至该密码逻辑电路的硬件唯一密钥逻辑电路,该硬件唯一密钥逻 辑电路能够被操作以从该密码逻辑电路接收对于该硬件唯一密钥的请求;以及发送该硬件唯一密钥给该密码逻辑电路以响应该请求。
15.根据权利要求14所述的集成电路,其中该硬件唯一密钥逻辑电路进一步包含 序列加载器;以及其中该密码逻辑电路进一步包含能够被操作地耦合至该硬件唯一密钥逻辑电路的该序列加载器的序列接收器,该序 列接收器能够被操作以接收来自该序列加载器的组序列位,该组序列位对应于该硬件唯一密钥。
16.根据权利要求15所述的集成电路,其中该硬件唯一密钥逻辑电路最初被配置为预 定位样式,该位样式用于产生对应于该硬件唯一密钥的该组序列位,该硬件唯一密钥逻 辑电路在初始配置后被永久地配置成该预定位样式。
17.根据权利要求10所述的集成电路,其中该密码逻辑电路进一步包含 随机数产生器逻辑电路,其能够被操作以产生该随机密钥。
18.—种集成电路,其包含外围控制器,其能够被操作以控制外部装置由该外围控制器接收该程序代码映像; 存储器;硬件唯一密钥逻辑电路;能够被操作地耦合至该存储器及该硬件唯一密钥逻辑电路的密码逻辑电路,该密码 逻辑电路能够被操作以发送对于该硬件唯一密钥的请求给该硬件唯一密钥逻辑电路; 接收来自该硬件唯一密钥逻辑电路的该硬件唯一密钥以响应该请求; 使用该硬件唯一密钥来加密该程序代码映像以产生硬件唯一程序代码映像,该集成 电路的任何端口都无法存取该硬件唯一密钥;以及在该存储器中储存该硬件唯一程序代码映像,其中该硬件唯一程序代码映像只有在 使用该硬件唯一密钥来解密该硬件唯一程序代码映像后才能执行; 存储器控制器,其能够被操作地耦合至该密码逻辑电路;以及 启动只读存储器,其能够被操作地耦合至该存储器控制器;该启动只读存储器能够 被操作以发送请求给该密码逻辑电路以请求由该密码逻辑电路使用该硬件唯一密钥来解密该 硬件唯一程序代码映像;以及在该解密后,执行该硬件唯一程序代码映像。
19.根据权利要求18所述的集成电路,其包含CPU,其能够被操作地耦合至该外围控制器、该存储器、该硬件唯一密钥逻辑电 路、该密码逻辑电路、该存储器控制器、以及该启动只读存储器,其中该CPU能够被操 作以向该密码逻辑电路发送命令,由该启动只读存储器响应该请求,以导致该密码逻辑 电路能够产生随机密钥;以及其中该密码逻辑电路能够进一步被操作以 产生该随机密钥以响应该命令;使用该硬件唯一密钥来加密该随机密钥以产生加密随机密钥;在密钥储存存储器中储存该加密随机密钥;以及 使用该加密随机密钥来加密该程序代码映像。
20.根据权利要求19所述的集成电路,其中该外围控制器更能够被操作以 接收推入该集成电路的该内部存储器的快闪加载器程序代码;以及其中该启动只读 存储器更能够被操作以证实该快闪加载器程序代码能够被信赖; 执行该快闪加载器程序代码; 与该外部装置执行挑战/响应安全例程;以及由该外部装置取得该程序代码映像的推入以响应给该挑战/响应安全例程的正确的 响应。
全文摘要
揭示于本文的各种具体实施例系包含一种方法,其中集成电路(100)可接收来自外部装置(127)的程序代码映像,由密码逻辑电路(113)使用硬件唯一密钥来加密该程序代码映像以产生硬件唯一程序代码映像,在此该外部装置(127)系无法存取该硬件唯一密钥。然后,集成电路(100)会储存该硬件唯一程序代码映像,其中该硬件唯一程序代码映像只有在使用该硬件唯一密钥来解密后才能执行。该方法也包含下列步骤向密码逻辑电路(113)发送命令以请求由密码逻辑电路(113)使用该硬件唯一密钥来解密该硬件唯一程序代码映像,以及在解密后由启动只读存储器(103)来执行该硬件唯一程序代码映像。
文档编号G06F21/00GK102027707SQ200980117647
公开日2011年4月20日 申请日期2009年5月14日 优先权日2008年5月16日
发明者A·道斯瑞耐迪欧斯, D·福利, S·T·谢勒 申请人:Ati技术无限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1