一、硬件安全技术是什么?

  1. 传统视角:
    硬件安全=密码芯片安全,特别是智能卡、可信计算、Ukey等芯片攻击防御技术

密码芯片的逻辑接口、物理接口安全;
核心功能:具备防攻击能力,能有效保护秘钥存储、进行安全密码运算

密码芯片是一个边界清楚,作为一个黑盒子,放在系统中,起到安全密码运算、防攻击等功能。

二、智联时代

  1. 万物互联+智能化
    云、端协作、数字孪生、海量数据,如智能家居、智慧城市、电力网络等迈向智能时代。

  2. 网络攻击进入物理世界:
    攻击截面扩大,风险巨大,如黑客操控物理世界产品,威胁从“谋财”升级为“害命”

    因此,需要相关的技术来解决安全问题。

三、真实世界安全问题层出不穷

  1. 监控摄像头的攻击
  2. 智能音箱攻击
  3. 服务器攻击
  4. 个人电脑攻击
  5. 电力、网络攻击

如何减少这类事件的发生,因此,硬件安全技术可以有效的解决这类事件发生的概率。

四、硬件安全:新视角


解决安全问题,可以分为四个部分来进行问题解决:
应用软件,操作系统,底层软件,硬件层(如硬件电路)

系统和固件是密不可分;
系统信任跟由硬件+底层软件共同保护;
如果底层有漏洞,那么系统肯定会被破解;

因此,硬件安全研究不仅仅局限传统的独立密码芯片研究范畴,现在考虑的是在更复杂的、开放的系统中,硬件安全能够做什么?
传统的硬件安全保护秘钥,未来的硬件安全除了要保护秘钥,还要保护软件,再由软件再保护上层应用。

硬件安全用在什么地方,所有联网的设备,必须用到硬件安全技术

举一个简单的IoT例子:(物联网设备、智能手机、云)

  1. 设备端:
固件保护
身份识别
数据加解密
其他
  1. 手机端:
OS
APP安全
生物识别安全
其他
  1. 云端
网络安全
租户OS安全
数据安全
其他

硬件安全扮演的角色:
虽然云和端所用的芯片架构不一样,如算力、软件等。但是却有相同的硬件安全要求。
例如:

1. 硬件需要提供安全的Boot ROM。芯片启动第一步,信任根
2. 安全秘钥、ID的管理
3. 加解密、签名、密码运算等秘钥安全信息
4. 随机数发生器

对于手机端,可能还有安全执行环境,需要run应用,如指纹、人脸。
对于云端,考虑运行在虚拟机上的多个用户安全需求,如每个用户可能有自己秘钥存储需求;OS的安全启动数据安全需求;TLS的卸载

五、生命周期安全设计

生命周期安全设计是硬件安全需要考虑的重点内容。

实际在芯片的最初的RTL设计,到交付至用户的,存在很多环节。很多环节有可能导致秘钥、固件或者其他敏感信息的泄露,那么硬件安全如何在开放的供应链上构建信任根和信任链?这一点是硬件安全需要解决的问题。

六、硬件安全技术


硬件安全上主要研究内容可分为以下四个部分:

  1. 硬件安全架构
  2. 物理攻击技术
  3. 抗攻击设计
  4. 面向软件安全的硬件设计

七、侧信道攻击

  1. 侧信道攻击


    SCA本质上利用芯片在计算时,边信道的泄露,内部的电路的状态取决于算法的设计,例如对于8bit的寄存器,若初始值为0,一旦我们往里面写入一个字节的数据,那么在写入的过程中,部分寄存器的状态会翻转,即会引起功耗的变化(电容)。实际上,这种泄露是很危险的,并且在电路中一直存在的。

    侧信道的攻击对象发展有经历了如下过程:

    一直存在的误解是,人们经常认为侧信道攻击只是对工艺落后的芯片才能进行攻击,却认为对面积大、工艺先进的芯片没有威胁,实际上这个观点是错误的,只要芯片在做密码相关的计算,就可能存在侧信道信息的泄露。

  2. 侧信道攻击的分类
    除了从瞬时功耗的角度发现了可以攻击密码芯片外,此外还有电磁辐射光子泄露计算时间等侧信道的信息。

    侧信道攻击不需要破坏芯片或者修改软件,就可以攻击,因此其攻击门槛低,威胁较大

    因此,抵抗侧信道攻击是安全芯片的主要的技术难点之一。

八、微架构侧信道(MASCA)

侧信道的其中一个分支为微架构侧信道,最近几年比较热门的侧信道。
微架构侧信道分析:利用处理器架构的特点,获取与敏感信息(如秘钥)相关的信息泄露(如时间),来破解系统安全防护。

如2017年,熔断和幽灵:滥用CPU推演执行功能,来构造攻击场景,对大量intel CPU均有效;
2018年,Foreshadow:滥用CPU推演执行破解了SGX;
2019年,NCC 高通 QSEE攻击:利用分支预测和cache的时序泄露,获得Trustzone之中的ECDSA私钥。

传统的攻击是需要黑客去靠近设备来达到攻击的目的,不能够批量的攻击设备,但是微结构侧信道攻击可以远程进行批量攻击。

九、公钥密码算法

公钥算法的演进:

十、硬件安全的内在挑战


硬件安全设计和其他信息安全设计一样,也面临着内在的挑战。
首先,随着时间推移,新的攻击方法、新工具也会层出不穷,攻击者会变得越来越强,但是产品并不会变得更加抗攻击。
其次,设备所在的系统会更加复杂,包括网络结构、芯片架构、软件应用等。

因此,在安全设计时,最小化的安全假设,同时保持足够的功能和架构的安全性

硬件安全技术——概述1(安全威胁和硬件安全技术)相关推荐

  1. 【TA-霜狼_may-《百人计划》】图形2.7.2 GPU硬件架构概述

    [TA-霜狼_may-<百人计划>]图形2.7.2 GPU硬件架构概述 @[TOC]([TA-霜狼_may-<百人计划>]图形2.7.2 GPU硬件架构概述 GPU是什么 GP ...

  2. 我的智能充电桩开发笔记(二):系统硬件电路设计概述

    2.我的智能充电桩开发笔记(二):系统硬件电路设计概述 2 系统硬件电路设计 ​ ∗ ∗ ∗ ∗ 开 放 全 部 硬 件 , 软 件 设 计 资 料 , 如 硬 件 原 理 图 ,

  3. 网络安全技术与黑客攻击威胁

    网络安全技术与黑客攻击威胁 作者:彭铮良 1.1 引言 企业网络安全的核心是企业信息的安全.为防止非法用户利用网络系统的安全缺陷进行数据的窃取.伪造和破坏,必须建立企业网络信息系统的安全服务体系.关于 ...

  4. 【Windows 逆向】OD 调试器工具 ( 分析 OD 硬件断点处的关键代码 | 添加硬件断点 | 关键代码 | MOV 指令 | EAX 寄存器值分析 | 使用命令查看 esi+0cc 地址 )

    文章目录 一.添加硬件断点 二.关键代码 三.MOV 汇编指令格式 四.EAX 寄存器值分析 五.使用命令查看 esi+0cc 地址 一.添加硬件断点 在上一篇博客中 , 在子弹个数数据内存地址 07 ...

  5. linux 系统时间 硬件时间,linux 设置系统时间和硬件时间

    linux 的系统时间有时跟硬件时间是不同步的 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel ...

  6. 查看硬件配置的Linux命令,LINUX 查看硬件配置命令的教程

    你还在为不知道linux 查看硬件配置命令的教程而烦恼么?接下来是小编为大家收集的linux 查看硬件配置命令的教程教程,希望能帮到大家. linux 查看硬件配置命令的教程 系统 # uname - ...

  7. 组成计算机cpu的两大软件是,交换机和计算机一样,也由硬件和软件两部分组成,硬件包括CPU...

    (1)智能交换机,也称为网管交换机.具有独立的操作系统,可以进行配置和管理.随着网络规模的扩大,接入计算机数量的增多,为了提高数据传输的效率,保障敏感部门数据的访问安全,对一些安全性要求较高,或较为复 ...

  8. 嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

    嵌入式硬件基础 1,存储器 1.1 概念 1.2,存储器结构模型 1.3,存储器性能指标 1.4,嵌入式存储器类型 1.4.1,只读存储器 1.4.2,随机存储器 1.4.3,双端口RAM 1.4.4 ...

  9. python无法初始化设备_【无法初始化这个硬件设备驱动程序】无法初始化这个硬件的设备驱动_无法初始化d3d...

    2017-08-25 16:30:37 在安装驱动的过程中也会出现很多问题,有的win7用户在安装驱动失败后,在设备管理器中有个硬件前有感叹号,打开属性一看,显示"Windows无法初始化这 ...

最新文章

  1. hdu 4632 子字符串统计的区间dp
  2. 关于c++ template的branching和Recursion的一段很好的描述
  3. 浅谈UML的概念和模型之UML九种图
  4. 基于python的聊天软件的设计与实现_Python基于TCP实现会聊天的小机器人功能示例...
  5. 为什么c相电路在前面_Buck电路的多角度分析
  6. 寂寞了就去搞钱?俞敏洪举报“俞敏洪”:“搞钱论”没一句话是我说的
  7. Spring Boot 学习系列(07)—properties文件读取
  8. 如何卸载 Internet Explorer 7
  9. Sklearn之datasets和训练
  10. Loj #2568. 「APIO2016」烟花表演
  11. Xcode6 - 更改项目Copyright
  12. 计算点到SVM超平面的距离
  13. python大数据和java大数据的区别-Java、Python和大数据,哪个发展前景最好?
  14. 斐讯 N1 降级、刷机及 Armbian 安装 [2019.7.23]
  15. adb 连接某个wifi_使用adb命令连接WiFi进行无线调试
  16. jq 登陆界面 php,利用jquery制作用户登陆界面
  17. 系统无法以在此计算机上安装,windows无法完成安装若要在此计算机上安装怎么办...
  18. devops summary
  19. Qt [GC9-14]:HUD-定速巡航、自适应巡航、车道偏离、车距保持
  20. 没有测试实践就没有发言权

热门文章

  1. 【c++】经典面试题吐血整理
  2. 哈尔滨工业大学信号与系统期末复习(一)
  3. 项目经理部的周例会中项目经理要做的事情
  4. 微商成交率低无客源怎么办?大咖这样做可以逆袭成功
  5. 我00后,会Python,月薪4000,兼职1.2w
  6. MobPush的消息推送原理是什么?
  7. 什么是工业互联网?5G到底能在工业互联网中承担哪些重任呢?
  8. 51单片机——I2C-EEPROM实验,小白讲解,相互学习
  9. 使用AFS, Active Directory和SSSD搭建用于集成电路设计的分布式存储系统 【十二】部署第一台 AFS 服务器 1
  10. 介绍一种方法,无需插件支持blog代码高亮,代码发芽网