CN111797438A - 物理不可克隆函数的实现方法及实现装置 - Google Patents

物理不可克隆函数的实现方法及实现装置 Download PDF

Info

Publication number
CN111797438A
CN111797438A CN202010643818.0A CN202010643818A CN111797438A CN 111797438 A CN111797438 A CN 111797438A CN 202010643818 A CN202010643818 A CN 202010643818A CN 111797438 A CN111797438 A CN 111797438A
Authority
CN
China
Prior art keywords
random access
resistive random
access memory
neural network
electrical signal
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.)
Pending
Application number
CN202010643818.0A
Other languages
English (en)
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202010643818.0A priority Critical patent/CN111797438A/zh
Publication of CN111797438A publication Critical patent/CN111797438A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Semiconductor Memories (AREA)

Abstract

一种基于类神经网络结构的物理不可克隆函数的实现方法及实现装置。该类神经网络结构包括多个神经元层电路以及在多个神经元层电路之间的权重参数矩阵,该实现方法包括:对类神经网络结构进行设置操作,以使得权重参数矩阵中的至少部分权重参数被随机设置;向类神经网络结构提供输入电信号(激励),类神经网络结构基于输入电信号和权重参数矩阵的多个权重参数,提供输出电信号;基于输出电信号确定物理不可克隆函数的密钥值。该物理不可克隆函数的实现方法及实现装置可以在较小的硬件开销上实现巨大的激励响应对数量,并且还可以提高激励响应对的数据复杂度,进而提高所实现的物理不可克隆函数的抗建模攻击能力。

Description

