通过PKI实现车企行业的智能发展

智能化不仅将带来汽车产品形态的根本变化,颠覆传统汽车技术体系和产业格局,也还将引发消费者出行和生活方式、信息技术和通讯方式的变革,以及信息和交通基础设施的变革,甚至将极大的加速人类文明的进程。

随着信息化进程的高度发展,车辆变得越来越复杂,和传统汽车相比,一辆智能汽车可能包含多达3亿行代码和150多个电子控制单元 (ECU),这些电子控制单元不仅能实现车内系统的智能通信,还能实现和外部系统的通信,包括车对车 (V2V)、车对电网 (V2G)、车对基础设施 (V2I) 等,从而创建不断扩大的V2X生态系统。

现在的车某种意义上来说已经不是一种缩短距离的代步工具,而是一种智能、互联的物联网设备。

基于智能系统架构的嵌入,车辆安全在信息化社会大背景下,也将面临不断发展的安全威胁挑战,比如汽车的通信、系统、V2V连接都必须保持安全,而为了确保安全,每一个设备的身份管理就尤为重要。

系统被威胁行为者入侵将会给智能汽车带来严重后果,某黑客就曾通过入侵智能汽车系统并成功控制了一辆在高速公路上行驶的吉普车。最近,保险公司已停止承保某些起亚和现代车型,因为它们太容易被入侵。

如今的智能汽车是由许多连接的ECU和其他组件组成,大部分组件不是由汽车制造商制造,而是由一级供应商制造。这就带来了多重的安全挑战,因为汽车制造商必须要有安全程序来管理他们没有创建的身份,或者他们必须有一个基础设施来创建身份并让多个一级供应商可以访问这些身份。

每增加一个智能子系统,恶意分子的攻击面就会增加。任何连接系统中的漏洞都可能与其他系统连接在一起。这就要求汽车制造商与其一级供应商以及供应商之间建立密切、可信的关系。

当前和未来的V2X应用

网络、设备、基础设施、其他车辆,如今智能汽车可以连接的事物数量持续增长。与OTA 更新一样,每个连接都为恶意行为者提供了拦截、读取和更改生态系统内共享的数据和命令的机会。

因此相关的标准将是关键,但有时标准可能会落后于技术的发展。此外,从事国际业务的制造商必须遵一些标准。例如,在美国,制造商必须遵守IEEE 1609.2,而在欧洲,C-ITS将有不同的要求,而两者都必须准备UNECE 155/156。这意味着,今天实现的任何安全系统都必须具有足够的灵活性和可扩展性,以应对未来的不确定性。

软件和固件更新

无论开发人员多么细心或实施了何种QA流程,软件和固件都需要更新和维护。对于车辆,这可以通过在授权经销商处物理连接车辆或通过OTA更新来完成,就像更新手机上的软件一样。从理论上讲,这是一项简单的任务:车辆连接到制造商的网络或经销商处的设备,连接、下载更新然后应用。

但车辆如何知道更新是合法的而不是恶意的?无论是通过被劫持的远程连接还是通过直接的物理更新注入,新代码一旦被放置到系统里,威胁行为者就能实现远程控制、盗取数据,甚至发起勒索攻击。这就意味着软件和固件更新必须能够在安装前证明它们来自合法来源。

所以,不管标准和技术在未来如何更替,当下对车辆安全的最佳方法就是系统的灵活且可扩展性,这要从代码开始。

代码签名

代码签名不仅是系统安全更新的基础,也是抵御恶意攻击的最后一道防线。

在发生未经授权的通信、远程或物理连接时,适当的代码签名检查可增加一层安全性。恶意攻击者不仅必须获得通信访问权,还必须拥有来自软件/固件开发人员的签名证书。如果他们发送未签名的代码,拥有代码签名的系统会拒绝该软件并触发警报通知。

也就是说使用代码签名解决方案并妥善保护其签名证书可使不法分子更难插入恶意代码。

设备身份签发

安全通信的标志是每个设备都有一个可信和可验证的身份。此身份通常以签名证书的形式出现。通过PKI制造商可以向主要通信 ECU 发布身份,并与他们的一级供应商合作,向车辆内的所有 ECU 发布身份。

设备身份管理

设备身份泄露会对企业安全产生重大影响。攻击者可以滥用设备身份,在企业网络上建立隐藏或隐藏的加密通信隧道,并获得对数据和资源的特权访问。而设备身份管理可以提高企业的网络安全,降低被入侵的风险。

了解详情

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PKI(Public Key Infrastructure,公钥基础设施)技术是用于建立和管理数字证书的安全框架。在Python中,您可以使用PyCrypto或cryptography库来实现PKI技术。 PyCrypto是一个Python加密库,可以用于生成公钥/私钥对,以及对数字证书进行签名和验证。以下是使用PyCrypto生成RSA密钥对的示例代码: ```python from Crypto.PublicKey import RSA # 生成一个2048位的RSA密钥对 key = RSA.generate(2048) # 获取公钥和私钥 public_key = key.publickey().exportKey() private_key = key.exportKey() ``` cryptography库是另一个用于PKI实现的Python库。它提供了一组高级密码学接口,包括生成和验证数字签名、生成和验证证书等。以下是使用cryptography库生成RSA密钥对的示例代码: ```python from cryptography.hazmat.primitives.asymmetric import rsa, padding from cryptography.hazmat.primitives import serialization # 生成一个2048位的RSA密钥对 key = rsa.generate_private_key( public_exponent=65537, key_size=2048 ) # 获取公钥和私钥 public_key = key.public_key().public_bytes( encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo ) private_key = key.private_bytes( encoding=serialization.Encoding.PEM, format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption() ) ``` 以上代码仅提供了PKI技术的一些基本实现,具体应用需要根据实际需求进行调整。同时,需要注意安全性问题,例如密钥的存储和保护等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值