[Classic AUTOSAR学习] SecOC通信安全模块

admin 2022年6月11日19:20:28安全闲碎评论12 views3289字阅读10分57秒阅读模式

简介

SecOC模块的目的是在PDU的级别,针对关键数据作资源高效且可行的验证机制,保证数据安全,这种安全机制可以无缝集成到AUTOSAR项目当中。

SecOC既可以支持对称加密方式,也能支持非对称加密方式,AUTOSAR规范主要基于对称加密方式进行说明。在对称加密过程当中,消息认证码(MAC)是关键,它能以更小长度的密钥以及实现的便利程度,达到非对称加密同样的安全等级。

对于既有项目来说,这样的方式也充分考虑了过去的系统当中所能提供的有限资源,尽量将资源消耗程度降到最低。

[Classic AUTOSAR学习] SecOC通信安全模块

SecOC既作为PduR模块的上层模块,也是PduR的下层模块,在数据流的收发双向中做数据的加密与解密。以Can总线上的接收为例,CanIf将接收到的加密信息传给PduR,PduR交给SecOC,SecOC利用CSM的服务和RTE之上的Key management和Counter management进行解密,然后SecOC再将解密后的数据给到PduR,PduR继续路由给对应的模块。

[Classic AUTOSAR学习] SecOC通信安全模块

所以,很显然地,SecOC和底层通信协议无关。

AUTOSAR中的安全解决方案

确保接收到的数据从正确的ECU发送而来,并且是正确的数据,对于车辆功能系统完成正确且安全的操作,是非常重要的。在这里,涉及到认证(Authentication)完整性(Integrity)两个概念。

SecOC模块提供了必要的功能,来验证车内ECU通信的PDU的真实性(authenticity)和新鲜度(freshness)。

在发送方,SecOC为IPdu加上验证信息,组成了Secured IPdu。验证信息包括验证器Authenticator(例如消息验证码,下称MAC)以及可选的新鲜值字段。当使用了新鲜值,而不是时间戳的情况下,新鲜值计数器应当在生成验证信息前,由新鲜值管理器不停地自加并提供这个值。

基于同样验证方法以及新鲜值管理器(下称FvM)的接收方,SecOC模块负责检查Authentic IPdu的新鲜值以及验证码。

[Classic AUTOSAR学习] SecOC通信安全模块

一般地,在使用对称加密时,我们使用术语MAC,在使用非对称加密时,我们使用术语签名(signature)或者电子签名(digital signature)。

Authentic I-Pdu和Secured I-Pdu

Secured IPdu的payload包括Authentic IPdu以及MAC值,也可以包含新鲜值(可选),并且这个新鲜值会被用来作为计算MAC值的一部分。

[Classic AUTOSAR学习] SecOC通信安全模块

对于不同的Authentic IPdu,新鲜值和MAC值可以设置为不同的长度。

MAC值由密钥,Secured IPdu的数据ID,payload(Authentic IPdu)以及新鲜值作为输入并计算而得,具有唯一性,足以在收发双方进行安全的通信。

由于可能会出现数据长度有限,无法将MAC值每一位都放在消息中进行发送的情况,SecOC模块也可以设置截断值,将MAC值截取一部分放在payload当中。不同的Secured IPdu都可以设置不同的截断值。

对于MAC值,应当截取高位数据,而对于新鲜值,截取的是低位数据。

截取位长度该怎么选,这是个问题。从规范上的说明来看,理想状态下,最好是有至少128bit长度的MAC值,不过,一般情形下,64bit以上也能覆盖大多数场景,不会被攻破。当然,具体怎么截取,需要由项目的信息安全负责人来确定。

[Classic AUTOSAR学习] SecOC通信安全模块

无论是新鲜值,MAC还是Data ID等,SecOC模块都是基于大端模式来处理数据。

用来计算验证码的数据

上文已经提及到,这些数据会被用来计算验证码:Data ID,(被保护的)Authentic IPdu数据,完整的新鲜值。

新鲜值

每一个Secured IPdu都可以配置至少一个新鲜值,新鲜值用来保证Secured IPdu的新鲜程度。新鲜值需要有新鲜值管理器作为一个SWC来提供,既可以是消息计数器,也可以是时间戳。

