Skip to content

Commit

Permalink
3rd edition
Browse files Browse the repository at this point in the history
  • Loading branch information
LoSealL committed Apr 18, 2016
1 parent 1fc7eb4 commit c8873e3
Show file tree
Hide file tree
Showing 12 changed files with 85 additions and 20 deletions.
Binary file added figure/brpuf_fpga_svm.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 8 additions & 6 deletions pkuthss/chap/conclusion.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,21 @@
% Copyright (c) 2014 Casper Ti. Vector
% Public domain.

\specialchap{结论}\label{chap:conclusion}
\chapter{结论}\label{chap:conclusion}
\section{全文总结}
在密码学研究中,单向函数是构造高层次密码协议的基础。 PUF 作为物理不可克隆函数,是基于人类不可知的物理原理构造的单向函数,在密码学领域有着重要应用。

本文从数学原理出发,用统计方法和机器学习建模攻击对仲裁型 PUF、异或 PUF、双稳态环路 PUF 进行分析
通过模型公式对 Strong PUF 的安全性原理进行了总结,分析并指出了异或结构的安全性原理,和双稳态环路 PUF 的统计性失准的原因:因为 BRPUF 在求值过程中累积了所有逻辑门的延迟偏差,导致结果的统计方差大大增加。
根据建模分析,在模型线性表达式或近似线性表达式中,最小线性可分维度的大小决定了机器学习的拟合时间代价
本文基于 Strong PUF 的建模,根据研究者的已有工作,对 BRPUF 进行了精确建模,通过 Matlab 仿真和 FPGA 验证,证明了模型的准确度,其建模攻击预测率超过99\%只需要不到5000个训练数据点
其次,本文从数学原理出发,用统计方法分析了 Arbiter PUF, BRPUF 和 XOR-PUF 的输出概率分布,解释了 BRPUF 的不稳定性和偏移原因:
因为 BRPUF 在求值过程中累积了所有逻辑门的延迟偏差,导致结果的统计方差大大增加

为了提升 PUF 的安全性,本文提出了两种新型 PUF 结构,其中第\ref{chap:dbrpuf}章的 DBRPUF 针对 BRPUF 进行改进,消除了延迟偏差累积,因此改善了统计测试结果,但相比传统异或结构仍显不足;
为了消除 BRPUF 的系统偏差,提升 PUF 的安全性,本文提出了两种新型 PUF 结构。
其中第\ref{chap:dbrpuf}章的 DBRPUF 针对 BRPUF 进行改进,消除了延迟偏差累积,因此改善了统计测试结果,但相比传统异或结构仍显不足;
\ref{chap:rpapuf}章新提出的随机脉冲信号的 RPAPUF,利用逻辑门的双边延迟构造出复杂的结构,随机选择脉冲输入,利用脉冲传递路程长短``欺骗''攻击者,使其不能分辨出哪些响应符合模型计算结果,哪些是随机项,从而使建立模型需要花费极大开销,相对传统结构大大加强了 PUF 对于建模攻击的抵御能力。

在实验上,为了缩短仿真时间,本文利用 HSPICE 和 Matlab 结合的方法,HSPICE 负责仿真基本逻辑门的工艺波动,Matlab 负责建立由多个逻辑门组成的电路结构,并通过简化模型静态仿真电路行为,使得多比特 PUF 可以在有限时间内仿真完成。
因此本文验证了所有 PUF 结构,并在 Altera FPGA 上实现并比较了 Arbiter PUF,BRPUF 和 DBRPUF 结构。结果证实了理论分析,证明了本文提出结构的可行性。
因此本文验证了所有 PUF 结构,并在 Altera FPGA 上实现并比较了 Arbiter PUF, BRPUF, XOR-PUF 和 DBRPUF 与 RPAPUF 结构。
实验结果证实了本文的理论分析,各 PUF 实验分布和理论分布一致。并且 SVM 建模攻击结果证明了本文提出的 RPAPUF 结构不能使用 XOR 模型建模,且难以在有限时间内用精确模型进行建模攻击。

最后,本文研究仍存在一些不足之处。
首先,本文采用的统计分析基于工艺波动服从正态分布这一假设,但是在不同工艺,尤其是深亚微米制程下,这一假设不一定满足,因此不同工艺对于 PUF 的输出影响需要进一步的实验验证。
Expand Down
44 changes: 35 additions & 9 deletions pkuthss/chap/introduction.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,49 @@
% Copyright (c) 2014 Casper Ti. Vector
% Public domain.

\specialchap{绪论}
\chapter{绪论}
\section{背景介绍}\label{sec:background}
信息安全是人类关注的永恒话题。而现代信息安全的大厦是由各种密码协议砌成的,这座大厦的基础就是构筑协议的数学原理。

