点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
在信息安全的范畴里,经常会提到密钥管理KeyM(Key Manager),KeyM主要讨论两部分内容:crypto key submodule和certificate submodule。
对于certificate submodule,与我们参与的具体项目有关,如果项目对应的控制器开发不使用诊断的0x29服务,或者不涉及TLS(Transport Layer Security)时,涉及certificate的内容不多。但是,关注信息安全,有必要了解一下certificate。本文主要讨论一个点:如何证明certificate是有效的?
01
UDS 0x29服务与certificate
搞诊断的小伙伴,对UDS(Unified diagnostic services)的0x29服务(Authentication service,认证服务)应该有所了解。0x29服务涉及的内容如下所示:
其中,APCE(Authentication with PKI Certificate Exchange)会涉及Certificate。讨论本文的话题,我们从APCE的认证流程开始,我们以单向证书认证(verifyCertificateUnidirectional)为例,简化流程如下所示:
Step1:上位机(eg:诊断仪)启动认证流程,询问Server端支持的认证方式。Server给出支持的认证方式(eg:APCE认证);
Step2:Client将包含自身公钥和CA(certificate authority)签名的证书给到Server,Server用CA的公钥验证Client证书;
Step3:如果Client证书有效,则发送Challenge Server给到Client;
Step4:Client用对应的私钥对Challenge Server签名;
Step5:Server用Client的公钥验签,确认Client身份合法性。
针对该认证流程,我们提出一个问题:Server端怎么知道Client发送的证书(Certificate)是否合法呢?如何确保该证书没有被篡改过?
02
Certificate Chain
Step2中有提到CA和CA的公钥,这又是怎样的关系呢?我们可以参考(1),如下所示:
如上的certificate分为Root Certificate、Intermediate Certificate、End user Certificate。其中,Root Certificate(根证书)是信任的起点,可以看作是无条件信任的,根证书只能自己给自己签名。Intermediate Certificate(中间证书)由根证书签名,End user Certificate(终端用户证书)由中间证书签名。
其中,Root Certificate、Intermediate Certificate需要提前罐装在ECU内部的非易失内存区(eg:产线通过诊断刷写到特定内存区,当然,需要确保该内存区是安全的)。为了简化流程,节约认证时间,可以省略Intermediate Certificate。所以,对应到0x29服务的认证流程上,可以将Root Certificate的公钥Kpub CA提前罐装在ECU内,Client发送证书之前,请求CA使用对应私钥Kpriv CA对Client Certificate进行签名。只有合法的Client,CA才会进行签名。如此,Server收到Client Certificate时,使用提前存储的CA公钥对Client Certificate中的签名信息进行验签。如果验签成功,说明Client身份合法,之后,Server提取Client Certificate的公钥Kpub Client,为了确保Kpub Client有效,所以,Server会发送Challenge Server给Client,让Client使用Kpriv Client对Challenge Server签名,之后,Server使用Kpub Client对签名Client签名的信息进行验签,证明Kpub Client的数据有效性。示意如下:
end
精品活动推荐
AutoSec中国行系列沙龙
专业社群
部分入群专家来自:
新势力车企:
特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......
二级供应商(500+以上):
Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、中科数测固源科技、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......
人员占比
公司类型占比
原文始发于微信公众号(谈思实验室):信息安全,如何证明certificate是有效的?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论