杨震宇,罗 峰,王子通,任 毅,张晓先
(1. 同济大学汽车学院,上海 201804;2. 普华基础软件股份有限公司,上海 200125)
近年来,智能网联汽车已经得到了世界各国政府、组织和研究机构的广泛关注。智能网联汽车承载环境感知、智能决策规划、控制执行、车载网络通信和V2X 通信等技术,并以此提高驾驶的舒适性和安全性,最终达到L5 级的自动驾驶。这些技术在车载的应用对智能网联汽车的电子电气架构提出了高算力、高带宽、高速率和高安全性的新需求。为此传统以CAN(FD)为主干网络的汽车分布式电子电气架构正朝着以车载以太网为骨干网络的域集中式电子电气架构发展[1]。面向服务的架构在传统领域被证明是高效的,为了使汽车更好地成为万物互联的一部分,基于服务的设计理念正在逐步取代传统的设计方式。为此,汽车开放系统架构(AUTOSAR)创建了基于因特网协议的可扩展面向服务通信中间件(scalable service-oriented middleware over IP, SOME/IP)。SOME/IP 是一个应用层协议,并作用于TCP/UDP 协议簇之上。在SOME/IP 的作用下,车载网络中原本基于信号的通信方式向基于服务的通信模式转变。车载网络中数据的交互通过服务的发布和订阅来发起。
与此同时,基于服务的多域电子电气架构不断增加的对外接口使其更容易受到网络攻击的影响[2]。物理诊断OBD 接口、远程通信接口,如蓝牙、蜂窝网络和空中下载(over-the-air, OTA)都可以成为攻击者的攻击目标,并逐层渗透到电子电气架构内部,引起信息和物理上的安全问题。在计算机领域,访问控制技术已被广泛用于防止计算机网络、数据库和操作系统被非法访问。目前,最常用的访问控制模型是自主访问控制(discretionary access control, DAC)、强 制 访 问 控 制(mandatory access control, MAC)和基于角色的访问控制(role-based access control, RBAC)[3]。随着物联网的发展,传统的访问控制模型很难适应新的计算环境。基于属性的访问控制(attribute-based access control, ABAC)模型是以主体和客体的属性为基本决策元素,灵活利用请求者所拥有的属性集,实现细粒度的访问控制。ABAC 模型在改进现有的访问控制方面有很大的潜力,特别是在分布式和快速变化的环境中[4]。在汽车领域,访问控制的研究重点主要在外界对车内资源的访问。Zrelli等[5]提出了一种智能交通系统的安全和访问控制框架,它可以防止恶意实体干扰车辆和路侧单元提供的服务。Subke 等[6]提出了几种防止外部诊断系统未经授权访问车载电子电气架构的措施。基于安全和隐私的访问控制模型通过权限的概念扩展了RBAC 模型[7]。为了防止车内ECU的恶意访问提出一个V2N 头部单元的访问控制架构,该架构使用访问控制规则表来限制应用程序(如信息娱乐应用)对SocketCAN的访问[8]。在面向车载域控制器的访问控制研究中,Wang 等[9]提出了一个新的解决方案,即一个基于ABAC 的多领域访问控制模型,其中考虑到不同领域的各种需求,如动力系统、底盘、车身和信息娱乐系统,然而只是做了初步描述。ABAC 模型被引入到AUTOSAR 框架下,然而机制的实现是基于CAN 总线的[10]。Li 等[11]设计了安全SOME/IP 通信流程,并在此基础上实现了基于属性的访问控制,但是系统并没有在车载硬件上进行性能验证。上述研究都没有解决访问过程中的持续授权和撤权问题。这是由于传统的ABAC 模型不具备过程检测模块,对访问控制的决策只能在访问开始前进行。在重新发起访问控制或在超过访问持续时间之前,访问客体会维持上次的访问控制决定,持续向访问主体提供相应资源,而无法在过程中对权限重新判定。
基于以上分析,本文提出一种适用于资源受限的车载域控制器的安全访问控制机制。
本文的主要贡献总结为以下几点。
(1) 提出了一个参考的基于服务的多域电子电气架构,并对其通信模式和机制进行了说明,最后提出了其对访问控制的安全需求。
(2) 改进的ABAC 模型被用来实现灵活和细粒度的访问控制,高效地解决了访问控制过程中的持续授权和撤销。
(3) 设计基于哈希的策略评估引擎,以适应资源受限的车载环境。
(4) 设计安全访问序列以保证访问控制过程中的安全属性,并通过Proverif进行了形式化验证。
(5) 提出的安全访问控制机制在域控制器中通过软件和HSM同时实现并验证了其功能和性能。
智能网联汽车的电子电气架构相比于传统汽车发生有较大变革,进而与外界产生更多的信息交互并产生越来越多的风险点。在本节中,首先给出一个基于服务的多域电子电气架构,然后分析其通信模式,最后总结其安全威胁和需求。
参考的多域电子电气架构如图1 所示,按照车身布局分为前后左右4 个区域控制器、一个中央计算平台和一个智能座舱控制器。4 个区域控制器通过不同车载通信方式如CAN(FD)、LIN 或车载以太网连接执行器和传感器等电子单元。中央计算平台除了负责传感器数据融合、路径规划等高算力需求应用外,还兼任中央网关的职责负责整体系统的服务管理和数据路由。智能座舱控制器同样是一个高度集成的SoC,除了负责智能座舱应用还具有丰富的对外通信模组,承担所有的对外通信职责。主干网络采用星型的车载以太网拓扑结构。这种结构最大程度上减少了网络中数据传输的平均跳数,方便了通信和服务方案的部署,同时也有利于信息安全纵深防御的部署。主干网络的数据链路层运行时间敏感网络(time sensitive network, TSN),以确保网络中的高精度时间同步和数据的确定性传输。
图1 车载区域电子电器架构
在上述电子电气架构下,SOA 通信适配器通过SOME/IP 协议可以实现域控制器之间基于服务的通信。而外部实体如车辆、手机、路边单元和云端等向车载远程信息控制单元发起服务请求后,通过SOA通信适配器将外部服务协议转换成基于SOME/IP的通信格式,下发中央网关进行服务管理、转发或响应。
传统车载网络的通信没有访问控制的概念,因为数据总是以信号的形式按照确定的通信矩阵周期性地在网络中传输。而在基于服务的通信模式中,服务的订阅可以被认为是客户希望访问服务方的某一资源,这就引出了车载网络中访问控制的概念。对于智能网联汽车,安全访问控制是保证车辆稳定运行的重要措施。否则车辆的隐私信息将被恶意人员窃取,或者一些关键部件被攻击者远程访问(如发动机、转向器、制动器等)。认证和授权是访问控制技术所保证的两个最重要的安全属性[12]。认证是指根据访客的独特身份信息,如身份证、语音、指纹等,确认其在车内资源中的身份。授权是指资源所有者允许访问者在指定范围内访问车内资源,以便访问者能够从资源中获得想要的信息。同时,安全机制的部署不能破坏车辆的实时通信功能,也就是说,安全机制造成的通信延迟应该在可接受的范围内。安全访问控制的要求总结如下。
(1)灵活和细粒度的授权策略 车辆上运行着各种不同功能的服务,且服务的数量逐渐增加。因此,访问控制策略应该能够在不断变化的环境下维持有效。此外,为了应对复杂的场景,访问控制策略的实施应该足够细化。
(2)授权和认证 当车辆与外部实体进行信息交互时,由于车辆处于一个不断变化的环境中,故需要相互认证和授权的外部实体总是在变化。而对于车载网络中的域控制器,虽然连接关系固定但也需要周期性授权与认证来确保节点的合法性。
(3)最小特权原则 每个主体(如APP、用户、云服务器或其他载体)对其访问行为只能有一套最小的权限。这一原则可以大大减少恶意访问者对受保护资源造成的危害。
(4)轻量级安全算法 大多数车载控制器的计算和存储能力有限。较强的加密算法(如RSA、ECC)通常要消耗大量的计算能力和内存存储空间。对于车辆,需要在安全等级和资源消耗之间取得平衡。
(5)保密性 当外部实体访问车辆的内部资源时,应保证请求和响应信息的保密性。
(6)不可抵赖性 不可抵赖性指访问主体或客体不能否认自己做出的行为。访问主体的访问行为和访问发生的时间是不可抵赖的。同样,访问客体同样不能否认自己对访问的响应。不可抵赖性帮助系统获得拥有授权实体的恶意行为的证据。
(7)属性可变性和访问连续性 无论是外界对车内的访问,还是车内控制器间的相互访问,主体和客体的属性都是可变的,访问在大多数情况下都是连续的。完善的访问控制机制需要在过程中进行权限的维持和撤销。
(8)轻区域重中央的部署形式 车载服务分布在各个车载控制器中,轻区域指在区域控制器中都需要部署访问控制机制,但是轻量化是第一指标;重中央是指中央网关与远程信息控制单元面临最大的安全威胁,在资源充足的情况下应当实现更完善的访问控制机制。
本文所提出的安全访问控制的原理,包含系统框架、在SOME/IP 通信模型下的ABAC 数学描述、基于哈希的策略评估引擎、安全访问序列及其形式化证明等。
安全访问控制系统框架如图2 所示,主要包括安全模块和访问控制模块。其中安全模块分为会话建立模块和安全通信模块。会话建立模块用于实现访问控制主体和客体间的身份认证,保证所有访问都是授权的。安全通信模块是在访问控制主体和客体完成身份认证后,实现双方的加密通信,由此确保访问控制过程中消息的机密性和完整性。访问控制模块以传统ABAC 框架为基础,增加了一个在线检测模块,以解决访问过程中的权限维持和撤销问题。访问控制模块主要包括策略转换模块、策略执行点(policy enforcement point, PEP)、策略决定点(policy decision point, PDP)、策略信息点(policy information point, PIP)、策略访问点(policy access point, PAP)和在线检测模块。PAP是一个负责创建和管理访问控制策略的组件,PIP收集主体、资源和环境的属性,PDP是系统中做授权决定的单元。授权决定是根据PAP 中预先定义的访问控制策略和PIP 中存储的属性做出的。PEP 是一个在特定环境条件下执行PDP的访问控制决定的组件。其中PIP,PDP和PAP被联合称为策略评估引擎。针对车载环境特殊设计的基于哈希的方法被用于实现策略评估引擎。
图2 安全访问控制系统架构
访问控制客体的主要流程如下(访问控制主体由于是发起请求,所以不会经过访问控制模块,只通过安全模块来进行身份认证、访问请求的加密发送和访问决策或资源的接收解密)。
(1) 网络中的SOME/IP 报文首先进入会话建立模块,会话建立模块判断该访问请求是否来自已认证的实体。若是,则进入安全通信模块;若否,则触发会话建立流程,进行身份认证和秘钥协商。
(2) 安全通信模块按照会话建立模块中协商的秘钥对报文的负载字段进行解密,并发送给策略转换模块。
(3) 策略转换模块将报文换成访问控制请求发送给PEP。
(4) PEP 将访问请求转发给PDP,PDP 做出的决策也会交给PEP进行执行。
(5) PDP从PAP加载预先存储的政策。
(6) PIP 加载预先存储的属性信息,并汇集给PDP,由PDP做出综合的授权决定。
(7) PEP执行访问响应(即拒绝或允许)。
(8) 在线检测模块在访问的过程中使用基于逐流过滤与监测的方法执行属性的在线检测,由此决定是否在访问过程中维持或撤销授权。
(9) 策略转换模块将做出的访问决策或资源转换成SOME/IP报文格式,并发送给安全通信模块。
(10) 安全通信模块将报文加密后送入SOME/IP网络。
在线检测模块是对基于属性的访问控制的扩展, 其检测算法不被限制,可以是多样化的。但是在资源受限的域控制器中部署时,应在不增加系统额外负荷或开发量的同时有效地检测出访问过程中的异常。为了保证通信的同步、可靠性和实时性,车载以太网通信采用时间敏感网络, 在实际应用时通过TSN交换机来实现其各种机制。逐流过滤与监测(per-stream filtering and policing, PSFP)是TSN 中的一种机制,能快速有效地监测链路的网络状态。利用交换机中PSFP的机制可以实现有效的在线监测。协议规定PSFP 由流过滤器、流门控和流量计组成,并通过令牌桶机制实现流量的过滤和监测。IEEE802.1Q 协议规定表1 所示的参数在机制运行过程中必须能被存储。而每个流都会对应一组表1中的参数,这满足了细粒度的检测需求。
表1 在线检测参数
在线检测的流程如图3 所示,首先PDP 告知在线检测模块是否运行。然后模块周期性获取待检测资源的链路参数,一般来说在实现PSFP 的交换机中,可通过操作串行管理接口(SMI)或者交换机内核的接口读取表1 中定义的参数。这些参数反映了链路中的网络状态以及包含所访问资源的流量特征。通过与预设阈值的比较来决定访问过程中权限的维持和撤销。 若符合阈值则静默处理并继续监检测,否则反馈PDP,由PDP做出撤权决定。
图3 在线检测模块流程
为了实现访问控制的在线检测,需要正确配置交换机PSFP 参数并将需要检测的资源在通信上映射到所配置的流(软件操作),在交换机的内核中周期调用指定API 读出相应参数,并通过缩减的千兆位媒体独立接口(reduced gigabit media independent interface,RGMII)发送给域控制器主控芯片。以SJA1110 中的PSFP 配置(如图4 所示)为例,这条配置表示当被访问资源映射到优先级为5 的流时,若资源反馈速率大于200 Mb/s或者资源数据长度大于500 B 时,会被在线检测系统认定为异常,并执行权限撤销决定。
图4 TSN交换机实现在线检测模块示例
为了能够更准确地对访问过程中的权限进行判定,在线检测方法有必要是融合且系统是特定的。本文提出的在线检测方法主要考虑了资源在传输路径和网络中的状态,且应用了TSN的车载网络,故基本不会对系统增加额外的开销。
ABAC 中的实体主要包括主体、客体、行动和环境。汽车工业中的主体指的是访问由车载ECU 提供的内部数据或服务的实体。 在数学上,SOME/IP的通信模型下的ABAC 系统被定义为一个五元组,其中:E={S,O,C} 是参与访问控制活动的所有实体的集合,S是主体的集合,O是客体(也称为资源)的集合,C是情境(也称为环境)的集合;A是一个主体的行动集合s∈S,可以应用于一个客体的行动集合o∈O;P:E×A→RS是策略集,是实体和行动到决策反应的映射,RS={p,d,n},其中p表示允许,d表示拒绝,n表示不适用;RQ:S×O→A是请求的集合,它是主体和客体到行动的映射。简单地说,它意味着主体对目标资源适用什么样的行动。
ABAC 使用属性来描述不同的实体,而一个实体可以有一个或多个属性。例如,一个主体可以用属性来描述,如身份(指纹、钥匙)、类型(用户、车辆、智能手机、路边装置和云服务器)和IP 地址(如192.168.0.1)。把描述主体的属性集合表示为ATTRS,那么对一个主体的描述可以被形式化为s={(attr1,val1),…,(attri,vali)},attri∈ATTRS。类似地,客体、行动和环境也可以用同样的形式来表达,它们的属性集分别表示为ATTRO、ATTRA和ATTRC。客体指的是由基于SOME/IP的车载应用程序提供的所有服务。根据SOME/IP 中面向服务的应用定义,每个服务可以由几个属性来描述,如服务ID、实例ID、端口号和在SOME/IP 配置文件中定义的IP 地址。SOME/IP 中的可用操作包括查找服务、订阅事件、获取字段、设置字段、订阅字段和RPC(请求/响应)。环境指服务或部署服务的控制器的参数变量可以是软件的系统变量,也可以用车速、天气、温度等外界属性来描述。
可扩展访问控制标记语言(extensible access control markup language, XACML)定义了一种标准化的、细粒度的、基于属性的访问控制策略语言,它是一种描述策略的标准化方式,在计算机网络领域被广泛使用。在传统的访问控制系统中,访问者为访问请求生成一个XACML 文件并将其发送给服务器。服务器收到该文件并解析它,然后检索预先存储的策略文件,看是否有匹配的规则。最后,根据策略评估的结果生成一个响应的XACML 文件并返回给请求者。然而,由于车载域控制器间会发生频繁的资源和数据访问,区域控制器中无法承受频繁大量的字符串操作,同时XACML的传输会对车载网络造成一定程度的额外负载。所以本文提出一种基于哈希思想的XACML 文件压缩和查找方法来实现策略评估引擎。本方法分为离线和在线两个步骤,其流程如图5所示。
图5 基于哈希的策略评估流程
在离线环节中,首先提取XACML文件中的有效字符串,即主体、客体和环境的所有属性和对应值,并拼接成一个新的缩减的字符串。然后通过SHA256对字符串进行压缩,压缩后的字节取后12 b作为数组的下标,而在该下标对应的位置储存着决策结果。当所有XACML 文件在离线环节中都转换完成后,会得到一个储存有访问控制决策结果的数组,而每个数组元素的下标则与访问控制规则互相映射。这个数组在离线环节被烧录在芯片的Flash中。
在线环节中,策略转换模块将收到的SOME/IP报文转换成与离线环节组装顺序相同的字符串,然后同样的进行一次哈希运算并取后12 b作为上述数组的索引。而访问控制的决策结果就是该数组中对应索引位置的值。
图6 更直观地描述了哈希数组的建立过程,图中的XACML 可以提取并拼接成如下“Serviceid1111 servicediagnosisipaddress19216801actionrpc”。将 字符串做一次哈希后取后12 b D05,然后在D05 为下标的数组里储存了访问控制的结果“Permit”,实际以二进制1或0表示。
图6 哈希数组建立流程
这种方法以离线的准备时间和灵活性为代价,使在线环节中规则匹配的时间复杂度为O(1),即整个策略评估的时间基本上是一个定值,由规则拼接,一次哈希运算和一次数组索引组成。
安全访问序列可以分为会话建立和安全通信两个阶段。在会话建立阶段,通信双方进行相互认证并协商安全通信阶段的会话秘钥。基于证书的认证方式在传统领域被证明是有效且安全的。但是完整的TLS 握手过程被证明仍然具有较高的时间消耗[13],为此本文中重新设计了握手过程。首先需要假设在域控制器的安全存储区域存放着用于整车证书认证的根证书和自身证书的私钥。考虑到有限的存储资源,域控制器中不存储完整的证书,但是证书中必须包含自身证书的公钥和根证书对公钥的签名。由于会话建立过程中使用椭圆曲线密码(ECC),所以证书类型为ECC 证书,即根证书对下级证书的签名使用ECC 算法。这片安全存储区域是无法被攻击者入侵且篡改的,否则任何基于密码学的安全机制都会失去意义。安全序列中用到的符号含义解释如表2所示。
表2 符号描述
认证过程由一个认证中心同时向4 个区域控制器发起,这与提出的电子电气架构不冲突,高性能计算平台可以作为认证中心。
区域控制器A 和认证中心G 的认证流程如算法1 和算法2 所示。首先由认证中心发起认证请求。区域控制器A 收到请求后,先生成一次随机数N,并和自己的证书CertA打包发送给认证中心。认证中心收到消息后,通过根证书CertR验证CertA,若验证通过,认证中心首先对随机生成的128 b会话秘钥加密得到加密的会话秘钥Enckey。然后对N、自身证书CertG和Enckey 组成的消息进行签名后一起发送给区域控制器A。同样,在区域控制器A 中对N、数字签名sign 和CertG验证通过后,使用自身的私钥skA解密获得当前协商的会话秘钥Kcurrent。
安全通信阶段使用认证过程中协商的会话秘钥,通过AES-128 对访问过程进行加密并附加消息认证码(CMAC)。为了避免安全通信过程中的重放攻击,负载字段中选取4 B 用于存放当前时间戳,这在TSN同步网络中是容易实现的。为了进一步提高其安全性,在安全通信过程中需要进行秘钥更新。为了减少秘钥分配过程中的泄露风险,采用基于AES的本地秘钥更新方法。由于主干网络中的各域控制器间在时间敏感网络的作用下完成了时间同步,各域控制器间以约定的周期同步更新会话秘钥。秘钥更新流程如算法3所示。
首先将128 b IV 的低24 b置0,加上一个24 b的计数器得到CTR。然后以当前会话秘钥使用AES算法对CTR进行加密,将加密的结果与当前秘钥再进行按位异或运算后得到更新的秘钥Kupdate。随后更新计数器,等待下次秘钥更新。秘钥更新通过硬件同步指示信号PPS 上升沿触发,域控制器对PPS 的跳变进行计数,根据实际需求周期性地在具有相同PPS 跳变次数的上升沿进行密钥更新。按照TSN 标准规定,时间同步精度在7 跳内应当小于1 μs,完全满足秘钥更新的同步需求。
算法1:认证中心G认证过程send(Auth_Request)loop Receive(ResponseA)N, CertA = Extract(ResponseA)If Verify(CertA,CertR) == TRUE Kcurrent = rnd(128)Enckey = EECC(pkA, KCurrent)sign = ERSA(skreg,N || CertG || Enckey)ResponseG = N || CertG || Enckey || sign Send(ResponseG)Else Return End loop算法2:区域控制A认证过程Receive(Auth_Request)N=nonce()Send(ResponseA = N||CertA)Receive(ResponseG)N′, CertG, Enckey,sign = Extract(ResponseG)If Verify(CertG,CertR) == TRUE and N′ == N If Verify(sign,pkG) == TRUE Kcurrent = D(skA,Enckey)Else Return算法3:密钥更新流程CTR =(IV & 0xFF..FF000000) + Counter If PPS_Count() == Period Kupdate = EAES(Kcurrent,CTR)⊕Kcurrent CTR = CTR + 1 Kcurrent = Kupdate
Proverif 是一个基于Dolev-Yao 形式化建模技术的自动化密码学协议验证器。加密算法通过重写规则和方程来定义。安全协议的流程则通过应用PI演算语言描述并输入Proverif。安全特征,例如保密性和认证则通过事件和查询的组合来证明[14]。
本文通过设计如表3 所示的4 个事件和询问来对安全访问流程中的4个安全属性进行验证。
表3 事件与询问定义
(1)当前会话秘钥的机密性:用于安全通信的对称秘钥不能被攻击者获取或推导。
(2)安全通信过程中消息的机密性:安全通信过程中的消息明文不能被攻击者获取或推导。
(3)域控制器A 的认证:攻击者不能在不被认证中心G 发现的情况下冒充域控制器A。即在发生事件(域控制器认证结束)前,事件(域控制器认证开始)必须已经被执行。
(4)认证中心G 的认证:攻击者不能在不被域控制器A 发现的情况下冒充认证中心G。即在发生事件(认证中心认证结束)前,事件(认证中心认证开始)必须已经被执行。
Proverif 的验证总结输出显示,4 个询问结果都为真,故本文提出的安全序列可以满足通信过程中的安全性。
本节详细描述本文提出的安全访问控制机制在实物系统下的实现和验证。
在硬件方面,实物板卡是基于英飞凌TC397 与恩智浦交换机SJA1110 为核心组件开发的域控制器。TC397 具有6个最大频率为300 MHz 的CPU,并且具备硬件安全模块(hardware security module,HSM)。SJA1110 不仅支持除异步流量整形和抢占的TSN 功能,还向用户开放了其内核并提供了集成开发环境,方便用户进行二次开发。域控制器具有3 路基于迈威88Q2112 的千兆以太网通信接口和6路集成的百兆以太网通信接口。
软件架构如图7 所示,通用设备驱动用来保证硬件的正常运行并初始化HSM 模块。IEEE 802.1AS 同步协议栈和逐流过滤与监测模块是为了实现安全序列中的密钥更新与访问控制的在线检测。同步协议按照TSN 标准开发并部署在TC397中,而逐流过滤与监测模块已经集成在交换机中。简化的SOME/IP 协议在TC397 中被开发并运行在轻量化TCP/IP协议栈上。
图7 软件架构
基于WolfSSL 和HSM 的方法同时被用来实现本文提出的安全访问控制系统。WolfSSL 是适用于嵌入式系统的TLS 协议栈,集成了涵盖本文需求的对称加密、非对称加密和哈希算法接口。本文通过调用和组合WolfSSL 中的密码学接口来实现安全访问序列。HSM模块能够使用对应接口实现对AES128、ECC256 和SHA256 的硬件加速,可以极大地提升系统的性能。基于Tasking 编译器和劳德巴赫调试器的工具链被用来进行HSM 功能的开发。验证交互模块则是为了方便功能验证与性能测试而开发的响应上位机指令的交互模块。
测试环境如图8 所示,Vector VN5650 的Ethernet1被配置成Link模式,通过1000base-t1与域控制器A 和认证中心G 串联在一起。这条串联链路是为了观察两个节点间通信的报文,监控节点间的访问控制过程,并在实验过程中充当中间人实施抗攻击测试。VN5650 的Ethernet 2 被配置成Switch 模式与域控制器A 和认证中心G 的另外两条以太网链路连接,并借此对实物系统进行控制并获取功能测试的结果反馈。通过在Trace 窗口观察状态反馈标志位和报文可以判断系统功能是否正常。在性能测试时,指定任务完成后实物板卡被编程产生TTL 信号跳变,通过示波器与实物板卡连接可以测出完成指定任务所需的时间。
图8 实物测试环境
安全访问控制系统中各模块的时间消耗与文献[13]中的性能在如表4所示。在不使用HSM加速的情况下,本文提出的会话建立流程需要829.387 ms。虽然这仍然是个较大的耗时,但是相比于文献[13]中基于标准TLS 的会话建立,在性能上仍有至少50%的性能提升。而在使用HSM 硬件加速的情况下,会话建立的时间消耗仅为89.058 ms,相比软件实现性能提升了将近10 倍。这是由于TC397 的HSM支持对非对称加密算法ECC加速的结果。
表4 安全访问控制时间消耗
在安全通信中,当资源字节较大(例如摄像头数据)时,仅使用软件实现一次安全通信的时间为2.611 ms,而在资源字节较少时需要0.384 ms。这与文献[13]中的性能几乎相同,这是由于本文与文献[13]都使用了WolfSSL 嵌入式密码学库和算力相同的英飞凌TC 系列硬件。而当使用HSM 加速时,完成512 B 数据的安全通信只需要27.648 μs,同时64 B 数据的安全通信时间被缩短至5.096 μs。由于密钥更新过程的明文只有16 B, 加上一次异或操作,在HSM 加速的情况下,一次更新的时间被缩短成11.779 μs。由于在策略评估引擎使用了SHA256算法,故在使用HSM 加速的情况下,性能同样被显著提升,且基本不随策略条数的增加而增加。在访问策略条数不断增加的情况下,这是一个相当优秀的特性。但由于哈希表的特点,存储空间的利用率是一个问题,例如取12 b长度作为数组索引时,需要开辟一个3 KB 的数组,且数组中的元素不连续存储,当数组不断被填满时发生哈希冲突的概率就越大。在线检测由于布置在SJA1110 内核中并行运行,同时使用千兆以太网传输结果,耗时几乎忽略不计。
综上所述,本文提出的安全访问控制方法在使用HSM 加速的情况下,具有良好的性能且满足车载通信的实时性要求。其中会话建立所需时间相对较长,这是由于该过程包含了6 次ECC 非对称密码的执行时间,握手报文在以太网链路的传播时间,驱动收发和软件处理时间。但是会话建立过程只发生在车辆启动或访问控制开始前,在重新发起访问请求前,不再需要重新身份认证和秘钥协商。所以89 ms左右的延时是可以被接受的。
随着智能网联汽车的发展,基于服务的区域电子电气架构已经成为未来发展的必然趋势。本文提出了一种基于属性的安全访问控制机制:首先,着重关注区域控制器之间的访问控制,该访问控制机制考虑了实际的电子电气架构特点,增加了基于逐流过滤与检测的在线检测模块;其次,设计了基于哈希的策略评估引擎,并且在访问控制开始前进行身份认证;然后,使用对称加密的方式确保访问控制过程的机密性和完整性;最后,在实物系统中通过软件和HSM 进行了实现,并对其进行了功能验证和性能评估。结果显示,本文提出的安全访问控制机器在满足车载实时性要求的同时,能够有效检测出未经授权的访问,且在过程中保证了通信的机密性,完整性和可认证性。
然而本文仅关注了区域控制器间的访问控制,在未来的电子电气架构中,远程信息处理单元作为车内外的信息枢纽,将面临比车内区域控制器更严峻的安全挑战。大量外界实体将通过TCU 对车内资源进行频繁和动态的访问。在资源更充沛的车载计算机中访问控制将更有应用潜力,外部实体对车载资源的访问控制将是今后的研究重点。