鉴别的系统和方法 【技术领域】
本发明涉及包括一个存储器的系统,所说的存储器设有第一和第二部分,每一部分都有一系列存储元件,这个存储器适于存储识别码,所说的识别码是一次性可读的,可用于鉴别的目的。
本发明还涉及一种鉴别物品的方法,所说的物品提供有存储在存储器中的识别码,其中的读出器把系统的存储器中的识别码与至少一个参考码进行比较。
背景技术
这样的系统以及这样的方法在US-A5032708中公开。已知的系统是一个半导体器件,具有一次性写入一次性读出式的存储器,利用熔丝(fuse)作为存储元件。熔丝表示在两个存储阵列中地任一个的特定位的状态,两个存储阵列之一是直接可读的,另一个是加密的。为了检查这个系统的可鉴别性,读出器产生一个随机位序列,按照这个随机位序列来读出两个存储阵列的一系列元件。然后,随机位序列针对从存储阵列读出的每个位确定是否将直接可读的或加密的位传送到读出器。在读出器可用的元件中的数据出现之前,破坏了所说的元件和加密阵列中的相应的元件。这个响应与已经从加密的存储阵列提供给读出器的期望的响应序列进行比较。
这种现有器件的缺点是,别有用心的人可能会找出加密机制,他使用的方法是将一个非随机位序列提供给这个半导体器件,导致这个加密的阵列与直接可读的阵列进行一系列比较。这可能会产生假冒物品,同时鉴别程序会说这种物品是经过鉴别的。此外,有可能允许多次使用这个物品(如利用软件),或者多次利用这个位置(如利用游泳池),而这种使用本来只允许一次。
【发明内容】
因此,本发明的第一个目的是提供在本文开始段提到的这种类型的系统,为了识别和/或鉴别的目的对存储器进行了改进。
为了实现第一个目的,将第一部分和第二部分与它们之间的连接装置串联连接,第一部分适于存储识别码的第一代码部分,第二部分适于存储识别码的第二代码部分,并且只在第一部分中的第一代码部分已经擦除的条件下连接装置才提供到第二部分的访问。
本发明提供了一种改进的存储器,用于鉴别以下两种情况:独立的鉴别系统和包括到中央数据库的连接的系统。本发明的构思是:实际上可以读出多个识别码,但它们之中只有一个在某种情况下能提供鉴别。在任何其它的非鉴别读出中,第一部分或者第二部分都是不可访问的。相反,可读出某些随机的或标准的数字。然而只有一次机会可以依次读出第一代码部分和第二代码部分,因为存储器的第二部分只在擦除第一部分的第一代码部分之后才可以访问。
事实上,所说的存储器不是一次性读出式存储器,而是具有只能读出一次的某个特定部分的存储器。这个部分是存储器的第一和第二部分的组合,其中存储识别码。而第一部分和第二部分这两者的本身都可以一次性读出或者多次性读出。为了增加保密性,优选的作法是,子部分的至少一部分是一次性读出的。
本发明的系统的至少某些部分的存储可能要非常经常地读出,与现有技术相比,本发明的系统的优点是几个人可以独立地进行鉴别。例如,如果存储器的第一部分是可以非常经常地读出的,一个二手商人可能要评价准备卖出的产品是原始产品还是伪造产品。他可以在没有获得完整的识别码的情况下,以及在没有使用一次性鉴别措施的条件下这样作。通过读出器提供的算法只可能产生第一部分的读出和鉴别之间的差别。此外,消费者也可以通过使用存储器的第二部分独立地检查鉴别结果。二手商人和消费者通过因特网都可以得到参考码。还可能为二手商人提供一个具有参考码的表格。WO-A01/26320公开了一种借助于一个转发器能够接触信息数据库(如因特网上的一个特定的网页)的系统。
同时,本发明的系统还给真实产品的生产厂家以及服务的拥有者带来好处。首先,由几个人独立鉴别(如二手商人和消费者)使产品的真实生产厂家逐渐了解消费者。其次,不破坏完整的识别码这一事实,在半导体器件首次鉴别使用之后,为在半导体器件(因此是用户)和真实生产厂商或服务拥有者的中央数据库之间建立连接提供了可能。例如,如果在第二部分安装了一个软件,这个第二部分就可以建立到软件生产厂家的数据库的连接,提供计算机地址。这时可能返回一个消息,说:不允许再次使用或者只在附加付费后才可使用,或者说:可以使用新版软件。
在本发明的这个系统的第一实施例中,第一部分的第一代码部分只能读出一次,第二部分的第二代码部分可非常经常地读出。这个系统的优点是,消费者可以是进行读出的第一个人。这个系统的优点例如是,这个系统可用作只可使用一次的产品或数据的安全装置,如软件或信用卡,例如电话卡。利用这个实施例,第二部分可用于独立的识别过程。优选地,这个系统可包含在半导体器件中并且包括一个天线。这样一种带有天线的半导体器件还称作转发器。
在这个系统的第二实施例中,在第一部分中的第一代码部分可以非常经常地读出,在第二部分中的第二代码部分只可读出一次,并且存储器还包括第三部分,第三部分只在第一部分的第一代码部分已经擦除并且可以非常经常地读出之后才能访问。在这个实施例中,第一部分可以非常经常地读出,第二部分的第二组存储元件也可以非常经常地读出。这个实施例适于提供三重鉴别。
这个实施例的另一个版本是,存储器的最大部分是一个多次读出存储器,并且第一和第二部分集成在其中。如果这时第二部分(而不是第一部分)包含一次性读出的元件,则可有效地隐蔽这个一次性读出的存储器:只有给读出器提供可以启动鉴别读出的信号,才能进入第二部分。在此之前,第二部分是不可见的。
这个另一个版本的第一个优点是跟踪一次性读出存储器更加困难。第二个优点是一次性读出存储器可用作附加的安全部件。这样的存储器非常适用于检查广泛流通的并有特殊用途的物品,如钞票或其它的保密文件。根据来自读出器的信号可从第一部分擦除第一代码部分,从而可以在第二和第三部分中读出数据。例如,如果这个信号在某个时间之后给出,读出的所有钞票都具有第二部分的识别码。这样,可以识别出在正常的流通中有多长时间没有流通钞票。此外,这可能用作附加的安全部件,因为所用的识别码的类型发生了突然变化。
本发明的系统可以是包括存储器的任何类型的系统。
基本上,这个系统可能是加入了存储器和连接装置的单个器件。它的一个优选实施例是半导体器件。在这种情况下,连接装置是任何类型的开关,其中开关的位置取决于来自第一部分的输入,具体来说取决于它的至少某些存储元件的状态。在一个优选实施例中,连接装置包括一个与功能部件(AND_function)。如任何普通技术人员能够理解的,与功能部件还可以利用与非构件(NAND-structure)实现。
设置一个天线以便与读出器进行非接触式通信可能是有益的。可以对于半导体器件和天线进行设计,以使它们可以形成一个转发器。技术人员公知的这种转发器可以在没有电池的情况下操作。这种转发器可以按照标签形式设置,或者可以集成在物品里。这样的物品可以具有各种形状、功能、和样式。
第一类物品包括经常被仿造的物品。这些物品通常携带公知的商标,例了是例如服装、香水、鞋、表、消费者电子器件等。
第二类物品包括消费者在外部不可能看见它们是否是有效的那些物品,或者被认为是另加有费用的试用品的那些物品。例如一些卡,这些卡可增加移动电话的预付费用。
第三类物品包括可以非常经常地使用但又不允许非常经常地使用的那些物品。例如软件许可证。它的一个优选实施例是:物品是具有信息的记录载体,所说的信息只在用识别码鉴别之后读出,半导体器件设置在记录载体内或在记录载体之上。在记录载体中集成半导体器件本身就是公知的,例如从WO-A02/25582已知。
第四类物品是流通极多的物品,这类物品所在领域的主管当局打算检测特定的使用或错用类型,但并不知道物品的持有者。例如钞票、护照、和其它的保密文件。这种物品的系统的存储器包括第0部分和第三部分,第0部分和第三部分中的每一部分都包含不同于识别码的信息,第0部分在第一代码部分擦除之前是可以访问的,第三部分只在第一代码部分擦除后才可以访问。
第五类物品是智能卡。它的半导体器件的存储器包含与特定的人有关的财务数据或其它数据。半导体器件处在这种应用中,最好设置一个搭接盘(bond pad),从而可以从智能卡上的触点或天线访问半导体器件。同时,搭接盘允许进行探测。这就使黑客(hacker)或任何其它别有用心的人能够相当容易地访问智能卡上的数据。通过对于智能卡中的半导体器件使用本发明,就可以防止这种情况的出现。在探测搭接盘时访问存储器的第二部分。同时,擦除第一代码部分。其结果是,由于所说的擦除,智能卡不再有效,并且给黑客提供的鉴别代码不是正确的代码。存储器的第二和第三部分只包含虚假数据。进而,一旦在智能卡中的半导体器件和任何中央数据库之间建立接触,就自动地跟踪已经探测过的智能卡的使用。
在本发明的系统的另一个实施例中,系统包括至少两个独立的目标。其中,存储器设置在记录载体中,它的第一和第二部分中的每一部分在记录载体上都有一个位置,记录载体设有只在利用识别码鉴别以后读出的信息。连接装置包括用于指示第一和第二部分的位置的记录载体的索引,连接装置包括一个微处理器,微处理器存在于记录载体的读出器中,以便可以读出和擦除第一和第二部分。
在这个实施例中,由于存储器的第一和第二部分可能存在在存储器中的任何位置,因此连接装置包括一个索引。优选地,它们散布在存储器上。与半导体器件中的存储器相反,一个记录载体(具体来说具有可任选读出的存储器的记录载体)在存储器上的许多位置是可以访问的。为了读出部分存储器,不必通过入口单元进入存储器。因此应该防止跳过存储器的一次性读出部分。通过散布这些部分,使跳过它们的机会变为可以忽略的了。具体来说,如果存在多个部分,就是这种情况。记录载体的例子包括具有任选可读存储器的记录载体、磁硬盘、存储器集成电路。
记录载体例如是用于存储和/或记录目的的光盘,如CD、CD-ROM、和DVD-RW。一个问题是,尤其是包括内容的记录载体的问题是,不应该不经授权拷贝这些内容。这样,如果任何客户只购买了一个许可证,他就只能使用记录载体的内容一次。本发明的系统可提供措施,确保记录载体只读出一次或者与许可证提供的次数相等的其它有限的次数。还可以使用本发明的系统来保证这个记录载体只供一个读出器使用。
本发明的第二个目的是提供在本文开始段提到的那种类型的方法,其中改进并简化了鉴别过程。
为了实现第二个目的,读出器比较识别码与参考码,所说的方法包括如下步骤:
-从本发明的系统的存储器的第一部分读出第一代码部分并存储它;
-擦除第一代码部分;
-从存储器的第二部分读出第二代码部分;
-从第一和第二代码部分构成识别码;
-将识别码与至少一个参考码进行比较;和
-只在识别码与参考码对应的条件下鉴别物品。
在本发明的方法中,使用本发明的系统检查物品的状态。术语“状态”在这里包括用户对于物品和/或对于有关记录载体的任何信息的权力的状态。这对于用户只获得单次许可的软件和在记录载体上的其它数字数据尤其重要。这个术语还包括物品的状态,即,这个物品是否不能使用和/或是否有效。这对于例如电话卡和类似项目很重要,它们能够使用一次,而且它们的有效性不能靠可见的方法检测出来。这个术语还包括对于物品的鉴别,即,利用商标表示的物品是否源自这个商标的拥有者。
利用本发明的方法,提供打击非法使用或复制数据、物品、设计、和类似物的改进措施。事实上,可以直接检查物品或记录载体的状态。进而,如果状态不正确,可以立即采取措施,即,不得访问可以得到的信息,或者向消费者给出信息,使他拒绝这个物品。
有关物品或记录载体的状态的信息例如可存储在读出器中,或者最终存储在转发器中。进而,可将其传送到中央数据库中,中央数据库任选地包括有关合法使用或非法使用的信息。还有,可以用各种方式,其中包括消息或彩色信号的显示,向客户或用户表示物品的状态。按照另一种方式,只在状态得不到认同的情况下才表示一个信号。
在一个有益的实施例中,在擦除第一代码部分后,在系统的存储器中提供一个替换码,这个替换码是依赖读出器进行加密的第一代码的加密版本。这个实施例尤其适用于要保护的物品是具有只有一个用户可以使用的内容的记录载体的情况。替换码识别读出器。在提供这样的替换码以后,记录载体只针对特定的读出器进行操作。
例如,已经获得一个记录载体的客户将其记录载体的内容装入读出器的存储器内。这样的读出器例如是一台个人计算机,或者是一台数字视盘播放器。在装入所说的内容时,通过读出器读出第一代码,并将其存储在它的存储器中。然后,在记录载体上擦除存储器中的第一代码,并在存储器中存入第三代码。这个第三代码是第一代码的加密版本,最好根据读出器的识别码进行这种加密。只有第二代码才能与第一代码结合访问所说的内容。这样,只有具有第一代码的读出器才能访问这个内容。这种方法最好与集成在记录载体中的转发器一起使用。
【附图说明】
下面参照附图进一步说明本发明的半导体器件、转发器、物品、和方法的这些和其它方面,其中:
图1表示半导体器件的存储器的第一实施例的示意图;
图2表示的是图1的细节;
图3表示处在第一状态的半导体器件的存储器的第二实施例的示意图;
图4表示处在第二状态的半导体器件的存储器的第二实施例的示意图;
图5表示半导体器件的存储器的第三实施例的示意图。
【具体实施方式】
附图在本质上是示意的,只公开了实施例。在本申请的范围内的改进和变化都会很容易地进入熟悉本领域的技术人员的内心。在各个附图中,对于相同或相似的部件使用相同的标号。
图1表示本发明的器件(具体来说即半导体器件)的存储器10的第一实施例。存储器10包括:序列发生器(sequencer)30、读出控制单元50、非易失性存储单元60、串行存储单元70、和多路复用器40。非易失性存储单元60可分成第一部分11和第二部分12。非易失性存储单元60经过双向总线连接到串行存储单元70。
存储器的操作方式如下:序列发生器30接收时钟信号21以及两个输入信号31、32。这些信号21、31、32通常来自卡读出器。输入信号31、32可以是二进制位并用作控制码。序列发生器30基于时钟计数器,产生一系列内部控制信号33、34、37、39,内部控制信号33、34、37、39需要实现:将识别码写入存储器的第一和第二部分11、12;从第一部分11读出第一代码部分;和破坏第一代码部分并从第二部分12读出第二代码部分。
为了使存储器操作足够好,存储器必须是至少部分地一次性写入的。为此,要组合读出控制器50和连续的与构件(AND-structure)51。读出控制器50加有两个控制信号:写/读控制信号34和一次性写入控制信号33。同样的写/读控制信号34还要加到与构件51。如果写/读控制信号34的状态是写入,并且一次性写入控制信号33也是正值,则读出控制器50向与构件51有一个高电平输出信号,除非出现某些条件。在这种情况下,与构件有两个高电平输入信号34、35,与构件的输出信号36可给出命令:写入。
在某些条件下,读出控制器50无论如何都具有向与构件51的低电平输出信号,利用这个低电平输出信号可明确地禁止存储单元60的写入。所说的条件是:在读出控制器中存在的一次性可编程写入/读出位正在给读出编程。下面将参照附图2讨论读出控制器50的一个更加具体的实施例。
图2表示读出控制器50的一个实例。控制器50包括一个与构件,另外还有NMOS晶体管54、低电阻熔丝52、高电阻53。这个结构存在在VDD线56和VSS线55之间。如果任何一个输入信号33、34(如一次性写入控制信号33和写/读控制信号34)是低电平,则NMOS晶体管54截止,并且输出信号35由电阻52拉成高电平。如果两个输入信号33、34都是高电平,则NMOS晶体管54从VDD下拉一个高电流。这个电流通过低电阻或熔丝52,使熔丝52熔化烧断。在熔丝52熔化之后,输出信号52就一直由下拉电阻53保持为低电平。
现在返回到图1,我们将讨论非易失性存储单元60。非易失性存储单元60包括第一部分11和第二部分12,第一部分在这个实施例中包含一个公用码,第二部分在这个实施例中包含一个密码。存储单元60还包括用于上载或下载它的内容的装置。在要求从序列发生器到非易失性存储单元60的一个擦除信号38时,第一部分11包括可以擦除的Np位。这种擦除与写入/读出的位的状态无关。存储单元60最好具有本质上是一次性写入的体系结构,就像一个熔丝或者只读存储器组一样。擦除操作等效于熔化(blowing)或编程第一部分11的所有单元。
串行存储单元70有N位长,其中N大于Np。串行存储单元70允许从单个触点写入和读出数据;在具有存储器10的半导体器件包含在一个智能卡内的情况下,这个单个触点可以是单个插针(pin)。串行存储单元70连接到非易失性存储单元60,以使存储在串行存储单元70中的数据能够(并行地)上载到存储单元60的第一和第二部分11、12中。此外,根据适当的控制信号39,在存储单元60中的数据可以下载到串行存储单元70。将要擦除的第一部分11连接到串行存储单元70靠近输出端23的Np位。为了从外部移进或向外部移出数据41,串行存储单元70需要时钟信号21,时钟信号21是通过序列发生器30提供的。
下面更加详细地讨论3种数据操作:写入、读出公用码和读出密码。
写入:外部控制信号31、32告诉序列发生器30:必须将识别码写入非易失性存储单元60。序列发生器30经过双向多路复用器40将串行存储单元70的输入端25连接到输入/输出数据插针41。使用序列发生器30传送到串行存储单元70的时钟信号21,将两个码先后写入顺序存储器中,首先写入的是公用码。经过N个时钟周期之后,当这个代码的所有位都传送到串行存储单元70时,序列发生器30停止向串行存储单元70传送时钟信号,将W信号设置成高电平并且上载串行存储单元70的内容到存储单元60的第一和第二部分11、12。这种上载过程不需要外部时钟,而是通过向串行存储单元70和非易失性存储单元60之间的总线发送控制信号39实现的。经过一定的延迟之后(这个延迟可保证非易失性存储单元60的正确上载),序列发生器30将一次性写入控制信号33设置成高电平,利用上述的机制,防止非易失性存储单元60继续进行写入。
读出公用码:外部控制信号31、32告诉序列发生器30:必须读出公用码。序列发生器30经过多路复用器40连接串行存储器25的输出端到输入/输出插针41。非易失性存储单元60的内容下载到串行存储单元70。这一操作不需要外部时钟。当串行存储单元70包含公用码和密码时,从公用码开始在由外部时钟指定的位置移出数据。在序列发生器30计数了Np个时钟周期后,发送所有的P(公用)码,序列发生器30停止向串行存储单元70发送时钟。以此方式,只有P(公用)码展示出来。
读出密码:外部控制信号31、32告诉序列发生器30:必须读出密码。序列发生器30发出擦除信号38,并且破坏包含在存储单元60的第一部分11的包括NP位的公用码。然后,序列发生器30启动针对读出公用码描述的相同的下载过程。这就意味着,在串行存储单元70中,公用码现在是所有的码。串行存储器输出端23再次经过多路复用器40连接到输入/输出数据插针41。按照外部时钟将串行存储单元70的内容移出存储器10。它的头NP位将是所有的位,后NS位是现在展示的密码。
图3表示处在第一状态的半导体器件的存储器10的第二实施例的示意图。这个实施例的存储器10的操作类似于图1的存储器10。在图3中,只表示出分成两个部分71和72的串行存储器,以及存储单元60的对应部分11、12。存储器10包括:第一部分11和第二部分12、时钟信号输入端21、22、到读出器的输出端23、24、串行存储器70的输入端25、和连接模块26、27。第一部分11在这个例子中是一次性读出的,而第二部分12则是多次读出的。在读出串行存储部分71、72之前,必须先从对应的第一和第二部分11、12装入数据。连接模块26、27是与元件(AND-elements),并且最好包括一个触发器以同步来自串行存储部分71、72的各个存储元件的信号。为了保证这些信号一个接一个地由读出器接收,或者在存储器在两个输出23、24之间进行切换之后或者在时钟信号输入端21、22之前呈现任何类型的开关(未示出),以便向信号输入端22提供期望的延迟。
在装载串行存储部分71、72之后,通过多路复用器40(未示出)将输入25送到第一部分11。与此同时,时钟信号经过输入端21提供给串行存储部分71的单个存储元件111-114。这些存储元件111-114将向输出端23提供它们的内容。在擦除后,存储元件111-114还要向连接模块26提供它们的内容。只在擦除所有元件111-114的条件下,连接模块26才向第二连接模块27提供信号“1”。在连接模块27中,只有在来自连接模块26的信号是1的条件下,才将来自时钟信号输入端22的信号处理到第二串行存储部分72。然后,第二串行存储部分72才能读出。在此例中读出的识别码是10100110,这个识别码将提供所请求的鉴别。
在已经读出第二部分12的数据之后,可以再次读出存储器10的内容。在图4中示出这种情况。在这种情况下,识别码将是11110110。可以对这个识别码进行编程,使其不能访问一个物品。然而,如果连接到中央数据库,识别码同时还提供一种连接,用于在销售货物的真实厂家和购买这种货物的消费者之间进行独立的接触。
图5表示存储器10的第三实施例。在该图中,只表示出存储单元的部分11、12和串行存储部分71、72、73。存储器10的操作在本质上还是等同于图1的存储器10的操作。在这个实施例中,第一部分11是多次读出的,第二部分12包含第一组存储元件13和第二组存储元件14。第一组13是一次性读出的,而第二组存储元件14是多次读出的。与第一实施例相比,连接模块26、27的连接略有不同,现在由与元件(AND-elements)实施。连接模块26只提供一个信号,其条件是到模块的所有输入全是高电平(“1”)。连接模块的输入只来自存储元件111、112、114。这就意味着,存储元件113的状态访问第二部分12不相关。还有,擦除存储元件113也是不必要的。连接模块27提供输出24的条件是从连接模块26的输入是高电平(“1”)。
在访问第二部分12之前,读出的识别码是1000 0000 0000。当第一次访问第二部分12时,识别码是1000 0011 0110。在此之后,识别码是1101 1111 0110,或者取决于第一部分11的特定编程将是1111 1111 0110。这3个代码按照不同的方式都可以进行访问。按照另一种方式,对于诸如钞票之类的物品,可以使用代码1101 1111 0110作为新的识别码,它的原来的代码是1000 0000 0000。
如将要理解的,可以按照各种方式来实施本发明。如果存储器在半导体器件内,则存储器的第一和第二部分可以通过一个与元件或者通过与元件的分层结构进行连接。一次性读出式存储器可以用熔丝来实施。然而,还可以使用其它类型的非易失性存储器,如DRAM、MRAM、移位寄存器等等。如果存储器的第一部分是多次读出的,则必须有一个可以擦除第一部分的数据以便允许第二部分读出的信号。这个信号例如可以是来源于读出器的一个脉冲。优选地,向一次性读出存储器多次发送时钟信号,所说的多次次数对应于第一和第二部分中多个存储元件的数目。如果第二部分是不可访问的,可以产生空格或随机数。时钟信号可以在转发器上产生,但最好在读出器内产生。
进而,没有必要总以相同的方式在存储器的第一和第二部分上分割识别码。还有,第二部分的长度不必一定要等于第一部分的长度,而在现有技术的存储器中这却是必要的。在不访问存储器的第二部分的情况下,第二部分可由相等数目的标准的或随机选择的数字代替。这些数字对于不同的半导体器件可以不同。因此,对于别有用心的人来说,弄不清楚或者不容易弄楚第一部分的长度是多大以及第二部分的长度是多大。为了增加本发明的存储器的安全性,可以提供识别码,以使读出存储器的第一和第二部分需要不同的解密方法。
总之,在本发明的在一个器件中实施的系统包括具有第一部分和第二部分的存储器。第二部分只能在第一部分擦除后才能读出。存储器适合用于鉴别的目的,其中的第一部分包含识别码的第一代码部分,第二部分包含识别码的第二代码部分。所说的器件最好是半导体器件,并且可以集成在物品内和记录载体内。