CN118041628A - 一种域控制器的访问校验方法及系统 - Google Patents
一种域控制器的访问校验方法及系统 Download PDFInfo
- Publication number
- CN118041628A CN118041628A CN202410175615.1A CN202410175615A CN118041628A CN 118041628 A CN118041628 A CN 118041628A CN 202410175615 A CN202410175615 A CN 202410175615A CN 118041628 A CN118041628 A CN 118041628A
- Authority
- CN
- China
- Prior art keywords
- domain controller
- check value
- key
- control unit
- electronic control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000003745 diagnosis Methods 0.000 claims abstract description 58
- 238000012795 verification Methods 0.000 claims abstract description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 230000001680 brushing effect Effects 0.000 claims description 5
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 6
- 101150115300 MAC1 gene Proteins 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- VIEYMVWPECAOCY-UHFFFAOYSA-N 7-amino-4-(chloromethyl)chromen-2-one Chemical compound ClCC1=CC(=O)OC2=CC(N)=CC=C21 VIEYMVWPECAOCY-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101100289995 Caenorhabditis elegans mac-1 gene Proteins 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Lock And Its Accessories (AREA)
Abstract
本申请实施例公开了一种域控制器的访问校验方法及系统,该方法包括:域控制器接收诊断设备通过诊断服务发送的鉴权请求;域控制器根据鉴权请求生成随机数,并将随机数和车辆识别码发送给诊断设备,以使得诊断设备将随机数和车辆识别码发送给云端;在云端根据车辆识别码查找第一电子控制单元应用密钥,根据第一电子控制单元应用密钥和随机数生成第一校验值,并将第一校验值发送给诊断设备后,域控制器接收诊断设备发送的第一校验值;域控制器根据第一电子控制单元应用密钥和随机数生成第二校验值,并判断第一校验值和第二校验值是否相同;若第一校验值和第二校验值相同,则域控制器向诊断设备发送第一鉴权结果,以使得诊断设备发起设备指令。
Description
技术领域
本申请涉及汽车电子技术信息安全领域,尤其涉及一种域控制器的访问校验方法及系统。
背景技术
随着汽车行业技术的快速发展,汽车的功能和配置也越来越多,与之相应的通信安全事件也随之日渐增长。例如某些非法人员将外部诊断设备非法接入车载诊断系统(On-Board Diagnostics,OBD)接口来恶意侵入车辆,修改车内域控制器参数,篡改整车厂提供的差异化配置,对用户的人身安全和财产造成威胁。因此,如何有效保证访问车辆的外部诊断设备的合法性,是亟需解决的问题。
目前所采用的诊断方法是根据ISO14229协议,采用安全访问服务校验外部诊断设备的合法性。诊断设备首先向域控制器请求随机数种子,域控制器产生随机数种子后响应给诊断设备,诊断设备根据随机数种子和内置的安全访问算法计算出密钥,并发送给域控制器。域控制器将该密钥和自身计算的结果进行比较,如果一致则通过安全访问,不一致则退出。而由于该安全访问服务要求诊断设备和域控制器的安全访问算法保持一致,一旦有一方泄露,则无法有效保证诊断设备访问车辆的合法性。
发明内容
有鉴于此,本申请提供了一种域控制器的访问校验方法及系统,目的在于提高检验外部诊断设备合法性的可靠性。
本申请的第一方面提供了一种域控制器的访问校验方法,所述方法包括:
域控制器接收诊断设备通过诊断服务发送的鉴权请求;
所述域控制器根据所述鉴权请求生成随机数,并将所述随机数和车辆识别码发送给所述诊断设备,以使得所述诊断设备将所述随机数和所述车辆识别码发送给云端;
在所述云端根据所述车辆识别码查找第一电子控制单元应用密钥,根据所述第一电子控制单元应用密钥和所述随机数生成第一校验值,并将所述第一校验值发送给所述诊断设备后,所述域控制器接收所述诊断设备发送的所述第一校验值;
所述域控制器根据所述第一电子控制单元应用密钥和所述随机数生成第二校验值,并判断所述第一校验值和所述第二校验值是否相同;
若所述第一校验值和所述第二校验值相同,则所述域控制器向所述诊断设备发送第一鉴权结果,以使得所述诊断设备发起设备指令,其中,所述第一鉴权结果表示鉴权成功,所述设备指令至少为诊断指令和刷写指令中的一种或多种。
可选的,所述方法还包括:
若所述第一校验值和所述第二校验值不同,则所述域控制器向所述诊断设备发送第二鉴权结果,以使得所述诊断设备禁止发起所述设备指令,其中,所述第二鉴权结果表示鉴权失败。
可选的,所述方法还包括:
当所述诊断设备扫描所述车辆识别码并读取所述域控制器的密钥学习状态时,所述域控制器向所述诊断设备发送密钥学习状态信息,以使得所述诊断设备判断所述域控制器的密钥学习状态;
若所述域控制器的密钥学习状态为未学习状态时,所述域控制器接收所述诊断设备发送的请求信息,其中,所述请求信息为所述诊断设备用于向所述域控制器请求密钥学习信息,所述密钥学习信息包括零部件识别号、应用密钥标识和应用密钥版本;
所述域控制器将所述密钥学习信息发送给所述诊断设备,以使得所述诊断设备向所述域控制器请求密钥学习随机数;
所述域控制器生成第三随机数,并将所述第三随机数发送给所述诊断设备,以使得所述诊断设备向所述云端发送密钥生成请求,所述密钥生成请求包括所述密钥学习信息、所述第三随机数和所述车辆识别码;
当所述云端根据所述密钥生成请求和安全算法生成第二电子控制单元应用密钥并将所述第二电子控制单元应用密钥发送给所述诊断设备时,所述域控制器接收所述诊断设备发送的第二电子控制单元应用密钥;
所述域控制器根据所述密钥学习信息、所述第三随机数和所述车辆识别码生成第三电子控制单元应用密钥;
所述域控制器判断所述第二电子控制单元应用密钥和所述第三电子控制单元应用密钥是否一致;
若所述第二电子控制单元应用密钥与所述第三电子控制单元应用密钥一致,则所述域控制器将所述第二电子控制单元应用密钥写入所述域控制器的安全存储区域,以使得所述诊断设备判断所述域控制器是否写入成功;
若所述诊断设备判断所述域控制器写入成功,则所述域控制器接收所述诊断设备发送的密钥学习状态的读取请求;
所述域控制器向所述诊断设备发送密钥学习状态信息,以使得所述诊断设备判断所述域控制器的密钥学习状态;
若所述域控制器的密钥学习状态为已学习状态,则所述域控制器接收所述诊断设备发送的密钥学习成功标识,并结束流程。
可选的,所述方法还包括:
若所述第二电子控制单元应用密钥与所述第三电子控制单元应用密钥不一致,则所述域控制器判断所述第二电子控制单元应用密钥不应写入所述域控制器的安全存储区域,并将判断结果发送给所述诊断设备,以使得所述诊断设备判断所述域控制器是否写入成功;
若所述诊断设备判断所述域控制器写入失败,则所述域控制器接收所述诊断设备发送的密钥学习失败标识,并结束流程。
可选的,所述方法还包括:
若所述域控制器的密钥学习状态不为已学习状态,则所述域控制器接收所述诊断设备发送的密钥学习失败标识,并结束流程。
可选的,所述诊断设备为用户根据账户密码成功登陆的诊断设备。
可选的,在所述域控制器根据所述鉴权请求生成随机数,并将所述随机数和车辆识别码发送给所述诊断设备之后,所述方法还包括:
所述域控制器接收所述诊断设备根据所述第一电子控制单元应用密钥和所述随机数生成的第三校验值,其中,所述第一电子控制单元为所述诊断设备根据所述域控制器的所述车辆识别码从所述云端中获取的所述第一电子控制单元,所述第一电子控制单元存储在所述诊断设备的加密狗中;
所述域控制器根据所述第一电子控制单元应用密钥和所述随机数生成第二校验值,并判断所述第三校验值和所述第二校验值是否相同;
若所述第三校验值和所述第二校验值相同,则所述域控制器向所述诊断设备发送所述第一鉴权结果,以使得所述诊断设备发起所述设备指令。
可选的,所述方法还包括:
若所述第三校验值和所述第二校验值不同,则所述域控制器向所述诊断设备发送第二鉴权结果,以使得所述诊断设备禁止发起所述设备指令,其中,所述第二鉴权结果表示鉴权失败。
本申请的第二方面提供了一种域控制器的访问校验系统,用于执行本申请的第一方面提供的一种域控制器的访问校验方法,所述系统包括:域控制器、诊断设备和云端;
所述域控制器,用于接收诊断设备通过诊断服务发送的鉴权请求;
所述域控制器,用于根据所述鉴权请求生成随机数,并将所述随机数和车辆识别码发送给所述诊断设备,以使得所述诊断设备将所述随机数和所述车辆识别码发送给云端;
在所述云端根据所述车辆识别码查找第一电子控制单元应用密钥,根据所述第一电子控制单元应用密钥和所述随机数生成第一校验值,并将所述第一校验值发送给所述诊断设备后,所述域控制器,用于接收所述诊断设备发送的所述第一校验值;
所述域控制器,用于根据所述第一电子控制单元应用密钥和所述随机数生成第二校验值,并判断所述第一校验值和所述第二校验值是否相同;
若所述第一校验值和所述第二校验值相同,则所述域控制器,用于向所述诊断设备发送第一鉴权结果,以使得所述诊断设备发起设备指令,其中,所述第一鉴权结果表示鉴权成功,所述设备指令至少为诊断指令和刷写指令中的一种或多种。
可选的,若所述第一校验值和所述第二校验值不同,则所述域控制器,用于向所述诊断设备发送第二鉴权结果,以使得所述诊断设备禁止发起所述设备指令,其中,所述第二鉴权结果表示鉴权失败。
可选的,当所述诊断设备扫描所述车辆识别码并读取所述域控制器的密钥学习状态时,所述域控制器,用于向所述诊断设备发送密钥学习状态信息,以使得所述诊断设备判断所述域控制器的密钥学习状态;
若所述域控制器的密钥学习状态为未学习状态时,所述域控制器,用于接收所述诊断设备发送的请求信息,其中,所述请求信息为所述诊断设备用于向所述域控制器请求密钥学习信息,所述密钥学习信息包括零部件识别号、应用密钥标识和应用密钥版本;
所述域控制器,用于将所述密钥学习信息发送给所述诊断设备,以使得所述诊断设备向所述域控制器请求密钥学习随机数;
所述域控制器,用于生成第三随机数,并将所述第三随机数发送给所述诊断设备,以使得所述诊断设备向所述云端发送密钥生成请求,所述密钥生成请求包括所述密钥学习信息、所述第三随机数和所述车辆识别码;
当所述云端根据所述密钥生成请求和安全算法生成第二电子控制单元应用密钥并将所述第二电子控制单元应用密钥发送给所述诊断设备时,所述域控制器,用于接收所述诊断设备发送的第二电子控制单元应用密钥;
所述域控制器,用于根据所述密钥学习信息、所述第三随机数和所述车辆识别码生成第三电子控制单元应用密钥;
所述域控制器,用于判断所述第二电子控制单元应用密钥和所述第三电子控制单元应用密钥是否一致;
若所述第二电子控制单元应用密钥与所述第三电子控制单元应用密钥一致,则所述域控制器,用于将所述第二电子控制单元应用密钥写入所述域控制器的安全存储区域,以使得所述诊断设备判断所述域控制器是否写入成功;
若所述诊断设备判断所述域控制器写入成功,则所述域控制器,用于接收所述诊断设备发送的密钥学习状态的读取请求;
所述域控制器,用于向所述诊断设备发送密钥学习状态信息,以使得所述诊断设备判断所述域控制器的密钥学习状态;
若所述域控制器的密钥学习状态为已学习状态,则所述域控制器,用于接收所述诊断设备发送的密钥学习成功标识,并结束流程。
可选的,若所述第二电子控制单元应用密钥与所述第三电子控制单元应用密钥不一致,则所述域控制器,用于判断所述第二电子控制单元应用密钥不应写入所述域控制器的安全存储区域,并将判断结果发送给所述诊断设备,以使得所述诊断设备判断所述域控制器是否写入成功;
若所述诊断设备判断所述域控制器写入失败,则所述域控制器,用于接收所述诊断设备发送的密钥学习失败标识,并结束流程。
可选的,若所述域控制器的密钥学习状态不为已学习状态,则所述域控制器,用于接收所述诊断设备发送的密钥学习失败标识,并结束流程。
可选的,所述域控制器,用于接收所述诊断设备根据所述第一电子控制单元应用密钥和所述随机数生成的第三校验值,其中,所述第一电子控制单元为所述诊断设备根据所述域控制器的所述车辆识别码从所述云端中获取的所述第一电子控制单元,所述第一电子控制单元存储在所述诊断设备的加密狗中;
所述域控制器,用于根据所述第一电子控制单元应用密钥和所述随机数生成第二校验值,并判断所述第三校验值和所述第二校验值是否相同;
若所述第三校验值和所述第二校验值相同,则所述域控制器,用于向所述诊断设备发送所述第一鉴权结果,以使得所述诊断设备发起所述设备指令。
可选的,若所述第三校验值和所述第二校验值不同,则所述域控制器,用于向所述诊断设备发送第二鉴权结果,以使得所述诊断设备禁止发起所述设备指令,其中,所述第二鉴权结果表示鉴权失败。
本申请实施例公开了一种域控制器的访问校验方法及系统,该方法包括:域控制器接收诊断设备通过诊断服务发送的鉴权请求;域控制器根据鉴权请求生成随机数,并将随机数和车辆识别码发送给诊断设备,以使得诊断设备将随机数和车辆识别码发送给云端;在云端根据车辆识别码查找第一电子控制单元应用密钥,根据第一电子控制单元应用密钥和随机数生成第一校验值,并将第一校验值发送给诊断设备后,域控制器接收诊断设备发送的第一校验值;域控制器根据第一电子控制单元应用密钥和随机数生成第二校验值,并判断第一校验值和第二校验值是否相同;若第一校验值和第二校验值相同,则域控制器向诊断设备发送第一鉴权结果,以使得诊断设备发起设备指令。举例说明如下,本申请通过在域控制器内预埋ECU应用密钥(ECU Application Key,EAK)的方式,来增加计算算法的复杂性,来提高校验外部诊断设备合法的可靠性。
附图说明
图1为本申请实施例提供的一种域控制器的访问校验方法的流程示意图;
图2为本申请实施例提供的一种诊断设备在线鉴权流程的流程示意图;
图3为本申请实施例提供的一种域控制器的访问校验方法的流程示意图;
图4为本申请实施例提供的一种密钥学习流程的流程示意图;
图5为本申请实施例提供的一种域控制器的访问校验方法的流程示意图;
图6为本申请实施例提供的一种诊断设备在线鉴权流程的流程示意图;
图7为本申请实施例提供的一种域控制器的访问校验系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合图1,介绍本申请实施例提供的一种域控制器的访问校验方法,可以通过步骤S101-S105实现。
S101:域控制器接收诊断设备通过诊断服务发送的鉴权请求。
具体的,当需要进行设备鉴权时,诊断设备会通过诊断服务向域控制器发起安全鉴权请求。
如图2的第①部分所示,一种可能的实施例中,诊断设备为用户根据账号密码成功登陆的诊断设备。用户需要通过诊断设备进行设备鉴权时,需要经过账号密码的验证,能够起到验证用户身份的作用,起到避免非法用户直接采用外界设备能够直接接入OBD接口的作用。
S102:域控制器根据鉴权请求生成随机数,并将随机数和车辆识别码发送给诊断设备,以使得诊断设备将随机数和车辆识别码发送给云端。
具体的,域控制器在接收到鉴权请求后,基于鉴权请求生成对应的随机数R0,并将随机数R0和车辆识别码(Vehicle Identification Number,VIN)发送给诊断设备,以便于诊断设备能够将随机数R0和VIN发送给云端,由云端来进行下一步核验。
S103:在云端根据车辆识别码查找第一电子控制单元应用密钥,根据第一电子控制单元应用密钥和随机数生成第一校验值,并将第一校验值发送给诊断设备后,域控制器接收诊断设备发送的第一校验值。
具体的,云端根据接收到的VIN,从数据库中查找与车辆识别码(VehicleIdentification Number,VIN)对应的电子控制单元应用密钥(ECU Application Key,EAK),通过鉴权算法来计算第一校验值。域控制器接收诊断设备发送的来自云端的第一校验值MAC,以便域控制器对MAC进行校验。
具体的,本申请实施例中的第一电子控制单元为车辆的电子控制单元。
云端密钥管理服务平台,简称云端。云端能够提供密钥的生成、派生、分发、更新、存储等密钥的生命周期管理,以便满足域控制器鉴权功能的使用。
其中,第一校验值的计算方式通过如下公式实现:MAC=CMAC(EAK,R0),其中MAC为第一校验值,CMAC为鉴权算法,EAK为ECU应用密钥,R0为随机数。
S104:域控制器根据第一电子控制单元应用密钥和随机数生成第二校验值,并判断第一校验值和第二校验值是否相同。
具体的,如图2所示,域控制器根据预埋在域控制器中的EAK和随机数R0计算第二校验值MAC1,并通过判断第一校验值MAC1和第二校验值MAC1是否相同来判定是否鉴权成功。
其中,第二校验值的计算方式通过如下公式实现:MAC1=CMAC(EAK,R0),其中MAC1为第二校验值,CMAC为鉴权算法,EAK为ECU应用密钥,R0为随机数。
S105:若第一校验值和第二校验值相同,则域控制器向诊断设备发送第一鉴权结果,以使得诊断设备发起设备指令。
具体的,域控制器检测第一校验值和第二校验值相同,则判定鉴权成功,并将用于标识鉴权成功的第一鉴权结果发送给诊断设备。诊断设备在鉴权成功后,能够发起基于DoIP的诊断和刷写指令。
上述步骤S101-S105中,域控制器、诊断设备(Tester)以及云端之间的交互方式及数据传输如图2中的第②部分所示。
一种可能的实施例中,当域控制器判定鉴权成功后,能够打开二层诊断VLAN(VID12),起到打开对域控制器的调试权限的作用。
如图2的第③部分所示,一种可能的实施例中,当诊断设备接收到鉴权成功的第一鉴权结果时,诊断设备能够允许打开对其他ECU的调控权限,例如图2中的VID212和VID211。
一种可能的实施例中,第一鉴权结果的有效期为域控制器的单次唤醒-休眠周期。使得每次启动域控制器时,若想对域控制器进行诊断调试,都要执行鉴权。进而保证每次诊断调试的合法性。
一种可能的实施例中,若第一校验值和第二校验值不同,则域控制器向诊断设备发送第二鉴权结果,以使得诊断设备禁止发起设备指令,其中,第二鉴权结果表示鉴权失败。
当域控制器鉴权失败时,禁止诊断设备对域控制器进行诊断调试,保证了诊断调试的合法性。
通过本申请实施例提供的方法,能够在域控制器内预埋EAK来增加计算方法的复杂性,起到提高校验外部诊断设备合法的可靠性的作用。
下面结合图3,介绍本申请实施例提供的一种域控制器的访问校验方法,可以通过步骤S301-S311实现。
S301:当诊断设备扫描车辆识别码并读取域控制器的密钥学习状态时,域控制器向诊断设备发送密钥学习状态信息,以使得诊断设备判断域控制器的密钥学习状态。
具体的,诊断设备能够读取车辆上UI控制的密钥学习状态。
如图4的第①部分所示,诊断设备能够扫描待学习密钥车辆的VIN。
S302:若域控制器的密钥学习状态为未学习状态时,域控制器接收诊断设备发送的请求信息。
具体的,当诊断设备判断域控制器的密钥学习状态为未学习状态时,向域控制器请求用于密钥学习的密钥学习信息的请求信息,密钥学习信息包括零部件识别号、应用密钥标识和应用密钥版本。
S303:域控制器将密钥学习信息发送给诊断设备,以使得诊断设备向域控制器请求密钥学习随机数。
具体的,诊断设备在接收到密钥学习信息后,向域控制器请求密钥学习随机数。
S304:域控制器生成第三随机数,并将第三随机数发送给诊断设备,以使得诊断设备向云端发送密钥生成请求。
具体的,域控制器根据诊断设备请求的密钥学习随机数生成第三随机数,并将第三随机数返回给诊断设备。诊断设备在接收到第三随机数后,将密钥学习信息、第三随机数和车辆识别码作为密钥生成请求发送给云端,让云端能够根据密钥生成请求生成该域控制器对应的密钥。
S305:当云端根据密钥生成请求和安全算法生成第二电子控制单元应用密钥并将第二电子控制单元应用密钥发送给诊断设备时,域控制器接收诊断设备发送的第二电子控制单元应用密钥。
具体的,云端根据接收到的密钥生成请求结合安全算法生成第二电子控制单元应用密钥,并将该第二电子控制单元应用密钥通过诊断设备发送给域控制器,以便域控制器根据第二电子控制单元应用密钥进行密钥学习。
第二电子控制单元应用密钥的生成通过如下公式实现:EAK=CEAK(VIN,PID,AKID,AKV,Rand0),EAK为第二电子控制单元应用密钥,CEAK为安全算法,VIN为车辆识别码,PID为零部件识别号,AKID为应用密钥标识,AKV为应用密钥版本,Rand0为第三随机数。
S306:域控制器根据密钥学习信息、第三随机数和车辆识别码生成第三电子控制单元应用密钥。
具体的,域控制器根据密钥学习信息、第三随机数和车辆识别码生成第三电子控制单元应用密钥来生成第三电子控制单元应用密钥。
第三电子控制单元应用密钥的生成通过如下公式实现:EAK1=CEAK(VIN,PID,AKID,AKV,Rand0),EAK1为第三电子控制单元应用密钥,CEAK为安全算法,VIN为车辆识别码,PID为零部件识别号,AKID为应用密钥标识,AKV为应用密钥版本,Rand0为第三随机数。
S307:域控制器判断第二电子控制单元应用密钥和第三电子控制单元应用密钥是否一致。
具体的,域控制器通过判断第二电子控制单元应用密钥和第三电子控制单元应用密钥是否一致来决定是否将第二电子控制单元应用密钥写入到域控制器的安全存储区域中。
S308:若第二电子控制单元应用密钥与第三电子控制单元应用密钥一致,则域控制器将第二电子控制单元应用密钥写入域控制器的安全存储区域,以使得诊断设备判断域控制器是否写入成功。
具体的,当第二电子控制单元应用密钥与第三电子控制单元应用密钥一致时,域控制器将第二电子控制单元应用密钥写入域控制器的安全存储区域。诊断设备根据域控制器是否将第二电子控制单元应用密钥写入域控制器的安全存储区域来判断域控制器密钥学习是否成功。
S309:若诊断设备判断域控制器写入成功,则域控制器接收诊断设备发送的密钥学习状态的读取请求。
具体的,诊断设备在判断域控制器将第二电子控制单元应用密钥写入域控制器的安全存储区域成功时,再次读取域控制器的密钥学习状态。
S310:域控制器向诊断设备发送密钥学习状态信息,以使得诊断设备判断域控制器的密钥学习状态。
具体的,域控制器向诊断设备返回域控制器的密钥学习状态信息,诊断设备根据密钥学习状态信息来确定域控制器的密钥学习状态。
S311:若域控制器的密钥学习状态为已学习状态,则域控制器接收诊断设备发送的密钥学习成功标识,并结束流程。
具体的,当诊断设备判断域控制器的密钥学习状态为已学习状态,则诊断设备向域控制器发送密钥学习成功标识,结束域控制器的密钥学习流程。
上述步骤S301-S311中,域控制器、诊断设备(Tester)以及云端之间的交互方式及数据传输如图4中的第②部分所示。
一种可能的实施例中,若第二电子控制单元应用密钥与第三电子控制单元应用密钥不一致,则域控制器判断第二电子控制单元应用密钥不应写入域控制器的安全存储区域,并将判断结果发送给所述诊断设备,以使得诊断设备判断域控制器是否写入成功。若诊断设备判断域控制器写入失败,则域控制器接收诊断设备发送的密钥学习失败标识,并结束流程。
具体的,当第二电子控制单元应用密钥与第三电子控制单元应用密钥不一致时,域控制器不将第二电子控制单元应用密钥写入域控制器的安全存储区域,此时诊断设备判断域控制器写入失败,标志域控制器此次密钥学习失败。
一种可能的实施例中,若域控制器的密钥学习状态不为已学习状态,则域控制器接收诊断设备发送的密钥学习失败标识,并结束流程。
具体的,当诊断设备判断域控制器的密钥学习状态不为已学习状态,说明域控制器此次密钥学习失败,结束域控制器的密钥学习流程。
通过本申请实施例提供的方法,能够实现域控制器进行密钥学习,将VIN对应的EAK写入到域控制器内的安全存储区域中,并将VIN与EAK的对应关系存储至云端中,以便后续满足鉴权功能的使用。
下面结合图5,介绍本申请实施例提供的一种域控制器的访问校验方法,可以通过步骤S501-S503实现。该方法应用于上述步骤S102之后。
S501:域控制器接收诊断设备根据第一电子控制单元应用密钥和随机数生成的第三校验值。
具体的,诊断设备在接收到域控制器发送的随机数和车辆识别码之后,根据车辆识别码对应的第一电子控制单元应用密钥和随机数生成第三校验值。
其中,第一电子控制单元为诊断设备根据域控制器的车辆识别码从云端中获取的第一电子控制单元,第一电子控制单元存储在诊断设备的加密狗中。
本申请考虑到了云端存在无法访问或访问网络速率低等异常情况下,导致诊断设备无法与云端进行交互进而影响了用户的售后体验,因此通过诊断设备将EAK存储在插在诊断设备USB接口上的加密狗中。而加密狗是一种软硬件结合的软件加密工具,只有在获取加密狗管理软件授权的设备,才能够读取加密狗中存储的设备,进而防止诊断设备中EAK的泄露。
此外,存储在加密狗中的EAK还设置有有效期,避免了当诊断设备落入非法人员手中时导致的EAK泄露。如图6的第一部分所示,诊断设备从云端获取EAK之前还需要进行账号密码验证。
S502:域控制器根据第一电子控制单元应用密钥和随机数生成第二校验值,并判断第三校验值和第二校验值是否相同。
具体的,如图6所示,域控制器在接收到第三校验值后,根据接收到的第一电子控制单元应用密钥和随机数生成第二校验值MAC1。并通过来判断第三校验值MAC和第二校验值MAC1是否相同来确定是否校验成功。
S503:若第三校验值和第二校验值相同,则域控制器向诊断设备发送第一鉴权结果,以使得诊断设备发起设备指令。
具体的,域控制器检测第三校验值和第二校验值相同,则判定鉴权成功,并将用于标识鉴权成功的第一鉴权结果发送给诊断设备。诊断设备在鉴权成功后,能够发起基于DoIP的诊断和刷写指令。
一种可能的实施例中,若第三校验值和第二校验值不同,则域控制器向诊断设备发送第二鉴权结果,以使得诊断设备禁止发起设备指令,其中,第二鉴权结果表示鉴权失败。
当域控制器鉴权失败时,禁止诊断设备对域控制器进行诊断调试,保证了诊断调试的合法性。
本方法中,鉴权后域控制器和诊断设备所执行的操作与如图1所示的方法中鉴权后域控制器和诊断设备所执行的操作均相同,此处不再进行赘述。
上述步骤S501-S503中,域控制器、诊断设备(Tester)以及云端之间的交互方式及数据传输如图6中的第②部分所示。
通过本申请实施例提供的方法,实现了诊断设备的离线鉴权,避免了云端存在无法访问或访问网络速率低等异常情况下,导致诊断设备无法与云端进行交互进而影响了用户的售后体验。
下面结合图7,介绍本申请实施例提供一种域控制器701的访问校验系统,该系统包括:域控制器701、诊断设备702和云端703。
域控制器701,用于接收诊断设备702通过诊断服务发送的鉴权请求。
域控制器701,用于根据鉴权请求生成随机数,并将随机数和车辆识别码发送给诊断设备702,以使得诊断设备702将随机数和车辆识别码发送给云端703。
在云端703根据车辆识别码查找第一电子控制单元应用密钥,根据第一电子控制单元应用密钥和随机数生成第一校验值,并将第一校验值发送给诊断设备702后,域控制器701,用于接收诊断设备702发送的第一校验值。
域控制器701,用于根据第一电子控制单元应用密钥和随机数生成第二校验值,并判断第一校验值和第二校验值是否相同。
若第一校验值和第二校验值相同,则域控制器701,用于向诊断设备702发送第一鉴权结果,以使得诊断设备702发起设备指令,其中,第一鉴权结果表示鉴权成功,设备指令至少为诊断指令和刷写指令中的一种或多种。
具体的,若第一校验值和第二校验值不同,则域控制器701,用于向诊断设备702发送第二鉴权结果,以使得诊断设备702禁止发起设备指令,其中,第二鉴权结果表示鉴权失败。
具体的,当诊断设备702扫描车辆识别码并读取域控制器701的密钥学习状态时,域控制器701,用于向诊断设备702发送密钥学习状态信息,以使得诊断设备702判断域控制器701的密钥学习状态。
若域控制器701的密钥学习状态为未学习状态时,域控制器701,用于接收诊断设备702发送的请求信息,其中,请求信息为诊断设备702用于向域控制器701请求密钥学习信息,密钥学习信息包括零部件识别号、应用密钥标识和应用密钥版本。
域控制器701,用于将密钥学习信息发送给诊断设备702,以使得诊断设备702向域控制器701请求密钥学习随机数。
域控制器701,用于生成第三随机数,并将第三随机数发送给诊断设备702,以使得诊断设备702向云端703发送密钥生成请求,密钥生成请求包括密钥学习信息、第三随机数和车辆识别码。
当云端703根据密钥生成请求和安全算法生成第二电子控制单元应用密钥并将第二电子控制单元应用密钥发送给诊断设备702时,域控制器701,用于接收诊断设备702发送的第二电子控制单元应用密钥。
域控制器701,用于根据密钥学习信息、第三随机数和车辆识别码生成第三电子控制单元应用密钥。
域控制器701,用于判断第二电子控制单元应用密钥和第三电子控制单元应用密钥是否一致。
若第二电子控制单元应用密钥与第三电子控制单元应用密钥一致,则域控制器701,用于将第二电子控制单元应用密钥写入域控制器701的安全存储区域,以使得诊断设备702判断域控制器701是否写入成功。
若诊断设备702判断域控制器701写入成功,则域控制器701,用于接收诊断设备702发送的密钥学习状态的读取请求。
域控制器701,用于向诊断设备702发送密钥学习状态信息,以使得诊断设备702判断域控制器701的密钥学习状态。
若域控制器701的密钥学习状态为已学习状态,则域控制器701,用于接收诊断设备702发送的密钥学习成功标识,并结束流程。
具体的,若第二电子控制单元应用密钥与第三电子控制单元应用密钥不一致,则域控制器701,用于判断第二电子控制单元应用密钥不应写入域控制器701的安全存储区域,以使得诊断设备702判断域控制器701是否写入成功。
若诊断设备702判断域控制器701写入失败,则域控制器701,用于接收诊断设备702发送的密钥学习失败标识,并结束流程。
具体的,若域控制器701的密钥学习状态不为已学习状态,则域控制器701,用于接收诊断设备702发送的密钥学习失败标识,并结束流程。
具体的,域控制器701,用于接收诊断设备702根据第一电子控制单元应用密钥和随机数生成的第三校验值,其中,第一电子控制单元为诊断设备702根据域控制器701的车辆识别码从云端703中获取的第一电子控制单元,第一电子控制单元存储在诊断设备702的加密狗中。
域控制器701,用于根据第一电子控制单元应用密钥和随机数生成第二校验值,并判断第三校验值和第二校验值是否相同。
若第三校验值和第二校验值相同,则域控制器701,用于向诊断设备702发送第一鉴权结果,以使得诊断设备702发起设备指令。
具体的,若第三校验值和第二校验值不同,则域控制器701,用于向诊断设备702发送第二鉴权结果,以使得诊断设备702禁止发起设备指令,其中,第二鉴权结果表示鉴权失败。
通过本申请实施例提供的系统,能够在域控制器内预埋EAK来增加计算方法的复杂性,起到提高校验外部诊断设备合法的可靠性的作用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种域控制器的访问校验方法,其特征在于,所述方法包括:
域控制器接收诊断设备通过诊断服务发送的鉴权请求;
所述域控制器根据所述鉴权请求生成随机数,并将所述随机数和车辆识别码发送给所述诊断设备,以使得所述诊断设备将所述随机数和所述车辆识别码发送给云端;
在所述云端根据所述车辆识别码查找第一电子控制单元应用密钥,根据所述第一电子控制单元应用密钥和所述随机数生成第一校验值,并将所述第一校验值发送给所述诊断设备后,所述域控制器接收所述诊断设备发送的所述第一校验值;
所述域控制器根据所述第一电子控制单元应用密钥和所述随机数生成第二校验值,并判断所述第一校验值和所述第二校验值是否相同;
若所述第一校验值和所述第二校验值相同,则所述域控制器向所述诊断设备发送第一鉴权结果,以使得所述诊断设备发起设备指令,其中,所述第一鉴权结果表示鉴权成功,所述设备指令至少为诊断指令和刷写指令中的一种或多种。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一校验值和所述第二校验值不同,则所述域控制器向所述诊断设备发送第二鉴权结果,以使得所述诊断设备禁止发起所述设备指令,其中,所述第二鉴权结果表示鉴权失败。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述诊断设备扫描所述车辆识别码并读取所述域控制器的密钥学习状态时,所述域控制器向所述诊断设备发送密钥学习状态信息,以使得所述诊断设备判断所述域控制器的密钥学习状态;
若所述域控制器的密钥学习状态为未学习状态时,所述域控制器接收所述诊断设备发送的请求信息,其中,所述请求信息为所述诊断设备用于向所述域控制器请求密钥学习信息,所述密钥学习信息包括零部件识别号、应用密钥标识和应用密钥版本;
所述域控制器将所述密钥学习信息发送给所述诊断设备,以使得所述诊断设备向所述域控制器请求密钥学习随机数;
所述域控制器生成第三随机数,并将所述第三随机数发送给所述诊断设备,以使得所述诊断设备向所述云端发送密钥生成请求,所述密钥生成请求包括所述密钥学习信息、所述第三随机数和所述车辆识别码;
当所述云端根据所述密钥生成请求和安全算法生成第二电子控制单元应用密钥并将所述第二电子控制单元应用密钥发送给所述诊断设备时,所述域控制器接收所述诊断设备发送的第二电子控制单元应用密钥;
所述域控制器根据所述密钥学习信息、所述第三随机数和所述车辆识别码生成第三电子控制单元应用密钥;
所述域控制器判断所述第二电子控制单元应用密钥和所述第三电子控制单元应用密钥是否一致;
若所述第二电子控制单元应用密钥与所述第三电子控制单元应用密钥一致,则所述域控制器将所述第二电子控制单元应用密钥写入所述域控制器的安全存储区域,以使得所述诊断设备判断所述域控制器是否写入成功;
若所述诊断设备判断所述域控制器写入成功,则所述域控制器接收所述诊断设备发送的密钥学习状态的读取请求;
所述域控制器向所述诊断设备发送密钥学习状态信息,以使得所述诊断设备判断所述域控制器的密钥学习状态;
若所述域控制器的密钥学习状态为已学习状态,则所述域控制器接收所述诊断设备发送的密钥学习成功标识,并结束流程。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第二电子控制单元应用密钥与所述第三电子控制单元应用密钥不一致,则所述域控制器判断所述第二电子控制单元应用密钥不应写入所述域控制器的安全存储区域,并将判断结果发送给所述诊断设备,以使得所述诊断设备判断所述域控制器是否写入成功;
若所述诊断设备判断所述域控制器写入失败,则所述域控制器接收所述诊断设备发送的密钥学习失败标识,并结束流程。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述域控制器的密钥学习状态不为已学习状态,则所述域控制器接收所述诊断设备发送的密钥学习失败标识,并结束流程。
6.根据权利要求1所述的方法,其特征在于,所述诊断设备为用户根据账户密码成功登陆的诊断设备。
7.根据权利要求1所述的方法,其特征在于,在所述域控制器根据所述鉴权请求生成随机数,并将所述随机数和车辆识别码发送给所述诊断设备之后,所述方法还包括:
所述域控制器接收所述诊断设备根据所述第一电子控制单元应用密钥和所述随机数生成的第三校验值,其中,第一电子控制单元为所述诊断设备根据所述域控制器的所述车辆识别码从所述云端中获取的所述第一电子控制单元,所述第一电子控制单元存储在所述诊断设备的加密狗中;
所述域控制器根据所述第一电子控制单元应用密钥和所述随机数生成第二校验值,并判断所述第三校验值和所述第二校验值是否相同;
若所述第三校验值和所述第二校验值相同,则所述域控制器向所述诊断设备发送所述第一鉴权结果,以使得所述诊断设备发起所述设备指令。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述第三校验值和所述第二校验值不同,则所述域控制器向所述诊断设备发送第二鉴权结果,以使得所述诊断设备禁止发起所述设备指令,其中,所述第二鉴权结果表示鉴权失败。
9.一种域控制器的访问校验系统,用于执行前述权利要求1-8中任一项所述的一种域控制器的访问校验方法,其特征在于,所述系统包括:域控制器、诊断设备和云端;
所述域控制器,用于接收诊断设备通过诊断服务发送的鉴权请求;
所述域控制器,用于根据所述鉴权请求生成随机数,并将所述随机数和车辆识别码发送给所述诊断设备,以使得所述诊断设备将所述随机数和所述车辆识别码发送给云端;
在所述云端根据所述车辆识别码查找第一电子控制单元应用密钥,根据所述第一电子控制单元应用密钥和所述随机数生成第一校验值,并将所述第一校验值发送给所述诊断设备后,所述域控制器,用于接收所述诊断设备发送的所述第一校验值;
所述域控制器,用于根据所述第一电子控制单元应用密钥和所述随机数生成第二校验值,并判断所述第一校验值和所述第二校验值是否相同;
若所述第一校验值和所述第二校验值相同,则所述域控制器,用于向所述诊断设备发送第一鉴权结果,以使得所述诊断设备发起设备指令,其中,所述第一鉴权结果表示鉴权成功,所述设备指令至少为诊断指令和刷写指令中的一种或多种。
10.根据权利要求9所述的系统,其特征在于,
若所述第一校验值和所述第二校验值不同,则所述域控制器,用于向所述诊断设备发送第二鉴权结果,并将判断结果发送给所述诊断设备,以使得所述诊断设备禁止发起所述设备指令,其中,所述第二鉴权结果表示鉴权失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410175615.1A CN118041628A (zh) | 2024-02-07 | 2024-02-07 | 一种域控制器的访问校验方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410175615.1A CN118041628A (zh) | 2024-02-07 | 2024-02-07 | 一种域控制器的访问校验方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118041628A true CN118041628A (zh) | 2024-05-14 |
Family
ID=90988600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410175615.1A Pending CN118041628A (zh) | 2024-02-07 | 2024-02-07 | 一种域控制器的访问校验方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118041628A (zh) |
-
2024
- 2024-02-07 CN CN202410175615.1A patent/CN118041628A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8590024B2 (en) | Method for generating digital fingerprint using pseudo random number code | |
CN102521165B (zh) | 安全优盘及其识别方法和装置 | |
US8898475B2 (en) | Method, controller and system for detecting infringements of the authenticity of system components | |
CN104881602B (zh) | 无人参与且安全的设备授权 | |
CN111651748B (zh) | 一种车内ecu的安全访问处理系统及其方法 | |
CN109257391A (zh) | 一种访问权限开放方法、装置、服务器及存储介质 | |
KR20180062072A (ko) | 차량용 진단기 및 그 인증서 관리 방법 | |
CN108541324A (zh) | 一种电子锁设备的解锁方法、客户端及其电子锁设备 | |
CN113138775B (zh) | 车载诊断系统固件保护方法及系统 | |
JP2008511875A (ja) | データを安全に伝送する方法 | |
US7213267B2 (en) | Method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system | |
CN106778084A (zh) | 软件激活方法及装置和软件激活系统 | |
CN104104650B (zh) | 数据文件访问方法及终端设备 | |
CN109714171A (zh) | 安全防护方法、装置、设备和介质 | |
CN115527292B (zh) | 安全芯片的手机终端远程车辆解锁方法及安全芯片装置 | |
CN101694683A (zh) | 一种防止木马通过移动存储器摆渡窃取文件的方法 | |
CN105430649B (zh) | Wifi接入方法及设备 | |
KR101675223B1 (ko) | 워치독 장치, 워치독 보안 시스템 및 그 보안 방법 | |
CN109474431A (zh) | 客户端认证方法及计算机可读存储介质 | |
CN109743283B (zh) | 一种信息传输方法及设备 | |
CN118041628A (zh) | 一种域控制器的访问校验方法及系统 | |
CN112887099B (zh) | 数据签名方法、电子设备及计算机可读存储介质 | |
CN112395574B (zh) | 一种安全登录管理方法 | |
CN113346989A (zh) | 一种外部设备接入认证方法、装置、网关及电动汽车 | |
JP4729457B2 (ja) | 自動分析装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |