吴旭华 发表于 昨天 00:22

MUNIK解读ISO21434专题分享(9):安全子系统设计

【常见的网络安全措施】

在汽车网络安全开辟过程中,实施有效的网络安全措施是确保子系统安全的关键。以下是一些常见的网络安全措施,这些措施可以在不同的开辟阶段应用,以应对各种潜伏的网络安全威胁和风险:
1)硬件安全:为保护MCU与关键存储芯片之间通讯线路,防止敏感信息泄露,对硬件提出安全措施,例如去除芯片丝印、芯片利用BJA封装、根据是否有网络安全需求利用不同接插件等;
2)安全诊断:为确保诊断仪和ECU之间的身份认证,通常接纳X.509证书、随机数挑衅相应等配合27、29服务利用;
https://i-blog.csdnimg.cn/direct/73b91c7ee70b45c8bf13403f1ceb8e6f.png
安全诊断—在线模式图
3)安全更新:为保护ECU软件更新包/固件更新包的真实性和完整性,通常在预革新阶段验证更新包的真实性,在后革新阶段验证刷写包的完整性;
https://i-blog.csdnimg.cn/direct/dfde12cb23e7476fbe0d6457e6bdd286.png
安全革新— 组成布局图
4)安全调试:为保护调试接口,通常对调试接口采取封闭、增加访问密钥、打散调试接口引脚等措施;
5)安全启动:通常在ECU启动期间,对加载代码的真实性和完整性进行串行或并行的检测;
https://i-blog.csdnimg.cn/direct/924fcf1b93b64d95bbf97420295d5bda.png
安全启动—HSM与Host交互图
6)IDS(入侵检测系统):为检测网络通讯是否遭到入侵,接纳入侵检测系统检测网络通讯过程,若检测到入侵,则记载异常信息;
https://i-blog.csdnimg.cn/direct/22525a8fc31643419936c3c47db08b51.png
入侵检测系统方案图
7)安整日志:在ECU的生命周期内,记载关键数据(如IDS检测到异常信息、安全刷写/诊断/启动/通讯失败等);
8)安全通讯:为保护车内网络通讯的完整性、真实性、抗重放性,接纳安全通讯机制例如SecOC,在需要保护的报文中增加奇怪度值、身份认证信息等;
https://i-blog.csdnimg.cn/direct/5a5b8e1381194bbdbd954b398f2eabed.jpeg
SecOC方案图
9)安全存储:将密钥、证书、敏感信息等关键数据存储于可信的安全情况(HSM)。
【安全启动的根本概念】

本次推文将围绕着安全启动常见的网络安全规范和设计跟各位读者做一个简朴的介绍。
1. 安全启动的根本概念


[*]信任链:安全启动通过建立一条信任链,从硬件根信任开始,逐步验证每个启动阶段的固件和软件。
[*]数字签名:利用数字签名来验证固件和软件的完整性和真实性,确保只有经过签名和验证的代码才气执行。
2. 常见的安全启动规范


[*]UEFI Secure Boot:统一可扩展固件接口(UEFI)规范中的安全启动功能,广泛应用于今世计算设备中。UEFI Secure Boot利用数字签名和证书来验证启动加载程序和操作系统内核。
[*]TPM(Trusted Platform Module):TPM是一种硬件模块,用于存储加密密钥和执行加密操作。TPM可以用于实现安全启动,通过存储和验证启动过程中的关键数据。
[*]NIST SP 800-147:美国国家标准与技术研究院(NIST)发布的《BIOS保护指南》,提供了保护BIOS免受篡改的安全措施和最佳实践。
[*]FIPS 140-2:联邦信息处置惩罚标准(FIPS)140-2是一个加密模块的安全认证标准,确保加密模块的安全性和可靠性。
3. 安全启动的设计原则


