车辆安全中的证书与密钥介绍与配置模拟

原创 汽车电子与软件 2025-01-23 12:24

         

 

作者 | 不可说

出品 | 汽车电子与软件



#01
引  入

随着汽车技术的飞速发展,智能化、网联化已成为不可逆转的趋势,车辆与外界的通信和数据交换变得日益频繁且复杂。这种趋势在带来便利性的同时,也使得信息安全问题愈发凸显,成为不容忽视的挑战。
         

 

一旦车辆系统遭受黑客攻击或数据泄露,后果将不堪设想。用户的个人隐私可能因此曝光于公众视野,面临被滥用的风险。更为严重的是,车辆可能会被恶意控制,导致行驶轨迹偏离、功能失效等严重安全问题,进而对道路使用者的生命财产安全构成巨大威胁。这种潜在的危害不仅损害了用户的利益,也对整个汽车产业的健康发展造成了不利影响。
         

 

因此,加强汽车信息安全防护显得尤为迫切。我们必须采用先进的加密技术,确保数据传输过程中的机密性和完整性;制定严格的安全协议,规范数据交换的行为和流程;并引入高效的证书管理机制,验证通信双方的身份和权限。通过这些措施,我们可以确保数据的传输、存储和处理都处于安全可控的状态,从而有效防范信息安全风险。
         

 

   


#02
应用场景  

在汽车通信中,为了保证信息安全,多个场景都可以用到证书和密钥来保证通信、数据的机密性与完整性:

  • 车辆与智能手机的通信

车辆与智能手机之间的通信,用于实现远程控制、状态查询、数据共享等功能。需要确保通信数据的安全性、隐私性和完整性,防止数据被泄露或篡改。证书用于验证车辆和智能手机的身份,确保通信双方都是合法的。密钥用于加密通信数据,保护数据的机密性和完整性,同时防止未经授权的访问。
         

 

  • 车辆与云平台的通信

车辆与云平台之间的通信,用于实现远程监控、数据分析、软件更新等功能。很多车辆与手机的通信也要是经过云平台处理的。同样需要确保通信数据的安全性、完整性和可靠性,防止数据被窃取、篡改或伪造。证书用于验证车辆和云平台的身份,确保通信双方都是合法的。

密钥用于加密通信数据,同时防止中间人攻击等安全风险。
         

 

  • 车辆内部通信

车辆内部各个ECU之间的通信,比如车辆通信大数据、日志等信息汇总。需要确保通信数据的真实性、完整性和实时性,防止数据被恶意攻击或篡改。
         

 

  • 软件更新和固件升级(OTA)

OEM需要定期对其生产的汽车进行软件更新和固件升级,以确保汽车的性能和安全。在这个过程中,证书和密钥可以用于确保更新和升级过程中的数据安全,同时需要密钥来验证安装包的合法性与完整性。   
      


#03
证书与密钥  


证书 

 

证书是一种由认证机构(CA)颁发的电子文档,用于证明公钥持有者的身份。它包含以下关键信息:
         

 

公钥:证书中最重要的部分,用于加密数据或验证签名。

证书持有者信息:包括证书持有者的名称、组织、国家等身份信息。

证书颁发机构(CA)信息:包括CA的名称、签名等,用于验证证书的真实性。

有效期:证书的有效期限,过期后需要重新颁发。

证书序列号:CA为每个证书分配的唯一编号。

签名:CA使用其私钥对证书内容进行的数字签名,用于验证证书未被篡改。
         

 

证书的主要作用是确保公钥与公钥持有者的身份正确匹配,防止中间人攻击等安全问题
         

 

密钥 


密钥是加密算法中使用的参数,用于对数据进行加密或解密,或对数据进行签名和验证签名

密钥分为对称密钥和非对称密钥两种:
         

 

对称密钥:加密和解密使用相同的密钥。常见的对称加密算法包括AES、DES等。

非对称密钥:包括公钥和私钥一对。公钥用于加密数据或验证签名,私钥用于解密数据或生成签名。常见的非对称加密算法包括RSA、ECC等。

在公钥基础设施(PKI)中,非对称密钥尤其重要。公钥可以公开给任何人,而私钥必须保密。通过私钥和公钥的配对使用,可以实现数据的机密性、完整性和身份认证。   
         

 

证书与密钥之间存在密切的关系:

证书包含公钥:证书是公钥的载体,用于证明公钥的合法性

私钥用于签名:私钥用于生成数字签名,证明信息的完整性和发送者的身份。

证书验证:通过验证证书中的签名,可以确保证书未被篡改,从而验证公钥的真实性。
         

 

格式 


