CN103716152B - 一种基于工艺偏差的芯片密钥产生方法及其电路 - Google Patents

一种基于工艺偏差的芯片密钥产生方法及其电路 Download PDF

Info

Publication number
CN103716152B
CN103716152B CN201310736883.8A CN201310736883A CN103716152B CN 103716152 B CN103716152 B CN 103716152B CN 201310736883 A CN201310736883 A CN 201310736883A CN 103716152 B CN103716152 B CN 103716152B
Authority
CN
China
Prior art keywords
key
resistance
chip
array
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310736883.8A
Other languages
English (en)
Other versions
CN103716152A (zh
Inventor
敖海
李伟
敖钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201310736883.8A priority Critical patent/CN103716152B/zh
Publication of CN103716152A publication Critical patent/CN103716152A/zh
Application granted granted Critical
Publication of CN103716152B publication Critical patent/CN103716152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于工艺偏差的芯片密钥生成方法,包括设于芯片内的密钥生成阵列,所述密钥生成阵列包括m行×n列个密钥生成单元,其中m、n为大于2的整数;所述密钥生成单元包括两个电阻,以及分别与该两个电阻连接的电阻阻值检测电路;所述两个电阻的类型相同,且由相同的生产工艺制造。本发明还公开了该芯片密钥生产的电路。集成电路芯片制造过程中存在工艺偏差,类型、图形和尺寸完全相同的电阻在被制造出来后其阻值存在一定的随机偏差。本发明使芯片自身产生并存储密钥,且该密钥具有随机性和不可复制性,可降低相关应用的成本以及增强加密的安全性。

Description

一种基于工艺偏差的芯片密钥产生方法及其电路
技术领域
本发明涉及加密技术和集成电路芯片制造技术领域,具体涉及一种基于工艺偏差的芯片密钥产生方法及其电路
背景技术
加密技术一般涉及加密算法和密钥两个要素,算法和密钥的安全性对于加密的安全性都至关重要。在许多应用场合中,如射频识别、无线传感器网络等,单个芯片需要存储一个能标识该芯片的唯一密钥。传统方法是将该密钥直接写入芯片的存储器中,这种方法不仅增加了制造和应用的成本,也增加了被攻击的可能性,影响芯片应用的安全性。
我们所知的集成电路,或称微电路(microcircuit)、微芯片(microchip)、芯片(chip)其制造过程中涉及多道工序,包括光刻、离子注入、淀积、刻蚀等。每一种电路器件的制造,如晶体管、电阻、电容等,都需要多道工序才能完成,而每一道工序的工艺参数,如光刻的精度、离子注入的浓度等,在不同晶片之间,以及相同晶片的不同位置之间,都存在一定程度的偏差。上述偏差造成电路器件的相关参数存在一定范围内的分布。因此,即使采用相同图形和尺寸设计,相同的生产工艺,不同晶片上以及同一个晶片不同位置上相同的电路器件在被制造出来后其相关参数也存在一定的偏差。在传统的芯片设计和制造过程中,我们总是希望尽量控制上述偏差,希望上述偏差越小越好,这有利于保障大规模批量制造生产的性能的稳定性、可靠性和芯片的质量等。
发明内容
本发明的目的在于解决上述问题,设计一种基于工艺偏差的芯片密钥产生方法及其电路,该方法及其电路使芯片自身产生并存储密钥,且该密钥具有随机性和不可复制性,且即使相同芯片,不同时机生成的密钥同样具有随机性和不可复制性,其降低了相关应用的成本以及增强加密的安全性。
为实现本发明的目的之一所采用的技术方案为:一种基于工艺偏差的芯片密钥生成方法,包括设于芯片内的密钥生成阵列,所述密钥生成阵列包括m行×n列个密钥生成单元,其中m、n为大于2的整数;所述密钥生成单元包括两个电阻,以及分别与该两个电阻连接的电阻阻值检测电路;所述两个电阻的类型相同,且由相同的生产工艺制造;
该方法包括以下步骤:
步骤一、将芯片上电,向密钥生成单元输入激励信号;
步骤二、电阻阻值检测电路检测并比较两个电阻的阻值大小,每个密钥生成单元根据比 较的结果输出1位密钥值;
步骤三、读取密钥生成阵列中的若干行或若干列密钥值,输出生成芯片密钥。
进一步的改进方案为,所述步骤二中的密钥值存储在各密钥生成单元中,当芯片掉电或芯片发出删除指令,则密钥值去除。
进一步的改进方案为,所述步骤三中,读取所有行或所有列的密钥值。
进一步的改进方案为,所述激励信号为芯片电源的上电信号、复位信号或芯片发出的使能信号。
进一步的改进方案为,N=m×n,N为128的整数倍。
进一步的改进方案为,所述两个电阻为热电阻、多晶硅电阻或阱电阻。
进一步的改进方案为,重复步骤一至三,重复步骤三时,读取与上一次相同行和列的密钥值;或,读取与上一次不相同行和列的密钥值。
为实现本发明的目的之二所采用的技术方案为:一种基于工艺偏差的芯片密钥生成电路,包括密钥生成阵列、密钥读出电路和地址译码电路,所述密钥生成阵列包括m行×n列个密钥生成单元,其中m、n为大于2的整数;所述密钥生成单元包括两个电阻,以及分别与该两个电阻连接的电阻阻值检测电路;所述两个电阻的类型相同,且由相同的生产工艺制造;所述密钥生成阵列用于产生和存储密钥数据;所述密钥读出电路用于读取密钥生成阵列中存储的密钥数据;所述地址译码电路用于对密钥生成阵列进行寻址,使密钥读出电路读出密钥生成阵列指定地址上存储的密钥数据。
作为进一步的改进方案,所述电阻阻值检测电路检测并比较两个电阻阻值的相对大小,若第一电阻比第二电阻大,则输出密钥1,若第一电阻比第二电阻小,则输出密钥0;或者,若第一电阻比第二电阻大,则输出密钥0,若第一电阻比第二电阻小,则输出密钥1。
作为进一步的改进方案,不同密钥生成单元的电阻类型相同或不同。
本发明的有益效果有:
1.本发明使芯片自身产生并存储密钥,且该密钥具有随机性和不可复制性,可降低相关应用的成本以及增强加密的安全性。
2.集成电路芯片制造过程中存在工艺偏差,类型、图形和尺寸完全相同的电阻在被制造出来后其阻值存在一定的随机偏差,本发明利用上述电阻器件在制造过程中产生的随机偏差来产生芯片的密钥。
3.密钥产生单元中两个电阻可以采用特殊设计甚至违反设计规则的图形,以增大制造过程中的随机偏差。
4.单个密钥产生单元中两个电阻需要采用相同的图形、尺寸设计和电阻类型。不同的密钥产生单元之间既可以采用相同的电阻,也可以采用不同图形设计或不同类型的电阻。
5.本发明中若芯片掉电,N位密钥产生阵列存储的密钥数据会消失。若芯片需要重新产生和读取密钥,则需要重新上电,重新生成密钥。对于重新生成的密钥,可以将该密钥设成 上一次相同,从而保证对于单个芯片其密钥具有稳定性的有益效果;同时也可以设成不同于上一次,其密钥具有更多更安全的有益效果。
附图说明
图1是本发明实施例中生成随机密钥的电路结构图
图2是本发明实施例中密钥生成单元的结构图
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
如图1和图2所示,集成电路制造过程中存在工艺偏差,类型、图形和尺寸完全相同的电阻在被制造出来后其阻值存在一定的随机偏差,本实施例的方法或其电路利用上述电阻器件在制造过程中产生的随机偏差来产生芯片的密钥。
本实施例中包括N个密钥生成单元104组成的N位密钥生成阵列101,每个密钥生成单元104通过比较两个具有相同类型、图形和尺寸的电阻阻值的相对大小,产生1位密钥的值,N位密钥生成阵列产生N位密钥。
N位密钥生成阵列101用于生成和存储N位密钥数据,其由N个密钥生成单元组成,每个密钥生成单元生成并存储1位密钥数位,N位密钥生成阵列101生成并存储N位密钥。N的大小由具体应用对密钥长度的需求决定。
密钥读出电路103用于读取N位密钥生成阵列中存储的密钥数据。
地址译码电路102用于对N位密钥生成阵列进行寻址,使密钥读出电路读出N位密钥生成阵列指定地址上存储的密钥数据。
其中,密钥生成单元104包括两个类型、图形和尺寸完全相同的电阻(电阻1和电阻2)和一个电阻阻值检测电路。上述两个电阻采用完全相同的类型、图形和尺寸设计,其设计阻值相同。由于集成电路制造过程中存在工艺偏差,两个电阻在被制做后其阻值存在一定的随机偏差,阻值相等的概率极小。电阻阻值检测电路则检测并比较电阻1和电阻2的阻值大小,根据比较结果确定一位密钥的值。例如,若电阻1阻值大于电阻2,则该密钥生成单元生成的一位密钥的值为逻辑1;若电阻1阻值小于电阻2,则密钥值为逻辑0,反之亦然。每个密钥生成单元根据上述随机偏差,随机确定一位密钥的值,N个密钥生成单元生成并存储N位随机密钥。
单个密钥生成单元104中两个电阻需要采用相同的图形尺寸设计和电阻类型,如多晶硅电阻、阱电阻等。而不同的密钥生成单元之间既可以采用相同的电阻,也可以采用不同图形设计或不同类型的电阻。
图1为本发明一个具体实例的示意图,其由N位密钥生成阵列101、地址译码电路102和密钥读出电路103组成。其中,N位密钥生成阵列101由N个密钥生成单元104组成(U11~ Umn),共包括m行、n列个密钥生成单元104,N=m×n。每个密钥生成单元104生成并存储一位密钥,N位密钥生成阵列101生成并存储N位密钥。
地址译码电路102对N位密钥生成阵列101进行寻址,使密钥读出电路103读出N位密钥生成阵列101指定地址上存储的密钥数据。地址译码电路102接收地址信号,并将其转换为N位密钥生成阵列101每一行对应的具体地址,即该行n个密钥生成单元104的地址,并将该行n个密钥生成单元104的输出连接至密钥读出电路103。
密钥读出电路103读取N位密钥生成阵列101生成和存储的N位密钥数据并输出密钥数据。密钥读出电路103每次读取N位密钥生成阵列101中1行n个密钥生成单元104生成和存储的密钥数据,即每次读取n位密钥,该行的地址由地址译码电路102决定。密钥读出电路103需要读取m次将整个密钥生成阵列101生成和存储的N位密钥全部读出。
图2为上述一个密钥生成单元104的示意图,其由电阻201、电阻202和电阻阻值检测电路203组成。电阻201和电阻202采用类型、图形和尺寸完全相同的电阻,其设计阻值相同。电阻阻值检测电路203检测并比较电阻201和电阻202阻值的相对大小,根据比较结果输出1位密钥。例如,若电阻201大于电阻202,则电阻阻值检测电路203输出为逻辑1,即该密钥生成单元生成的1位密钥为逻辑1;若电阻201小于电阻202,则电阻阻值检测电路203输出为逻辑0,即该密钥生成单元生成的1位密钥为逻辑0,反之亦然。密钥生成单元接收一个激励信号,用于电阻201和电阻202阻值差别的检测,该激励信号可以为电源信号、复位信号、使能信号等电压信号,也可以为电流信号。
下面对芯片生成和读取密钥的过程进行说明:
(1)芯片没有供电,N位密钥生成阵列101没有存储密钥。
(2)芯片上电,N位密钥生成阵列101生成密钥分两种情况。其一,芯片不需要发出使能信号,N位密钥生成阵列101在芯片上电后自动生成N位密钥。密钥生成单元104以电源信号为激励信号,电源上电后电阻阻值检测电路203随即比较电阻201和电阻202的大小并生成1位密钥。其二,芯片上电后发出使能信号,命令N位密钥生成阵列101生成N位密钥。密钥生成单元104以上述使能信号为激励信号,接收到激励信号后电阻阻值检测电路203比较电阻201和电阻202的大小并生成1位密钥。N位密钥生成阵列101在生成N位密钥后将密钥存储在阵列中。
(3)芯片收到读取密钥的指令,则发出N位密钥生成阵列101第一行的地址信号给地址译码电路102。地址译码电路102接收上述地址后将其转变为N位密钥生成阵列101第一行对应的具体地址,并将该行n个密钥生成单元104的输出连接至密钥读出电路103。密钥读出电路103则对第一行n个密钥生成单元104存储的n位密钥进行读取,并输出n位密钥数据。等到芯片接收完第一行的n位密钥后,则发出N位密钥生成阵列101第二行的地址信号给地址译码电路102,并读取第二行n个密钥生成单元104存储的n位密钥。以此类推, 芯片依次发出N位密钥生成阵列101每一行的地址信号给地址译码电路102,并通过密钥读出电路103依次读取每一行n个密钥生成单元104存储的n位密钥,直至将整个N位密钥生成阵列101存储的N位密钥全部读出。
在其他实施例中,芯片还可以只读取密钥生成阵列101中若干行和/或若干列的密钥数据来生产密钥。
(4)芯片若未收到读取密钥的指令,则不进行读取操作,N位密钥存储在N位密钥生成阵列101中保持不变。
(5)若芯片收到删除密钥的指令,则关闭上述使能信号。密钥生成单元104的激励信号失效,其输出无效的1位密钥数据或者不输出密钥数据,N位密钥生成阵列101存储的N位密钥则消失。若芯片需要重新生成和读取密钥,则需要重新发出使能信号,并读取密钥。
(6)若芯片掉电,N位密钥生成阵列101存储的N位密钥则消失。若芯片需要重新生成和读取密钥,则需要重新上电,并读取密钥。
本实施例的方法或其电路,受集成电路制造工艺偏差的影响,即使采用完全相同的类型、图形和尺寸设计,不同晶片上以及同一个晶片不同位置上相同的电阻器件在被制造出来后其阻值存在一定的随机偏差。通过采用特殊的设计甚至违反设计规则的设计,可增大电阻器件在制造过程中的随机偏差。该方法利用上述随机偏差使芯片自身生成一个密钥,该密钥与制造工艺的随机偏差相关,因此具有随机性和不可复制性,可降低相关应用的成本以及增强加密的安全性。
根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。

Claims (10)

1.一种基于工艺偏差的芯片密钥生成方法,其特征在于,包括设于芯片内的密钥生成阵列,所述密钥生成阵列包括m行×n列个密钥生成单元,其中m、n为大于2的整数;所述密钥生成单元包括两个电阻,以及分别与该两个电阻连接的电阻阻值检测电路;所述两个电阻的类型、图形和尺寸分别相同,且由相同的生产工艺制造;该方法包括以下步骤:
步骤一、将芯片上电,向密钥生成单元输入激励信号;
步骤二、电阻阻值检测电路检测并比较两个电阻的阻值大小,每个密钥生成单元根据比较的结果输出1位密钥值;
步骤三、读取密钥生成阵列中的若干行或若干列密钥值,输出生成芯片密钥。
2.根据权利要求1所述的芯片密钥生成方法,其特征在于:所述步骤二中的密钥值存储在各密钥生成单元中,当芯片掉电或芯片发出删除指令,则密钥值去除。
3.根据权利要求1所述的芯片密钥生成方法,其特征在于:所述步骤三中,读取所有行或所有列的密钥值。
4.根据权利要求1所述的芯片密钥生成方法,其特征在于:所述激励信号为芯片电源的上电信号、复位信号或芯片发出的使能信号。
5.根据权利要求1所述的芯片密钥生成方法,其特征在于:N=m×n,N为128的整数倍。
6.根据权利要求1所述的芯片密钥生成方法,其特征在于:所述两个电阻为热电阻、多晶硅电阻或阱电阻。
7.根据权利要求1所述的芯片密钥生成方法,其特征在于:重复步骤一至三,每次重复步骤三时,读取与上一次相同行和列的密钥值;
或,读取与上一次不相同行和列的密钥值。
8.一种基于工艺偏差的芯片密钥生成电路,其特征在于:包括密钥生成阵列、密钥读出电路和地址译码电路,所述密钥生成阵列包括m行×n列个密钥生成单元,其中m、n为大于2的整数;所述密钥生成单元包括两个电阻,以及分别与该两个电阻连接的电阻阻值检测电路;所述两个电阻的类型、图形和尺寸分别相同,且由相同的生产工艺制造;
所述密钥生成阵列用于产生和存储密钥数据;
所述密钥读出电路用于读取密钥生成阵列中存储的密钥数据;
所述地址译码电路用于对密钥生成阵列进行寻址,使密钥读出电路读出密钥生成阵列指定地址上存储的密钥数据。
9.根据权利要求8所述的芯片密钥生成电路,其特征在于:所述电阻阻值检测电路检测并比较两个电阻阻值的相对大小,若第一电阻比第二电阻大,则输出密钥1,若第一电阻比第二电阻小,则输出密钥0;或者,若第一电阻比第二电阻大,则输出密钥0,若第一电阻比第二电阻小,则输出密钥1。
10.根据权利要求8所述的芯片密钥生成电路,其特征在于:不同密钥生成单元的电阻类型相同或不同。
CN201310736883.8A 2013-12-25 2013-12-25 一种基于工艺偏差的芯片密钥产生方法及其电路 Active CN103716152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310736883.8A CN103716152B (zh) 2013-12-25 2013-12-25 一种基于工艺偏差的芯片密钥产生方法及其电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310736883.8A CN103716152B (zh) 2013-12-25 2013-12-25 一种基于工艺偏差的芯片密钥产生方法及其电路

Publications (2)

Publication Number Publication Date
CN103716152A CN103716152A (zh) 2014-04-09
CN103716152B true CN103716152B (zh) 2017-04-26

Family

ID=50408769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310736883.8A Active CN103716152B (zh) 2013-12-25 2013-12-25 一种基于工艺偏差的芯片密钥产生方法及其电路

Country Status (1)

Country Link
CN (1) CN103716152B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929296A (zh) * 2014-04-22 2014-07-16 福州大学 基于rom型专用密钥的3des加密方法及其集成电路
CN105160276B (zh) * 2015-08-12 2017-09-22 苏州芯动科技有限公司 一种物理不可克隆功能电路
CN106815626B (zh) * 2015-12-01 2020-10-09 中芯国际集成电路制造(北京)有限公司 一种物理不可克隆产品及其制造的方法
CN106997843B (zh) * 2016-01-22 2020-05-01 中芯国际集成电路制造(上海)有限公司 半导体器件安全认证方法
US10623192B2 (en) 2017-08-25 2020-04-14 Synopsys, Inc. Gate oxide breakdown in OTP memory cells for physical unclonable function (PUF) security

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965616A (zh) * 2008-02-26 2011-02-02 奥翁尼克斯公司 用于访问多模式可编程电阻存储器的方法和装置
CN103198268A (zh) * 2013-03-18 2013-07-10 宁波大学 一种可重构多端口物理不可克隆函数电路
CN103198267A (zh) * 2013-03-18 2013-07-10 宁波大学 一种可重构多端口puf电路单元
CN103338108A (zh) * 2013-06-13 2013-10-02 北京华大信安科技有限公司 生成密钥的方法、装置及芯片

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965616A (zh) * 2008-02-26 2011-02-02 奥翁尼克斯公司 用于访问多模式可编程电阻存储器的方法和装置
CN103198268A (zh) * 2013-03-18 2013-07-10 宁波大学 一种可重构多端口物理不可克隆函数电路
CN103198267A (zh) * 2013-03-18 2013-07-10 宁波大学 一种可重构多端口puf电路单元
CN103338108A (zh) * 2013-06-13 2013-10-02 北京华大信安科技有限公司 生成密钥的方法、装置及芯片

Also Published As

Publication number Publication date
CN103716152A (zh) 2014-04-09

Similar Documents

Publication Publication Date Title
CN103716152B (zh) 一种基于工艺偏差的芯片密钥产生方法及其电路
US20200364374A1 (en) Apparatus and method for generating identification key
EP3044793B1 (en) Physically unclonable function based on resistivity of magnetoresistive random-access memory magnetic tunnel junctions
JP6532024B2 (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
JP6587188B2 (ja) 乱数処理装置、集積回路カード、および乱数処理方法
JP6617924B2 (ja) 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法
Zhang et al. Highly reliable memory-based physical unclonable function using spin-transfer torque MRAM
KR101617832B1 (ko) 난수 생성기를 위한 자기―저항 엘리먼트를 갖는 엔트로피 소스
KR101118826B1 (ko) 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
US20220318436A1 (en) Integrated circuit for security of a physically unclonable function and a device including the same
JP2016105344A (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
CN1799104B (zh) 存储在非易失性存储器中的数据的完整性控制
CN103020552B (zh) 基于sram的puf的片上自我注册系统及其实现方法
CN105760785B (zh) 一种基于时域差分电流测量的物理不可克隆芯片电路
Zhang et al. A novel PUF based on cell error rate distribution of STT-RAM
CN115668196A (zh) 基于熔丝阵列的装置识别的设备、系统和方法
CN103338107B (zh) 密钥生成方法及密钥生成装置
KR20180120464A (ko) 식별키 생성장치 및 식별키 생성방법
Sun et al. A hardware security architecture: PUFs (physical unclonable functions) using memristor
CN110706727B (zh) 磁性随机存取存储器及基于stt marm的可重构puf方法
Alimohammadi et al. Secure hardware key based on physically unclonable functions and artificial neural network
CN113507362A (zh) 基于四元组比较策略的ro puf密钥生成方法
CN110633777A (zh) 一种物理不可复制功能标签产生方法及电路
US11404119B1 (en) Non-volatile memory device and challenge response method
US20220029838A1 (en) Method, System and Apparatus for Protection of Multi-Die Structures

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant