请选择 进入手机版 | 继续访问电脑版
搜索
查看: 388|回复: 3

[分享] 信息安全 | STM32保“密”诀窍,你都造吗?

[复制链接]

该用户从未签到

981

主题

2070

帖子

0

蝴蝶豆

管理员

最后登录
2020-7-8
发表于 2020-3-26 13:31:34 | 显示全部楼层 |阅读模式
11.jpg

万物互联畅想下,如何应对安全挑战?

物联网(IoT)作为数字化转型浪潮最热门的科技风口或发展方向,全景融合了嵌入式技术、网络技术、感知技术、通信技术和信息安全技术等于一身,成为智能家居、可穿戴、工业物联网、智能城市、自动驾驶汽车等应用场景背后的核心技术支撑。随着接入设备的指数级增长,我们在体验了设备之间实现有效通信、自动化、大幅节省时间和成本等便捷后,而另一面指数级升级的“安全威胁“,也逐步成为物联网(IoT)未来最关键的挑战,诸如物联网用户受到网络攻击和身份盗用的隐私问题,老旧物联网设备的加解密技术带来的安全漏洞等等。

1 什么是安全?
在英语中,安全一词有两种不同的定义:Safety, 通常指功能安全 Functional Safety,即保护系统不受那些随机故障的影响,功能安全的失效通常造成对人身和环境的破坏及威胁;另一个 Security,强调信息安全 Information Security,保护资产不受恶意威胁而遭受损失。
在信息安全的框架下,我们提到资产,就是指一切我们认为有价值的对象;我们要保护资产,有安全的考量,说明资产有弱点,也叫漏洞,也就是系统的脆弱性;威胁,就是利用资产的弱点来破坏系统运行的一系列行为,令资产价值损失,让恶意第三方获益。资产、弱点、威胁构成了资产弱点威胁模型。当我们谈信息安全时,首先要甄别需要保护的资产是什么?明确了这一点,才可能针对有风险的系统弱点来制定安全方案、采取安全措施。
根据安全应用的不同,要保护的资产(或者叫属性/property)也有所不同。与STM32应用领域相关的信息安全保护,就是保护完整可靠的数据,仅能被授权访问。

信息安全有三个基本要素:C.I.A,Confidentiality=保密;Integrity =完整;Availability=可用。

保密性,通俗讲就是一般人不可知晓。它的另一层意思就是:只有被授权的主体才知道信息的内容。
完整性,Integrity。信息的完整性,要分成两个方面来理解,狭义的完整,就是信息本身没有被修改被破坏;广义的完整性,还包括该信息的来源方是可靠的。举个例子,有人盗取了别人的身份证,然后号称这是他。这个身份证本身是完整的,真正的身份证,符合狭义完整性;但这个身份证不是这个人的。这就不具有广义的信息完整性。
可用性,表示被授权的主体,在需要的时候可以访问到信息或者服务。

22.jpg
信息安全三要素

信息安全有三大工具,标识(Identity)、认证(authentication)和授权(authorization)。标识,用来表明主体的身份,由主体提出,可能是真,可能是假,需要认证;认证,用于核实声称的内容,常用方法有询问你知道的一些事情,你的身份证件,或者你独有的特征;对标识的认证完成后,就要授权该标识所代表的主体可以访问的资源,和可以实施的行为。

那么,问题来了,信息安全的三大工具是如何支持信息安全三要素的?

33.png
信息安全三要素 VS. 工具

机密性,表示信息不能被未授权的主体获得。有主体,就有标识,有标识就需要认证;然后能访问和不能访问,就是授权的不同。
完整性,表示信息被未授权的主体修改后能被立即识别。广义的消息完整性还要保证信息来源的可靠,即主体可靠。那么自然也就需要标志,和认证。
可用性,表示被授权的主体,在需要的时候能够访问到信息。自然也是有主体,就有认证,然后授权他可以使用某种服务或者访问某种资源,比如信息。

2 安全,贯穿产品的整个生命周期

理解安全的定义、信息安全三要素和三大工具后,我们认识到要做好信息安全保护,需要建立安全分析模型,基本思路就是基于对主体的资产弱点威胁分析,列出所有资产,理解相关威胁,思考相关弱点,然后策划对应的保护措施。我们要理解,资产是安全第一关注的对象;认识安全风险来自资产、弱点、威胁的交集;运用安全与资产、弱点、威胁的依赖关系,设计对应的保护措施。
作为开发者,我们一定要建立体系化的安全思维:安全绝不是一个点,它是一个整体概念,不仅是系统上的整体,还是时间跨度上的整体。安全思维需要贯穿产品的整个生命周期,从功能定义,设计,开发,测试;到生产制造、传输,部署,以及使用寿命内的产品维护。

44.jpg
安全分析举例:一个安全的家

55.jpg

