你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

答疑汇总|STM32技术周-Day4信息安全与功能安全 在线演讲Q&A

[复制链接]
STMCU-管管 发布时间:2022-10-20 15:42
答疑汇总|STM32技术周-Day4信息安全与功能安全 在线演讲Q&A

今天为大家带来第四天技术问答,欢迎大家来学习。


STM32U5 低功耗+安全新旗舰
Q:M33内核的芯片安全性能为什么比较高?
A: 其中一个重要原因是CM33内核带有Security Extension,支持TrustZone架构,可以将代码和系统资源分隔成安全和非安全两个世界,安全和非安全代码对memory和硬件资源具有不同的访问权限,通过访问权限的控制可以降低软件漏洞可能带来的风险。一方面内核是M33内核, 带trustzone功能, 它专门为安全设计.另一方面,整个STM32U5设计也专门针对安全做了很多相关设计,例如加解密算法, 安全存储保护方面都有做提升。

Q:STM32U5在安全性方面是否有相关的评估和认证?
A:已经通过了PSA Level3 和SESIP Level3的认证。PSA和SESIP分别是由ARM和GlobalPlatform主导的针对IoT安全的认证体系。

Q:STM32U5常用于哪些设计领域?
A:STM32U5最突出的亮点就是安全和超低功耗,当然也兼备了以往通用系列的高性能,特别是丰富的图形处理引擎,所以在低功耗和高性能的应用领域都是适用的。工业应用,物联网设备, 医疗电子, 穿戴产品,支付类的POS机等均可。

Q:CM33 TrustZone的开发与传统的MCU开发有什么区别?工具上的支持如何?
A:TrustZone主要分安全和非安全工程,是两个独立而又相关的工程,主要用于硬件级别的隔离操作,安全侧通常是操作机密敏感数据或者外设的关键的可信的代码,非安全侧则是传统的应用逻辑的部分,两个部分有自己的代码空间、数据存储空间以及能够访问的外设等。STM32CubeMX已经完全支持TrustZone的配置,可以用图形化的方式将系统资源划分到安全和非安全工程,并根据配置自动产生初始化代码,大大降低通过代码划分资源的复杂度。同时所有的IDE(IAR,KEIL,STM32CubeIDE)也都支持TrustZone架构两个工程的联合开发和调试。

Q:TrustZone是flash中的一块区域吗?
A:TrustZone是从内核开始,到整个SoC的架构,内核区分安全和非安全两种状态,有各自的MSP、PSP、Control寄存器以及中断等,Memory的部分Flash、SRAM都区分安全区和非安全区,安全代码运行在安全属性的Memory分区,非安全代码运行在非安全属性的Memory分区,其他的系统中的各种外设也都可以设置他的安全、非安全访问属性,安全资源只能由安全代码来访问和操作。

Q:ST的数字电源方面有些什么产品和优势
A:STM32G4,STM32H7,STM32F3可用于数字电源方面, 建议到官网上查阅STM32G4方面相关介绍.

Q:STM32U5增加和很多新的安全特性,那么它在安全相关的应用场景主要有哪些?
A:很多应用现在都会有一些基本的安全需求,比如可穿戴、工业领域的设备,像PLC,电源管理设备、光模块等等,有些工业类的应用可能需要满足IEC62443的安全要求,其他一些应用也包括IoT设备, 医疗电子, 穿戴电子, 智能门锁等,因为很多设备具备可升级、联网控制等特性,会需要具备基本的安全功能,包括安全启动、安全更新、设备认证、安全通信等, STM32U5的很多特性都可以很好地实现这些安全需求。

Q:侧信道的防御可以下电嘛,如何全程启动与停止,是自主的吗?
A:以STM32U5的PKA为例, PKA具有防侧信道攻击特性, PKA外设有专门工作模式可以开启侧信道攻击防御,一般这种模式是带"protected"标志, 如带侧信道攻击的RSA模幂运算. 通过代码中开启这种模式, 在进行这种模幂运算的过程中是防侧信道攻击的。

Q:如何防止生产线上的可能出现数据盗取、修改和超量生产?
A:ST提供SFI安全生产方案可以保护烧写代码数据的机密性,防止过量生产等。

Q:TrustZone和一般意义的TEE有什么异同?
A:TEE是Trusted Execution Environment,主要是要区分出一个区别于REE的运行环境,有TEE自己才能访问的memory、CPU资源等,TrustZone是用于实现TEE的一种硬件机制。