从文件编码的角度来看,证书和密钥主要可以分为两大类格式:
         

 

一类是PEM(Privacy Enhanced Mail)格式,它采用Base64 ASCII编码方式,是一种纯文本格式,便于阅读和传输,同时也便于在不同系统间进行交换和存储。

另一类是DER(Distinguished Encoding Rules)格式,它是一种二进制格式,结构紧凑且高效,通常用于需要高效存储和传输的场景。
         

 

在实际应用中,CRT、CER、KEY等证书和密钥文件,它们各自遵循特定的结构规范,在存储为物理文件时,可以根据需要选择PEM格式或DER格式。
         

 

具体来说,CER格式通常用于Windows系统中的证书文件,它符合Windows系统对证书文件的特定要求。CRT格式则更多地用于Linux系统中的证书,它包含了公钥和主体信息等关键内容,是Linux系统中常见的证书格式。而KEY格式则主要用于密钥文件,特别是私钥的存储,它与证书文件一一对应,共同构成了数字证书的核心部分。
         

 

打个比方来说,CER、CRT、KEY等证书和密钥文件就像是论文、说明书等文档,它们都有各自规定的行文格式与规范。而PEM和DER格式则相当于这些文档的存储格式,就像是txt格式和word格式一样,它们决定了文档如何被存储和呈现。   
         

 

此外,还有一些其他常见的证书文件格式,如CSR(Certificate Signing Request,证书签名请求)文件。证书申请者在生成私钥的同时,也会生成一个CSR文件,这个文件包含了申请者的公钥和身份信息等内容。将CSR文件提交给证书颁发机构后,证书颁发机构会使用其根证书的私钥对CSR文件进行签名,从而生成一个包含公钥的证书文件,也就是颁发给用户的证书。
         

 

.key文件则是私钥的存储格式,它与证书文件一一配对,共同构成了数字证书的基础。而.crt、.cert、.cer等文件后缀则通常用于表示证书文件,它们可以是二进制格式的DER文件,也可以是文本格式的PEM文件。这些文件只包含证书信息,不保存私钥。一般来说,Linux系统更倾向于使用.crt后缀的证书文件,而Windows系统则更常使用.cer后缀的证书文件。
         

 

另外,还可以将多级证书导入同一个证书文件中,形成一个包含完整证书链的证书文件。这样做的好处是可以简化证书的管理和使用,提高系统的安全性和可靠性。
         

 

最后,还有一种特殊的文件格式是.pkcs12、.p12或.pfx文件,它们采用二进制格式存储,同时包含了证书和私钥(通过.crt或.cer文件与私钥.key文件合成)。这些文件通常会有密码保护,以确保私钥的安全性。
    


#04
通信加密:SSL单向认证  

SSL单向认证主要是车辆客户端去验证服务器的合法性,这个过程服务器需要CA证书、server证书、server私钥,客户端需要CA证书。

整个过程可以参考下图:


SSL单向认证流程

在SSL单向认证过程中,首先客户端向服务器发起HTTPS连接请求,并附上自身支持的SSL/TLS协议版本、对称加密算法列表及生成的随机数A;接着服务器回应,确认双方支持的协议版本和加密算法,并附上自身的安全证书(含公钥)及生成的随机数B;然后客户端验证服务器证书的有效性,包括检查证书是否过期、是否被吊销、是否可信以及证书域名与请求域名是否一致,验证通过后,客户端生成一个预主密钥(随机数C),使用服务器证书中的公钥加密后发送给服务器;最后服务器使用私钥解密得到预主密钥,双方基于这三个随机数通过相同密钥交换算法计算出相同的对称加密密钥,用于后续的数据加密通信。在此过程中,仅服务器进行身份验证,客户端无需提供证书。   
     


#05
通信加密:SSL双向认证

SSL双向认证是验证服务器和车辆客户端的合法性,服务器需要CA证书、server证书、server私钥,客户端需要CA证书,client证书、client私钥。

整个过程可以参考下图:


SSL双向认证流程

车辆作为客户端向服务器发送SSL连接请求,服务器返回包含公钥和证书颁发机构信息的数字证书给客户端,车辆客户端验证该证书的有效性和真实性后,生成一个随机密钥用服务器的公钥加密发送给服务器,服务器解密得到密钥后,服务器也会要求车辆客户端发送其证书,车辆客户端发送后服务器验证其合法性和有效性,确认双方身份后,双方使用该密钥进行加密通信,从而确保通信的安全性和真实性。
         



#06
加签与验签