物理不可克隆函数的实现方法及实现装置
技术领域
本公开的实施例涉及一种物理不可克隆函数的实现方法及实现装置。
背景技术
随着信息技术的高速发展,硬件安全面临着多方面的威胁(例如,硬件特洛伊、知识产权剽窃、集成电路逆向工程、侧信道攻击等)。在众多的解决方案中,物理不可克隆函数因其固有的随机性、可再现性以及与微纳加工工艺的兼容性被认为是硬件安全防护(例如,密钥保护、硬件认证)的可行技术方案。
发明内容
本公开至少一实施例提供一种基于类神经网络结构的物理不可克隆函数的实现方法,所述类神经网络结构包括多个神经元层电路以及在所述多个神经元层电路之间的权重参数矩阵,所述方法包括:对所述类神经网络结构进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置;向所述类神经网络结构提供输入电信号,所述类神经网络结构基于所述输入电信号和所述权重参数矩阵的多个权重参数,提供输出电信号;基于所述输出电信号确定所述物理不可克隆函数的密钥值。
例如,本公开至少一实施例提供的实现方法还包括:利用阻变存储器阵列实现所述类神经网络结构的权重参数矩阵,所述阻变存储器阵列中的多个阻变存储器的电导值分别对应所述权重参数矩阵的多个权重参数,所述阻变存储器阵列中的每个阻变存储器包括连接到前一神经元层电路的第一端和连接到后一神经元层电路的第二端。
例如,在本公开至少一实施例提供的实现方法中,所述多个神经元层电路之间采用全连接结构。
例如,在本公开至少一实施例提供的实现方法中,所述多个神经元层电路之间还包括激活函数电路。
例如,在本公开至少一实施例提供的实现方法中,对所述类神经网络结构进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置,包括:对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
例如,在本公开至少一实施例提供的实现方法中,对所述类神经网络结构进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置,包括:对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次置位操作,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
例如,在本公开至少一实施例提供的实现方法中,对所述类神经网络结构进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置,包括:对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作和至少一次置位操作的组合,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
例如,在本公开至少一实施例提供的实现方法中,所述复位操作使得被操作的阻变存储器的电导值减小,所述置位操作使得被操作的阻变存储器的电导值增加。
例如,在本公开至少一实施例提供的实现方法中,向所述类神经网络结构提供输入电信号,所述类神经网络结构基于所述输入电信号和所述权重参数矩阵的多个权重参数,提供输出电信号,包括:向所述阻变存储器阵列中的至少部分阻变存储器施加电压以输出电流值,所述电压为所述输入电信号,所述电流值为所述输出电信号。
例如,在本公开至少一实施例提供的实现方法中,基于所述输出电信号确定所述物理不可克隆函数的密钥值,包括:将输出的所述电流值与参考电流值进行比较,基于比较结果输出所述物理不可克隆函数的密钥值。
本公开至少一实施例还提供一种基于类神经网络结构的物理不可克隆函数的实现装置,所述物理不可克隆函数的实现装置包括:设置电路、输入电路、存储计算电路和输出电路,所述存储计算电路包括所述类神经网络结构,所述类神经网络结构包括多个神经元层电路以及在所述多个神经元层电路之间的权重参数矩阵,所述设置电路配置为对所述存储计算电路进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置;所述输入电路配置为向所述存储计算电路提供输入电信号;所述存储计算电路配置为基于所述输入电信号和所述权重参数矩阵的多个权重参数,提供输出电信号;所述输出电路配置为基于所述输出电信号确定所述物理不可克隆函数的密钥值。
例如,在本公开至少一实施例提供的实现装置中,所述存储计算电路包括阻变存储器阵列,所述阻变存储器阵列作为所述类神经网络结构的权重参数矩阵,所述阻变存储器阵列中的多个阻变存储器的电导值分别对应所述权重参数矩阵的多个权重参数,所述阻变存储器阵列中的每个阻变存储器包括连接到前一神经元层电路的第一端和连接到后一神经元层电路的第二端。
例如,在本公开至少一实施例提供的实现装置中,所述阻变存储器阵列的第一部分阻变存储器的第一端与所述输入电路连接以接收所述输入电信号,所述阻变存储器阵列的第二部分阻变存储器的第二端与所述输出电路连接以输出所述输出电信号。
例如,在本公开至少一实施例提供的实现装置中,所述设置电路配置为:对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
例如,在本公开至少一实施例提供的实现装置中,所述设置电路配置为:对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次置位操作,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
例如,在本公开至少一实施例提供的实现装置中,所述设置电路配置为:对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作和至少一次置位操作的组合,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
例如,在本公开至少一实施例提供的实现装置中,所述输入电路配置为向所述阻变存储器阵列中的至少部分阻变存储器施加电压以输出电流,所述存储计算电路配置为获取并输出所述电流的电流值,所述电压为所述输入电信号,所述电流值为所述输出电信号。
例如,在本公开至少一实施例提供的实现装置中,所述输出电路配置为:将输出的所述电流值与参考电流值进行比较,基于比较结果输出所述物理不可克隆函数的密钥值。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一实施例提供的一种基于类神经网络结构的物理不可克隆函数的实现方法的流程图;
图2图示了根据本公开实施例的类神经网络结构的一个示例的示意图;
图3A图示了根据本公开实施例的包括四个结点的类神经网络结构的示意图;
图3B图示了实现图3A所示的类神经网络结构的权重参数矩阵的存储器阵列的示意图;
图4图示了阻变存储器的电学特性的示意图;
图5图示了多个阻变存储器的电流分布图;
图6图示了根据本公开实施例的物理不可克隆函数所生成的密钥值的分布图;
图7为本公开至少一实施例提供的一种基于类神经网络结构的物理不可克隆函数的实现装置的示意框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
对于物理不可克隆函数(Physical Unclonable Function,PUF)面向硬件认证的应用,需要较大数量的激励响应对以应对可能遭遇的重放攻击。目前,PUF多采用简单的硬件重用方案以实现较大数量的激励响应对。例如,基于CMOS技术的仲裁器PUF以电路的延时随机性作为随机源,且通过对延时单元的重用来拓展激励响应对的数量。例如,基于阻变存储器的PUF以电阻转换过程中的电阻随机性作为随机源,且通过随机地比较阻变存储器阵列中的两个阻变存储器的电阻值来生成密钥以实现较大的激励响应对数量,例如,对于M×N的阻变存储器阵列可以产生高达
Figure BDA0002572310880000051
比特的输出。但是,对于上述简单的硬件重用方案,存在硬件开销大以及由于激励响应对的数据复杂度低而无法有效抵抗各种建模攻击的缺点。
需要说明的是,激励指代输入,响应指代输出。例如,在本公开中,激励可以具体指代PUF的输入,响应可以具体指代PUF输出的密钥值。但是,由于激励响应对旨在描述输入和输出的对应关系,故而本公开对此不作限制。例如,响应也可以具体指代用于生成PUF密钥值的中间数。
本公开至少一实施例提供一种基于类神经网络结构的物理不可克隆函数的实现方法,类神经网络结构包括多个神经元层电路以及在多个神经元层电路之间的权重参数矩阵,方法包括:对类神经网络结构进行设置操作,以使得权重参数矩阵中的至少部分权重参数被随机设置;向类神经网络结构提供输入电信号,类神经网络结构基于输入电信号和权重参数矩阵的多个权重参数,提供输出电信号;基于输出电信号确定物理不可克隆函数的密钥值。
本公开至少一实施例还提供对应于上述物理不可克隆函数的实现方法的实现装置。
本公开实施例提供的上述物理不可克隆函数的实现方法及实现装置利用类神经网络结构可以在较小的硬件开销上实现巨大的激励响应对数量,并且利用类神经网络结构内部复杂的连接关系还可以提高激励响应对的数据复杂度,进而提高所实现的PUF的抗建模攻击能力。
下面结合附图对本公开的实施例及其示例进行详细说明。
图1为本公开至少一实施例提供的一种基于类神经网络结构的物理不可克隆函数的实现方法的流程图。例如,类神经网络结构包括多个神经元层电路以及在多个神经元层电路之间的权重参数矩阵。如图1所示,该实现方法包括步骤S110、S120和S130。
步骤S110:对类神经网络结构进行设置操作,以使得权重参数矩阵中的至少部分权重参数被随机设置。
步骤S120:向类神经网络结构提供输入电信号,类神经网络结构基于输入电信号和权重参数矩阵的多个权重参数,提供输出电信号。
步骤S130:基于输出电信号确定物理不可克隆函数的密钥值。
例如,图2图示了根据本公开实施例的类神经网络结构的一个示例的示意图。如图2所示,类神经网络结构包括多个神经元层电路(例如,神经元层电路10和20)以及在多个神经元层电路之间的权重参数矩阵(例如,权重参数矩阵30),其中,每个神经元层电路包括多个结点(例如,图2中所示的圆圈),多个神经元层电路之间采用全连接结构(即,神经元层电路中的每一个结点都与上一神经元层电路的所有结点相连)。
需要说明的是,图2所示的类神经网络结构是示例性的,而不是对本公开的限制。例如,多个神经元层电路之间还可以采用非全连接结构。例如,多个神经元层电路之间还可以包括激活函数电路(图2中未示出)。例如,激活函数电路可以包括sigmoid函数电路、tanh函数电路或relu函数电路等。
需要说明的是,在本公开的实施例中,神经元层电路可以具有或不具有对应的电路结构。例如,第一层神经元层电路可以是接口电路,以接收输入电信号。例如,中间的各层神经元层电路可以是界面(例如,以导线直接连接)。例如,中间的各层神经元层电路可以是或包括电流转电压电路、模数转换电路或存储电路等。
在本公开的实施例中,虽然类神经网络结构具有与神经网络结构相似的网络结构,但类神经网络结构与神经网络结构也存在着差异。例如,在常规的神经网络结构中,需要对权重参数矩阵进行训练操作(例如,片上训练操作、片外训练操作或两者的结合),以使得权重参数矩阵中的各权重参数(即,权重参数矩阵的各权重参数)为特定数值而非随机值;在类神经网络结构中,无需对权重参数矩阵进行训练操作,权重参数矩阵中的至少部分权重参数被随机设置为随机值。
例如,在本公开的实施例中,对类神经网络结构进行设置操作以使得权重参数矩阵中的至少部分权重参数被随机设置。需要说明的是,通常,权重参数矩阵中被随机设置的权重参数的比例越高,最终物理不可克隆函数生成的密钥值随机性越好。例如,在一些示例中,对类神经网络结构进行设置操作,以使得权重参数矩阵中的全部权重参数被随机设置。还需要说明的是,设置操作可以根据类神经网络结构的具体实现形式而定,例如,当通过阻变存储器阵列(在下面实施例中进行介绍)实现该类神经网络结构时,该设置操作可以对阻变存储器阵列中的所有阻变存储器进行复位操作,具体介绍将在下面进行描述,本公开的实施例对此不作限制。
例如,参考图2,可以向类神经网络结构的第一层神经元层电路提供输入电信号,类神经网络结构基于输入电信号和权重参数矩阵的多个权重参数,在最后一层神经元层电路提供输出电信号。例如,输入电信号可以是一组电压信号。例如,输入电信号也可以是一组数值,该组数值可以通过数模转换而转换为适合于类神经网络结构的形式。例如,输出电信号可以是一组电流信号。例如,输出电信号也可以是通过模数转换而得到的一组数值。需要说明的是,输入电信号和输出电信号的形式可以根据类神经网络结构的具体实现形式而定,本公开的实施例对此不作限制。
例如,可以将输出电信号与参考信号进行比较,基于比较结果输出物理不可克隆函数的密钥值。例如,可以将输出电信号进行模数转换,基于模数转换结果输出物理不可克隆函数的密钥值。需要说明的是,确定物理不可克隆函数的密钥值的具体方式可以根据具体情况而定,本公开的实施例对此不作限制。
在本公开的实施例中,可以将输入电信号视为激励,输出电信号视为响应。替代地,也可以将输入电信号视为激励,物理不可克隆函数的密钥值视为响应。利用上述类神经网络结构可以大幅度提高激励响应对的数量,并且由于类神经网络结构内部复杂的连接关系,激励需要经过复杂的计算才可以得到相应的响应,从而可以提高激励响应对的数据复杂度,进而提高抗建模攻击能力。此外,由于类神经网络结构的组织结构灵活,从而可以根据要生成的密钥值的数量对物理不可克隆函数进行灵活的调整。
例如,在本公开的实施例中,类神经网络结构可以借助软件、硬件、固件或其任意组合的方式实现,本公开的实施例对此不作限制。
例如,在一些示例中,利用阻变存储器阵列实现类神经网络结构的权重参数矩阵,阻变存储器阵列中的多个阻变存储器的电导值分别对应权重参数矩阵的多个权重参数,阻变存储器阵列中的每个阻变存储器包括连接到前一神经元层电路的第一端(例如,输入端)和连接到后一神经元层电路的第二端(例如,输出端)。
例如,阻变存储器可以采用1R结构,即仅包括一个阻变元件。例如,阻变存储器也可以采用1T1R结构,即包括一个晶体管和一个阻变元件。当然,还可以采用其他结构的阻变存储器,本公开的实施例对此不作限制。
例如,参考图3A和图3B,对利用阻变存储器阵列实现类神经网络结构的权重参数矩阵的具体实现方式进行说明。图3A图示了根据本公开实施例的包括四个结点的类神经网络结构的示意图,图3B图示了实现图3A所示的类神经网络结构的权重参数矩阵的存储器阵列的示意图。
如图3A所示,类神经网络结构为2×2维度,包括两个神经元层电路,每个神经元层电路包括两个结点,第一神经元层电路中的两个结点的输入电信号为x1和x2,第二神经元层电路中的两个结点的输出电信号为y1和y2,第一神经元层电路和第二神经元层电路之间采用全连接结构,权重参数包括w11、w12、w21和w22,输入电信号和输出电信号之间满足以下关系:y1=x1*w11+x2*w21,y2=x1*w12+x2*w22
如图3B所示,阻变存储器阵列为2×2维度,包括采用交叉阵列结构的四个阻变存储器,电导值分别为g11、g12、g21和g22,四个阻变存储器均采用1R结构,每个阻变存储器的一极连接字线端,每个阻变存储器的另一极连接位线端。需要说明的是,在本公开的实施例中,将采用1R结构的阻变存储器的两极分别描述为一极和另一极,仅是用于区分的目的而不是对本公开的限制。假设将图3B所示的阻变存储器阵列中的位线端接地,并在字线端上分别施加幅值为V1、V2的电压,则位线端上的电流I1、I2可以通过阻变存储器的电导值计算得到,V1、V2和I1、I2之间满足以下关系:I1=V1*g11+V2*g21,I2=V1*g12+V2*g22
对比可知,阻变存储器交叉阵列所表现出的电学特性关系与类神经网络结构中结点之间的计算关系具有完全相同的形式,即:
y1→I1,y2→I2,x1→V1,x2→V2,
w11→g11,w12→g12,w21→g21,w22→g22
其中,符号“→”表示对应于或相当于。因此,可以通过阻变存储器阵列实现类神经网络结构中结点之间的计算关系(即,权重参数矩阵)。例如,阻变存储器阵列中的各阻变存储器的电导值作为权重参数矩阵中的权重参数,各阻变存储器的字线端作为第一端(例如,输入端)连接到前一神经元层电路,各阻变存储器的位线端作为第二端(例如,输出端)连接到后一神经元层电路。
例如,图3B所示的示例中的阻变存储器也可以采用1T1R结构,其中,阻变存储器中的晶体管包括栅极、源极和漏极(晶体管的源极和漏极在物理结构上通常是对称的从而可以互换)。为便于说明,假设采用1T1R结构的阻变存储器中的晶体管采用N型晶体管,栅极连接字线端,源极连接源线端,漏极连接位线端。在阻变存储器采用1T1R结构的示例中下,在字线端输入高电平时晶体管导通,各阻变存储器的源线端作为第一端连接到前一神经元层电路,各阻变存储器的位线端作为第二端连接到后一神经元层电路,也可以实现类神经网络结构中结点之间的计算关系,具体过程与采用1R结构类似,在此不再赘述。需要说明的是,以下实施例若涉及1T1R结构的阻变存储器也采用上述假设,但上述假设仅是示例性的,而不是对本公开的限制。例如,采用1T1R结构的阻变存储器中的晶体管也可以采用P型晶体管。
还需要说明的是,采用了图3A和图3B所示的示例进行描述,其是示例性的,不是对本公开的限制。例如,其他维度的类神经网络结构的结点之间的计算关系也可以由对应维度的阻变存储器阵列实现。例如,可以由多个阻变存储器阵列现任意层数的类神经网络结构。例如,在采用非全连接结构的类神经网络结构中,神经元层电路中的每一个结点与上一神经元层电路的相连结点之间的关系也可以由阻变存储器阵列实现。例如,在包括激活函数电路的类神经网络结构中,可以将激活函数电路视为分开操作的电路,从而类神经网络结构中两个神经元层电路之间的关系也可以由阻变存储器阵列实现。
下面在利用阻变存储器阵列实现类神经网络结构的权重参数矩阵的基础上,对基于类神经网络结构的物理不可克隆函数的实现方法进行进一步说明。
对于步骤S110,可以在阻变存储器阵列中的阻变存储器的两端施加电压以引起阻变存储器内部导电细丝的形成与破裂,进而使得阻变存储器的电导值随着所施加的电压而发生变化。
例如,图4图示了阻变存储器的电学特性的示意图,其中,横坐标为阻变存储器的两端所施加的电压,纵坐标为电流值。在图4所示的示例中,阻变存储器为采用1T1R结构的双极性阻变存储器,对阻变存储器进行直流扫描(DC-Sweep),具体为:将阻变存储器的源线端的电压固定在0V,然后按照0V-2V-0V-(-2V)-0V的循环来改变阻变存储器的位线端的电压。如图4所示,阻变存储器的电导值随着所施加电压的幅值与极性而发生变化,具体地,在阻变存储器的位线端和源线端之间施加正向偏压时,阻变存储器的电导值增加;在阻变存储器的位线端和源线端之间施加反向偏压时,阻变存储器的电导值减小。例如,如图4所示,在正向扫描阶段,电压为1V时阻变存储器所对应的电流为100nA,但由于阻变存储器的电导值逐渐增加,进而在反向扫描阶段,电压为1V时阻变存储器所对应的电流为10uA。
需要说明的是,在本公开的实施例中,将使得被操作的阻变存储器的电导值减小的操作称为复位操作,将使得被操作的阻变存储器的电导值增加的操作称为置位操作。
还需要说明的是,图4所示的示例采用双极性阻变存储器和采用直流扫描的方式在阻变存储器两端施加电压均是示例性的,而不是对本公开的限制。例如,可以采用施加脉冲电压的方式在阻变存储器两端施加电压。例如,可以采用单极性阻变存储器,单极性阻变存储器的电导值仅随着所施加电压的幅值而发生变化。例如,对单极性阻变存储器的字线端施加的电压VWL为高电平时,单极性阻变存储器导通,对于复位操作,对单极性阻变存储器的源线端施加的电压VSL为复位脉冲,对单极性阻变存储器的位线端施加的电压VBL为低电平电压(例如,接地);对于置位操作,对单极性阻变存储器的位线端施加的电压VBL为置位脉冲,对单极性阻变存储器的源线端施加的电压VSL为低电平电压(例如,接地)。
例如,图5图示了多个阻变存储器的电流分布图,其中,横坐标为电流值,纵坐标为阻变存储器的数量。在图5所示的示例中,对多个单极性阻变存储器执行相同的复位操作,之后对该多个单极性阻变存储器执行读取操作以读取电流值。例如,执行复位操作的电压为:VWL=5V,VBL=0V,VSL=3V;执行读取操作的电压为:VWL=4V,VBL=0.15V,VSL=0V。如图5所示,各阻变存储器在经过相同的复位操作后具有不同的电导值,这是因为阻变存储器内部导电细丝的形成与破裂具有较大的随机性。
因此,在本公开的实施例中,可以通过对阻变存储器阵列中的阻变存储器执行复位操作或置位操作来实现类神经网络结构的设置操作,从而方便地实现权重参数矩阵中的权重参数的随机设置。
例如,在本公开至少一实施例提供的实现方法中,对类神经网络结构进行设置操作,以使得权重参数矩阵中的至少部分权重参数被随机设置,包括:对阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作,以使得阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。例如,执行复位操作的电压为:VWL=4V,VBL=0V,VSL=2.2~2.8V。需要说明的是,通常,阻变存储器阵列中被随机设置电导值的阻变存储器的比例(即数量)越高,最终物理不可克隆函数生成的密钥值随机性越好。例如,对阻变存储器阵列中的全部阻变存储器执行一次复位操作,以使得阻变存储器阵列中的全部阻变存储器的电导值被随机设置。
例如,在本公开至少一实施例提供的实现方法中,对类神经网络结构进行设置操作,以使得权重参数矩阵中的至少部分权重参数被随机设置,包括:对阻变存储器阵列中的至少部分阻变存储器执行至少一次置位操作,以使得阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。例如,执行置位操作的电压为:VWL=1.2~3V,VBL=2.5~3V,VSL=0V。需要说明的是,通常,阻变存储器阵列中被随机设置电导值的阻变存储器的比例越高,最终物理不可克隆函数生成的密钥值随机性越好。例如,对阻变存储器阵列中的全部阻变存储器执行一次置位操作,以使得阻变存储器阵列中的全部阻变存储器的电导值被随机设置。
例如,在本公开至少一实施例提供的实现方法中,对类神经网络结构进行设置操作,以使得权重参数矩阵中的至少部分权重参数被随机设置,包括:对阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作和至少一次置位操作的组合,以使得阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。例如,执行复位操作的电压为:VWL=4V,VBL=0V,VSL=2.2~2.8V。例如,执行置位操作的电压为:VWL=1.2~3V,VBL=2.5~3V,VSL=0V。需要说明的是,通常,阻变存储器阵列中被随机设置电导值的阻变存储器的比例越高,最终物理不可克隆函数生成的密钥值随机性越好。例如,对阻变存储器阵列中的全部阻变存储器执行一次复位操作和一次置位操作,以使得阻变存储器阵列中的全部阻变存储器的电导值被随机设置。
对于步骤S120,可以基于由阻变存储器阵列实现的权重参数矩阵和输入电信号进行计算,提供输出电信号。
例如,在本公开至少一实施例提供的实现方法中,向类神经网络结构提供输入电信号,类神经网络结构基于输入电信号和权重参数矩阵的多个权重参数,提供输出电信号,包括:向阻变存储器阵列中的至少部分阻变存储器施加电压以输出电流值,电压为输入电信号,电流值为输出电信号。
例如,再次参考图3A和图3B所示的示例进行说明。例如,在一些示例中,图3A所示的类神经网络结构的输入电信号x1对应数值0,x2对应数值1,则图3B所示的阻变存储器阵列的字线端上的电压V1可以为0V,字线端上的电压V2可以为读取电压(即,仅向图3B所示的阻变存储器阵列的第二行的阻变存储器施加电压),例如,读取电位可以为0.15V。在该示例中,可以基于V2、g21和g22计算得到位线端上的电流I1、I2。例如,在另一些示例中,图3A所示的类神经网络结构的输入电信号x1对应数值1,x2对应数值1,则图3B所示的阻变存储器阵列的字线端上的电压V1可以为读取电压,字线端上的电压V2可以为读取电压(即,向图3B所示的阻变存储器阵列的全部阻变存储器施加电压),例如,读取电位可以为0.15V。在该示例中,可以基于V1、V2、g11、g12、g21和g22计算得到位线端上的电流I1、I2
需要说明的是,电流值的数量与期望每个激励响应对所对应的密钥值的数量有关。例如,在一个示例中,期望每个激励响应对需对应128比特的密钥值,并且假设每比特的密钥值将基于一个电流值确定,则可以通过布置类神经网络结构,使得向阻变存储器阵列中的至少部分阻变存储器施加电压后可以输出128个电流值。
对于步骤S130,可以对输出的电流值进行处理,以得到物理不可克隆函数的密钥值。
例如,在本公开至少一实施例提供的实现方法中,基于输出电信号确定物理不可克隆函数的密钥值,包括:将输出的电流值与参考电流值进行比较,基于比较结果输出物理不可克隆函数的密钥值。
例如,可以利用比较器对输出的电流值与参考电流值进行比较。例如,若输出的电流值大于参考电流值,则输出物理不可克隆函数的密钥值为1;若输出的电流值小于等于参考电流值,则输出物理不可克隆函数的密钥值为0。替代地,若输出的电流值大于参考电流值,则输出物理不可克隆函数的密钥值为0;若输出的电流值小于等于参考电流值,则输出物理不可克隆函数的密钥值为1。例如,该参考电流值可以根据经验获得,具体视实际情况而定,本公开的实施例对此不作限制。
需要说明的是,也可以采用其他的技术手段对输出电流值进行处理以得到物理不可克隆函数的密钥值,本公开的实施例对此不作限制。
例如,图6图示了根据本公开实施例的物理不可克隆函数所生成的密钥值的分布图。在图6中,图示了80个激励响应对所对应的物理不可克隆函数的密钥值,每个激励响应对输出128比特的密钥值,其中,黑色点表示密钥值为0,白色点表示密钥值为1。如图6所示,黑色点和白色点均匀分布,即,所生成的密钥值随机性较好。
因此,本公开实施例提出的基于类神经网络结构的物理不可克隆函数充分利用了权重参数矩阵中的权重参数的随机性,从而使得所生成的密钥值满足随机分布。
需要说明的是,在本公开的实施例中,本公开上述各个实施例提供的基于类神经网络结构的物理不可克隆函数的实现方法的流程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行。虽然上文描述的基于类神经网络结构的物理不可克隆函数的实现方法的流程包括特定顺序出现的多个操作,但是应该清楚地了解,多个操作的顺序并不受限制。上文描述的基于类神经网络结构的物理不可克隆函数的实现方法可以执行一次,也可以按照预定条件执行多次。
本公开实施例提供的上述物理不可克隆函数的实现方法通过随机设置类神经网络结构中的权重参数,利用类神经网络结构在较小的硬件开销上实现了巨大的激励响应对数量,并且利用类神经网络结构内部复杂的连接关系提高了激励响应对的数据复杂度,进而提高了所实现的PUF的抗建模攻击能力。
图7为本公开至少一实施例提供的一种基于类神经网络结构的物理不可克隆函数的实现装置的示意框图。例如,如图7所示,该物理不可克隆函数的实现装置200包括:设置电路210、输入电路220、存储计算电路230和输出电路240。
该存储计算电路230包括类神经网络结构,类神经网络结构包括多个神经元层电路以及在多个神经元层电路之间的权重参数矩阵。例如,该类神经网络结构的实现方法可以参考实现方法中的类神经网络结构的相关描述,在此不再赘述。
该设置电路210配置为对存储计算电路230进行设置操作,以使得权重参数矩阵中的至少部分权重参数被随机设置。例如,该设置电路210可以实现步骤S110,其具体实现方法可以参考步骤S110的相关描述,在此不再赘述。
该输入电路220配置为向存储计算电路230提供输入电信号。例如,该输入电路220可以实现步骤S120中提供输入电信号的过程,其具体实现方法可以参考实现方法中的相关描述,在此不再赘述。
该存储计算电路230配置为基于输入电信号和权重参数矩阵的多个权重参数,提供输出电信号。例如,该存储计算电路230可以实现步骤S120中基于输入电信号和权重参数矩阵的多个权重参数而提供输出电信号的过程,其具体实现方法可以参考实现方法中的相关描述,在此不再赘述。
该输出电路240配置为基于输出电信号确定物理不可克隆函数的密钥值。例如,该输出电路240可以实现步骤S130,其具体实现方法可以参考步骤S130的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的实现装置中,存储计算电路230包括阻变存储器阵列,阻变存储器阵列作为类神经网络结构的权重参数矩阵,阻变存储器阵列中的多个阻变存储器的电导值分别对应权重参数矩阵的多个权重参数,阻变存储器阵列中的每个阻变存储器包括连接到前一神经元层电路的第一端和连接到后一神经元层电路的第二端。例如,该阻变存储器阵列作为类神经网络结构的权重参数矩阵的实现方法可以参考实现方法中的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的实现装置中,阻变存储器阵列的第一部分阻变存储器的第一端与输入电路连接以接收输入电信号,阻变存储器阵列的第二部分阻变存储器的第二端与输出电路连接以输出输出电信号。例如,该阻变存储器阵列的信号连接可以参考图3B所述的示例的相关描述,在此不再赘述。需要说明的是,在本公开的实施例中,第一部分和第二部分仅是为了便于说明,阻变存储器阵列也可以包括其他部分的阻变存储器,并且,第一部分阻变存储器和第二部分阻变存储器所包括的阻变存储器可以相同也可以不同,根据具体实际情况而定。例如,如图3B所示的示例,第一部分阻变存储器可以包括全部四个阻变存储器,第二部分阻变存储器也可以包括全部四个阻变存储器。
例如,在本公开至少一实施例提供的实现装置中,设置电路210配置为:对阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作,以使得阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。例如,该设置电路210所实现的设置操作可以参考实现方法中的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的实现装置中,设置电路210配置为:对阻变存储器阵列中的至少部分阻变存储器执行至少一次置位操作,以使得阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。例如,该设置电路210所实现的设置操作可以参考实现方法中的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的实现装置中,设置电路210配置为:对阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作和至少一次置位操作的组合,以使得阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。例如,该设置电路210所实现的设置操作可以参考实现方法中的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的实现装置中,输入电路220配置为向阻变存储器阵列中的至少部分阻变存储器施加电压以输出电流,存储计算电路230配置为获取并输出所述电流的电流值,电压为输入电信号,电流值为输出电信号。例如,该输入电路220和该存储计算电路230所实现的操作可以参考实现方法中的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的实现装置中,输出电路240配置为:将输出的电流值与参考电流值进行比较,基于比较结果输出物理不可克隆函数的密钥值。例如,该输出电路240生成密钥值的方式可以参考实现方法中的相关描述,在此不再赘述。
例如,在另一些示例中,该物理不可克隆函数的实现装置200还可以包括一个或多个处理器(图中未示出)以及存储器(图中未示出)。
例如,该处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,可以为通用处理器或专用处理器,并且可以控制实现装置200中的其它组件以执行期望的功能。存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行该程序指令,以实现本公开实施例中(由处理器实现)的功能以及/或者其它期望的功能,例如控制设置操作的执行等。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如参考电流值以及应用程序使用和/或产生的各种数据等。
需要说明的是,为表示清楚、简洁,本公开实施例并没有给出该物理不可克隆函数的实现装置200的全部组成单元。为实现物理不可克隆函数的实现装置200的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。
关于不同实施例中的物理不可克隆函数的实现装置200的技术效果可以参考本公开的实施例中提供的物理不可克隆函数的实现方法的技术效果,这里不再赘述。
有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。

Claims (10)

1.一种基于类神经网络结构的物理不可克隆函数的实现方法,所述类神经网络结构包括多个神经元层电路以及在所述多个神经元层电路之间的权重参数矩阵,所述方法包括:
对所述类神经网络结构进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置;
向所述类神经网络结构提供输入电信号,其中,所述类神经网络结构基于所述输入电信号和所述权重参数矩阵的多个权重参数,提供输出电信号;
基于所述输出电信号确定所述物理不可克隆函数的密钥值。
2.根据权利要求1所述的方法,还包括:
利用阻变存储器阵列实现所述类神经网络结构的权重参数矩阵,
其中,所述阻变存储器阵列中的多个阻变存储器的电导值分别对应所述权重参数矩阵的多个权重参数,
所述阻变存储器阵列中的每个阻变存储器包括连接到前一神经元层电路的第一端和连接到后一神经元层电路的第二端。
3.根据权利要求2所述的方法,其中,所述多个神经元层电路之间采用全连接结构。
4.根据权利要求2所述的方法,其中,所述多个神经元层电路之间还包括激活函数电路。
5.根据权利要求2至4中任一项所述的方法,其中,对所述类神经网络结构进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置,包括:
对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
6.根据权利要求2至4中任一项所述的方法,其中,对所述类神经网络结构进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置,包括:
对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次置位操作,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
7.根据权利要求2至4中任一项所述的方法,其中,对所述类神经网络结构进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置,包括:
对所述阻变存储器阵列中的至少部分阻变存储器执行至少一次复位操作和至少一次置位操作的组合,以使得所述阻变存储器阵列中的至少部分阻变存储器的电导值被随机设置。
8.根据权利要求7所述的方法,其中,所述复位操作使得被操作的阻变存储器的电导值减小,所述置位操作使得被操作的阻变存储器的电导值增加。
9.根据权利要求2至4中任一项所述的方法,其中,向所述类神经网络结构提供输入电信号,所述类神经网络结构基于所述输入电信号和所述权重参数矩阵的多个权重参数,提供输出电信号,包括:
向所述阻变存储器阵列中的至少部分阻变存储器施加电压以输出电流值,
其中,所述电压为所述输入电信号,所述电流值为所述输出电信号。
10.一种基于类神经网络结构的物理不可克隆函数的实现装置,所述物理不可克隆函数的实现装置包括:
设置电路、输入电路、存储计算电路和输出电路,
其中,所述存储计算电路包括所述类神经网络结构,所述类神经网络结构包括多个神经元层电路以及在所述多个神经元层电路之间的权重参数矩阵,
所述设置电路配置为对所述存储计算电路进行设置操作,以使得所述权重参数矩阵中的至少部分权重参数被随机设置;
所述输入电路配置为向所述存储计算电路提供输入电信号;
所述存储计算电路配置为基于所述输入电信号和所述权重参数矩阵的多个权重参数,提供输出电信号;
所述输出电路配置为基于所述输出电信号确定所述物理不可克隆函数的密钥值。
CN202010643818.0A 2020-07-07 2020-07-07 物理不可克隆函数的实现方法及实现装置 Pending CN111797438A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010643818.0A CN111797438A (zh) 2020-07-07 2020-07-07 物理不可克隆函数的实现方法及实现装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010643818.0A CN111797438A (zh) 2020-07-07 2020-07-07 物理不可克隆函数的实现方法及实现装置

Publications (1)

Publication Number Publication Date
CN111797438A true CN111797438A (zh) 2020-10-20

Family

ID=72810389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010643818.0A Pending CN111797438A (zh) 2020-07-07 2020-07-07 物理不可克隆函数的实现方法及实现装置

Country Status (1)

Country Link
CN (1) CN111797438A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799513A (zh) * 2021-01-29 2021-05-14 清华大学 信号处理方法、电子装置、信号处理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160125288A1 (en) * 2014-11-03 2016-05-05 Carnegie Mellon University, A Pennsylvania Non-Profit Corporation Physically Unclonable Functions Using Neuromorphic Networks
CN109495272A (zh) * 2018-10-31 2019-03-19 复旦大学 一种基于忆阻器的强puf电路
CN109522753A (zh) * 2017-09-18 2019-03-26 清华大学 电路结构及其驱动方法、芯片及其认证方法、电子设备
US20190342106A1 (en) * 2018-05-02 2019-11-07 Qualcomm Incorporated Physically unclonable function (puf) circuits employing multiple puf memories to decouple a puf challenge input from a puf response output for enhanced security

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160125288A1 (en) * 2014-11-03 2016-05-05 Carnegie Mellon University, A Pennsylvania Non-Profit Corporation Physically Unclonable Functions Using Neuromorphic Networks
CN109522753A (zh) * 2017-09-18 2019-03-26 清华大学 电路结构及其驱动方法、芯片及其认证方法、电子设备
US20190342106A1 (en) * 2018-05-02 2019-11-07 Qualcomm Incorporated Physically unclonable function (puf) circuits employing multiple puf memories to decouple a puf challenge input from a puf response output for enhanced security
CN109495272A (zh) * 2018-10-31 2019-03-19 复旦大学 一种基于忆阻器的强puf电路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799513A (zh) * 2021-01-29 2021-05-14 清华大学 信号处理方法、电子装置、信号处理装置

Similar Documents

Publication Publication Date Title
CN110796241B (zh) 基于忆阻器的神经网络的训练方法及其训练装置
CN109543827B (zh) 生成式对抗网络装置及训练方法
CN108734271B (zh) 神经形态权重单元及其形成的方法以及人工神经网络
US9111222B2 (en) Method and apparatus for switching the binary state of a location in memory in a probabilistic manner to store synaptic weights of a neural network
Hu et al. Hardware realization of BSB recall function using memristor crossbar arrays
US20190088325A1 (en) Circuit Structure and Driving Method Thereof, Chip and Authentication Method Thereof, and Electronic Device
CN109509495B (zh) 阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法
WO2018228424A1 (zh) 一种神经网络训练方法和装置
JP2019502225A (ja) 多層rramクロスバー・アレイに基づくメモリデバイス、およびデータ処理方法
US20220335278A1 (en) Parallel acceleration method for memristor-based neural network, parallel acceleration processor based on memristor-based neural network and parallel acceleration device based on memristor-based neural network
CN110383282A (zh) 用于混合信号计算的系统和方法
CN111339579B (zh) 电子装置及其操作方法
CN114614865A (zh) 基于忆阻器阵列的预编码装置和信号处理方法
WO2022217673A1 (zh) 基于忆阻器的朴素贝叶斯分类器设计方法、系统及分类器
CN110569962A (zh) 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法
US11862242B2 (en) Matching patterns in memory arrays
CN111797438A (zh) 物理不可克隆函数的实现方法及实现装置
CN112215855B (zh) 基于忆阻器阵列实现图像连通区域判断的方法及电子装置
Isokawa et al. Complex-valued associative memories with projection and iterative learning rules
CN112863574B (zh) 电子装置及其操作方法
US10740673B2 (en) Scalable refresh for asymmetric non-volatile memory-based neuromorphic circuits
EP4028955A1 (en) Physical implementation of artificial neural networks
US11153104B2 (en) Generating key material for information security using a resistive processing unit (RPU) accelerator array as a physically unclonable function (PUF)
Sapui et al. Power Side-Channel Analysis and Mitigation for Neural Network Accelerators based on Memristive Crossbars
US20230186068A1 (en) Weight confirmation method for an analog synaptic device of an artificial neural network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination