【安全硬件】Chap.6 芯片生产猜疑链与SoC设计流程;可能会存在的安全威胁Untrusted IC Supply Chain Threats

news2024/11/19 19:42:08

【安全硬件】Chap.6 芯片生产猜疑链与SoC设计流程;可能会存在的安全威胁Untrusted IC Supply Chain Threats

  • 背景
  • 1. IC和半导体产业的全球化
  • 2. 芯片生产猜疑链——Untrusted IC Supply Chain Threats
    • 可能会存在的安全威胁
  • 3. SoC Design Flow
  • 主要参考来源

背景

  在现代 超大规模集成电路设计(VLSI) 行业中,设计和制造是分开进行的,设计者通常对负责生产的代工厂几乎没有控制权,自然而然地会认为代工厂根本不可信。集成电路 (IC) 生产供应链的跨国、分布式和多步骤性质引入了基于芯片硬件的漏洞。

1. IC和半导体产业的全球化

  IC和半导体产业的全球化。由于芯片设计公司的竞争对手会千方百计地提高产品上市时间产品功能和性能。许多芯片公司的解决方案是增加团队规模——将更多资源投入到项目中,增加工程师来掩盖设计复杂性和上市时间压力的问题。
  一旦做出该决定,公司为了节约开发成本会选择增加更低成本的工程师,从公司的管理层做出的决定可以看出需要在非发达国家寻求拥有良好技术基础的专业工程师比如中国和印度。并不是说这些国家的工程师比北美或欧洲的工程师更有效率,而是因为他们的价格要低得多——便宜四到八倍。
在这里插入图片描述

图1. IC设计的复杂性越来越高,逐渐成为全球性合作

  所以,由于IC设计的复杂性超过了团队的设计生产力时,IC产业会逐渐成为全球性的企业跨境合作。
  Among the forces reshaping the semiconductor industry, few are more important than R&D productivity’s inability to keep pace with the challenges of product development. However, there are steps companies can take to close the gap: Cooperation between companies in various regions, IC production has became a global enterprise.

IC 开发生产力下降意味着工程岗位流失
What happens when chip-design Complexity outpaces design productivity

2. 芯片生产猜疑链——Untrusted IC Supply Chain Threats

  IC设计和半导体产业全球供应链概述:设计 IC 涉及从第三方设计公司采购知识产权 (IP) 设计,在内部设计一些组件,将两者结合起来,然后生成 IC 布局。然后将设计蓝图(例如,根据 GDS-II 布局格式)发送到代工厂,代工厂开发昂贵的掩模并制造 IC。然后,IC 会在制造现场进行测试,通常还会在第三方测试机构进行测试。最后,无故障的 IC 被封装和销售。
在这里插入图片描述

图2. 芯片生产猜疑链——Untrusted IC Supply Chain Threats
  • 如今,设计 IC 的第一阶段涉及将知识产权 (IP) 设计外包给第三方设计公司(例如英国的 ARM 或 Imagination Technologies)。由于第三方的IP通常有很多保护的方式使得使用的设计师和购买的消费者无法验证IP的内容,因此理解为Semi-trusted

  • 第二阶段是设计额外的组件和系统集成,这通常在内部完成,在此步骤结束时会生成 IC 布局。由于是自己人设计完成的,因此理解为Trusted

  • 在第三阶段,设计蓝图(例如,GDS-II 布局格式)被发送到开发昂贵掩模并制造 IC 的代工厂,然后在制造现场进行测试,通常还会在第三方测试中进行测试设施。值得注意的是,目前大多数制造设施都位于东亚的中国大陆和台湾等地。设计者通常对负责生产的代工厂几乎没有控制权,自然而然地会认为代工厂根本不可信,因此理解为Untrusted

  • 测试阶段是自己人测试,因此理解为Trusted

  • 最后阶段是 IC 封装,也可以在另一个地理位置完成,很大可能是由另一个企业完成,因此理解为Untrusted

可能会存在的安全威胁

  IC 供应链的这种分布式特性在很大程度上依赖于来自世界各地的重复使用专业知识,引入了许多硬件安全威胁,最突出的是木马程序插入的风险。基于这一假设,设计者研究了代工厂布局层可能发生的各种攻击,例如硬件木马插入、IP 和 IC 盗版和假冒,并已经做出了许多努力来降低这些风险。如上图所示,其中芯片生产猜疑链各部分中可能会存在的安全威胁有:

  • 硬件木马。Hardware Trojans: An attacker either in the design house or in the foundry may add malicious circuits or modify existing circuits.

  • IP 盗版和 IC 过量生产。IP piracy and IC overbuilding: An IP user or a rogue foundry may illegally pirate the IP without the knowledge and consent of the designer. A malicious foundry may build more than the required number of ICs and sell the excess ICs in the gray market.

  • 逆向工程 。Reverse engineering (RE): An attacker can reverse engineer the IC/IP design to his/her desired abstraction level. He can then reuse the recovered IP or improve it.

  • 侧信道估计。Side-channel analysis: An attacker can extract the secret information by exploiting a physical modality (power consumption, timing, or electromangnetic emission) of the hardware that executes the target application.

  • 伪造。Counterfeiting: An attacker illegally forges or imitates the original component/design.

A Primer on Hardware Security: Models, Methods, and Metrics

3. SoC Design Flow

SoC 设计细节
软硬件分工
原型验证如FPGA或ASIC
软硬件联合验证
代工厂批量生产和发货
PCB制造和设备组装
  1. SoC 设计细节——SoC Design specifics:
      需要将功能需求转化为如system C语言的模型,完成基本的功能测试,并以此为标准,通过其他算法探索其他方案。
    SoC Design specifics:
  • user’s requirements
  • functionality
  • modes of operation
  • work plan:设计过程、任务、时间表和里程碑
  • performance
  • power
  • size
  1. 软硬件分工——Architecture Design; HW/SW partitioning
      决定硬件软件分别实现那些功能,定义软硬件之间的接口(interface)和协议(protocols),购买软硬件IP实现系统功能。
  2. 原型验证——Prototype on platform,如FPGA或ASIC平台
      以基于FPGA平台的原型验证为例,具体实施一般分为三个阶段:
  • 功能设计阶段:硬件的行为模型与软件的工作原型一起创建。
  • 电路设计阶段:功能块的行为描述被转移到电路中。对于数字块,此过程是自动化的,并且基于合成算法。对于模拟块,这必须手动完成;正在进行模拟设计过程自动化的研究。
  • 物理设计阶段:主要设计任务包括:平面规划,焊盘环设计,放置,时钟树设计,功率和IR压降分析(动态和静态),布线和设计规则检查。
  1. 软硬件联合验证——HW/SW co-verification:

  2. 代工厂批量生产和发货——Volume manufacture and ship

  3. PCB制造和设备组装—— PCB manufacture and device assembly

IC生产供应链已成为跨国分布式业务,涉及世界各地的公司。

在这里插入图片描述

图3. 跨国间的SoC设计合作流程(简)

主要参考来源

Soton: Dr Basel Halak

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/147723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

专属 Python 开发者的完美终端工具

目录 前言 1.Rich 兼容性 2.Rich 安装说明 3.Rich 的 Print 功能 4.自定义 Console 控制台输出 5.Console 控制台记录 6.表情符号 7.表格 8.进度条 9.按列输出数据 10.Markdown 11.语法突出显示 12.错误回溯(traceback) 前言 今天给大家推荐一个非常精美的终端工…

数学建模——线性规划

目录 一. 线性规划 1.基本概念 线性规划的标准形式为: 线性规划的解: 线性规划三要素: 灵敏度分析: 2.matlab的实现 二. 整形规划 1.整型规划分类 2.基础模型 2.1 非线性约束条件的线性化 3.模型求解 一.钢管下料问题…

【模板初阶】

目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.2 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.4.1 隐式实例化 2.4.2 显式实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 4 总结 1. 泛型编程 如何实现一个通用的…

【Linux】简单理解静态库(.a)和动态库(.so)

在程序运行的基础原理这篇文章中,最后的代码进行链接过程,我们提到了动态库和静态库的概念。那么什么是动态库和静态库呢?我们来简单理解一下 静态库和动态库1.静态库1.1 静态链接优点1.2 静态链接缺点2.动态库2.1 动态链接的优点2.2 动态链接…

Ae 案例:制作漏光效果

本文介绍使用 Ae 内置效果插件制作漏光效果 Light Leak的一般方法与步骤。效果视频1、新建合成。持续时间:10 秒。2、新建纯色图层,命名为“漏光效果”,然后添加分形杂色 Fractal Noise效果。调整出如云朵一般柔和且层次多的分形杂色图。分形…

TCP中的状态转移(三种情况)

文章目录前言一、 TCP的生命周期二、另外两种挥手情况三、经典四问总结前言 博主个人社区:开发与算法学习社区 博主个人主页:Killing Vibe的博客 欢迎大家加入,一起交流学习~~ 在正常情况下,TCP要经过三次握手建立连接&#xff0c…

部署Web项目 (Linux)