安全是一个系统的设计和部署,它的安全性取决于整个系统中所有环节里的最短板,必须通盘考虑。不是一个加密算法,一个安全芯片就可以简单解决的。

3 应该学一点密码学

密码学的应用是基于一个需要保护的场景或者说模型。那么为了通讯安全或者设备安全,我们会采用各种各样的密码,密码的背后是加解密技术。加解密技术说白了就是变换,加密变换和它的反变换 --- 解密变换。加解密技术也有三个属性,也叫 CIA,保密性,完整性以及可认证性。注意,加解密技术的A是指Authentication,与信息安全三要素CIA中的可用性 A (Availability) 不一样。
加解密技术提供的服务就是传输机密数据(Confidentiality),校验数据完整性(Integrity)和身份认证(Authentication)。我们通过加解密的过程来理解:

66.png
加解密过程

·  能够提供保密服务的算法有对称加解密技术和非对称加解密技术,实现机密数据传输;
·  能够提供狭义完整性服务的算法有哈希(单向散列)函数,校验数据完整性;
·  能够提供认证鉴别类服务有基于非对称密钥技术的数字签名技术,以及基于对称密钥的技术的消息验证码 MAC。
·  加解密技术确实很难,但我们不去发明算法,也不去尝试攻击和破解现有算法,我们只是去使用它;而且现在很多加解密库已经对上封装的很好,我们只要理解了密码学基本原理,熟悉了加解密库的API接口,就可以比较方便的使用它了。

4 STM32的安全特性

77.jpg
STM32现有安全特性全景图

如上图,STM32安全特性涵盖硬件、软件例程、软件工具,以及用于解决安全生产或者说安全固件烧录的整套服务,SFI(安全固件安装)。

蓝色部分代表硬件,包括存储与执行保护模块、芯片UID、外部监测模块和加解密模块。
·  存储与执行保护模块:包括读保护RDP、写保护WRP、私有代码保护PCROP、唯一启动入口UBE、安全用户闪存、MPU、防火墙firmware;最新的产品系列L5中,还有TrustZone安全隔离功能,区分可信代码和非可信代码。
·  芯片UID(unique ID):是ST提供给每个STM32芯片的唯一ID号,出厂前就写在了片上闪存的系统flash,它与安全不直接相关,但会在安全相关应用中用到;
·  外部监测模块:如看门狗,Tamper外部入侵检查;
·  加解密模块:包括真随机数产生器 TRNG、对称加解密加速器 AES、对称加解密加速器 Crypto、哈希模块 HASH、非对称加解密加速器 PKA。

灰色部分是软件例程包:
基于存储与执行保护模块的各个例程
加解密库,一方面有基于下面加解密硬件模块的实现,也有仅依赖于Cortex-M内核的软件实现。
SBSFU安全包,是结合了基本所有硬件模块和加解密技术的应用,实现了安全启动和安全升级。SBSFU是由ST开发的,针对嵌入式领域安全启动和安全升级的免费开源参考实现。开发者可按需裁剪,集成到自己的应用中;或者参考它,做自己的实现。
来自ARM的开源协议栈mbedTLS,集成在带以太网IP的STM32系列的Cube包中。
安全固件安装(SFI:SecureFirmware Install)用于解决安全生产或者说安全固件烧录的整套服务,HSM是一个硬件,帮助SFI服务的实施。安装,就是指在空片上烧录初始版本的应用固件,通常发生在产线上。SFI适用于OEM把一批次的STM32和自己开发好的固件给到第三方或者不可信的产线去烧录时,解决OEM对产线安全方面的顾虑;比如,OEM开发的固件会有私密性要求,防止知识产权泄露;另外,OEM可以控制固件烧录的次数,规避品牌资产带来风险。

作为STM32生态系统的一部分,STM32CubeProgrammer和TrustPackageCreator 是学习和操作SBSFU需要用到的软件工具。CubeProgrammer是STLINKUtility的继承者,主要用来烧写、读取、擦除STM32片上闪存以及选项字节;TrustPackageCreator专门服务于安全应用,SBSFU和SFI都会用到,TrustPackageCreator没有单独的下载包,它的GUI和命令行版本的程序,都是在CubeProgrammer的安装目录下。



回复

使用道具 举报

该用户从未签到

0

主题

7

帖子

0

蝴蝶豆

新手上路

最后登录
2020-6-29
发表于 2020-3-26 16:58:20 来自手机 | 显示全部楼层
这个好,保密很有用
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

226

帖子

0

蝴蝶豆

高级会员

最后登录
2020-7-8
发表于 2020-3-27 06:59:29 | 显示全部楼层
签到
回复

使用道具 举报

该用户从未签到

0

主题

252

帖子

0

蝴蝶豆

金牌会员

最后登录
2020-7-8
发表于 2020-3-27 10:23:16 | 显示全部楼层
STM32的安全性越强大越好,保护知识产权.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2020-7-8 22:20 , Processed in 0.088944 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表