首页 · 会议 · 正文

坚如磐石,安’芯’守护

Ambarella安霸 何志

随着芯片与互联云技术在各行各业的广泛应用,信息安全变得越来越重要。现在人们的日常生活的方方面面都和芯片与互联云技术紧密相关,技术的高速发展给人们带来便利生活的同时,也引入了一系列严峻的信息安全问题,比如个人隐私数据如何防止泄露,支付账号如何得到保护,电子设备中的资产和数据如何防止被窃取,驾驶的汽车怎样抵御各类黑客攻击等等。从产品制造商和算法发行商角度看,还需要思考如何保护知识产权,怎样防止破解,如何防止盗版等等。

作为领先的视觉AI芯片提供商,安霸半导体除了提供一贯的高品质的图像处理,高效的视频压缩以及强大的AI处理能力,一直以来也非常注重信息安全方面的设计与实现。针对上述问题,安霸半导体从芯片供应商角度提出信息安全应对方案:磐石,取中文的坚如磐石意思。磐石包含六大方面功能:系统完整性保护,系统加固,数据存储保护,数据传输保护,知识产权保护,用户隐私保护,分别应对上述提到的各类安全风险与攻击。

磐石的功能以及所能防范的风险与攻击

Figure 1磐石六大功能

Table 1 磐石方案能防范的各类攻击

1709624416752153.png

磐石方案介绍

磐石是一个开放灵活的软硬件结合的安全方案,安霸在信息安全方面的设计一直遵循开放的哲学,采用标准化的先进密码学算法,已有的信息安全功能则采用业界最佳实践的做法,遵循已有的行业标准和规范,而对一些新的信息安全需求磐石会提供一些参考方法给客户参考,也支持与客户共同定义需求然后共同设计开发。磐石在系统SDK层面,提供给客户的是源代码加上丰富的文档,安霸非常欢迎客户和合作伙伴帮忙审阅现有的信息安全实现,提出宝贵意见,一起演进一起给市场提供具有更先进的信息安全保护的产品,为社会发展和人民信息资产保护尽应有的一份力。磐石在具体实现中遵循灵活,高效,可升级,纵深防御,舱室化的设计哲学。

1.磐石所遵循的行业标准与规范

1.1. EVITA HSM

欧洲汽车制造商协会(European Automobile Manufacturers Association,简称ACEA)与电子行业协会(European Electronic Component Manufacturers Association,简称EECA)针对汽车网络安全有提出HSM规范标准:EVITA(E-safety Vehicle Intrusion Protected Applications)HSM。EVITA规范旨在保护汽车系统免受网络攻击和潜在的安全威胁。它为汽车制造商和供应商提供了一个框架,以确保车辆的电子系统和通信网络具备一定的安全性能。EVITA规范涵盖了车辆内部的网络与通信架构、安全策略、数据保护、身份验证和加密等方面。

EVITA规范主要关注汽车中的电子控制单元(ECU)和车辆网络之间的安全通信,以及与外部网络的连接。通过实施EVITA规范的安全措施,汽车制造商可以降低车辆受到网络攻击的风险,防止未经授权的访问、数据泄露、车辆远程控制等问题。

EVITA规范的制定是为了提高车辆网络安全性,并为汽车行业提供一个共同的标准和框架。它有助于确保车辆系统的安全性和可靠性,以保护车辆和乘客的安全和隐私。

安霸的CV2x/CV5x/CV7x系列芯片符合并超越EVITA HSM Medium,而接近EVITA HSM Full。安霸的CV3AD系列芯片符合EVIATA HSM Full。

1.2.   ISO21434

至于汽车行业的ISO21434规范,安霸也有相应的准备和专家,因此车规芯片比如CV2FS,CV3AD都是符合ISO21434标准的。

1.3.   WP.29

安霸的芯片还符合多种安全管理规范,比如UNECE(联合国欧洲经济委员会)发布的 WP.29 法规规定了新车辆的网络安全管理系统。这些法规要求 OEM 管理网络风险,通过设计保护车辆,检测并响应安全事件,并提供安全的无线软件更新。安霸的芯片和SDK能够支持与协助客户来符合WP.29系列规范。

1.4.   SAE J3101

SAE J3101是由美国汽车工程师学会(Society of Automotive Engineers,简称SAE)制定的一项技术规范。SAE J3101规定了地面车辆应用的硬件保护安全要求。SAE J3101 综述了安全功能,相应用例,以及需要支持以满足车辆安全需求的应用程序。安霸芯片和SDK支持SAEJ3101提到的信息安全需求。

2.磐石的基石 - 芯片内部的安全组件

安霸从初代CV芯片CV1开始,历代的CV2x,CV5x,CV7x,CV3x以及N1系列芯片内部都有融入信息安全功能。芯片中加入了信息安全所必需的基础硬件模块,比如安全启动,公钥/密钥存储的OTP,硬件随机数生成器,芯片独有ID,内存数据加密引擎,NN模型加密运行机制,按片授权机制,防回滚硬件计数器, Arm trustzone的芯片支持等等。CV3AD系列芯片,也引入了HSM模块作为信息安全功能扩充以支持EVITA-FULL,和汽车行业现有技术标准兼容。安霸芯片内置的这些安全组件可以为AIOT,汽车和消费类等各种行业的安全产品提供了坚实的支撑,已有众多具有信息安全功能的相关产品量产应用。安霸芯片内部的信息安全组件所选用的密码学算法是当时最成熟先进的密码学算法,至于最近公布的后量子密码学标准,安霸也正在研究与跟进。

3.磐石的核心 - 构建完备的系统级安全方案

除了芯片硬件部分,安霸在SoC系统层面和SDK层面对信息安全方面的也是进行了深层次多方面的考虑和设计。对于每一项具体的安全功能,磐石在实现方法选择的基本原则是从整个系统角度考虑,对于适合芯片硬件实现的部分分给芯片,适合可信操作系统实现的部分分给可信操作系统,适合丰富操作系统的部分分给丰富操作系统,适合给AI处理器CVFlow的部分给CVFlow,适合给HSM的给HSM,SoC中系统各司其职,避免重复造轮子,共同完成信息安全的各种目标,这个是磐石方案达到高效性的方法。对于信息安全所需要的组件库,磐石既支持客户使用最新的开源社区项目,同时也提供无外部依赖的源码库供客户使用,客户可以根据具体需求来灵活选择。

当前各类技术发展迅速,各种新软件新算法新应用重出不穷,这同时也给信息安全带来了很大的挑战,磐石方案的对应策略是安全更新(安全OTA),对于安霸负责的软硬件模块,安霸开发团队会及时修复问题,对于开放社区的软件模块,依托开放软件社区的力量维护和修复新发现的安全漏洞。客户依托安全OTA来即使更新修复产品端的问题。这里提到的安全OTA跟一般的OTA的区别在于,安全OTA会增加两个校验,一个是更新版本的数字签名校验,一个是更新版本的回退防止。这两个校验确保了升级的版本是官方的(拥有OTA私钥),以及版本不会回滚(版本回滚是一种常见攻击手段,攻击者将版本回退到历史版本,然后利用已知历史版本的漏洞),在磐石的设计中,关于版本回退芯片会有一个或几个硬件自增计数器供安全OTA程序使用。

磐石采用了纵深防御和舱室化设计的设计思想,它们是安全系统实现的几个通用法则。纵深防御的意思是系统中会有一层一层的防御层,一方面会使攻击者攻破到最内层的难度和时间大大增加,另一方面也可以在纵深防御系统中加入入侵检测,侵入警报等机制来配合。举一个例子来说,攻击者如果想从网络方式攻破磐石获得AI处理器的运行加密神经网络模型,它需要依次攻破Linux防火墙,SELinux,找到Linux内核的漏洞,攻破AI处理器CVFlow。如果攻击者想从网络方式攻破一个在可信操作系统中运行的程序,它需要依次攻破Linux防火墙,SELinux,找到Linux内核的漏洞,找到安全操作系统的漏洞,攻破可信程序。舱室化设计是将系统划分成不同的舱室,每一个舱室出问题对别的舱室没有影响或者影响很小,这种设计会最大限度降低被攻击带来的损失。

1709624528106655.png

Figure 2纵深防御示例

image.png

Figure 3 模块相对独立的系统舱室化设计

我们回过头来从产品生命周期来看,信息安全在产品每一个阶段都需要相对应的设计和考量,磐石方案涵盖了从产品设计,产品开发,产品生产分发与部署,产品运行,产品升级,产品回厂维修,产品销毁等整个生命周期的信息安全部分。

1709624592125373.png

Figure 4 磐石方案涵盖整个产品生命周期

也正因为信息安全牵涉到系统的方方面面,每类产品的侧重点和应用场景也都很不一样。对于具体产品来说,信息安全保护是产品功能的一环,信息安全方案具体细节的选择也还需要在硬件成本,开发周期,安全目标之间做一些择中考虑。磐石的完备性和灵活性使得客户可以很方便地为自己产品定制和选择合适的系统信息安全方案。

4.磐石的助力 - 完备的工具链与密钥管理

磐石方案还提供完整的开发工具链,协助客户在信息安全功能开发,帮助客户进行高效安全的密钥管理。密钥管理是信息安全非常重要的一环,磐石方案提供一套完整自研的密钥管理工具套件供客户参考使用,基于它客户可以安全高效管理密钥。磐石方案同时也能直接支持对接云密钥管理系统,比如亚马逊云的密钥管理服务KMS。

5.磐石方案的构成细节

5.1. 系统完整性保护

对于系统完整性,磐石包含三个部分,第一部分是安全启动,这部分的目标是确保芯片从上电开始所有的运行代码都是可信的(有正确的数字签名)。首先磐石有硬件的信任根,包括只读存储器上的安全启动代码,和安全启动公钥(安全启动公钥由客户植入)。系统启动时,每一阶段代码用相关公钥校验下一阶段代码是否有正确的数字签名。启动模块依次是:Secure ROM,bootstrap,BL2,BL31,BL32,BL33,Linux Kernel。安全启动流程如下。

Figure 5安全启动流程