部署Web项目 -- Linux一、Linux 环境搭建二、Linux 常用命令三、搭建 Java 部署环境3.1 JDK3.2 Tomcat3.3 MySQL四、部署 Web 项目4.1 什么是部署4.2 数据库建表4.3 构建项目并打包4.4 拷贝到 Tomcat 中4.5 验证一、Linux 环境搭建 这里我们使用的方法是购买云服务器 (CentOS …

组合数素数判定++和* *t=*afor循环你真的门儿清吗救济金发放

目录 P63_习题4-1_组合数 为什么m n-m P64_习题4-3_素数判定 为什么要floor 到底为什么判断到sqrt(n)即可 和* *t*a for循环你真的门儿清吗 为什么要把较大的数组放在main函数外 P82_eg4-3_救济金发放_UVa133 P63_习题4-1_组合数 防止溢出&#xff0c;又因为m < n…

【JavaScript】module let Object.setPrototypeOf()以及箭头函数

案例&#xff1a;选项卡 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthde…

python 3 添加环境变量后 仍然无法用cmd输入python访问,而是弹出应用商店 | 两种解决方法

问题描述 今天重装python3.10后发现即使正确添加环境变量时&#xff0c;仍然无法用cmd输入python或python3访问&#xff0c;而是弹出应用商店。但是如果输入cmd里输入py是可以运行的&#xff08;证明python是正常安装好的&#xff09;。 这里给出两种解决方法&#xff0c;一种…

指针进阶(详解)

指针进阶一.字符指针二.指针数组1.一次打印多个字符串2.模拟二维数组三.数组指针1.定义2.应用四.函数指针五.函数指针数组六.指向函数指针数组的指针七.回调函数在开始这篇之前&#xff0c;前面有两篇指针初阶&#xff0c;如果需要的话可以去看看哟&#xff01;指针初阶1&#…

网络安全等级保护确定定级对象

声明 本文是学习github5.com 网站的报告而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 网络安全等级保护确定定级对象 信息系统 定级对象的基本特征 作为定级对象的信息系统应具有如下基本特征&#xff1a; 具有确定的主要安全责任主体&#xff1…

【MySQL进阶教程】SQL优化

前言 本文为 【MySQL进阶教程】SQL优化 相关知识&#xff0c;下边将对主键优化&#xff0c;order by优化&#xff0c;group by优化&#xff0c;limit优化&#xff0c;count优化&#xff0c;update优化等进行详尽介绍~ &#x1f4cc;博主主页&#xff1a;小新要变强 的主页 &am…

利用Python为女神制作一个专属网站

快跟随小编一起学习一下如何利用Python语言制作一个专属的网站送给女神吧&#xff01; 如觉得博主文章写的不错或对你有所帮助的话&#xff0c;还望大家多多支持呀&#xff01;关注、点赞、收藏、评论。 目录如觉得博主文章写的不错或对你有所帮助的话&#xff0c;还望大家多多…

1995-2019年全球清廉指数

1995-2019年全球清廉指数 1、时间&#xff1a;1995-2019年 2、来源&#xff1a;透明国际&#xff08;Transparency International&#xff09; 3、区域&#xff1a;全球170多个国家 4、指标说明&#xff1a; 清廉指数&#xff08;Corruption Perceptions Index&#xff0c…

【自学C++】C++ short

C short C short教程 C 中的 short 用来表示一个 整数&#xff0c;也可以叫做短整型&#xff0c;如果我们需要表示的整数比较小&#xff0c;那么我们可以使用 short 来定义&#xff0c;这样可以节省系统资源。 C short定义详解 语法 short int varname value; short varn…

【django】关联模型类中数据的增删改查操作总结

文章目录一、多对一正向操作1、改方法一方法二2、删3、查反向操作案例1&#xff1a;查询百度渠道下的所有学生信息案例2&#xff1a;新增一个百度渠道下的学生1、增直接创建Student对象2、改方法一&#xff1a;add()案例1&#xff1a;将s1,s2,s3添加到百度渠道中方法二:替换对象…

【Java】遨游在多线程的知识体系中(二)

前言&#xff1a;一、分析上篇多线程不安全原因1. count 操作是三个步骤&#xff0c;load add save2. 多个线程之间的调度是无序的&#xff0c;两个线程的上述三个操作可能存在多种不同的相对顺序3. 线程针对变量的修改不是原子的4. 内存可见性5.指令重排序二、synchronize 关键…

Java中clone的浅拷贝和深拷贝区别以及方法详解

克隆定义 在 Java 中&#xff0c;克隆是创建原始对象的精确副本的过程。它本质上意味着能够创建一个与原始对象具有相似状态的对象。 复制对象&#xff0c;首先要分配一个和源对象同样大小的空间&#xff0c;在这个空间中创建一个新的对象。 new对象和clone区别 使用new操作符创…

Python批量采集无水印短视频内容

前言 短视频流行起来可不是一年两年了&#xff0c;现在很多年轻人都在玩短视频&#xff0c;有些的单纯就是看看&#xff0c;而有些的就是自己发视频 我每天刷视频&#xff0c;一刷就停不下来&#xff0c;应该还是有蛮多人跟我一样的吧 那有没有想法用自己所学的python知识&a…