关注OSR的朋友们,是否留意到OSR从4月底开始,与工信部“芯动力”合作,在芯动力人才计划平台上线了一套课程。这几个月,和客户面对面交流的机会非常少,我们利用宝贵的时间,各部门协同合作,整理出来这套硬件安全技术系列课程。零基础学习硬件安全技术,虽然是吸引眼球的一句文字,但也是我们设计这套课程的初衷 - 希望这套课程能够通熟易懂、深入浅出,能用最简练的话语系统地介绍攻击和抗攻击设计技术、芯片安全架构、安全认证等相关的知识,让想进入安全领域的客户或者选择学习网络空间安全大学生,对硬件安全技术有大致的认识和了解。

本课程分为十六讲,共七章,每一章讲述硬件安全技术的一部分知识。第一章第一讲是课程介绍,梳理一下硬件安全关注的内容,以及我们对安全设计的一些理解。

硬件安全到底是什么呢?传统意义上的硬件安全主要是指“密码芯片”的安全。智能卡、RFID、可信计算芯片是独立“安全芯片”的典型形态。这类芯片架构类似,一般包含低功耗CPU, ROM、 SRAM、 NVM、密码运算模块和接口电路。整个芯片的核心功能就是保护密钥存储安全和密码计算安全。有的密码芯片也支持多应用,比如智能卡支持多个Applet。但这类芯片一般不直接接入互联网,而是作为一个边界清晰的黑盒子,用于保护密钥和密码运算。

传统的硬件安全技术围绕密码芯片的安全展开,包括防止侧信道、故障注入、探针攻击等物理攻击的技术,芯片也需要有严格的生命周期定义,并确保生产过程中的安全。安全芯片往往要通过政府或行业制定的安全测试认证才可以上市销售。认证测试重点围绕芯片抗攻击能力和全生命周期安全展开。

随着ICT产业的发展,我们正在进入一个万物互联、万物智能的时代。产品不再是独立设备,产品的功能往往需要云和端协作才能实现。目前快速发展的智能家居、智慧城市、智能交通等都依赖于产品的网联化和智能化。

智能时代带来了新的安全风险,黑客可以通过网络操控物理世界,比如攻击门锁、网联汽车、工控设备、电力网络等。可以说,网络攻击的潜在威胁,从“谋财”升级为 “谋财害命”。

避免和减少这类攻击,是网络安全行业的共同使命。我们这门课要考虑的问题,是“硬件安全”在其中的角色。

任何一个系统,最下面都是硬件层。过去二十年的历史表明,“信任根”种在硬件层才可能成为真正的信任根。信任根有了以后,基于一系列的密码和软件技术,我们可以构建从硬件到应用软件的信任链。

现在的硬件安全研究,已经超越了“独立密码芯片”的范畴。我们的系统变得更复杂更开放,因此,我们需要从开放系统的视角来审视硬件安全。传统硬件安全主要保护密钥,而新的安全不但要保护密钥,还要保护软件。

所有联网的设备都有硬件安全的需求。我们以一个(抽象的)典型的IOT架构为例,系统包括物联网设备、智能手机和云。这三个地方都有网络安全要求。例如,设备端至少有固件保护、身份识别、数据加解密的安全要求,手机端有OS安全、APP安全、生物识别等安全要求,云端有网络安全、OS/APP安全、数据安全等要求。

那么,硬件安全在这里扮演什么角色呢?

虽然云和端所用芯片在架构、算力、软件方面都不一样,但他们有一些共性的安全要求。例如,硬件应提供安全的BootROM、安全的密钥和ID管理。与此同时,芯片在进行加解密、签名验签等密码计算时不会泄漏敏感信息。手机端还需要安全执行环境(TEE),防止黑客盗取用户生物信息等隐私。云端硬件往往考虑多个运行在虚拟机上的租户的安全需求,包括密钥存储、 OS安全启动、数据安全、TLS卸载等。英特尔的SGX是云端硬件安全的一个典型产品,利用指令扩展为云用户提供“硬件安全容器”,除了提供数据和代码安全,还支持远程安全认证。

硬件安全设计中,还有一个重要的考虑,是芯片的全生命周期保护。芯片的产业链较长,从RTL到产品,由多个企业协同完成,各自负责一个环节。例如芯片的封装测试、PCB的生产和固件下发环节,往往都是在不同的地方由不同企业完成。与金融IC卡、身份证等安全芯片不一样,物联网芯片厂面临的是一个开放的生产流程,往往难以确保这些环节的安全管控。

因此,生命周期管理的核心问题是:如何在开放的供应链上构建信任根和信任链。如何用芯片上的硬件安全设计来支撑生命周期不同环节的安全需求。

我们可以把硬件安全技术简单分为四个类别,分别是硬件安全架构物理攻击技术硬件安全组件和抗攻击设计技术、以及面向软件安全的硬件设计技术。前面三块内容和传统的智能卡领域密切相关,第四部分相对较新。目前国际上硬件安全相关科研,也大部分可以归到这四类。

硬件安全设计,和其他信息安全设计一样,面临一些内在挑战。首先,随着时间推移,新的攻击方法、攻击设备一定会出现,攻击者会自然地变得更加强大,但是已经部署的产品不会自动变得更强大。另一方面,设备所在的系统变得越来越复杂,网络结构、芯片功能、软件架构等都在变得更复杂。产品在设计时,考虑的只是已知的攻击方法和已知的应用场景,但产品出来后要面对的更多。因此,产品的硬件安全设计一定是最小化安全假设,在架构和功能上保持弹性。产品具备“远程安全升级”功能非常重要

目前,在芯动力平台,我们已经上线了五章课程,课程内容如下,如果希望第一时间看到剩下的两章课程,请关注“芯动力人才计划”公众号,按照播出时间进入直播间,就能观看。

与此同时,OSR也在B站开设了账号,方便更多的朋友用碎片时间观看这套系列课程,请各位朋友上B站搜索“纽创信安”,或者通过以下链接进入。OSR会努力做一个有温度、有干货的技术型阿婆主。

https://space.bilibili.com/556358812

(点击阅读原文也能进入B站纽创信安空间)

硬件安全系列课程 第一讲 - 硬件安全综述

https://www.bilibili.com/video/BV1Eg4y1B7c7

第二讲 - 5G时代IOT环境下芯片安全风险与挑战

https://www.bilibili.com/video/BV1J5411s7RG

第三-六讲 - 芯片安全设计技术

https://www.bilibili.com/video/BV1a54y1D7v6

https://www.bilibili.com/video/BV1654y1X7o3

https://www.bilibili.com/video/BV1Xt4y117CC

https://www.bilibili.com/video/BV1rZ4y1p7Vb

第七-九讲 - 侧信道攻击从理论到实践

https://www.bilibili.com/video/BV1u5411s7Zw

https://www.bilibili.com/video/BV1Jp4y1Q7Qg

https://www.bilibili.com/video/BV1vA411t77Z

第十-十二讲 - 故障注入攻击从理论到实践

https://www.bilibili.com/video/BV1WC4y1H7qM

https://www.bilibili.com/video/BV1n54y1D75x

https://www.bilibili.com/video/BV1uA411q7b4

第十三讲-产品安全认证介绍

https://www.bilibili.com/video/BV1Na4y1v79r

本次课程是OSR的一次新的尝试,希望能得到您的支持和反馈,观看完视频的朋友们,请您在底下留言区留下您宝贵的意见和建议,有您的帮忙,我们在将来筹备新的课程,一定能做得更好。

万物互联 安全赋能

关于纽创信安OSR

深圳市纽创信安科技开发有限公司(Open Security Research Inc.,OSR),成立于2014年,总部在深圳,在北京设有研发中心。是一家专注于安全攻防技术的国家高新技术企业,为客户提供高安全IP和攻击测试服务。

纽创信安以领先的硬件安全攻防技术和创新的硬件安全方法学,致力于把金融级别的安全攻击与防御技术自动化、智能化、产品化、可视化,形成开放的方法学,为万物智联的各垂直行业做安全赋能,并致力于成为新时代安全技术的领跑者。

OSR产品和服务涵盖硬件安全检测设备、安全算法加速、硬件安全解决方案和安全咨询服务,典型客户与合作伙伴包括国家电网、南方电网、泰尔实验室、汇顶、泰凌微电子、得一微电子、云天励飞、C-Sky、Synopsys等。