加签与验签最经典的则是对OTA数据包的处理,车辆云平台下发数据包前对其进行加签,再经过双向验证的加密通道将数据下发到车辆端,车端在执行升级前需要经过对其的验签过程,以保证数据包的完整性。
         

 

加签原理 

         

 

加签,发送方会先对数据进行加密,生成一个独特的数字签名,随后将这个签名与原始数据捆绑在一起,一并发送给接收方。这里的数字签名,实质上是一个基于特定加密算法计算得出的值,它的生成离不开私钥的参与,而验证其真实性时,则需借助相应的公钥。
         

 

加签流程大致可以分为以下四个步骤:

第一步,选择哈希算法。这一步骤至关重要,因为哈希算法将直接用于生成原始数据的哈希值。哈希值,作为一个固定长度的字符串,能够唯一地代表输入数据,确保数据的唯一性和不可篡改性。

第二步,计算哈希值。发送方会利用选定的哈希算法,对原始数据进行哈希运算,从而生成一个哈希值。

第三步,使用私钥加密哈希值。为了生成数字签名,发送方会运用其私钥,对之前计算得出的哈希值进行加密处理。

第四步,发送数据与数字签名。最后,发送方会将原始数据和加密后的数字签名一同发送给接收方,以供后续验证使用。
         

 

   

验签原理 

         

 

验签,则是接收方在收到数据后,为确保数据的完整性和真实性而采取的一系列验证措施。这一过程同样离不开发送方的公钥。
         

 

验签流程同样包含四个关键步骤:

第一步,选择哈希算法。接收方需要选择与发送方相同的哈希算法,以确保后续哈希值计算的一致性。

第二步,计算哈希值。接收方会利用选定的哈希算法,对接收到的原始数据进行哈希运算,得出一个哈希值。

第三步,使用公钥解密数字签名。为了验证数字签名的真实性,接收方会运用发送方的公钥,对接收到的数字签名进行解密处理,从而得到解密后的哈希值。

第四步,比较哈希值。最后,接收方会将解密后的哈希值与自己计算得出的哈希值进行对比。如果两者完全吻合,那么就可以断定数据在传输过程中保持完整,且未被篡改。这一过程确保了数据的真实性和可靠性。
         

 



#07
证书密钥配置模拟

本小节使用openssl模拟演示下后台服务器端及车辆端的证书和密钥的生成

CA私钥与证书 


可使用下述指令生成私钥,来模拟CA私钥;

openssl genrsa -out rs_pri.pem 512   


可使用下述指令生成证书,来模拟CA证书,在这个过程需要填写机构的信息:

openssl req -new -x509 -key rs_pri.pem -out cacert.pem -days 3650



查看证书内容:   


服务器的配置 


先利用上述指令生成服务器的私钥:server.pem;

使用服务器的私钥生成服务器的CSR:server.csr


   
使用CA证书签署服务器证书:server.crt

openssl x509 -req -days 36500 -sha256 -CA cacert.pem -CAkey rs_pri.pem -CAcreateserial -in server.csr -out server.crt



车辆客户端配置 


车辆的ECU通常会内置云平台提供的CA证书,在ECU第一次通电、联网时,生成私钥以及CSR,通过PKI流程向云平台,也就是服务器端申请公钥证书,服务器生成后会返回给车辆端,本次测试直接生成了,忽略PKI申请流程:

$ openssl genrsa -out client.pem 512

$ openssl req -new -sha256 -key client.pem -out client.csr

$ openssl x509 -req -days 36500 -sha256 -CA cacert.pem -CAkey rs_pri.pem -CAcreateserial -in client.csr -out client.crt


车辆客户端申请下来的公钥证书与后台服务端的证书内容对比大概如下:   



SSL双向验证比单向验证多的就是服务端要验证车辆端的合法性,就是验证公钥证书中的时间有效期、包含的身份信息、签发机构等信息。 


/ END /



汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 590浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 247浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 104浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 88浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 198浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 173浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 176浏览
  • 日前,商务部等部门办公厅印发《手机、平板、智能手表(手环)购新补贴实施方案》明确,个人消费者购买手机、平板、智能手表(手环)3类数码产品(单件销售价格不超过6000元),可享受购新补贴。每人每类可补贴1件,每件补贴比例为减去生产、流通环节及移动运营商所有优惠后最终销售价格的15%,每件最高不超过500元。目前,京东已经做好了承接手机、平板等数码产品国补优惠的落地准备工作,未来随着各省市关于手机、平板等品类的国补开启,京东将第一时间率先上线,满足消费者的换新升级需求。为保障国补的真实有效发放,基于
    华尔街科技眼 2025-01-17 10:44 227浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 120浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 135浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 126浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 274浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