具体实施方式
(作为本申请的基础的认识)
本申请涉及只有用相同的工艺制造的半导体器件(以下,有简单称作器件的情况)彼此不需要第3机构的证明而相互认证的新的认证装置及认证方法。首先,对在专利文献1等中记载的以往的基于加密密钥的安全技术进行说明。通常,在强化了安全的IC中,使用搭载在内部中的加密电路将机密信息加密而利用,防止信息的泄漏。在此情况下,不使保持在内部中的加密密钥(也称作“秘密密钥”)的信息泄漏到外部是必须的。
作为加密电路的方式的代表性的方式,广泛地使用称作3DES(Triple DataEncryption Standard)或AES(Advanced Encryption Standard)的方式。在这些加密方式中,采用即使获得作为输入的明文(即,加密前数据)和作为输出的密文的对、并驱使最高速的计算机进行解析也不能在现实性的时间内确定加密密钥的高级加密算法,其安全性已得到证实。这样,关于加密数据维护了计算量上的安全性。
通常,在IC的制造工序中,在安全性得到保证的设备环境下,秘密密钥预先被写入到IC内部,在IC之间事先被共享。这些拥有事先共享的秘密密钥的IC彼此交换密文而能够相互认证,从而能够将不知道秘密密钥的不正规的IC的伪装或仿产品排除。例如,进行认证的一侧将随机数数据用秘密密钥进行加密,向被认证的一侧发送。被认证的一侧用预先共享的秘密密钥将被加密的随机数数据进行解密,恢复为原来的随机数数据,将该随机数数据向进行认证的一侧返送。进行认证的一侧确认返送回来的随机数数据与在加密中使用的随机数数据一致的情况。由此,保证被认证的一侧拥有秘密密钥。因此,进行认证的一侧将被认证的一侧认证为正规的对象者。但是,即使对被加密的数据的入侵(hacking)是安全的,但随着近年来的攻击技术的进步,也担心加密密钥直接被入侵的脆弱性。
在经典的方法的IC中,将加密密钥保存在内部的熔丝ROM或非易失性存储器中。在前者的结构中,有通过X射线投射等观察熔丝元件的状态、将熔丝元件的导通/非导通进行解析来入侵所保存的密钥信息的问题。此外,后者的结构虽然用X射线投射不能解析,但是有通过直接将探头抵接在非易失性存储器的存储元件两端而电气地读取元件的状态来入侵密钥信息的问题。因此,在强化了安全的IC中,使用最尖端的微细工艺来制造,以免直接将探头抵接在内部电路。即,通过具有比最新技术的探头的尖端直径更细的布线规则的微细工艺来制造IC,从而避免了基于探测的解析的威胁。如果使用尖端工艺,则虽然通过探测或光学观察难以进行解析,但在生产台数较少的IC品种中,如果用尖端工艺来制造则变得昂贵而丧失商品竞争力。相反,用制造成本较低的较老的工艺时缺乏物理耐篡改性,难以两者兼顾。
进而,最近开始采取侧信道攻击的方法,成为威胁。所谓侧信道攻击,如在专利文献1中说明那样,是利用各信号处理电路的执行时的半导体器件的功耗及依赖于功耗的辐射电磁波等侧信道信息来确定加密密钥的方法。该方法成为威胁的理由在于,攻击者(即黑客)能够在物理上不对IC带来损伤而在实际动作中入侵密钥信息。
被分类为这样的侧信道攻击的差分功率攻击(DPA:Differential PowerAnalysis)是在1999年由P.Kocher发表的。该DPA方法利用在IC动作时的信号值或信号转移频度与功耗之间有相关关系的特点。具体而言,DPA方法将这样的相关关系进行多次积分,一边将噪声除去一边进行机械学习控制,从而导出固定图案,确定密钥信息。在专利文献1的例子中,表示了根据加密处理电路的动作来确定的例子。存储在非易失性存储器中的密钥信息在以执行加密处理为触发的定时被读出。鉴于DPA的原理,只要确定并取得在与该定时同样的定时被读出的数据,就有可能通过DPA将数据内容解析。此外,如果IC的内部规格书泄漏,则IC的控制方法被黑客理解,如上述那样保存在非易失性存储器中的数据全部、也包括加密密钥信息在内都被硬拷贝,制作出IC的复产品。
近年来,为了解决这些课题,提出了PUF技术。PUF技术是利用制造偏差生成按每个IC不同的唯一的个体识别信息的技术。以下,在本说明书中将通过PUF技术生成的个体识别信息称作“PUF-个体识别信息”。PUF-个体识别信息可以说是与IC的物理特性的偏差建立了关联的各器件固有的随机数数据。
这样的按每个器件而不同的唯一的个体识别信息虽然的确是不能复制的信息,但如果想要使用它认证,则需要让第3机构证明要认证的个体识别信息是否是正规的对象者。在此,设想某个IC(这里称作“IC-A”)被认证的情况而说明一具体例。关于IC-A,在制造工序之前将个体识别信息预先登记在第3机构中。当认证者认证器件A时,认证者从第3机构的数据库获得IC-A的PUF-个体识别信息,将来自第3机构的数据库的PUF-个体识别信息与从IC-A得到的PUF-个体识别信息进行对照。由此,认证者认证IC-A是事先登记的正规的IC。这样的方法要求有认证者总是能够向数据库访问那样的系统,不适合由IoT要求那样的各个机器在本地连接的环境。
作为上述的生成PUF-个体识别信息的现有技术,可以例示专利文献2或非专利文献1那样的SRAM-PUF。在这些例子中,在SRAM的各存储器单元中,主要利用因晶体管的Vt离差(即,动作电压的偏差)而电源投入时的初始值的数字数据容易成为1状态还是容易成为0状态不同的现象。该现象是搭载于各IC的SRAM的每个单元所固有的,是不同的。即,使用向SRAM投入电源时的初始值数据作为PUF-个体识别信息。
专利文献3是SRAM-PUF的变形例,利用SRAM的存储器单元的不良位随机地发生的现象。进而,在专利文献1中,介绍了利用称作Arbiter PUF或Glitch PUF的PUF技术生成PUF-个体识别信息的方式。在Arbiter PUF中,利用因栅极延迟或布线延迟而组合电路的输出相对于输入随机性地变化的特点。根据制造偏差而变化的栅极延迟及布线延迟为各IC中的固有的延迟量。因而,按每个IC而不同,但由于在各IC中对于输入而言输出大致相等的结果,所以能够生成PUF-个体识别信息。
这样,在现有例的PUF技术中,生成作为在各IC中固有的随机数的PUF-个体识别信息作为不能复制的数据。但是,为了使用该信息认证IC,全部需要第3机构的证明。即,不能用于不能对网络服务器等的数据库访问的本地的机器彼此的认证。所以,本发明者考虑了本申请的方式。
总之,如上述那样根据现有例的PUF技术生成的PUF-固有识别信息是按每个IC而不同的唯一的信息。因此,需要由安全性得到保证的第3机构来证明各IC的PUF-固有识别信息是否是正规的登记信息。即,仅由认证者和被认证者这两者间不能完结,需要第三者的证明,认证者需要有与第三者进行通信的手段。在本地的机器彼此的认证中,不能确保与第3者进行通信的手段的情况较多,例如要附加因特网连接等功能则成本变高,损害机器的优越性。
所以,本申请的非限定的例示性的实施方式提供一种提供只有保持有特定的制造工艺的特定的制造者才能够物理上复制的函数、只有以相同的工艺制造的器件彼此不需要第3机构的证明而相互认证的新的认证装置。
有关本申请的一形态的认证装置具备:组合信息生成器,生成第1组合信息,该第1组合信息是指示具备多个第1元件的第1半导体器件中的上述多个第1元件的物理特性的任意的组合的信息;组识别信息生成器,基于由上述组合信息生成器生成的上述第1组合信息所指示的上述多个第1元件的物理特性的组合,生成第1组识别信息,该第1组识别信息用于识别上述第1半导体器件与通过相同的工艺制造的其他半导体器件属于相同的组;发送器,将上述第1组合信息发送给认证对方;接收器,接收上述认证对方按照上述第1组合信息生成的第2组识别信息;以及信息对照器,将上述第1组识别信息与上述第2组识别信息进行对照。
这样,本申请的例示性的认证装置得到通过特定的制造者所具有的特定的制造工艺制造的半导体器件的多个元件呈现的物理特性,根据这些物理特性的任意的组合生成第1组识别信息。此外,认证对方基于与认证装置相同的组合信息,得到该认证对方侧的半导体器件的多个元件呈现的物理特性,根据这些物理特性的组合生成第2组识别信息。认证装置通过将第1组识别信息与第2组识别信息进行对照,认证认证对方是通过与本装置相同的工艺制造的(即,属于相同的组的)装置。
这样,根据本申请,能够提供难以物理地复制的认证装置的组。进而,能够根据多个半导体器件是否通过相同的工艺制造(即,属于相同的组)这样的规则来认证。因此,与现有例的PUF技术不同,不需要事先将个体识别信息登记到数据库中。此外,这在认证时也不需要第3机构的证明,所以也能够容易且低成本地进行IoT时代的本地的机器认证。
即,提供只有保持有特定的制造工艺的制造者才能够在物理上复制的函数,实现只有通过相同的工艺制造的器件彼此不用第3机构的证明而相互认证的新的认证装置。将关于这样的通过相同的工艺制造且拥有相同的器件构造的认证装置的组、能够根据是否通过相同的工艺制造(即,属于相同的组)这样的规则来认证的技术在本说明书中定义为组认证PUF(GPUF:Group authentication Physically Unclonable Function)。即,通过特定的工艺以外的工艺不能实现与特定的工艺相同的特性,制造与通过特定的工艺制造的元件在物理上相同的元件是困难的。因此,不能将通过特定的工艺制造的元件复制。
此外,上述认证装置也可以还具备集合特性检测器,该集合特性检测器检测按照由上述组合信息生成器生成的上述第1组合信息将上述多个第1元件的物理特性进行组合而得到的第1集合特性。上述组识别信息生成器也可以根据由上述集合特性检测器检测到的上述第1集合特性,生成上述第1组识别信息。
这里,上述接收器也可以还接收上述认证对方生成的第2组合信息。上述集合特性检测器也可以还检测按照由上述接收器接收到的上述第2组合信息将上述多个第1元件的物理特性组合而得到的第2集合特性。上述组识别信息生成器也可以还根据上述集合特性检测器检测到的上述第2集合特性,生成用于识别上述第1半导体器件与通过相同的工艺制造的其他半导体器件属于相同的组的第3组识别信息。上述发送器也可以还将上述第3组识别信息向上述认证对方发送。
由此,实现不仅作为主装置发挥功能、还作为从装置发挥功能的认证装置。
此外,上述认证装置也可以还具备:错误校正电路,生成用于将上述第1组识别信息的错误校正的错误校正数据,使用上述错误校正数据将上述第1组识别信息的错误校正;以及加密电路,基于上述第1组识别信息生成加密密钥,使用该加密密钥将希望的数据加密或解密。
由此,能够与基于组认证PUF的认证同时进行加密密钥的共享。
此外,上述第1半导体器件也可以是作为上述多个元件而具备多个电阻变化元件的电阻变化型非易失性存储器。上述认证装置也可以具有作为进行认证的一侧的动作的认证主功能、和作为被认证的一侧的动作的认证从功能。也可以是,在上述认证主功能中,上述组合信息生成器生成向上述非易失性存储器写入的第1随机数数据作为上述第1组合信息;在上述组合信息生成器所生成的上述第1随机数数据被写入到上述非易失性存储器中之后,上述集合特性检测器检测上述多个电阻变化元件所具有的电阻特性的第1合成电阻作为上述第1集合特性;上述组识别信息生成器根据上述第1合成电阻,生成第1数字数据作为上述第1组识别信息;上述发送器将上述第1随机数数据发送给认证对方;上述接收器接收上述认证对方按照上述第1随机数数据生成的作为上述第2组识别信息的第2数字数据;上述信息对照器对上述第1数字数据与上述第2数字数据的一致性进行对照。也可以是,在上述认证从功能中,上述接收器从上述认证对方接收向上述非易失性存储器写入的第2随机数数据作为上述第2组合信息;在上述接收器接收到的上述第2随机数数据被写入到上述非易失性存储器中之后,上述集合特性检测器检测上述多个电阻变化元件所具有的电阻特性的第2合成电阻作为上述第2集合特性;上述组识别信息生成器根据上述第2合成电阻,生成第3数字数据作为上述第3组识别信息;上述发送器还将上述第3数字数据发送给上述认证对方。另外,在相同的装置中具备认证主功能和认证从功能双方的情况下,上述第2数字数据和第3数字数据也可以将电路共用来生成。
由此,实现能够将具备多个电阻变化元件的非易失性存储器作为器件进行组认证的认证装置。
此外,上述组识别信息生成器也可以根据上述非易失性存储器的多个部位的上述第1合成电阻的推移,生成上述第1数字数据作为上述第1组识别信息,根据上述非易失性存储器的多个部位的上述第2合成电阻的推移,生成上述第3数字数据作为上述第3组识别信息。上述合成电阻的推移也可以是与将多个存储器单元的不同的组合选择了多个时得到的合成电阻有相关的数据的变化推移。
由此,由于根据多个合成电阻的推移生成组识别信息,所以实现与根据一个合成电阻生成组识别信息的情况相比具有更高的安全性的认证装置。
此外,上述信息对照器也可以通过计算上述第1数字数据和上述第3数字数据的汉明距离,来对照上述一致性。
由此,通过计算汉明距离这样的简单的处理,对照第1数字数据与第2数字数据的一致性。
此外,上述多个电阻变化元件也可以分别具有电阻值有规定的电阻值范围的初始状态、电阻值比上述初始状态小且有规定的电阻值范围的高电阻状态、和电阻值比上述高电阻状态小且有规定的电阻值范围的低电阻状态这3个状态。上述多个电阻变化元件也可以分别通过规定的电压脉冲的施加而能够将上述高电阻状态和上述低电阻状态可逆地变化。也可以是,与上述合成电阻有关的上述多个电阻变化元件中的至少一个处于上述初始状态。
由此,以处于作为极高的电阻状态的初始状态的电阻变化元件为对象的合成电阻成为集合特性,所以主选择单元成为初始状态的存储器单元,使流过副导电路径的电流的检测灵敏度提高。更高灵敏度地检测副选择存储器单元群的合成电阻。
此外,上述认证装置也可以还具备选择电路。此外,上述集合特性检测器也可以是读出电路。上述非易失性存储器也可以具备多个存储器单元。上述多个存储器单元也可以分别包括上述多个电阻变化元件的一个和与该电阻变化元件电连接的选择元件。上述选择元件也可以具备第1选择端子、第2选择端子及第3选择端子,利用上述第3选择端子的电位对流过上述第1选择端子与上述第2选择端子之间的电流量进行控制。上述多个电阻变化元件也可以分别具备第1端子和第2端子,利用上述第1端子与上述第2端子之间的施加电压的量和上述施加电压的施加方向,使电阻值变化。也可以是上述选择元件的上述第1选择端子与上述电阻变化元件的上述第2端子连接。上述非易失性存储器也可以具备多个位线、和与上述多个位线交叉的源极线及字线的多个组。也可以是对应于上述多个位线与上述多个组的多个交叉区域,配置上述多个存储器单元。也可以是,在上述多个存储器单元的各自中,上述电阻变化元件的第1端子连接于上述位线,上述选择元件的上述第2端子连接于上述源极线,上述第3选择端子连接于上述字线。上述选择电路也可以选择上述多个位线中的至少1条,选择上述多个字线中的至少两条,向所选择的上述至少两条字线分别施加电压。上述读出电路也可以直接或间接地测量从所选择的上述至少1条位线向与所选择的上述至少两条字线对应的至少两条源极线流过的电流量,基于测量结果检测上述第1或第2合成电阻。
由此,实现以与源极线及字线相对于位线交叉的类型A有关的非易失性存储器为对象的认证装置。
此外,上述认证装置也可以还具备选择电路。上述集合特性检测器也可以是读出电路。上述非易失性存储器也可以具备多个存储器单元。上述多个存储器单元也可以分别包括上述多个电阻变化元件的一个和与该电阻变化元件电连接的选择元件。上述选择元件也可以具备第1选择端子、第2选择端子及第3选择端子,利用上述第3选择端子的电位对流过上述第1选择端子与上述第2选择端子之间的电流量进行控制。上述多个电阻变化元件也可以分别具备第1端子和第2端子,利用上述第1端子与上述第2端子之间的施加电压的量和上述施加电压的施加方向使电阻变化。也可以是上述选择元件的上述第1选择端子与上述电阻变化元件的上述第2端子连接。上述非易失性存储器也可以具备位线及与上述位线平行地配置的源极线的多个组、和与上述位线及上述源极线的多个组交叉的多个字线。也可以是对应于上述多个组与上述字线的多个交叉区域,配置上述多个存储器单元。在上述多个存储器单元的各自中,也可以是,上述电阻变化元件的第1端子连接于上述位线,上述选择元件的上述第2端子连接于上述源极线,上述第3选择端子连接于上述字线。上述非易失性存储器也可以还具备将上述多个位线以规定的组合相互连接的第1短路电路、将上述多个源极线以规定的组合相互连接的第2短路电路、和将连接的上述多个位线与连接的上述多个源极线以规定的组合连接的第3短路电路。上述选择电路也可以选择上述多个位线中的至少1条,向上述字线中的至少1条施加规定的电压。上述读出电路也可以直接或间接地测量从所选择的上述位线向与该位线对应的至少1条源极线流过的电流量,基于测量结果检测上述第1或第2合成电阻。
由此,实现以与字线相对于平行的位线及源极线交叉的类型B有关的非易失性存储器为对象的认证装置。
上述非易失性存储器也可以具备多个存储器单元。各个存储器单元也可以具备电阻变化元件,该电阻变化元件具有第1电极、第2电极、和介于上述第1电极及上述第2电极之间的电阻变化层。上述电阻变化层也可以具有将上述第1电极与上述第2电极之间进行绝缘的状态。
上述电阻变化层也可以具有将该电阻变化层贯穿的导电路径。此外,上述电阻变化层也可以由含有金属氧化物的材料构成。此外,上述电阻变化层也可以由含有缺氧型的金属氧化物的材料构成。此外,上述金属氧化物也可以是过渡金属氧化物及铝氧化物中的至少一方。此外,上述金属氧化物也可以是钽氧化物、铪氧化物及锆氧化物中的至少一个。此外,上述导电路径也可以具有含氧率比上述电阻变化层低的缺氧型的金属氧化物。
此外,有关本申请的一形态的另一认证装置,具备:第2半导体器件,具备多个第2元件;接收器,接收认证对方生成的第2组合信息;组识别信息生成器,基于与上述第2组合信息对应的上述多个第2元件的物理特性的组合,生成用于识别上述第2半导体器件与通过相同的工艺制造的其他半导体器件属于相同的组的第2组识别信息;以及发送器,将上述第2组识别信息向上述认证对方发送。
由此,实现有关从装置的认证装置。即,提供只有保持有特定的制造工艺的制造者才能够在物理上复制的函数,实现只有通过相同的工艺制造的器件彼此才能够不需要第3机构的证明而相互认证的新的认证装置。
上述认证装置也可以还具备集合特性检测器,该集合特性检测器检测按照上述第2组合信息将上述多个第2元件的物理特性进行组合而得到的第2集合特性。上述组识别信息生成器也可以根据由上述集合特性检测器检测到的上述第2集合特性,生成上述第2组识别信息。
此外,有关本申请的一形态的认证方法包括:组合信息生成步骤,生成第1组合信息,该第1组合信息是指示具备多个第1元件的第1半导体器件的上述多个第1元件的物理特性的任意的组合的信息;组识别信息生成步骤,基于在上述组合信息生成步骤中生成的上述第1组合信息所指示的上述多个第1元件的物理特性的组合,生成第1组识别信息,该第1组识别信息用于识别上述第1半导体器件与通过相同的工艺制造的其他半导体器件属于相同的组;发送步骤,将上述第1组合信息发送给认证对方;接收步骤,接收上述认证对方按照上述第1组合信息生成的第2组识别信息;以及信息对照步骤,将上述第1组识别信息与上述第2组识别信息进行对照。由此,起到与上述认证装置同样的效果。
此外,上述认证方法也可以还包括:接收上述认证对方生成的第2组合信息的步骤;基于与接收的上述第2组合信息对应的第1元件的物理特性的组合,生成第3组识别信息的步骤,该第3组识别信息用于识别上述第1半导体器件与通过相同的工艺制造的其他半导体器件属于相同的组;以及将上述第3组识别信息发送给上述认证对方的步骤。
由此,实现不仅作为主装置发挥功能、还作为从装置发挥功能的认证方法。
此外,也可以还包括:错误校正步骤,生成用于将上述第1组识别信息的错误校正的错误校正数据,使用上述错误校正数据将上述第1组识别信息的错误校正;以及加密步骤,基于上述第1组识别信息生成加密密钥,使用该加密密钥将希望的数据加密或解密。
由此,能够与基于组认证PUF的认证同时进行加密密钥的共享。
此外,有关本申请的一形态的另一认证方法,是使用具备多个第2元件的第2半导体器件的认证方法。上述认证方法包括:接收步骤,接收认证对方生成的第2组合信息;组识别信息生成步骤,基于与上述第2组合信息对应的上述多个第2元件的物理特性的组合,生成用于识别上述第2半导体器件与通过相同的工艺制造的其他半导体器件属于相同的组的第2组识别信息;以及发送步骤,将上述第2组识别信息向上述认证对方发送。由此,实现有关从装置的认证方法。
(实施方式)
以下,参照附图说明有关本申请的认证装置等的实施方式。在本实施方式中,将在认证中使用的作为PUF-组识别信息的生成的基础的物理特性作为电阻变化元件的非线性的电阻特性。但是,本申请并不限定于此。本申请涉及基于物理特性的任意的组合信息的、使用集合特性的全部的认证装置。在本实施方式中,将在认证中使用的物理特性设为电阻变化元件的电阻特性,特别以通常使用电阻变化元件的非易失性存储器为例进行说明。
图1是表示使用电阻变化元件的存储器单元的截面(图1的(a))及该存储器单元的电路图标记(图1的(b))的图。在半导体基板上配置有源极/漏极区域319,为了存储器单元的选择而形成有作为选择元件的晶体管。在图1的(a)中,BL0表示第0个位线,WL0、WL1分别表示第0个和第1个字线,SL0、SL1分别表示第0个和第1个源极线。根据图可知,相对于位线,字线和源极线以使用不同的布线层直行的方式交叉。此外,图1的(a)中的317表示插塞层,318表示金属布线层。这里,用于存储信息的非易失性存储元件是电阻值根据电气上施加应力的电压和方向而变化的电阻变化元件313。
如图1所示,电阻变化元件313形成在第2层(即下层)的金属布线层318与第3层(即上层)的金属布线层318之间。电阻变化元件313具备形成在第2层的金属布线层318上的第1电极层316、第2电极层314、和被第1电极层316及第2电极层314夹着的作为电阻变化层的可变电阻层315。即,电阻变化元件313具有第1电极(第1电极层316)、第2电极(第2电极层314)和介于第1电极及第2电极之间的电阻变化层(可变电阻层315)。电阻变化层具有将第1电极与第2电极之间绝缘的状态。这里,所谓“绝缘的状态”,是指电阻值比后述的HR状态的电阻范围大的状态。
在本实施方式中,作为一例,可变电阻层315由含氧率较低的第1含钽层315b(以下,也称作“第1钽氧化物层”或简单称作“第1氧化物层”)、和形成在该第1钽氧化物层315b上的含氧率较高的第2含钽层315a(以下,也称作“第2钽氧化物层”或简单称作“第2氧化物层”)构成。另外,可变电阻层315只要由缺氧型电阻变化材料的含氧率不同的两层构成就可以,所以其基底的材料并不限定于钽。作为其他的构成电阻变化层的金属,可以使用过渡金属及铝(Al)中的至少某种。作为过渡金属,可以使用钽(Ta)、钛(Ti)、铪(Hf)、锆(Zr)、铌(Nb)、钨(W)、镍(Ni)、铁(Fe)等。由于过渡金属能够取多个氧化状态,所以可以通过氧化还原反应实现不同的电阻状态。
这样,电阻变化层由含有金属氧化物的材料构成,例如由含有缺氧型的金属氧化物的材料构成。金属氧化物也可以是过渡金属氧化物及铝氧化物中的至少一方。此外,金属氧化物也可以是钽氧化物、铪氧化物及锆氧化物中的至少一个。
在驱动该电阻变化元件313的情况下,将以外部的电源为基础生成的满足规定的条件的电压向第1电极层316与第2电极层314之间施加。按照电压施加的方向(极性),电阻变化元件313的可变电阻层315的电阻值可逆地增加或减小,至少能够转移到电阻值较高的高电阻状态(HR状态)、和电阻值比HR状态低的低电阻状态(LR状态)这两个以上的状态,在停止电压施加后也保持电阻状态,能够对应于各状态而用于信息的记录。作为第1电极层316及第2电极层314的材料,例如有Pt(白金)、Ir(铱)、W(钨)、Cu(铜)、Al(铝)、TiN(氮化钛)、TaN(氮化钽)及TiAlN(氮化钛铝)等。
图1的(a)的虚线区形成了1个存储器单元。该存储器单元的电路图标记是图1的(b)。如图1的(b)所示,电阻变化元件的一端与作为选择元件的晶体管的漏极端子连接。以下,在说明非易失性存储器的整体的构成要素时,假设存储器单元具有图1的(b)的电路结构。
接着,说明本申请的使用电阻变化元件的非易失性存储器的一例。图2是表示本申请的非易失性存储器300的一结构的框图。如图2所示,有关本实施方式的非易失性存储器300是半导体器件(以下,简单称作器件)的一例,在半导体基板上具备存储器主体部301。该存储器主体部301具备存储器阵列块302、单一或多个行选择电路/驱动器303、列选择电路304、用于进行信息的写入的写入电路305、传感放大器(以下,也称作“读出电路”)306、数据输入输出电路307、组识别信息生成器311和开关电路312。
传感放大器306检测流过经由选择位线选择的存储器单元中的电流量,判定存储在所选择的存储器单元中的信息是数据“1”还是“0”。数据输入输出电路307经由端子DQ进行输入输出数据的输入输出处理。组识别信息生成器311根据从各传感放大器306得到的多个电阻值信息,运算本申请的组识别信息并输出。开关电路312将传感放大器306的输出和组识别信息生成器311的输出进行切换而向数据输入输出电路输入。此外,非易失性存储器300还具备从外部电源生成在存储器内部使用的各种电源的电源电路308、接收从外部输入的地址信号的地址输入电路309、和基于从外部输入的控制信号来控制存储器主体部301的动作的控制电路310。
存储器阵列块302具备形成在半导体基板之上的多个存储器单元M000、M001、…、M0xy(以下,表示为“存储器单元M000、M001、…”)。存储器单元M000、M001、…分别具备一个晶体管、和与该晶体管串联连接的一个电阻变化元件。即,多个晶体管T000、T001、…、T0xy(以下,表示为“晶体管T000、T001、…”)及多个电阻变化元件构成多个存储器单元M000、M001、…。在该半导体基板之上,还平行排列有多个平行的字线及源极线的组。此外,在半导体基板之上,还以与字线WL0、WL1、…WLy及源极线SL0、SL1、…SLy的多个组交叉的方式排列有多个位线BL00、BL01、…BL0y。晶体管T000、T001、…对应于字线WL0、WL1、…WLy及源极线SL0、SL1、…SLy的多个组与多个位线BL00、BL01、…BL0y的交叉区域而设置。
各存储器单元的电路图标记遵循图1的(b)。此时,电阻变化元件在存储器单元内作为非易失性存储元件进行动作。这样的存储器单元由1个晶体管和1个电阻变化元件构成,所以称作1T1R型存储器单元。此外,存储器阵列块302被分为多个存储器阵列块,分别如存储器单元M000、M001、…M0xy群的阵列块、存储器单元M100、M101、…M1xy群的阵列块、存储器单元Mm00、Mm01、…Mmxy群的阵列块那样,由m个存储器阵列块302构成。各存储器阵列块302当由列选择电路304选择一条位线、由单一或多个行选择电路/驱动器303选择一条字线时,选择选择位线与选择字线交叉的1个存储器单元。即,从各存储器阵列块中分别选择1个存储器单元。
在非易失性存储器300中存储通常的数据、或将存储器内的存储的数据读出的情况下,地址输入电路309从外部电路(未图示)接收地址信号,基于该地址信号将行地址信号向单一或多个行选择电路/驱动器303输出,并将列地址信号向列选择电路304输出。这里,地址信号是表示多个存储器阵列块302中包含的存储器单元中的被选择的特定的存储器单元的地址的信号。此外,行地址信号是表示地址信号所示的地址中的行的地址的信号,列地址信号是表示地址信号所示的地址中的列的地址的信号。
控制电路310在信息的写入周期中,根据输入到数据输入输出电路307中的输入数据DI0~DIm,将指示写入用电压的施加的写入信号向各个写入电路305输出。另一方面,在信息的读出周期中,控制电路310将指示读出用电压的施加的读出信号向列选择电路304及传感放大器306输出。根据所选择的存储器单元的电阻值,传感放大器306复原为原来的0或1的数据,并作为DO0~Dom经由开关电路312向数据输入输出电路307发送。此时,根据控制电路310的指示,开关电路312的输出连接于输入a。
写入电路305在接收到从控制电路310输出的写入信号的情况下,对列选择电路304输出对于所选择的位线指示写入用电压的施加的信号。此外,传感放大器306在信息的读出周期中,检测作为读出对象的选择位线中流过的电流量,判定为数据“1”或“0”。作为其结果而得到的输出数据DO经由数据输入输出电路307输出至外部电路。
以上,是使非易失性存储器300存储数据、或将存储的数据读出的通常的功能的动作。接着,对组识别信息的生成功能进行说明。
首先,关于组识别信息的生成,说明基本的思想。如已经叙述那样,如果两个机器要相互认证,则需要两个机器通过交换只有双方知道的秘密的规则或信息来相互确认是特定的对方。作为现有技术,在使用加密电路的情况下,加密中使用的密钥数据成为秘密的信息,但是有密钥数据被盗窃的问题。进而,在以往的PUF中,按每个装置而不同的不能复制的唯一的个体识别信息成为秘密的信息,但为了证明该个体识别信息是正规的信息,需要向第3机构进行初始登记、并且每当认证时都进行询问,不适合于难以进行网络连接的本地机器彼此的认证。
作为该问题的对策,本发明者研究了将对通过特定的制造者所具有的特定的制造工艺制造的器件的物理特性的特征进行组合而得到的集合特性相互对照从而相互认证的技术。该组合可以使用任意的组合。此外,对照可以通过将根据集合特性生成的组识别信息相互对照来进行。由此,能够基于具有通过相同的工艺制作的(即,属于相同的组的)器件的装置彼此相互认证这样的秘密的规则,互相交换秘密信息。该情况下的秘密信息,归根结底是制造工艺的专有技术。另外,在本实施方式中,“器件与通过相同的工艺制造的其他器件属于相同的组”,是指非易失性存储器(更限定地讲,电阻变化元件)等器件是以与其他非易失性存储器等相同的材料及构造制造的。
这里,在电阻变化元件的情况下,交换中使用的物理特性为电阻特性。在图3A、图3B、图3C中,表示电阻变化元件的各个状态时的电阻特性(I-V特性)。关于电阻变化元件的电阻特性,用施加了各电压时流过的单元电流的值表示,通常被表示为电流-电压特性(I-V特性)。图3A表示初始状态的电阻特性,图3B表示HR状态的电阻特性,图3C表示LR状态的电阻特性。
电阻变化元件中有初始状态、HR状态、LR状态这3个状态。初始状态是电阻值越处于绝缘状态则具有非常高的规定的电阻值范围的状态。HR状态是电阻值比初始状态小且具有规定的电阻值范围的高电阻状态。LR状态是电阻值比高电阻状态小且具有规定的电阻值范围的低电阻状态。电阻变化元件在刚制造后,图1的(a)的第2氧化物层315a处于绝缘状态。通过将成形应力这样的规定以上的电应力(例如脉冲电压)施加到电阻变化元件313的两端,在氧化物层中生成丝极(filament)(即,将电阻变化层贯穿的导电路径),电阻变化元件成为可变状态(即,可变电阻状态)。导电路径可以说是具有含氧率比电阻变化层低的缺氧型的金属氧化物的部位。
成为可变状态的电阻变化元件根据向该电阻变化元件的两端施加的施加电压和其极性(即,施加电压的施加方向),能够在HR状态与LR状态间推移。此外,成为可变状态的电阻变化元件在规定的读出电压以下的电压下不改变状态而保持。像这样使用HR状态和LR状态来存储信息。根据图3A、图3B、图3C也可知,虽然LR状态是线性的特性,但HR状态及初始状态是非线性的特性。该非线形特性依赖于电阻变化元件的材料及制造工艺的条件。由于电阻特性根据氧化物层的膜厚、氧化量、单元直径等复杂的参数而不同,所以只有知道制造的专有技术的有限的制造者才能够制造具有相同的电阻特性的器件。
对根据这样的非线性的电阻特性生成组识别信息的构造进行说明。图4是将存储器阵列块302立体地显示的示意图。在本图所示的存储器阵列块302中,设有多个位线BL00~BL0y、和与多个位线BL00~BL0y交叉的多个源极线SL0~SLy及多个字线WL0~WLy,在交叉的多个各交叉点配置存储器单元。如上述那样,在向通常的非易失性存储器的访问中,在一个存储器阵列块中选择1个存储器单元。但是,在生成组识别信息时,除了主选择单元以外还选择副选择单元。
对于字线WL0~WLy中的主选择单元涉及的字线(在图4中是WL1),施加作为选择字线电压的Vwm。此外,对于其以外的副选择单元涉及的字线(在图4中是WL1以外),施加作为比Vwm低的电压的Vws。进而,此时由列选择电路304选择BL01并连接到传感放大器306。在栅极端子上被施加了Vwm的晶体管充分成为导通状态,能够流过该晶体管的能力表示的最大的电流。
但是,在栅极端子上被施加了作为比Vwm低的电压的Vws的晶体管在晶体管的非饱和区域中动作,等价地在晶体管的导通电阻较高的状态下动作,被限制为比主选择单元的晶体管低的电流量。另外,为了使说明变简单,例示了在存储器阵列块302中向1条字线施加Vwm、向其以外的全部施加Vws,但并不限定于此,例如只要施加Vws的字线的条数至少是1条以上,就能够进行本申请的动作。但是,副选择单元的数量越多,后述的副电流路径的路径越复杂,安全性越高。
根据上述那样的主选择单元和副选择单元混合存在的存储器单元的选择方法,发生由图4的粗箭头例示那样的副电流路径。即,是流过主选择单元的电流路径以外跨3个存储器单元的副电流路径。将该副选择单元群的电流路径用等价电路表示在图5中。在图5所示的等价电路中,副选择单元群由3段副选择存储器单元构成。在上段并联地连接着(y-1)个存储器单元,在中段并联地连接着(x-1)×(y-1)个存储器单元,在下段并联地连接着(x-1)个存储器单元。这些个数根据施加作为副选择电压的Vws的字线的条数而不同。
图5的等价电路是作为直流电阻(DC电阻)的等价电路。作为交流电阻(AC电阻)的阻抗还涉及布线电容及布线电阻、还有晶体管的扩散电容,呈现非常复杂的特性。此外,对其加上上述那样的电阻变化元件的非线性电阻特性,表示用单纯的模型式不能表示的合成电阻。这样的电阻变化元件的合成电阻成为在本申请中使用的器件特有的物理特性的集合特性。物理特性的集合特性虽然不能用单纯的模型式表示,但只要相互认证的装置彼此以相同的构成要素具备拥有相同的物理特性的器件,就能够容易地测定物理特性相同的集合特性。并且,只要将其测定结果相互对照,就能够进行将不拥有相同的物理特性的器件的其他装置排除的认证。
接着,对测定作为物理特性的集合特性的存储器单元群的合成电阻的读出电路和组识别信息生成器进行说明。
(合成电阻的读出电路的详细情况)
图6是表示本申请的非易失性存储器300所具备的读出电路(传感放大器)306的结构例的电路图。读出电路306是在按照组合信息(例如,随机数数据)设定了多个元件的物理特性的情况下,检测将所设定的多个元件的物理特性进行组合而得到的集合特性(例如合成电阻)的集合特性检测器的一例。读出电路306具有放电方式的传感放大器电路30。传感放大器电路30具备比较器31、电阻值计数器32、预充电用的PMOS晶体管33、负载电流用的PMOS晶体管34。此外,具备由钳位电压施加用的NMOS晶体管构成的钳位电路35。
电阻值计数器32连接于比较器31的输出。通过复位信号RST成为低电平,电阻值计数器内的计数值被初始化。电阻值计数器32在初始化后,开始基于时钟信号CLK的计数。电阻值计数器32在控制电路310的控制下,将放电时间变换为计数值,该放电时间根据与经由列选择电路304连接的选择位线相连的选择存储器单元的电阻值而变化。时钟信号CLK是为了该变换时的计数周期而使用的信号,被从控制电路310输出。
时钟信号CLK例如是维持一定的频率的矩形波。每当该时钟信号CLK上升,就将电阻值计数器的计数值加1,如果节点SEN低于VREF,则电阻值计数器的计数增加停止,此时的计数值被维持为COUT,作为输出B输出。此时,从输入A输入阈值(CREF)。比较器135将COUT与CREF的阈值进行比较,如果是阈值以上则从输出A输出1,如果不到阈值则从输出A输出0。输入A是从控制电路310输入的设定值,在图2中未图示而省略。
从输出A输出的0或1的2值数据通常在将非易失性存储器中存储的数据恢复为原来的数字数据时使用。对预充电PMOS晶体管33而言,在栅极端子被输入预充电控制信号PRE,在源极端子被输入VDD,在漏极端子连接有节点SEN。对负载PMOS晶体管34而言,在栅极端子被输入负载控制信号LOAD,在源极端子被输入VDD,在漏极端子连接有节点SEN。
对由NMOS晶体管构成的钳位电路35而言,在栅极被输入钳位控制信号CLMP,在源极端子或漏极端子的某一方连接有节点SEN,在另一方连接有经由列选择电路304选择的存储器单元40。该存储器单元40是在存储器阵列块302内的多个存储器单元中被选择的存储器单元。另外,在计测本申请的存储器单元的合成电阻的情况下,对如图5所示的主选择单元的电阻附加副选择单元群的电阻。
这里,使用图7的时间图具体地说明读出电路306输出计数值(电阻计数值的一例)的动作。图7是将被选择的存储器单元以放电方式读出的情况下的时间图。在T1的预充电期间中,控制信号PRE为低电平,预充电用PMOS晶体管33为导通状态。控制信号LOAD为高电平,负载用PMOS晶体管34为截止状态。选择字线WL的电位为低电平,晶体管24为截止状态。
通过向构成钳位电路35的NMOS晶体管的栅极端子施加VCLMP的电压,选择位线BLs的电位被预充电到从VCLMP减去VT(构成钳位电路35的NMOS晶体管的阈值)的电位。选择源极线SLs被固定为GND。节点SEN被预充电到VDD。此外,由于连接在比较器的输出上的电阻值计数器的控制信号RST为高电平,所以电阻值计数器输出端子COUT输出0的固定值。
在T2的传感期间中,通过使控制信号PRE为高电平,预充电PMOS晶体管33成为截止状态。此外,通过使控制信号LOAD为低电平,负载PMOS晶体管34成为导通状态。此外,通过使选择字线WLs的电位为高电平,NMOS晶体管24成为导通状态。
经由从选择位线BLs选择的存储器单元40向选择源极线SLs施加电压,开始放电。与放电开始同时,电阻值计数器32的控制信号RST成为低电平,计数开始。并且,每当计数1次,就由比较器31将节点SEN的电位与参照电压VREF的电压比较,计数值持续增加,直到节点SEN低于参照电压VREF。读出时的电阻变化元件23的电阻值越高,放电时间越长,计数值越大。
此外,通过调整电容器36的电容,还能够调整放电时间。电容器36的电容越大,则节点SEN的放电时间也越晚,所以计数值变大,如果电容较小,则节点SEN的放电时间变快,计数值变小。电容器36例如在想要提高放电时间较快的低电阻水平的检测精度时是有效的。计数的间隔由时钟信号CLK决定。因此,时钟信号CLK的频率成为电阻计数值的解析力。
在较低的电阻值的情况下,放电时间变得过短,有可能以计数值的解析力不再能够适当地检测(即,不再能区分检测出的电阻值)。所以,通过对节点SEN追加电容负荷、使放电延迟,从而能够调整为能够以希望的解析力检测的水平的放电特性。在原理上,在放电方式的情况下越是高电阻则放电时间越长,随之,放电的倾斜平缓地变化,所以与计数值对应的电阻值信息的解析力提高。即,在放电方式的情况下,是高电阻侧能够得到高精度的电阻值信息的方式。
在T3的闩锁期间中,在开始放电后,节点SEN低于参照电压VREF时的电阻值计数器32的计数值被闩锁。闩锁的计数值(即,T3期间的计数值)被向COUT输出(输出B),被其他的块取入并被作为选择存储器单元的详细的电阻值信息。
在T4的复位期间中,如果数据输出完成,则选择字线WLs的电位成为低电平,被选择的存储器单元40的晶体管24截止,读出动作结束,成为下个读出的空闲状态。在如本例示那样计测放电时间的方式以外,还有使用图6的构成要件计测存储器单元的两端电压的充电时间的方法,但由于是设计事项,所以省略说明。即,只要是将测定对象的电阻值用3值以上的解析力计测的手段,则包含在本申请的构成要件中。
(组识别信息生成器的详细情况)
图8是表示本申请的组识别信息生成器311的一具体例的电路图。组识别信息生成器311是根据由集合特性检测器(例如,传感放大器306)检测的集合特性(例如,合成电阻)生成用于识别器件(例如,非易失性存储器300)与其他器件属于通过相同的工艺制造的相同的组的组识别信息的组识别信息生成器的一例。
在组识别信息生成器311中,被输入从承担各存储器阵列块302的传感放大器306的输出B输出的COUT。在图2中,将传感放大器306输出的基于由各存储器阵列块构成的合成电阻的检测值分别设为COUT0、COUT1…COUTm-1、COUTm。这些检测值输入至图8的COUT0~COUTm。各比较器125与在图6中说明的内容同样,将输入a与输入b的值比较,如果是a≥b则输出0,如果是a<b则输出1。即,组识别信息生成器311将相邻信道的合成电阻进行比较,变换为0或1这2值的数字值。从组识别信息生成器311输出RDO[m:0]的(m+1)位的数字数据。
这里,对组识别信息的定义进行说明。已经在图5中叙述了作为组识别信息的基础的信息在本实施方式中是构成可变电阻变化型非易失性存储器的多个存储器单元的合成电阻。使用图9对这一点进行说明。
图9是将图2的存储器阵列块302图示为x=7,y=7的8×8的存储阵列的示意图。在图9中,一个格(四方形)表示一个存储器单元,在该存储器单元是涂黑(或较浓的灰色)图案的情况下表示处于初始状态,格子图案表示处于HR状态,虚线图案表示处于LR状态。在8×8的存储阵列的对角线上存在初始状态的存储器单元,其以外随机地设置为HR状态和LR状态。初始状态、HR状态、LR状态的电阻特性如图3A、图3B、图3C所示。
在图9中,位线BL3连接于传感放大器,被施加从VCLMP电压下降了晶体管的阈值电压量的Vread的电压。其以外的位线BL0~BL2及BL4~BL7被设为高阻抗(HiZ)。此外,源极线SL3被设为接地电平(GND),其以外的源极线SL0~SL2及SL4~SL7被设为高阻抗(HiZ)。进而,对于字线WL3施加相当于Vwm的1.8V,对于其以外的字线WL0~WL2及WL4~WL7施加相当于Vws的0.65V。即,图9中的由点线包围的存储器单元是主选择单元,其以外的存储器单元为副选择单元。将主选择单元设为初始状态的存储器单元的理由是为了使流过副导电路径中的电流的检测灵敏度提高。即,是为了更高灵敏度地检测副选择存储器单元群的合成电阻。将上述那样的合成电阻的选择状态定义为Rsel(3,3)。
在图9中,初始状态存储器单元在阵列的对角线上有合计8个存储器单元。各自的选择状态被表示为Rsel(0,0),Rsel(1,1),Rsel(2,2),Rsel(3,3),Rsel(4,4),Rsel(5,5),Rsel(6,6),Rsel(7,7)这8种。将对角线上的初始状态的存储器单元以外的存储器单元随机地设置为HR状态及LR状态而作为副选择单元,不改变该1个图案,而将对角线上的存储器单元依次切换选择为主选择单元,模拟了8个选择状态的合成电阻。在该模拟中,使用作为电路模拟工具的synopsys公司的“HSPICE”。
将其模拟结果表示在图10中。在图10中,横轴取Rsel(0,0),Rsel(1,1),…Rsel(7,7)的选择状态,纵轴取利用上述传感放大器的放电时间来计测此时的合成电阻的结果而进行了描绘。对角线上的初始状态的存储器单元以外的存储器单元的电阻状态的图案是相同的,但如果主选择单元不同,则向副选择单元的导通图案不同,所以合成电阻不同。因此,根据图10可知,导通图案的差异呈现为放电时间之差。
在图11中,表示将向初始状态的存储器单元以外的存储器单元的写入图案随机地变更5种而设为副选择单元时的模拟结果。将这些图案设为图案1~5。在图11中,表示在各图案中将对角线上的存储器单元依次切换选择为主选择单元时的合成电阻的变化(即,合成电阻的排列中的变化)。在图10中表示的图案在图11中对应于图案5。根据图11可知,按照写入图案观测到各种各样的合成电阻的增减状态。将这样的各选择状态下的合成电阻的增减在本说明书中称作“合成电阻的增减图案(或合成电阻的推移)”。另外,指示这样的写入图案的信息是组合信息,该组合信息指示具备在半导体基板上制造的多个元件的器件的多个元件的物理特性的任意的组合。
接着,对合成电阻的增减图案的再现性进行说明。在得到图10所示的增减图案的存储器单元的设置状态下,设想HR状态和LR状态下的各电阻值(以下,也简单称作“HR状态”、“LR状态”)不均匀的情况。在本说明书中例示的钽氧化物的电阻变化元件中,已知HR状态和LR状态的偏差分布遵循正态分布。在图13中表示LR状态的偏差分布,在图14中表示HR状态的偏差分布。
这样,在图12中表示以被设置后的各存储器单元的HR状态和LR状态按照正态分布随机地不均匀分布为前提,将其偏差图案制作100种进行模拟而得到的、将对角线上的存储器单元作为主选择单元时的合成电阻的增减图案。在图12中将100种增减图案重叠描绘而表示。根据图12可知,虽然因被设置的电阻状态的偏差而合成电阻的绝对值不同,但增减图案的倾向呈现较高的一致性。这样的增减图案由图8所示的组识别信息生成器311作为数字数据(RDO[7:0])输出。即,组识别信息生成器311关于被输入的COUNT0~COUNTm进行其相邻间的值的比较,将其增减的方式作为数字数据(RDO[7:0])输出。
图15着眼于在图12中重叠描绘的多个增减图案中的两个图案。如果图15中的增减图案A被输入到组识别信息生成器311中,则被作为RDO[7:0]={10010010}输出。图12的多个增减图案的大部分是增减图案A,能够得到相同的数据。但是,在其一部分的图案中,因由图15中的“增减不同的部位”表示的差异,成为增减图案B那样,作为RDO[7:0]={10011010}这样的1位不同的数据输出。在实际的装置中,也发生这样在合成电阻中有偏差而不完全一致的情况。鉴于这样的状况,当将增减图案的一致对照时进行RDO的数字数据的汉明距离评价。所谓汉明距离评价,是表示数字数据x和y的各位的一致度的评价指标,用下式表示。
[数式1]
汉明距离
即,如果全部的位相等,则汉明距离dH(x,y)为0,如果全部不同,则为RDO的位长(在本例中为8)。这样,通过评价汉明距离是否比规定的值小,能够评价RDO的数字数据的一致度。详细情况后述,但在进行器件彼此的认证时将相互的RDO数据进行对照的对照电路中,通过进行这样的汉明距离评价,将偏差也考虑在内的实际的产品中的认证也能够稳定地进行。
另外,在上述说明中,组识别信息生成器311根据将处于存储器单元阵列的对角线上的8个存储器单元设为主选择单元、将其以外设为副选择单元时的合成电阻,生成这些合成电阻的推移作为组识别信息。但是,组识别信息的生成方法并不限于此。也可以使用处于与对角线上不同的位置的多个存储器单元的合成电阻进行组识别信息的生成。此外,也可以使用将与8个不同的个数的存储器单元(例如,1个或16个等的存储器单元)作为主选择单元而得到的合成电阻生成组识别信息。此外,也可以生成与合成电阻的推移不同的信息(例如,表示合成电阻的值或范围的信息)作为组识别信息。即,组识别信息生成器311只要是根据由集合特性检测器(例如,传感放大器306)输出的至少一个集合特性(例如合成电阻)生成用于识别器件(例如,非易失性存储器300)与通过相同的工艺制造的其他器件属于相同的组的组识别信息,是怎样的都可以。
接着,使用图16的框图对本申请的认证装置500的一具体例进行说明。在图16中,认证装置500具备将来自各块的输入输出数据经由数据总线进行控制的微控制器(μCOM)501、和得到来自外部通信的命令输入而进行外部与数据总线的数据输入输出的接口电路(I/F电路)502。另外,接口电路502是将组合信息或组识别信息向认证对方发送的发送器、以及从认证对方接收组合信息或组识别信息的接收器的一例。
此外,非易失性存储器300经由数据总线进行数据的存储和读出。错误校正电路503是生成用于将组识别信息的错误校正的错误校正数据、使用错误校正数据将组识别信息的错误校正的错误校正电路的一例。错误校正电路503生成经由数据总线输入的数据的错误校正用的奇偶校验数据。奇偶校验数据被保存到非易失性存储器300的用户数据区域中。错误校正电路503在将组识别信息的错误校正的情况下,将事先保存的奇偶校验数据从非易失性存储器300读出,被输入包含错误的数据和奇偶校验数据,基于被输入的数据与奇偶校验数据的关系,将被输入的数据的错误校正,复原为原来的正常的组识别信息的数据并输出。RAM504为了与各块的数据输入输出而暂时性地存储数据。加密电路505将经由数据总线输入的数据使用加密密钥加密或解密,向数据总线输出。
随机数生成电路(RNG)506是生成组合信息的组合信息生成器的一例,所述组合信息指示具备在半导体基板上制造的多个元件的器件中的多个元件的物理特性的任意的组合。RNG506每当从μCOM501接收到生成指示时,生成不同的随机数(即组合信息)并向数据总线输出。对照电路507是将第1组识别信息与第2组识别信息对照的信息对照器的一例。对照电路507将经由数据总线输入的至少两个数据的一致度对照而输出对照结果。另外,这些搭载的各块并不需要全部被搭载,根据后述的认证功能,也可以没有一部分。非易失性存储器300与图2所示的非易失性存储器300相同,除了通常的数据存储功能以外,还具有输出作为组识别信息的RDO的功能。
以下,使用图17的流程图说明本申请的认证装置500有两个的情况下的认证装置500的动作。这里,设第1认证装置500为主装置,设第2认证装置500为从装置,假定主装置对从装置进行认证(即,从装置为认证对方)。即,第1认证装置500作为进行认证的一侧的动作即认证主功能动作,第2认证装置500作为被认证的一侧的动作即认证从功能动作。另外,也可以1台认证装置500具有认证主功能及认证从功能双方。
在以后的说明中,将第1认证装置500记载为主装置(作为认证主功能动作的装置),将第2认证装置500记载为从装置(作为认证从功能动作的装置)。在图17中,对主装置侧的处理进行说明。根据来自外部的命令或主装置内部的μCOM501的触发而开始认证动作(步骤m1)。首先,μCOM501将对照执行次数及对照一致判定的清空次数初始化为零(步骤m2)。通过μCOM501的控制使图16的随机数生成电路506生成作为第1组合信息的随机数数据(组合信息生成步骤),将随机数数据暂时存储到RAM504中(步骤m3)。
μCOM501将暂时存储在RAM504中的随机数数据经由接口电路502向从装置发送(发送步骤:步骤m4)。同样,μCOM501将暂时存储在RAM504中的随机数数据向非易失性存储器300写入(步骤m5)。此时,如在图9中说明那样,在各存储器阵列块302中除了处于初始状态的存储器单元以外,还按照随机数数据被写入HR状态及LR状态的随机的图案。即,按照第1组合信息设定多个元件的物理特性。
进而,μCOM501如已经说明那样,使用非易失性存储器300计测由各主选择单元的电阻和伴随于它的副选择单元群的电阻构成的合成电阻(集合特性检测步骤),得到第1组识别信息(组识别信息生成步骤),向RAM504暂时存储(步骤m6)。即,读出电路306在按照第1组合信息设定了非易失性存储器300的多个元件的物理特性的状态下生成将多个元件的物理特性组合得到的第1集合特性。根据该第1集合特性,组识别信息生成器311生成用于识别非易失性存储器300与通过相同的工艺制造的其他的非易失性存储器属于相同的组的第1组识别信息。
这里,从装置接收由主装置通过步骤m4发送的随机数数据作为第2组合信息(从对方装置接收到的组合信息)(接收步骤),向RAM504暂时存储(步骤s1)。另外,在本实施方式中,第2组合信息与由主装置生成的第1组合信息一致。进而,从装置将暂时存储在RAM504中的随机数数据向非易失性存储器300写入(步骤s2)。此时,在从装置的各存储器阵列块302中,被写入与在图9中说明的主装置侧同样的图案。即,除了处于初始状态的存储器单元以外,按照随机数数据,被写入HR状态及LR状态的随机的图案。
即,在主装置和从装置中,基于相同的随机数数据将相同的写入图案向存储器阵列块302写入。进而,从装置与主装置侧同样,计测由各主选择单元和与其相伴的副选择单元群构成的合成电阻(集合特性检测步骤),取得第2组识别信息(组识别信息生成步骤步骤s3)。即,在从装置的非易失性存储器300中,按照第2组合信息设定多个元件的物理特性。在设定了该物理特性的状态下,读出电路306生成将多个元件的物理特性组合得到的第2集合特性。组识别信息生成器311根据该第2集合特性,生成用于识别非易失性存储器300与通过相同的工艺制造的其他非易失性存储器属于相同的组的第2组识别信息。并且,从装置将第2组识别信息向主装置侧发送(发送步骤:步骤s4)。
这里,在主装置侧,将经由接口电路502接收到的第2组识别信息向RAM504暂时存储(接收步骤:步骤m7)。接着,作为信息对照器的对照电路507接收暂时存储在RAM504中的第1组识别信息及第2组识别信息,计算两个识别信息数据的汉明距离(HD)(信息对照步骤),将计算结果向RAM504暂时存储(步骤m8)。μCOM501将暂时存储在RAM504中的汉明距离结果读出,如果判断为是规定值以下(步骤m9中是),则将对照清空次数进行计数增加(步骤m10),如果判断为比规定值大(步骤m9中否)则不进行计数增加。
进而,如果组识别信息的对照执行次数是规定次数以上(步骤m11中否),则主装置将执行次数进行计数增加(步骤m12),向步骤m3返回,重复流程。如果在步骤m11中对照的执行次数是规定次数以上(步骤m11中是),则主装置进行对照清空次数是否是规定以上的判断(步骤m13)。主装置在判断为对照清空次数是规定以上的情况下(步骤m13中是),看作识别信息一致,将从装置认证为正规的装置(步骤m13a)。如果对照清空次数小于规定(步骤m13中否),则主装置判断为认证失败,将与从装置的通信切断(步骤m13b)。
这样,基于相同的随机数数据,主装置和从装置在相同结构的非易失性存储器的存储器阵列块中共用HR状态和LR状态的写入图案(分别作为第1组合信息及第2组合信息保持)。包含有限的制造者所拥有的专有技术的隐匿的制造工艺是其他制造者难以模仿的。因此,其他业者制造复产品并不容易。进而,作为根据HR状态和LR状态的写入图案来计测的集合特性的合成电阻为电阻变化元件拥有的非线性电阻特性的集合特性,不能进行简单的模型化。因此,难以用微控制器等具有运算功能的LSI制造出通过输出与从装置等价的组识别信息来伪装那样的仿造品。
此外,对在用于认证的对照中使用的组识别信息而言,根据作为主装置及从装置相互共有的组合信息的随机数数据,有许多的组合。因此,制作将全部组合的组识别信息进行存储而生成那样的伪造品实际上也是不可能的。即,根据本实施方式,主装置及从装置将如下集合特性进行对照,该集合特性是将根据各自所具备的非易失性存储器300的制造工艺呈现的器件的物理特性任意地组合而得到的。由此,主装置及从装置认证出对方的非易失性存储器300属于由通过特定的制造工艺制作的多个非易失性存储器构成的组。换言之,主装置及从装置认证出对方的非易失性存储器300是通过隐匿的特定的制造工艺制作的正规的产品。
该集合特性在具有不可能知道隐匿的制造工艺的制造者不能在物理上复制的功能的意义上是PUF。但是,该集合特性由于能够进行以往的PUF技术所没有的组认证,所以如上述那样称作组认证PUF。本申请的组认证PUF并不限定于作为在上述那样的非易失性存储器中使用的电阻变化元件的物理特性的电阻特性。只要有以下的5点,就包含在本申请中。
(1)获得将通过特定的工艺制造的器件的物理特性基于任意的组合信息进行组合而得到的集合特性的机构,即,在按照第1组合信息设定了多个元件的物理特性的情况下、检测将所设定的多个元件的物理特性进行组合而得到的第1集合特性的集合特性检测器;
(2)将任意的组合信息向认证对方发送的机构,即,将第1组合信息向认证对方发送的发送器;
(3)根据集合特性生成组识别信息的机构,即,根据由集合特性检测器检测的第1集合特性、生成用于识别器件与通过相同的工艺制造的其他器件属于相同的组的第1组识别信息的组识别信息生成器;
(4)从认证对方接收基于所发送的组合信息生成的组识别信息的接收机构,即,接收认证对方按照第1组合信息生成的第2组识别信息的接收器;
(5)验证自己生成的组识别信息与从认证对方接收到的组识别信息的一致度而将认证对方进行认证的机构,即,将第1组识别信息与第2组识别信息进行对照的信息对照器。
(认证方式的其他形态:加密密钥的共享)
接着,使用图18的流程图对组认证PUF的其他使用方法进行说明。与图17同样,本申请的认证装置500有两个,设第1认证装置500为主装置,第2认证装置500为从装置,假定主装置对从装置进行认证,并且共享加密/解密用的密钥数据。即,第1认证装置500作为进行认证的一侧的动作即认证主功能来动作,第2认证装置500作为被认证的一侧的动作即认证从功能来动作。另外,也可以是1台认证装置500具有认证主功能及认证从功能这两者。
在图18中,对主装置侧的处理进行说明。根据来自外部的命令或主装置内部的μCOM501的触发而开始认证及密钥共享动作(步骤m14)。首先,μCOM501将对照执行次数初始化为零(步骤m15)。μCOM501进行使图16的随机数生成电路506生成作为第1组合信息的随机数数据(组合信息生成步骤)、并向RAM504暂时存储随机数数据的控制(步骤m3)。μCOM501将暂时存储在RAM504中的随机数数据读出,经由接口电路502向从装置发送(发送步骤:步骤m4)。
同样,μCOM501将暂时存储在RAM504中的随机数数据向非易失性存储器300写入(步骤m5)。此时,如在图9中说明那样,在各存储器阵列块302中,除了处于初始状态的存储器单元以外,按照随机数数据,被写入HR状态及LR状态的随机的图案。即,被按照第1组合信息设定多个元件的物理特性。进而,μCOM501如已经说明那样,计测由各主选择单元的电阻和与其相伴的副选择单元群的电阻构成的合成电阻(集合特性检测步骤),得到第1组识别信息,向RAM504暂时存储(步骤m6)。错误校正电路503,作为用于将第1组识别信息的错误校正的错误校正数据,基于第1组识别信息生成第1组识别信息的奇偶校验数据(错误校正步骤)。错误校正电路503将所生成的奇偶校验数据向从装置发送(步骤m16)。
这里,从装置将由主装置的步骤m4送来的随机数数据作为第2组合信息(从对方装置接收的组合信息)接收(接收步骤),向RAM504暂时存储(步骤s1)。另外,在本实施方式中,第2组合信息与由主装置生成的第1组合信息一致。进而,从装置将暂时存储在RAM504中的随机数数据向非易失性存储器300写入(步骤s2)。
此时,与在图9中说明的主装置侧同样,在从装置的各存储器阵列块302中,向处于初始状态的存储器单元以外的存储器单元,按照随机数数据写入HR状态及LR状态的随机的图案。即,在主装置和从装置中,基于相同的随机数数据将相同的写入图案向存储器阵列块302写入。进而,从装置与主装置侧同样,计测由各主选择单元的电阻和与其相伴的副选择单元群的电阻构成的合成电阻(集合特性检测步骤),取得第2组识别信息(组识别信息生成步骤),向RAM504暂时存储(步骤s3)。
接着,从装置接收来自主装置的奇偶校验数据,向RAM504暂时存储(步骤s5)。错误校正电路503接收暂时存储在RAM504中的奇偶校验数据和第2组识别信息。错误校正电路503使用奇偶校验数据将第2组识别信息的数据错误校正,得到与主装置保持的第1组识别信息相等的数据(错误校正步骤)。将错误校正后的真的组识别信息作为共享加密密钥向RAM504暂时存储(步骤s6)。
此时,在第2组识别信息中存在错误校正能力以上的数据错误的情况下,数据错误不完全被校正,第2组识别信息不与主装置保持的第1组识别信息一致。如果组识别信息在两者中不一致,则由于后述的对照不一致,所以认证和密钥的共享以失败告终。进而,加密电路505接收暂时存储在RAM504中的共享加密密钥和步骤s1的随机数数据,使用共享加密密钥将随机数数据加密(加密步骤),并作为加密随机数数据向RAM504暂时存储(步骤s7)。暂时存储在RAM504中的加密随机数数据经由接口电路502被向主装置发送(步骤s8)。
这里,主装置将经由接口电路502接收到的加密随机数数据向RAM504暂时存储(步骤m17)。主装置的加密电路505接收暂时存储在RAM504中的加密随机数数据、和在步骤m6中生成的第1组识别信息。加密电路505使用第1组识别信息作为共享加密密钥,将加密随机数数据解密为原来的随机数数据(解密步骤),向RAM504暂时存储(步骤m18)。对照电路507接收在步骤m3中生成并暂时存储在RAM504中的随机数数据、和在步骤m18中解密后的随机数数据,验证两个数据的一致。在此情况下,只要验证是否完全一致就可以,所以既可以是单纯的数据的比较,也可以确认汉明距离是0的情况。对照电路507将基于某种方法的验证结果向RAM504暂时存储(步骤m19)。
这里,μCOM501如果暂时存储在RAM504中的验证结果表示一致(步骤m19中是),则判断为认证和密钥的共享成功,将共享的加密密钥向非易失性存储器300保存(步骤m22)。由此,认证和密钥的共享完成(步骤m23)。在表示不一致的情况下(步骤m19中否),μCOM501判断对照执行次数是否是规定次数以上(步骤m20),如果不到规定次数(步骤m20中否),则将对照执行次数进行计数增加(步骤m21),向步骤m3返回。如果对照执行次数是规定次数以上(步骤m20中是),则μCOM501判断为认证及密钥的共享失败,将与从装置的通信切断(步骤m24)。
根据以上的方式,能够在基于组认证PUF的认证的同时进行加密密钥的共享。鉴于组认证PUF的特征,只有具备由特定的制造者通过特定的制造工艺制造的器件(非易失性存储器300)的装置能够相互安全地共享加密密钥。如果能够安全地共享加密密钥,则其后通过使用共享的加密密钥进行加密通信而能够确保安全性。通常,盗窃加密密钥那样的攻击需要时间和劳力。只要定期地进行上述使用组认证PUF的认证和密钥共享、并将共享的加密密钥更新,加密密钥的安全性就会飞跃性地上升。该方式的优点在于能够大幅地抑制用于组认证PUF的向非易失性存储器的写入次数。由于非易失性存储器大体上在数据的写入次数上有限制,所以避免每当认证时都写入随机数数据的益处较大。
在图18的方式中,只要一次能够共享加密密钥,在下个加密密钥的更新之前,就不需要为了认证而向非易失性存储器写入,此期间的认证可以用使用加密密钥的加密通信代替。在图18中共享的加密密钥如上述那样从安全性的观点出发,优选的是定期地更新为不同的加密密钥。更新的定时是与系统或用途对应的设计事项,例如也可以每1周或每个月等将基于认证装置内部或外部的定时器的时间周期作为触发来更新,也可以将从装置被换装时等事件作为触发。另外,在图18中作为基于在步骤s7中共享的加密密钥进行的加密的来源的数据为在步骤s1中得到的随机数数据,但并不限定于此。也可以是预先保存在装置内的任意的固定数据,例如可以举出使用的用户固有的识别记号数据、序列号数据、装置型号数据等。此外,图16的各模块也可以不在1个IC中搭载全部,只要能够由多个IC的组合作为产品整体实现本申请的功能就可以。
(非易失性存储器的存储器阵列块结构的其他形态)
在图2及图4中说明的存储器阵列块302中,字线与源极线处于平行,以相对于字线和源极线正交的方式配置有位线。在字线及源极线与位线在不同的布线层中立体地交叉的区域中配置有各存储器单元。如果设这样的关系的阵列块为类型A,则设如图19所示的关系的阵列块为类型B。图19的类型B的存储器阵列块根据图19可知,平行的位线和源极线的多个组平行地有多个,以相对于位线和源极线的多个组正交的方式配置有字线。
即,在类型B的非易失性存储器中,设有多个位线BL00~BL0x、与多个位线BL00~BL0x平行地配置的多个源极线SL0~SLx、和与位线BL00~BL0x及源极线SL0~SLy交叉的多个字线WL0~WLy,在多个各交叉区域中配置存储器单元。由于图2的存储器阵列块302是类型A,所以源极线的选择由作为行选择电路的驱动器303承担,而在类型B的情况下由列选择电路304承担。这是设计事项,所以图的例示省略。在图19中如果设例如用点线包围的存储器单元为主选择单元,则位线(BL01)经由列选择电路304而与传感放大器连接。此时,当使字线为多个选择状态时,如在图20中示出的表示副选择单元群的电流路径的等价电路图那样成为单纯的存储器单元的并联电路,合成电阻的预测变得比较容易。
作为其改善方案,在图21中表示了以类型B进行组认证PUF的情况下的存储器阵列块的电路结构的一例。图21是将字线的图示省略、将位线和源极线分别平行地配置、在其之间连接存储器单元的示意图。以位线BL000~BL011、源极线SL000~SL011分别例示了12条,但并不限定于此。在图21中,全部的位线和源极线连接于组识别信息用短路电路(即,短路电路)。
组识别信息用短路电路具备作为第1短路电路的开关SW1~9、作为第2短路电路的开关SW11~19、和作为第3短路电路的开关SW21~22。开关SW1~9在由虚线包围的多个组GR1~GR3的各自中能够将多个源极线彼此连接。开关SW11~19在多个组GR1~GR3的各自中能够将多个位线彼此连接。开关SW21~22能够在组GR1~GR3中的两组之间将一方的组的源极线与另一方的组的位线连接。
开关SW1~9、11~19及21~22由μCOM501经由图21中的SS端子控制。在通常的非易失性存储器的数据存储和数据再生时,开关SW1~9、11~19及21~22为开,能够向各存储器单元单独地访问。如已经说明那样,在将组识别信息读出的情况下,开关SW1~9、SW11~19及SW21~22被短路。
如果开关SW1~9、SW11~19及SW21~22被短路,则能够构成图22所示的表示副选择单元群的电流路径的等价电路。根据图22可知,将多个存储器单元并联连接的结构为按序以3级连接的结构,作为导通路径能够拥有复杂的路径。此时,通过将图22的用点线包围的存储器单元的组中的某一个组的存储器单元全部设为初始状态,能够得到拥有非常强的非线性的合成电阻。由此,能够得到非常难以模型化的组识别信息。导通路径结构并不限定于图22所示的3级的导通路径结构。根据组识别信息用的短路电路的开关的结构,能够进行各种各样的组合。
产业上的可利用性
有关本申请的认证装置根据将由特定的制造者通过特定的制造工艺制作出的器件的物理特性基于任意的组合信息进行组合而得到的集合特性,得到组识别信息。通过使用这样的组识别信息在装置间相互认证,能够提供目前还没有的复制困难的认证装置。根据该认证装置,在例如电气产品与电池间的认证、打印机与墨盒间的认证等电气产品与消耗品的认证中,对于消耗品是否是正规品的真伪判定是有用的。