公钥基础设施PKI利用SRAM物理不可克隆函数PUF实现芯片标识唯一性
下面给出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实现芯片标识唯一性的更多相关文章
- [转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用
公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liu ...
- PKI(公钥基础设施)基础知识笔记
数字签名 数字签名(又称公钥数字签名.电子签章)是一种类似写在纸上的普通的物理签名,可是使用了公钥加密领域的技术实现.用于鉴别数字信息的方法. 一套数字签名通常定义两种互补的运算.一个用于签名,还有一 ...
- PKI公钥基础设施简介
PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书.一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的 ...
- JS的深度克隆,利用构造函数原型深度克隆
我爱撸码,撸码使我感到快乐!大家好,我是Counter.今天来写写,JS中的深度克隆,这个在笔面试中,考的还是比较多的,主要是对象与数组的赋值,如果直接赋值的话,那么得到的是对象或者数组在堆里的地址, ...
- 公钥基础设施体系和EJBCA的一些概念
最近一段时间的在公司做的事情是: 1. 为公司的一些线上系统启用https(使用nginx反向代理的方式来实现,之前的应用无需做改动) 2.为符合规则的用户颁发数字证书(自建CA来实现,目前的用途是给 ...
- 结构-行为-样式-Javascript 深度克隆函数(转)
突然想到有一回面试的时候有一个问题一直挂在心头,于是乎在网上找了找,这个比较好: //深度克隆 function deepClone(obj) { var result, oClass = isCla ...
- Flex中如何利用FocusManager类的setFocus函数设置TextInput的焦点的例子
参考:https://blog.csdn.net/liruizhuang/article/details/5876455 <?xml version="1.0" encodi ...
- Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数
Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数: select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc ...
- javascript深度克隆函数deepClone
javascript深度克隆函数deepClone function deepClone(obj) { var _toString = Object.prototype.toString; // nu ...
随机推荐
- SOS DP学习笔记
Sum over Subsets(SOS) DP 一.引入 给出一个长度为\(2^n\)的数组\(A\),对于每一个\(mask< 2^n\)要求计算出\(f[mask]=\sum_{sub\i ...
- Luogu U13059 某种密码
应该没什么用的题目链接 题目背景 关于某种密码有如下描述:某种密码的原文A是由N个数字组成,而密文B是一个长度为N的01数串,原文和密文的关联在于一个钥匙码KEY.若KEY=∑▒[Ai*Bi],则密文 ...
- zjnu1745 DOMINE (状压dp+1*2铺砖)
Description Mirko has a chessboard with N rows and just three columns. Slavica has written an intege ...
- 【noi 2.6_9285】盒子与小球之三(DP)
题意:有N个相同的球,M个不同的盒子,每个盒子最多放K个球.请计算将这N个球全部放入盒子中的方案数模1000007后的结果. 解法:f[i][j]表示i个盒子里放j个球的方案数. 1.得到3重循环的坐 ...
- poj2443Set Operation (bitset)
Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set ...
- Codeforces Round #671 (Div. 2) B. Stairs (递推)
题意:一个台阶由一些单元格组成,如果一个高度为\(n\)的台阶中有\(n\)个不相邻的正方形(如图中的样例),就称这个台阶是"好台阶",现给你\(x\)个单元格,问最多能组成多少个 ...
- 1、Django框架目录介绍
1.windows上安装django pip install django==1.10.3 安装完成后:django-admin.exe 默认存放路径:C:\Users\licl11092\AppDa ...
- OpenStack Train版-1.安装基础环境&服务
1. 服务组件的密码 密码名称 描述 ADMIN_PASS admin用户密码 CINDER_DBPASS 块设备存储服务的数据库密码 CINDER_PASS 块设备存储服务的 cinder 密码 D ...
- Kubernets二进制安装(7)之部署主控节点服务--apiserver二进制安装
kube-apiserver集群规划 主机名 角色 IP地址 mfyxw30.mfxyw.com kube-apiserver主 192.168.80.30 mfyxw40.mfyxw.com kub ...
- windows hook + pyhook3 + python win32api hook + C 键盘hook
安装pyhook3见:https://www.cnblogs.com/lqerio/p/12096710.html 使用见:https://www.cnblogs.com/lqerio/p/12106 ...