CN112956156A - 一种证书申请方法及装置 - Google Patents

一种证书申请方法及装置 Download PDF

Info

Publication number
CN112956156A
CN112956156A CN202180000786.5A CN202180000786A CN112956156A CN 112956156 A CN112956156 A CN 112956156A CN 202180000786 A CN202180000786 A CN 202180000786A CN 112956156 A CN112956156 A CN 112956156A
Authority
CN
China
Prior art keywords
result
server
terminal device
certificate
software
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.)
Granted
Application number
CN202180000786.5A
Other languages
English (en)
Other versions
CN112956156B (zh
Inventor
潘凯
郭志鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112956156A publication Critical patent/CN112956156A/zh
Application granted granted Critical
Publication of CN112956156B publication Critical patent/CN112956156B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种证书申请方法及装置,该方法包括:终端设备向第一服务器发送第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;终端设备接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。采用本申请的方法及装置,可验证终端设备软件的合法性,避免为安装有非法软件的终端设备颁发证书。

Description

一种证书申请方法及装置
技术领域
本申请涉及车联网技术领域,尤其涉及一种证书申请方法及装置。
背景技术
在自动驾驶领域中,车载终端可以向云端服务器上传或下载地图数据。在车载终端上传或下载地图数据的过程中,车载终端与云端服务器间需要使用证书进行双向认证。其中,用于双向认证的证书并不预先存储在车载终端内部的,车载终端设备需要预先向注册机构(registration authority,RA)进行申请。
在目前的证书申请方案中,车载终端向RA发送证书请求消息。RA在接收到车载终端的证书请求消息时,RA会验证车载终端的硬件是否合法。例如,RA可以通过车载终端发送的证书请求消息中携带的车辆的初始信任状验证车载终端的硬件设备是否合法;在验证通过后,RA通知证书颁发机构(certificate authority,CA)为车载终端颁发证书。采用上述方案,可以会导致安装有非法软件的合法设备仍能获取CA颁发的合法证书,可能带来非法软件使用合法证书发送恶意消息的潜在风险。
发明内容
本申请提供一种证书申请方法及装置,以对终端设备软件的合法性进行验证,降低为安装有非法软件的终端设备颁发证书的风险。
第一方面,提供一种证书申请方法,包括:终端设备向第一服务器发送第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;所述终端设备接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。
可选的,当所述第一字段用于指示所述第一服务器为所述终端设备颁发证书时,所述第一响应消息中还包括所述第一服务器为所述终端设备颁发的第一证书。
在上述第一方面的设计中,终端设备向第一服务器上报表征其软件特性的第一结果,第一服务器或第二服务器可根据上述第一结果,验证终端设备软件是否合法,且在终端设备软件合法时,第一服务器才会为终端设备颁发证书,从而降低为安装有非法软件的终端设备颁发证书的风险。
第二方面,提供一种证书申请方法,包括:第一服务器接收来自终端设备的第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;所述第一服务器向所述终端设备发送第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果所确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。
可选的,当所述第一字段用于指示所述第一服务器为所述终端设备颁发证书时,所述第一响应消息中还包括所述第一服务器为所述终端设备颁发的第一证书。
在一种可能的设计中,所述方法还包括:所述第一服务器向第二服务器发送第二请求消息,所述第二请求消息中包括所述第一结果和所述终端设备软件的标识信息;所述第一服务器接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括第二字段,所述第二字段是根据所述第一结果和所述终端设备软件的标识信息所确定的,所述第二字段用于指示所述终端设备软件合法,或者用于指示所述终端设备软件非法。
可选的,当所述第二字段用于指示所述终端设备软件合法时,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书;或者,当所述第二字段用于指示所述终端设备软件非法时,所述第一字段用于指示所述第一服务器拒绝为所述终端设备颁发证书。
在上述设计中,第一服务器将第一结果上报给第二服务器,由第二服务器根据第一结果,判断终端设备软件是否合法,且指示给第一服务器;而第一服务器根据第二服务器的指示确定是否为终端设备颁发证书。可见,在上述设计中,由第二服务器判断终端设备软件是否合法,无需第一服务器作判断,节省第一服务器的功耗。
在一种可能的设计中,所述方法还包括:所述第一服务器向第二服务器发送第二请求消息,所述第二请求消息中包括所述终端设备软件的标识信息;所述第一服务器接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括第二结果,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
可选的,当所述第一结果与所述第二结果相同时,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书;或者,当所述第一结果与所述第二结果不同时,所述第一字段用于指示所述第一服务器拒绝为所述终端设备颁发证书。
在上述设计中,第一服务器向第二服务器申请终端设备软件合法的第二结果;之后,第一服务器比较第二结果和终端设备上报的第一结果;若两者相同,则第一服务器为终端设备颁发证书,否则拒绝为终端设备颁发证书。采用上述设计,针对同一设备的多次认证,第一服务器仅需向第二服务器申请一次第二结果即可,后续可多次进行认证,节省信令开销。
第三方面,提供一种证书申请方法,包括:第二服务器接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息和/或第一结果,所述第一结果用于验证所述终端设备软件的合法性;所述第二服务器向所述第一服务器发送第二响应消息,所述第二响应消息是根据所述终端设备软件的标识信息和/或第一结果确定的。
在一种可能的设计中,当所述第二请求消息中包括所述终端设备软件的标识信息和第一结果时,所述方法还包括:所述第二服务器根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;所述第二服务器根据所述第一结果和第二结果,确定第二字段,所述第二字段携带于所述第二响应消息中。
可选的,当所述第一结果与所述第二结果相同时,所述第二字段用于指示所述终端设备软件合法;或者,当所述第一结果与所述第二结果不同时,所述第二字段用于指示所述终端设备软件非法。
在一种可能的设计中,当所述第二请求消息中包括所述终端设备软件的标识信息时,所述方法还包括:所述第二服务器根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果,所述第二结果携带于所述第二响应消息中。
关于第三方面的有益效果,可参见上述第一方面和/或第二方面,在此不再赘述。
第四方面,提供一种证书申请方法,包括:终端设备向第一服务器发送第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;所述终端设备接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
通过上述方法,由于上述第一证书是通过合法的第二结果加密的。因此,在终端设备软件合法的情况下,终端设备软件在启动时生成的第一结果,与第二结果相同,终端设备可成功对第一证书解密。或者,在终端设备软件非法的情况下,终端设备软件在启动时生成的第一结果,与第二结果不同,终端设备对第一证书解密失败。可以看出,只有合法的终端设备软件,才能成功解密第一服务器为其颁发的第一证书,从而降低了非法终端设备软件获取合法证书的风险。
第五方面,提供一种证书申请方法,包括:第一服务器接收来自终端设备的第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;所述第一服务器向所述终端设备发送第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
在一种可能的设计中,所述方法还包括:所述第一服务器向第二服务器发送第二请求消息,所述第二请求消息中包括所述终端设备软件的标识信息;所述第一服务器接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括所述第二结果。
关于第五方面的有益效果,可参见上述第四方面,在此不再赘述。
第六方面,提供一种证书申请方法,包括:第二服务器接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息;所述第二服务器根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;所述第二服务器向所述第一服务器发送第二响应消息,所述第二响应消息中包括所述第二结果。
关于第六方面的有益效果,可参见上述第四方面,在此不再赘述。
第七方面,提供一种通信装置,该装置用于实现上述第一方面至第六方面任意一方面的方法,包括相应的功能模块或单元,分别用于实现上述第一方面至第六方面任意一方面方法中的步骤。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相应的模块或单元。
第八方面,提供一种通信装置,该装置包括处理器和存储器。其中,存储器用于存储计算程序或指令,处理器与存储器耦合;当处理器执行计算机程序或指令时,使得该装置执行上述第一方面至第六方面中的任意一方面的方法。
第九方面,提供一种终端,该终端用于执行上述第一方面或第四方面的方法。
可选的,该装置可以为智能家居设备、智能制造设备、智能运输设备等,例如车辆、无人机、无人运输车、汽车和车辆等,或机器人等。
第十方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被装置执行时,使得该装置执行上述第一方面至第六方面的任意一方面中的方法。
第十一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当计算机程序或指令被装置执行时,使得该装置执行上述第一方面至第六方面的任意一方面中的方法。
第十二方面,提供一种芯片系统,该芯片系统包括至少一个处理器,用于支持实现上述第一方面至第六方面中的任一方面中所涉及的功能。例如,接收或处理上述方法中所涉及的数据和/或信息等。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和数据,存储器位于处理器之内或处理器之外。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第十三方面,提供一种系统,包括上述第一方面至第六方面中任一方面的终端设备、第一服务器和第二服务器。
附图说明
图1为本申请实施例提供的车载终端的示意图;
图2为本申请实施例一中示例1提供的证书申请方法的一流程图;
图3为本申请实施例一中示例1提供的证书申请方法的另一流程图;
图4为本申请实施例一中示例2提供的证书申请方法的一流程图;
图5为本申请实施例一中示例2中提供的证书申请方法的另一流程图;
图6为本申请实施例二中提供的证书申请方法的一流程图;
图7为本申请实施例二中提供的证书申请方法的另一流程图;
图8为本申请实施例提供的装置的一结构示意图;
图9为本申请实施例提供的装置的另一结构示意图。
具体实施方式
下面结合附图,对本申请实施例的方案进行介绍。
图1示出了车载终端100的一种可能示意图,包括推进系统110、传感器系统120、控制系统130、外围设备140、电源150、计算机系统160以及用户接口170。车载终端100的组件可以被配置为彼此互连的方式工作。例如,电源150可以向车载终端100的所有组件提供电力。计算机系统160可以被配置为在用户接口170上生成图像的显示并从用户接口170接收输入等。
其中,推进系统110可以为车载终端100提供动力运行。如图1所示,推进系统110可以包括引擎/发动机114、能量源113、传动装置112和车轮/轮胎111等。
传感器系统120可以包括用于检测车载终端100所位于的环境的信息的若干个传感器。如图1所示,传感器系统120可包括全球定位系统(global positioning system,GPS)126、惯性测量单元(inertial measurement unit,IMU)125、毫米波雷达124、相机传感器123、激光雷达122以及用于修改传感器的位置和/或朝向的制动器121等。在一些实施例中,GPS 126可以为用于估计车载终端100的地理位置的任何传感器。例如,GPS 126可以包括收发器,基于卫星定位数据估计车载终端100相对于地球的位置。示例的,计算机系统160可以用于结合地图数据使用GPS 126来估计车载终端100行驶的道路等。IMU 125可以用于基于惯性加速度及其任意组合来感测车载终端100的位置和朝向变化等。例如,IMU 125中传感器的组合可包括加速度计和陀螺仪等。另外,IMU 125中传感器的其它组合也是可能的。毫米波雷达124可利用无线电信号来感测车载终端100的周边环境内的目标。在一些实施例中,除了感测目标以外,毫米波雷达124还可用于感测目标的速度和/或前进方向等。相机传感器123可用于捕捉车载终端100的周边环境的多个图像。相机传感器123可以是静态相机或视频相机等。激光雷达122可利用激光来感测车载终端100所位于的环境中的目标。在一些实施例中,激光雷达122可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件等。
可选的,传感器系统120还可包括监视车载终端100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是车载终端100的安全操作的关键功能。传感器系统120还可以包括其它传感器。本申请对此不做具体限定。
控制系统130可以控制车载终端100及其组件的操作。控制系统130可包括各种元件,其中包括转向单元136、油门135、制动单元134、传感器融合算法133、计算机视觉系统132、路线控制系统131以及障碍规避系统137。转向单元136可操作来调整车载终端100的前进方向。例如,在一些实施例中,转向单元136可以为方向盘系统。油门135用于控制引擎114的操作速度并进而控制车载终端100的速度。制动单元134用于控制车载终端100减速。制动单元134可使用摩擦力来减慢车轮111。在一些实施例中,制动单元134可将车轮111的动能转换为电流。制动单元134也可以采取其他形式来减慢车轮111转速,从而控制车载终端100的速度。计算机视觉系统132可以操作来处理和分析由相机传感器123捕捉的图像以便识别车载终端100周边环境中的目标和/或特征。所述目标和/或特征可以包括交通信号、道路边界和障碍物等。计算机视觉系统132可使用目标识别算法、运动中恢复结构(structurefrom motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统132可以用于为环境绘制地图、跟踪目标、和估计目标的速度等等。路线控制系统131用于确定车载终端100的行驶路线。在一些实施例中,路线控制系统131可结合来自GPS 126和一个或多个预定地图的数据为车载终端100确定行驶路线。障碍规避系统137用于识别、评估和避免或者以其他方式越过车载终端100的环境中的潜在障碍物。
外围设备140可以被配置为允许车载终端100与外部传感、其它车辆和/或用户交互。为此,外围设备140可以包括例如无线通信系统144、触摸屏143、麦克风142和/或扬声器141等。
在一些实施例中,外围设备140提供车载终端100的用户与用户接口170交互的手段。例如,触摸屏143可向车载终端100的用户提供信息。用户接口170还可操作触摸屏143来接收用户的输入。在其他情况下,外围设备140可提供用于车载终端100与位于车内的其它设备通信的手段。例如,麦克风142可以从车载终端100的用户接收音频(例如,语音命令或其它音频输入)。类似地,扬声器141可向车载终端100的用户输出音频。
无线通信系统144可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统144可使用3G蜂窝通信,例如码分多址(code division multipleaccess,CDMA)、全球移动通信系统(global system for mobile communications,GSM)/通用分组无线服务技术(general packet radio service,GPRS),或者4G蜂窝通信,例如长期演进(long term evolution,LTE),或者5G蜂窝通信。无线通信系统144可利用无线保真(wireless fidelity,WiFi)与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统144可利用红外链路、蓝牙、紫蜂(zigbee)或其它无线协议等与设备直接通信。其他无线协议,例如,无线通信系统144可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源150可以被配置为向车载终端100的一些或全部组件提供电力。为此,电源150可以包括例如可再充电锂离子或铅酸电池等。在一些示例中,一个或多个电源组可被配置为提供电力。其它电源材料和配置也是可能的。
车载终端100的部分或所有功能受计算机系统160控制。计算机系统160可包括至少一个处理器161,处理器161执行存储在例如存储器163中的计算机可读介质中的指令1631。计算机系统160还可以是采用分布式方式控制车载终端100的中的多个组件的多个计算设备等。处理器161可以是任何常规的处理器,诸如中央处理器(central processingunit,CPU)。可选的,该处理器161还可以是诸如专用集成电路(application specificintegrated circuits,ASIC)或其它基于硬件的处理器的专用设备等。在一些实施例中,存储器163可包含指令1631(例如,程序逻辑),指令1631可被处理器161用来执行车载终端100的各种功能。存储器163也可包含额外的指令,包括向推进系统110、传感器系统120、控制系统130和外围设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。除了指令1631以外,存储器163还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其他数据等。上述数据可在车载终端100自主、半自主和/或手动模式的操作期间被车载终端100和计算机系统160使用。
示例的,计算机系统160可基于从各种系统(例如,推进系统110、传感器系统120和控制系统130)以及从用户接口170接收的输入来控制车载终端100的功能。例如,计算机系统160可利用来自控制系统130的输入控制转向单元136来避免由障碍规避系统137检测到的障碍物等。
用户接口170,用于向车载终端100的用户提供信息或从其接收信息等。
在一些实施例中,在道路行进的自动驾驶汽车,如上面的车载终端100,可以识别其周围环境内的目标以确定对当前速度的调整。所述目标可以是其它车辆、交通控制设备、或者其它类型的目标。在一些示例中,可以独立地考虑每个识别的目标,并且基于目标的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,用来确定自动驾驶汽车所要调整的速度。
可选的,自动驾驶车载终端100或者与自动驾驶车载终端100相关联的计算设备(如图1的计算机系统160、计算机视觉系统132、存储器163)可以基于所识别的目标的特性和周围环境的状态(例如,交通、雨、道路上的冰等等)来预测所述识别的目标的行为。可选的,每一个所识别的目标都依赖于彼此的行为,因此还可以将所识别的所有目标全部一起考虑来预测单个识别的目标的行为。车载终端100能够基于预测的所述识别的目标的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的目标的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车载终端100的速度,诸如,车载终端100在行驶的道路中的横向位置、道路的曲率、静态和动态目标的接近度等等。
除了提供调整自动驾驶汽车的速度的指令之外,上述计算设备还可以提供修改车载终端100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的目标(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
在一些实施例中,上述车载终端100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
需要说明的是,上述图1所示的车载终端100所包括的组件仅为一个示例,并不作为对本申请实施例的限定。实际应用中,车载终端100中包括的组件,可能根据实际需要增添或删除等。上述组件中的一个或多个可与车载终端1000分开安装。例如,存储器163可以部分或完全地与车载终端分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起等。
在一种场景下,车载终端可以向云端服务器上传或下载地图数据。例如,车载终端中可安装有地图采集盒子,利用地图采集盒子可采集车载终端行驶线路的地图数据,且上传至云端服务器,所述云端服务器可以为国家测绘部门中存储地图数据的服务器等。或者,车载终端可以向云端服务器,申请某一地理位置的地图数据,以规划行驶线路等。其中,在车载终端上传或下载地图数据的过程中,车载终端与云端服务器间需要使用证书进行双向认证。车载终端需要向预设的服务器申请证书。在一种方案中,在车载终端申请证书的过程中,服务器仅会验证车载终端的硬件设备是否合法,并不会验证车载终端中安装的软件是否合法。采用上述方案,可能会出现为安装为非法软件的车载终端颁发证书的问题。
基于此,本申请实施例提供一种证书申请方法及装置,服务器可以验证终端设备软件是否合法,在终端设备软件合法时,服务器再为终端设备颁发证书,从而降低为安装有非法软件的车载终端颁发证书的风险。本申请实施例提供以下两种解决方案:
第一种方案:车载终端在向服务器申请证书的过程中,车载终端向服务器提供用于指示车载终端软件特性的第一结果;服务器可根据上述第一结果,判断车载终端软件是否合法;如果合法,为车载终端颁发证书,否则,拒绝为车载终端颁发证书,具体可参见下述实施例一。
第二种方案:车载终端在向服务器申请证书的过程中,车载终端向服务器提供车载终端软件的标识信息;服务器根据车载终端上报的车载终端软件的标识信息,获取该车载终端软件合法的第二结果;且利用上述第二结果对颁发的证书进行加密;由于只有安装有合法软件的车载终端,才可以对加密的证书进行解密,从而可避免安装有非法软件的终端设备获取证书的风险,具体可参见下述实施例二。
实施例一
该实施例一提供一种证书申请方法,该方法包括:
终端设备向第一服务器发送第一请求消息,第一请求消息中包括第一结果,第一结果用于验证终端设备软件的合法性。相应的,第一服务器接收来自终端设备的第一请求消息。
可选的,第一服务器在接收到上述第一请求消息时,可向第二服务器发送第二请求消息,第二请求消息中包括终端设备软件的标识信息和/或第一结果等。相应的,第二服务器可接收来自第一服务器的第二请求消息,第二服务器根据第一请求消息中包括的终端设备软件的标识信息和/或第一结果等,生成响应于上述第二请求消息的第二响应消息。或者描述为,第二响应消息是根据所述终端设备软件的标识信息和/或第一结果确定的。第二服务器向第一服务器发送第二响应消息。相应的,第一服务器接收来自第二服务器的第二响应消息。
在一种可能的实现方式中,可以由第二服务器判断终端设备软件是否合法。上述第二请求消息中包括终端设备软件的标识信息和第一结果。第二服务器可根据终端备软件的标识信息,确定第二结果,第二结果为终端设备软件的合法结果;第二服务器根据第二结果和第一结果,确定第二字段。或者,可描述为第二字段是根据第一结果和终端设备软件的标识信息所确定的。该第二字段用于指示终端设备软件合法或者非法等。例如,若第二结果与终端设备上报的第一结果相同,则上述第二字段可指示终端设备软件合法,否则指示终端设备软件非法。上述第二响应消息中可携带有上述第二字段。具体过程,可参见下述示例一的记载。
在另一种可能的实现方式中,可以由第一服务器判断终端设备软件是否合法。上述第二请求消息中包括终端设备软件的标识信息。相似的,第二服务器可根据终端设备软件的标识信息,确定终端设备软件的合法结果,即第二结果。或者,描述为第二结果是根据终端设备软件的标识信息所确定的。第二服务器向第一服务器发送的第二响应消息中可包括上述第二结果;第一服务器可比较第二结果与终端设备上报的第一结果是否相同,若相同,则认为终端设备软件合法,否则认为终端设备软件非法。具体过程,可参见下述示例二的记载。
第一服务器可向终端设备发送响应于第一请求消息的第一响应消息,该第一响应消息中包括第一字段,该第一字段是根据所述第一结果所确定的。例如,若对第一结果的验证通过,即终端设备软件合法,则第一字段用于指示第一服务器为终端设备颁发证书;或者,若对第一结果的验证未通过,即终端设备软件非法,则第一字段用于指示第一服务器拒绝为终端设备颁发证书。进一步,若第一字段用于指示第一服务器为终端设备颁发证书时,则上述第一响应消息中还包括第一服务器为终端设备颁发的第一证书。相应的,终端设备可接收来自第一服务器的第一响应消息。
在一种可能的实现方式中,若由第二服务器判断终端设备软件是否合法。则上述第二响应消息中包括第二字段,当第二字段指示终端设备软件合法时,第一响应消息中的第一字段用于指示第一服务器为终端设备颁发证书,否则,第一响应消息中的第一字段用于指示第一服务器拒绝为终端设备颁发证书。
在另一种可能的实现方式中,若由第一服务器判断终端设备软件是否合法时,第一服务器在第二响应消息中获取第二结果时,若第二结果与终端设备上报的第一结果相同,则第一响应消息中的第一字段用于指示第一服务器为终端设备颁发证书,否则,第一响应消息中的第一字段用于指示第一服务器拒绝为终端设备颁发证书。
示例1
如图2所示,提供一种证书申请方法的流程,至少包括:
步骤200:终端设备向第一服务器发送第一请求消息,该第一请求消息中至少包括第一结果。第一结果用于验证终端设备软件的合法性。示例的,该第一请求消息可以称为证书请求消息。进一步,第一请求消息还可以包括终端设备软件的标识信息。
步骤201:第一服务器向第二服务器发送第二请求消息,该第二请求消息中包括上述第一结果和终端设备软件的标识信息。示例的,该第二请求消息可以称为度量请求消息。该步骤201是可选的。
在一种方案中,上述第一请求消息可以作为触发,触发第一服务器向第二服务器发送第二请求消息。即第一服务器在接收到上述第一请求消息时,可向第二服务器发送第二请求消息。该第二请求消息中包括第一结果和终端设备软件的标识信息。关于第一结果,第二服务器可以在上述步骤200中的第一请求消息中获取。关于终端设备软件的标识信息,第一服务器同样可以在上述步骤200中的第一请求消息中获取,即上述第一请求消息中除包括上述第一结果外,还可以包括终端设备软件的标识信息。或者,上述终端设备软件的标识信息可以为终端设备预先上报给终端设备的,例如,终端设备在注册阶段,将终端设备软件的标识信息即上报给第一服务器等,第一服务器可以在预先存储的信息中,获取终端设备软件的标识信息。
其中,第二服务器在接收到上述第二请求消息时,可以从第二请求消息中获取第一结果和终端设备软件的标识信息。第二服务器根据上述终端设备软件的标识信息,确定终端设备软件的合法结果,即第二结果。示例的,第二服务器中可存储有终端设备软件的标识信息与合法结果对应关系的列表,该列表中至少包括两列,一列的索引为终端序设备软件的标识信息,另一列的索引为每个标识信息对应的合法结果,上述两列索引存在对应关系。第二服务器在上述第二请求消息中获取终端设备软件的标识信息后,可在上述列表中,查询终端设备软件的标识信息对应的合法结果,即第二结果。第二服务器可判断第二结果与终端设备上报的第一结果是否相同;若两者相同,则第二服务器确定终端设备软件合法;若两者不同,则第二服务器确定终端设备软件非法;最后,第二服务器生成响应于上述第二请求消息的第二响应消息,该第二响应消息中的任一字段中包括用于指示上述第二服务器确定的终端设备软件合法或非法。为了便于描述,可描述为第二响应消息中包括第二字段,该第二字段中用于指示端设备软件合法或非法等。
需要说明的是,在本申请的所有实施例中,终端设备软件非法可包括以下至少一种情形:终端设备中安装的软件为未经过开发方授权的盗版软件,或者,终端设备中安装的软件为事先未经过第二服务器授权的软件,或者终端设备中安装的软件的版本比较低等。终端设备软件的标识信息可以为终端设备中安装软件的身份标识,或者终端设备中安装软件的版本标识等,不作限定。无论何种标识,只要能唯一标识终端设备中安装软件的身份,均在本申请的保护范围内。
步骤202:第二服务器向第一服务器发送第二响应消息,该第二响应消息响应于上述步骤201中的第二请求消息,该第二响应消息中包括第二字段,第二字段用于指示终端设备软件合法,或者用于指示终端设备软件非法。该步骤202是可选的。示例的,该第二响应消息可称为度量请求响应消息等。
步骤203:第一服务器向终端设备发送第一响应消息,该第一响应消息响应于上述步骤200中的第一请求消息。示例的,该第一响应消息可称为证书请求响应消息等。
在一种可能的实施方式中,第一服务器在接收到上述步骤202中的第二响应消息时,可获取第二响应消息中第二字段指示的内容。若上述第二字段指示终端设备软件合法,则第一服务器可以为终端设备颁发证书。或者,若上述第二字段指示终端设备软件非法,则第一服务器可拒绝为终端设备颁发证书。第一服务器可向终端设备发送第一响应消息,该第一响应消息中的任一字段(为了便于描述,可称该字段为第一字段),可用于指示第一服务器为终端设备颁发证书,或者用于指示第一服务器拒绝为终端设备颁发证书。进一步,若第一服务器为终端设备颁发证书,则第一响应消息中还可以包括第一服务器为终端设备颁发的第一证书等。
在另一种可能的实施方式中,第一服务器在接收到上述步骤202中的第二响应消息时,若发现第二响应消息中的第二字段指示终端设备软件合法,则第一服务器直接为终端设备颁发第一证书,且第一响应消息中携带有第一证书。或者,若第一服务器发现第二响应消息中的第二字段指示终端设备软件非法,则第一服务器生成拒绝为终端设备颁发证书的指示信息,最终第一服务器向终端设备发送的第一响应消息中可以携带有第一字段,该第一字段用于指示第一服务器拒绝为终端设备颁发证书。
将上述两种实施方式相比可以看出,在第一种实施方式中,当第一服务器为终端设备颁发证书时,第一响应消息包括第一服务器为终端设备颁发的第一证书,以及第一服器为终端设备颁发证书的指示信息。而在第二种实施方式中,当第一服务器为终端设备颁发证书时,第一响应消息中仅包括第一服务器为终端设备颁发的第一证书,不再包括第一服务器为终端设备颁发证书的指示信息,从而节省了第一响应消息的信令开销。
关于第一结果和第二结果作如下说明:第一结果和第二结果可称为代码度量结果,代码度量结果具有防篡改和防伪造的性质。代码度量结果可以度量终端设备软件代码的完整性,代码度量结果可以为利用杂凑函数计算出的终端设备软件的杂凑值。在上述实施例中,第二服务器可以将终端设备上报的杂凑值与第二服务器中存储的杂凑值进行比值,若两者相同,则认为终端设备软件合法,否则认为终端设备软件非法等。
通过上述方法,可以验证终端设备软件是否合法,且在终端设备软件合法时,第一服务器才会为终端设备颁发证书,从而降低为安装有非法软件的终端设备颁发证书的风险。
上述图2所提供的证书申请方法的流程,可以单独使用,验证终端设备软件的合法性;或者,可以与硬件验证相结合,共同验证终端设备的合法性,即包括验证终端设备硬件的合法性和软件的合法性。如图3所示,提供一种流程,在该流程中,将上述图2所提供的方法与硬件验证相结合,至少包括:
首先需要说明的是,在以下图3、图5或图7的流程中,是以第一服务器为注册机构(registration authority,RA)和/或证书颁发机构(certificate authority,CA),下述内容均以第一服务器为RA为例进行示例性说明;第二服务器为云端服务器,第一请求消息和第一响应分别为证书请求消息和证书请求响应消息,第二请求消息和第二响应消息分别为度量请求消息和度量请求响应消息,第一结果和第二结果分别为第一代码度量结果和第二代码度量结果为例进行描述的。
步骤300:终端设备向RA发送证书请求消息,该证书请求消息中包括终端设备软件在启动时生成的第一代码度量结果,该证书请求消息可使用证书管理协议(certificatemanagement protocol)中的证书请求消息格式(certificate request message format),上述第一代码度量结果查可填充于证书请求消息中的扩展字段(extensions)中。其中,该证书请求消息可以使用终端设备预先保证的信任状,如设备证书进行签名。
步骤301:RA验证终端设备的证书请求消息,包括验证该消息携带的签名和终端设备使用的信任状。
其中,当RA对该消息携带的签名和终端设备使用的信任状,验证通过后,可以认为该终端设备的硬件合法,否则认为终端设备的硬件非法。其中,当对终端设备硬件验证通过后,再执行后续步骤,继续验证终端设备软件的合法性。
步骤302:RA向云端服务器发送度量请求消息,该消息中携带有终端设备上报的第一代码度量结果和终端设备软件的标识信息。云端服务器接收到上述度量请求消息时,对终端设备上报的第一代码度量结果进行验证。关于验证过程,可参见上述图2中的描述。
步骤303:云端服务器向RA发送度量请求响应消息,该度量请求响应中包括对第一度量结果验证是否成功的指示信息,或者包括终端设备软件是否合法的指示信息等。
示例的,云端服务器在接收到上述步骤302中的度量请求消息时,可获取度量请求消息中携带的第一代码度量结果。之后,云端服务器还可以获取第二代码度量结果,关于云端服务器获取第二代码度量结果的过程,可参见上述图2所示的流程中,第二服务器获取第二结果的过程。云端服务器可比较第一代码度量结果和第二代码度量结果;若第一代码度量结果与第二代码度量结果相同,则云端服务器认为对第一度量结果验证成功,终端设备软件合法,则在上述步骤303中的度量请求响应消息中携带有验证成功的指示信息,或者携带有终端设备软件合法的指示信息;否则云端服务器认为对第一度量结果验证失败,终端设备软件非法,在上述步骤303中的度量请求响应中携带有验证失败的指示信息,或者携带有终端设备软件非法的指示信息。在一种可能的设计中,可利用二进制比特“0”或“1”指示验证成功或失败,或者终端设备软件合法或非法。例如,用“1”指示终端设备软件合法或对第一度量结果验证成功,用“0”指示终端设备软件非法或对第一度量结果验证失败等。
步骤304:RA基于上述度量请求响应消息中携带的指示信息,确定是否为终端设备颁发证书。例如,当度量请求响应消息中指示对第一度量结果的验证成功,即终端设备软件合法时,则RA可为终端设备颁发第一证书,否则拒绝为终端设备颁发证书。
步骤305:RA向终端设备发送证书请求响应消息,该证书请求响应消息中携带有为终端设备颁发的第一证书,或者RA为终端设备拒绝颁发证书的指示信息等。
需要说明的是,在本申请图3、图5或图7的描述中,RA/CA可具体指RA或CA。其中,RA可负责与终端设备和云端服务器交互,CA负责为终端设备颁发证书。例如,RA可接收来自终端设备的证书请求消息,RA向云端服务器发送度量请求消息,接收来自云端服务器的度量请求响应消息,RA根据度量请求响应消息中携带的第一代码度量结果的验证结果,确定是否为终端设备颁发证书。例如,当上述验证结果成功时,则RA可通知CA为终端设备颁发第一证书。后续,RA可通过上述步骤305中的证书请求响应消息将第一证书通知给终端设备等。或者,在另一种实现方式中,CA可负责与终端设备和云端服务器交互,且CA负责为终端设备颁发证书等,即CA接收来自终端设备的证书请求消息,CA向云端服务器发送度量请求消息,接收来自云端服务器的度量请求响应消息,根据度量请求响应消息中携带的第一代码度量结果的验证结果,CA确定是否为终端设备颁发第一证书等。例如,若第一代码度量结果验证通过,则CA为终端设备颁发第一证书;否则,CA拒绝为终端设备颁发第一证书等。
通过上述可以看出,RA/CA可以根据终端设备软件的代码度量结果,确定是否为终端设备颁发证书。例如,当终端设备软件的代码度量结果通过验证时,RA/CA可以为终端设备颁发证书,否则RA/CA可以拒绝为终端设备颁发证书,从而降低为非法终端设备软件颁发证书的风险。
示例2
如图4所示,提供一种证书申请方法的流程,至少包括:
步骤400:终端设备向第一服务器发送第一请求消息,该第一请求消息中包括第一结果,第一结果用于验证终端设备软件的合法性。
步骤401:第一服务器向第二服务器发送第二请求消息,该第二请求消息中包括终端设备软件的标识信息。该步骤401是可选的。
在一些实施例中,第一服务器在接收到终端设备发送的第一请求消息时,可以获取终端设备软件的标识信息。可选的,上述终端设备软件的标识信息可以携带于上述第一请求消息中,即上述步骤400中的第一请求消息除包括上述第一结果外,还包括终端设备的软件标识。或者,终端设备可以预先将终端设备软件的标识信息通知第一服务器,第一服务器可以在预存的信息中,获取终端设备软件的标识信息。之后,第一服务器向第二服务器发送第二请求消息,该第二请求消息中包括终端设备软件的标识信息。
其中,第二服务器在接收到上述第二请求消息时,可以从第二请求消息获取终端设备软件的标识信息;第二服务器根据终端设备软件的标识信息,查询该终端设备软件的合法结果,即第二结果。具体过程,可参见上述图2所示流程中的记载。
步骤402:第二服务器向第一服务器发送第二响应消息,该第二响应消息中包括终端设备软件的合法结果,即第二结果。该步骤402是可选的。
步骤403:第一服务器向终端设备发送第一响应消息。
在一些实施例中,第一服务器在上述第二响应消息中获取终端设备软件的合法结果,即第二结果时,第一服务器可以比较从第二服务器获取的第二结果和终端设备上报的第一结果;若两者相同,则第一服务器认为终端设备软件合法,为终端设备颁发第一证书,第一响应消息中包括为终端设备颁发的第一证书。可选的,第一响应消息中的第一字段用于指示第一服务器为终端设备颁发证书。或者,若两者不同,则第一服务器认为终端设备软件非法,第一服务器拒绝为终端设备颁发证书,第一响应消息中的第一字段用于指示第一服务器拒绝为终端设备颁发证书等。
与上述类似,上述图4的方案,可以单独使用,验证终端设备软件的合法性;或者,上述图4的方案,可以与验证终端设备硬件合法性的方案相结合使用。
以图4的流程的方案与验证终端设备硬件合法性的方案相结合为例,如图5所示,提供一种流程,至少包括:
步骤500:终端设备向RA发送证书请求消息,该证书请求消息中包括终端设备软件在启动时生成的第一代码度量结果。可选的,该证书请求消息可以使用终端设备预先保存的信任状,如设备证书进行签名。
步骤501:RA验证终端设备的证书请求消息,包括验证该消息携带的签名和终端设备使用的信任状等。
其中,当RA对该消息携带的签名和终端设备使用的信任状,验证通过后,可以认为该终端设备的硬件合法等,继续执行后续步骤。否则,认为该终端设备的硬件非法,拒绝为终端设备颁发证书。
步骤502:RA向云端服务器发送度量请求消息,该度量请求消息中包括终端设备软件的标识信息。
在一些实施例中,云端服务器在接收到上述度量请求消息时,可在所述度量请求消息中获取终端设备软件的标识信息,根据终端设备软件的标识信息,获取终端设备软件的合法度量结果,即第二度量结果。关于具体的过程,可参见上述实施例一的记载。
步骤503:云端服务器向RA发送度量请求响应消息,该度量请求响应消息中包括第二度量结果。
步骤504:RA比较终端设备上报的第一度量结果和从云端服务器获取的第二度量结果是否一致;如果一致,则认为终端设备软件合法,RA为终端设备颁发第一证书;否则,RA认为终端设备软件非法,拒绝为终端设备颁发证书。
步骤505:RA向终端设备发送证书请求响应消息,该证书请求响应消息中可包括为终端设备颁发的第一证书,或者,包括第一字段,第一字段用于指示RA拒绝为终端设备颁发证书。
通过上述方法,RA可根据终端设备软件代码的度量结果为终端设备颁发第一证书,降低为安装有非法软件的终端设备颁发证书。进一步的,通过上述描述可以看出,RA向云端服务器申请第二代码度量结果,RA根据第二代码度量结果,对终端设备上报的第一代码度量结果进行认证。因此,针对同一设备的多次认证,RA仅需向云端服务器申请一次代码度量结果即可,后续可多次进行认证,节省信令开销。
举例来说,终端设备A启动软件,生成第一代码度量结果,终端设备A第一次向RA申请证书的过程包括,终端设备A向RA发送包括第一代码度量结果的证书请求消息,RA在接收到上述证书请求消息时,可向云端服务器请求该终端设备A软件标识对应的合法度量结果,即第二度量结果;RA可以比较上述从云端服务器获取的第二度量结果,与终端设备A上报的第一度量结果;若两者相同,则为终端设备A颁发证书,否则拒绝为终端设备A颁发证书。后续,终端设备A的软件重新启动,生成第三度量结果;终端设备A第二次向RA申请证书的过程包括,终端设备A向RA发送携带第三度量结果的证书请求消息。RA在接收到上述证书请求消息时,可以比较终端设备上报的第三度量结果与上述第一次证书申请过程中从云端服务器获取的第二度量结果;若两者相同,为终端设备A颁发证书,否则,拒绝为终端设备A颁发证书。也就是说,采用上述示例2的方式,针对同一设备,RA仅需向云端服务器请求一次合法的度量结果即可,在该设备的后续申请过程中,RA可直接利用该合法的度量结果,无需重复向云端服务器申请,从而节省信令开销。可以理解的,上述RA仅为示例,也提议替换为CA,本申请实施例对此不作限定。
实施例二
该实施例二提供一种证书申请方法,该方法包括:
终端设备向第一服务器发送第一请求消息,该第一请求消息中包括终端设备软件的标识信息。对应的,第一服务器接收来自终端设备的第一请求消息。
可选的,第一服务器在接收到上述第一请求消息时,向第二服务器发送第二请求消息,该第二请求消息中可包括终端设备软件的标识信息。相应的,第二服务器可接收来自第一服务器的第二请求消息,第二服务器根据第二请求消息中包括的终端设备软件的标识信息,确定终端设备软件的合法结果,即第二结果。或者描述为,第二结果是根据终端设备软件的标识信息所确定的。第二服务器向第一服务器发送第二响应消息,该第二响应消息中包括第二结果。相应的,第一服务器接收来自第二服务器的第二响应消息。
第一服务器向终端设备发送第一响应消息,该第一响应消息中包括第一服务器为终端设备颁发的第一证书,第一证书为通过第二结果加密的。相应的,终端设备接收来自第一服务器的第一响应消息。
由于只有合法的终端设备软件,才可以获取到上述合法的第二结果,即只有合法的终端设备软件,才可以解密上述第一证书。对于非法的终端设备软件,由于无法获取到合法的第二结果,无法对上述第一证书解密,从而可降低非法的终端设备获取到合法证书的风险。
如图6所示,提供一种证书申请方法的流程,至少包括:
步骤600:终端设备向第一服务器发送第一请求消息,可选的,该第一请求消息中可包括终端设备软件的标识信息。
步骤601:第一服务器向第二服务器发送第二请求消息,该第二请求消息中包括终端设备软件的标识信息。上述步骤601是可选的。
其中,第一服务器在接收到上述第一请求消息时,第一请求消息可以作为触发条件,触发第一服务器向第二服务器发送第二请求消息。在一种可能的实现方式中,第一服务器在接收到第一请求消息时,可在第一请求消息中获取终端设备软件的标识信息;或者,第一服务器可以在预先存储的信息中,确定终端设备软件的标识信息等,具体过程,可参见上述实施例一中的描述。之后,第一服务器根据终端设备软件的标识信息,生成第二请求消息,该第二请求消息中可包括终端设备软件的标识信息。对应的,第二服务器在接收到上述第二请求消息时,可在第二请求消息中获取终端设备软件的标识信息,根据终端设备软件的标识信息,获取终端设备软件的合法结果,即第二结果,第二服务器获取第二结果的过程与参见上述实施例一中的相关描述。
步骤602:第二服务器向第一服务器发送第二响应消息,该第二响应消息中包括第二结果。该步骤602是可选的。
步骤603:第一服务器向终端设备发送第一响应消息,该第一响应消息中包括第一服务器为终端设备颁发的第一证书,第一证书是通过第二结果加密的。
在一些实施例中,终端设备在接收到第一响应消息时,可在第一响应消息中,获取第一服务器为其颁发的第一证书。终端设备获取软件在启动时生成的第一结果,根据第一结果,对第一证书进行解密。需要说明的是,由于上述第一证书中通过合法的第二结果加密的。在终端设备软件合法的情况下,终端设备软件在启动时生成的第一结果,与第二结果相同,终端设备可成功对第一证书解密。或者,在终端设备软件非法的情况下,终端设备软件在启动时生成的第一结果,与第二结果不同,终端设备对第一证书解密失败。
通过上述可以看出,只有合法的终端设备软件,才能成功解密第一服务器为其颁发的第一证书,从而降低了非法终端设备软件获取合法证书的风险。
与上述类似,上述图6提供的方案,可以单独使用,验证终端设备软件的合法性,或者,可与硬件验证的方案相结合使用。如图7所示,提供一种与硬件验证相结合使用的流程,至少包括:
步骤700:终端设备向RA发送证书请求消息,该证书请求消息可以使用终端设备预先保证的信任状,如设备证书进行签名。
步骤701:RA验证终端设备的证书请求消息,包括验证该消息携带的签名和终端设备使用的信任状。
其中,当RA对该消息携带的签名和终端设备使用的信任状,验证通过后,可以认为该终端设备的硬件合法,继续执行后续的验证过程;否则,认为终端设备的硬件非法,拒绝为终端设备颁发证书。
步骤702:RA向云端服务器发送度量请求消息,该度量请求消息中包括终端设备软件的标识信息。
在一些实施例中,上述步骤700中的证书请求消息中可包括终端设备软件的标识信息,RA可以在上述证书请求消息中获取终端设备软件的标识信息,或者,RA可以在预存储的信息中,获取终端设备软件的标识信息。之后,RA向云端服务器发送度量请求消息,该度量请求消息中包括终端设备软件的标识信息。
相应的,云端服务器在接收到度量请求消息时,可从中获取终端设备软件的标识信息,根据终端设备软件的标识信息,获取第二度量结果。关于具体的过程,可见上述实施例一中的相关描述。
步骤703:云端服务器向RA发送度量请求响应消息,该度量请求响应消息中包括第二度量结果。
步骤704:RA为终端设备颁发第一证书,同时基于从云端服务器收到的软件代码度量结果,即第二度量结果对所颁发的第一证书进行加密。
步骤705:RA向终端设备发送证书请求响应消息,该消息中包括已经被加密的第一证书。
由于只有合法的终端设备软件在启动时,才可以获取合法的第二代码度量结果;对于非法的终端设备软件无法获取上述第二代码度量结果,即非法终端设备软件无法解密出RA颁发的第一证书,从而降低非法终端设备软件获取合法证书的风险。
针对上述实施例一和实施例二,需要说明的是:
1、上文侧重描述了实施例一和实施例二的区别之处,除区别之外的其它内容,实施例一和实施例二可相互参见。
2、实施例一和实施例二所描述的各个流程图中所示意的步骤并非全部是必须执行的步骤,可以根据实际需要在各个流程图的基础上增添或删除部分步骤,比如,上述步骤201和步骤202等可以选择性执行等。
3、在上述实施例一和实施例二描述中,是以第一服务器和第二服务器为不同的服务器,为例进行描述的。在一种可能的方式中,第一服务器和第二服务器可以为相同的服务器,上述实施例中的第一服务器和第二服务器间的交互可以为服务器内部的交互。例如,在一些实施例中,上述第一服务器和第二服务器可均为终端设备上传或下载地图数据的云端服务器,例如,测绘部门中存储地图数据的服务器等。那么一种可能的方案可以为:终端设备向第一服务器发送第一请求消息,该第一请求消息中包括第一结果和/或终端设备软件的标识信息等。第一服务器根据终端设备软件的标识信息,获取终端设备软件的合法结果,即第二结果。第一服务器比较第一结果和第二结果;若两者相同,则第一服务器为终端设备颁发第一证书,否则第一服务器拒绝为终端设备颁发第一证书。第一服务器可向终端设备发送第一响应消息,该第一响应消息中包括第一服务器为终端设备颁发的第一证书同,或者包括用于指示所述第一服务器拒绝为所述终端设备颁发证书的指示信息等,对应于上述实施例一的方案。或者,第一服务器在接收到第一请求消息时,可获取第二结果;第一服务器为终端设备颁发第一证书,利用第二结果对第一证书加密。第一服务器向终端设备发送第一响应消息,该第一响应消息中包括加密的第一证书等,对应于上述实施例二的方案。
4、在某个消息中携带一个信息的方式,通常为在该消息中的某一个字段或负载(payload)中携带该信息。在上述实施例一或实施例二的描述中,有些描述为,在一消息中携带某些信息,例如,在第一请求消息中携带第一结果。在另一些描述中描述为,在一消息中包括某个字段,该字段携带某些信息。例如,第一响应消息中可包括第一字段,该第一字段用于指示拒绝为终端设备颁发证书等。上述两种描述可以替换,比如,在第一请求消息中携带第一结果,还可以替换为:在第一请求消息中包括某个字段,该字段中包括第一结果等。或者,上述第一响应消息中包括第一字段,该第一字段用于指示拒绝为终端设备颁发证书等,还可以描述为:第一响应消息包括拒绝为终端设备颁发证书的指示信息等。当然,本领域技术公知,除了在某个消息的字段中携带信息,还可以在负载中携带信息等,因此,在上述实施例一和实施例二的相关描述中,在某个消息或某个消息的字段中携带信息,还可以替换为,在某个消息的负载中携带相关的信息。例如,在上述实施例一或实施例二的描述中,第一响应消息包括第一服务器为终端设备颁发的第一证书,还可以替换为:第一响应消息的负载中包括第一证书等。
5、在上述实施例一和实施例二的描述中,采用了以下几种描述:终端设备软件,终端设备中的软件,或终端设备安装的软件等。本领域技术人员公知,终端设备由硬件和软件组件,软件可以为终端设备在出厂时预装的,或者后期由用户自行安装等。在本申请实施例中,无论采用上述哪种描述,均是指终端设备中安装的软件,该软件可以为终端设备在出厂时自带的,或者用户后期自行安装的等,不作限定。
6、在上述实施例一或实施例二中,终端设备可以为车载终端,该车载终端上可以安装有通信盒子(telematics box,T-Box)、或地图采集盒子等。关于T-Box,也称车载信息盒,主要用于提供车与互联网信息的交互,可以用于提供定位、通信和诊断等功能。T-Box的核心组件可包括微控制单元、基带子系统和天线等。在一种场景下,T-BOX可与升级服务器连接,实现车载终端的软固件升级。在本申请实施例中,车载终端可具体利用T-Box向云端服务器上传或下载地图数据。在上述实施例一和实施例二的描述中,与第一服务器和第二服务器交互的终端设备可以具体为T-Box,终端设备中的软件可具体为T-Box中的软件,也就是说在本申请实施例中,验证的可以为T-Box软件是否合法等。或者,在另一种场景中,地图采集盒子可以安装在车载终端中,地图采集盒子可以采集车载终端沿途经过的地图数据,然后上传到云端服务器中。在地图采集盒子向云端服务器上传地图数据的过程中,云端服务器与地图采集盒子需要双向认证。地图采集盒子可以采用上述实施例一或实施例二中记载的方案,向第一服务器申请证书。也就是说,在该场景下,上述实施例一或实施例二中的终端设备可以为地图采集盒子,终端设备中的软件可以具体为地图采集盒子中的软件,也就是说在本申请实施例中,验证的可以为地图采集盒子软件是否合法等。除此之外,车载终端中还可以安装有多域控制器(multi domain controller,MDC),该MDC可以控制车载终端向云端服务器上传或下载地图等,上述实施例一或实施例二中的方案,可以验证MDC中软件的合法性。当然上述示例性说明,并不作为对本申请的限定。通过上述图1的介绍可知,车载终端中包括多个组件,上述任一个组件如果有与第二服务器,即与云端服务器有交互的需求,均可以向第一服务器,即RA/CA申请证书,采用上述实施例一或实施例二的方案,可用于验证对应组件中软件的合法性等,从而避免为非法软件颁发证书的风险。
以上结合图1至图7详细说明了本申请实施例提供的方法,以下结合图8和图9详细说明本申请实施例提供的装置。应理解,装置实施例的描述与方法实施例的描述相互对应。因此,未详细描述的内容可参见上文方法实施例中的描述。
图8示出了本申请实施例所涉及的装置的可能的框图。如图8所示,装置800可以包括:通信单元801用于支持装置与其他设备的通信。可选的,通信单元801也称为收发单元,可以包括接收单元和/或发送单元,分别用于执行接收和发送操作。处理单元802用于支持装置进行处理。
在第一个实施例中,上述装置800可以为终端设备或终端设备中的芯片或电路。通信单元801用于执行上文方法实施例一中终端设备的收发相关操作;处理单元802用于执行上文方法实施例一中终端设备的处理相关操作。
例如,通信单元801,用于向第一服务器发送第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;通信单元801,还用于接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。
在一种可能的设计中,当所述第一字段用于指示所述第一服务器为所述终端设备颁发证书时,所述第一响应消息中还包括所述第一服务器为所述终端设备颁发的第一证书。
在第二个实施例中,上述装置800可以为第一服务器或第一服务器中的芯片或电路。通信单元801用于执行上文方法实施例一中第一服务器的收发相关操作;处理单元802用于执行上文方法实施例一中第一服务器的处理相关操作。
例如,通信单元801,用于接收来自终端设备的第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;通信单元801,还用于向所述终端设备发送第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果所确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。
在一种可能的设计中,当所述第一字段用于指示所述第一服务器为所述终端设备颁发证书时,所述第一响应消息中还包括所述第一服务器为所述终端设备颁发的第一证书。
在一种可能的设计中,通信单元801,还用于向第二服务器发送第二请求消息,所述第二请求消息中包括第一结果和所述终端设备软件的标识信息;通信单元801,还用于接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括第二字段,所述第二字段是根据所述第一结果和所述终端设备软件的标识信息所确定的,所述第二字段用于指示所述终端设备软件合法,或者用于指示所述终端设备软件非法。
在一种可能的设计中,当所述第二字段用于指示所述终端设备软件合法时,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书;或者,当所述第二字段用于指示所述终端设备软件非法时,所述第一字段用于指示所述第一服务器拒绝为所述终端设备颁发证书。
在一种可能的设计中,通信单元801,还用于向第二服务器发送第二请求消息,所述第二请求消息中包括所述终端设备软件的标识信息;通信单元801,还用于接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括第二结果,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
在一种可能的设计中,当所述第一结果与所述第二结果相同时,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书;或者,当所述第一结果与所述第二结果不同时,所述第一字段用于指示所述第一服务器拒绝为所述终端设备颁发证书。
在第三个实施例中,上述装置800可以为第二服务器或第二服务器中的芯片或电路。通信单元801用于执行上文方法实施例一中第二服务器的收发相关操作;处理单元802用于执行上文方法实施例一中第二服务器的处理相关操作。
例如,通信单元801,用于接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息和/或第一结果,所述第一结果用于验证所述终端设备软件的合法性;通信单元801,还用于向所述第一服务器发送第二响应消息,所述第二响应消息是根据所述终端设备软件的标识信息和/或第一结果确定的。
在一种可能的设计中,当所述第二请求消息中包括所述终端设备软件的标识信息和第一结果时,所述装置还包括:处理单元802,用于根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;处理单元802,还用于根据所述第一结果和第二结果,确定第二字段,所述第二字段携带于所述第二响应消息中。
在一种可能的设计中,当所述第一结果与所述第二结果相同时,所述第二字段用于指示所述终端设备软件合法;或者,当所述第一结果与所述第二结果不同时,所述第二字段用于指示所述终端设备软件非法。
在一种可能的设计中,当所述第二请求消息中包括所述终端设备软件的标识信息时,处理单元802,用于根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果,所述第二结果携带于所述第二响应消息中。
在第四个实施例中,上述装置800可以为终端设备或终端设备中的芯片或电路。通信单元801用于执行上文方法实施例二中终端设备的收发相关操作;处理单元802用于执行上文方法实施例二中终端设备的处理相关操作。
例如,通信单元801,用于向第一服务器发送第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;通信单元801,还用于接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
在第五个实施例中,上述装置800可以为第一服务器或第一服务器中的芯片或电路。通信单元801用于执行上文方法实施例二中第一服务器的收发相关操作;处理单元802用于执行上文方法实施例二中第一服务器的处理相关操作。
例如,通信单元801,用于接收来自终端设备的第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;通信单元801,还用于向所述终端设备发送第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
在一种可能的设计中,通信单元801,还用于向第二服务器发送第二请求消息,所述第二请求消息中包括所述终端设备软件的标识信息;通信单元801,还用于接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括所述第二结果。
在第六个实施例中,上述装置800可以为第二服务器或第二服务器中的芯片或电路。通信单元801用于执行上文方法实施例二中第二服务器的收发相关操作;处理单元802用于执行上文方法实施例二中第二服务器的处理相关操作。
例如,通信单元801,用于接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息;处理单元802,用于根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;通信单元801,还用于向所述第一服务器发送第二响应消息,所述第二响应消息中包括所述第二结果。
应理解,以上装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上任一装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integratedcircuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是处理器,比如通用中央处理器(central processing unit,CPU),或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
可以理解的是,上述实施例中的通信单元的功能可以由收发器实现,处理单元的功能可以由处理器实现。收发器可以包括发射器和/或接收器,分别用于实现发送单元和/或接收单元的功能。下面结合图9举例进行说明。
图9所示的通信装置900包括至少一个处理器901。通信装置900还可以包括至少一个存储器902,用于存储程序指令和/或数据。存储器902和处理器901耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性、机械性或其它的形式,用于装置、单元或模块之间的信息交互。处理器901可以和存储器902协同操作,处理器901可以执行存储器902中存储的程序指令,所述至少一个存储器902中的至少一个可以包括于处理器901中。
装置900还可以包括通信接口903,用于通过传输介质和其它设备进行通信,从而用于通信装置900可以和其它设备进行通信。在本申请实施例中,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。在本申请实施例中,通信接口为收发器时,收发器可以包括独立的接收器、独立的发射器;也可以集成收发功能的收发器、或者是接口电路。
应理解,本申请实施例中不限定上述处理器901、存储器902以及通信接口903之间的连接介质。本申请实施例在图9中以存储器902、处理器901以及通信接口903之间通过通信总线904连接,总线在图9中以粗线表示,其它部件之间的连接方式,仅是示意性说明,并不作为限定。所述总线可以包括地址总线、数据总线、控制总线等。为了便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线等。
在第一个实施例中,上述装置900可以为上文方法实施例一中的终端设备,该装置900的处理器901用于读取存储器902中存储的计算机程序,以执行以下操作:向第一服务器发送第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。具体的过程,可参见上述方法实施例一中终端设备侧的描述。
在第二个实施例中,上述装置900可以为上文方法实施例一中的第一服务器,该装置900的处理器901用于读取存储器902中存储的计算机程序,以执行以下操作:接收来自终端设备的第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;向所述终端设备发送第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果所确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。具体的过程,可参见上述方法实施例一中第一服务器相关的描述。
在第三个实施例中,上述装置900可以为上文方法实施例一中的第二服务器,该装置900的处理器901用于读取存储器902中存储的计算机程序,以执行以下操作:接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息和/或第一结果,所述第一结果用于验证所述终端设备软件的合法性;向所述第一服务器发送第二响应消息,所述第二响应消息是根据所述终端设备软件的标识信息和/或第一结果确定的。具体的过程,可参见上述方法实施例一中第二服务器相关的描述。
在第四个实施例中,上述装置900可以为上文方法实施例二中的终端设备,该装置900的处理器901用于读取存储器902中存储的计算机程序,以执行以下操作:向第一服务器发送第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。具体的过程,可参见上述方法实施例二中终端设备相关的描述。
在第五个实施例中,上述装置900可以为上文方法实施例二中的第一服务器,该装置900的处理器901用于读取存储器902中存储的计算机程序,以执行以下操作:接收来自终端设备的第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;向所述终端设备发送第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。具体的过程,可参见上述方法实施例二中第一服务器相关的描述。
在第六个实施例中,上述装置900可以为上文方法实施例二中的第二服务器,该装置900的处理器901用于读取存储器902中存储的计算机程序,以执行以下操作:接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息;根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;向所述第一服务器发送第二响应消息,所述第二响应消息中包括所述第二结果。具体的过程,可参见上述方法实施例二中第二服务器相关的描述。
本申请实施例还提供一种终端,所述终端可以为智能座舱设备、车辆、地图采盒集子、MDC或T-Box等。可以理解的是,本申请提供的证书认证方案,除自动驾驶领域外,还可以应用于其它需要进行证书认证的领域。例如,所述终端还可以是无人机、机器人、智能家居场景中的设备,或智能制造中的设备等。
一种计算机可读存储介质,包括程序,当所述程序被处理器运行时,上文方法实施例中的方法被执行。
一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机实现上文方法实施例中的方法。
一种芯片,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得装置执行上文方法实施例中的方法。
一种芯片系统,该芯片系统包括至少一个处理器和接口电路。进一步可选的,所述芯片系统还可以包括存储器或者外接存储器。所述处理器用于通过所述接口电路执行指令和/或数据的交互,以实现上文方法实施例中的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
一种系统,包括上文实施例中的终端设备、第一服务器和第二服务器,或者上文实施例中实现终端设备功能的装置,实现第一服务器功能的装置和实现第二服务器功能的装置。
需要说明的是,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (34)

1.一种证书申请方法,其特征在于,包括:
终端设备向第一服务器发送第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;
所述终端设备接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。
2.如权利要求1所述的方法,其特征在于,当所述第一字段用于指示所述第一服务器为所述终端设备颁发证书时,所述第一响应消息中还包括所述第一服务器为所述终端设备颁发的第一证书。
3.一种证书申请方法,其特征在于,包括:
第一服务器接收来自终端设备的第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;
所述第一服务器向所述终端设备发送第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果所确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。
4.如权利要求3所述的方法,其特征在于,当所述第一字段用于指示所述第一服务器为所述终端设备颁发证书时,所述第一响应消息中还包括所述第一服务器为所述终端设备颁发的第一证书。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
所述第一服务器向第二服务器发送第二请求消息,所述第二请求消息中包括所述第一结果和所述终端设备软件的标识信息;
所述第一服务器接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括第二字段,所述第二字段是根据所述第一结果和所述终端设备软件的标识信息所确定的,所述第二字段用于指示所述终端设备软件合法,或者用于指示所述终端设备软件非法。
6.如权利要求5所述的方法,其特征在于,
当所述第二字段用于指示所述终端设备软件合法时,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书;或者,
当所述第二字段用于指示所述终端设备软件非法时,所述第一字段用于指示所述第一服务器拒绝为所述终端设备颁发证书。
7.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
所述第一服务器向第二服务器发送第二请求消息,所述第二请求消息中包括所述终端设备软件的标识信息;
所述第一服务器接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括第二结果,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
8.如权利要求7所述的方法,其特征在于,
当所述第一结果与所述第二结果相同时,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书;或者,
当所述第一结果与所述第二结果不同时,所述第一字段用于指示所述第一服务器拒绝为所述终端设备颁发证书。
9.一种证书申请方法,其特征在于,包括:
第二服务器接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息和/或第一结果,所述第一结果用于验证所述终端设备软件的合法性;
所述第二服务器向所述第一服务器发送第二响应消息,所述第二响应消息是根据所述终端设备软件的标识信息和/或第一结果确定的。
10.如权利要求9所述的方法,其特征在于,当所述第二请求消息中包括所述终端设备软件的标识信息和第一结果时,所述方法还包括:
所述第二服务器根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;
所述第二服务器根据所述第一结果和第二结果,确定第二字段,所述第二字段携带于所述第二响应消息中。
11.如权利要求10所述的方法,其特征在于,
当所述第一结果与所述第二结果相同时,所述第二字段用于指示所述终端设备软件合法;或者,
当所述第一结果与所述第二结果不同时,所述第二字段用于指示所述终端设备软件非法。
12.如权利要求9所述的方法,其特征在于,当所述第二请求消息中包括所述终端设备软件的标识信息时,所述方法还包括:
所述第二服务器根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果,所述第二结果携带于所述第二响应消息中。
13.一种证书申请方法,其特征在于,包括:
终端设备向第一服务器发送第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;
所述终端设备接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
14.一种证书申请方法,其特征在于,包括:
第一服务器接收来自终端设备的第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;
所述第一服务器向所述终端设备发送第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
15.如权利要求14所述的方法,其特征在于,所述方法还包括:
所述第一服务器向第二服务器发送第二请求消息,所述第二请求消息中包括所述终端设备软件的标识信息;
所述第一服务器接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括所述第二结果。
16.一种证书申请方法,其特征在于,包括:
第二服务器接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息;
所述第二服务器根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;
所述第二服务器向所述第一服务器发送第二响应消息,所述第二响应消息中包括所述第二结果。
17.一种证书申请装置,其特征在于,包括:
通信单元,用于向第一服务器发送第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;
所述通信单元,还用于接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。
18.如权利要求17所述的装置,其特征在于,当所述第一字段用于指示所述第一服务器为所述终端设备颁发证书时,所述第一响应消息中还包括所述第一服务器为所述终端设备颁发的第一证书。
19.一种证书申请装置,其特征在于,包括:
通信单元,用于接收来自终端设备的第一请求消息,所述第一请求消息中包括第一结果,所述第一结果用于验证所述终端设备软件的合法性;
所述通信单元,还用于向所述终端设备发送第一响应消息,所述第一响应消息中包括第一字段,所述第一字段是根据所述第一结果所确定的,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书,或者用于指示所述第一服务器拒绝为所述终端设备颁发证书。
20.如权利要求19所述的装置,其特征在于,当所述第一字段用于指示所述第一服务器为所述终端设备颁发证书时,所述第一响应消息中还包括所述第一服务器为所述终端设备颁发的第一证书。
21.如权利要求19或20所述的装置,其特征在于,
所述通信单元,还用于向第二服务器发送第二请求消息,所述第二请求消息中包括第一结果和所述终端设备软件的标识信息;
所述通信单元,还用于接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括第二字段,所述第二字段是根据所述第一结果和所述终端设备软件的标识信息所确定的,所述第二字段用于指示所述终端设备软件合法,或者用于指示所述终端设备软件非法。
22.如权利要求21所述的装置,其特征在于,
当所述第二字段用于指示所述终端设备软件合法时,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书;或者,
当所述第二字段用于指示所述终端设备软件非法时,所述第一字段用于指示所述第一服务器拒绝为所述终端设备颁发证书。
23.如权利要求19或20所述的装置,其特征在于,
所述通信单元,还用于向第二服务器发送第二请求消息,所述第二请求消息中包括所述终端设备软件的标识信息;
所述通信单元,还用于接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括第二结果,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
24.如权利要求23所述的装置,其特征在于,
当所述第一结果与所述第二结果相同时,所述第一字段用于指示所述第一服务器为所述终端设备颁发证书;或者,
当所述第一结果与所述第二结果不同时,所述第一字段用于指示所述第一服务器拒绝为所述终端设备颁发证书。
25.一种证书申请装置,其特征在于,包括:
通信单元,用于接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息和/或第一结果,所述第一结果用于验证所述终端设备软件的合法性;
所述通信单元,还用于向所述第一服务器发送第二响应消息,所述第二响应消息是根据所述终端设备软件的标识信息和/或第一结果确定的。
26.如权利要求25所述的装置,其特征在于,当所述第二请求消息中包括所述终端设备软件的标识信息和第一结果时,所述装置还包括:
处理单元,用于根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;
所述处理单元,还用于根据所述第一结果和第二结果,确定第二字段,所述第二字段携带于所述第二响应消息中。
27.如权利要求26所述的装置,其特征在于,
当所述第一结果与所述第二结果相同时,所述第二字段用于指示所述终端设备软件合法;或者,
当所述第一结果与所述第二结果不同时,所述第二字段用于指示所述终端设备软件非法。
28.如权利要求25所述的装置,其特征在于,当所述第二请求消息中包括所述终端设备软件的标识信息时,所述装置还包括:
处理单元,用于根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果,所述第二结果携带于所述第二响应消息中。
29.一种证书申请装置,其特征在于,包括:
通信单元,用于向第一服务器发送第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;
所述通信单元,还用于接收来自所述第一服务器的第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
30.一种证书申请装置,其特征在于,包括:
通信单元,用于接收来自终端设备的第一请求消息,所述第一请求消息中包括所述终端设备软件的标识信息;
所述通信单元,还用于向所述终端设备发送第一响应消息,所述第一响应消息中包括所述第一服务器为所述终端设备颁发的第一证书,所述第一证书为通过第二结果加密的,所述第二结果是根据所述终端设备软件的标识信息所确定的,所述第二结果为所述终端设备软件的合法结果。
31.如权利要求30所述的装置,其特征在于,
所述通信单元,还用于向第二服务器发送第二请求消息,所述第二请求消息中包括所述终端设备软件的标识信息;
所述通信单元,还用于接收来自所述第二服务器的第二响应消息,所述第二响应消息中包括所述第二结果。
32.一种证书申请装置,其特征在于,包括:
通信单元,用于接收来自第一服务器的第二请求消息,所述第二请求消息中包括终端设备软件的标识信息;
处理单元,用于根据所述终端设备软件的标识信息,确定第二结果,所述第二结果为所述终端设备软件的合法结果;
所述通信单元,还用于向所述第一服务器发送第二响应消息,所述第二响应消息中包括所述第二结果。
33.一种证书申请装置,其特征在于,包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的计算机程序,实现如权利要求1或2所述的方法,或者权利要求3至8中任一项所述的方法,或者权利要求9至12中任一项所述的方法,或者权利要求13所述的方法,或者权利要求14或15所述的方法,或者权利要求16所述的方法。
34.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在证书申请装置上运行时,使得所述证书申请装置执行如权利要求1或2所述的方法,或者权利要求3至8中任一项所述的方法,或者权利要求9至12中任一项所述的方法,或者权利要求13所述的方法,或者权利要求14或15所述的方法,或者权利要求16所述的方法。
CN202180000786.5A 2021-03-08 2021-03-08 一种证书申请方法及装置 Active CN112956156B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/079587 WO2022188006A1 (zh) 2021-03-08 2021-03-08 一种证书申请方法及装置

Publications (2)

Publication Number Publication Date
CN112956156A true CN112956156A (zh) 2021-06-11
CN112956156B CN112956156B (zh) 2023-05-02

Family

ID=76233930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180000786.5A Active CN112956156B (zh) 2021-03-08 2021-03-08 一种证书申请方法及装置

Country Status (2)

Country Link
CN (1) CN112956156B (zh)
WO (1) WO2022188006A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198825A1 (en) * 2006-02-22 2007-08-23 Schwarz Henry S Internet secure terminal for personal computers
WO2014026518A1 (zh) * 2012-08-17 2014-02-20 华为技术有限公司 软件密钥更新方法和装置
CN103685138A (zh) * 2012-08-30 2014-03-26 卓望数码技术(深圳)有限公司 移动互联网上的Android平台应用软件的认证方法和系统
CN104486322A (zh) * 2014-12-10 2015-04-01 武汉光谷信息技术股份有限公司 终端接入认证授权方法及终端接入认证授权系统
CN105792201A (zh) * 2014-09-24 2016-07-20 现代自动车株式会社 颁发用于车辆对外界通信的csr证书的方法和系统
CN107786344A (zh) * 2017-10-30 2018-03-09 阿里巴巴集团控股有限公司 数字证书申请、使用的实现方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103107996B (zh) * 2013-02-07 2016-05-25 北京中视广信科技有限公司 数字证书在线下载方法及系统、数字证书发放平台
CN111447245A (zh) * 2020-05-27 2020-07-24 杭州海康威视数字技术股份有限公司 一种认证方法、装置、电子设备和服务端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198825A1 (en) * 2006-02-22 2007-08-23 Schwarz Henry S Internet secure terminal for personal computers
WO2014026518A1 (zh) * 2012-08-17 2014-02-20 华为技术有限公司 软件密钥更新方法和装置
CN103685138A (zh) * 2012-08-30 2014-03-26 卓望数码技术(深圳)有限公司 移动互联网上的Android平台应用软件的认证方法和系统
CN105792201A (zh) * 2014-09-24 2016-07-20 现代自动车株式会社 颁发用于车辆对外界通信的csr证书的方法和系统
CN104486322A (zh) * 2014-12-10 2015-04-01 武汉光谷信息技术股份有限公司 终端接入认证授权方法及终端接入认证授权系统
CN107786344A (zh) * 2017-10-30 2018-03-09 阿里巴巴集团控股有限公司 数字证书申请、使用的实现方法和装置

Also Published As

Publication number Publication date
WO2022188006A1 (zh) 2022-09-15
CN112956156B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
US11597393B2 (en) Systems, methods, and devices for driving control
US11966747B2 (en) Secure start system for an autonomous vehicle
WO2018136390A1 (en) Real-time network vulnerability analysis and patching
US10185323B2 (en) System and method to reduce vehicle resource depletion risk
CN114513543B (zh) 运载工具中的装置所进行的方法、系统和运载工具
US10140468B2 (en) Secure start system for an autonomous vehicle
US20210362727A1 (en) Shared vehicle management device and management method for shared vehicle
CN113170003A (zh) 一种通过空中下载ota技术获取文件的方法及相关设备
US20220256333A1 (en) Method and System for Protecting Proprietary Information Used to Determine a Misbehavior Condition for Vehicle-to-Everything (V2X) Reporting
CN112956156B (zh) 一种证书申请方法及装置
CN110745142A (zh) 车辆的控制方法、装置及车辆
US20220274593A1 (en) Transport-related object avoidance
US11513488B2 (en) Controlling power of electronic devices on a vehicle
EP4292315A1 (en) Method and system for protecting proprietary information used to determine a misbehavior condition for vehicle-to-everything (v2x) reporting
CN114827108B (zh) 车辆升级方法、装置、存储介质、芯片及车辆
US20210021571A1 (en) Vehicular firewall provision device
US20230211782A1 (en) Corrective actions for unsafe transports
US11555466B1 (en) Minimal route determination
US20230384478A1 (en) In-cabin occupant detection
US11897450B2 (en) Transport slope management
US20230199450A1 (en) Autonomous Vehicle Communication Gateway Architecture
US20230322110A1 (en) Multiple vehicles to provide energy to a location
US20240177601A1 (en) Determining a corrective action to alter a driving behavior of a vehicle
US20240059184A1 (en) Balancing battery capacity in a group of vehicles
US20220332338A1 (en) Modification of transport functionality based on modified components

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant