《硬件安全》读书笔记

scaret

教师介绍

Gang Qu, 马里兰大学教授,嵌入式系统实验室以及硬件安全实验室的Director。UCLA毕业CS博士,本科为中科大。

对他的感觉是讲课比较无聊,讲的冷笑话超级冷……

生词

  • fabrication 制造
  • obfuscation 混淆
  • constraint 约束
  • countermeasures 对策
  • cryptanalysis 密码分析
  • manipulate 操作
  • soldering 焊接

一、数字系统设计:基础与弱点

CAD tools | 计算机辅助设计工具 | Computer-aided Design tools
DCC | 无关情况 | Don't Care Condition
IP | 知识产权 | Intellectual Property
SDC | 满足性无关 | Satisfiability don't cares
ODC | 观察性无关 | Observation don't cares

  • 同步电路 有时序,信号只在时钟上翻转。相对的,异步电路 则没有时序。
  • 系统声明 摘录定义原话:The specification of a system is a description of its functionality and other characteristics required for its use.通常包含了输入、输出及从输入到输出的布尔函数表达。形式也可以使用真值表或状态转换图等。它的表述可以是高级(high level)的,系统的输入输出可以是十进制表达;也可以是低级(low level, binary level)的,系统的输入输出必须表示为二进制。
  • 系统实现 定义原话:The implementation of a system is how the system is constructed from simpler components.可以使用基础门、通用门、技术库、触发器(内存单元)以及IP等。
  • 通用门 能够实现所有数字系统(等价于实现所有基础门)的一个或一组门。例如NAND,或者{OR, NOT}
  • 无关条件 用户对某种输入而言,并不关心其输出值
  • 满足性无关 对于电路的某个部分而言,由于其之前的电路约束,某种输入组合永远不可能出现,用该部分电路的输入组合表示({x=1, y=1})
  • 观察性无关 对于电路的某个部分而言,当x恒定在某个值时,无论y为何值都不影响输出(也就是某个子系统的实现无关紧要),用该部分电路的输入组合表示({x=1, y=1}, {x=1, y=0})。【问】
  • 锁存器 latch
  • 触发器 Flip-Flop
  • 自我纠错的设计 将DCC指向有意义的状态。而这也可能带来后门,因为这意味着攻击者可能利用DCC转向他需要的状态。

二、知识产权保护

SOC | 芯片级系统 | System On Design
VLSI | 超大规模集成电路 | Very Large Scale Integration
GC | 图着色(问题) | Graph Coloring
GP | 图分割(问题) | Graph Partitioning
PUF | 物理不可复制功能 | Physical Unclonable Function

  • 知识产权(IP) 原文定义:An original idea with can be used to earn money. 在超大规模集成电路中,拥有知识产权的设计单元可被视为一个独立得子模块。
  • 设计IP 任何能让设计变得更好的革新或者技术。包括算法,技术,方法论。
  • 硬IP 固定的硬件设计,往往性能是确定的,例如一个电路板走线设计。
  • 软IP 灵活的,性能不确定,往往有某种程度的抽象,例如综合性HDL源代码。
  • 固IP 介于硬IP和软IP之间。
  • 水印 知识产权从属的标记。
  • 基于约束的水印 将签名混合到问题中去,这导致问题的解会带上签名。
  • 布尔方程水印 如果要隐藏1,则使F(a, b, c, d) = 1;如果要隐藏0,则使F(a, b, c, d) = 0 通常会给出两个DCC,隐藏01则让第一个DCC为0,第二个DCC为1。所以,给出的DCC是有顺序的。【问题】
  • 编码器水印 1. 将所有DCC按大小排列,输入位数为floor(lg(DCC数量)),设为x。输出位数为y 2. 将要嵌入的水印转为二进制,并按(x+y)的整数倍补齐 3. 按从右到左的顺序补入DCC,略难描述。
  • 图着色水印 1. 为图中的顶点加上序号 2. 将消息转为二进制,从左到右取位 3. 为每个顶点寻找序号最小的两个不直接连接的顶点,如果要隐藏的位是1,则连接较大的那个,不然则连接较小的。
  • 可靠性 credibility 不同芯片水印发生碰撞的可能性应该非常小。
  • 易检验性 easy detectability
  • 弹性 resilience 水印不容易移除
  • 透明度 水印方法必须公布,且设计软件能够帮助嵌入和检测
  • 部分保护 水印技术可以只保护一部分设计,从而让水印针对某个IP进行保护
  • 平等性 应该对所有设计者和签名都平等
  • 零负担水印 1.首先不考虑水印,如常设计。2.寻找可以嵌入水印而不增加负担的地方。3.调整设计,嵌入水印。通常第2、3步会不断寻找、尝试、测试。
  • 基于约束的水印 以及 公开水印 【是完全没有看懂】
  • 基于图分割问题得公开水印 将节点配对,如要隐藏1,则把该位置这对节点放在两边;如要隐藏0,则放在一边。由后往前。
  • 指纹 水印标示着IP的所有人,指纹标示着IP实例的特征,其实就是个序列号。
  • 基于图着色问题的指纹 利用DCC的结果不同生成指纹。
  • 硬件计量 使设计师可以控制生产中的IP保护,例如过量生产。水印无法防止过量生产,但指纹可以。
  • ICID 芯片在制造中自带的随机ID,是由于生产过程中的随机因素所产生的,属于被动标签,可用于指纹。

