在物理上不可克隆的函数冗余位的制作方法

文档序号:8431109阅读:796来源:国知局
在物理上不可克隆的函数冗余位的制作方法
【技术领域】
[0001] 本公开涉及电子设备领域,具体来说,涉及电子设备中的安全性领域。
【背景技术】
[0002] 机密信息被许多电子设备存储、传输以及使用。因此,许多这样的设备包括具有一 个或多个加密或其他秘密密钥的一个或多个组件,这些密钥可以被用来利用加密或其他技 术来保护机密信息的安全性。用于生成这些密钥的技术常常包括使用随机数源。
【附图说明】
[0003] 在附图中作为示例而非限制,示出本发明。
[0004] 图1示出了根据本公开实施例的使用在物理上不可克隆的函数冗余位的集成电 路。
[0005] 图2示出了根据本公开实施例的在物理上不可克隆的函数冗余位逻辑。
[0006] 图3示出了根据本公开实施例的使用在物理上不可克隆的函数冗余位的制造时 间方法。
[0007] 图4示出了根据本公开实施例的使用在物理上不可克隆的函数冗余位的评估时 间方法。
【具体实施方式】
[0008] 描述了提供在物理上不可克隆的函数冗余位的发明的实施例。在此描述中,可以 阐明各种具体细节,诸如组件和系统配置,以提供对本发明的更加全面的理解。然而,本领 域技术人员可以理解,本发明可以在没有这样的具体细节的情况下实施。另外,为避免不必 要地使本发明模糊,没有详细示出某些已知的结构,电路,及其他特征。
[0009] 在下面的描述中,对" 一个实施例"、"实施例"、"示例实施例"、"各实施例"等等的 引用表示所描述的本发明的各实施例可包括特定特征、结构或特性,但是,一个以上的实施 例可以包括并且并非每一个实施例一定包括特定特征、结构或特性。进一步地,一些实施例 可以具有为其他实施例描述的某个、全部特征或不具有这些特征。
[0010] 如在说明书和权利要求书中所使用的,除非另作说明,使用序数词"第一"、"第二" 及"第三"等等来描述一个元素,只表示引用元素的特定实例或相似元素的不同实例,而不 旨在暗示如此所描述的元素必须(无论是在时间上、在空间上)在排序方面或以任何其他 方式遵照特定顺序。
[0011] 此外,术语"位"、"标志"、"字段"、"条目"、"指示符"等等还可以被用来描述寄存器、 表、数据库或其他数据结构中的任何类型的存储位置,无论是以硬件还是软件实现的,但是 不旨在将本发明的各实施例限制到任何特定类型的存储位置或任何特定存储位置内的任 何特定数量的位或其他元素。术语"清除"可以被用来指示存储或以别的方式导致逻辑值零 被存储在存储位置,而术语"置位"可以被用来指示存储或以别的方式导致逻辑值1、全1、 或某种其他指定值被存储在存储位置;然而,这些术语不旨在将本发明的各实施例限制到 任何特定逻辑约定,因为在本发明的各实施例内可以使用任何逻辑约定。
[0012] 如在背景部分所提及的,加密密钥的生成常常包括使用随机数源。在物理上不可 克隆的函数(PUF)是所希望的随机数源,因为它可以用于在集成电路内提供唯一、可重复 的并且不可预测的随机值。在此描述中,可以使用术语"PUF密钥"来表示通过PUF所生成 的或从PUF导出的任何值。
[0013] 图1示出了根据本发明实施例的包括PUF冗余位的集成电路(1C) 100。1C100可 以表示用于任何电子设备中的任何其他组件。
[0014] 例如,1C100可以表示在单一衬底上集成的或封装在单一封装内的一个或多个 处理器,其中每一个处理器都可以以任何组合包括多个线程和/或多个执行核。每一个 处理器都可以是任何类型的处理器,包括通用微处理器,诸如Intel? Core?处理器系列、 Intel? Atom?处理器系列,或来自丨ntel?Corporation的其他处理器系列的处理器,或 来自另一公司的另一处理器,或专用处理器或微控制器。
[0015] 1C 100可以包括PUF单元110,以生成一个或多个PUF密钥,这些密钥可以被1C 100用于任何用途,诸如直接用作一个或多个加密密钥或其他密钥和/或用于生成或派生 一个或多个加密密钥或其他密钥。由PUF单元110生成的PUF密钥可以是任何尺寸,S卩,位 数。PUF单元110可以包括PUF元件阵列120、冗余逻辑130、错误校正逻辑140、熵提取逻 辑150、PUF密钥生成逻辑160、以及非易失性存储器(NVM) 170。本发明的各实施例可以省 略错误校正逻辑140、熵提取逻辑150、和/或PUF密钥生成逻辑160。
[0016] PUF元件阵列120可以包括任意数量的PUF单元,以提供唯一、可重复的、以及不可 预测的值。例如,PUF元件阵列120可以利用诸如掺杂剂浓度、线宽、以及层厚之类的1C工 艺参数的变化,这些参数可以将其本身表现为不同的1C上的相同电路的多个实例之间的 定时行为的差异。因此,当被测量或质询时,PUF单元的每一个实例都可以提供唯一、可重 复的、并且不可预测的响应。此外,由于制造变化在本质上是随机的,因此,克隆或创建PUF 单元或PUF元件阵列的任何特定实例的物理副本非常困难。
[0017] 在PUF元件阵列120中可以使用任何类型的PUF单元,包括但不限于,仲裁器PUF、 环形振荡器PUF、静态随机存取存储器(SRAM)PUF、以及D-型触发器PUF。例如,SRAMPUF 基于SRAM单元的四交叉耦合的晶体管,该SRAM单元基于四个晶体管之间的任何轻微不匹 配,在通电之后呈现两种稳定状态中的一种。不匹配是制造过程中的变化的结果,如此,可 以预期SRAM单元的单个实例的通电状态是可重复的,但是可以预期SRAM单元的多个实例 的通电状态的分布是随机的。
[0018] PUF元件阵列120包括主PUF阵列122和冗余PUF阵列124。虽然被示为两个单 独的部分,但是,主PUF阵列122和冗余PUF阵列124可以或可以不在物理上彼此隔离或分 离。在一个实施例中,冗余PUF阵列124的单元可以分布在主PUF阵列124内,例如,对于 每几个主行或列,一个冗余行或列,或每一行或列的主单元中的几个冗余单元。
[0019] 可以基于要被生成或派生的加密和/或其他密钥的尺寸(即,位数),确定主PUF 阵列122的尺寸(S卩,单元数量)。在一个实施例中,这样的密钥可以是128位;然而,主PUF阵列可以包括超过128单元,以用于实现任何所需的错误校正和/或熵提取算法。
[0020] 冗余PUF阵列124的尺寸可以与主PUF阵列122的尺寸成比例,并可以基于预期 的原始PUF单元错误率和/或所希望的噪声降低水平来确定。例如,冗余PUF单元与主PUF单元的比可以对应于原始错误率,加额外的冗余PUF单元,以基于原始错误率中的预期可 变性来提供所希望的余量。在此描述中,来自冗余PUF阵列122的PUF单元可以称为冗余 位。
[0021] 冗余逻辑130可以包括用于评估PUF元件阵列120中的一个或多个PUF单元的特 性、用于替换那些被确定为生成PUF密钥时不满足稳定性要求的PUF单元的任何逻辑、电 路、或其他硬件和/或固件。可以在不同电压和温度条件下多次测试PUF元件阵列120,以 便确定哪些PUF单元将被标记为不稳定。如果特定PUF单元的测量到的位值("0"或"1") 被确定为不稳定、有噪声、或由于别的原因不一致,则它可以被标记为要被替换的位("坏 位"),如下面所描述的。此测试可以由1C100的制造商或供应商,在向系统制造商、系统用 户、或其他消费者销售或发布1C100之前执行。然而,希望测试过程不透露可能使1C100 的制造商确定在由消费者使用时要由PUF单元110生成的PUF密钥的信息,因为这将损害 通过使用PUF密钥提供给消费者的安全性优点。冗余逻辑130可以用于测试PUF元件阵列 120,并确定和替换坏位,而不会泄漏这样的信息。
[0022] 因此,冗余逻辑130用于替换坏位,以便减少PUF密钥生成中的噪声和/或错误 率。冗余逻辑130可以使用NVM170来存储信息,诸如下面所描述的重定向列表,标记(例 如,在1C或系统制造商的测试和/或消费者使用1C100过程中),稍后标识(例如,在1C 100的后续使用过程中)并替换坏位,如下面所进一步描述的。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1