古典密码学采用的简单映射,如凯撒密码,仿射密码,将原文字符通过线性变换映射成密文字符。由于线性变换的对称性,使得求解逆函数非常容易,这让简单映射密码非常容易受到攻击。最早的非线性加密手段——一次一密密码本——通过不断更换密码表(一种简单哈希表)达到非线性化的目的,只要密码本换的足够勤,那理论上就是不可破解的算法。

现代密码学运用了更深刻的数学知识。以对称加密算法 AES 为例, 128bit AES 加密需要10轮,每一轮都要经过一个非线性运算——S盒——求多项式在$GF(2^n)$上的逆。求逆之后,密钥的每一位都会与明文发生作用,这便使得逆向求解(已知密文、明文求解密钥)非常困难。又来看经典公钥算法 RSA,其用两个大质数分别作为公钥和私钥,利用一种单向函数``大整数的因式分解''使正向运算(求大质数的乘积)简单,而逆向运算(求大整数的因数)非常困难来保证安全性。由此可见,单向函数( One-Way Function )是密码学的基础之一。1945年克劳德·香农( Claude E Shannon )在其经典著作《密码学的数学原理》\supercite{shannon1945mathematical} 指出密码设计的两个原则:扩散( Diffusion )和扰乱( Confusion ),这两个原则也是构造单向函数的原则。扩散指输入变化 1bit 会使输出变化 50\% 的 bits,扰乱指输出的每一个 bit 都是由尽可能多的输出 bit 决定。
现代密码学运用了更深刻的数学知识。以对称加密算法 AES 为例, 128bit AES 加密需要10轮,每一轮都要经过一个非线性运算——S盒——求多项式在$GF(2^n)$上的逆。
求逆之后,密钥的每一位都会与明文发生作用,这便使得逆向求解(已知密文、明文求解密钥)非常困难\supercite{rijmen2001advanced}。
又来看经典公钥算法 RSA,其用两个大质数分别作为公钥和私钥,利用一种单向函数``大整数的因式分解''使正向运算(求大质数的乘积)简单,而逆向运算(求大整数的因数)非常困难来保证安全性。
由此可见,单向函数( One-Way Function )是密码学的基础之一。
1945年克劳德·香农( Claude E Shannon )在其经典著作《密码学的数学原理》\supercite{shannon1945mathematical} 指出密码设计的两个原则:扩散( Diffusion )和扰乱( Confusion ),这两个原则也是构造单向函数的原则。
扩散指输入变化 1bit 会使输出变化 50\% 的 bits,扰乱指输出的每一个 bit 都是由尽可能多的输出 bit 决定。

在众多的密码系统中,单向函数往往由纯数学概念构造,比如大整数因式分解( RSA )、椭圆曲线求解( ECC )、矩阵分解\supercite{wendt2013bidirectional}( DBF )等等,在实际的电路实现上往往硬件规模较大,或是求值时间较长,在现今有越来越多的便携设备接入网络,而在公共场合下有加密通信的需求,传统的加密方式便不适合应用在这些设备上,所以需要低功耗、低硬件开销的加密方案。

其次,各种便携设备不同于传统主机,流动性大,使得其本身容易被攻击者获取(比如丢失、遭克隆等等手段,而传统攻击者获取的仅仅是信道信息),这使得以物理手段获取旁道信息破译的方法在近几年尤为引人关注。旁道信息是与密文相关的中间信息,呈现方式有很多种,比如加密操作时的功耗、电磁辐射、热辐射、运算错误、存储介质状态等等。利用这些信息,可以快速的破译一些加密系统。如差分功耗分析法,通过相似操作的功耗差值来判断猜解密钥的正确性,大幅度削减了穷举量;又如错误分析,通过手段注入使加密系统产生运算错误,并根据出现错误的时机和现象筛选密钥;而存储介质的分析则通过电磁探测等手段直接观察存储器中的逻辑值,从而提取出关键信息。
各种便携设备不同于传统主机,流动性大,使得其本身容易被攻击者获取(比如丢失、遭克隆等等手段,而传统攻击者获取的仅仅是信道信息),这使得以物理手段获取旁道信息破译的方法在近几年尤为引人关注。旁道信息是与密文相关的中间信息,有多种呈现方式,比如加密操作时的功耗、电磁辐射、热辐射、运算错误、存储介质状态等等\supercite{standaert2010introduction}。利用这些信息,可以快速的破译一些加密系统。如差分功耗分析法,通过相似操作的功耗差值来判断猜解密钥的正确性,大幅度削减了穷举量;又如错误分析,通过手段注入使加密系统产生运算错误,并根据出现错误的时机和现象筛选密钥;而存储介质的分析则通过电磁探测等手段直接观察存储器中的逻辑值,从而提取出关键信息。

