零基础学习硬件安全技术
2022年06月28日
关注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
硬件安全系列课程 第一讲 - 硬件安全综述
https://www.bilibili.com/video/BV1Eg4y1B7c7
第二讲 - 5G时代IOT环境下芯片安全风险与挑战
https://www.bilibili.com/video/BV1J5411s7RG
第三-六讲 - 芯片安全设计技术
https://www.bilibili.com/video/BV1a54y1D7v6https://www.bilibili.com/video/BV1654y1X7o3https://www.bilibili.com/video/BV1Xt4y117CChttps://www.bilibili.com/video/BV1rZ4y1p7Vb
第七-九讲 - 侧信道攻击从理论到实践
https://www.bilibili.com/video/BV1u5411s7Zwhttps://www.bilibili.com/video/BV1Jp4y1Q7Qghttps://www.bilibili.com/video/BV1vA411t77Z
第十-十二讲 - 故障注入攻击从理论到实践
https://www.bilibili.com/video/BV1WC4y1H7qMhttps://www.bilibili.com/video/BV1n54y1D75xhttps://www.bilibili.com/video/BV1uA411q7b4
第十三讲-产品安全认证介绍
https://www.bilibili.com/video/BV1Na4y1v79r
本次课程是OSR的一次新的尝试,希望能得到您的支持和反馈,观看完视频的朋友们,请您在底下留言区留下您宝贵的意见和建议,有您的帮忙,我们在将来筹备新的课程,一定能做得更好。