零基础学习硬件安全技术相关推荐

  1. 《零基础学习Liunx之三》 The following takes place between 04:00PM and 05:00PM

    previously on 零基础学习Liunx: 上一次讲到Unix的多任务处理. 7.计算机如何保证不同的进程之间互相独立运行? 内核调度器负责将不同的进程区分开,同时,操作系统也要保障各个进程在 ...

  2. 零基础学习Hadoop

    零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结.所以索性就自己学习了.整个过程整理一下,给大家参考,欢迎讨论,共同学习. ...

  3. 零基础学习C语言如何入门(内附工具书推荐+视频教程)

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多.C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开发 ...

  4. 零基础学习C语言,怎么入门?

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多. C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开 ...

  5. 零基础学习嵌入式入门以及项目实战开发【手把手教+国内独家+原创】

    零基础学习嵌入式入门以及项目实战开发[手把手教+国内独家+原创] 独家拥有,绝对经典                            创 科 之 龙 嵌入式开发经典系列教程 [第一期] 主讲人: ...

  6. 零基础学习单片机切记这四点要求,少走弯路

    零基础学习单片机切记这四点要求,少走弯路 其中一种,其它的都能够触类旁通,快捷上手了.假如你这些条件都没有,那就跟着我学吧,我建议你进修51单片机. 为什么要进修51单片机: 虽然此时单片机品种和型号 ...

  7. 零基础学习MSP430F552LP开发板,学习前期准备,Code Composer Studio(CCS)软件的安装

    零基础学习MSP430F552LP开发板 一.前言 零基础学习MSP430F552LP开发板,为电子设计竞赛做准备以及学好这一款芯片. 在选择比赛题目时,发现有的题目时规定使用ti的芯片作为控制MCU ...

  8. 随笔分类 - 零基础学习iOS开发

    随笔分类 - 零基础学习iOS开发 不管你是否涉足过IT领域,只要你对iOS开发感兴趣,都可以阅读此专题. [零基础学习iOS开发][02-C语言]11-函数的声明和定义 摘要: 在上一讲中,简单介绍 ...

  9. 无线通信零基础学习记录(2)——GSM空中接口物理层的设计

    无线通信零基础学习记录(2)--GSM空中接口物理层的设计 本章解释清楚了之前未搞懂的名词,如时隙等,以及各种信道类型,在此一并总结. TDMA空中接口技术 时分多址(TDMA,Time Divisi ...

最新文章

  1. @class和#import
  2. Skype的收购为微软带来了什么
  3. mysql远程连接数据库的二种方法_mysql 远程连接数据库的二种方法
  4. 哈根达斯发布违法广告被罚1万 用代可可脂冒充巧克力
  5. SQLServer文件收缩-图形化+命令
  6. Carbon和Polacode教程
  7. C++入门指南及实战 第一步 概述及经典HelloWorld
  8. 移植u-boot-2012.04.01到jz2440开发板
  9. Linux(二):VMware虚拟机中Ubuntu安装详细过程
  10. feign扫描_微服务通信之feign的注册、发现过程
  11. 图表中如何实现动态变更分类轴与系列值
  12. 向新手和不愿意尝试的童鞋推荐vim插件(转载)
  13. 《Java安全编码标准》一2.9 IDS08-J净化传递给正则表达式的非受信数据
  14. Node.JS 字符分割
  15. 阿里云首席安全科学家吴翰清的思考:弹性安全网络,构建下一代安全的互联网
  16. R语言条形图 bar chart
  17. 杭电计算机组成原理实验RISC-V 实验 取指令及指令译码实验
  18. 成为会带团队的技术人 跨团队:没有汇报线的人和事就是推不动?
  19. 第八讲:期望最大化算法(EM algorithm)
  20. Facebook Marketing: Advanced Advertising Facebook营销:高级广告 Lynda课程中文字幕

热门文章

  1. Yocto Issues | The TMPDIR: /home12/calm.xia/poky/qemuarm/tmp can't be located on nfs.
  2. 怎么用matlab求兔子繁衍,习题4-11 兔子繁衍问题 (15 分)
  3. 如何从screen Attached 恢复
  4. 【愚公系列】2022年02月 U3D全栈班 007-制作设置天空盒资源
  5. ibm软件下载网页链接
  6. 新款任天堂(Switch)游戏机底座带网口方案LDR6023B+AX88179
  7. Oracle的启动与停止(三个启动阶段和四种停库模式)
  8. ORACLE 删除归档日志连接rman查看归档日志占有率
  9. Kindle阅读器(KPW、KV、KO)怎么导入电子书?
  10. 另类的 ETL 工具 sed 进阶