针对每一种不同的攻击手段,必须分别采取防御措施。如针对差分功耗分析,使用随机掩码隐藏真正的功耗信息,增加攻击者破解的成本;针对错误注入,加入探测机制阻止系统在出错的时候暴露关键信息;而针对存储介质的攻击,则可以采用 PUF 技术隐式存储关键数据。
针对每一种不同的攻击手段,必须分别采取防御措施。如针对差分功耗分析,使用随机掩码隐藏真正的功耗信息,增加攻击者破解的成本\supercite{rivain2010provably};针对错误注入,加入探测机制阻止系统在出错的时候暴露关键信息\supercite{karaklajic2013hardware};而针对存储介质的攻击,则可以采用 PUF 技术隐式存储关键数据。

在 PUF 技术出现之前,双方通信中关键的密钥往往直接存储在非易失性存储器(如只读存储器 ROM )中。比如门禁系统中门卡的 RFID,只能保存在门卡自身的芯片内。尽管通信协议可以很好的加密通信信道内的数据,但是却不能保护芯片内部 ROM 中的信息。一个恶意攻击者一旦获取了一个门卡,则可以通过技术手段探查 ROM 中的数据提取出关键信息。而 PUF 则以加密系统的物理实现自身特点存储信息,相较于 ROM 等传统非易失性存储器,具有隐秘性好,不可探查等特点,因此受到了相关领域研究者的广泛关注。

\section{PUF相关研究}\label{sec:PUF-research}
Physical Unclonable Function( PUF )最早由 MIT 的理学博士 Pappu S. Ravikanth 于 2001 年提出\supercite{pappu2002physical},而其最初被称为 Physical One-Way Function 。
Ravikanth 在论文中提出了利用可测系统的未知物理状态构造一种 Hash 函数,函数的映射方式由系统的物理特性决定。
这种系统必须具有可观测的量以提供输出,同时以人类现有的知识或计算能力不能仿真或计算系统内部的细节,这样攻击者便不会知道系统将提供什么样的输出。
Ravikanth 最后用光学系统实现了他的构想。
PUF 一词则由同是 MIT 的 B. Gassend 等人提出\supercite{gassend2002silicon}。
值得一提的是, Gassend 将 PUF 的全称写作 Physical Random Function,并且称为了不和``伪随机函数''( Pseudo-Random Function )混淆,而写作 Physical Unclonable Function,记作``PUF''
Gassend 提出了基于硅基电路实现的 PUF,他用一系列双口交换器级联的方式,通过检测输出端口延迟先后,将工艺随机波动转换成电平逻辑输出,他的这种电路随后被称为 Arbiter-PUF。
不仅如此, Gassend 还提出了一整套 PUF 系统的完善措施,包括输入、输出矫正和 PUF 的实际应用可能,并给出了基于 FPGA 的实验结果,可以说给后来的研究者奠定了完善的基础和研究模板。

Physical Unclonable Function( PUF )最早由 MIT 的理学博士 Pappu S. Ravikanth 于 2001 年提出\supercite{pappu2002physical},而其最初被称为 Physical One-Way Function 。 Ravikanth 在论文中提出了利用可测系统的未知物理状态构造一种 Hash 函数,函数的映射方式由系统的物理特性决定。这种系统必须具有可观测的量以提供输出,同时以人类现有的知识或计算能力不能仿真或计算系统内部的细节,这样攻击者便不会知道系统将提供什么样的输出。 Ravikanth 最后用光学系统实现了他的构想。 PUF 一词则由同是 MIT 的 B. Gassend 等人提出\supercite{gassend2002silicon},值得一提的是, Gassend 将 PUF 的全称写作 Physical Random Function,并称为了不和``伪随机函数''( Pseudo-Random Function )混淆,而写作 Physical Unclonable Function,记作``PUF''。 Gassend 真正提出了基于硅基电路实现的 PUF,他用一系列双口交换器级联的方式,通过检测输出端口延迟先后,将工艺随机波动转换成电平逻辑输出,他的这种电路随后被称为 Arbiter-PUF。不仅如此, Gassend 还提出了一整套 PUF 系统的完善措施,包括输入、输出矫正和 PUF 的实际应用可能,并给出了基于 FPGA 的实验结果,可以说给后来的研究者奠定了完善的基础和研究模板。
自硅基(集成电路) PUF 提出后, PUF 的研究逐渐演化为几个方向。
其一是 PUF 安全性的研究,通过理论和实验提取 PUF 模型参数;
其二是 PUF 电路结构的研究,追求更高的可靠性,低功耗和高集成度;
其三是 PUF 的应用领域,构建基于 PUF 的密码协议。

自硅基 PUF 提出后, PUF 的研究逐渐演化为几个方向。其一是 PUF 安全性的研究,通过理论和实验提取 PUF 模型参数;其二是 PUF 电路结构的研究,追求更高的可靠性,低功耗和高集成度;其三是 PUF 的应用领域,构建基于 PUF 的密码协议。
2004 年 MIT 的 Daihyun Lim 在其硕士毕业论文\supercite{lim2005extracting}提出对 Arbiter-PUF 建模,并用支持向量机( SVM )拟合出 Arbiter-PUF 的模型参数,开启了机器学习对 PUF 的建模攻击领域。
此后,接着机器学习崛起的东风, PUF 研究在攻防两方的博弈中迅速崛起,近几年来吸引了越来越多的研究者和相关会议关注这一领域。

2004 年 MIT 的 Daihyun Lim 在其硕士毕业论文\supercite{lim2005extracting}提出对 Arbiter-PUF 建模,并用支持向量机( SVM )拟合出 Arbiter-PUF 的模型参数,开启了机器学习对 PUF 的建模攻击领域。此后,接着机器学习崛起的东风, PUF 研究在攻防两方的博弈中迅速崛起,近几年来吸引了越来越多的研究者和相关会议关注这一领域。
首先, 以 Arbiter PUF 为代表的 Strong PUF 非常易于密码协议的实现,但由于其输入-输出对(CRP)的秩不够大,容易根据一部分子集推算出剩余未知 CRP ,这就是建模攻击的基本原理。
其次,建模攻击所利用的机器学习算法在近几年得到了长足发展,使得研究者可以在相对很短的时间内进行推算,并且处理大量数据,使得大部分 Strong PUF 都能在可接受的时间内被建模攻击复制,从而否定了其安全性。
最后,高安全性 PUF 的设计尚未有明确的指导性原理,目前尚处于探索阶段,一般而言,设计者通过提高 PUF 的模型复杂度,使得攻击者(在现有计算能力下)不能在可接收时间范围内计算出 PUF 模型。比如 Lim 在\parencite{lee2004technique}中提出 Feed-forward PUF,使某几位输入受自身前馈信号控制; Suh 和 Devadas 在\parencite{suh2007physical}中提出了异或的方式提升模型非线性度。
但相对而言,对于 PUF 的建模比较系统和完备,攻击者往往能够定量的分析特定 PUF 的设计特点,计算出建模复杂度,对于超出计算能力的部分用辅助手段进行剪枝\supercite{mahmoud2013combined,xu2014hybrid},故而使得 PUF 在抗建模攻击的设计上尤为困难。

到目前为止, PUF 技术尚未成熟到商用地步,主要有以下几个技术难点。
\begin{itemize}
Expand All @@ -32,9 +54,13 @@
\item 最后, PUF 并不适合放在现有的安全系统中,因此有越来越多的文献着手搭建以 PUF 为核心的安全协议,相信随着 PUF 研究的不断深入以及成熟的安全协议的提出, PUF 将会成为安全领域的一颗新星。
\end{itemize}

本文在前人研究基础上,从基本原理入手,分析 PUF 的建模于仿真,针对机器学习建模攻击的应用和防范,主要研究成果有以下几点:
\section{本文主要工作和文章结构}\label{sec:mainworks}
双稳环路 PUF 是 Chen 在\parencite{chen2011bistable}提出的新型 Strong PUF,已有的分析工作指出 BRPUF 的扩散(Diffusion)性不好,以及输出分布不均\supercite{chen2012characterization,yamamoto2014security}。
Schuster 等人在\parencite{schuster2014evaluation}中使用单层神经网络对BRPUF进行建模攻击并得到了90\%的预测率。
本文在前人研究基础上,从基本原理入手,分析 BRPUF 的电气原理,提出了精确描述模型,成功对其进行了建模攻击并达到了99\%以上的预测率。
针对机器学习建模攻击,提出了新型结构——基于随机脉冲的PUF。主要研究成果有以下几点:
\begin{itemize}
\item 第一,理论分析。对已提出的 PUF 结构进行建模,通过该模型仿真分析其性能指标,成功通过机器学习拟合模型参数;
\item 第一,理论分析。对已提出的 BRPUF 结构进行建模,通过该模型仿真分析其性能指标,成功通过机器学习拟合模型参数;
\item 第二,电路结构。改进 PUF 结构,设计新型的电路结构以达到较高安全性,尤其是对建模攻击的防范;
\item 第三,仿真与实验。在 FPGA 上实现改进电路,通过 PCI-E 接口与 PC 通信,收集并测试大量的输出数据验证其性能指标。
\end{itemize}
Expand Down
Loading

0 comments on commit c8873e3

Please sign in to comment.