下面给出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. hdu 2072 单词数(字符串)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2072 题意 每行输入由小写字母和空格组成,统计每行中不同的单词数. 题解 题解一 比较简洁的解法,读入 ...

  2. 【noi 2.6_8786】方格取数(DP)

    题意:N*N的方格图每格有一个数值,要求从左上角每步往右或往下走到右下角,问走2次的最大和. 解法:走一次的很好想,而走2次,不可误以为先找到最大和的路,再找剩下的最大和的路就是正解.而应该认清动态规 ...

  3. HDU3544 Alice's Game && POJ 2960 S-Nim(SG函数)

    题意: 有一块xi*Yi的矩形巧克力,Alice只允许垂直分割巧克力,Bob只允许水平分割巧克力.具体来说,对于Alice,一块巧克力X i * Y i,只能分解成a * Y i和b * Y i其中a ...

  4. git仓库更换远程地址

    首先进入项目所在文件夹,右键git bash (1)查看当前的远程地址 git remote -v (2)删除当前的远程地址 git remote rm origin (3)添加远程地址 git re ...

  5. PowerShell随笔9--- call

    很多时候我们需要在一个脚本文件执行另外一个脚本文件,比如我们有一个Test.ps1文件 我们有以下2种方法: Invoke-Expression (&) 我们可以看到,Test.ps1中的代码 ...

  6. CF1462-C. Unique Number

    题意: 给出一个数字x,让你找出一个由1到9这九个数字组成的数字,这个数字的每一位加起来等于x,并且1到9每个数字只能出现一次.若能找到这样的数字,输出这其中最小的一个,否则输出-1. 思路: 利用二 ...

  7. Docker应用场景和局限性

    Docker有哪些好的特性?作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多的优势.首先, Docker容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多.其次, Docke ...

  8. 使用SignTool对软件安装包进行数字签名(一)--制作证书

    一.制作根证书 1.开始菜单-运行-输入cmd,弹出命令行窗体. 2.输入命令:cd /d F:\SignTool,将当前工作目录修改到SignTool路径下. 3.使用makecert命令制作证书, ...

  9. Recoil & React official state management

    Recoil & React official state management Redux Recoil.js https://recoiljs.org/ A state managemen ...

  10. koa url path & koa-router

    koa url path & koa-router url path & regex koa path router "use strict"; /** * * @ ...