硬件安全技术——芯片安全设计技术4(puf)

摆渡沧桑 摆渡沧桑     2022-12-09     626

关键词:

芯片安全设计技术4——PUF

一、什么是PUF

1. 物理不可克隆函数——PUF

物理不可克隆函数(即PUF:physical unclonable function)是一种芯片的数字指纹,用作半导体设备(如微处理器)的唯一身份,增强了芯片抵抗逆向的能力。

PUF通常用于密码学。物理不可克隆函数是物理结构中体现的物理实体。目前,PUF通常用集成电路来实现,通常用于对安全性要求较高的应用中。

从2010年到2013年,PUF在智能卡市场获得了关注,作为提供“硅指纹”的有前途的方式,创建了独特于个人智能卡的加密密钥。

现在,PUF成为商用FPGA中安全替代电池备份秘密密钥的存储器,如Xilinx Zynq Ultrascale ++ 和Altera。

PUF取决于其物理微结构的独特性。这种微观结构取决于制造过程中引入的随机物理因素。这些因素是不可预测和不可控制的,这使得复制或克隆结构几乎是不可能的。

但是这只是一项芯片设计模块功能,与TrustZone技术存在本质区别。

2. PUF特性

  1. 唯一性
    每一个芯片都是随机分布的、唯一的
  2. 防克隆性
    芯片本身就是在芯片制造过程中由于不确定因素提取出来的,无法重新复制相同的PUF值
  3. 不可预测性
    由于芯片在制造出来之前,没有办法来预测
  4. 防篡改性
    芯片本身PUF值无法定位修改
  5. 无需存储
    每次芯片启动只需要在电路结构中提取,无需存储器件来存储
3. PUF结构

  1. SRAM PUF
    SRAM PUF利用SRAM Cell,首尾相接的反相器,在制造过程中,虽然电路架构完全一样,但是电路驱动能力有强弱之分,导致SRAM在上电时的Cell上0,1的分布是随机分布的,因此,利用这个特征可以提取出PUF

  2. 仲裁PUF
    仲裁PUF,同一个信号从起点到终点所用的时间(延迟),在制造过程中会存在误差。

  3. RO PUF(环形振荡器)
    环形振荡器PUF,利用环形振荡器电路,在不同芯片制造出来之后,频率产生也会存在误差

  4. VIA PUF
    实际设计中,VIA存在设计规则,利用设计规则,设计从小到大的孔洞,根据工艺的特性,来提取出VIA PUF

5. 与TrustZone技术的区别


TrustZone技术是一种安全执行区域概念,是芯片运行状态在共享资源、总线系统的安全态与非安全态的问题。基于TrustZone技术的TEEOS,形成一个可信执行环境,能够执行某些操作、保护某些资源。

PUF可以被用作唯一且不可篡改的设备标识符。PUF也可以用于安全密钥生成和存储以及随机源。

二、SRAM PUF特点

1. SRAM PUF

深亚微米工艺上来说,制造过程中随机因素会影响电路特性,从而导致Cell上电时,0与1随机分布,这个随机分布,基本上是固定的分布,这样可以提取出PUF值

2. SRAM PUF Key存储

PUF Key在芯片生命周期使用阶段:

  1. Enrollment——QTP(One Time Process)

    从SRAM PUF中提取R值,经过PUF-IP,再经过AC过程(用于纠错),然后配合上电过程完成启动

  2. Key重构——每次上电都需要重新执行这个过程
    R’值和之前R值是不一样的,由于芯片SRAM Cell 80%0,1值是确定的,但是也有少部分是随机变化的。通过AC纠错,可以保证每次SRAM生成的PUF Key是固定的。

    前提条件

    a. AC和Key相关性是0,即从ACcode是无法推导出PUF key
    b. 提取出的Key值需要达到一定的可靠性

3. SRAM PUF 产品形态
  1. 软件形态

  2. 硬件IP形态

4. SRAM PUF生命使用周期

软件的BROADKEY可以部署至各个生命周期的芯片上,

可以保障25年的生命周期

  1. 可靠性
  2. 制造型
  3. 安全认证

三、SRAM PUF应用

1. 生成应用Key流

与SRAM PUF流程一致

  1. Enrollment
  2. Key 重构
2. Wrap Operation

与之前一种的区别是,这次的Key值不作为应用密钥,
而是作为应用密钥的加密密钥来使用

  1. Enrollment

  2. Key 编程

  3. Key重构

3. 防克隆的应用方案

安全固件的导入:

  1. BROADKEY集成在bootloader中,含有两个内容,一个是Bootloader,另外一个为存储密钥,为固件的解密密钥。除了部件以外,还有加解密库。

  2. 把这个固件download到产品的flash中,然后需要通过BROADKEYAC code提取出来,存储到数据区

  3. 将BROADKEY生成Key将固件的解密密钥进行加密以后,存储到flash数据区

  4. 用固件的解密密钥将初始导入的加密固件解密出来,存储至可执行区域中

  5. 因为固件已经解密完成,因此把bootloader中的解密密钥删除,同时导入固件的加密密钥也可以删除

  6. 最后,用PUF Key生成MAC值,存储到数据区,以上为安全固件的导入过程

    使用过程
    a. 在安装过程中,固件已经装好。
    b. 芯片上电后,bootloader可以都会AC code
    c. 同时生成PUF key,同时利用PUF key来对固件进行计算,同时与之前MAC值进行比较。如果正确则可以执行固件,比较错误,则会进入错误状态。

    固件升级

    防克隆原理

    如果将芯片中固件放入另一个固件,即使两个芯片完全一样。
    每次上电中,BROADKEY则会提取出PUF Key,如果芯片一旦换了之后,读取AC code进行PUF Key的提取,就会发现AC code并不是芯片本身的AC code,所以会报错。则会影响下一步的过程。因此,可以防克隆的攻击。

四、结论

SRAM PUF的特征

  1. 可以容易的加载PUF key的功能
  2. 很高的可靠性,可以保证小于10-12错误概率
  3. 很好的工艺适配性(7nm~.13um的工艺)
  4. 安全认证高

硬件安全技术——芯片安全设计技术2

硬件安全技术——芯片安全设计技术2芯片安全设计技术2一、常见的公钥密码算法1.公钥密码概述2.RSA密码算法3.RSA算法描述4.ECC椭圆曲线算法二、常见的使用场景1.非对称算法应用2.常见应用1——网络认证3.常见应用2——安全启动... 查看详情

硬件安全技术——芯片安全设计技术2

硬件安全技术——芯片安全设计技术2芯片安全设计技术2一、常见的公钥密码算法1.公钥密码概述2.RSA密码算法3.RSA算法描述4.ECC椭圆曲线算法二、常见的使用场景1.非对称算法应用2.常见应用1——网络认证3.常见应用2——安全启动... 查看详情

硬件安全技术——芯片安全设计技术3

芯片安全设计技术3一、硬件安全解决方案1.为什么需要硬件安全2.传统安全解决方案对比3.SoC安全解决方案二、RootofTrust(信任根)1.信任根(RoT)是建立信任链的来源,也是SoC中安全根基2.安全启动3.密钥管理... 查看详情

硬件安全技术——芯片安全设计技术3

芯片安全设计技术3一、硬件安全解决方案1.为什么需要硬件安全2.传统安全解决方案对比3.SoC安全解决方案二、RootofTrust(信任根)1.信任根(RoT)是建立信任链的来源,也是SoC中安全根基2.安全启动3.密钥管理... 查看详情

硬件安全技术——芯片安全设计技术1(代码片段)

芯片安全设计技术1一、常见的对称算法二、常见的使用模式与场景三、常见的抗攻击设计四、对称密码算法实现五、总结:一、常见的对称算法对称密码算法加密和解密的秘钥是一样的加密过程:X是明文,K是秘钥&#x... 查看详情

硬件安全技术——概述1(安全威胁和硬件安全技术)(代码片段)

一、硬件安全技术是什么?传统视角:硬件安全=密码芯片安全,特别是智能卡、可信计算、Ukey等芯片攻击防御技术密码芯片的逻辑接口、物理接口安全;核心功能:具备防攻击能力,能有效保护秘钥存... 查看详情

硬件安全技术——概述2(5g时代iot环境下芯片安全风险与挑战)

