访问受保护的数据载体的制作方法

文档序号:6663705阅读:183来源:国知局
专利名称:访问受保护的数据载体的制作方法
技术领域
本发明涉及具有存储了保密数据的半导体芯片的数据载体。本发明尤其涉及智能卡。
包含芯片的数据载体用于许多不同的用途,例如进行货币交易、对商品或服务进行支付、或者作为一种访问或允许进入控制的识别装置。在所有的所述用途中,数据载体芯片一般处理必须防止被非授权的第三方存取的保密数据。其中,通过给芯片的内部结构非常小的尺寸,从而很难为了探出在所述结构中处理的数据而访问所述结构,从而确保所述保护。另外为了阻止访问,可以将芯片嵌入在非常坚固的粘合化合物中,对该化合物的强制拆开会毁坏半导体极板或至少存储在那里的保密数据。也可以在生产期间对半导体极板提供保护层,不毁坏半导体极板就不能去除该层。
借助于非常昂贵然而又根本有效的相应的技术设备,窃取者(攻击者)可能成功地探知(揭露)并分析芯片的结构。例如,通过特别地蚀刻方法或适当的研磨处理可以实现这种探知。这样,被探知的芯片结构如导电路径可以采用微探针接触或通过其它的方法研究以确定所述结构中的信号模式。接着,可能试图通过数据载体的检测的信号保密数据确定如密钥,以便使用它们进行操作。同样可能试图通过微探针来有选择地干扰被探知结构中的信号模式。
本发明基于保护数据载体的芯片中存在的保密数据免于被非授权访问的问题。
通过权利要求1和9的特征组合来解决这个问题。
本发明解决方案的目的不像现有技术一样防止芯片内部结构和微探针安装的暴露。而是采取一些措施从而潜在的窃取者很难从截取的任何信号模式推断出保密信息。本发明的所述措施包括进行安全性相关的操作,从而不包括另外的保密信息就不能确定在实现所述安全性相关操作中使用的保密数据。为此目的,借助于执行之前适当的函数来伪装或伪造安全性相关操作。为了阻止或甚至防止特别是在执行多个安全性相关操作的情况下的统计估计,将随机分量输入到伪装函数。因此,窃取者不能由截取的任何数据流确定保密数据。
下面通过将输入数据x变换到输出数据y的函数h,即y=h(x)来表示安全性相关操作。为了防止保密的输入数据x被探出,本发明提供要确定的伪装函数hR1R2,从而保持下面的关系yR2=hR1R2(xR1)现在借助于伪装函数hR1R2来完成安全性相关操作,该函数的输入数据不是授权的保密数据x而是将授权的保密数据x与随机数R1组合产生的伪装的保密数据xR1。不知道随机数R1,就不能由伪装的保密数据xR1确定授权的保密数据x。应用伪装的函数hR1R2到伪装的保密数据xR1,就能够获得伪装的输出数据yR2。从伪装的输出数据yR2,能够通过适当的组合确定输出数据y。在每次新执行安全性相关函数之前,能够预置新的随机数R1和R2,在每种情况下由这些随机数确定新的伪装的函数hR1R2。另一方面,多个伪装的函数hR1R2能够永久地存储,在执行安全性相关操作之前随机地选择其中的一个。特别有益的是使用两个函数hR1R2和hR1’R2’,随机数R1’和R2’是相对于为伪装选择的组合类型的随机数R1和R2的反相值。在另一种变型中,随机数R1和R2也可以是相同的。特别地,随机数R1和R2可以在统计上独立地选择,从而在输入和可能用于窃取的输出数据之间没有相关性。
如果在上述的安全性相关运算h之前或之后执行另外的运算,随机数R1和R2也可以用于伪装采用更多的运算处理的数据。
本发明解决方案可以特别有益地用于包含非线性函数的安全性相关操作。借助于非线性函数,不能在执行这些函数之前根据伪装保密数据来应用已知的保护措施。已知的保护措施预先假定相对于伪装操作的这些函数是线性的,从而伪装能够在函数执行之后解开。然而,在本发明的解决方案中,不仅保密数据被伪造或伪装,而且安全性相关操作也处理保密数据。保密数据和安全性相关操作的伪装是协调的,从而授权的保密数据能够在执行安全性相关操作之后从伪装的保密数据中导出。如果以表格的形式即所谓的查阅表实现安全性相关操作,则保密数据的伪装和安全性相关操作之间的协调可以特别简单地实现。在所述的表格中,每个输入值x具有与它相联系的输出值y。通过查询属于特定输入值x的输出值y来执行由表格实现的函数。
下面参照图中示出的实施例解释本发明,其中

