满足AUTOSAR基础软件要求的硬件安全模块(HSM)加密运算

随着软件日益复杂,并且车载系统和传感器数量稳步增加,车内系统的通讯成几何增长,必须加强密码保护。这种保护可以通过经典的实时汽车开放系统架构(AUTOSAR)来实现。即便在资源稀缺的情况下,安装合适固件的硬件安全模块(HSM)也是一种永不过时的技术,它可以用来验证您的系统密码。

多年来,不论是ECU之间的连接,还是ECU与外部的连接,汽车电子控制单元(ECU)的连接程度是在不断加深的。然而,随着软件日益复杂,新的需求也随之而生,对通信的要求也越来越高。从安全角度来看,这意味着从单个孤立系统到高度连接节点的变化。因此,抵御外部威胁的安全防护变得越来越重要。除此之外,这种保护可以通过加强密码使用来实现。乍看之下,在经典的实时系统中实现密码保护并非易事。密码学曾经只在特殊操作模式下才需要,例如修配车间的ECU软件更新。

现在,必须确保加密在常规运行时同样有效:例如,对通信伙伴和通信内容进行身份验证并防止拦截。想要适当的实施,必须允许实时需求。这与密码方法的计算时间要求看似相矛盾。硬件安全模块(HSM)可以解决这个问题。它们允许在单独的处理器上计算密码,如果可行,可用硬件加速。然而,我们需要一个优化的实现来发挥其全部的潜力。

  • 汽车实时性

对车辆实时性的要求通常是由所谓的连锁效应造成的。在处理从传感器到相关执行器期望输出脉冲的输入脉冲时,分析涉及到的硬件或软件组件,以及排列顺序。从传感器和执行器的物理状态中得出整个链的最长可接受运行时间。然后,将其分解成单个组件的最长允许运行时间。根据用例不同,从10微秒到100毫秒不等。如果超出了最长允许运行时间,可能会降低便利性,导致噪音。对于需要实时性的安全相关功能来说,这甚至可能伤害生命和肢体。

为了满足对软件的实时需求,并实现需求,AUTOSAR操作系统将相关的软件功能划分为子步骤,即所谓的任务。通过外部事件触发任务,比如加注可运行标记,然后基于优先级进行处理。大多数应用程序会使用具有循环触发表的定时器来触发任务,因为相关的控制功能会连续处理新的生成信号。这样会产生一个默认的时间响应,几十毫秒一次循环。为确保满足实时要求,必须实施下列步骤。一方面,在处理信号时,必须采取适当措施,确保能够提供所需的时间响应。另一方面,必须确保ECU中与时间相关的触发任务能够满足时间要求。为此,必须分析所有任务在运行时期的行为,找到适当的优先级及触发命令时序,确保时效性。

  • AUTOSAR基础软件
    ECU功能涉及的不仅是信号处理。处理通信和管理的基本软件也是ECU的重要组成部分。同样,基础软件必须分成不同任务,根据运行需求进行分析,并将其放进整个系统中加以考虑。简而言之,有两种不同的功能集:例如,基本软件中用于通信信号值的一部分,对于处理实时信号十分必要,必须高度重视。而另一部分的实时需求明显较低:必须在后台定期运行;然而,它可能被具有较强实时要求的功能短暂抢占。因此,常见模式是将这些非关键功能转移到低优先级后台任务中。此文的问题在于如何划分功能的优先级:通常,存在多个后台活动,所以在较长时期不必确定哪个不合格。解决优先级排序的方法是循环调度,对每个低优先级功能计时小段时间,后面紧接着下个功能。AUTOSAR术语中,涉及的每个模块都提供了一个运行时间有限的所谓的“主功能”。在后台任务中,这些功能将按顺序调用。

  • 信息安全
    “后台功能”中一个典型的例子是密码算法。4.0发布之后,AUTOSAR包含加密基础软件的规范——版本修改和微调的规范。在这种情况下,所谓的密码服务管理器(CSM)为应用程序提供加密服务:

