关键词:
芯片安全设计技术4——PUF
一、什么是PUF
1. 物理不可克隆函数——PUF
物理不可克隆函数(即PUF:physical unclonable function)是一种芯片的数字指纹,用作半导体设备(如微处理器)的唯一身份,增强了芯片抵抗逆向的能力。
PUF通常用于密码学。物理不可克隆函数是物理结构中体现的物理实体。目前,PUF通常用集成电路来实现,通常用于对安全性要求较高的应用中。
从2010年到2013年,PUF在智能卡市场获得了关注,作为提供“硅指纹”的有前途的方式,创建了独特于个人智能卡的加密密钥。
现在,PUF成为商用FPGA中安全替代电池备份秘密密钥的存储器,如Xilinx Zynq Ultrascale ++ 和Altera。
PUF取决于其物理微结构的独特性。这种微观结构取决于制造过程中引入的随机物理因素。这些因素是不可预测和不可控制的,这使得复制或克隆结构几乎是不可能的。
但是这只是一项芯片设计模块功能,与TrustZone技术存在本质区别。
2. PUF特性
- 唯一性
每一个芯片都是随机分布的、唯一的 - 防克隆性
芯片本身就是在芯片制造过程中由于不确定因素提取出来的,无法重新复制相同的PUF值 - 不可预测性
由于芯片在制造出来之前,没有办法来预测 - 防篡改性
芯片本身PUF值无法定位修改 - 无需存储
每次芯片启动只需要在电路结构中提取,无需存储器件来存储
3. PUF结构
-
SRAM PUF
SRAM PUF利用SRAM Cell,首尾相接的反相器,在制造过程中,虽然电路架构完全一样,但是电路驱动能力有强弱之分,导致SRAM在上电时的Cell上0,1的分布是随机分布的,因此,利用这个特征可以提取出PUF -
仲裁PUF
仲裁PUF,同一个信号从起点到终点所用的时间(延迟),在制造过程中会存在误差。 -
RO PUF(环形振荡器)
环形振荡器PUF,利用环形振荡器电路,在不同芯片制造出来之后,频率产生也会存在误差 -
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在芯片生命周期使用阶段:
-
Enrollment——QTP(One Time Process)
从SRAM PUF中提取R值,经过PUF-IP,再经过AC过程(用于纠错),然后配合上电过程完成启动 -
Key重构——每次上电都需要重新执行这个过程
R’值和之前R值是不一样的,由于芯片SRAM Cell 80%0,1值是确定的,但是也有少部分是随机变化的。通过AC纠错,可以保证每次SRAM生成的PUF Key是固定的。
前提条件:
a. AC和Key相关性是0,即从ACcode是无法推导出PUF key
b. 提取出的Key值需要达到一定的可靠性
3. SRAM PUF 产品形态
-
软件形态
-
硬件IP形态
4. SRAM PUF生命使用周期
软件的BROADKEY可以部署至各个生命周期的芯片上,
可以保障25年的生命周期
- 可靠性
- 制造型
- 安全认证
三、SRAM PUF应用
1. 生成应用Key流
与SRAM PUF流程一致
- Enrollment
- Key 重构
2. Wrap Operation
与之前一种的区别是,这次的Key值不作为应用密钥,
而是作为应用密钥的加密密钥来使用
-
Enrollment
-
Key 编程
-
Key重构
3. 防克隆的应用方案
安全固件的导入:
-
BROADKEY集成在bootloader中,含有两个内容,一个是Bootloader,另外一个为存储密钥,为固件的解密密钥。除了部件以外,还有加解密库。
-
把这个固件download到产品的flash中,然后需要通过BROADKEY把 AC code提取出来,存储到数据区
-
将BROADKEY生成Key将固件的解密密钥进行加密以后,存储到flash数据区
-
用固件的解密密钥将初始导入的加密固件解密出来,存储至可执行区域中
-
因为固件已经解密完成,因此把bootloader中的解密密钥删除,同时导入固件的加密密钥也可以删除
-
最后,用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的特征
- 可以容易的加载PUF key的功能
- 很高的可靠性,可以保证小于10-12错误概率
- 很好的工艺适配性(7nm~.13um的工艺)
- 安全认证高
硬件安全技术——芯片安全设计技术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是秘钥... 查看详情
硬件安全技术——概述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.网络安全技术:包括... 查看详情