图1示出智能卡的顶视图,
图2示出图1顶视图所示智能卡的芯片的放大的细节,图3a、3b、3c和3d示出查阅表。
图1示出作为数据载体例子的智能卡1。智能卡1包括卡体2和在卡体2中特别提供的间隙中设置的芯片模块3。芯片模块3的基本部件是用子产生与外部装置电连接的接触面4、以及与接触面4电连接的芯片5。作为一种替代或除了接触面4以外,图1未示出的线圈或其他传送器件可以用于产生芯片5和外部设备之间的通讯链路。
图2示出图1顶视图的芯片5的放大的细节。图2的特性是它示出了芯片5的有效的表面,即它没有示出通常保护芯片5的有效层的所有各层。为了获得芯片内部的有关信号模式的信息,可以例如采用微探针与探知的结构6接触。微探针是非常细的针,借助于精确定位装置,它可以与探知的结构6例如导电路径电接触。为了推断芯片的保密数据,由微探针采集的信号模式通过适当的测量和估计装置来处理。
本发明从而窃取者非常困难甚至不可能访问尤其是芯片的保密数据,既使他没有毁坏电路而设法去除芯片5的保护层并且采用微探针接触芯片5探知的结构6或以某些其它方式截取它们。当然,如果窃取者以另一种方式得知芯片5的信号模式,本发明也是有效的。
图3a、3b、3c和3d示出查阅表的简单例子,其中每个输入和输出数据具有2位的长度。所有的表格值被表示为二进制数据。在特定列的第一行表示输入数据x,第二行表示与该输入相关的输出数据y。
图3a示出未伪装的函数h的查阅表。图3a表示输入值x=00具有与它相关的输出值h(x)=01,输入值01具有输出值11,输入值10具有输出值10,以及输入值11具有输出值00。图3a的查阅表表示在安全性相关操作范围内执行的非线性函数h。然而,根据本发明,在执行安全性相关操作时不使用图3a示出的查阅表本身,而是从图3b、3c和3d的所述查阅表中获得伪装的查阅表。
图3b示出确定伪装的查阅表的中间步骤。通过将图3a表格的第一行的每个值与随机数R1=11“异或”,从图3a的查阅表产生图3b的查阅表。这样,通过图3a的表格第一行和第一列的值00与数字11“异或”产生值11,现在它是图3b的表格的第一行和第一列的元素。因此,由图3a示出的表格第一行的值和随机数R1=11确定图3b示出的表格第一行其余的值。图3b示出的表格已经能够用作伪装的查阅表,用于处理采用随机数R1=11同样伪装的保密数据。结果将是在图3b表格的第二行读出的明文值。
人们通常根据上升的输入数据x安排查阅表的各个列。图3c示出通过据此分类图3b的表格确定的表格。
如果图3c的表格被进一步伪装或产生同样伪装值作为输出值而不是明文码,可以采用另外的随机数R2进行进一步的“异或”运算。
图3d示出应用所述进一步“异或”运算的结果。在所述运算中,图3c表格第二行元素的每一个与随机数R2=10“异或”。这样,图3d表格第二行和第一列中的元素通过图3c表格的第二行和第一列的元素与随机数R2=10“异或”而产生。因此,形成图3d表格第二行的另外的元素。图3d表格的第一行未改变地采用图3c表格的第一行。
借助于图3d示出的表格,能够由伪装的输入数据确定同样伪装的输出数据。这样确定的伪装的输出数据可以提供用于处理伪装的数据的另外的运算或者可以通过与随机数R2=10“异或”来确定明文数据。
使用图3d示出的表格能够采用伪装的保密数据来完成非线性操作并且保护所述保密数据免受非授权访问。安全性相关操作本身也仍然保护免受非授权访问,因为不同的伪装函数可以用在操作的每次执行中并且即使可以确定伪装函数也不能推断安全性相关操作本身。然而,在转换到明文之后,原始的安全性相关操作和借助于伪装函数完成的操作产生相同的结果。例如,图3a表格的输入值00产生输出值01。为了检查图3d示出的伪装的表格是否产生相同的输出值,必须首先将输入值00与随机数R1=11“异或”。由于所述组合,获得值11。根据图3d的表格,输入值11同样地产生输出值11。为了确定来自所述输出值的明文,必须将输出值与随机数R2=10“异或”。由于所述组合,获得值01,该值精确地匹配于借助图3a表格确定的值。
不仅通过“异或”而且可以通过其它适当类型的组合例如模数加法可以实现伪装安全性相关操作或输入值。另外,本发明不限于借助查阅表表示的非线性函数的应用。也可以使用任何非线性甚至线性函数,由这些函数可以确定适当的伪装函数。
权利要求
1.具有至少一个存储器的半导体芯片(5)的数据载体,该存储器包含能够执行至少一次运算(h)的运算程序,执行运算(h)需要输入数据(x)并且执行运算(h)产生输出数据(y),其特征在于-运算(h)在它执行之前被伪装,-采用伪装的输入数据(xR1)执行伪装的运算(hR1),以及-运算(h)和输入数据(x)的伪装是协调的,从而具有伪装的输入数据(xR1)的伪装运算(hR1)的执行产生的输出数据(y)与在执行未伪装的输入数据(x)的未伪装的运算(h)时确定的输出数据(y)相同。
2.如权利要求1所述的数据载体,其特征在于至少一个随机数(R1)参与伪装的运算(hR1)和伪装的输入数据(xR1)的确定。
3.如上述任一权利要求所述的数据载体,其特征在于借助于“异或”运算确定伪装的运算(hR1)和伪装的输入数据(xR1)。
4.如上述任一权利要求所述的数据载体,其特征在于伪装的运算(hR1)事先永久地存储在数据载体中。
5.如权利要求4所述的数据载体,其特征在于至少两个伪装的运算(hR1,hR1’)事先永久地存储在数据载体中并且当执行伪装的运算时随机地选择存储的伪装的运算(hR1,hR1’)中的一个。
6.如权利要求1到3中任何一个所述的数据载体,其特征在于在伪装的运算(hR1)执行之前重新计算它并且对于所述计算重新确定至少一个随机数(R1)。
7.如上述任一权利要求所述的数据载体,其特征在于通过存储在数据载体中在输入数据(x)和输出数据(y)之间建立联系的表格实现运算(h)。
8.如权利要求7所述的数据载体,其特征在于通过与至少一个随机数(R1)的组合实现包含在表格中的输入数据(x)的伪装。
9.具有至少一个存储器的半导体芯片(5)的数据载体,该存储器包含能够执行至少一次运算(h)的运算程序,运算(h)的执行需要输入数据(x)以及运算(h)的执行产生输出数据(y),其特征在于-运算(h)在它执行之前被伪装,-采用伪装的输入数据(xR1)执行伪装的运算(hR1),-运算(h)和输入数据(x)的伪装是协调的,从而具有伪装的输入数据(xR1)的伪装运算(hR1R2)的执行产生的输出数据(yR2)是相对于在执行未伪装的输入数据(x)的未伪装运算(h)时确定的输出数据(y)来伪装的。-借助于用于伪装运算(h)的数据(R2)可以由伪装的输出数据(yR2)确定未伪装的输出数据(y)。
10.如权利要求9所述的数据载体,其特征在于至少一个随机数(R1)参与确定伪装的输入数据(xR1)并且至少两个随机数(R1,R2)参与确定伪装的运算(hR1R2)。
11.如权利要求9和10中任一个所述的数据载体,其特征在于借助于“异或”运算确定伪装的运算(hR1R2)和伪装的输入数据(xR1)。
12.如权利要求9到11中任何一个所述的数据载体,其特征在于伪装的运算(hR1R2)事先永久地存储在数据载体中。
13.如权利要求12所述的数据载体,其特征在于至少两个伪装的运算(hR1R2,hR1’R2’)事先永久地存储在数据载体中并且当执行伪装的运算时随机地选择存储的伪装的运算(hR1R2,hR1’R2’)中的一个。
14.如权利要求13所述的数据载体,其特征在于对于确定伪装的运算(hR1R2,hR1’R2’)使用的组合,用于确定第一个伪装的运算(hR1R2)的随机数(R1,R2)与用于确定第二个伪装的运算(hR1’R2’)的随机数(R1’,R2’)反相。
15.如权利要求9到11中任何一个所述的数据载体,其特征在于在伪装的运算(hR1R2)执行之前重新计算它并且对于所述计算重新确定随机数(R1,R2)。
16.如权利要求9到15中任何一个所述的数据载体,其特征在于通过存储在数据载体中在输入数据(x)和输出数据(y)之间建立联系的表格实现运算(h)。
17.如权利要求16所述的数据载体,其特征在于通过与至少一个随机数(R1)的组合实现包含在表格中的输入数据(x)的伪装,并且通过与至少另外一个随机数(R2)的组合实现包含在表格中的输出数据(y)的伪装。
18.如上述权利要求中任何一个所述的数据载体,其特征在于相对于用于伪装运算(h)的组合,运算(h)是非线性运算。
全文摘要
本发明涉及具有至少一个存储器的半导体芯片(5)的数据载体。存储器包含能够完成至少一个运算(h)的运算程序。为了防止非授权访问采用运算(h)处理的数据(x),所述数据和运算(h)本身被伪装。数据(x)和运算(h)的伪装是协调的,从而伪装的运算(h
文档编号G07F7/08GK1325520SQ99812863
公开日2001年12月5日 申请日期1999年9月7日 优先权日1998年9月11日
发明者哈拉尔德·瓦特, 赫尔曼·德雷克斯勒 申请人:德国捷德有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1