[*]硬件根信任:利用硬件根信任(如TPM或硬件安全模块)作为信任链的起点,确保启动过程的安全性。
[*]固件和软件签名:对固件和软件进行数字签名,利用公钥基础办法(PKI)来管理和验证签名。
[*]验证和度量:在每个启动阶段对固件和软件进行验证和度量,确保其未被篡改。
[*]密钥管理:安全地管理和存储加密密钥,确保密钥的秘密性和完整性。
[*]更新和补丁:提供安全的固件和软件更新机制,确保能够及时修复已知的安全毛病。
4. 安全启动的实现步骤
https://i-blog.csdnimg.cn/direct/12df7303882f4afebe6d90c0122adca7.jpeg
信任根图

[*]硬件根信任初始化:在系统启动时,硬件根信任(如TPM)初始化并加载根信任密钥。
[*]固件验证:硬件根信任验证固件的数字签名,确保固件的完整性和真实性。
[*]启动加载程序验证:固件加载并验证启动加载程序的数字签名,确保启动加载程序的完整性和真实性。
[*]操作系统内核验证:启动加载程序加载并验证操作系统内核的数字签名,确保内核的完整性和真实性。
[*]驱动程序和应用程序验证:操作系统内核加载并验证驱动程序和关键应用程序的数字签名,确保其完整性和真实性。
5. 安全启动的常见利用的算法
哈希算法:用于天生固定长度的哈希值,以验证数据的完整性。常见的哈希算法包罗:


[*]SHA-256(Secure Hash Algorithm 256-bit):广泛利用的哈希算法,提供256位的哈希值。
[*]SHA-384 和 SHA-512:提供更高安全性的哈希算法,分别天生384位和512位的哈希值。
对称加密算法:对称加密算法用于加密息争密数据,固然在安全启动中不如非对称加密算法常见,但在某些情况下也会利用。常见的对称加密算法包罗:


[*]AES(Advanced Encryption Standard):一种高效且安全的对称加密算法,支持128位、192位和256位密钥长度。
非对称加密算法:非对称加密算法用于天生和验证数字签名,是安全启动的核心。常见的非对称加密算法包罗:


[*]RSA(Rivest-Shamir-Adleman):一种广泛利用的非对称加密算法,支持多种密钥长度(如2048位和4096位)。
[*]ECC(Elliptic Curve Cryptography):一种基于椭圆曲线数学的非对称加密算法,提供与RSA相同安全级别的同时利用更短的密钥长度(如256位)。
数字签名算法:用于天生和验证数字签名,以确保数据的完整性和真实性。常见的数字签名算法包罗:


[*]RSA签名:利用RSA算法天生和验证数字签名。
[*]ECDSA(Elliptic Curve Digital Signature Algorithm):基于椭圆曲线的数字签名算法,提供高效的签名和验证过程。
密钥管理:密钥管理在安全启动中至关紧张,常见的密钥管理技术包罗:


[*]TPM(Trusted Platform Module):一种硬件模块,用于安全地存储和管理加密密钥。
[*]HSM(Hardware Security Module):专用硬件设备,用于天生、存储和管理加密密钥。
6. 安全启动的最佳实践


[*]利用强加密算法:选择强加密算法(如RSA、ECC)进行数字签名和验证,确保签名的安全性。
[*]定期更新密钥和证书:定期更新和轮换加密密钥和证书,防止密钥泄露和证书过期。
[*]监控和审计:定期监控和审计启动过程中的安全事件,及时发现和相应潜伏的安全威胁。
[*]安全补丁管理:及时应用安全补丁,修复已知的安全毛病,确保系统的安全性。
【总结】

通过依照这些网络安全规范和设计原则,可以有效地实现安全启动,保护系统免受恶意软件和未经授权的代码篡改,确保系统的安全性和可靠性。
在后续的内容中,我们将继承探究安全革新、安全诊断、安全存储和安全通讯等详细内容。希望通过这些内容,能够帮助各人更全面地理解汽车网络安全规范和设计的过程。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: MUNIK解读ISO21434专题分享(9):安全子系统设计