专利名称:使用磁设置数据的防篡改封装和方法
技术领域:
本发明涉及器件封装,更加具体地说,涉及用于例如集成电路的产品的防篡改封装。
封装在产品保护和安全性方面扮演着重要角色。例如,在电子和软件应用中,封装对于确保保持产品免受损坏和不被篡改是重要的。篡改保护在存储在特定封装中的信息是专有的这种应用中特别重要。例如,在存储器和其它数据存储应用中,有时期望防止访问用于存储数据的电路,以及保护被存储的数据。
先前已经使用了各种各样的保护数据的途径。例如,在SRAM应用中,当从用于存储数据的电路除去电力时,存储的内容就会丢失。在这点上,可在检测到篡改时除去电力以擦除存储的数据。当这些途径包含电池备份时,电池电力也会响应于篡改而被除去。
在其它存储应用中,电力对于存储数据不一定是必需的。例如,在磁存储应用中,存储器以这样一种方式进行存储其不需要电力来维持存储器并且因此是非易失性的。使用一个区域的磁性状态用于改变位于该区域附近的材料的电阻的某些类型的磁存储单元集体被称作为磁阻(MR)存储单元。磁存储单元阵列通常被称为磁性随机存取存储器(MRAM)。在MRAM应用中,存储单元典型的形成在字线和读出(sense)线的交点上,每个存储单元典型的具有由导电层或绝缘层分开的磁性层。在这种存储器应用中使用的磁阻金属当被放置在磁场中时显示出电阻变化。关于这一点,MRAM单元具有两种稳定的磁性配置,一种具有高阻抗,而另一种具有低阻抗(例如,高阻抗代表逻辑状态零,而低阻抗代表逻辑状态一)。器件的逻辑状态(即,磁荷)被操控和读取为数据,从而使用一个仪器探测其上定位有MRAM单元的集成电路就能施行读取。
保护依赖电力来维持存储器的应用以及不必需要电力来维持存储器(即,非易失性存储器)的那些应用中的存储器已经是挑战性的。尤其是,保护非易失性存储器已经是挑战性的,因为涉及电力相关篡改保护的典型方法并不起作用。具体的,除去电源并不会使存储器丢失。这些和其他困难对于各种应用施行篡改保护和封装提出了挑战。
本发明的各个方面涉及用于各种集成电路(例如存储器)的篡改保护。本发明是以多个实施方案和应用例示的,其中一些概括如下。
根据一个示例实施例,本发明涉及一种包括芯片封装的集成电路芯片布置,所述芯片封装在芯片的电路的至少一部分上具有磁性材料。所述芯片电路包括适于存储位的磁响应节点;这些节点响应于芯片电路上的磁性材料。一个电路(例如,加密电路)适于存储所述多个磁响应节点中的选定位,所述位的值响应于封装中的磁性材料。这些位的方位可用于定义芯片的允许状态。如果出现篡改(例如,除去一部分封装),则由芯片电路上的磁性材料提供的磁场将可能发生变化。接着,所述电路根据磁响应节点的状态存储不同的位;然后,除去芯片的允许状态。
在本发明的一个更加特定的示例实施例中,一组磁响应节点的稳定性被测试并被选择用作允许密钥。这些节点的身份(例如,位置)被存储在允许寄存器中,来自这些选择节点的输出用于加密数据。当随后上电时,来自允许寄存器的数据用于屏蔽从磁响应节点读取的数据,使得那些节点与身份相匹配。
本发明的上述概述并不打算说明本发明的每个实施例或每个实施方案。本发明的上述概述并不打算说明本发明的每个示意实施例或每个实施方案。下述的附图和说明更加具体的例示了这些实施例。
考虑到下述结合附图对本发明的各个实施例所进行的详细说明,可更加完整的理解本发明,其中
图1是根据本发明一个实施例的适用于禁止对其进行篡改的集成电路布置;和图2是根据本发明另一个实施例的篡改保护方法的流程图。
虽然本发明可适应于各种修改和替换形式,但其细节已经借助例子在附图中进行了显示并将对其进行详细说明。然而,应该理解并不打算将本发明限定于所述的特定实施例。相反,是打算覆盖落在如后附权利要求所定义的本发明的范围内的所有修改、等效内容和替换方案。
相信本发明可应用于涉及和/或受益于篡改保护的各种电路和方法,尤其可应用于封装集成电路的篡改检测,而不需要依赖于电力或中断和/或电气特性的检测。尽管本发明不必限制于这种应用,但通过在这样的环境下对各例子的讨论可最佳获得本发明的各个方面的正确评价。
根据本发明的一个实施例,使用多个磁响应电路元件和其中具有磁性元件的封装将加密密钥编程到集成电路器件中。封装中的磁性元件被布置以产生使磁响应电路元件中的至少一些呈现一种磁性状态的磁场。磁响应电路元件的状态被用作磁存储位,当封装中的磁性元件被除掉时,所述磁存储位被除去(例如,擦除)。所述磁存储位被用于形成存储在集成电路的寄存器中的加密密钥,其中存储在集成电路中的数据使用寄存器中的加密密钥进行加密。所述磁存储位被读取并用于解密加密的数据。
封装和集成电路器件被布置使得拆除封装以访问集成电路(例如,拆除充足数量的封装以访问集成电路中的数据)会导致一个或多个磁性元件的拆除。当一个或多个磁性元件被拆除时,至少一个磁响应位的磁状态被改变。因此磁响应位的这种变化将改变从所述位读取的加密密钥,使得变化的密钥不能用于解密存储在集成电路芯片中的数据。通过该方法,防止了在损害封装时解密数据。
在本发明的另一个实施例中,磁响应电路包括被施行用于存储表示上述的加密密钥的位的磁隧道结(MTJ)器件。典型的MTJ器件包括多层结构,具有一对铁磁材料的电极层和一个绝缘材料的插入隧道势垒层。例如,两个铁磁电极层和位于其间并与两个铁磁层接触的绝缘隧道势垒层可用于施行MTJ器件。绝缘层足够薄以允许在电极层之间实现量子力学隧道效应。
各种各样的应用可从该方法获取益处。例如,在DVD布置中,上述特定实施例之一将可用于防止对DVD数据产品进行未授权拷贝。关于芯片的制造,磁响应位的磁状态可用作DVD布置的密钥以解密DVD数据产品的数据。试图进行未授权拷贝将失败,因为在没有芯片存储的密钥的情况下,数据将保持加密的状态。
图1表示根据本发明另一个实施例的具有集成电路104和封装106的集成电路布置100。封装106被布置以禁止例如通过探测或可视访问而对衬底104中的电路进行访问,并进一步包括多个磁性粒子120-125。在衬底104中有多个磁性结晶体管(MJT)130-135,并且它们被布置使得至少一些MJT受来自一个或多个磁性粒子120-125的磁场的影响。MJT呈现一个逻辑状态,该逻辑状态是例如通过一个或多个磁性粒子120-125施加于MJT的磁场的函数。
集成电路104被编程以使用至少一些MJT130-135的逻辑状态用于数据加密。首先,选择的那些MJT130-135的地址信息被存储在允许寄存器140(例如,一次可编程存储器)中用于随后用作从MJT读取密钥的掩码。使用其地址信息被存储在允许寄存器140中的MJT的逻辑状态来加密数据。对于解密,通过上电逻辑电路150并使用允许寄存器140来读取和屏蔽MJT130-135的逻辑状态,将结果存储在易失性MJT输出(密钥)寄存器160中。然后输出寄存器160的内容被用于解密数据。在这里所述的上面和其它方法中,类似感测放大器、数据传输电路和其它电路的电路是任选施行的(例如,在集成电路104内)以用于实现从MJT读取和存储信息。
如果封装106中的磁性粒子120-125被改变,例如通过去掉一部分封装106用于检查或探测衬底104,则磁性粒子对MJT130-135的影响因此发生改变。接下来,至少一个MJT130-135的逻辑状态被改变,并且存储在输出寄存器160中的来自MJT的屏蔽输出由此发生变化。因此变化的屏蔽输出将不再用于解密存储在集成电路布置100中的数据,从而能防止不期望的访问数据。
在一个更加特定的实施例中,磁性粒子120-125的大小和/或强度被选择以使MJT130-135的稳定性最大化。例如,通过对特定晶片执行经验测试,导致用于加密的稳定MJT的磁性粒子的大小和类型可被确定。通过该方法,带有磁性粒子的封装可被施行用于具有不同布置和组成的各种晶片和电路类型的加密目的。
图2为根据本发明另一个实施例的用于封装集成电路和在其中加密数据的流程图。下述关于图2的讨论使用了图1的电路布置作为参考;然而,根据应用,这些特征化的示例实施例可在其它电路中施行。在图2的块210,在封装之后,测试集成电路布置100以检测MJT是否呈现稳定的逻辑状态(例如,MJT130-135中的一个或多个)。在一个特定实施方案中,只要封装材料基本上未发生改变,则识别稳定的MJT就包括确定哪一个MJT将可靠保持相同的状态(逻辑一或逻辑零)。可例如通过读取各种条件下的单元状态来实现该识别过程。
在一个特定实施例中,在块210使芯片承受各种条件中的一个或多个之后,在制造阶段(例如,使用传统的测试固定装置)配置芯片以对每个单元状态进行读取。例如,可在重复旋转芯片九十度以从外部产生的场诱发响应之后、在改变用于给芯片和/或单元格栅提供动力的电压电平之后、在振动期间、和在改变环境和/或芯片控制温度变化之后进行单元读取。对于每个这种测试条件之后保持相同状态的不超过阈值数量的MJT的每一个来说,MJT的位置(地址)及其状态被存储在允许寄存器140中。寄存器存储的这些稳定MJT的每一个的位置和方位然后被用于产生密钥。
在设置允许寄存器140之后,使用允许寄存器140的内容作为密钥来加密集成电路布置100。在图2的块220,集成电路布置100被上电,并且在块230通过允许寄存器140的内容使用上电状态机150对来自MJT的输出进行读取和屏蔽。从MJT130-135输出的数据被屏蔽以表示存储在允许寄存器中的MJT的逻辑状态。典型的屏蔽操作对于不同的应用进行变化;典型地,可将屏蔽施行为下述算术和逻辑函数中的任何一个或结合OR、AND、EX-OR、移位和2的余函数。如块240处所示,该屏蔽输出被存储在MJT输出寄存器160中并用于解密存储在集成电路布置100中的数据。如图2的块250所示,正常的数据访问任务(专用于IC布置100)使用存储在MJT输出寄存器160中的屏蔽数据来解密数据。以这种方式,基于MJT的密钥保持数据访问任务安全。
在一个实施方案中,用于从MJT读取的屏蔽数据(例如,如上所述)的输出寄存器被以选择的间隔清空。例如,能在断电期间和/或在芯片操作过程中的特定时间间隔清空输出寄存器,其后需要重新产生密钥以便解密数据。在一个实施方案中,密钥寄存器在芯片操作过程中被清空,并且使用存储在允许寄存器中的数据重新产生密钥以屏蔽从MJT读取的数据,如上所述。通过该方法,在芯片操作过程中对封装的篡改可被检测到。在另一个实施方案中,当从芯片除掉电力时(例如,使用寄存器的易失性存储器)清空密钥寄存器。在随后的芯片上电过程中,使用允许寄存器中的数据屏蔽来自MJT的数据,并将屏蔽的数据存储在密钥寄存器中用于解密数据。通过这些和其它途径,封装的变化可使在稳定MJT组中的一个处的值被改变,并且使存储在密钥寄存器中的相应数据发生改变。因此,变化的密钥不能解密数据。
在本发明的另一个示例实施例中,在图2中关于在块210识别稳定MJT所概述的方法被施行如下。首先,以分开的位置在芯片布局中形成包括MJT的存储器单元,使得对芯片上封装的篡改很可能出现在至少一些单元上(例如,使用用于封装去除的传统技术)。所使用的单元的数量至少是形成加密密钥所需的数量的大约四倍。来自每个单元(与MJT的状态相关)的输出被耦接至一组感测放大器,所述感测放大器被进一步耦接至适于形成加密数据所需长度的大约四倍的字的多路复用器。测试所述单元以识别包括稳定MJT的选定单元。所述测试可例如包括改变电压、温度和与MJT的地球磁场相关的方向。通过测试(例如在测试条件下呈现选定的可靠程度)的单元被写入到允许寄存器中,使逻辑“一”存储在其相应的位置中以形成允许字。
通过使用允许字屏蔽MJT的输出来选择通过测试(并在允许寄存器中存储有相应的“一”)的单元的数据位以供使用。该屏蔽的输出形成一个可能的密钥,该可能的密钥然后被测试例如随机性的密钥质量。通过在允许寄存器中将其相应的位设置为数据“零”而将可能密钥的不想要部分屏蔽掉。然后将允许寄存器的内容存储在芯片的非易失性存储器中,其中允许寄存器具有数据“一”的位被用于形成加密密钥(例如,在图2的块230)。
在另一个特定应用中,使用类似于上述的方法测试多于1000的MJT以便从其识别稳定的MJT。从一组能被选择用于128位AES加密密钥的识别的稳定MJT中,随机选择128个并将它们各自的位置和状态存储在允许寄存器140中以形成密钥的基础。
在另一个特定应用中,这里所述的稳定性测试和选择稳定MJT的一个或多个方面被编程到芯片中。在另一个特定应用中,例如在芯片制造过程中或通过想要保护芯片中的数据的终端用户手动执行这里所述的稳定性测试和选择稳定MJT的一个或多个方面。
作为一个可选择方法,本领域技术人员将认识到任何上面的(可应用的)实施例可使用在2002年12月18日提交并且给予序列号为60/434,520和60/434,829的两篇美国临时专利申请中表示和说明的(多个)方法进行修改,所述两篇专利申请的题目是“TamperResistant Packaging And Approach(防篡改封装和方法)”(代理人编号US020611和US020612)。
上述和在图中所示的各个实施例仅仅是借助示例给出的并且不应构成对本发明的限制。根据上面的讨论和说明,本领域技术人员将很容易认识到在不严格遵循此处所示和说明的示例实施例和应用的情况下,可对本发明作出各种修改和变化。这种修改和变化并不会脱离下述权利要求中所阐述的本发明的真实精神和范围。
权利要求
1.一种集成电路芯片布置(100),包括其中具有电路的集成电路芯片(104),其包括多个适于存储位的磁响应节点(130-135);具有磁性材料(120-125)并覆盖集成电路芯片(104)中的至少一部分电路的封装(106);适于存储多个磁响应节点中的选定位的检测电路(160),所述位将一个值定义为封装中的磁性材料的函数;并且所述封装(106)和多个磁响应节点(130-135)被布置,从而使得改变封装会导致所述多个磁响应节点中的至少一个的状态变化,所述状态变化可由检测电路(160)检测到。
2.根据权利要求1所述的集成电路芯片布置,进一步包括适于存储所述多个磁响应节点(130-135)中的选定位的允许寄存器(140),所述位的值响应于封装(106)中的磁性材料。
3.根据权利要求2所述的集成电路芯片布置,其中从具有存储在允许寄存器(140)中的数据的位形成加密密钥。
4.根据权利要求3所述的集成电路芯片布置,其中所述集成电路芯片布置适于将数据加密为使用具有存储在允许寄存器中的数据的位产生的加密密钥的函数。
5.根据权利要求2所述的集成电路芯片布置,进一步包括与允许寄存器相耦接并与检测电路相耦接的上电状态机。
6.根据权利要求2所述的集成电路芯片布置,其中所述选择的磁存储位被读取以解密加密的数据。
7.根据权利要求2所述的集成电路芯片布置,其中所述集成电路芯片还适于使用存储在允许寄存器中的数据屏蔽从磁响应节点读取的输出,并适于将屏蔽的输出存储在输出寄存器中,输出寄存器的内容用于加密数据。
8.根据权利要求7所述的集成电路芯片布置,其中输出寄存器的内容用于解密数据。
9.根据权利要求8所述的集成电路芯片布置,其中所述输出寄存器被配置和布置以在电力损失时擦除存储在其中的数据,并且其中所述允许寄存器适于在对输出寄存器恢复电力时屏蔽从磁响应节点读取的并存储在输出寄存器中的输出。
10.一种集成电路芯片布置(100),包括其中具有电路的集成电路芯片(104),其包括多个适于存储位的磁响应节点(130-135);具有磁性材料(120-125)并覆盖集成电路芯片(104)中的至少一部分电路的封装(106);适于在允许寄存器中存储多个磁响应节点中的选定位的加密电路(160),所述位的值响应于封装中的磁性材料;集成电路芯片(104),适于将数据加密为允许寄存器(140)中的加密密钥数据的函数;所述封装(106)和多个磁响应节点(130-135)被布置,从而使得除去封装(106)的一部分将改变具有存储在允许寄存器(140)中的位的所述多个磁响应节点中的至少一位。
11.根据权利要求10所述的集成电路芯片布置,其中所述检测电路还适于将数据加密为所述多个磁响应节点中的选定位的函数。
12.根据权利要求10所述的集成电路芯片布置,其中所述集成电路芯片还适于将数据读取(解密)为所述磁响应节点中的选定位的函数。
13.根据权利要求12所述的集成电路芯片布置,其中所述集成电路芯片还适于使用存储在允许寄存器中的数据屏蔽从磁响应节点读取的输出,并适于将屏蔽的输出存储在输出寄存器中,输出寄存器的内容用于读取数据。
14.根据权利要求12所述的集成电路芯片布置,其中响应于正在改变的所述多个磁响应节点中的至少一位,存储在输出寄存器中的数据不同于存储在允许寄存器中的数据。
15.根据权利要求14所述的集成电路芯片布置,其中所述允许寄存器适于利用存储在允许寄存器中的数据屏蔽从所述多个磁响应电路节点读取的数据,使得只有来自在允许寄存器中具有相应位的磁响应电路节点的位被存储在输出寄存器中。
16.一种集成电路芯片布置(100),包括其中具有电路的集成电路芯片(104),其包括多个适于存储位的磁响应节点(130-135);具有磁性材料(120-125)并覆盖集成电路芯片(104)中的至少一部分电路的封装(106);适于存储多个磁响应节点中的选定位的检测电路(160),所述位将一个值定义为封装中的磁性材料的函数;所述封装(106)和多个磁响应节点(130-135)被布置,从而使得改变封装(106)将导致所述多个磁响应节点中的至少一个的状态变化,所述状态变化可由检测电路(160)检测到;以及上电响应电路(150),适于从所述多个磁响应节点(130-135)读取数据。
17.根据权利要求16所述的集成电路芯片布置,进一步包括允许寄存器,并且其中上电响应电路适于访问所述允许寄存器作为来自多个磁响应节点的数据的函数。
18.一种用于保护具有磁响应节点的集成电路芯片中的数据的方法,所述磁响应节点适于将数据存储为磁性状态的函数,所述方法包括使用具有磁性材料的封装材料来封装集成电路芯片,所述磁性材料被布置以设置多个磁响应节点的磁性状态(210);使用来自所述多个磁响应节点的输出解密存储在集成电路芯片中的数据(220,230,240,250)。
19.根据权利要求18所述的方法,进一步包括在允许寄存器中存储所述多个磁响应节点中的选定节点的地址位置;和其中使用来自所述多个磁响应节点的输出解密存储在集成电路芯片中的数据包括使用存储在允许寄存器中的地址信息屏蔽从所述多个磁响应节点读取的输出并在密钥寄存器中存储被屏蔽的输出和使用密钥寄存器解密数据。
20.根据权利要求19所述的方法,进一步包括使用来自所述多个磁响应节点中的选定节点的位加密数据,所述多个磁响应节点的选定节点的地址位置存储在所述允许寄存器中。
21.根据权利要求19所述的方法,其中在允许寄存器中存储所述多个磁响应节点中的选定节点的地址位置包括测试所述多个磁响应节点的稳定性;和选择所述多个磁响应节点中的稳定节点并在所述允许寄存器中存储用于所述稳定磁响应节点的地址信息。
22.根据权利要求21所述的方法,进一步包括测试所述稳定磁响应节点的随机性;和其中在所述允许寄存器中存储用于所述稳定磁响应节点的地址信息包括为呈现选定的随机程度的选定磁响应节点存储地址信息。
23.根据权利要求22所述的方法,其中在允许寄存器中存储所述多个磁响应节点中的选定节点的地址位置包括在允许寄存器中为所述多个磁响应节点中的选定节点中的每一个存储数据“一”,且其中为呈现选定的随机程度的选定磁响应节点存储地址信息包括将不呈现选定的随机程度的选定磁响应节点的值设置为数据“零”。
24.根据权利要求18所述的方法,在封装集成电路芯片之前,进一步包括选择封装中的磁性粒子的特性以使所述多个磁响应节点的状态的稳定性最大化;和其中封装集成电路芯片包括响应于选择的特性布置磁性材料。
25.根据权利要求24所述的方法,其中选择磁性粒子的特性包括至少选择下列特性中的一个磁性粒子的大小和强度特性。
全文摘要
一种防篡改封装方法保护集成电路(100)不受到不期望的访问。根据本发明的一个示例实施例,数据被加密为多个磁响应电路元件(130-135)的状态的函数并且其后被解密为所述状态(130-135)的函数。封装(106)被布置以防止对集成电路进行访问并且在其中具有磁性粒子(120-125)。磁性粒子(120-125)被布置以使磁响应电路元件(130-135)呈现用于加密数据的状态。因此这些元件的状态被再次用于解密数据(例如,作为密钥)。当磁性粒子改变时,例如通过除去封装的一部分,所述磁响应电路元件中的一个或多个的状态也将发生变化,因此使所述状态不能用于解密数据。
文档编号H01L23/58GK1735853SQ200480002142
公开日2006年2月15日 申请日期2004年1月14日 优先权日2003年1月14日
发明者C·克努德森 申请人:皇家飞利浦电子股份有限公司