第二部分是安全升级,这部分是确保系统在升级的时候是可信的,未被篡改的。

第三部分是Linux dm-verity,这一部分是用来检测文件系统是否有被篡改。

5.2.  系统加固

对于系统加固,磐石包含诸多方面的功能,分别是安全加强bootloader,安全加强Linux (SELinux),Arm trustzone,回退防止,关闭硬件调试端口,关闭不安全的软件协议和端口,抵抗缓存溢出攻击,内存数据加扰。

安全加强bootloader是指bootloader中加入校验机制,只有通过校验的人(拥有安全加强bootloader私钥)才能执行bootloader控制台的调试命令。Bootloader控制台的命令非常强大,在开发调试期间可以很方便地帮助开发者,但同时如果被攻击者利用也能对系统产生很大的破坏性,这是磐石引入安全增强bootloader的原因,确保攻击者无法使用bootloader的强大控制台。

安全加强Linux (SELinux)是Linux一个标准访问控制方案,它可以很细化地定制每个用户每个程序的访问规则,对于系统来说是一个很好的安全加强。Arm trustzone则是一个标准可信执行环境(TEE)的实现,在TEE里面可以运行安全程序(trusted application TA)。

回退防止是一个机制,主要是用在系统升级的时候防止版本回滚。

关闭硬件调试接口,硬件调试接口比如JTAG,串口,USB口等等,在开发调试时期是很重要的,在产品出货阶段需要关闭,以免被攻击者利用,磐石方案有提供方法来关闭这些硬件调试接口。

关闭不安全的软件协议和端口,这也是为了避免攻击者使用这些协议和端口,磐石方案有列举出来一些典型常见的不安全协议和端口,比如Telnet(23),FTP(21),TFTP(69),HTTP(80),systemd(19531),提醒客户将这些在产品端关闭。

缓存溢出攻击是一种最常见的攻击方式,防止缓存溢出共计最重要的是减少代码的bug,增加参数边界检查,除此之外,磐石列举了一系列抵抗缓存溢出攻击的应对措施以及对应的操作方法,比如地址空间随机化(Address Space Layout Randamization),位置无关执行(Position Independent Executable),非执行保护(No-eXecute Protect),栈保护(Stack Protection),加固(FORTIFY),只读重定位(Read Only Relocation)。

内存数据加扰是芯片内置加解密引擎对内存数据进行动态加解密,它是为了防止内存物理上的嗅探攻击。

5.3.  数据加密保护

磐石方案在数据加密保护方面提供了三种方式,第一种是全盘加密,使用Linux dm-crypt,可以对整个分区进行加密。第二种是TEE提供的安全存储接口,这个接口基于芯片植入的数据根密钥和OP-TEE提供的数据密钥管理框架,这个接口适合存储小文件。第三种是静止数据保护方式,这个是用TEE的定制程序来实现,磐石方案有提供定制程序的参考代码,包含怎样处理密钥,怎样加解密数据。

5.4.  数据传输加密

磐石方案在数据传输加密保护方面有提供三种方式,分别在可信执行环境里面,丰富操作系统里面和AI处理器里面。也就是说不管是安霸SoC中的可信执行环境程序,Linux程序,还是AI处理器的程序,都有能力与外界进行加密保护传输。在Linux里面,磐石方案提供的是TLS 最新的v1.3版本的服务器和客户端,关于认证和加密传输的参考代码。在可信执行环境中,磐石方案提供的是TLS inside OPTEE-OS,也有提供相关参考代码。在AI处理器CVflow中,也有植入目前最先进的验证与密钥交换协议(ED25519+SHA512+X25519)。系统最核心的三个部分都具有先进的安全传输的基础,为安霸soc在各类安全传输应用中提供了强有力的技术保障。

5.5.  知识产权保护

磐石方案在知识产权保护方面主要有实现两个功能,第一个功能是按片授权,这个功能是指软件和算法提供商可以在安霸SoC中按片授权软件和算法,授权校验由芯片本身完成,不需要云服务器授权。软件和算法供应商可以生成和管理自己的算法软件私钥,私钥和授权服务器控制授权,然后将公钥和软件算法公开发布即可。关于按片授权,磐石方案有提供完整的授权激活工具链源代码,包含授权服务器,激活工具,账号管理等功能。这个功能主要目标是保护算法合作伙伴,避免软件盗版。第二个功能是模型加密保护,主要目的是保护算法商的神经网络模型,神经网络模型是加密形态,只有加载到AI处理器中才解密执行。

5.6.  用户隐私保护

磐石方案也有考虑用户隐私保护方面,这部分跟应用高度相关,磐石方案主要是提供一些底层基础组件,比如数据安全存储和安全传输,而这里我们也仅讨论与图像传感器和视觉处理有关的隐私信息,一般来说建议流程是将用户信息抽取出来,进行脱敏处理,然后在上传对比,这样确保用户有关的信息比如图片视频不脱离出芯片本身。图片视频本身也可以以加密形态存储在产品的介质上,相关的根密钥植入芯片内部(数据根密钥一片一密),这样也能确保图像视频等数据不出芯片。相信以磐石为基础依托可以做出对用户隐私保护得很好的产品。