在这里插入图片描述

图1 AutoSar 4.3系统中的安全模块

例如,安全车载通信系统(SecOC)使用CSM对传输数据包中信号值进行加密验证。顾名思义,CSM管理密码服务。通过制造商专用密码库实现。为了集成到具有实时需求的AUTOSAR系统中,CSM异步处理请求:最初,CSM 主功能调用只保存请求,然后逐个处理请求。为此,CSM主功能就其本身而言,调用所有底层加密原语的主功能,然后每个对加密原语进行几步计算。

典型的加密计算时间超过了信号处理函数计算时间的数量级。调用主函数时,就出现了一个两难问题:允许的计算能力是多少?计算步骤过多,密码系统会失效,整个系统的实时性会成为问题。而步骤太少,加密操作的计算则会延迟,导致受益有限。

此外,还必须考虑另一个影响:特定的主函数用于管理内部计算状态,允许逐步执行计算。这种状态管理在某种程度上意味着开销。实际计算调用越少,开销越大。

应由软件供应商找到一个标准的解决方案。在典型场景中,例如,运行时的加密常用对称加密方法来验证较小的数据块。其中一种解决方案是为每个主函数调用计算一个对称块。然而,如果使用更为复杂的方法,很难找到明智的折衷方案。

示例包括对大量数据进行认证/加密或生成非对称签名。例如,假设每1毫秒计算100微妙可接受——这个假设十分乐观,因为在多数实时场景中保持这个状态并非易事。

与纯计算时间相比,这种划分意味着在结果可用之前时间增加了10倍。对于纯计算时间已经造成困难的密码函数而言,这种划分严重限制了实际应用。

  • 硬件安全模块
    显然,实时性能和加密方法开销的要求相互冲突,仅仅通过软件无法解决。因此,一个显而易见的解决方案是使用专门的硬件,这些硬件可以与主处理器并行计算适当算法或者其中大部分。然后,AUTOSAR CSM及相关的密码库仅负责将请求传递给该硬件,并在主功能中循环检查结果是否可用。过去十年里,在制造商的软件计划(HIS)里,这些硬件协处理器中的第一批被指定为“安全硬件扩展”。而在密码算法中规范仍限于在不同模式下实现AES-128。最近的发展显示,由于存在大量的可能情况,纯硬件协处理器常常是有限的,因此并不理想。

结果出现了所谓的硬件安全模块(HSM)趋势。HSMs是由一种防火墙连接到主机系统总线的独立微控制器。HSM通常有其受保护的内存(RAM),程序代码和数据的专用闪存区,及其外围设备,例如定时器、用于某些密码算法的硬件加速器或用于真随机数的发生器。它能够访问主机的所有硬件。在运行时实现系统的安全、认证启动或主机监测。专用数据闪存可以用来存储秘钥,主机系统无法随意访问。这意味着主机可以请求HSM执行加密操作,而密钥无需离开HMS。然而,在这方面,HSM的特殊优点是它是可自由编程的。作为一个独立的微控制器,HSM能够运行为当前用例优化的任何程序代码。这使得其安全性要求比简单的协处理器更高。

  • HSM固件实现
    仅在HSM上建立良好的AUTOSAR标准软件,使用标准AUTOSAR方法将其与环境连接,似乎很不错。这样可以重用熟悉的AUTOSAR实现模式。然而,事实并非如此:具有实时信号处理功能的典型AUTOSAR系统,和关注安全性的HSM的用例大有不同。这清楚表明,如果HSM固件可以更自由地优化其目的,则可以实现更高的效率。此外,当前HSM硬件可用资源有限——另一个因素使得在HSM上使用AUTOSAR软件变得困难。

HSM用例通常是典型的客户机-服务器模型:主机将一个或多个请求发送到HSM,在HSM中处理这些请求,并在结果可用时立即发出通知。与传统的AUTOSAR系统不同,HSM上管理和后台任务的数量非常有限。因此,可以假定HSM大部分计算时间将专用于处理主机请求。