Q:回退输密码会不会很麻烦?
A:不会麻烦,直接用STM32CubeProgrammer就可以使用OEM Key进行解锁,支持GUI模式和CLI模式。

Q:官方推荐的MCU闲置引脚一般怎么进行处理比较好?
A:可以在STM32CubeMX中配置为模拟输入。在工程配置界面,有一个选项可以直接将所有闲置引脚配置为模拟输入。详情见AN4899。

Q:秘钥是否允许定期、动态修改?
A:HUK是硬件自带的密钥,是不能修改的,但是通过HUK保护的其他密钥是可以根据需求定期更改的。

Q:请问在全局安全机制密钥被擦除后用户还能访问数据吗?
A:如果这里说的密钥是指的RDP对应的OEM1,OEM2 key,那么它只有在RDP level0时才能被擦除. 在RDP0时 flash的内容并不受保护, 因此是可以读取flash的。当然当从更高级别的RDP Level回退至RDP Level0的时候会伴随全片Flash擦除,因此,这时候Flash内容会变为全FF,但是Flash还可以被正常擦写和读取。

Q:使用了加密后,怎么评估加密的效果?
A:STM32U5软件包中提供了加解密、RSA签名验签等例程,可以看到测试结果,加解密的结果可以与PC端工具的加解密结果进行对比,也可以添加一些代码评估加解密时间等。

Q:一机一密批量生产烧软件的时候会不会很麻烦?
A:不会,一机一密是由于每个STM32U5自带 HUK(硬件唯一key),烧录过程是统一的,STM32U5提供了32位的device ID和96位的UID, 密钥可从device和UID来派生, 而派生方法只有厂家自己知道, 这样就可以方便地进行密钥管理了.

Q:STM32U5支持几位ADC?
A:具有14-bit ADC 2.5-Msps ,支持过采样。

Q:请问RNG真随机数发生器与普通随机数发生器有什么区别?
A:真随机数是相对伪随机而言的,一般随机数的软件实现都是伪随机的,需要一个随机种子。而硬件的RNG带有硬件随机源、后处理以及随机数健康性检查等等,能够直接产生满足随机性要求的随机序列。有相应的标准组织和测试规范用于验证随机数的随机性。 真随机数是一些安全算法和安全协议的基础。

Q:STM32U5系列有处理数据/30w像素图像的能力吗?用来挂TOF(100*100分辨率)传感器,跑一些简单3D算法,吃力吗?
A:STM32U5主频在160MHz,支持单精度浮点运算指令和ARM的DSP指令集。在图形加速方面,有DMA2D图形加速,但没有JPEG Codec外设。TOF应用的算法,应该是可以跑的,仅供参考。

Q:请问有没有单独的加密SDK使用?
A:STM32有单独的算法库X-cube-Cryptolib,下载链接:www.st.com/x-cube-cryptolib.

Q: 功能安全库满足ASIL什么等级?
A: SIL安全库支持SIL2/SIL3.

Q: 可以讲一下AES模块吗?
A: STM32U5包含AES和SAES两个硬件模块,支持128和256两种密钥长度,AES是标准的AES,运行速度高,支持ECB,CBC,CTR,GCM,CCM等模式,密钥来源可以是软件写入寄存器,或者由SAES sharekey模式直接硬件导入。SAES带有侧信道攻击防御能力,只支持ECB和CBC模式,密钥来源包括软件写入密钥、DHUK、BHK和DHUK异或BHK。

Q: 可以支持升级密钥吗?
A:硬件自带的HUK不能更改,不能升级,但是应用需要存储的密钥通过HUK保护还是可以更新和升级的。

Q:按照上面所说,STM32U5两个型号主要是软件加密和硬件加密方面的区别,请问在选型的时候还有什么注意点?
A:STM32U575和STM32U585的区别就在于是否支持硬件crypto,STM32U5785不带AES,SAES,PKA,OTFDEC。由于HUK机制是和SAES直接关联的,所以STM32U575也不支持HUK,如果希望使用基于HUK的安全密钥存储功能,或者希望有更高的密钥算法运行性能,则可以选择STM32U585,否则使用STM32U575就可以,因为软件库x-cube-cryptolib已经可以从软件上支持众多算法。