上一节中主要介绍了关于硬件安全技术和安全威胁的概述,本次主要介绍5G时代背景下IoT环境下芯片安全风险与挑战。一、5G时代下的IoT5G时代下的IoT——终端数量爆发式的增长随着5G技术的发展,大数据量、低延时的通讯... 查看详情

硬件安全技术——概述2(5g时代iot环境下芯片安全风险与挑战)

上一节中主要介绍了关于硬件安全技术和安全威胁的概述,本次主要介绍5G时代背景下IoT环境下芯片安全风险与挑战。一、5G时代下的IoT5G时代下的IoT——终端数量爆发式的增长随着5G技术的发展,大数据量、低延时的通讯... 查看详情

安全芯片国六标准指的是过啥认证的

...求。具体来说,安全芯片国六标准包括以下认证要求:ECU硬件设计审查、ECU通讯接口与协议测试、ECU软件代码审查、加密算法测试、产品功能测试、耐久性测试等。为了保证车用电子产品符合国六标准,汽车制造商需要将其产品... 查看详情

硬件安全技术——概述3

🔥点击查看精选硬件安全系列文章🔥🔥点击进入【硬件安全】社区,查看更多精彩内容🔥📢 声明:🥭作者主页:【摆渡沧桑的CSDN主页】。⚠️未经作者允许,禁止转载。⚠️本文为非... 查看详情

什么叫安全芯片

...服务。也就是说,用TPM安全芯片进行加密,密钥被存储在硬件中,被窃的数据无法解密,从而保护商业隐私和数据安全。TPM安全芯片可以产生代表计算机平台的唯一身份识别号。也就是说,每个平台的身份识别号都是唯一的,这... 查看详情

信息安全技术——(十五)物联网关键技术

文章目录1.感知层安全技术1.1无线传感器网络基本安全需求1.2无线传感器网络特征安全需求1.3感知器安全威胁-被动攻击1.4感知层安全威胁-主动攻击1.4.1节点俘获攻击1.4.2节点复制攻击1.4.3女巫攻击1.4.4虫洞攻击1.4.5黑洞攻击1.4.6拒... 查看详情

国民技术ns3300配件认证身份识别安全芯片

...识产权市场需求。芯片达到EAL4+安全等级产品特点内置硬件加速引擎:163位椭圆曲线密码算法(ECC1632n域)256位椭圆曲线数字签名(ECDSA256p域)真随机数生成器(TRNG)挑战响应机制(主机>从机)便于主机端集成的安全库自毁功能支持多... 查看详情

lpc之puf(代码片段)

...Niobe4,RT600新推出的功能。它是一个带SRAM用于管理秘钥的硬件模块。目的是为了让秘钥更加安全具体内容如下:PUF简介如何使用PUFPUF简介传统的MCU,如果加密一段数据,需要将对应的解密key存放到固定的位置。解密的时候,调用... 查看详情

软考信息安全工程师应用技术考试大纲

...2密码算法的应用1.3认证协议的应用1.4密钥管理技术2.网络安全工程2.1网络安全需求分析与基本设计2.2网络安全产品的配置与使用2.3网络安全风险评估实施2.4 网络安全防护技术的应用3.系统安全工程3.1访问控制3.2信息系统安全... 查看详情

加密芯片那些事儿

...好的安全加密芯片不但要有安全可靠,不可被破解的物理硬件,还要有可灵活设计的软件。二者缺一不可,否则再好的硬件,会因为软件设计的限制,被破解。再好的软件设计方案,也会因为,硬件安全程度不够,被侵入者全盘... 查看详情

什么是esam安全模块

...SAM(Embedded?Secure?Access?Module)即嵌入式安全控制模块。ESAM硬件具有传感器(电压,时钟,温度,光照、过滤器(防止尖峰/毛刺)、独立的内部时钟(独立CLK)、(SFI)的检测机制、被动和主动盾牌、胶合逻辑(难以逆转工程师... 查看详情

网工专业包括哪些领域?

...具体包括以下几个方面:1.计算机基础知识:包括计算机硬件和软件的基础知识,计算机操作系统和编程语言等。2.网络通信技术:包括网络协议、路由器、交换机、防火墙等网络设备的原理、配置和管理。3.网络安全技术:包括... 查看详情