公钥基础设施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 ...
随机推荐
- Codeforces Round #657 (Div. 2) B. Dubious Cyrpto(数论)
题目链接:https://codeforces.com/contest/1379/problem/B 题意 给出三个正整数 $l,r,m$,判断在区间 $[l,r]$ 内是否有 $a,b,c$ 满足存 ...
- 【poj 1284】Primitive Roots(数论--欧拉函数 求原根个数){费马小定理、欧拉定理}
题意:求奇质数 P 的原根个数.若 x 是 P 的原根,那么 x^k (k=1~p-1) 模 P 为1~p-1,且互不相同. (3≤ P<65536) 解法:有费马小定理:若 p 是质数,x^( ...
- Alternating Strings Gym - 100712D 简单dp && Alternating Strings II Gym - 100712L 数据结构优化dp
比赛链接:https://vjudge.net/contest/405905#problem/D 题意: 给你一个长度为n的由0或1构成的串s,你需要切割这个串,要求切割之后的每一个子串长度要小于等于 ...
- hdu1625 Numbering Paths (floyd判环)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...
- AtCoder Beginner Contest 183 E - Queen on Grid (DP)
题意:有一个\(n\)x\(m\)的棋盘,你需要从\((1,1)\)走到\((n,m)\),每次可以向右,右下,下走任意个单位,\(.\)表示可以走,#表示一堵墙,不能通过,问从\((1,1)\)走\ ...
- 【.NET 与树莓派】让喇叭播放音乐
如果你和老周一样,小时候特别喜欢搞破坏(什么电器都敢拆),那下面这样小喇叭你一定见过. 这种喇叭其实以前很多录音机都用,包括上小学时买来做英语听力的便携录音机.嗯,就是放录音带的那种,录音带也叫磁带或 ...
- 交换机上禁止某个MAC地址通信
当分析出网络中某台机器中毒时而有不知道它的具体位置,我们可以通过获取其MAC地址然后在交换机上禁止其MAC来达到隔离它的效果.通过ARP表查询IP地址对应的MAC地址,再将该MAC地址加入黑名单过滤. ...
- kubernetes进阶(六)k8s平滑升级
当我们遇到K8S有漏洞的时候,或者为了满足需求,有时候可能会需要升级或者降级版本, 为了减少对业务的影响,尽量选择在业务低谷的时候来升级: 首先准备好文件:我这里选择的是内网文件服务器上下载的,请自行 ...
- 牛客网-Beauty of Trees 【加权并查集】
锟斤拷锟接o拷https://www.nowcoder.com/acm/contest/119/A锟斤拷源锟斤拷牛锟斤拷锟斤拷 锟斤拷目锟斤拷锟斤拷 It锟斤拷s universally acknow ...
- Java中new一个对象是一个怎样的过程?JVM中发生了什么?
Java中new一个对象的步骤: 1. 当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能 在常量池中能否定位到一个类的符号引用 (即类的带路径全名),并且检查这个符号引用代表的类是否已被 ...