当在HSM上使用允许中断的操作系统时,可以相应优化任务映射和优先次序。这样的话,可以在低优先级任务中处理长时间运行的操作,中断较短的操作。如有需要,高优先级中循环任务允许处理管理任务。通过这种类型的映射,可以实现加密例程,在一个会话中执行特定任务。不再需要适当的例程允许中断。然而,操作系统使得日常操作透明化。不再需要相关的管理开销,这大大减少了代码规模和运行时间。此外,中断只有在实际需要时才会发生——如果只需处理单个操作,那么计算将不会中断。

在这里插入图片描述

图2是HSM固件的体系结构。

HSM固件的架构

  • 算法布局的影响

事实上,与ECU硬件性能相比,HSM硬件性能有限,这可能是HSM软件优化的障碍之一。因此,理论上纯软件实现在HSM上需要的时间比主机更长。然而,在实践中,优化节省了时间。图3是tc397 ECDSA英飞凌测量(secp-256r1)上的主机系统,明显比HSM慢。虽然主机核心运行300MHz,HSM核心运行100MHz,主机上的软件算法比HSM的执行时间快了三倍。不幸的是,在一个真正的ECU中,主机CPU时间无法专门用于执行算法计算。事实上,使用AUTOSAR时间片和并发应用的用例可能只占主机CPU时间的10%,可用于算法计算。因此,100% CPU时间场景中的xyz ms,在结果可用之前,其操作将围绕实际ECU项目中的xyz * 10 ms。

有趣的是硬件加速器可以用来加速算法,所以软件部分只需设置输入数据并读出结果。计算是由硬件来完成,不需要任何CPU周期。图3显示了惊人的加速速度。具有8k输入数据的测量ECDSA secp-256r1仅需要9.6ms验证签名,而相应的HSM软件需要大约750ms,才能给出结果。这是一个78倍的加速。如果我们将硬件解决方案与具有10%CPU时间的主机CPU解决方案进行比较,结果在2.5秒之后是可用的,这意味着在硬件支持下,我们可以实现260倍的加速。

在这里插入图片描述

图3 ECDSA (secp-256r1)在主系统和HSM的运行时间

  • 加密时间
    因此,使用具有优化固件的HSM,也使实时ECUs成为永不过时的技术来验证密码。非对称加密方法也不再局限于特定的操作模式,而是可以在运行时以可接受的性能计算和使用。这开创了以前无法实现的密码用例。HSM的自由可编程性使得在选择所需方法及其实现方面能够进行特定于应用程序的优化。
  • 7
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: AUTOSARAutomotive Open System Architecture)是汽车行业中的一个开放式标准,旨在实现汽车电子系统的软件和硬件部分的标准化和自动化。 AUTOSAR基础软件AUTOSAR标准的核心组成部分,它提供了标准化的软件组件和接口,以支持汽车电子控制单元(ECU)之间的功能和数据交换。 AUTOSAR基础软件的主要目标是提供模块化的软件架构,以实现可重用性和平台互操作性。它分为四个主要模块:运行时环境(RTE)、通信堆栈、硬件抽象层(HAL)和诊断堆栈。 RTE模块提供了软件组件之间的通信机制,包括数据和服务的传输、事件触发和调度。通信堆栈模块实现了不同ECU之间的网络通信,如CAN、FlexRay和Ethernet等。硬件抽象层模块提供了ECU和硬件之间的接口,以支持硬件相关的功能和操作。诊断堆栈模块提供了故障检测和诊断功能,以支持车辆的故障排除和维修。 AUTOSAR基础软件具有以下优点:首先,它提供了标准化的软件组件和接口,使得不同的汽车电子系统可以轻松地进行集成和交互。其次,它提高了汽车软件的可重用性,减少了开发成本和时间。另外,它提供了跨平台的互操作性,使得不同厂商的硬件和软件可以无缝地进行集成。最后,它提供了诊断和故障排除的机制,帮助识别和修复车辆的故障。 总体而言,AUTOSAR基础软件是实现汽车电子系统标准化和自动化的关键组成部分,它为汽车行业提供了一种统一的开发和集成方法。通过使用AUTOSAR基础软件,汽车制造商可以更加高效地开发、测试和维护汽车电子系统,从而提高产品质量和可靠性。 ### 回答2: AUTOSAR,全称为“Automotive Open System Architecture”,是一种面向汽车电子系统的开放式软件架构。它旨在提供标准化的软件平台,以促进汽车电子系统的开发和集成。 02_AUTOSAR基础软件AUTOSAR架构中的重要组成部分。它主要包括AUTOSAR标准化软件组件、接口和服务等。这些基础软件的设计目标是提供一个可重用的、可扩展的、可移植的和可靠的平台,用于开发汽车电子系统的软件AUTOSAR基础软件的核心是运行时环境(Run-Time Environment,RTE),它提供了各个应用软件组件之间的通信和数据交换机制。RTE还负责资源管理、消息传递、触发器和事件处理等任务。通过RTE,不同的软件组件能够共享信息和资源,并在系统中协调工作,实现各个电子控制单元之间的互操作性。 此外,AUTOSAR基础软件还包括操作系统抽象层(Operating System Abstraction Layer,OSAL),对底层操作系统的接口进行了抽象,使得应用软件可以独立于特定的操作系统而进行开发。同时,还有通信堆栈(Communication Stack),用于实现不同汽车电子系统之间的通信,包括CAN、FlexRay、Ethernet等。 AUTOSAR基础软件的使用可以提高汽车电子系统开发的效率和可靠性。通过标准化的软件组件和接口,不同供应商开发的软件可以更容易地集成在一起。此外,基于AUTOSAR的系统架构可以提高软件的重用性,减少开发时间和成本。 总之,AUTOSAR基础软件AUTOSAR架构中的关键组成部分,为汽车电子系统的开发和集成提供了标准化的平台和工具。它将车载软件的开发过程标准化,并促进不同软件供应商之间的合作和互操作。 ### 回答3: AUTOSAR(汽车开放系统架构)是一种用于汽车电子系统设计的国际标准,旨在提供一种开放、标准化的软件体系结构。02_AUTOSAR基础软件AUTOSAR架构中最底层的软件组件,主要包括操作系统、通信栈、I/O驱动程序等。 操作系统是AUTOSAR基础软件的关键组成部分之一,它负责管理和协调整个汽车电子系统中的各个软件组件。它提供了任务管理、时间管理、资源管理等功能,保证系统的稳定和可靠运行。 通信栈是AUTOSAR基础软件的另一个重要组成部分,它负责在整个汽车电子系统中实现各个软件组件之间的通信。通信栈提供了一套统一的接口和协议,使得不同的软件组件能够方便地进行数据交换和消息传递。 I/O驱动程序是AUTOSAR基础软件中的另一个重要模块,它负责控制和管理汽车电子系统中的各种输入输出设备。I/O驱动程序提供了一套统一的接口,使得软件开发人员可以方便地访问和控制各种外部设备,如传感器、执行器等。 通过使用02_AUTOSAR基础软件,汽车电子系统设计人员可以更加方便地开发和维护复杂的汽车电子功能。它提供了一种标准化的软件架构,将不同的软件组件进行模块化设计,降低了系统开发和集成的复杂性。同时,02_AUTOSAR基础软件也提供了一套统一的接口和协议,使得不同的汽车电子系统可以方便地进行集成和交互,提高了系统的可扩展性和兼容性。 总之,02_AUTOSAR基础软件是一种标准化、模块化的软件架构,它为汽车电子系统的设计和开发提供了一种统一的框架和方法,降低了系统开发和维护的难度,提高了系统的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值