网络安全市场现状
网络安全越来越受到重视,虽然各种安全芯片和算法不断被发明,可是“道高一尺,魔高一丈”,纵然是大家公认的网络安全水平比较高的iPhone手机, Tesla汽车也有被黑客创造漏洞而利用的例子。这时,如果对付网络安全技能的发展过程不甚理解,有可能会陷入惶恐。特殊是汽车自动驾驶域掌握器,要在繁芜的硬件软件体系上,不仅要和本地设备通信,大概还要在背景通过OTA做功能升级,这种场景须要掌握器芯片从底层硬件和软件打好网络安全根本。
网络安全而因此几门干系学科做根本,加上大量工程实践叠加而成,是可循规蹈矩地理解,进行比较和参照的。以下我们来看看芯片干系的安全设计基本准则。

网络安全设计是干系技能要素和方法的有机组合。这篇微软的论文:The Seven Properties of Highly Secure Devices (MSR-TR-2017-16)对此进行了很好的列举。基于这种准则和市场需求,并结合技能实现细节,我参与了安霸CV系列芯片的网络安全设计,经由团队几年的努力,这些CV2x系列芯片已经在安防和汽车行业成功量产,得到领先客户的认可。
这7条基本准则是:
a. 芯片须要含有硬件保护的信赖根
设备的机密信息的到硬件保护,并且这个信赖根可以在硬件设计中抵御已知的旁路攻击。信赖根常日是在不可修正的存储器上的一组或者多组密钥,而且不许可用户直接读出。这里常日采取的加密算法会利用基于公钥系统的比如RSA,ECC类的算法,个中公钥会在系统启动过程中,验证启动代码的各个环节是否被修改。
b. 芯片含有安全实行环境
专用加密芯片常日有内建的安全实行环境比如苹果手机用的Secure Enclave;主流Android手机则利用ARM的TrustZone,汽车的ECU和域掌握器可利用HSM。这些设计事理类似,但功能,性能和安全等级不同。
安全实行环境意味着内部的操作常日受限,并且和紧张的运用程序实行环境间的信息互换也受限。一样平常说来,系统开放的功能越多,接口越丰富,潜在安全风险点越多,以是在能知足需求的情形下,”信息安全岛”须要尽可能小而且大略。
c. 芯片安全须要纵深防御
纵深防御是一种必要的安全策略。这种“洋葱皮”式的设计,使得单层系统的弱点如果被攻破往后,并不会导致系统安全的全面崩溃。比如,纵然利用了TrustZone来保护生物信息验证,系统还是可以利用软件层面的SELinux来设置程序权限来阻挡不肯望打开的权限。而且系统的配置也可能要考虑到防止root用户远程登录,并且保护root用户的密码。
d. 芯片安全须要分区隔离
轮船的密封舱,图片来自网络
隔离便是一种“密封舱”的思想。安全的系统可以由硬件建立一个个樊篱,让单个模块带来的安全风险,难以转移到别的模块。“分区隔离”的做法常采取把软件模块的内存地址空间进行分离。Linux系统设立了用户空间和内核空间,就已经对大部分运用程序做了一层隔离。ARM TrustZone的Secure World和Normal world之间也被隔离。利用虚拟机等技能等对全体操作系统进行隔离,也是分区隔离的一种例子。
而大略RTOS则没有进行内存隔离,不仅仅一个软件模块的地址越界缺点可能影响全体系统并导致崩溃,而且一个软件模块中的安全漏洞也会传播到别的模块。
e. 基于证书链的安全认证
公钥体系(PKI = Public Key Infrastructure)极大地提升了系统认证的安全性。
旧有的办法,比如Windows默认的登录办法便是用户名/密码,这种如果用于远程登录,则一旦用户名和密码泄露,则无法区分用户身份是否真实,一样平常的可以采取“两步验证”的方法加以改进,但仍旧比较麻烦。
基于公钥系统的证书则是从机制上担保可靠。比如银行手机APP可以对用户的手机的唯一标识符做数字署名,并颁发证书保护这个数字署名,证书内包含着银行APP的公钥。这样在用户用网银时,做事器端收到用户发过来的加署名和证书的要求数据,进行校验即可确认这个数据是否被被修改,并且这个业务要求的来源是否真实。
公钥机制须要安全芯片自带RSA/ECC等非对称加密算法引擎,或者支持在ARM的Secure world内运行,并且对干系的密钥进行可靠的保护。
f. 可以更新的安全密钥
为了对抗不断创造的新安全威胁,安全策略也须要不断被更新。对付已经创造的安全漏洞(CVE等),须要及时填补,包括破除和更新密钥的机制。
为什么创造安全漏洞了还有机会升级更新呢?这便是由于前面已经说过的“纵深防御”和“分区隔离”,大概系统底层还尚未被黑客攻破。特殊对付0-day安全漏洞,及时进行升级可肃清安全隐患,这也是OTA的主要意义之一。
g. 申报请示网络安全失落效的机制
系统的任何和安全干系的失落效或者潜在干系的非常,都须要申报请示到后台管理。黑客每每不是通过单次攻击成功进入系统的,而是经由反复考试测验。以是系统的。缺点日志每每包含着有代价的信息,可用于匆匆进戒备的策略,改进安全方法。
“安全启动(Secure boot)“ 如果在启动过程中碰着缺点,比如密钥校验错,常日是停下来,或者进入功能受限的“安全状态”以待维修。这项技能的一种发展趋势是走向“measured boot”,也叫“trusted boot”。 “Measured boot”字面的意思是“可量度的启动”,但目前我没看到有广泛接管的中文翻译。Measured boot哀求启动并不中断,而是把参与启动的模块信息和状态记录下来,包括缺点,以待后面再进行校验,常日measured boot这些记录要写入带有安全存储的硬件,比如TPM或者HSM。
网络安全在芯片内的详细实现3.1 须要戒备的风险
要做好安全戒备,还要考虑黑客可能如何攻击系统,常见的黑客攻击方法包括:
a. 通过测试/调试硬件接口攻击,比如USB,串口等
b. 通过软件调试接口攻击,比如有一些产品的bootloader留有调试命令
c. 利用系统已知漏洞攻击,比如Linux Kernel已知的CVE
d. 利用运用层软件bug攻击,比如利用bug造成缓存区溢出攻击
e. 嗅探网络数据,盗取用户信息或者口令
f. 攻击系统登录口令,一样平常采取穷举或者字典法考试测验登录口令
g. 通过更换硬件模块攻击,比如更换NAND/eMMC等系统存储
h. 通过硬件bus攻击,通过bus读取/修改数据
i. 回滚攻击,攻击者将系统版本回滚,然后利用旧版本已知漏洞来攻击。
j. 回放攻击,攻击者记录“认证通过的回应”,用它来试图通过下一次认证
3.2 芯片的硬件安全设计
一个可靠的网络安全系统,哀求芯片从源头上做好安全戒备,由此我们列出芯片的硬件安全设计要点:
a. 不可修正的SecureROM用于安全启动
b. 一次性写的存储器OTP用于存储安全启动公钥和其他密钥
c. 真随机数天生器(TRNG)
d. 供应可信实行环境TEE (比如ARM TrustZone 或专用HSM独立引擎)
e. 安全的总线设计,供应硬件接口的安全配置
f. DRAM scrambling(在LPDDR4总线上的数据全是加密的)
g. DRAM硬件地址隔离,不同的紧张内部掌握器可配置DRAM访问范围
h. 可禁止JTAG,USB等调试接口访问系统,可进入永久安全启动状态
安霸在CV2x往后的系列芯片,均采取以上的硬件设计,并不断改进,符合ARM的TSBA规范(Trusted Base System Architecture for ARMv8-A),并且在安防行业的龙头企业包括Axis,以及中国海内,欧美日本等等诸多客户取获胜利量产;在中国乘用车行业也和著名民族品牌互助并成功量产。
3.3 “磐石”网络安全架构与安霸CV2x芯片安全设计
通过安霸CV2x系列芯片安全设计和上层软件和工具设计,我们实现了“磐石”网络安全架构。
图为:实现了基于硬件的安全启动全流程
我们在底层实现了安全启动,通过上层软件协议实现了隐私保护,算法加密,安全存储,安全传输等功能,给用户一个完全的套件,核心算法对用户开源。
4. 基于HSM的汽车掌握器芯片的网络安全设计
较为繁芜的汽车域掌握器芯片更多利用HSM实现网络安全,紧张缘故原由是HSM是系统层面的,不仅仅可以对CPU上的数据进行保护,也可以保护MCU,AI引擎,图像视频引擎等多个单元,其内部带有安全存储和加密打算单元,可以用于存储用户的保密数据如密钥和证书。2022年初安霸发布的大算力自动驾驶域掌握器芯片CV3,不仅实现了高AI算力,并且也实现了前辈的网络安全。
CV3内建HSM,并采取了全新设计,自带可编程的高性能加密引擎支持各种常见加密算法,内建了高速内存,自带OTP以及其他安全打算硬件。不仅可以实现对各个硬件单元的的数据安全保护,还可以做系统的安全启动,内存隔离,保存用户的主要信息,通过对神经网络算法全程加密保护知识产权,把网络安全以及用户信息保护提到了新高度。