热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

车联网密码安全那些事儿

 车联网标准中《汽车整车信息安全》是所有车联网标准中覆盖极为全面的。其中,第五章和第六章前半部分对应了R155的CSMS要求,实践了ISO21434的部分要求。第六章之后的部分为标准的技术要求,详细描

 

加密在车机端中有很多的使用场景。具体来说,包括充电系统在内,从车机端到CAN总线,都存在一个信息加密的需求和要求。密钥的生成和管理是车联网安全的核心需求。

由于汽车产业升级,传统汽车厂商在向面向未来的智能网联汽车厂商转变,催生出了IVI、TBOX等带有应用(APP)和互联网访问需求的车辆端系统和随之而来的数据和网联安全需求。从这个角度来说,所有带有应用和程序处理的车端系统,实际都需要对内存、缓存的数据进行加密处理,防止泄露。

针对车端的应用,需要建立认证和访问控制,防止其他应用组件(LIB、SDK)等对本应用的资源(LIB、SDK)、缓存、内存的数据进行访问读取。而车端系统对外的访问,也是可以细分为对互联网内容请求下载、语音助手后台访问、备份后台访问、云访问、V2X的车路间、车车间互访等。这些访问都是要求互联网资源的访问,所以在链路上、后台上一定包含加密传输、对端认证的需求。除此之外,隐含的还有对硬件的加密需求,比如硬盘和新能源充电桩等。

车联网安全标准体系可以细分出很多方向,今天我们主要研究车联网安全标准中的密钥安全要求。

 

算法的使用和管理要求

车联网标准中《汽车整车信息安全》是所有车联网标准中覆盖极为全面的。其中,第五章和第六章前半部分对应了R155的CSMS要求,实践了ISO21434的部分要求。第六章之后的部分为标准的技术要求,详细描述了汽车整车信息安全的技术要求。这个标准几乎涵盖了车联网安全的方方面面,解决了中国因不是R155强制缔约国造成的相对应的法规标准缺失问题。
《汽车整车信息安全》中的6.8明确了密码算法的使用和管理要求。如果未使用未采用国际通用或国家标准要求,则应说明其使用的合理性。应根据不同加密算法和场景,选择合适长度和有效期的加密密钥;使用开放的、已发布的、有效的密码算法,并选择适当的参数和选项,定期检查以采取相应措施。
这个要求明确了密码算法的密钥长度和参数应该设置合理有效,密钥算法需要未经破解且密钥算法有效期需要经常检查。
对于密码模块未采用国际通用或国家标准要求,则应说明其使用的合理性。这里针对自有密码模块或者新型密码算法模块,可以自己证明其算法的有效性,然后正常使用。
 

通信的真实性和完整性验证

《汽车整车信息安全》中第三方应用要求的7.2.1需要应对第三方应用的真实性和完整性进行检验。这就需要车辆同第三方之间要么建立专用网络通讯(VPN),要么使用TLS1.2以上进行通信。

如果使用VPN的情况,那么一般来说无外呼使用IPSEC或者OPENVPN。IPSEC是可以使用隧道模式的加密通信技术,使用IPSEC可以实现隧道加密,保护数据通信的真实性和完整性。

一般来说,车端连接后台和服务可以考虑使用IPSEC VPN隧道模式保护。但对于车企来说,维护几十万个IPSEC VPN可能是一项繁琐冗余的成本。所以相对于IPSEC VPN,业界一般会考虑使用OPENVPN技术实现隧道化通信,一样可以保护第三方应用的真实性和完整性。

OPEN VPN基于SSL协议,可通过车机端内置配置文件轻松实现拨号握手和隧道建立,而OPENVPN的配置文件可以通过软件批量下发注入到车机端中。OPENVPN具有连接鲁棒性,而且是一种CS架构的VPN,可通过后台直接管理。OPENVPN对于车辆连接后台服务器获取升级包的操作,具有直接的实际意义。一个升级文件通过OPENVPN的隧道传输到车机端,比任何其他的OTA(update on air)方式都更具有安全性。

针对互联网资源下载的操作,也可以不使用VPN。如获取音乐视频的操作。这种下载类的操作保护数据的真实性和完整性可以通过TLS1.2实现。TLS1.2其实是一种SSL VPN,但是主要面向连接,也就是服务器和客户端这种类型,具有部署灵活,应用面广的特点。理论上存在TLS降级的风险,实际应用中,可以通过部署安全措施避免。

 

证书认证与密钥管理