三、物理攻击

PA | 物理攻击 | Physical Attack
FIB | 聚焦离子束 | Focused Ion Beam
ASIC | 针对应用的集成电路 | Application-specific Intergrated Circuit
FIPS | 联邦信息处理标准 | Federal Information Processing Standard
ME | 模幂 | Modular Exponentiation

  • PA: 物理攻击,

    • 需要:




    1. (直接的)芯片接触
    2. 信号线的接触(测量)
    3. 设备,工具,技能以及知识


    • 两个步骤:




    1. Interaction(互动),获得设备的物理特性
    2. Explotation (利用),获得秘密


    • 攻击者分类:




    1. Class I(Clever Outsiders)
    2. Class II(Knowledgeable insider)
    3. Class III(Funded Organizations)
  • 密码分析: 数学性分析方式,寻找理论漏洞
  • 侵入式攻击:Invasive Attack

    • 例子

      • 解封与逆向处理 Decapsulation and Deprocessing
      • 逆向工程 Reverse Engineering
      • 消除钝化与微探针 Depassivation and Microprobing
      • 芯片修改 Chip Modification
    • 工具

      • 焊接与脱焊
      • 化学药品
      • 高精度光学显微镜
      • 示波器,信号发生器
      • 接线、激光切割、微探针能力
      • 扫描型电子显微镜
      • FIB 工作站
    • 对策

      • 混淆走线
      • 数据加密
      • 隐藏数据总线
      • 外部设置传感器网络、自毁
  • 非侵入式攻击: Non-invasive Attack

    • 例子

      • 旁路攻击
      • 蛮力
      • 数据剩磁 Data Remanence
      • 故障注入
    • 工具

      • 万用表
      • 通用编程芯片
  • 半侵入式攻击:Semi-invasive Attack

    • 例子

      • 解封装与逆向处理
      • 成像
      • 故障注入
      • 旁路攻击分析
    • 工具

      • 紫外光以及激光光源
      • 显微镜
      • 计算机,以及FPGA板、面包板之类的
  • 逆向工程:侵入式攻击。研究芯片内部构造及功能。花费高,基本与设计者要求相当。
  • 微探针: Microprobing 侵入式攻击 在芯片表面进行观察,操作,干扰
  • 故障生成: 半侵入式或是非侵入式,使芯片在极端条件下工作,导致失灵,并且泄漏信息,或者获得额外权限。对策:校验和、随机执行、冗余、故障侦测。
  • 旁路攻击:非侵入式攻击。在正常工作时测量监控芯片的物理参数,通过分析数据获取信息。
  • 软件攻击:非侵入式攻击。通过普通的I/O口,利用已知漏洞进行攻击。
  • 数据剩磁

    • 掉电、长时间存储、低温(-20°)冰冻后,数据可能存在SRAM中。
    • EEPROM和Flash中,写数据会影响电压
  • 故障注入攻击:电源、温度、白光、激光、X射线、离子束、电磁
  • 防篡改保护级别

    • 零 ZERO

      • 微处理器、通过外部存储器存储数据的FPGA
    • 低 LOW

      • 拥有内部存储功能的微处理器,存储功能有专利而没有被保护
    • 中低 MODL

      • 拥有保护的微处理器,但是对温度计电压敏感
    • 中 MOD

      • 微处理器的保护措施涵盖紫外线、ASIC、安全的存储芯片、SmartCard
    • 中高 MODH

      • 安全的FPGA,现代化的SmartCard、复杂的ASIC
    • 高 HIGH

      • 为CA研发的安全的加密模块、工业性以及银行性应用
  • Diffie-Hellman 密钥交换:各自生成一个随机数X,计算a**x mod q 后交换结果,自己生成的随机数x即为密钥
  • RSA算法 : 太复杂了请谷歌
  • 迭代式ME: 一个个相乘然后取模
  • 开方相乘策略:square and multiply 计算a**x时,将x转换为二进制,然后从高位起逐个计算,讲起来也蛮复杂的。
  • 蒙哥马利规约:太麻烦了请谷歌
阅读 2.8k

536 声望
14 粉丝
0 条评论
536 声望
14 粉丝
文章目录
宣传栏