下面给出PKI利用SRAM PUF实现芯片标识唯一性的方法思路:

PKI利用SRAM PUF实现芯片标识唯一性的方式

(1)使用PUF原因

  物理上不可克隆函数利用硅制造的自然变化来产生每个芯片统计上唯一的不可预测的值。这种芯片底层物理结构的差异是完全随机的,而且不可能消除,即使在最先进的生产线上,同一片晶圆上的芯片也会存在内部的结构差异。这些差异就相当于每一块芯片天生的“DNA”或“指纹”,是这块芯片唯一的身份认证。

(2)PUF实现芯片标识唯一性的切入口

  通过技术手段,将芯片生产过程的差异提取出来作为加密算法的密钥。 也就是说,每一块芯片本身即是密钥。从底层物理结构的角度来看,世界上没有完全相同的两块芯片,也就保证了密钥的随机性和唯一性。而且,无需保存提取出来的密钥,使用过后随即消失,需要使用时再对芯片做密钥提取即可。不保存密钥,黑客也就无从攻击或窃取,也解决了密钥安全性的问题。

(3)SRAM PUF产生密钥-1

  SRAM物理上不可clonable Function (SRAM- puf)是一种新的密钥存储机制,称为Quiddikey-Flex。 在所有具有SRAM-PUF特性的SmartFusion2和IGLOO2 fpga(Mirosemi公司的)中,Microsemi在设备制造期间注册了一个384位工厂专用ECC PUF私钥(SKFP)。 具有椭圆曲线加密(ECC)硬件加速器和Quiddikey SRAM-PUF的设备中,SRAM-PUF登记了一个完全随机的每个设备的384位专用ECC私钥(SKFP)。而ECC公钥(PKFP)与私钥计算相关。

(4)SRAM PUF产生密钥-2

  第一次使用SRAM-PUF时,在注册的过程中确定一个特定的密钥。为了能够在接下来的每个通电周期中确定完全相同的密钥,尽管有bit-level的接通到接通噪声,一个基础激活码-(有效奇偶校验数据)被存储在eNVM块的一个专用的读和写保护区域。 在随后的启动周期中,Quiddikey逻辑读取SRAM启动值并应用基本激活代码来重新生成PUF密钥。在这个场景中,有一个与人的指纹非常相似的地方。每次扫描指纹时,由于噪音的影响,测量结果略有不同,但仍然足够接近和独特,能够识别指纹。

(5)SRAM PUF产生密钥-3

  由于相关私钥的安全性植根于SRAM-PUF(类似于硅生物特征识别),因此用户可以以非常高的保证级别证明设备证书和设备本身是一起的。这个过程是使用密钥确认协议实现的(key confirmation protocol)– 对于SmartFusion2和IGLOO2 fpga设备有内置的在线询问-响应型密钥确认协议。这可以用来让设备证明它“知道”一个特定的密钥,而不用在协议中使用的外部通信中公开密钥的值。

(6)PUF生产密钥结合PKI

  由PUF创建的不可仿制的元件身份私有密钥,在不可仿制元件身份的基础上会形成一信任链,让每个系统整合者/操作人员可以对自己独立的公钥基础设施(PKI)利用获得的元件公钥如ECC公钥(PKFP)对PUF生成的私钥认证,实现芯片标识的唯一性。

公钥基础设施PKI利用SRAM物理不可克隆函数PUF实现芯片标识唯一性的更多相关文章

  1. [转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用

    公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liu ...

  2. PKI(公钥基础设施)基础知识笔记

    数字签名 数字签名(又称公钥数字签名.电子签章)是一种类似写在纸上的普通的物理签名,可是使用了公钥加密领域的技术实现.用于鉴别数字信息的方法. 一套数字签名通常定义两种互补的运算.一个用于签名,还有一 ...

  3. PKI公钥基础设施简介

    PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书.一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的 ...

  4. JS的深度克隆,利用构造函数原型深度克隆

    我爱撸码,撸码使我感到快乐!大家好,我是Counter.今天来写写,JS中的深度克隆,这个在笔面试中,考的还是比较多的,主要是对象与数组的赋值,如果直接赋值的话,那么得到的是对象或者数组在堆里的地址, ...

  5. 公钥基础设施体系和EJBCA的一些概念

    最近一段时间的在公司做的事情是: 1. 为公司的一些线上系统启用https(使用nginx反向代理的方式来实现,之前的应用无需做改动) 2.为符合规则的用户颁发数字证书(自建CA来实现,目前的用途是给 ...

  6. 结构-行为-样式-Javascript 深度克隆函数(转)

    突然想到有一回面试的时候有一个问题一直挂在心头,于是乎在网上找了找,这个比较好: //深度克隆 function deepClone(obj) { var result, oClass = isCla ...

  7. Flex中如何利用FocusManager类的setFocus函数设置TextInput的焦点的例子

    参考:https://blog.csdn.net/liruizhuang/article/details/5876455 <?xml version="1.0" encodi ...

  8. Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数

    Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数: select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc ...

  9. javascript深度克隆函数deepClone

    javascript深度克隆函数deepClone function deepClone(obj) { var _toString = Object.prototype.toString; // nu ...

随机推荐

  1. 9.PowerShell DSC之Pull

    前言 一般生产环境都使用Pull模式 配置Pull Server 配置Pull Server需要安装两个WindowsFeture:IIS.windows DSC,这两都可以通过UI界面化引导安装,也 ...

  2. 实战交付一套dubbo微服务到k8s集群(5)之使用Jenkins进行持续构建交付dubo服务的提供者

    1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4.添加第一个参数:设置项目的名称 5.添加第二个参数:docker镜像名称 6.添加第三个参数:项目所在的git中央 ...

  3. Shell 函数 & 数组

    Shell 函数 函数介绍 # 什么是函数? 具备某一功能的工具 => 函数 事先准备工具的过程 => 函数的定义 遇到应用场景拿来就用 => 函数的调用 # 为何要用函数? 没有引 ...

  4. Linux-单用户/救援模式

    目录 企业案例一:忘记root密码 企业案例二:修改了默认的运行级别为poweroff或者reboot 企业案例三:误损坏MBR(只能以救援模式解决) 企业案例四:误删除GRUB菜单(只能以救援模式解 ...

  5. HihoCoder1445 后缀自动机二·重复旋律5(后缀自动机 子串种数)

    题意: 询问串的不同子串个数 思路: 后缀自动机每个节点表示以当前字符结尾的一系列后缀,个数为\(maxlen - minlen\),其中\(minlen = maxlen[father]\). 代码 ...

  6. Makefile 赋值 函数定义 等小知识点

    1.赋值 == 到用的时候实际才去赋值:= 立刻赋值?= 未赋值才赋值+= 2.多层变量 多层变量引用(各种复杂组合...)a =bb= cc= dd =1$($($($(a)))) 最终等于1 3. ...

  7. GitHub new features 2020 All In One

    GitHub new features 2020 All In One Discussions Discussions is the space for your community to have ...

  8. Redis in Action

    Redis in Action Redis REmote DIctionary Server(Redis) Redis 是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理. ...

  9. Learning web development with MDN

    Learning web development with MDN Server-side website programming Dynamic Websites – Server-side pro ...

  10. github & webhooks

    github & webhooks git auto commit bash shell script https://developer.github.com/webhooks/ POST ...