Autosar片上通讯安全特性的软件需求
1.功能性全览
SecOc模块主要用于在PDUs这一层的关键数据的资源节省和可行的认证机制。这一套认证机制无缝集成在当前的AUTOSAR通信系统,且在资源损耗这方面足够小以便附加到系统的剩余部分。这个规范是基于使用报文认证码MACs的主要对称认证方法的假定。他们实现了相同的安全水准通过比非对成方法更小的密钥,而且在硬件和软件上完成的紧促和有效。此外,该规范提供了必要的抽象级别,以便可以使用对称和非对称的身份验证方法。
- SecOC模块集成在AUTOSAR PduR这一层上,同时作为Autosar通信栈的一部分。
- PduR负责路由进入和输出安全相关的I-PDUs到SecOC模块。
- SecOC模块应该添加和处理安全相关的信息和以一个I-PDU的格式把结果传播回PduR。PduR负责进一步路由I-PDUs。
- 此外,SecOC模块使用由CSM提供的加密服务以及和Rte交互获取密钥和计时器管理。
- SecOC模块也应该支持PduR中各种通信范式和原则,特别是组播通信,传输协议和PduR网关。
2.术语缩写和定义
2.1 缩略语
| Acronym | 描述 |
|---|---|
| CSM | AUTOSAR加密服务管理 |
| SecOC | 片上通信安全 |
| MAC | 报文认证码 |
| FV | 新鲜值 |
| FM | 新鲜值管理 |
2.2 定义
| Term | 描述 |
|---|---|
| Authentic I-PDU | 一个任意的AUTOSAR I-PDU他的内容在网络传输过程中是被担保的,也称为收保证的 I-PDU |
| Authentication | 身份验证是与标识相关的服务。此功能适用于实体和信息本身。进行通信的双方当事人应相互识别。通过渠道传递的信息应根据来源、来源日期、数据内容、发送时间等进行身份验证。由于这些原因,密码学的这一方面通常细分为两大类:实体身份验证和数据源身份验证。数据源身份验证隐式提供数据完整性(因为如果消息被修改,则源已更改) |
| Authentication Information | 认证信息由新鲜值的一部分和身份验证器的一部分组成,认证信息是由SecOC附加在信息上的来实现受保证的I-PDU |
| Data integrity | 数据完整性的属性是数据指不会改变在不授权的方式下,包括数据自创立以来,传输过程中和通过一个授权的源存储。为确保数据的完整性,一方需要能够在不授权的部分检测数据的操作,包括对数据的插入,删除和替换 |
| Data origin authentication | 数据源认证也是认证的一类,源中在过去的一些时间(通常未指定的)当作特殊的数据会被用做证实的一部分。通过定义,数据源认证包括数据完整性 |
| Distinction unilateral/ bilateral authentication | 在单边认证,只一端进行身份验证,请求方甚至不在认证的范围内在被允许请求认证时。在双边认证中,请求方至少需要证实请求的权限在被认证时。双边认证是一种高效和更安全的方式在两端认证,最初的认证请求作为第二个报文,通过接收方的第一个报文,发送发也会请求认证。接收方发送第三个报文证实发送发的认证请求,相比较两个单边认证的报文则需要四个。 |
| Entity authentication | 实体认证的过程是身份的一部分获取了明确的证据,第二部分在同一个协议中被调用,且第二部分明确参与了验证 |
| Message authentication | 报文认证使用类似于数据源认证,它提供针对原始消息源的数据源身份验证,包括数据的完整性但是唯一性和及时性是不受保证的 |
| Secured I-PDU | 一个受到保证的I-PDU是一个包含有效负载的AUTOSAR I-PDU,并提供附加的认证信息 |
| Transaction authentication | 交易认证是指增强消息认证以额外提供数据的唯一性和及时性保证(从而防止无法检测到的消息重播) |
3. 相关模块
- BSW基础软件层
- COM通信层
- PDU和PDUR路由层
- Crypt加密服务管理
4. 约束和设定
适用AUTOSAR释放的4.3版本
4.1 汽车域的适用性
适用于所用ECUs必要的安全通信
SecOC模块对于MOST音视频和低速LIN通讯网络是不专用的,对于多媒体和远程的汽车领域是受限的
4.2 SomeIpTp约束
SecOC模块只适用于保证整个SomeIpTp报文,不适用于保证独立的段在一个SomeIpTp报文
正确的传输顺序 SecOC -> PduR -> SomeIpTp 直接进行SecOC和SomeIpTp之间的通讯是不被允许的
由于SomeIpTp请求触发发送去制作报文头。SecOC不支持来自上层供给的数据通过触发发送
5. 对其他模块的依赖
SecOC模块处理I-PDUs作为其他模块的源或下层,应注意模块之间共享的配置项保持一致
5.1 PduR
- 通信接口的API
- 传输协议模块的API
- 上层模块使用传输协议的API
- 上层模块处理来自通信接口的I-PDUs的API
5.2 CSM
- MAC生成接口(Csm_MacGenerate)
- MAC验证接口(Csm_MacVerify)
- 标签生成接口(Csm_SignatureGenerate)
- 标签验证接口(Csm_SignatureVerify)
5.3 RTE
- SecOC_VerificationStatus
- SecOC_VerifyStatusOverride
- SecOC_VerificationStatusIndication
同时SecOC依赖BSW调度表响应功能是SecOC_MainFunctionRx和SecOC_MainFunctionTx在一个周期配置为SecOCMainFunctionPeriodRx和SecOCMainFunctionPeriodTX
6. 需求追溯
系统需求和软件需求的ID对应, 满足MISRA C 2012标准
7. 功能规格
对敏感数据的认证和完整性保护在整车系统中对于保护正确和安全的功能是必要的,这个确保接收的数据来自正确的ECU和值正确。SecOC模块旨在PDUs这一层对于敏感数据减少损耗和可行的认证机制,这个方式用对称和非对称的方式进行认证和完整性保护。在术语使用方面对称和非对称存在差异,通常报文认证码MAC被用作对称方式时的术语标志和数字标志参照非对称的方式有不同的属性和约束。
7.1 安全解决方案的规范
SecOC模块提供重要的功能去验证在车载架构下ECUs之间的真实性和新鲜度。这种方式要求在接收方和发送方都需要实现一个SecOC模块,且发送端和接收端每个SecOC模块都完整的提供上层和下层的PduR接口APIs。两端的SecOC模块通常都是和内部的PduR模块交互。
为了提供报文的新鲜值,SecOC模块在发送和接收端从外部的新鲜值管理获取新鲜值对于每一个识别出的安全I-PDU,例如每一个安全通讯的链接。
- 在发送方,SecOC模快创造一个安全的I-Pdu通过添加认证信息到输出的Authentic I-PDU,这个认证信息由身份认证器(比如报文认证码MAC)和可选择的新鲜值。无论新限值是否在安全I-PDU负载中使用,新鲜值在生成身份验证器的时候都需要考虑。当使用新鲜值而不是一个时间戳,新鲜值计数器应该通过新鲜管理增加并事先提供验证信息到接收方。
- 在接收方,SecOC模块检查来自发送方添加到Authentic I-PDU中的验证信息,包括新鲜度和真实性。为了验证这些信息,发送方和接受方的安全I-PDU应该相同,接受方应该了解新鲜值是否在发送方创建身份认证器的时候使用。

SecOC模块的实现不基于其他模块的依赖,即使一个系统中不使用SecOC模块也是可行的。
SecOC应该确保在响应的安全PDU中接收到的元数据没有改变,反之亦然。
7.3 初始化
- SecOC模块提供初始化的功能,该功能初始所有内部全局变量和存储SecOC I-PDUs
的缓冲区及所有的中间结果。SecOC的环境应该响应SecOC_Init在调用SecOC模块的其他功能之前除了SecOC_GetVersionInfo。在开发者模式下实现器必须保证SecOC_E_NUINIT被返回以防止一个API功能在模块初始化之前被调用。 - 对于通过 SecOC 模块的 I-PDU 数据传输路径,在 SecOC 模块内分配了一个缓冲区。此缓冲区需要初始化,因为它可能在下层通信模块的上层完全填充数据之前被传输。
文章详细阐述了Autosar中SecOc模块的片上通讯安全特性,包括认证机制、报文认证码MACs的使用、资源节省、对称与非对称认证方法,以及与PduR、CSM和Rte模块的交互。还介绍了新鲜值管理和I-PDU的认证与验证过程。


323

被折叠的 条评论
为什么被折叠?