Q:HDP flash保护如何校验升级代码?
A:HDP只是flash中的一部分, 里边的代码是客户自己的代码, 如何校验也是由用户自己来设计。HDP区的Flash在保护使能之前是可以进行擦写的,通常HDP区的用法是用来存放上电只使用一次的代码,例如安全启动代码,而安全启动代码是不可更改的,所以通常不需要对HDP区里面的代码进行升级和更新,如果一定需要更新HDP区的Flash内容,也可以在隐藏HDP区之前进行更改。

Q:加密需要多久时间,加密通信是否会增加时延?
A:硬件加密单元的性能可以在STM32U5的Reference Manual中找到,性能数据以时钟周期为单位,具体时间可以用时钟周期和你期望使用的主频换算出来,例如160MHz主频下,ECDSA 256的签名验签时间大约在18ms左右。

Q:安全编程麻烦吗?
A:刚开始需要熟悉一下TrustZone两个工程的开发模式,但是应该很快就可以上手,因为V8M TrustZone相对简单,不需要secure monitor,直接通过函数调用就可以在两个工程间切换

Q:STM32U5系列芯片,有哪些封装?
A:LQFP, TFBGA, UFBGA, UFQFPN, WLCSP.  具体芯片选型可以使用cubeMX中的选型工具。

Q:如何防破解?谢谢!
A: 可以设置RDP2,断开调试端口,如果需要后期能够恢复调试连接,可以设置OEM2Key。 还可以使用芯片自带的HUK对部分代码数据进行加密,这样即使从Flash中读出数据也无法在另一颗MCU中使用。

Q:可以讲一下STM32U5的安全系统吗?
A: STM32U5硬件安全特性主要包括:
- 调试端口保护RDP和OEMKey机制
- 存储器保护WRP和WRP Lock, Flash HDP和OTFDEC外部存储器实时解密单元
- 启动保护BOOT_LOCK
- 加解密单元AES、SAES、PKA,RNG,HASH单元
- TrustZone系统隔离机制。

软件方案包括:
- X-cube-Cryptolib 算法库
- TF-M安全解决方案,及安全启动和安全升级参考实现


安全生产: SFI安全固件烧录方案

Q: 信息安全一般都可以通过硬件加密吗?
A: 信息安全是一个系统级的事情,加解密只是实现数据机密性完整性的一个工具,信息安全要从威胁分析入手,分析哪些是关键资源需要保护,可能存在什么样的威胁,系统存在哪些风险,然后再分析如何规避这些安全风险,采用哪些防护措施,加解密是其中的一部分。

Q: STM32U5的OTA编写需要注意哪些方面
A: STM32U5的CubeFW包中带有TF-M Boot的安全启动和安全升级参考实现,其中也用到了诸多STM32U5硬件安全特性保证FW的机密性完整性等,可供参考。通常安全升级要保证升级过程中固件的机密性、完整性、通过签名校验等方式验证固件的来源真实可信,另外还要做版本检查,防止恶意的版本回滚。

Q: 采用外部扩展FLASH可以设置安全状态吗?
A: 可以的,由MPCWM对外部flash的安全属性进行管理。

Q:一个程序可以部分方trustzone中,部分放在非Trustzone中吗?
A:一个应用可以划分出关键的部分放在TrustZone的Secure区,剩下的部分放在NonSecure区。

Q:TrustZone对外挂flash有作用吗?
A:可以的,由MPCWM管理外部FLASH地址范围的安全属性配置。

Q:如果对应的每颗芯片都烧录OEMxKey,端口UID会不会不够,还是说有其他特殊读取的端口?
A:OEMkey只能写,不能读,设置之后需要通过swd/jtag端口进行解锁。如果需要进行一机一密的方式,可以通过一个特殊的32位CHIPID从一个统一的root key进行秘钥派生,再烧入每颗MCU中。

Q: 硬件隔离和软件隔离的各有什么优势?
A: 硬件隔离是实现隔离机制的硬件基础,某些隔离机制例如Cortex V7M内核的MPU需要上电后运行代码,通过寄存器配置来达到部分隔离的目的,而很多硬件的隔离机制例如Flash Controller的TrustZone安全区上电即生效,无需额外的代码来控制。软件隔离可以实现更复杂的逻辑,但是任何软件隔离都是以硬件支持为基础的。

Q: 如何保护软件IP部分或整个软件包免受外部或内部读取?
A: 保护整个软件IP可以通过RDP+OEM Key机制防止代码从调试端口被读出,STM32U5上还可以采用通过将部分代码/数据由硬件HUK加密的方式进行保护,防克隆。从内部防止部分软件被读取,可以使用STM32U5的Flash HDP机制和TrustZone机制,HDP可以使部分代码在保护使能之后无法再被访问,直到下次复位,通常安全启动代码就可以采用这样的保护机制。如果是运行中需要用到的代码,可以通过TrustZone机制保护,将被保护代码放置于Secure区,NonSecure区的代码无法读取Secure区代码内容,但是可以调用Secure区的函数

Q: OTA升级后加密信息是否还存在?
A: 如果是问的MCU上的OTA,那么OTA只是更新固件的部分,用户数据的加密存储通常存放在代码区以外的部分,不会受到OTA的影响,当然STM32U5的TF-M中也可以对应用数据部分采用签名校验,升级的时候可以升级固件的部分,也可以升级纯数据的部分,升级包都是带有签名和加密的。

Q:信息安全问题非常重要,请问ST是通过哪些软硬件来提供解决方案的呢?
A:硬件包括STM32不同系列自身的硬件安全特性以及相关工具,以及可以配合STM32的stsafe安全原件,软件包括TF-M安全解决方案,X-Cube-Cryptolib算法库,X-Cube-sbsfu安全启动和升级参考实现等。更多内容请参考www.st.com/stm32trusthttps://www.stmcu.com.cn/ecosyst ... n-security-OVERVIEW

Q:固件安全性,仿冒功能支持吗?
A:通过安全启动安全升级签名校验技术可以防止固件被恶意篡改或者替换,通过一机一密的技术以及设备身份认证可以防止设备仿冒。

Q:加密是不是通过一个公有密钥和私有密钥去组合的?
A:加密可以使用对称密钥,也可以使用非对称密钥机制。对称密钥需要加解密双方事先获得相同的密钥;非对称密钥使用一对公钥+私钥,通过公钥加密,私钥解密。

Q:level0.5 的作用是什么,LEVEL0,1,2已经实现了相互访问途径
A:STM32U5的RDP level0.5是针对使能TrustZone的情况的,开启0.5的时候将使得安全侧的所有调试功能都关闭,包括Flash安全区、RAM安全区以及配置为安全属性的所有外设以及CPU的安全属性的资源。也就是说Level0.5的时候只能进行非安全属性的Flash的读写以及非安全代码的调试。

Q:L系列和U系列主要差别在哪儿?
A:STM32 L系列包括早期的STM32L1(M3核),STM32L0(M0+核),以及STM32L4系列(M4核),较新的STM32L5系列已经是CM33内核带TrustZone,但还是90nm工艺。 STM32U系列目前只有STM32U5,是超低功耗系列的全新产品,40nm工艺,最高主频达160MHz,STM32U5在L5的基础上集成了更多片上资源,存储器方面Flash可以达到4MB,RAM有786KB,Cache部分除了8KB的ICache还增加了4KB的DCACHE,IP部分集成了CAN FD,USB PD,数学运算加速器Cordic,FMAC,ADF、MDF等,同时增加了针对低功耗应用的LPBAM功能,安全特性上也增加了RDP OEMKey机制、WRP Lock、用于安全存储的HUK以及具有方侧信道攻击能力的SAES和PKA模块。


STM32功能安全设计包,助力产品功能安全认证

Q:功能安全依赖于watch dog以及相关软件模块?
A:客户可以利用STM32的硬件属性和我们提供的经认证的自检库,根据具体的应用和标准要求添加相应的检测方法来最终达到功能安全的要求。

Q:如何才能获取ClassB和SIL功能安全设计包?
A: 对于ClassB功能安全设计包,客户可以直接在ST的官网申请下载。对于SIL功能安全设计包,其中的MCU功能安全手册可以从ST官网直接下载,其他的安全文档以及自检库都需要先联系我们的市场或销售人员签署NDA才能获得。

Q:功能安全代码和非功能安全代码内存分区如何实现,有没有操作指导书?
A:可通过编译器的内存分散加载文件来划分,IAR在icf文件中定义,KEIL在SCT中定义,STM32CubeIDE在ld文件中定义。具体方法参考ST提供的参考软件包中的实现。

Q:检测到ECC出错,该怎么处理?
A:具体取决于应用和你需要认证的标准条款的定义,常见的方式有重新写入,或者复位等等操作,这篇文档可以供你参考:AN5342  Error correction code (ECC) management for internal memories protection on STM32H7 Series。

Q: SIL功能安全有编译链的支持么?
A: ST提供的SIL软件包提供KEIL、IAR、STM32CubeIDE三种IDE的参考例程。如果需要功能安全版本的编译器KEIL和IAR也都有支持。

Q: SIL2和SIL3有什么区别,用户怎么去实现?
A:SIL2和SIL3是IEC61508标准中对于设备安全完整性等级的划分,SIL3的要求更高。具体请参见标准文档的定义,建议尽早联系ST技术支持以及相应的认证机构去沟通了解,少走弯路。

Q: STM32U5安全系统是否包含应对存储器失效的保护机能?
A: STM32U5 支持Flash/RAM ECC,可以纠正1bit错误和检测2bit错误.

Q:  bitflip问题如何检测和预防?
A:STM32 MCU硬件提供的SRAM奇偶校验和Flash/SRAMECC功能都可以检测此类错误。。


STSAFE物联网安全解决方案

Q: STSAFE系列产品应用在那些场景呢
A:主要是物联网相关的应用场景,但具体的应用场景非常之多。因为信息安全是物联网面临的一大挑战。比如物联网设备身份识别,安全通信连接,安全数据存储及数据加解密,保护数据交互的安全。

Q: STSAFE-A110产品在意法半导体安全工厂进行证书及密钥的烧录,需要额外收费吗?
A: 成本控制是大家比较重视的问题,ST提供在安全工厂的证书及密钥的烧录是一种增值服务,是免费不收费的,降低客户的采购成本也给客户的产品在市场竞争中带来优势。

Q: STSAFE-A110 最小起订量是多少?
A: 如果客户只是使用ST的通用配置的产品的话,没有最小起订量的要求,但是如果客户有自己定义的证书密钥或者项目的机密信息需要ST烧录,那么就有个最小起订量的要求,这个数量是5千片。

Q: STSAFE-A110 除了支持亚马逊云及微软云的连接,国内其他云支持吗?
A:  支持国内其他云服务,包括大品牌的云服务及一些企业私有云。

Q: STSAFE-A110可以用在其他厂家的MCU上吗?如果可以的话,ST提供软件包吗?
A: STSAFE-A110最大的特点是“易于开发性”,是一个交钥匙方案,能帮助终端用户轻松集成,可以配合其他MCU使用,ST可以提供基于STM32的参考代码给客户进行相关移植集成工作。

Q:STM32功能安全设计包与STSAFE-A110可以搭配使用吗?
A:功能安全包是针对功能安全的,STSAFE提供的是信息安全方面的功能,两者没有冲突。

Q:STSAFEA110与STM32中的安全属性是什么关系?
A:STM32自身的安全特性和解决方案用于保护固件安全,保护应用的安全运行等等,STSAFE作为add-on的安全元件可以提供额外的安全能力,比如对于不具备硬件加解密单元、不具备安全存储硬件特性的STM32,STSAFE可以提供硬件加解密和密钥安全存储等功能,且对于某些需要高级别安全的应用,也可以提供满足CC EAL5+级别的安全防护。


固件安全交付新模式
Q:调试和烧录二合一不是很多烧录器标配吗?有什么特别吗?
A:  基本上使用我们的调试烧录器,可以满足开发和交付的绝大部分需求,我们有区别于普通烧录器的云功能和加密功能,具体可到我们官网查看哈,也可以下载我们的上位机软件查看功能www.powerwriter.com

Q: 创芯工坊烧录的信息,是一次性还是可以反复(多次)烧录更改的?
A: 可以拆单等灵活的配置,根据自身的需求调整设置。

Q:如果在云烧录时,在下载器接口处接入设备,是否可以获取到源码?
A:烧录过程中应用了一芯一密,动态密码,以及随机写等多种防数据抓取,逆向分析技术,可以避免在烧录过程中直接盗取数据。

Q:PowerWriter烧录器Lite版支持安全加密不?
A:支持,Lite版本在功能上并无差异。

Q: 云烧录只能单个烧录吧,怎么和自动化烧录机器结合进行批量烧录呢?
A: 云烧录可以设置单次加载订单的数量,安全加载到烧录器之后,可以按照通用的烧录器接入机台。


欢迎大家打卡学习,大家有什么问题还以评论区留言!每位评论者可以获得10ST金币!



收藏 评论2 发布时间:2022-10-20 15:42

举报

2个回答
STMWoodData 回答时间:2022-11-4 20:30:12
学习学习
lospring 回答时间:2022-11-5 22:02:28
很有用的常见问题,谢谢分享
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版