针对与服务平台通信的身份认证试验方法,在7.2.1中的要求还包含证书认证的方法。
证书认证本质上是使用不对称密钥进行加解密的认证方法。首先汽车厂商要生成针对认证的私钥和公钥,然后根据自己的需求填写信息生成证书,将公钥包含在证书中。该证书一般包含厂商私钥的签名。公钥认证的主要方法是针对证书的签名进行验证,包含私钥签名验证和第三方签名验证。所谓私钥签名认证是利用私钥签名公钥解的原理,对证书的私钥签名进行解密操作,验证发送信息对端的真实性。第三方签名认证需要首先第三方用私钥在证书上签名,然后使用私钥签名认证,针对该签名进行检验,从而实现第三方担保的信息发送对端的真实性。
密钥管理在7.2.1中包含两个主要点,一个是密钥的定期更新,称为安全方式定期更新。一个是密钥的安全存储。定期安全更新可以认为是更换。也就是从大方向来说,对称密钥,用于数据加密的;非对称密钥,用于数据加密和证书认证的,都需要定期更新。
此前,车厂一般会在车机端存储中开辟一块“安全地带”,用于存储“密码表”和“证书”。其中的私钥也会列在表中。这样的做法不符合车联网安全的原则。一般理论上来说私钥不适合存储在车机端中,而密码表需要硬件加密方案的保护,硬件加密也是必须的。所以对非对称密钥正确的做法是存储在后台,在企业内部通过系统申请证书和公钥,并定期进行轮换,确保私钥不会出现“长期不变”的情况。
对于对称密钥,应频繁的在不依靠之前的密钥(PFS Perfect Forward Secrecy)的条件下重新生成并采用安全算法更新到数据加密的两端,如使用(DH组 Diffie Hellman Group)或在通讯中先使用公钥建立安全连接再交换密钥。对于非对称密钥,也应该不依靠之前的密钥(PFS Perfect Forward Secrecy)并定期更新私钥和公钥对,并采用安全密钥更新算法更新到数据加密的两端,如使用(DH组 Diffie Hellman Group)。
 

密钥保护与安全控制

在8.1.2中提出应对存储的密钥实施安全控制,以防止V2X 数据仿冒攻击。V2X的应用中有较为繁琐的证书应用。V2X的证书一般分为四个层次,车端路端应用到车车端之间的证书一般为假名证书。
对于车厂来说,V2X的全部技术实现一般为第三方供应商提供。所以从底层来说,根据R155的要求,首先需要对供应商的代码和服务进行审查,同时同供应商签署协议保证安全。V2X的数据仿冒攻击(女巫攻击)是以公钥钥泄露为基础的攻击形式,和数据源的认证和记录有直接关系。攻击者使用泄露的密钥生成数据,然后需要穿过数据源认证才能将篡改数据发送给到V2X的数据中。所以密钥本身的访问控制、权限管理是V2X数据仿冒攻击的第一层预防,而数据源认证是防止篡改数据进入V2X网络的第二层保证。另外通过记录也可以在审计层面帮助防止V2X数据仿冒攻击。
在10.1.2中提到车辆应安全存储加密密钥,防止其被非授权访问和获取。其中主要包含两个层面的要求。一个是加密存储的密钥应该使用硬件加密的形式安全存储。通常使用存储在TEE、SE、HSM 等安全模块,也包括安全的软件存储形式。这个要求可以很好的保存存储在车机端的对称密钥和证书,但对于非对称密钥签名证书的特殊性,还是建议将非对称密钥的私钥保存在后台,然后采用硬件加密或软件加密的方式保存。
 

结语

总体来说,车联网密码安全的几个主要关注点如下。一是密钥的算法选择本身需要安全可靠算法。二是密钥的访问管理,需要具有权限控制、访问控制。三是密钥的安全存储,需要有可靠的存储区域、可信的安全存储算法。四是密钥本身的安全轮换,包含对称密钥的重新生成、对称密钥的安全分发;非对称密钥的重新生成和安全分发。

从车机端角度,可以分为三个层面:一是系统层面的密码保护,包含系统账户管理和访问控制、权限管理、密码管理。二是存储层面,加密存储数据、安全存储密钥、缓存加密、内存加密。三是通讯层面,包含资源下载加密访问、隧道加密访问后台升级、加密传输数据等。



推荐阅读
  • 无线认证设置故障排除方法及注意事项
    本文介绍了解决无线认证设置故障的方法和注意事项,包括检查无线路由器工作状态、关闭手机休眠状态下的网络设置、重启路由器、更改认证类型、恢复出厂设置和手机网络设置等。通过这些方法,可以解决无线认证设置可能出现的问题,确保无线网络正常连接和上网。同时,还提供了一些注意事项,以便用户在进行无线认证设置时能够正确操作。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 大学生自学复制假饭卡:2个月卖出3千张,获利10万元!背后的神器长啥样?
    山东淄博的一名在校大学生通过自学复制饭卡的技术,2个月内成功卖出3千张假饭卡,获利10万元。他使用了一种特殊的设备来复制饭卡,并通过网店销售给其他学生。该学生已被刑拘。此事被发现是因为学校食堂管理员发现了大量负数的情况,经警方调查后发现是这名学生所为。他制作的假饭卡与真卡几乎一模一样,售价仅为面值的40%。该学生一共复制了三千多张饭卡,并已全部卖完,获利十万余元。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
author-avatar
君君-你好
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有