如果想要配置截取值,可以配置SecOCFreshnessValueTruncLength,如果此项配置为0,那么新鲜值将不会被包含在Secured IPdu内。

[Classic AUTOSAR学习] SecOC通信安全模块

在降低总线负载,进行新鲜值截取的同时,又不希望新鲜值重复导致丢弃本应该接收的消息,我们还可以来利用SecOCUseAuthDataFreshness选项,让Authentic IPdu的部分内容作为新鲜值的一部分。我们可以设置对应起始位(bit)以及长度(bit)----比如Authentic IPdu中有4bit的E2E Counter---作为新鲜值的一部分,这样就可以不用对原有的新鲜值做扩展。

[Classic AUTOSAR学习] SecOC通信安全模块

如果设置SecOCAuthDataFreshnessStartPosition为11,SecOCAuthDataFreshnessLen为4,假设收到的PDU数据为0xABCD,那么它的Authentic Data新鲜值为0xD。

[Classic AUTOSAR学习] SecOC通信安全模块

获取新鲜值有两种方案,一种是经由RTE,通过FvM SWC的FreshnessManagement_GetTxFreshness()来获取,另一种是直接调用C API接口SecOC_GetTxFreshness():

[Classic AUTOSAR学习] SecOC通信安全模块

Secured IPdu的创建

创建一个Secured IPdu分为以下六步:

  • 准备Secured IPdu,分配所需buffer

  • 获取待构建数据,也即Data ID,Authentic IPdu还有新鲜值

  • 生成验证码

  • 构建Secured IPdu

  • 增加新鲜值

  • 发送Secured IPdu

IPdu的验证

Secured IPdu的验证也分为六步:

  • 解析Authentic IPdu,新鲜值和验证码

  • 从新鲜值管理器获取新鲜值

  • 获取待验证数据

  • 检查验证信息

  • 给新鲜值管理器发送确认

  • 将Authentic IPdu传给上层

[Classic AUTOSAR学习] SecOC通信安全模块
MAC验证
[Classic AUTOSAR学习] SecOC通信安全模块
新鲜值验证

根据配置的不同,验证结果可以通过Verification Status Callout API接口或者服务接口SecOC_VerificationStatusIndication通知出去。

如果是非对称加密呢?

在使用非对称加密的场景当中,密钥分为私钥和公钥。发送方使用私钥生成签名,接收方使用公钥来验证接收到的数据。接收方无法拥有私钥,也无法通过公钥获取私钥。

在验证阶段,接收方需要完整的签名信息,因此之前提及的MAC截取,在这种场景下是不能使用的。

另外,对称加密通信时,接收方的SecOC会请求重新计算MAC值并与接收到的MAC值作比较;而对于非对称加密时,所有数据作为输入给到验证器,通过一个布尔结果值知晓验证结果。



[Classic AUTOSAR学习] SecOC通信安全模块

[Classic AUTOSAR学习] SecOC通信安全模块

码上报名

AutoAI 2022 第五届无人驾驶与智能驾舱峰会火热报名中



[Classic AUTOSAR学习] SecOC通信安全模块

[Classic AUTOSAR学习] SecOC通信安全模块

码上报名

AES 2022 第三届中国国际以太网峰会火热报名中



[Classic AUTOSAR学习] SecOC通信安全模块

[Classic AUTOSAR学习] SecOC通信安全模块

码上报名

AutoSec 2022 第六届中国汽车网络安全周暨汽车数据安全展火热报名中


更多文章

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽车


会员权益: (点击可进入)谈思实验室VIP会员

END


[Classic AUTOSAR学习] SecOC通信安全模块

微信入群

谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。

 

每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全功能安全自动驾驶TARA渗透测试SOTIFWP.29以太网物联网安全等,现专题社群仍然开放,入满即止。


扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。

[Classic AUTOSAR学习] SecOC通信安全模块


谈思实验室,为汽车科技赋能,推动产业创新发展!

原文始发于微信公众号(谈思实验室):[Classic AUTOSAR学习] SecOC通信安全模块

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月11日19:20:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  [Classic AUTOSAR学习] SecOC通信安全模块 http://cn-sec.com/archives/1109669.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: