CN116633531A - 针对车辆的安全通信方法、相关装置及通信系统 - Google Patents

针对车辆的安全通信方法、相关装置及通信系统 Download PDF

Info

Publication number
CN116633531A
CN116633531A CN202210751865.6A CN202210751865A CN116633531A CN 116633531 A CN116633531 A CN 116633531A CN 202210751865 A CN202210751865 A CN 202210751865A CN 116633531 A CN116633531 A CN 116633531A
Authority
CN
China
Prior art keywords
vehicle
vehicle control
control device
key
data
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
Application number
CN202210751865.6A
Other languages
English (en)
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
Priority to PCT/CN2023/074973 priority Critical patent/WO2023151582A1/zh
Publication of CN116633531A publication Critical patent/CN116633531A/zh
Pending legal-status Critical Current

Links

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本申请公开了针对车辆的安全通信方法、相关装置及通信系统。车控设备和车辆使用只有双方知晓的密钥对需要发送给对端设备的数据进行加密,将加密后的数据发送给对端设备,对端设备接收到加密后的数据后,使用该密钥解密数据。实施该技术方案,相当于在车控设备和车辆之间建立了点对点的安全通道,能够保证双方交互的数据只有该车控设备和该车辆能够获取到,避免双方的交互数据被第三方获取、篡改或伪造,可以保障车辆及车控设备双方的信息安全,提高车辆的安全性。

Description

针对车辆的安全通信方法、相关装置及通信系统
技术领域
本申请涉及通信技术领域,尤其涉及针对车辆的安全通信方法、相关装置及通信系统。
背景技术
随着车辆功能及网络通信功能的增强,车控设备如手机、智能手表、车辆故障诊断终端等可以通过网络和车辆远程通信,如远程控制车辆、远程查询车辆状态、远程诊断车辆故障等。这种远程交互的方式,给用户带来了极大的便利。
但是,和车辆的远程交互依赖于公共网络及服务器,如果公共网络或者服务器出现安全漏洞,则可能出现第三方篡改或者伪造与车辆交互的数据,造成车辆的隐私数据泄露、车辆丢失、甚至多车辆批量被控制等后果。例如,被攻击的服务器可能在车主不知情的情况下,伪造车控设备的控制指令,以查看、修改车辆数据,这会威胁到车辆安全。
如何保障通信过程中车辆的安全,是当前研究的方向。
发明内容
本申请提供了针对车辆的安全通信方法、相关装置及通信系统,可以保证车控设备和车辆交互的数据只有双方能够获取到,避免该交互数据被第三方获取、篡改或伪造,可以保障车辆及车控设备双方的信息安全,提高车辆的安全性。
第一方面,提供了一种针对车辆的安全通信方法,应用于包括车控设备和车辆的通信系统。该方法包括:车控设备生成待发送的第一数据,使用第一密钥对第一数据进行加密;车控设备将加密后的第一数据发送给车辆;车辆接收到车控设备发送的加密后的第一数据;车辆使用第一密钥解密加密后的第一数据,得到第一数据;车辆根据第一数据执行对应的操作。
实施第一方面提供的方法,车控设备和车辆基于密钥来通信,相当于在车控设备和车辆之间建立了点对点的安全通道,能够保证双方交互的数据只有该车控设备和该车辆能够获取到,避免双方的交互数据被第三方获取、篡改或伪造。这样可以保障车辆及车控设备双方的信息安全,进而避免了车辆中用户的隐私数据泄露、车辆被第三方控制、车辆丢失、多车辆批量被第三方控制等情况,提高了车辆的安全性。这里的第三方指车控设备、车辆以外的其他设备或机构。
结合第一方面,在一些实施方式中,第一数据包括远程控制指令,远程控制指令用于指示车辆执行对应的操作;或者,第一数据包括远程监控指令,远程监控指令用于查询车辆的状态。
结合第一方面,在一些实施方式中,该方法还可以包括:车辆获取待发送的第二数据,使用第一密钥对第二数据进行加密;车辆将加密后的第二数据发送给车控设备;车控设备接收到车辆发送的加密后的第二数据;车控设备使用第一密钥解密加密后的第二数据,得到第二数据;车控设备根据第二数据执行对应的操作。
在一些实施方式中,第二数据可以包括表征车辆的状态的数据,和/或,车辆的运行数据。
结合第一方面,在一些实施方式中,车控设备和车辆可以通过以下方式获取第一密钥:
方式1,车控设备和车辆协商得到第一密钥;
方式2,车控设备确定第一密钥后,将第一密钥发送给车辆;
方式3,车控设备接收到车辆发送的第一密钥,并且第一密钥由车辆确定。
进一步地使用方式1时,车控设备和车辆可以有以下两种方案来协商第一密钥:
方案1,车控设备和车辆通过近距离通信技术来协商第一密钥。
具体的,车辆显示二维码或条形码或数字密码,车控设备扫描车辆显示的二维码或条形码,或者,接收到输入的和车辆显示的数字密码相同的数字密码,二维码、条形码、数字密码均携带有车辆生成的绑定因子;或者,车辆通过近场通信NFC将绑定因子发送给车控设备;
车控设备、车辆都根据绑定因子生成共享密钥;
车辆和车控设备,通过椭圆曲线迪菲-赫尔曼秘钥交换ECDH算法协商得到第一密钥,并且车辆在协商过程中使用共享密钥加密发送给车控设备的公钥,车辆和车控设备在协商过程中通过近距离通信技术通信。
通过方案1,ECDH算法能够保证车控设备和车辆可以安全地获知对端设备的公钥,再结合只有本端设备获知的私钥,该车控设备和车辆就能够得到只有双方知晓的、安全的第一密钥。此外,近距离通信技术能够让车控设备和车辆可以方便、快捷地协商得到第一密钥。
在方案1中,通过ECDH算法协商第一密钥的过程可包括:车控设备和车辆都使用相同的椭圆曲线参数生成不同的椭圆曲线密钥对,使用共享密钥加密各自的公钥后发送给对端设备,然后各自使用对端的公钥和自己的私钥,计算得到第一密钥。
在一些实施方式中,车控设备和车辆通过方案1来协商第一密钥的过程中,车控设备断开和服务器的连接,车辆也可以断开和服务器的连接,服务器用于管理车辆。由于切断了车控设备、车辆分别与服务器的连接,即使服务器存在安全漏洞,也可以保证双方协商的第一密钥不被服务器获取,进而保障后续基于该第一密钥的通信过程的安全。
方案2,车控设备和车辆通过远距离通信技术来协商第一密钥。
具体的,车控设备和车辆,通过椭圆曲线迪菲-赫尔曼秘钥交换ECDH算法协商得到第一密钥,并且车控设备和车辆在协商过程中通过服务器通信,服务器用于管理车辆。
通过方案2,ECDH算法能够保证车控设备和车辆可以安全地获知对端设备的公钥,再结合只有本端设备获知的私钥,该车控设备和车辆就能够得到只有双方知晓的、安全的第一密钥。
在方案2中,通过ECDH算法协商第一密钥的过程可包括:车控设备和车辆都使用相同的椭圆曲线参数生成不同的椭圆曲线密钥对,将各自的公钥后发送给对端设备,然后各自使用对端的公钥和自己的私钥,计算得到第一密钥。
在一些实施方式中,在通过方案2协商得到第一密钥之前,车控设备可以接收到输入的手机号码;车控设备显示一个或多个车辆选项,一个或多个车辆选项对应手机号码下购买的车辆;车控设备接收到作用于车辆选项的用户操作,向车辆发送绑定请求;和车控设备协商第一密钥的车辆为,接收到用户操作的车辆选项对应的车辆。在一些实施方式中,车控设备可以根据手机号码从服务器中查询得到其下购买的车辆的信息。
结合第一方面,在一些实施方式中,车控设备和车辆协商得到第一密钥之后,方法还包括:车控设备和车辆均关联存储车辆的标识,和,第一密钥。这样,车控设备可以根据关联存储的信息,找到和车辆对应的第一密钥,并使用该第一密钥对和该车辆通信的数据进行处理(包括加密或解密)。并且,车辆可以根据关联存储的信息,找到和车控设备对应的第一密钥,并使用该第一密钥对和该车控设备通信的数据进行处理(包括加密或解密)。
结合第一方面,在一些实施方式中,车控设备和车辆使用相同账号登录到服务器,服务器用于管理车辆。这样相当于在登录了特定账号的车控设备,和,登录了特定账号的车辆之间建立了点对点的安全通道,可以避免登录了特定账号的车控设备,和,登录了特定账号的车辆之间的通信数据被第三方获取、篡改或伪造。
结合第一方面,在一些实施方式中,车控设备生成待发送的第一数据之前,车控设备可以显示第一用户界面,第一用户界面包括一个或多个控制选项;车控设备接收到作用于控制选项上的用户操作,用户操作用于触发车控设备生成待发送的第一数据。
结合第一方面,在一些实施方式中,车控设备和车辆之间的通信数据,可以通过服务器转发。
结合第一方面,在一些实施方式中,车控设备和车辆通信时,可以根据实际需求选择所使用的加密算法。例如,在对传输的数据有完整性要求的情况下,可以使用保证数据完整性的算法来对数据进行加密,在对传输的数据有机密性要求的情况下,可以使用保证数据机密性的算法来对数据进行加密。
第二方面,提供了一种针对车辆的安全通信方法,应用于车控设备,该方法包括:车控设备生成待发送的第一数据,使用第一密钥对第一数据进行加密;车控设备将加密后的第一数据发送给车辆。
结合第二方面,在一些实施方式中,该方法还包括:车控设备接收到车辆发送的加密后的第二数据;车控设备使用第一密钥解密加密后的第二数据,得到第二数据;车控设备根据第二数据执行对应的操作。
实施第二方面提供的方法,车控设备使用第一密钥来处理和车辆之间的通信数据,能够保证该通信数据只有该车控设备和该车辆能够获取到,避免该通信数据被第三方获取、篡改或伪造。这样可以保障车辆及车控设备双方的信息安全,进而避免了车辆中用户的隐私数据泄露、车辆被第三方控制、车辆丢失、多车辆批量被第三方控制等情况,提高了车辆的安全性。这里的第三方指车控设备、车辆以外的其他设备或机构。
在第二方面提供的方法中,车控设备所执行的操作,可参考第一方面或第一方面的任意一种实施方式中车控设备所执行的操作,这里不再赘述。
第三方面,提供了一种针对车辆的安全通信方法,应用于车控设备,该方法包括:车辆接收到车控设备发送的加密后的第一数据;车辆使用第一密钥解密加密后的第一数据,得到第一数据;车辆根据第一数据执行对应的操作。
结合第三方面,在一些实施方式中,该方法还包括:车辆获取待发送的第二数据,使用第一密钥对第二数据进行加密;车辆将加密后的第二数据发送给车控设备。
实施第三方面提供的方法,车辆使用第一密钥来处理和车控设备之间的通信数据,能够保证该通信数据只有该车控设备和该车辆能够获取到,避免该通信数据被第三方获取、篡改或伪造。这样可以保障车辆及车控设备双方的信息安全,进而避免了车辆中用户的隐私数据泄露、车辆被第三方控制、车辆丢失、多车辆批量被第三方控制等情况,提高了车辆的安全性。这里的第三方指车控设备、车辆以外的其他设备或机构。
在第三方面提供的方法中,车辆所执行的操作,可参考第一方面或第一方面的任意一种实施方式中车辆所执行的操作,这里不再赘述。
第四方面,提供了一种车控设备,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得车控设备执行如第二方面或第二方面任意一种实施方式的方法。
第五方面,提供了一种车辆,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得车辆执行如第三方面或第三方面任意一种实施方式的方法。
第六方面,提供了通信系统,包括车控设备和车辆,车控设备用于执行如第二方面或第二方面任意一种实施方式的方法,车辆用于执行如第三方面或第三方面任意一种实施方式的方法。
第七方面,提供了一种计算机可读存储介质,包括指令,当指令在电子设备上运行时,使得电子设备执行如第二方面或第二方面任意一种实施方式的方法。
第八方面,提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第二方面或第二方面任意一种实施方式的方法。
第九方面,提供了一种计算机可读存储介质,包括指令,当指令在电子设备上运行时,使得电子设备执行如第二方面或第二方面任意一种实施方式的方法。
第十方面,提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第三方面或第三方面任意一种实施方式的方法。
第十一方面,提供了一种芯片系统,所述芯片系统包括至少一个处理器,用于实现上述第二方面或第二方面任意一种实施方式,或第三方面或第三方面任意一种实施方式的方法。
实施本申请提供的技术方案,车控设备和车辆使用只有双方知晓的密钥对需要发送给对端设备的数据进行加密,将加密后的数据发送给对端设备,对端设备接收到加密后的数据后,使用该密钥解密数据。实施该技术方案,相当于在车控设备和车辆之间建立了点对点的安全通道,能够保证双方交互的数据只有该车控设备和该车辆能够获取到,避免双方的交互数据被第三方获取、篡改或伪造,可以保障车辆及车控设备双方的信息安全,提高车辆的安全性。
附图说明
图1为本申请实施例提供的通信系统的架构图;
图2A为本申请实施例提供的车控设备的硬件结构框图;
图2B、图2C为本申请实施例提供的车控设备的软件架构;
图3A为本申请实施例提供的车辆的硬件结构框图;
图3B为本申请实施例提供的车辆的软件架构;
图4A-图4Z,为本申请实施例提供的在车辆上实现的一组用户界面;
图4-1为本申请实施例提供的在车辆上实现的用户界面;
图5A-图5N,为本申请实施例提供的在手表类型的车控设备上实现的一组用户界面;
图6A-图6J,为本申请实施例提供的在手机类型的车控设备上实现的一组用户界面;
图7示出了一种车控设备和车辆通过近距离通信技术建立安全绑定关系的流程图;
图8示出了一种车控设备和车辆通过远距离通信技术建立安全绑定关系的流程图;
图9示出了一种车控设备向车辆发送数据的流程图;
图10示出了一种车辆向车控设备发送数据的流程图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
本申请以下实施例提供了针对车辆的安全通信方法、相关装置及通信系统。在该方法中,车控设备和车辆分别存储有密钥(key),在通信过程中,车控设备和车辆使用该密钥对需要发送给对端设备的数据进行加密,然后将加密后的数据发送给对端设备。对端设备接收到加密后的数据后,可以使用预先存储的密钥解密该数据。
通过本申请实施例提供的针对车辆的安全通信方法,基于车控设备和车辆存储的密钥来通信,相当于在车控设备和车辆之间建立了点对点的安全通道,能够保证双方交互的数据只有该车控设备和该车辆能够获取到,避免双方的交互数据被第三方获取、篡改或伪造。这样可以保障车辆及车控设备双方的信息安全,进而避免了车辆中用户的隐私数据泄露、车辆被第三方控制、车辆丢失、多车辆批量被第三方控制等情况,提高了车辆的安全性。这里的第三方指车控设备、车辆以外的其他设备或机构。
在一些实施方式中,车控设备和车辆之间的通信过程可以通过公共网络以及服务器进行。实施本申请实施例提供的方法,服务器不能够获取、篡改或者伪造车控设备和车辆之间的通信数据,即使公共网络或服务器存在安全漏洞,也不会对车辆及车控设备的安全性造成影响。在其他一些实施方式中,车控设备和车辆也可以通过近距离通信技术直接通信,无需通过服务器中转。
用于车控设备和车辆通信的密钥相当于同时和该车控设备及车辆绑定,因此该密钥也可以被称为绑定密钥(bindkey)。该密钥仅用于绑定的该车控设备和该车辆之间的通信。
车控设备和车辆存储的密钥可以由双方协商得到,也可以由一方确定后通知对端设备。车控设备和车辆之间可以通过近距离通信技术执行上述协商或通知密钥的过程。在一些实施方式中,车控设备和车辆都可以先断开与服务器之间的连接,然后再通过近距离通信技术执行上述协商或通知密钥的过程。这样,由于切断了车控设备、车辆分别与服务器的连接,即使服务器存在安全漏洞,也可以保证双方沟通的密钥不被服务器获取,进而保障基于该密钥的通信过程的安全。当然,在服务器的安全性有保障的情况下,车控设备和车辆之间也可以通过服务器来执行上述协商或通知密钥的过程。
在一些实施方式中,车控设备和车辆可以分别存储有用于登录到服务器的账号,车控设备和车辆各自存储的只有双方知晓的密钥,可以同时和该车控设备的账号、该车辆的账号绑定。车控设备的账号和车辆的账号,可以相同,也可以不同。车控设备和车辆各自都使用自己的账号登录到服务器后,双方才能够基于该密钥通信,否则车控设备和车辆之间无法通信。即,如果车控设备或车辆登录到服务器的账号发生变化,则该车控设备和该车辆就不能通信。这样相当于在登录了特定账号的车控设备,和,登录了特定账号的车辆之间建立了点对点的安全通道,可以避免登录了特定账号的车控设备,和,登录了特定账号的车辆之间的通信数据被第三方获取、篡改或伪造。
车控设备和车辆可以各自存储一个只有双方知晓的密钥。在通信过程中,一方使用该密钥对数据进行加密后发送给另一方,另一方同样使用该密钥解密。
或者,车控设备和车辆可以共同存储一对密钥,一方存储公钥(publickey),另一方存储该公钥对应的私钥(privatekey)。在通信过程中,一方使用自己存储的公钥或私钥对数据进行加密后发送给另一方,另一方使用存储的私钥或公钥解密。
或者,车控设备和车辆可以共同存储两对密钥,一方存储公钥1和私钥2,另一方存储私钥1和公钥2。在通信过程中,一方使用自己存储的私钥对数据进行加密后发送给另一方,另一方使用存储的公钥解密。这样,车控设备或车辆在加密及解密时可以使用不同的密钥。
在车控设备和车辆的通信过程中,车控设备或车辆可以根据实际需求选择数据的加密算法。例如,在有完整性要求的情况下,该车控设备或车辆可以使用保证数据完整性的算法来对数据进行加密。完整性是指在传输、存储信息或数据的过程中,确保信息或数据不被非授权方篡改或在被篡改后能够被迅速发现。又例如,在有机密性要求的情况下,该车控设备或车辆可以使用保证数据机密性的算法来对数据进行加密。机密性是指在传输、存储信息或数据的过程中,确保信息或数据不能够被非授权方获取。
下面首先介绍本申请实施例提供的通信系统。
参考图1,图1为本申请实施例提供的通信系统10的结构示意图。
如图1所示,本申请实施例提供的通信系统10包括:车控设备100、车辆200、服务器300,等等。
车控设备100可以包括各种类型的设备,本申请实施例对该车控设备100的具体类型不作限制。例如,该车控设备100可以包括手机,车辆故障诊断终端,还可以包括平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、大屏电视、智慧屏、可穿戴式设备(如智能手表、智能手环)、增强现实(augmented reality,AR)设备、虚拟现实(virtualreality,VR)设备、人工智能(artificial intelligence,AI)设备、智能耳机,游戏机等便携式终端设备等等。
本申请实施例对车控设备100配置的软件操作系统(operating system,OS)不做限定,例如可包括但不限于等等。
车辆200可以包括大型汽车、小型汽车、电动车、摩托车、拖拉机等机动车。车辆200配置的OS可包括但不限于等。
车辆200可以通过基于蜂窝网络的车辆与万物(vehicle to everything,V2X)通信技术(cellular V2X,C-V2X)和通信系统10中的其他设备建立连接并通信。例如,车辆200可以连接到网络设备,以网络设备作为中间设备,和其他设备如车控设备100、服务器300等通信。C-V2X例如可包括基于长期演进(long term evolution,LTE)的V2X(LTE-V2X)、5G-V2X等。不限于蜂窝网络,车辆200还可以基于其他无线通信技术例如短距离/近距离通信(short range communication)技术,和通信系统10中的其他设备通信。例如,车辆200可以通过无线保真(wireless-fidelity,Wi-Fi)、蓝牙(Bluetooth,BT)、近场通信(near fieldcommunication,NFC),红外(infrared,IR)、超宽带(ultra-wideband,UWB)等技术和车控设备100等通信。蓝牙可以是经典蓝牙,也可以是低功耗蓝牙(bluetooth low energy,BLE)。
车控设备100和车辆200中均可以安装有车辆管理应用。车控设备100和车辆200中安装的车辆关系应用的形态及能力可以有所不同。车控设备100中的车辆管理应用为车控设备100提供各项服务,如车辆信息查询、车辆的远程控制、车辆的远程故障诊断等。车辆200中的车辆管理应用为车辆200提供各项服务,如导航、娱乐等。车控设备100或车辆200可以通过车辆管理应用及用户账号登录到服务器300,以使用该服务器300提供的各项服务。用户账号例如可以是名字、华为标识(identity,ID)、手机号码等身份标识。在一些实施方式中,用户在输入账号后,还要输入相应的密码、人脸图像、声纹、指纹、验证码等身份验证信息才能够通过车控设备100或车辆200中的车辆管理应用登录到服务器300。在其他一些方式中,即使用户没有输入账号,车控设备100或车辆200也可以访客形式使用该车辆管理应用提供的部分或全部服务。
服务器300可以由车辆厂商或第三方提供。服务器300用于管理车辆,为车辆管理应用提供各项服务,如导航、娱乐、车辆信息查询、车辆的远程控制、车辆的远程故障诊断等。服务器300可以是云服务器,也可以是本地服务器。服务器300也可以被称为车云服务器。服务器300的数量可以为一个或多个。
车控设备100、车辆200可以用于访问服务器300。服务器300和各个车控设备100、车辆200之间可通过3G、LTE、5G等蜂窝移动通信技术或广域网(wide area network,WAN)技术、局域网(LAN)技术通信。
在本申请一些实施方式中,车控设备100和车辆200可以建立基于密钥的安全绑定关系。车控设备100和车辆200建立基于密钥的安全绑定关系是指,车控设备100和车辆200首先绑定,然后双方协商密钥或由一方确定密钥后通知另一方,车控设备100和车辆200各自关联存储对端设备的标识和该密钥。车控设备100和车辆200协商或通知密钥的具体过程,密钥的具体形态,可参考后续方法实施例中的详细介绍。建立基于密钥的安全绑定关系后,车控设备100和车辆200可以基于该密钥通信。具体的,在两者的通信过程中,车控设备100和车辆200使用该密钥对需要发送给对端设备的数据进行加密,然后将加密后的数据发送给对端设备。对端设备接收到加密后的数据后,可以使用预先存储的密钥解密该数据。
一个车控设备可以和一个或多个车辆建立基于密钥的绑定关系,一个车辆也可以和一个或多个车控设备建立基于密钥的安全绑定关系。
参考表1,表1示例性示出了车控设备100中存储的基于密钥的安全绑定关系。
表1
如表1所示,车控设备100和车辆200、车辆400及车辆500之间均建立了基于密钥的安全绑定关系。车控设备100和车辆200基于key 1通信,车控设备100和车辆400基于key2通信,车控设备100和车辆500基于key 3通信。
参考表2,表2示例性示出了车辆200中存储的基于密钥的安全绑定关系。
表2
如表2所示,车辆200和车控设备100、车控设备600及车控设备700之间均建立了基于密钥的安全绑定关系。车辆200和车控设备100基于key 1通信,车辆200和车控设备600基于key 4通信,车辆200和车控设备700基于key 5通信。
在本申请其他一些实施方式中,车控设备100和车辆200可以建立基于账号和密钥的安全绑定关系。车控设备100和车辆200建立基于账号和密钥的安全绑定关系是指,车控设备100和车辆200各自使用账号登录到服务器300后,首先两个设备相互绑定,然后双方协商密钥或由一方确定密钥后通知另一方,车控设备100和车辆200各自关联存储对端设备的标识、双方登录服务器300所使用的账号和该密钥。建立基于账号和密钥的安全绑定关系后,车控设备100和车辆200各自使用对应账号登录到服务器的情况下,双方可以基于该密钥通信。具体的,在两者的通信过程中,车控设备100和车辆200使用该密钥对需要发送给对端设备的数据进行加密,然后将加密后的数据发送给对端设备。对端设备接收到加密后的数据后,可以使用预先存储的密钥解密该数据。
在一些实施方式中,只有车控设备100和车辆200登录到服务器300所使用的账号相同,两者之间才能够建立基于账号和密钥的安全绑定关系。在一些实施方式中,即使车控设备100和车辆200登录的账号不同,两者也可以建立基于账号和密钥的绑定关系。
一个车控设备可以和一个或多个车辆建立基于账号和密钥的安全绑定关系,一个车辆也可以和一个或多个车控设备建立基于账号和密钥的安全绑定关系。
一个车控设备或一个车辆均可以通过一个或多个账号登录到服务器300。
参考表3,表3示例性示出了车控设备100中存储的基于账号和密钥的安全绑定关系。
表3
如表3所示,车控设备100和车辆200、车辆400及车辆500之间均建立了基于账号和密钥的安全绑定关系。车控设备100和车辆200均使用账号1登录到服务器300后,可以基于key6通信;车控设备100和车辆400均使用账号2登录到服务器300后,可以基于key 7通信;车控设备100和车辆500均使用账号3登录到服务器300后,可以基于key8通信。
参考表4,表4示例性示出了车辆200中存储的基于账号和密钥的安全绑定关系。
表4
如表4所示,车辆200和车控设备100、车控设备600及车控设备700之间均建立了基于账号和密钥的安全绑定关系。车辆200和车控设备100均使用账号1登录到服务器300后,可以基于key6通信;车辆200和车控设备600均使用账号4登录到服务器300后,可以基于key9通信;车辆200和车控设备700均使用账号5登录到服务器300后,可以基于key 10通信。
在一些实施方式中,上述提及的车控设备的标识可以是设备序列号、媒体访问控制(media access control,MAC)地址、互联网协议(internet protocol,IP)地址等可以指示唯一设备的标识,车辆的标识可以是车架号、车牌号等可以指示唯一车辆的标识。
在一些实施方式中,上述车控设备100或车辆200中关联存储的安全绑定关系,可以存储于安全单元/安全芯片(secureelement,SE),这样可以保证该安全绑定关系不被泄露,确保绑定密钥只有对应的车控设备100及车辆200获知,从而保证两者之间的通信安全。
图1所示的结构并不构成对通信系统10的具体限定。在本申请另一些实施例中,通信系统10可以包括比图示更多或更少的设备。例如,不限于图1所示的几个设备,通信系统10还可以包括提供通信服务运营商提供的网络设备,如基站(NodeB)、演进型基站(evolvedNode B,eNB),或者中继站等接入网设备,以提供公共网络,从而支撑车控设备100和车辆200之间的通信。
通信系统10也可以被称作车联网系统、V2X系统等其他名词,这里不做限定。
图2A示出了车控设备100的结构示意图。
车控设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对车控设备100的具体限定。在本申请另一些实施例中,车控设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在本申请实施例中,处理器110用于使用密钥加密车控设备100将要发送给车辆200的数据,还用于使用密钥解密车辆200发送过来的加密的数据。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过车控设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
车控设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。车控设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在车控设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在车控设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号解调以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,车控设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得车控设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
在本申请实施例中,移动通信模块150或无线通信模块160可用于和车辆200之间协商密钥,或者,将车控设备100确定的密钥通知给车辆200,或者,接收到车辆200确定的密钥。移动通信模块150或无线通信模块160与车辆200之间的密钥协商过程,可参考后续方法实施例的详细描述。
在本申请实施例中,移动通信模块150或无线通信模块160还用于执行和车辆200之间基于密钥的通信。具体的,移动通信模块150或无线通信模块160可用于将使用密钥加密的数据发送给车辆200,也可以接收到车辆200发送的使用密钥加密的数据。移动通信模块150或无线通信模块160与车辆200之间的通信过程,可参考后续方法实施例的详细描述。
车控设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。显示面板还可以采用有机发光二极管(organiclight-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等制造。在一些实施例中,车控设备可以包括1个或N个显示屏194,N为大于1的正整数。显示屏194可用于显示后续实施例介绍的一系列在车控设备100上实现的用户界面。
车控设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,车控设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当车控设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。车控设备100可以支持一种或多种视频编解码器。这样,车控设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现车控设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展车控设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
在本申请一些实施方式中,内部存储器121用于关联存储车控设备100和其他车辆基于密钥的绑定关系,例如可关联存储车控设备100、车辆200各自的标识,以及绑定的密钥。在本申请另一些实施方式中,内部存储器121用于关联存储车控设备100和其他车辆基于账号和密钥的绑定关系,例如可关联存储车控设备100、车辆200各自的标识,各自绑定的账号,以及绑定的密钥。
车控设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。车控设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,车控设备100根据压力传感器180A检测所述触摸操作强度。车控设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于车控设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。车控设备100可以接收按键输入,产生与车控设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
车控设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明车控设备100的软件结构。
图2B是本申请实施例的车控设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2B所示,应用程序包可以包括车辆管理应用、相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。其中,车辆管理应用用于为车控设备100提供各项服务,如车辆信息查询、车辆的远程控制、车辆的远程故障诊断等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2B所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供车控设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明车控设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
图2C是本申请实施例提供的另一种车控设备100的软件结构框图。
如图2C所示,车控设备100可包括:绑定功能模块、近端交互模块、对外网络交互模块、密码算法模块、车控数据处理模块。其中:
绑定功能模块,用于提供车控设备100和车辆200建立绑定关系时,该车控设备100所涉及的一系列用户界面。该用户界面可参考后续实施例的详细描述。
近端交互模块,用于和车辆200执行近距离通信。具体的,近端交互模块可支持车控设备100通过蓝牙、Wi-Fi、NFC等技术和其他设备通信。
对外网络交互模块,用于和车辆200执行远程通信,还可用于和服务器300进行通信。具体的,近端交互模块可支持车控设备100通过蜂窝网络、WAN、LAN等技术和其他设备通信。
密码算法模块,用于计算车控设备100和车辆200协商密钥过程中所涉及到的一系列数学因子。
车控数据处理模块,用于使用密钥加密车控设备100将要发送给车辆200的数据,还用于使用密钥解密车辆200发送过来的加密的数据。
上述图2C示出的车控设备100的软件结构仅为示例,并不构成对车控设备100的具体限定。在本申请另一些实施例中,该车控设备100可以包括比图示更多或更少的单元,或者组合某些单元,或者拆分某些单元,或者不同的单元布置。例如,车控设备100的软件架构中还可以包括车辆管理应用,该车辆管理应用支持车控设备100登录到服务器300以获取服务器300提供的各项服务等等。
参考图3A,图3A为本申请实施例提供的车辆200的结构示意图。
如图3A所示,车辆200包括:控制器局域网络(controller area network,CAN)总线11、多个电子控制单元(electronic control unit,ECU)、发动机13、车载盒子(telematics box,T-box)14、变速器15、行车记录仪16、防抱死系统(antilock brakesystem,ABS)17、传感器系统18、摄像系统19,麦克风20,等等。
CAN总线11是支持分布式控制或实时控制的串行通信网络,用于连接车辆200的各个部件。在CAN总线11上的任何部件都可以监听到CAN总线11上传输的所有数据。CAN总线11传输的帧可以包含数据帧、远程帧、错误帧、过载帧,不同的帧传输不同类型的数据。在本申请实施例中,CAN总线11可用于传输各个部件在针对车辆的安全通信方法中涉及到的数据,该方法的具体实现可参考后文方法实施例的详细描述。
不限于CAN总线11,在其他一些实施例中,车辆200的各个部件还可以通过其他方式来连接及通信。如,各个部件还可以通过车载以太网(ethernet)局域互联网络(localinterconnect network,LIN)总线、FlexRay及常用车载网络系统(media orientedsystems,MOST)总线等等通信,本申请实施例对此不做限制。以下实施例以各个部件通过CAN总线11通信进行说明。
ECU相当于车辆200的处理器或大脑,用于根据从CAN总线11上获取的指令或者根据用户输入的操作,指示对应的部件执行相应的动作。ECU可以由安全芯片、微处理器((microcontroller unit,MCU)、随机存取存储器(random access memory,RAM)、只读存储器(random-only memory,ROM)、输入/输出接口(I/O)、模拟/数字转换器(A/D转换器)以及输入、输出、整形、驱动等大规模集成电路组成。
ECU的种类繁多,不同种类的ECU可以用于实现不同的功能。
车辆200中的多个ECU例如可包括:发动机ECU121,车载盒子(telematics box,T-box)的ECU122,变速器ECU123,行车记录仪ECU124,防抱死系统(antilock brake system,ABS)ECU 125等。
发动机ECU121用于管理发动机,协调发动机的各个功能,例如可用于启动发动机、关闭发动机等等。发动机是为车辆200提供动力的装置。发动机是将某一种形式的能量转换为机械能的机器。车辆200可用于将液体或气体燃烧的化学能,或者将电能转化为机械能并对外输出动力。发动机组成部分可以包括曲柄连杆机构和配气机构两大机构,以及冷却、润滑、点火、能量供给、启动系统等五大系统。发动机的主要部件有气缸体、气缸盖、活塞、活塞销、连杆、曲轴、飞轮等。
T-box ECU122用于管理T-box14。
T-box14主要负责和互联网通信,为车辆200提供远程通讯接口,提供包括导航、娱乐、行车数据采集、行驶轨迹记录、车辆故障监控、车辆远程查询和控制(如开闭锁、空调控制、车窗控制、发动机扭矩限制、发动机启停、调整座椅,查询电池电量、油量、车门状态等)、驾驶行为分析、无线热点分享、道路救援、异常提醒等服务。
T-box14可用于和汽车远程服务提供商(telematics service provider,TSP)以及用户(如驾驶员)侧电子设备(如车控设备100)通信,实现车控设备100上的车辆状态显示与控制。当用户通过车控设备100上的车辆管理应用发送控制命令后,TSP会发出请求指令到T-box14,T-box14在获取到控制命令后,通过CAN总线发送控制报文并实现对车辆200的控制,最后反馈操作结果到用户侧车控设备100上的车辆管理应用上。也就是说,T-box14通过CAN总线11读取到的数据,例如车况报告、行车报告、油耗统计、违章查询、位置轨迹、驾驶行为等数据,可以通过网络将传输到TSP后台系统,由TSP后台系统转发给用户侧的车控设备100,以供用户查看。
T-box14具体可包括通信模块和显示屏。
其中,通信模块可用于提供无线通信功能,支持车辆200通过无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)、超宽带(ultra-wideband,UWB)等无线通信技术和其他设备通信。通信模块还可用于提供移动通信功能,支持车辆200通过全球移动通讯系统(globalsystem for mobile communications,GSM)、通用移动通信系统(universal Mobiletelecommunications system,UMTS)、宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),5G以及未来出现的6G等通信技术和其他设备通信。
通信模块可以通过基于蜂窝网络的车辆与万物(vehicle to everything,V2X)通信技术(cellular V2X,C-V2X)和其他设备如服务器、用户侧电子设备等建立连接并通信。C-V2X例如可包括基于长期演进(long term evolution,LTE)的V2X(LTE-V2X)、5G-V2X等。
在本申请实施例中,通信模块可用于和车控设备100之间协商密钥,或者,将车辆200确定的密钥通知给车控设备100,或者,接收到车控设备100确定的密钥。通信模块与车控设备100之间的密钥协商过程,可参考后续方法实施例的详细描述。
在本申请实施例中,通信模块还用于执行和车控设备100之间基于密钥的通信。具体的,通信模块可用于将使用密钥加密的数据发送给车控设备100,也可以接收到车控设备100发送的使用密钥加密的数据。通信模块与车控设备100之间的通信过程,可参考后续方法实施例的详细描述。
显示屏用于为驾驶员提供可视化的界面。车辆200中可包括一个或多个显示屏,例如可包括设置于驾驶座前方的车载显示屏,设置于座椅上方的用于显示周边情况的显示屏,还可包括将信息投射到风窗玻璃上的抬头数字显示仪(head up display,HUD)等等。后续实施例提供的车辆200中用于显示用户界面的显示屏,可以是设置于座椅旁的车载显示屏,也可以是设置于座椅上方的显示屏,也可以是HUD等等,这里不做限定。车辆200中显示屏上显示的用户界面,具体可参考后续实施例的详细描述,在此暂不赘述。
T-box14也可以被称为车机系统、远程信息处理器、车辆网关等等,本申请实施例对此不作限制。
变速器ECU123用于管理变速器。
变速器15可以用来改变发动机的转速和转矩的机构,它能固定或分档改变输出轴和输入轴传动比。变速器15组成部分可以包含变速传动机构、操纵机构以及动力输出机构等。变速传动机构的主要作用是改变转矩和转速的数值和方向;操纵机构的主要作用是控制传动机构,实现变速器传动比的变换,即实现换档,以达到变速变矩。
行车记录仪ECU124用于管理行车记录仪16。
行车记录仪16组成部分可以包括主机、车速传感器、数据分析软件等。行车记录仪16是指记录车辆行驶途中的影像及声音包括行车时间、速度、所在位置等相关资讯的仪器。在本申请实施例中,当车辆行驶时,车速传感器采集到车轮转速,并将车速信息通过CAN总线发送给行车记录仪16。
ABS ECU125用于管理ABS17。
ABS17是在车辆制动时,自动控制制动器制动力的大小,使车轮不被抱死,处于边滚边滑的状态,以保证车轮与地面的附着力为最大值。在制动过程中,电子控制装置根据车轮转速传感器输入的车轮转速信号判定有车轮趋于抱死时,ABS就进入防抱死制动压力调节过程。
传感器系统18可包括:加速度传感器、车速传感器、震动传感器、陀螺仪传感器、雷达传感器,信号发射器,信号接收器等等。加速度传感器及车速传感器用于检测车辆200的速度。震动传感器可以设置在座位下方、安全带、椅背、操作面板、气囊或其他位置,用于检测车辆200是否被碰撞以及用户所在位置。陀螺仪传感器可以用于确定车辆200的运动姿态。雷达传感器可包括激光雷达、超声波雷达、毫米波雷达等。雷达传感器、信号发射器和信号接收器可用于检测用户所在位置。
摄像系统19可包括多个摄像头,摄像头用于捕获静态图像或视频。摄像系统19中的摄像头可以设置在车前、车后、侧边、车内等位置,便于实现辅助驾驶、行车记录、全景环视、车内监控等功能。
传感器系统18、摄像系统19可用于检测周边环境,便于车辆200做出相应的决策来应对环境变化,例如可用于自动驾驶阶段完成对周边环境进行关注的任务。
麦克风20,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或输出语音指令时,用户可以通过人嘴靠近麦克风20发声,将声音信号输入到麦克风20。车辆200可以设置至少一个麦克风20。在另一些实施例中,车辆200可以设置两个麦克风20,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,车辆200还可以设置三个,四个或更多麦克风20,形成麦克风阵列,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
此外,车辆200还可以包括多个接口,例如USB接口,RS-232接口、RS485接口等等,可外接摄像头、麦克风、耳机以及用户侧的车控设备100。
可以理解的是,本申请实施例示意的结构并不构成对车辆系统的具体限定。车辆200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
例如,车辆200还可包括单独的存储器、电池、车灯、雨刷、仪表盘、音响、车载终端(transmission control unit,TCU)、辅助控制单元(auxiliary control unit,ACU)、智能进入及启动系统(passive entry passive start,PEPS)、车载单元(on board unit,OBU)、车身控制模块(body control module,BCM)、充电接口等等。在一些实施例中,存储器用于关联存储车辆200和其他车控设备基于密钥的绑定关系,例如可关联存储车控设备100、车辆200各自的标识,以及绑定的密钥。在本申请另一些实施方式中,存储器用于关联存储车辆200和其他车控设备基于账号和密钥的绑定关系,例如可关联存储车控设备100、车辆200各自的标识,各自绑定的账号,以及绑定的密钥。
车辆200各个部件的具体作用也可参考后续方法实施例的介绍,这里不赘述。
车辆200配置的软件操作系统(operating system,OS)可包括但不限于 Windows嵌入式紧凑型(Windows EmbeddedCompact,WinCE)操作系统等。
参考图3B,图3B为本申请实施例提供的车辆200的软件结构。
如图3B所示,车辆200可包括:绑定功能模块、近端交互模块、对外网络交互模块、密码算法模块、车控数据处理模块。其中:
绑定功能模块,用于提供车辆200和车控设备100建立绑定关系时,该车辆200所涉及的一系列用户界面。该用户界面可参考后续实施例的详细描述。
近端交互模块,用于和车控设备100执行近距离通信。具体的,近端交互模块可支持车辆200通过蓝牙、Wi-Fi、NFC等技术和其他设备通信。
对外网络交互模块,用于和车控设备100执行远程通信,还可用于和服务器300进行通信。具体的,近端交互模块可支持车辆200通过蜂窝网络、WAN、LAN等技术和其他设备通信。
密码算法模块,用于计算车辆200和车控设备100协商密钥过程中所涉及到的一系列数学因子。
车控数据处理模块,用于使用密钥加密车辆200将要发送给车控设备100的数据,还用于使用密钥解密车控设备100发送过来的加密的数据。
上述图3B示出的车辆200的软件结构仅为示例,并不构成对车辆200的具体限定。在本申请另一些实施例中,该车辆200可以包括比图示更多或更少的单元,或者组合某些单元,或者拆分某些单元,或者不同的单元布置。例如,车辆200的软件架构中还可以包括车辆管理应用,该车辆管理应用支持车辆200登录到服务器300以获取服务器300提供的各项服务等等。
基于上述图1所示的通信系统10、图2A-图2C所示的车控设备100、图3A-图3B所示的车辆200,下面介绍本申请实施例提供的一系列用户界面。
这些用户界面的应用前提是:车控设备100和车辆200登录相同账号后通过蓝牙协商密钥,即,车控设备100和车辆200通过蓝牙建立基于账号和密钥的安全绑定关系。在介绍下面的一系列用户界面过程中,提及的安全绑定车控设备和车辆是指,建立车控设备和车辆之间基于账号和密钥的安全绑定关系,也是指在登录了相同账号的车控设备和车辆之间建立点对点的安全通道。
图4A-图4Z以及图4-1,为本申请实施例提供的在车辆200上实现的一组用户界面。
图4A示例性示出了车辆200登录到服务器300后显示的一个用户界面41。
用户界面41可以由车辆200中的车辆管理应用提供。用户界面41可以由车辆200接收到作用于主界面中的车辆管理应用图标上的用户操作,或者,接收到作用于主界面中用户头像上的用户操作,或者接收到其他用户操作后,而显示。
用户界面41中显示有:顶部状态栏401、登录头像402、登录账号403、用于切换账号的控件404、用于退出登录的控件405、用于启动人脸识别的控件406、用于设置车辆200安全绑定的车控设备的控件407、用户本地数据管理信息408,以及,底部任务栏409。
顶部状态栏401可包括:车辆200当前登录到服务器300所使用账号对应的头像、消息通知符、天气指示符、时间指示符、电池状态指示符、蓝牙指示符、Wi-Fi信号的一个或多个信号强度指示符、移动通信信号(又可称为蜂窝信号)的一个或多个信号强度指示符等等。
登录头像402为车辆200当前登录到服务器300所使用账号对应的头像。图4A中的登录头像402上还显示有提示信息,表明当前登录账号为车主账号。
用户本地数据管理信息408,用于展示车辆200的本地用户数据,例如历史登录过的账号信息等,还可以用于提供入口以供用户删除部分或全部的本地用户数据。
底部任务栏409可包括:用于进入主界面的控件、多任务键、座椅调节控件、空调温度调节控件、音量调节控件等等。
控件407用于监听用户操作(如触摸操作、点击操作等),车辆200可响应于该用户操作,显示用于展示车辆200当前所安全绑定的车控设备的信息的用户界面42。在一些实施方式中,车辆200在显示图4A所示的用户界面41时,还可以在控件407下方显示当前车辆200已经安全绑定的车控设备的数量。
图4B-图4D示出了展示车辆200当前所安全绑定的车控设备的信息的用户界面42的几种实现方式。
如果车辆200当前安全绑定的车控设备数量已经达到上限,则响应作用于图4A中控件407上的用户操作,车辆200可以显示图4B。车辆200可以安全绑定的车控设备上限值可以预先设置,例如可以在车辆出厂前默认置于车辆200中。图4B显示有窗口410,窗口410用于显示车辆200已安全绑定的车控设备列表,具体包括:提示信息410a、提示信息410b、多个当前安全绑定的车控设备信息410c以及对应的解绑控件410d。用户可以在窗口410内输入从下往上的滑动操作,以查看更多的车控设备信息。提示信息410a用于提示用户和车辆200安全绑定的车控设备所能够执行的操作,例如能够执行远程控制车锁、车窗、后备箱等功能。提示信息410b用于提示用户当前车辆200安全绑定的车控设备数量已经达到上限。车控设备信息410c可以是车辆200安全绑定的车控设备的标识,如图中的“小斌的Mate40 Pro”“LiBin的Mate40 Pro”“LiBin的P50”等。解绑控件410d可用于触发对应的车控设备和车辆200解绑。解绑是指解除对应车控设备和车辆200之间的安全绑定关系。
如果车辆200当前安全绑定的车控设备数量未达到上限,则响应作用于图4A中控件407上的用户操作,车辆200可以显示图4C。图4C和图4B的不同之处是,由于当前车辆200安全绑定的车控设备数量还未达到上限,车辆200可以显示用于安全绑定更多车控设备的控件410e和控件410f。其中,控件410e和控件410f可用于触发车辆200通过不同的方式来安全绑定不同类型的车控设备,例如控件410e可用于触发车辆200安全绑定手机,控件410f可用于触发车辆安全绑定手表。在其他一些实施方式中,车辆200也可以使用相同的方式安全绑定各类车控设备,这样车辆200仅显示一个用于安全绑定车控设备的控件即可,或者,车辆也可以显示更多的用于通过不同方式安全绑定不同类型车控设备的控件。
如果车辆200当前还未安全绑定车控设备,则响应作用于图4A中控件407上的用户操作,车辆200可以显示图4D。图4D和图4B、图4C的不同之处是,由于当前车辆200还未安全绑定车控设备,车辆200并未显示车辆安全绑定的车控设备的信息。
之后,车辆200可以检测到作用于图4C或图4D中的控件410e或控件410f的用户操作(如触摸操作、点击操作等),响应于该用户操作,如果当前车辆200还未做好安全绑定车控设备的准备工作如还未启动蓝牙,则显示图4E所示的用户界面43以提示用户;如果当前车辆200已做好安全绑定车控设备的准备工作如已经启动蓝牙,则显示图4F所示的用户界面44以加载安全绑定车控设备所需的信息。在一些实施方式中,车辆200检测到作用于图4C或图4D中的控件410e或控件410f的用户操作后,可以先执行验证用户身份信息的操作,然后再显示图4E或图4F所示的用户界面。验证用户身份的方式例如可包括人脸认证、扫码认证、数字密码认证、指纹认证等等,验证的目的是为了确定当前用户和当前登录账号对应的用户一致。
图4E示例性示出了车辆200提示用户做好安全绑定车控设备之前的准备工作的一种方式。图4E所示的用户界面43中显示有窗口411,窗口411包括:用于启动蓝牙的控件411a、提示信息411b、提示信息411c。其中,控件411a用于监听用户操作,车辆200可响应于该用户操作而启动蓝牙。提示信息411b可用于提示用户需要先开启车辆200的蓝牙,才能继续后续安全绑定车控设备的操作。提示信息411c用于提示用户车辆200在安全绑定车控设备时,该车控设备应该做好何种准备,例如该车控设备应该开启蓝牙,并且与当前车辆200登录相同的账号。
车辆200检测到作用于图4E中控件411a的操作后,可以启动蓝牙,并且显示如图4F所示的用户界面44。用户界面44中显示有窗口412,窗口412包括:标题412a,提示信息412b,加载提示412c、控件412d。标题412a指示当前窗口412用于显示车辆200和车控设备协商密钥所需的内容,例如可以为文本“安全密钥”。提示信息412b用于提示用户在车控设备上应该如何操作才能完成安全绑定,如果不同类别的车控设备对应有不同的操作,则提示信息412b也可以有不同的实现形式。图4F中的提示信息412b用于提示用户需要在车控设备上打开车辆管理应用(例如图中的AITO应用)扫码,并且保持车控设备的蓝牙开启。加载提示412c用于指示车辆200当前正在加载车辆200和车控设备安全绑定所需的信息,该信息例如可以实现为二维码、条形码、数字密码、或其他形式。车辆200和车控设备安全绑定所需的信息的具体内容,可参考后续方法实施例的详细描述。控件412d可用于监听用户操作,车辆200可响应于该用户操作,停止显示窗口412,中断安全绑定车控设备的操作。
在一些实施方式中,如果车辆200加载和车控设备协商密钥所需信息的速度很快,则车辆200可以不用显示图4F所示的用户界面,可以直接在窗口412中显示已加载内容,如后续图4G或图4H的用户界面所示。
车辆200加载好和车控设备安全绑定所需的信息之后,可以显示图4G所示的用户界面44,或,图4I所示的用户界面44。
图4G示例性示出了用于车辆200和手机类型的车控设备安全绑定所需的信息。图4G所示的用户界面可以是车辆检测到作用于图4C或图4D中的控件410e后所显示的界面。由于手机类型的车控设备通常配置有摄像头,因此车辆200可以显示图4G中的二维码413,以方便手机类型的车控设备通过扫码的方式来获取上述安全绑定所需的信息,进而和车辆200协商密钥。
图4I示例性示出了用于车辆200和手表类型的车控设备安全绑定所需的信息。图4I所示的用户界面可以是车辆检测到作用于图4C或图4D中的控件410f后所显示的界面。车辆200可以显示图4I中的数字密码414,以方便手表类型的车控设备通过输入数字密码的方式来获取上述安全绑定所需的信息,进而和车辆200协商密钥。
在一些实施方式中,为了保证密钥协商过程的安全性,图4G示出的二维码413或图4I示出的数字密码414都可以有一定的时效性,在显示超过预设时长后失效。在失效后,车辆200可以主动刷新该二维码或数字密码并将刷新后的信息显示在显示屏上,或者,车辆200也可以提示用户当前二维码或数字密码已失效并提示用户刷新唉二维码或数字密码,例如图4H或图4J所示。
不限于图4G、图4I示出的车辆200显示不同类别的信息(如二维码和数字密码)以安全绑定不同类别的车控设备,在其他一些实施方式中,车辆200也可以在安全绑定不同类别的车控设备时,都显示相同类别的信息,如可以都显示数字密码等,或者,车辆200显示的信息类别也可以随用户操作切换。
在车辆200显示图4G或图4I所示的和车控设备安全绑定所需的信息,并且车控设备按照相应的指示执行对应操作,例如车控设备扫描二维码或接收到输入的数字密码后,车辆200和该车控设备之间可以交互一些信息,例如可以将自身的设备标识、当前登录到服务器300所使用的账号发送给对端设备。
车辆200接收到车控设备的账号后,可以和当前自身登录到服务器300所使用的账号进行比对,如果两者不同,则可以输入提示信息以提示用户车辆200只能安全绑定和其登录相同账号的车控设备。如果两者相同,则仅需执行后续的安全绑定流程,并可以显示图4K所示的提示信息415,以提示用户当前车辆200正在执行安全绑定对应车控设备的操作。安全绑定流程的具体实现可参考后续方法实施例的详细描述。
在一些实施方式中,车辆200只能在保持显示图4K所示的用户界面的过程中,执行和车控设备安全绑定的操作,如果车辆200退出显示图4K所示的用户界面,则会中断安全绑定车控设备的流程。
示例性地,图4L示出了车辆200接收到退出显示图4K所示用户界面的用户操作后所显示的弹窗416。例如,如果车辆200在图4K所示的用户界面上,接收到作用于底部任务栏中用于进入主界面的控件上的用户操作,或者接收到系统返回手势等,则可以显示弹窗416。弹窗416用于提示用户车辆200和车控设备的安全绑定流程只能在显示图4K所示的用户界面同时进行,如果退出显示该用户界面,则会中断安全绑定流程。
在另一些实施方式中,车辆200可以不用保持显示图4K所示的用户界面,车辆200可以显示其他用户界面,也可以运行其他应用,只要在后台执行和车辆设备安全绑定的操作即可。
图4M-图4S,示例性示出了车辆200和车控设备执行安全绑定操作后,车辆200所显示的安全绑定结果。
图4M和图4N为车辆200和车控设备安全绑定超时后,车辆200所显示的用户界面。图4M为车辆200在后台执行安全绑定车控设备操作,并且在安全绑定超时后所显示的用户界面,该用户界面可以为车辆200的主界面,该用户界面显示有用于提示用户安全绑定超时的提示信息。图4N为车辆200在前台执行安全绑定车控设备操作,并且在安全绑定超时后所显示的用户界面,该用户界面显示有用于提示用户安全绑定超时的提示信息,以及用于触发车辆200和车控设备重新安全绑定的控件417。车辆200监听到作用于控件417上的用户操作后,可以和对应的车控设备基于以交互的信息再次执行后续的安全绑定操作。
安全绑定超时可以是指车辆200和对应车控设备通过上述扫码或数字密码等方式交换信息后,在预设时长内未能执行完安全绑定流程。该预设时长例如可以是2秒、5秒、10秒等。
图4O和图4P为车辆200和车控设备安全绑定失败后,车辆200所显示的用户界面。图4O为车辆200在后台执行安全绑定车控设备操作,并且在安全绑定失败后所显示的用户界面,该用户界面可以为车辆200的主界面,该用户界面显示有用于提示用户安全绑定失败的提示信息。图4P为车辆200在前台执行安全绑定车控设备操作,并且在安全绑定失败后所显示的用户界面,该用户界面显示有用于提示用户安全绑定失败的提示信息,以及用于触发车辆200和车控设备重新安全绑定的控件418。车辆200监听到作用于控件418上的用户操作后,可以和对应的车控设备基于以交互的信息再次执行后续的安全绑定操作。
安全绑定失败可以是指车辆200和对应车控设备通过上述扫码或数字密码等方式交换信息后,未能成功执行安全绑定流程。安全绑定失败的原因例如可包括但不限于:车辆200和车控设备之间的连接通路异常、车控设备异常(如低电关机、拒绝安全绑定等)、车辆异常等。
图4Q-图4S为车辆200和车控设备成功安全绑定后,车辆200所显示的用户界面。
图4Q为车辆200在后台执行安全绑定车控设备操作,并且在成功安全绑定后所显示的用户界面,该用户界面可以为车辆200的主界面,该用户界面显示有用于提示用户成功安全绑定的提示信息。
图4R为车辆200在前台执行安全绑定手机类型的车控设备操作,并且在成功安全绑定后所显示的用户界面42。如图4R所示,车辆200成功安全绑定手机类型的车控设备后,将在窗口410中显示新增加的该车控设备对应的车控设备信息410c以及对应的解绑控件410d。例如,图4R中新增的车控设备信息410c上的文本指示了车辆200新安全绑定的车控设备的标识为“LiBin的P50”。车控设备信息410c旁边还可以显示有指示该车控设备为新安全绑定设备的提示信息,例如文本“new”。新增的车控设备信息410c以及对应的解绑控件410d可以排列在之前已安全绑定车控设备对应控件的前面。
图4S为车辆200在前台执行安全绑定手表类型的车控设备操作,并且在成功安全绑定后所显示的用户界面42。如图4S所示,车辆200成功安全绑定手表类型的车控设备后,将在窗口410中显示新增加的该车控设备对应的车控设备信息410c以及对应的解绑控件410d。例如,图4S中新增的车控设备信息410c上的文本指示了车辆200新安全绑定的车控设备的标识为“LiBin的Watch 7”。车控设备信息410c旁边还可以显示有指示该车控设备为新安全绑定设备的提示信息,例如文本“new”。新增的车控设备信息410c以及对应的解绑控件410d可以排列在之前已安全绑定车控设备对应控件的前面。
成功安全绑定可以是指车辆200和对应车控设备通过上述扫码或数字密码等方式交换信息后,在预设时长内成功执行安全绑定流程。该安全绑定流程具体可参考后续方法实施例的描述。车辆200和车控设备协商好密钥后即成功安全绑定,之后双方各自将该密钥、当前双方登录的相同账号,以及对端设备的设备标识关联存储,后续双方就可以使用该密钥来通信。
在一些实施方式中,用户还可以根据实际需求触发车辆200和部分车控设备解绑。解绑是指车辆200和车控设备均删除关联存储的密钥、当前双方登录的相同账号,以及对端设备的设备标识,解绑后双方不能够使用该密钥通信。
车辆200可以检测到作用于图4B、图4C、图4R或图4S所显示窗口410中标识为“小斌的Mate40 Pro”的车控设备对应的解绑控件410d上的用户操作,然后显示图4T所示的窗口419。窗口419包括提示信息419a、控件419b和控件419c。提示信息419a用于提示用户解绑后对应的车控设备将无法远程控制车辆200。控件419b用于监听用户操作,车辆200将响应于该用户操作不再执行解绑流程。控件419c用于监听用户操作,车辆200将响应于该用户操作执行解绑流程。
车辆200检测到作用于图4T的窗口419中控件419c上的用户操作后,如果当前时间距离上一次验证用户身份超过预设时长(例如5分钟),则可以再次触发验证用户身份的流程。车辆200验证用户身份的方式可以随用户操作切换。图4U示出了车辆200触发人脸验证流程时显示的用户界面,图4V示出了车辆200触发扫码验证流程时的用户界面。如果当前时间距离上一次验证用户身份在预设时长(例如5分钟)内,则可以无需再次验证用户身份,可以直接显示图4W所示的用户界面,以提示用户当前正在执行车辆200和对应车控设备的解绑操作。
在一些实施方式中,车辆200只能在保持显示图4W所示的用户界面的过程中,执行和车控设备解绑的操作,如果车辆200退出显示图4W所示的用户界面,则会中断解绑车控设备的流程。
示例性地,图4X示出了车辆200接收到退出显示图4W所示用户界面的用户操作后所显示的弹窗。例如,如果车辆200在图4W所示的用户界面上,接收到作用于底部任务栏中用于进入主界面的控件上的用户操作,或者接收到系统返回手势等,则可以显示图4X中的弹窗。该弹窗用于提示用户车辆200和车控设备的解绑流程只能在显示图4W所示的用户界面同时进行,如果退出显示该用户界面,则会中断解绑流程。
在另一些实施方式中,车辆200可以不用保持显示图4W所示的用户界面,车辆200可以显示其他用户界面,也可以运行其他应用,只要在后台执行和车辆设备解绑的操作即可。
图4Y—图4Z,以及图4-1示例性示出了车辆200和车控设备执行解绑操作后,车辆200所显示的解绑结果。
图4Y为车辆200在前台执行解绑车控设备操作,并且在解绑超时后所显示的用户界面,该用户界面显示有用于提示用户解绑超时的提示信息,以及用于触发车辆200和车控设备重新解绑的控件。
解绑超时可以是指车辆200和对应车控设备在预设时长内未能执行完解绑流程。该预设时长例如可以是2秒、5秒、10秒等。
图4Z为车辆200在前台执行解绑车控设备操作,并且在解绑失败后所显示的用户界面,该用户界面显示有用于提示用户解绑失败的提示信息,以及用于触发车辆200和车控设备重新解绑的控件。
解绑失败可以是指车辆200和对应车控设备未能成功执行解绑流程。解绑失败的原因例如可包括但不限于:车辆200和车控设备之间的连接通路异常、车控设备异常(如低电关机、拒绝安全绑定等)、车辆异常等。
图4-1为车辆200在前台执行和车控设备解绑的操作,并且和车控设备成功解绑后,车辆200所显示的用户界面。相比于图4B、图4C、图4R或图4S,如图4-1所示,在成功解绑设备之后,标识为“小斌的Mate40 Pro”的车控设备和车辆200解绑,其设备标识不再显示在用户界面中。
图5A-图5N,为本申请实施例提供的在手表类型的车控设备100上实现的一组用户界面。图5A-图5N示出了车控设备100和车辆200通过近距离通信技术安全绑定的一种方式。
图5A示例性示出了车控设备100登录到服务器300后显示的一个用户界面51。
用户界面51可以由车控设备100中的车辆管理应用提供,用于展示某个车辆的车辆信息。如图5A所示,用户界面51中显示有车控设备100绑定的车辆的信息,如行驶里程、电量、油量、当前状态等等。这里车控设备100仅仅绑定了车辆,但是并未和该车辆做安全绑定,因此车控设备100仅能查看车辆的信息,但是不能控制该车辆。
之后,车控设备100可以检测到作用于用户界面51的、用于显示车辆控制界面的用户操作(例如向上滑动操作、下下滑动操作等),由于当前车控设备100并未和对应的车辆做安全绑定,为了保障信息安全,车控设备100可以先提示用户执行和对应车辆的安全绑定流程。
图5B示出了车控设备100检测到作用于用户界面51的用户操作后所显示的用户界面52。用户界面52示出了车控设备100提示用户做好安全绑定对应车辆之前的准备工作的一种方式。用户界面52中显示有窗口:提示信息501a、控件501b和控件501c。
其中,提示信息501a用于提示用户车控设备100在安全绑定车辆时,各设备应该做好何种准备,例如该车控设备100和对应车辆都应该开启蓝牙并且登录相同账号,手表类型的车控设备100的管理设备(例如手机)将该车辆设置为默认车辆。设置默认车辆后,车控设备100接收到的车控操作均是针对该默认车辆来执行。控件501b用于监听用户操作,如果当前车控设备100已做好安全绑定的准备工作(例如已打开蓝牙),则车控设备100可以响应于在控件501b上的用户操作,接收附近其他设备(例如车辆)发送的蓝牙广播,搜索附近是否有可绑定的蓝牙设备。如果当前车控设备100未做好安全绑定的准备工作(例如未打开蓝牙),车控设备100可响应于在控件501b上的用户操作,显示图5C所示的提示信息502及控件503。提示信息502用于提示用户开启蓝牙,控件503用于接收用户操作,车控设备100可响应于该用户操作而启动蓝牙。
如果车控设备100搜索到用户界面51所示信息对应的车辆,则可以直接执行和该车辆之间的安全绑定流程。
如果车控设备100仅搜索到一个可绑定的蓝牙设备,则可以直接执行和该设备之间的安全绑定流程,并且显示图5D中的连接提示504,连接提示504可用于提示用户当前车控设备100正在和搜索到的蓝牙设备建立蓝牙连接。
如果车控设备100搜索到多个可绑定的蓝牙设备,车控设备100可以显示搜索到的设备列表,如图5E所示。图5E所示的用户界面中显示有车控设备100搜索到的一个或多个设备的设备标识505,例如图5E说明当前车控设备搜索到了标识为“问界F1”的车辆和标识为“问界M5”的车辆。之后,车控设备100可以检测到作用于搜索到的设备标识505上的用户操作,然后和该设备标识505对应的设备执行安全绑定流程。该安全绑定流程的具体实现可参考后续方法实施例的详细描述。
车控设备100开始执行和某个车辆的安全绑定流程后,可以先确认以下几项:车控设备100和该车辆成功建立蓝牙连接、车控设备100发现该车辆、该车辆侧未中断安全绑定流程、车控设备100和该车辆登录了相同账号、车控设备100的管理设备(例如手机)将该车辆设置为默认车辆。如果当前情况不符合上述几项,则车控设备100可以中断安全绑定流程,并可以根据实际情况显示图5F所示的其中一个用户界面,用于提示用户当前中断安全绑定流程的原因。如果当前情况符合上述几项,则车控设备100可以执行后续的安全绑定流程,例如可以显示图5G所示的用户界面。
图5G示出了车控设备100提供的用于获取和车辆安全绑定所需信息的一个界面。图5G所示的用户界面中可显示有提示信息以及数字按键,该提示信息用于提示用户输入数字密码。之后,如图5H所示,车控设备100可以接收到用户输入的数字密码。如果用户输入的数字密码和车辆侧显示的数字密码不一致或已过期,则车控设备100将无法获取该数字密码携带的信息,也就无法继续执行后续的安全绑定流程。在这种情况下,车控设备100可以显示图5I所示的用户界面,以提示用户重新输入数字密码。如果用户输入的数字密码和车辆侧显示的数字密码一致或在有效期内,例如用户输入图4I中的数字密码414,则车控设备100可以利用该数字密码携带的信息和车辆执行后续的安全绑定流程,并可以显示图5J所示的提示信息,以提示用户当前车控设备100正在执行安全绑定对应车辆的操作。
图5K-图5N,示例性示出了车控设备100和车辆执行安全绑定操作后,车控设备100所显示的安全绑定结果。
图5K为车控设备100和车辆安全绑定失败后,车控设备100所显示的用户界面。
图5L为车控设备100和车辆由于尝试绑定的次数过多而导致安全绑定失败后,车控设备100所显示的用户界面。
图5M为车控设备100和车辆由于双方之间的蓝牙连接断开而导致安全绑定失败后,车控设备100所显示的用户界面。
图5N为车控设备100和车辆成功安全绑定后,车控设备100所显示的用户界面。图5N所示的用户界面为车辆控制界面。如图5N所示,该用户界面显示有:多个控制选项506-509,分别用于控制车锁、控制车窗、寻车、控制空调。车控设备100可以监听到作用于控制选项506-509中任一项上的用户操作,并响应该用户操作执行对应的步骤,例如向车辆发送控制车锁的指令、发送控制车窗的指令、发送用于查询车辆位置的指令、发送控制空调的指令等等。
图5N所示的用户界面也可以被称为第一用户界面。
在手表类别的车控设备100上也可以触发解绑流程,例如车控设备100可以在图5A所示的用户界面中设置用于解绑的控件,以供用户点击并触发解绑流程。
图6A-图6J,为本申请实施例提供的在手机类型的车控设备100上实现的一组用户界面。图6A-图6J示出了车控设备100和车辆200通过远距离通信技术安全绑定的一种方式。
图6A示例性示出了车控设备100登录到服务器300后显示的一个用户界面61。
用户界面61可以由车控设备100中的车辆管理应用提供,用于展示该车控设备100安全绑定的车辆列表。如图6A所示,用户界面61中显示有:车控设备100所安全绑定的车辆的车辆信息,如车辆图标、型号、车牌号、车架号等等。用户界面61中还显示有用于安全绑定新车辆的控件601。控件601可用于监听用户操作(如触摸操作、点击操作等),车控设备100可响应于该用户操作,执行手机号码的认证流程。在一些实施方式中,车控设备100可以先验证用户的手机号码,查验该手机号码下是否有登记的购车记录。服务器300中可以存储有各个车辆的购买记录,包括各个车辆的信息(如车辆标识、车辆图片、型号、车架号、车牌号等)及对应的购买手机号码。
图6B-图6E示出了车控设备100验证手机号码是否有购车记录的一系列用户界面。
如图6B所示,车控设备100检测到作用于图6A中控件601上的用户操作后,可以显示多个手机号码选项602,用于添加手机号码的控件603,以及控件604。手机号码选项602可以对应于车控设备100历史添加过的手机号码。
如果用户选择了某个手机号码选项602,即车控设备100监听到作用于手机号码选项602的用户操作后检测到作用于控件604的用户操作后,该车控设备100可以向服务器300发送携带该手机号码选项602对应手机号码的验证请求。
如果用户选择添加新的手机号码,即车控设备100监听到作用于控件603的用户操作后,该车控设备100可以显示图6C所示的用户界面,以供用户输入新的手机号码。之后,车控设备100可以监听到用户点击下一步控件的用户操作,向服务器300发送携带用户添加的该新的手机号码的验证请求。
服务器300接收到携带手机号码的验证请求后,可以向该手机号码所在的设备(例如可以是车控设备100)发送验证码。这一步骤是为了校验该手机号码所在的设备当前位于用户附近,该设备是安全及可信的。
车控设备100向服务器300发送验证请求之后,显示如图6D所示的用户界面。之后,如图6E所示,车控设备100可以接收到用户输入的验证码,并向服务器300发送携带该验证码的消息。
服务器300接收到车控设备100发送的验证码后,和之前发送给该车控设备100的验证码进行比对,若一致,则确认该手机号码所在的设备当前位于用户附近,该设备是安全及可信的。之后,服务器300可以查询该手机号码下是否有购车记录,并将查询结果发送给车控设备100。
如果服务器300查询到该手机号码下并无购车记录,车控设备100可以显示图6F所示的用户界面,以提示用户当前手机号码下并无购车记录。
如果服务器300查询到该手机号码下存在购车记录,则可以将该手机号码下购买的车辆信息发送给车控设备100。车控设备100接收到该车辆信息后,可以显示该手机号码下购买的各个车辆的选项。如图6G所示,车控设备100显示有车辆选项605和606,以及控件607、控件608,车辆选项605表示该手机号码下购买有一辆型号为“Car X1华为智选”,车架号后六位为“018233”的车辆,车辆选项606表示该手机号码下购买有一辆型号为“Car X1自由元征版”,车架号后六位为“028233”的车辆。
之后,车控设备100可以检测到作用于一个或多个车辆选项上的用户操作后,作用到控件608上的用户操作,然后和该车辆选项对应的车辆执行安全绑定流程。该安全绑定流程的具体实现可参考后续方法实施例的详细描述。车控设备100和对应车辆执行安全绑定流程的过程中,还可以显示图6H所示的用户界面,以提示用户当前正在安全绑定车辆。
图6I示例性示出了车控设备100成功安全绑定车辆后所显示的用户界面。如图6I所示,车控设备100安全绑定车辆后,可以在用户界面61的车辆列表中该新安全绑定车辆的车辆信息。
车控设备100成功安全绑定车辆后,该车控设备100就可以使用协商的密钥和该车辆通信,以实现对该车辆的远程控制、车辆状态的远程查询、车辆故障远程诊断等功能。这里的安全绑定是指车控设备100成功安全绑定车辆后,响应于检测到的在图6I所示的车辆信息上的用户操作,可以显示图6J所示的用于远程控制该车辆信息对应车辆的用户界面。如图6J所示,该用户界面中显示有多个控制选项609-612,分别用于控制车锁、控制车窗、寻车、控制空调。车控设备100可以监听到作用于控制选项609-612中任一项上的用户操作,并响应该用户操作执行对应的步骤,例如向车辆发送控制车锁的指令、发送控制车窗的指令、发送用于查询车辆位置的指令、发送控制空调的指令等等。
图6J所示的用户界面也可以被称为第一用户界面。
在手机类别的车控设备100上也可以触发解绑流程,例如车控设备100可以在图6A、图6I或图6J所示的用户界面中设置用于解绑的控件,以供用户点击并触发解绑流程。
从上述图5A-图5N,图6A-图6J示出的示例可知,在一些实施方式中,车控设备仅绑定了车辆但并未做安全绑定之前,车控设备可以查询车辆状态并显示车辆状态,但是不能控制车辆。只有在车控设备和车辆之间建立了安全绑定关系后,车控设备才可以控制车辆,这样可以保证车控设备通过密钥来控制车辆,以避免第三方篡改或伪造该车控设备发送给车辆的控制指令,从而保证车辆的安全。
在其他一些实施方式中,车控设备仅绑定了车辆但并未做安全绑定时,车控设备也可以控制车辆,此种情况下车控设备可以提示用户该控制方式的安全性一般。
在其他一些实施方式中,车控设备只有在和车辆建立安全绑定关系之后,才可以执行查询车辆状态、控制车辆、远程诊断车辆故障等和车辆通信的操作,这样可以保证车控设备通过密钥来和车辆通信,保证双方交互的数据只有车控设备和车辆能够获取到,避免数据泄露,从而双方设备的信息安全。
基于上述图1所示的通信系统10、图2A-图2C所示的车控设备100、图3A-图3B所示的车辆200,以及上述UI实施例,下面介绍本申请实施例提供的针对车辆的安全通信方法的实现流程。下面的该方法以车控设备100和车辆200之间的通信过程为例,该车控设备100可以为上述各实施例中提及的车控设备100,该车辆200可以为上述各实施例中提及的车辆200。
该针对车辆的安全通信方法可包括如下几个阶段:
阶段一,车控设备100和车辆200建立安全绑定关系。
本申请实施例中的安全绑定关系可包括两种,一种是基于密钥的安全绑定关系,另一种是基于账号和密钥的安全绑定关系。
建立基于密钥的安全绑定关系是指,车控设备和车辆协商密钥或者由一方确定密钥后通知另一方,然后车控设备和车辆各自关联存储对端设备的标识和该密钥。基于密钥的安全绑定关系的实现,可参考前文表1、表2及相关内容。该密钥仅用于该车控设备和该车辆之间的通信。建立该基于密钥的安全绑定关系,相当于在该车控设备和该车辆之间建立了点对点的安全通道,能够保证该车控设备和该车辆之间的通信安全。一个车控设备可以和多个车辆分别建立基于密钥的安全绑定关系,一个车辆也可以和多个车控设备分别建立基于密钥的安全绑定关系。
建立基于账号和密钥的安全绑定关系是指,车控设备和车辆各自使用账号登录到服务器300后,协商密钥或者由一方确定密钥后通知另一方,然后车控设备和车辆各自关联存储对端设备的标识、双方登录所使用的账号和该密钥。基于账号和密钥的安全绑定关系的实现,可参考前文表3、表4及相关内容。该密钥仅用于登录了对应账号的车控设备和登录了对应账号的车辆之间的通信。建立该基于账号和密钥的安全绑定关系,相当于在该登录了特定账号的车控设备和该登录了特定账号的车辆之间建立了点对点的安全通道,能够保证该登录了特定账号的车控设备和该登录了特定账号的车辆之间的通信安全。一个车控设备可以和一个或多个车辆建立基于账号和密钥的安全绑定关系,一个车辆也可以和一个或多个车控设备建立基于账号和密钥的安全绑定关系。一个车控设备或一个车辆,在不同时间点可以登录不同的账号。
在一些实施方式中,只有车控设备和车辆登录到服务器300所使用的账号相同,两者之间才能够建立基于账号和密钥的安全绑定关系。即,只有登录相同账号的车控设备和车辆之间才能安全绑定。
在另一些实施方式中,即使车控设备和车辆登录的账号不同,两者也可以建立基于账号和密钥的绑定关系。即,登录不同账号的车控设备和车辆之间也能安全绑定。例如,车控设备登录的账号和车辆登录的账号之间可以分别为主账号和子账号,或者相反。子账号可以是指被主账号授权的账号,例如主账号可以是车主的账号,子账号可以包括车主的家庭成员的账号,又例如主账号可以是租车公司的账号,子账号可以包括租车人的账号。主账号授权给子账号的形式可以包括多种,可以参考现有技术中的权限授予方案,这里不再展开说明。
车控设备100和车辆200建立安全绑定关系的方式有多种,下面列举几种可能的实现方式。
图7示出了一种车控设备100和车辆200通过近距离通信技术协商密钥,以建立安全绑定关系的过程。本申请实施例提及的近距离通信技术可包括但不限于:蓝牙、NFC、Wi-Fi P2P、Wi-Fi热点等。
参考图7,车控设备100和车辆200通过近距离通信技术协商密钥的过程可包括如下步骤:
S101,车辆200生成绑定因子。
以下介绍几种车辆200生成绑定因子的场景:
场景1,车辆200接收到用户操作,响应于该用户操作生成绑定因子。
例如,车辆200接收到作用于图4C或图4D中的控件410e或控件410f上的用户操作,或者,车辆200接收到作用于图4E中的控件411a上的用户操作后,可以响应于该用户操作,生成绑定因子。
场景2,车辆200接收到车控设备100发送的消息后,响应于该用户操作生成绑定因子。
例如,车辆200可以发送携带自身标识的蓝牙广播,附近的车控设备100接收到该蓝牙广播后,可以在显示屏上显示该车辆200对应的车辆选项,若车控设备100接收到作用于该车辆选项的用户操作,则车控设备100可以和该车辆200建立蓝牙连接,然后向该车辆200发送蓝牙消息,以触发车辆200生成绑定因子。示例性地,如图5E所示,车控设备100显示有多个车辆选项,其中包括车辆200的车辆选项,在接收到作用于车辆200的车辆选项对应的用户操作后,车控设备100向车辆200发送蓝牙消息。在其他一些实施方式中,如果车控设备100搜索到的蓝牙设备仅有车辆200,则可以无需用户输入用户操作,车控设备100可以直接向该车辆200发送蓝牙消息。
在本申请实施例中,绑定因子可以是一个或一组随机数。车辆200可以使用预置的随机数生成算法生成该绑定因子。
S101可以由车辆200中的绑定功能模块执行。
S102,车控设备100获取车辆200生成的绑定因子。
以下介绍几种车控设备100获取绑定因子的方式:
方式1,车辆200生成绑定因子后,将绑定因子转换为二维码、数字密码(如个人识别码(Personal Identification Number,PIN))、条形码等形式,并将转换后的内容显示在显示屏上,之后,车控设备100通过扫描二维码、条形码或者接收输入的数字密码的方式获取该绑定因子。示例性地,图4G示出了车辆200显示的携带绑定因子的二维码,图4I示出了车辆200显示的携带绑定因子的数字密码,图5G及图5H示出了车控设备100接收输入的数字密码的用户界面。
方式2,车辆200生成绑定因子后,通过蓝牙、NFC、Wi-Fi等近距离通信技术将该绑定因子发送给车辆200。
S102可以由车控设备100和车辆200中的近端交互模块配合执行。
S103,车控设备100和车辆200各自根据绑定因子生成共享密钥(prekey)。
车控设备100和车辆200中预置有相同的算法和参数,车控设备100和车辆200使用该相同的算法和参数生成相同的共享密钥prekey。本申请实施例对该算法不做限制。共享密钥prekey可以是一个随机数或一组随机数。共享密钥prekey的长度、复杂度可以高于绑定因子的长度、复杂度。
S103可以由车控设备100和车辆200中的密码算法模块执行。
S104,车控设备100和车辆200通过近距离通信技术,使用共享密钥prekey协商绑定密钥bindkey。
车控设备100和车辆200可以使用近距离通信技术(例如蓝牙、NFC、Wi-Fi通信技术),以及椭圆曲线迪菲-赫尔曼秘钥交换(elliptic curve diffie–hellman keyexchange,ECDH)算法来协商绑定密钥bind key。
S104具体可以包括以下几个步骤:
S1041,车控设备100和车辆200各自生成椭圆曲线密钥对。
车控设备100和车辆200可以预置有相同的椭圆曲线参数,各自使用该椭圆曲线参数生成不同的椭圆曲线密钥对。椭圆曲线密钥对中包括一个公钥和一个私钥。车控设备100生成的椭圆曲线密钥对可以包括:私钥a,公钥a*G。车辆200生成的椭圆曲线密钥对可以包括:私钥b,公钥b*G。
S1042,车控设备100和车辆200使用共享密钥pre key加密各自的公钥后发送给对端设备。
车控设备100使用共享密钥pre key对自己计算得到的公钥进行加密,将加密后的数据通过蓝牙、NFC、Wi-Fi等近距离通信技术发送给车辆200。同时,车辆200也使用共享密钥pre key对自己计算得到的公钥进行加密,将加密后的数据通过蓝牙、NFC、Wi-Fi等近距离通信技术发送给车控设备100。
由于共享密钥pre key只有车控设备100和车辆200双方知晓,通过S1042可以保证双方设备交换的公钥不被泄露,让双方设备安全地获知对端设备的公钥。
S1043,车控设备100和车辆200各自使用对端的公钥和自己的私钥,计算得到绑定密钥bind key。
车控设备100使用共享密钥pre key解密获得车辆200的公钥b*G,然后使用ECDH算法,结合自己的私钥a,计算得到绑定密钥bindkey。例如,车控设备100计算得到的绑定密钥bindkey为a*b*G。
同样的,车辆200使用共享密钥pre key解密获得车控设备100的公钥a*G,然后使用ECDH算法,结合自己的私钥b,计算得到绑定密钥bindkey。例如,车辆200计算得到的绑定密钥bindkey为b*a*G。可见,车辆200和车控设备100计算出的绑定密钥bindkey的值一致。
通过S1042可以让车控设备100和车辆200安全地获知对端设备的公钥,再结合只有本端设备获知的私钥,该车控设备100和车辆200就能够得到只有双方知晓的、安全的绑定密钥bindkey。该绑定密钥可以在后续车控设备100和车辆200的通信过程中作为对称密钥使用。
通过S1041-S1043示出的通过ECDH算法来协商绑定密钥bindkey,可以获得长度、复杂度足够大的,且只有车控设备100和车辆200知晓的绑定密钥bindkey。这样可以保障后续车控设备100和车辆200的通信安全。
S104可以由车控设备100和车辆200的密码算法模块配合执行。
上述S101-S104的目的是为了让车控设备100和车辆200能够协商出只有双方知晓的密钥,在本申请一些实施方式中,还可以使用其他技术手段来实现该目的。例如,可以针对上述S101-S102所使用的技术手段稍微变形,得到以下几种方案:
方案1,车控设备100和车辆200获取到绑定因子后,直接将该绑定因子当作共享密钥pre key使用,这样就无需执行上述S1042,可以减少双方的操作。
方案2,车控设备100和车辆200直接执行S104,并且在S1042中直接交互公钥,无需使用共享密钥pre key来加密公钥后再交互。这样即使交互的公钥可能被第三方获取,但通过S1043的算法计算得到的绑定密钥bindkey也只有车控设备100和车辆200能够知晓,保证了绑定密钥bindkey的安全性。
方案3,车辆200生成的绑定因子直接作为绑定密钥bindkey使用,这样就无需执行上述S103-S104,可以减少双方操作。
方案4,车辆200可以接收用户直接输入的绑定密钥bindkey,然后车控设备100通过上述S102中类似的方法从车辆200处获取该绑定密钥bindkey。
方案5,上述S101-S104所示的方案,上述方案1-方案4,车控设备100和车辆200的角色以及执行的操作可以交换。
S105,车控设备100和车辆200通过近距离通信技术交换设备信息。
车控设备100和车辆200可以使用近距离通信技术(例如蓝牙、NFC、Wi-Fi通信技术)来交换设备信息。S105可以由车控设备100和车辆200的近端交互模块配合执行。
设备信息可包括设备标识。车控设备100的设备标识可以是设备序列号、MAC地址、IP地址等。车辆200的设备标识可以是车架号、车牌号等。车控设备100可以将自身的设备标识发送给车辆200,同样的,车辆200也可以将自身的设备标识发送给车控设备100。
在一些实施方式中,如果前述的S101-S104过程中,车控设备100和车辆200建立了通信连接(例如蓝牙通信连接、Wi-Fi通信连接),则车控设备100和车辆200在前述过程中就已经交换过设备标识,此时不必再重复交换设备标识。当然,在其他一些实施方式中,即使车控设备100和车辆200在前述过程中就已经交换过设备标识,双方也可以在协商绑定密钥bindkey后再次交换设备标识。
如果车控设备100和车辆200之间建立的是基于账号和密钥的安全绑定关系,则双方交换的设备信息还可包括当前登录到服务器300所使用的账号。交换账号的步骤可以在S104之前执行,也可以在S104之后执行。如果要求建立安全绑定关系的车控设备和车辆必须登录相同的账号,则车控设备100和车辆200交换账号信息后,还可以确认对端账号和自身账号是否相同,如果相同,则执行后续步骤S106,成功建立安全绑定关系;如果不相同,则可以提示用户双方账号不同,例如图5F右上角的提示方式,并且无法建立安全绑定关系。
S106,车控设备100和车辆200各自存储安全绑定关系。
如果车控设备100和车辆200之间建立的是基于密钥的安全绑定关系,那么车控设备100关联存储车辆200的标识、绑定密钥bindkey,例如表1所示;车辆200关联存储车控设备100的标识、绑定密钥bindkey,例如表2所示。
如果车控设备100和车辆200之间建立的是基于账号和密钥的安全绑定关系,那么车控设备100关联存储车辆200的标识、车控设备100的账号、车辆200的账号、绑定密钥bindkey,例如表3所示;车辆200关联存储车控设备100的标识、车控设备100的账号、车辆200的账号、绑定密钥bindkey,例如表4所示。
在一些实施方式中,车控设备100或车辆200可以将安全绑定关系存储于安全单元中,这样可以保证该安全绑定关系不被泄露,确保绑定密钥只有对应的车控设备100及车辆200获知,从而保证两者之间的通信安全。
通过图7所示的建立安全绑定关系的过程,车控设备100和车辆200可以通过近距离通信技术获得只有双方知晓的绑定密钥bind key。
在一些实施方式中,车控设备100和车辆200都可以先断开与服务器300之间的连接,然后再通过近距离通信技术执行上述图7所示的过程。在一些实施方式中,车控设备100和车辆200建立安全绑定关系之前,也可以提示用户断开和服务器300之间的连接。车控设备100或车辆200断开和服务器300之间连接的方式可包括但不限于:关闭Wi-Fi功能、关闭蜂窝网络等等。这样,由于切断了车控设备100、车辆200分别与服务器300的连接,即使服务器300存在安全漏洞,也可以保证双方沟通的密钥不被服务器300获取,进而保障后续基于该绑定密钥bind key的通信过程的安全。如果车控设备100和车辆200断开了与服务器300之间的连接,则S105中车控设备100和车辆200交换的账号可以为最近一次登录到服务器300所使用的账号。
图8示出了一种车控设备100和车辆200通过远距离通信技术协商密钥,以建立安全绑定关系的过程。
在车控设备100和车辆200之间的距离较远,无法使用近距离通信技术的情况下,车控设备100和车辆200可以通过远距离通信技术来协商密钥。例如,在租车场景、共享车辆场景下,通常用户侧的车控设备100和车辆200之间的距离较远,此时可以通过远距离通信技术来建立车控设备100和车辆200之间的安全绑定关系。
本申请实施例提及的远距离通信技术是指车控设备100和车辆200通过服务器300通信,依赖于服务器300以及各类公共网络。
如图8所示,通过远距离通信技术建立安全绑定关系的过程可包括如下步骤:
S201,车控设备100被触发和车辆200安全绑定,车辆200被触发和车控设备100安全绑定。
以下介绍几种车控设备100和车辆200被触发绑定对端设备的场景:
场景1,车控设备100接收到用户输入的手机号码后,可以根据该手机号码从服务器300处查询该手机号码下的购车记录,显示该手机号码下购买过的车辆的车辆选项;之后,车控设备100可以接收到作用于某个车辆选项的用户操作,被触发和该车辆选项对应的车辆200安全绑定;响应于该用户操作,车控设备100通过服务器300向车辆200发送绑定请求,以使得车辆200被触发和该车控设备100安全绑定。
图6A-图6G示例性示出了场景1中车控设备100所显示的用户界面,可参考相关描述。
场景2,车控设备100已经和车辆200绑定,但并未安全绑定的情况下,可以显示车辆200的信息,如果接收到用于进入车辆控制界面的用户操作,或者接收到用于控制车辆的用户操作,则车控设备100可以被触发和车辆200安全绑定;并且,车控设备100还可以通过服务器300向车辆200发送绑定请求,以使得车辆200被触发和该车控设备100安全绑定。
图5A示例性示出了车控设备100未和车辆200安全绑定的情况下显示的车辆信息,车控设备100在检测到作用于用户界面51上的用户操作后,可以被触发和对应的车辆200安全绑定。
场景3,车控设备100侧的用户在车控设备100上选中车辆200,并且触发车控设备100和车辆200安全绑定;车辆200侧的用户在车辆200上选中车控设备100,并且触发车辆200和车控设备100安全绑定。
本申请实施例对用户选择车控设备或车辆的方式,以及,触发车控设备或车辆和对端设备安全绑定的方式不做限定。例如,用户可以在车控设备100中输入车辆200的标识,以触发车控设备100和车辆200安全绑定。
S101之后,车控设备100和车辆200可以执行后续的安全绑定流程。
S202-S205,车控设备100和车辆200通过服务器300协商密钥bindkey。
S202,车控设备100和车辆200各自生成椭圆曲线密钥对。
S202和图7中的S1041相同,可参考前文相关描述。
S203,车控设备100登录到服务器300,车辆200登录到服务器300。
本申请实施例对S203的执行顺序不做限定,S203仅需要在S204之前执行即可,其和S201-S202的先后顺序不受限制。
车控设备100可以通过车辆管理应用,使用第一账号登录到服务器300。同样的,车辆200可以通过车辆管理应用,使用第一账号登录到服务器300。第一账号,第二账号可以为相同的账号,也可以为不同的账号。
车控设备100和车辆200各自登录到服务器300后,两设备就可以通过服务器300进行远距离通信。
S204,车控设备100和车辆200通过服务器300交换各自的公钥。
S204的实现可参考图7中的S1042,不同之处在于,在S204交换公钥时无需通过共享密钥pre key加密。
S205,车控设备100和车辆200各自使用对端的公钥和自己的私钥,计算得到绑定密钥bind key。
S205可参考图7中的S1043,不同之处在于,S205中车控设备100和车辆200无需使用共享密钥pre key解密即可获得对端设备的公钥。
上述S202,S204-S205的目的是为了让车控设备100和车辆200能够协商出只有双方知晓的密钥,在本申请一些实施方式中,还可以使用其他技术手段来实现该目的。例如,车控设备100或车辆200可以接收用户直接输入的绑定密钥bindkey,然后将该绑定密钥bindkey,通过服务器300发送给对端设备。
S206,车控设备100和车辆200通过远距离通信技术交换设备信息。
S206可参考图7中的S105,不同之处在于,S206中车控设备100和车辆200交换设备信息使用的是远距离通信技术。
S207,车控设备100和车辆200各自存储安全绑定关系。
S207可参考图7中的S106。
在车控设备100和车辆200成功建立安全绑定关系之后,车控设备100和车辆200可以执行阶段二的步骤,即基于该安全绑定关系进行通信。
在一些实施方式中,如果车控设备100和车辆200建立安全绑定关系之前,均断开了和服务器300的连接,则在执行完阶段一后,车控设备100和车辆200可以提示用户连接到服务器300。车控设备100或车辆200连接到服务器300的方式可包括但不限于:开启Wi-Fi功能、开启蜂窝网络等等。
阶段二,车控设备100和车辆200基于安全绑定关系通信。
车控设备100和车辆200的通信过程包括两方面,一方面是车控设备100向车辆200发送数据的过程,另一方面是车辆200向车控设备100发送数据的过程。车控设备100和车辆200的通信过程可以基于服务器300进行,也可以使用近距离通信技术进行。
图9示出了一种车控设备100向车辆200发送数据的过程。图9以车控设备100和车辆200的通信过程基于服务器300进行为例。
如图9所示,该过程可包括如下步骤:
S301,车控设备100生成待发送给车辆200的数据。
车控设备100发送给车辆200的数据可包括但不限于以下几种类别:
(1)远程控制车辆200的指令。该指令用于远程控制车辆200执行对应的操作,例如远程锁车/解锁指令、远程开窗/关窗指令、远程启动指令、远程开门指令、远程启动/关闭空调的指令、远程召唤车辆的指令、远程打灯的指令等等。
(2)远程监控车辆200的指令。该指令用于远程获取车辆200的状态及其他信息。例如远程查看车辆内部摄像头监控的指令、下载车辆监控数据的指令、下载车辆运行日志的指令、查看车辆位置的指令、查看车辆行车记录的指令等等。
(3)远程诊断车辆200的故障的指令。该指令用于远程获取车辆200的各类状态信息以及运行数据,用于诊断车辆故障。
在一些实施方式中,车控设备100可以在接收到用户操作后,生成待发送给车辆200的数据。例如,参考图5N,车控设备100检测到作用于控制选项506-509中任意一个上的用户操作时,将生成对应的控制车锁的指令、发送控制车窗的指令、发送用于查询车辆位置的指令、发送控制空调的指令。
S302,车控设备100使用存储的绑定密钥bindkey对待发送的数据进行加密。
车控设备100在确定要向车辆200发送数据后,可以在存储的安全绑定关系中,查找和该车辆200对应的绑定密钥bind key。如果车控设备100存储了基于密钥的安全绑定关系,则可以根据车辆200的标识找到对应的绑定密钥bind key。如果车控设备100存储了基于账号和密钥的安全绑定关系,则可以根据车辆200的标识、当前车控设备100和/或车辆200登录到服务器300所使用的账号找到对应的绑定密钥bind key。
车控设备100可以根据实际需求选择数据的加密算法。
在有完整性要求的情况下,该车控设备100可以使用保证数据完整性的算法来对数据进行加密。例如,针对一些不涉及隐私的非敏感数据如启动空调的指令、打灯指令等,可以使用完整性算法。完整性是指在传输、存储信息或数据的过程中,确保信息或数据不被非授权方篡改或在被篡改后能够被迅速发现。保证数据完整性的算法可包括但不限于:哈希消息认证码算法(hash-based message suthentication code,HMAC)等加密算法。
在有机密性要求的情况下,该车控设备100可以使用保证数据机密性的算法来对数据进行加密。例如,针对一些涉及隐私的敏感数据如查看车辆位置的指令、解锁指令等,可以使用机密性算法。机密性是指在传输、存储信息或数据的过程中,确保信息或数据不能够被非授权方获取。保证数据机密性的算法可包括但不限于:密码分组链接模式(cipherblock chaining,CBC)的高级加密标准(advanced encrptionstandard,AES),即AES-CBC。
在同时有完整性和机密性要求的情况下,该车控设备100可以使用同时保证数据机密性和完整性的算法来对数据进行加密。同时保证数据机密性和完整性的算法可包括但不限于:计算器模式(galois/counter mode,GSM)的高级加密标准(advancedencrptionstandard,AES),即AES-GSM。
S303,车控设备100将加密后的数据,通过服务器300发送给车辆200。
在一些实施方式中,车控设备100在发送加密后数据的同时,还可以将当前车控设备100登录到服务器300使用的第一账号,和/或,车控设备100的设备标识同时通过服务器300发送给车辆200。
S304,车辆200使用存储的绑定密钥bindkey解密接收到的数据,以获得原始数据。
在一些实施方式中,如果车辆200还接收到了设备标识,则车辆200还可以查找存储的安全绑定关系,查看自己绑定的各个设备的设备标识中是否包括接收到的该设备标识,如果有,则执行S304,如果没有则不执行S304。这样可以避免未绑定的车控设备或第三方发送数据而使得车辆200执行无意义的解密操作。
在一些实施方式中,如果车辆200还接收到了发送方的账号,则车辆200还可以查找存储的安全绑定关系,查看自己绑定的各个设备的账号中是否包括接收到的该账号,如果有,则执行S304,如果没有则不执行S304。这样可以避免未绑定的账号发送数据而使得车辆200执行无意义的解密操作。
具体执行S304时,车辆200可以在存储的安全绑定关系中,查找和该车控设备100对应的绑定密钥bind key。如果车辆200存储了基于密钥的安全绑定关系,则可以根据车辆200的标识找到对应的绑定密钥bind key。如果车辆200存储了基于账号和密钥的安全绑定关系,则可以根据车辆200的标识、当前车控设备100和/或车辆200登录到服务器300所使用的账号找到对应的绑定密钥bind key。
车辆200使用S302中车控设备100加密时相同的算法来解密接收到的数据。该算法可以是车控设备100和车辆200协商一致使用的,或者是预先设置好使用的算法。
S305,车辆200根据该数据执行对应的操作。
如果车辆200解密后获取到的数据是远程控制车辆200的指令、远程监控车辆200的指令或远程诊断车辆200的故障的指令,则车辆200根据该指令执行相应的操作。例如,车辆200可以根据该指令解锁、开窗、查询位置并返回位置给车控设备100、发送监控画面给车控设备100、发送行车记录仪给车控设备100等等。
通过图9所示的方法,车控设备100和车辆200分别存储有只有双方知晓的密钥,车控设备100使用该密钥将数据加密后发送给车辆200,车辆200使用相同的密钥。
图10示出了一种车辆200向车控设备100发送数据的过程。图10以车控设备100和车辆200的通信过程基于服务器300进行为例。
如图10所示,该过程可包括如下步骤:
S401,车辆200获取待发送给车控设备100的数据。
车辆200发送给车控设备100的数据可包括但不限于以下几种类别:(1)表征车辆状态的数据,例如车窗状态、发送机状态、车门状态、空调状态、车辆位置,等等。(2)车辆本身存储的数据,如监控数据、运行日志、行车记录等。
在一些实施方式中,车辆200可以在接收到车辆200发送的指令后,获取待发送给车控设备100的数据。例如,车辆200接收到车控设备100在S304中发送的指令后,可以获取待发送给车控设备100的数据,例如车锁状态、车窗状态、车辆位置、空调状态等等。
S402,车辆200使用存储的绑定密钥bindkey对待发送的数据进行加密。
S403,车辆200将加密后的数据,通过服务器300发送给车控设备100。
S404,车控设备100使用存储的绑定密钥bindkey解密接收到的数据,以获得原始数据。
S402-S404可参考前文S302-S304的实现,不同之处在于两者的执行主体互换了。
S405,车控设备100根据该数据执行对应的操作。
如果车控设备100解密后获取到的数据是车辆200发送的表征车辆状态的数据、车辆本身存储的数据等,车控设备可以存储这些数据,也可以将这些数据显示在显示屏中,以供用户查看。
车控设备100和车辆200的通信过程不限于图9、图10示出的通过服务器300进行,在一些实施方式中,车控设备100和车辆200也可以使用近距离通信技术和绑定密钥bindkey通信。车控设备100和车辆200使用近距离通信技术通信的过程,和图9、图10描述的过程类似,不同之处是通信技术的不同。
在上述图7-图10所示的方法中,车控设备和车辆之间通信所用的绑定密钥bindkey,也可以被称为第一密钥。图9-图10中车控设备和车辆通信过程中发送的数据,可以被称为第一数据。
通过图7-图10所示的方法,车控设备和车辆建立安全绑定关系,并基于该安全绑定关系来通信,能够保证双方交互的数据只有具备该安全绑定关系的该车控设备和该车辆能够获取到,避免双方的交互数据被第三方获取、篡改或伪造。这样可以保障车辆及车控设备双方的信息安全,进而避免了车辆中用户的隐私数据泄露、车辆被第三方控制、车辆丢失、多车辆批量被第三方控制等情况,提高了车辆的安全性。这里的第三方指车控设备、车辆以外的其他设备或机构。
上述图7-图10所示的方法,仅示出了车控设备和车辆协商一个密钥,并使用该对称密钥算法和该密钥来通信的方案。在其他一些实施方式中,车控设备和车辆还可以协商一对密钥或两对密钥,并使用该一对密钥或两对密钥来通信。本申请实施例对车控设备和车辆协商一对或两对密钥的方式不做限定。
在上述图7-图10所示的方法中,车控设备和服务器之间的通信数据可以通过基于传输层安全协议(transport layer security protocol,TLS)的以安全为目标的超文本传输协议(hyper text transfer protocol over secure socket layer,HTTPS)加密,车辆和服务器之间的通信数据也可以通过基于TLS的消息队列遥测传输协议(message queuingtelemetry transport,MQTT)协议加密,从而进一步保证车控设备和车辆通过服务器通信时的通信通道的安全性。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请还提供一种车控设备,该车控设备可以包括:存储器和处理器。其中,存储器可用于存储计算机程序;处理器可用于调用所述存储器中的计算机程序,以使得该车辆执行上述任意一个实施例中车控设备100侧执行的方法。
本申请还提供一种车辆,该车辆可以包括:存储器和处理器。其中,存储器可用于存储计算机程序;处理器可用于调用所述存储器中的计算机程序,以使得该车辆执行上述任意一个实施例中车辆200侧执行的方法。
本申请还提供了一种芯片系统,所述芯片系统包括至少一个处理器,用于实现上述任一个实施例中车控设备100或车辆200侧所涉及的功能。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请实施例并不限定。示例性地,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性地,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请还提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述任一个实施例中车控设备100或车辆200侧所执行的方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当所述计算机程序被运行时,使得计算机执行上述任一个实施例中车控设备100或车辆200侧所执行的方法。
本申请的各实施方式可以任意进行组合,以实现不同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本申请技术方案的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (27)

1.一种针对车辆的安全通信方法,其特征在于,所述方法应用于车控设备,所述方法包括:
所述车控设备生成待发送的第一数据,使用第一密钥对所述第一数据进行加密;
所述车控设备将加密后的所述第一数据发送给车辆。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述车控设备接收到所述车辆发送的加密后的第二数据;
所述车控设备使用所述第一密钥解密加密后的所述第二数据,得到所述第二数据;
所述车控设备根据所述第二数据执行对应的操作。
3.根据权利要求1或2所述的方法,其特征在于,所述车控设备使用第一密钥对所述第一数据进行加密之前,所述方法还包括:
所述车控设备和所述车辆协商得到所述第一密钥;
或者,所述车控设备确定所述第一密钥后,将所述第一密钥发送给所述车辆;
或者,所述车控设备接收到所述车辆发送的所述第一密钥,并且所述第一密钥由所述车辆确定。
4.根据权利要求3所述的方法,其特征在于,所述车控设备和所述车辆协商得到所述第一密钥,具体包括:
所述车控设备扫描所述车辆显示的二维码或条形码,或者,接收到输入的和所述车辆显示的数字密码相同的数字密码,所述二维码、所述条形码、所述数字密码均携带有所述车辆生成的绑定因子;或者,所述车控设备通过近场通信NFC接收到所述车辆发送的所述绑定因子;
所述车控设备根据所述绑定因子生成共享密钥;
所述车控设备和所述车辆,通过椭圆曲线迪菲-赫尔曼秘钥交换ECDH算法协商得到所述第一密钥,并且所述车控设备在协商过程中使用所述共享密钥加密发送给所述车辆的公钥,所述车控设备和所述车辆在协商过程中通过近距离通信技术通信。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
在所述车控设备和所述车辆协商得到所述第一密钥的过程中,所述车控设备断开和服务器的连接,所述服务器用于管理所述车辆。
6.根据权利要求3所述的方法,其特征在于,所述车控设备和所述车辆协商得到所述第一密钥,具体包括:
所述车控设备和所述车辆,通过椭圆曲线迪菲-赫尔曼秘钥交换ECDH算法协商得到所述第一密钥,并且所述车控设备和所述车辆在协商过程中通过服务器通信,所述服务器用于管理所述车辆。
7.根据权利要求6所述的方法,其特征在于,所述车控设备和所述车辆协商得到所述第一密钥之前,所述方法还包括:
所述车控设备接收到输入的手机号码;
所述车控设备显示一个或多个车辆选项,所述一个或多个车辆选项对应所述手机号码下购买的车辆;
所述车控设备接收到作用于所述车辆选项的用户操作;和所述车控设备协商所述第一密钥的所述车辆为,接收到所述用户操作的车辆选项对应的车辆。
8.根据权利要求3-7任一项所述的方法,其特征在于,所述车控设备和所述车辆协商得到所述第一密钥之后,所述方法还包括:
所述车控设备关联存储所述车辆的标识,和,所述第一密钥。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述车控设备和所述车辆使用相同账号登录到服务器,所述服务器用于管理所述车辆。
10.根据权利要求1-9任一项所述的方法,其特征在于,
所述第一数据包括远程控制指令,所述远程控制指令用于指示所述车辆执行对应的操作;
或者,
所述第一数据包括远程监控指令,所述远程监控指令用于查询所述车辆的状态。
11.根据权利要求2所述的方法,其特征在于,所述第二数据包括表征所述车辆的状态的数据,和/或,所述车辆的运行数据。
12.一种针对车辆的安全通信方法,其特征在于,所述方法应用于车辆,所述方法包括:
所述车辆接收到车控设备发送的加密后的第一数据;
所述车辆使用所述第一密钥解密加密后的所述第一数据,得到所述第一数据;
所述车辆根据所述第一数据执行对应的操作。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述车辆获取待发送的第二数据,使用所述第一密钥对所述第二数据进行加密;
所述车辆将加密后的所述第二数据发送给所述车控设备。
14.根据权利要求12或13所述的方法,其特征在于,所述车辆接收到车控设备发送的加密后的第一数据之前,所述方法还包括:
所述车辆和所述车控设备协商得到所述第一密钥;
或者,所述车辆确定所述第一密钥后,将所述第一密钥发送给所述车控设备;
或者,所述车辆接收到所述车控设备发送的所述第一密钥,并且所述第一密钥由所述车控设备确定。
15.根据权利要求14所述的方法,其特征在于,所述车辆和所述车控设备协商得到所述第一密钥,具体包括:
所述车辆显示二维码或条形码或数字密码,所述二维码、所述条形码、所述数字密码均携带有所述车辆生成的绑定因子;或者,所述车辆通过近场通信NFC将所述绑定因子发送给所述车控设备;
所述车辆根据所述绑定因子生成共享密钥;
所述车辆和所述车控设备,通过椭圆曲线迪菲-赫尔曼秘钥交换ECDH算法协商得到所述第一密钥,并且所述车辆在协商过程中使用所述共享密钥加密发送给所述车控设备的公钥,所述车辆和所述车控设备在协商过程中通过近距离通信技术通信。
16.根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
在所述车辆和所述车控设备协商得到所述第一密钥的过程中,所述车辆断开和服务器的连接,所述服务器用于管理所述车辆。
17.根据权利要求14所述的方法,其特征在于,所述车辆和所述车控设备协商得到所述第一密钥,具体包括:
所述车辆和所述车控设备,通过椭圆曲线迪菲-赫尔曼秘钥交换ECDH算法协商得到所述第一密钥,并且所述车辆和所述车控设备在协商过程中通过服务器通信,所述服务器用于管理所述车辆。
18.根据权利要求17所述的方法,其特征在于,所述车辆和所述车控设备协商得到所述第一密钥之前,所述方法还包括:
所述车辆接收到所述车控设备发送的绑定请求。
19.根据权利要求14-18任一项所述的方法,其特征在于,所述车辆和所述车控设备协商得到所述第一密钥之后,所述方法还包括:
所述车辆关联存储所述车控设备的标识,和,所述第一密钥。
20.根据权利要求12-19任一项所述的方法,其特征在于,所述车辆和所述车控设备使用相同账号登录到服务器,所述服务器用于管理所述车辆。
21.根据权利要求12-20任一项所述的方法,其特征在于,
所述第一数据包括远程控制指令,所述远程控制指令用于指示所述车辆执行对应的操作;
或者,
所述第一数据包括远程监控指令,所述远程监控指令用于查询所述车辆的状态。
22.根据权利要求13所述的方法,其特征在于,所述第二数据包括表征所述车辆的状态的数据,和/或,所述车辆的运行数据。
23.一种通信系统,其特征在于,所述通信系统包括车控设备和车辆,所述车控设备用于执行如权利要求1-11任一项所述的方法,所述车辆用于执行如权利要求12-22任一项所述的方法。
24.一种车控设备,其特征在于,包括:存储器、一个或多个处理器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述车控设备执行如权利要求1-11中任一项所述的方法。
25.一种车辆,其特征在于,包括:存储器、一个或多个处理器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述车辆执行如权利要求12-22中任一项所述的方法。
26.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行,使得所述电子设备执行如权利要求1-11中任一项或如权利要求12-22中任一项所述的方法。
27.一种计算机程序产品,其特征在于,所述计算机程序产品包含计算机指令,当所述计算机指令在电子设备上运行,使得所述电子设备执行如权利要求1-11中任一项或如权利要求12-22中任一项所述的方法。
CN202210751865.6A 2022-02-14 2022-06-29 针对车辆的安全通信方法、相关装置及通信系统 Pending CN116633531A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/074973 WO2023151582A1 (zh) 2022-02-14 2023-02-08 针对车辆的安全通信方法、相关装置及通信系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210134460 2022-02-14
CN2022101344608 2022-02-14

Publications (1)

Publication Number Publication Date
CN116633531A true CN116633531A (zh) 2023-08-22

Family

ID=87596042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210751865.6A Pending CN116633531A (zh) 2022-02-14 2022-06-29 针对车辆的安全通信方法、相关装置及通信系统

Country Status (1)

Country Link
CN (1) CN116633531A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117527386A (zh) * 2023-11-20 2024-02-06 北京天融信网络安全技术有限公司 用于发送远程指令的方法、系统、移动设备及车端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117527386A (zh) * 2023-11-20 2024-02-06 北京天融信网络安全技术有限公司 用于发送远程指令的方法、系统、移动设备及车端

Similar Documents

Publication Publication Date Title
CN115580854B (zh) 蓝牙扫描方法和电子设备
CN111404802A (zh) 通知处理系统、方法以及电子设备
US10939262B2 (en) System and method for bringing programmability and connectivity into isolated vehicles
CN111465536B (zh) 一种业务处理方法及设备
US20220188095A1 (en) Method for storing and transmitting data by using vehicle key and apparatus
CN113408016B (zh) 保存密文的方法和装置
US20220113957A1 (en) Software Upgrade Method, Apparatus, and System
CN116633531A (zh) 针对车辆的安全通信方法、相关装置及通信系统
CN113965789B (zh) 一种投屏方法、终端和通信系统
CN112966297B (zh) 数据保护方法、系统、介质及电子设备
WO2023198104A1 (zh) 异步授权方法、系统、电子设备及计算机可读存储介质
CN113035305A (zh) 一种基于区块链的电子病历系统及应用方法
CN114862398A (zh) 一种基于分布式安全设备的风险控制方法以及相关装置
WO2023151582A1 (zh) 针对车辆的安全通信方法、相关装置及通信系统
CN113645024A (zh) 密钥分发方法、系统、装置及可读存储介质和芯片
CN117864059A (zh) 一种车辆控制系统、方法及电子设备
CN115001667B (zh) 密钥协商方法、系统、电子设备和计算机可读存储介质
WO2023029990A1 (zh) 蓝牙连接方法及电子设备
CN117130808B (zh) 一种日志采集方法及电子设备
WO2023169545A1 (zh) 离线设备控制方法及相关装置
WO2023024887A1 (zh) 跨设备认证方法和装置
CN117951662A (zh) 一种处理数据的方法及电子设备
CN116033592B (zh) 蜂窝通信功能的使用方法和装置
WO2022135196A1 (zh) 终端定位的方法及终端
CN117668778A (zh) 资源扩展方法、电子设备及存储介质

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