控制加密车载数据访问的系统和方法与流程

文档序号:17728121发布日期:2019-05-22 02:39阅读:202来源:国知局
控制加密车载数据访问的系统和方法与流程

本发明涉及一种用于控制加密车载数据访问的系统和方法。具体而言,系统采用分级访问控制方法,使得授权用户能以分级方式访问储存在云服务器中的可选择的加密车载数据,然后授权用户能解密所选的加密数据以及与所选加密数据关联的所有子数据。



背景技术:

智能车辆或自动驾驶车辆是指车辆配备了电子系统以用于检测车辆的运行状况和周围环境,自动启动特定关键功能(例如,激活或去激活车辆的点火装置)以及在特定情况下,进行无人驾驶。在这些类型的车辆里的电子系统通常通过雷达、全球定位卫星(globalpositioningsatellite,gps)、多普勒声纳等无线构件或者甚至通过带图像捕获构件的图像识别系统来检测或感知其周围环境。设于这些电子系统中的控制系统接收并解析检测或捕获到的信息以确定导航路径,或者更为常见地,储存数据以用于未来诊断分析。

由于智能车辆通常每天都会使用,车辆的电子系统将积累大量捕获和检测到的数据。所收集的数据可包括有关车辆使用者的私人信息,例如使用者的日常驾驶习惯、使用者的家庭和办公地址、使用者的家庭活动模式—由于获取的gps数据,以及车辆的所有诊断数据。所有这些电子数据均易遭到黑客或未授权用户的电子攻击,因为受损的电子系统会允许恶意攻击者访问车辆及车辆使用者的私人信息。因此,此类数据通常以各种加密形式进行保护,因此数据仅可由车辆的授权用户解密。

当车辆被送到第三方服务提供商处进行修理、维护、停放或充电等时,服务提供商若能访问车辆的诊断数据或车辆的特定功能,将对服务提供商处理车辆大有裨益。因此,车辆使用者可允许服务提供商访问储存的特定诊断数据或者车辆使用者可允许服务提供商访问特定车辆功能,例如在固定时间段自动驾驶等。

一种常用的方法是一般情况下,将所收集到的数据存储在车辆的安全存储中。例如,当车辆被送到服务提供商处进行修理时,授予服务提供商必要的权限以访问储存的数据。一种常用的授权服务提供商访问储存的加密数据的方法是向服务提供商提供加密密钥,以使授权的服务提供商可解密任何他们需要的数据以实施其诊断操作。该方法的不足之处在于,由于向服务提供商提供了加密密钥,现在服务提供商可以解密和下载所有储存的数据,包括车辆使用者的私人信息。

为防止发生这种情况,提议根据数据类型和数据收集时间分别加密数据。例如,可每日收集涉及车辆引擎运行的数据并每日加密所收集到的数据。此方法的不足之处在于,如果服务提供商需要获取一定天数例如30天的引擎信息,所述车辆所有者将需要向服务提供商提供对应这些日期的大量加密密钥,例如对应上述时间段的30个加密密钥。

上述提议的方法包括意外数据泄露的风险、下发未授权或超特权命令的风险以及更高的加密密钥管理复杂度。基于以上原因,本领域技术人员一直力图寻找一种控制加密车载数据访问的系统和方法,从而使授权的服务提供商可以以分级方式访问特定加密数据。



技术实现要素:

根据本发明的实施例提供的系统和方法解决了上述和其它问题并在本领域取得了进步。

根据本发明的系统和方法的实施例的第一个优点是所述系统的使用者仅需储存单个hibe根密钥,所述根密钥可用于生成私用数据密钥以加密数据日志,也可用于生成父私用密钥,以供第三方获取用于解密子密文的子密钥。此举确保了所述第三方仅可解密源于父私用密钥的子密文。

根据本发明的系统和方法的实施例的第二个优点是用于解密数据日志的所述私用密钥无需储存在本地设备中,因为这些密钥可使用根密钥按需生成。

根据本发明的系统和方法的实施例的第三个优点是所述车辆使用者可将所述根密钥从所述车辆安全传送到所述用户的移动设备,从而使所述用户可向第三方服务提供商发布私用父密钥。

上述优点通过根据本发明的方法的实施例按照以下方式操作来实现。

根据本发明的第一方面,一种用于控制车载数据访问的系统包括用于以下操作的车载设备:收集车辆的车载数据,其中,给每条车载数据标记一个身份,每个身份表示为节点树状结构上的一个节点,所述节点树状结构包括与所述车辆关联的根节点;使用对应的子密钥加密收集的每条车载数据,其中,每个对应的子密钥基于每条车载数据的标记节点和对应于所述根节点的根密钥生成;传输所述加密车载数据及其标记节点到云服务器;所述云服务器用于:接收和储存所述加密车载数据及其标记节点。所述系统也包括用于以下操作的服务设备:发送请求到所述云服务器,其中所述请求包括一个时间周期,所述云服务器在收到所述请求时检索拥有对应于所述时间周期的标记节点的加密车载数据;接收来自所述云服务器的所述检索出的加密车载数据及其标记节点,其中,每个节点代表所述节点树状结构上的一个节点;确定所述收到的加密车载数据的所述标记节点共有的一组子节点;为所述共有子节点组请求聚合密钥,以及基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥,其中,每个生成的子密钥用于解密对应的加密车载数据。

结合所述第一方面,在所述第一方面的第一种可能的实施方式中,所述节点树状结构还包括与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点;其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;每个身份通过如下方式表示为所述节点树状结构上的一个节点:确定所述收集的车载数据的类元素;获取包括大时间单位和小时间单位的当前时间;基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第一方面的所述第一种可能的实施方式,在所述第一方面的第二种可能的实施方式中,所述基于每条车载数据的所述标记节点生成每个对应子密钥包括:确定收集的每条车载数据的标记节点的第一子节点、第二子节点和第三子节点,对于每个节点:使用所述根密钥、所述第一子节点和所述根节点生成第一子节点密钥;使用所述第一子节点密钥、所述第二子节点、所述第一子节点和所述根节点生成第二子节点密钥;使用所述第三子节点、所述第二子节点、所述第一子节点、所述根节点和所述第二子节点密钥生成子密钥。

结合所述第一方面、所述第一方面的第一种和第二种可能的实施方式中的任一项,在所述第一方面的第三种可能的实施方式中,所述系统还包括用于以下操作的移动设备:检索共享密码,所述车载设备由此得知所述共享密码;加密所述共享密码并将所述加密的共享密码传输到所述车载设备,以协商用于在所述移动设备和所述车载设备间建立安全通信的共享加密密钥;所述车载设备用于:使用所述共享加密密钥加密所述根密钥;传输所述加密的根密钥到所述移动设备。

结合所述第一方面的所述第三种可能的实施方式,在所述第一方面的第四种可能的实施方式中,所述移动设备用于:在收到用于获取所述共有子节点组的所述聚合密钥的请求之后,基于所述根密钥和所述共有子节点组中子节点的所述层级关系为所述共有子节点组生成所述聚合密钥;传输所述生成的聚合密钥到所述服务设备。

结合所述第一方面,在所述第一方面的第五种可能的实施方式中,所述车载设备用于:在收到用于获取所述共有子节点组的所述聚合密钥的请求之后,基于所述根密钥和所述共有子节点组中子节点的层级关系为所述共有子节点组生成所述聚合密钥;传输所述生成的聚合密钥到所述服务设备。

结合所述第一方面的所述第一种或第四种可能的实施方式,在所述第一方面的第六种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

根据本发明的第二方面,一种设于车辆中的用于生成加密车载数据的车载设备,所述车载设备包括:处理器;所述处理器可读的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:收集所述车辆的车载数据,其中,给每条车载数据标记一个身份,每个身份表示为节点树状结构上的一个节点,所述节点树状结构包括与所述车辆关联的根节点;使用对应的子密钥加密收集的每条车载数据,其中,每个对应的子密钥基于每条车载数据的标记节点和对应于所述根节点的根密钥生成;传输所述加密车载数据及其标记节点到云服务器。

结合所述第二方面,在所述第二方面的第一种可能的实施方式中,所述节点树状结构还包括与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点;其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;用于指示所述处理器将每个身份表示为所述节点树状结构上的一个节点的指令还包括:对于每个身份,用于指示所述处理器执行以下操作的指令:确定所述收集的车载数据的类元素;获取包括大时间单位和小时间单位的当前时间;基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第二方面,在所述第二方面的第二种可能的实施方式中,用于指示所述处理器基于每条车载数据的所述标记节点生成每个对应的子密钥的指令包括:用于指示所述处理器执行以下操作的指令:对于每个标记节点,确定所述标记节点的第一子节点、所述标记节点的第二子节点、所述标记节点的第三子节点,使用所述根密钥、所述第一子节点和所述根节点生成第一子节点密钥;使用所述第一子节点密钥、所述第二子节点、所述第一子节点和所述根节点生成第二子节点密钥;使用所述第三子节点、所述第二子节点、所述第一子节点、所述根节点和所述第二子节点密钥生成子密钥。

结合所述第二方面、所述第二方面的所述第一种或第二种可能的实施方式,在所述第二方面的第三种可能的实施方式中,所述车载设备还包括用于指示所述处理器执行以下操作的指令:在收到用于获取共有子节点组的聚合密钥的请求之后,基于所述根密钥和所述共有子节点组中子节点的层级关系为所述共有子节点组生成所述聚合密钥;传输所述生成的聚合密钥到服务设备。

结合所述第二方面的所述第一种可能的实施方式,在所述第二方面的第四种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

根据本发明的第三方面,提供了一种用于控制车辆的车载数据访问的服务设备,收集所述车载数据并给其标记节点树状结构上的节点,所述车载数据由设于所述车辆中的车载设备加密并储存到云服务器上,所述服务设备包括:处理器;所述处理器可读的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:发送请求到所述云服务器,其中所述请求包括一个时间周期,所述云服务器在收到所述请求时检索拥有对应于所述时间周期的标记节点的加密车载数据;接收来自所述云服务器的所述检索出的加密车载数据及其标记节点,其中,每个节点代表所述节点树状结构上的一个节点;确定所述收到的加密车载数据的所述标记节点共有的一组子节点;为所述共有子节点组请求聚合密钥,基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥,其中,每个生成的子密钥用于解密对应的加密车载数据。

结合所述第三方面,在所述第一方面的第一种可能的实施方式中,所述节点树状结构还包括:与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点,其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;用于指示所述处理器为收集的每条车载数据标记一个节点的指令还包括:对于每个节点,用于指示所述处理器执行以下操作的指令:确定所述收集的车载数据的类元素;获取包括大时间单位和小时间单位的当前时间;基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第一方面或所述第三方面的所述第一种可能的实施方式,在所述第三方面的第二种可能的实施方式中,所述用于指示所述处理器基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的指令包括:对于每个标记节点,用于指示所述处理器执行以下操作的指令:基于所述聚合密钥、所述根节点和所述标记节点的第一子节点为所述第一子节点生成第一子节点密钥;基于所述第一子节点密钥、所述根节点、所述第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第一方面或所述第三方面的所述第一种可能的实施方式,在所述第三方面的第三种可能的实施方式中,所述用于指示所述处理器基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的指令包括:对于每个标记节点,用于指示所述处理器执行以下操作的指令:基于所述聚合密钥、所述根节点、所述标记节点的第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第一方面或所述第三方面的所述第一种可能的实施方式,在所述第三方面的第四种可能的实施方式中,所述用于指示所述处理器基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的指令包括:对于每个标记节点,用于指示所述处理器执行以下操作的指令:基于所述聚合密钥、所述根节点、所述标记节点的第一子节点、所述标记节点的第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第三方面的所述第一种可能的实施方式,在所述第三方面的第五种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

根据本发明的第四方面,提供了一种用于控制车辆的车载数据访问的移动设备,收集每条车载数据并给其标记节点树状结构上的节点,所述车载数据由设于所述车辆中的车载设备加密并储存到云服务器上,所述移动设备包括:处理器;所述处理器可读的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:发送请求到所述云服务器,其中所述请求包括一个时间周期,所述云服务器在收到所述请求时检索拥有对应于所述时间周期的标记节点的加密车载数据;接收来自所述云服务器的所述检索出的加密车载数据及其标记节点,其中,每个节点代表所述节点树状结构上的一个节点;确定所述收到的加密车载数据的所述标记节点共有的一组子节点;为所述共有子节点组请求聚合密钥,以及基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥,其中,每个生成的子密钥用于解密对应的加密车载数据。

结合所述第四方面,在所述第四方面的第一种可能的实施方式中,所述节点树状结构还包括:与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点,其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;用于指示所述处理器为收集的每条车载数据标记一个节点的指令还包括:对于每个节点,用于指示所述处理器执行以下操作的指令:确定所述收集的车载数据的类元素;获取包括大时间单位和小时间单位的当前时间;基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第四方面或所述第四方面的所述第一种可能的实施方式,在所述第四方面的第二种可能的实施方式中,所述用于指示所述处理器基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的指令包括:对于每个标记节点,用于指示所述处理器执行以下操作的指令:基于所述聚合密钥、所述根节点和所述标记节点的第一子节点为所述第一子节点生成第一子节点密钥;基于所述第一子节点密钥、所述根节点、所述第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第四方面或所述第四方面的所述第一种可能的实施方式,在所述第四方面的第三种可能的实施方式中,所述用于指示所述处理器基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的指令包括:对于每个标记节点,用于指示所述处理器执行以下操作的指令:基于所述聚合密钥、所述根节点、所述标记节点的第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第四方面或所述第四方面的所述第一种可能的实施方式,在所述第四方面的第四种可能的实施方式中,所述用于指示所述处理器基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的指令包括:对于每个标记节点,用于指示所述处理器执行以下操作的指令:基于所述聚合密钥、所述根节点、所述标记节点的第一子节点、所述标记节点的第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第四方面或所述第四方面的所述第一种至第四种可能的实施方式中的任意一种,在所述第四方面的第五种可能的实施方式中,所述移动设备还包括:用于指示所述处理器执行以下操作的指令:从所述车载设备检索共享密码,所述车载设备由此得知所述共享密码;加密所述共享密码并将所述加密的共享密码传输到所述车载设备,以协商用于在所述移动设备和所述车载设备间建立安全通信的共享加密密钥。

结合所述第四方面的所述第六种可能的实施方式,在所述第四方面的第六种可能的实施方式中,所述车载设备还包括用于指示所述处理器执行以下操作的指令:在收到用于获取所述共有子节点组的所述聚合密钥的请求之后,基于所述根密钥和所述共有子节点组中子节点的所述层级关系为所述共有子节点组生成所述聚合密钥。

结合所述第四方面的所述第一种可能的实施方式,在所述第四方面的第七种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

根据本发明的第五方面,一种通过设于车辆中的车载设备生成加密车载数据的方法,所述方法包括:收集所述车辆的车载数据,其中,给每条车载数据标记一个身份,每个身份表示为节点树状结构上的一个节点,所述节点树状结构包括与所述车辆关联的根节点;使用对应的子密钥加密收集的每条车载数据,其中,每个对应的子密钥基于每条车载数据的标记节点和对应于所述根节点的根密钥生成;传输所述加密车载数据及其标记节点到云服务器。

结合所述第五方面,在所述第五方面的第一种可能的实施方式中,所述节点树状结构还包括与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点;其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;每个身份通过如下方式表示为所述节点树状结构上的一个节点:确定所述收集的车载数据的类元素;获取包括大时间单位和小时间单位的当前时间;基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第五方面或所述第五方面的所述第一种可能的实施方式,在所述第五方面的第二种可能的实施方式中,所述基于每条车载数据的所述标记节点生成每个对应的子密钥包括:确定收集的每条车载数据的标记节点的第一子节点、第二子节点和第三子节点,对于每个标记节点:使用所述根密钥、所述标记节点的第一子节点和所述根节点生成第一子节点密钥;使用所述第一子节点密钥、所述标记节点的第二子节点、所述第一子节点和所述根节点生成第二子节点密钥;使用所述标记节点的第三子节点、所述第二子节点、所述第一子节点、所述根节点和所述第二子节点密钥生成子密钥。

结合所述第五方面或所述第五方面的所述第一种可能的实施方式,在所述第五方面的第三种可能的实施方式中,所述方法还包括:在收到用于获取共有子节点组的聚合密钥的请求之后,基于所述根密钥和所述共有子节点组中子节点的层级关系为所述共有子节点组生成所述聚合密钥;传输所述生成的聚合密钥到服务设备。

结合所述第五方面的所述第一种可能的实施方式,在所述第五方面的第四种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

根据本发明的第六方面,一种用于控制车辆的车载数据访问的方法,收集所述车载数据并给其标记节点树状结构上的节点,所述车载数据由设于所述车辆中的车载设备加密并储存到云服务器上,由服务设备实施的所述方法包括:发送请求到所述云服务器,其中所述请求包括一个时间周期,所述云服务器在收到所述请求时检索拥有对应于所述时间周期的标记节点的加密车载数据;接收来自所述云服务器的所述检索出的加密车载数据及其标记节点,其中,每个节点代表所述节点树状结构上的一个节点;确定所述收到的加密车载数据的所述标记节点共有的一组子节点;为所述共有子节点组请求聚合密钥,以及基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥,其中,每个生成的子密钥用于解密对应的加密车载数据。

结合所述第六方面,在所述第六方面的第一种可能的实施方式中,所述节点树状结构还包括:与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点,其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;收集的每条车载数据通过如下方式给其标记一个节点:确定所述收集的车载数据的类元素;获取包括大时间单位和小时间单位的当前时间;基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第六方面或所述第六方面的所述第一种可能的实施方式,在所述第六方面的第二种可能的实施方式中,所述基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的步骤包括:对于每个标记节点,基于所述聚合密钥、所述根节点和所述标记节点的第一子节点为所述第一子节点生成第一子节点密钥;基于所述第一子节点密钥、所述根节点、所述第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第六方面或所述第六方面的所述第一种可能的实施方式,在所述第六方面的第三种可能的实施方式中,所述基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的步骤包括:基于所述聚合密钥、所述根节点、所述标记节点的第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第六方面或所述第六方面的所述第一种可能的实施方式,在所述第六方面的第四种可能的实施方式中,所述基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥的步骤包括:基于所述聚合密钥、所述根节点、所述标记节点的第一子节点、所述标记节点的第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第六方面的所述第一种可能的实施方式,在所述第六方面的第六种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

根据本发明的第七方面,提供了一种用于控制车辆的车载数据访问的方法,收集所述车载数据并给其标记节点树状结构上的节点,所述车载数据由设于所述车辆中的车载设备加密并储存到云服务器上,由移动设备实现的所述方法包括:发送请求到所述云服务器,其中所述请求包括一个时间周期,所述云服务器在收到所述请求时检索拥有对应于所述时间周期的标记节点的加密车载数据;接收来自所述云服务器的所述检索出的加密车载数据及其标记节点,其中,每个节点代表所述节点树状结构上的一个节点;确定所述收到的加密车载数据的所述标记节点共有的一组子节点;为所述共有子节点组请求聚合密钥,以及基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥,其中,每个生成的子密钥用于解密对应的加密车载数据。

结合所述第七方面,在所述第七方面的第一种可能的实施方式中,所述节点树状结构还包括:与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点,其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;收集的每条车载数据通过如下方式给其标记一个节点:确定所述收集的车载数据的类元素;获取包括大时间单位和小时间单位的当前时间;基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第七方面的所述第一种可能的实施方式,在所述第七方面的第二种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

结合所述第七方面或所述第七方面的所述第一种或第二种可能的实施方式中的任意一种,在所述第七方面的第三种可能的实施方式中,所述方法还包括:从所述车载设备中检索共享密码,所述车载设备由此得知所述共享密码;加密所述共享密码并将所述加密的共享密码传输到所述车载设备,以协商用于在所述移动设备和所述车载设备间建立安全通信的共享加密密钥。

结合所述第七方面的所述第三种可能的实施方式,在所述第七方面的第四种可能的实施方式中,所述方法还包括:在收到用于获取所述共有子节点组的所述聚合密钥的请求之后,基于所述根密钥和所述共有子节点组中子节点的所述层级关系为所述共有子节点组生成所述聚合密钥。

根据本发明的第八方面,提供了一种设于车辆中的用于生成加密车载数据的车载设备,所述车载设备包括收集单元、加密单元和传输单元;

所述收集单元用于收集所述车辆的车载数据,其中,给每条车载数据标记一个身份,每个身份表示为节点树状结构上的一个节点,所述节点树状结构包括与所述车辆关联的根节点;

所述加密单元用于使用对应的子密钥加密收集的每条车载数据,其中,每个对应的子密钥基于每条车载数据的标记节点和对应于所述根节点的根密钥生成;

所述传输单元用于传输所述加密的车载数据及其标记节点到云服务器。

结合所述第八方面,在所述第八方面的第一种可能的实施方式中,所述节点树状结构还包括与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点;

其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;

其中,所述车载设备还包括确定单元、获取单元和识别单元;

所述确定单元用于确定所述收集的车载数据的类元素;

所述获取单元用于获取包括大时间单位和小时间单位的当前时间;

所述识别单元用于基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第八方面,在所述第八方面的第二种可能的实施方式中,所述车载设备还包括第一生成单元;

对于每个标记节点,确定所述标记节点的第一子节点、所述标记节点的第二子节点和所述标记节点的第三子节点,

所述第一生成单元用于使用所述根密钥、所述第一子节点和所述根节点生成第一子节点密钥;使用所述第一子节点密钥、所述第二子节点、所述第一子节点和所述根节点生成第二子节点密钥;使用所述第三子节点、所述第二子节点、所述第一子节点、所述根节点和所述第二子节点密钥生成子密钥。

结合所述第八方面、所述第八方面的第一种可能的实施方式或所述第八方面的第二种可能的实施方式,在所述第八方面的第三种可能的实施方式中,所述车载设备还包括第二生成单元和通信单元;

所述第二生成单元用于:在收到用于获取共有子节点组的聚合密钥的请求之后,基于所述根密钥和所述共有子节点组中子节点的层级关系为所述共有子节点组生成所述聚合密钥;

所述通信单元用于传输所述生成的聚合密钥到服务设备。

结合所述第八方面的所述第一种可能的实施方式,在所述第八方面的第四种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

根据本发明的第九方面,提供了一种用于控制车辆的车载数据访问的服务设备,收集所述车载数据并给其标记节点树状结构上的节点,所述车载数据由设于所述车辆中的车载设备加密并储存到云服务器上,所述服务设备包括发送单元、接收单元、确定单元、请求单元和生成单元;

所述发送单元用于发送请求到所述云服务器,其中所述请求包括一个时间周期,所述云服务器在收到所述请求时检索拥有对应于所述时间周期的标记节点的加密车载数据;

所述接收单元用于接收来自所述云服务器的所述检索出的加密车载数据及其标记节点,其中,每个节点代表所述节点树状结构上的一个节点;

所述确定单元用于确定所述收到的加密车载数据的所述标记节点共有的一组子节点;

所述请求单元用于为所述共有子节点组请求聚合密钥;

所述生成单元用于基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥,其中,每个生成的子密钥用于解密对应的加密车载数据。

结合所述第九方面,在所述第九方面的第一种可能的实施方式中,所述节点树状结构还包括:

与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点,

其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;

其中,所述服务设备还包括获取单元和识别单元,对于每个节点:

所述确定单元用于确定所述收集的车载数据的类元素;

所述获取单元用于获取包括大时间单位和小时间单位的当前时间;

所述识别单元用于基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第九方面或所述第九方面的所述第一种可能的实施方式,在所述第九方面的第二种可能的实施方式中,对于每个标记节点:

所述生成单元用于基于所述聚合密钥、所述根节点和所述标记节点的第一子节点为所述第一子节点生成第一子节点密钥;

所述生成单元还用于基于所述第一子节点密钥、所述根节点、所述第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;

所述生成单元还用于基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第九方面或所述第九方面的所述第一种可能的实施方式,在所述第九方面的第三种可能的实施方式中,对于每个标记节点:

所述生成单元还用于基于所述聚合密钥、所述根节点、所述标记节点的第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;

所述生成单元还用于基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第九方面或所述第九方面的所述第一种可能的实施方式,在所述第九方面的第四种可能的实施方式中,

所述生成单元还用于基于所述聚合密钥、所述根节点、所述标记节点的第一子节点、所述标记节点的第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第九方面或所述第九方面的所述第一种可能的实施方式,在所述第九方面的第五种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

根据本发明的第十方面,提供了一种用于控制车辆的车载数据访问的移动设备,收集每条车载数据并给其标记节点树状结构上的节点,所述车载数据由设于所述车辆中的车载设备加密并储存到云服务器上,所述移动设备包括发送单元、接收单元、确定单元、请求单元和生成单元;

所述发送单元用于发送请求到所述云服务器,其中所述请求包括一个时间周期,所述云服务器在收到所述请求时检索拥有对应于所述时间周期的标记节点的加密车载数据;

所述接收单元用于接收来自所述云服务器的所述检索出的加密车载数据及其标记节点,其中,每个节点代表所述节点树状结构上的一个节点;

所述确定单元用于确定所述收到的加密车载数据的所述标记节点共有的一组子节点;

所述请求单元用于为所述共有子节点组请求聚合密钥;

所述生成单元用于基于所述请求的聚合密钥和收到的每条加密车载数据的所述标记节点为收到的每条加密车载数据生成子密钥,其中,每个生成的子密钥用于解密对应的加密车载数据。

结合所述第十方面,在所述第十方面的第一种可能的实施方式中,所述节点树状结构还包括:

与类元素关联的第一子节点、与大时间单位关联的第二子节点、与小时间单位关联的第三子节点,

其中,所述第一、第二和第三子节点的层级关系定义为:所述第一子节点连接到所述根节点,所述第二子节点连接到所述第一子节点,所述第三子节点连接到所述第二子节点;

所述移动设备还包括识别单元;

所述确定单元用于确定所述收集的车载数据的类元素;

所述获取单元用于获取包括大时间单位和小时间单位的当前时间;

所述识别单元用于基于所述确定的类元素和所述获取的当前时间识别所述节点树状结构上与所述身份对应的节点。

结合所述第十方面或所述第十方面的所述第一种可能的实施方式,在所述第十方面的第二种可能的实施方式中,对于每个标记节点,

所述生成单元用于基于所述聚合密钥、所述根节点和所述标记节点的第一子节点为所述第一子节点生成第一子节点密钥;

所述生成单元还用于基于所述第一子节点密钥、所述根节点、所述第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;

所述生成单元还用于基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第十方面或所述第十方面的所述第一种可能的实施方式,在所述第十方面的第三种可能的实施方式中,对于每个标记节点,

所述生成单元用于基于所述聚合密钥、所述根节点、所述标记节点的第一子节点和所述标记节点的第二子节点为所述第二子节点生成第二子节点密钥;

所述生成单元还用于基于所述第二子节点密钥、所述根节点、所述第一子节点、所述第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第十方面或所述第十方面的所述第一种可能的实施方式,在所述第十方面的第四种可能的实施方式中,对于每个标记节点,

所述生成单元还用于基于所述聚合密钥、所述根节点、所述标记节点的第一子节点、所述标记节点的第二子节点和所述标记节点的第三子节点为所述标记节点生成所述子密钥。

结合所述第十方面、所述第十方面的所述第一种可能的实施方式、所述第十方面的所述第二种可能的实施方式、所述第十方面的所述第三种可能的实施方式或所述第十方面的所述第四种可能的实施方式,在所述第十方面的第五种可能的实施方式中,

所述移动设备还包括检索单元和加密单元;

所述检索单元用于从所述车载设备中检索共享密码,所述车载设备由此得知所述共享密码;

所述加密单元用于加密所述共享密码并将所述加密的共享密码传输到所述车载设备,以协商用于在所述移动设备和所述车载设备间建立安全通信的共享加密密钥。

结合所述第十方面的所述第五种可能的实施方式,在所述第十方面的第六种可能的实施方式中,

所述生成单元用于:在收到用于获取所述共有子节点组的所述聚合密钥的请求之后,基于所述根密钥和所述共有子节点组中子节点的所述层级关系为所述共有子节点组生成所述聚合密钥。

结合所述第十方面的所述第一种可能的实施方式,在所述第十方面的第七种可能的实施方式中,所述大时间单位包括的时间单位大于所述小时间单位的时间单位。

附图说明

在以下详细描述中描述并在以下图式中示出根据本发明的以上优点和特征:

图1示出了表示根据本发明实施例的一种加密车载数据和授权服务提供商以分级方式访问加密数据的系统的方框图;

图2示出了表示根据本发明实施例的电子设备或服务器中用于执行实施例的组件的方框图;

图3示出了表示根据本发明实施例的系统内包含的用于加密车载数据和授权服务提供商以分级方式访问加密数据的模块的方框图;

图4示出了根据本发明实施例的车载模块中用于收集和加密车载数据的过程的流程图;

图5示出了根据本发明实施例的服务模块中用于以分级方式解密选择的加密车载数据的过程的流程图。

具体实施方式

本发明涉及一种用于控制加密车载数据访问的系统和方法。具体而言,系统采用分级访问控制方法,使得授权用户能以分级方式访问储存在云服务器中的选择的加密车载数据,然后授权用户可以获得进行以下操作的权限:通过自主推导出与所选的加密父数据关联的所有子数据的子加密密钥来解密该加密父数据以及所有这些子数据。

本领域技术人员将认识到,说明书中的许多功能单元都标注为模块。本领域技术人员还将认识到,模块的具体实现方式可以为电路、逻辑芯片或任何种类的分离器件。此外,本领域技术人员还将认识到,模块也可以用各种处理器执行的软件实现。在本发明的实施例中,模块也可包括计算机指令或可执行代码,所述代码或指令可以指示计算机处理器基于收到的指令后完成一系列事件。所述模块实现的选择作为设计选项由本领域技术人员决定且不会以任何方式限制本发明的范围。

图1示出了根据本发明实施例的用于加密智能车辆的车载数据和授权服务提供商以分级方式访问加密数据的系统100。图1示出的系统100包括通过无线方式互相连接的云服务器105、服务模块110、移动模块115和车载模块120。这些模块用于通过互联网或无线网络彼此无线通信,无线网络包括但不限于蜂窝网络、卫星网络、电信网络或广域网(wideareanetwork,wan)。除上述以外,车载模块120还用于在移动模块115离车载模块120的物理距离很近时直接与移动模块115通信,该近距离无线通信可通过无线通信方式实现,无线通信方式包括但不限于无线保真(wireless-fidelity,wi-fi)、蓝牙或近场通信(nearfieldcommunication,nfc)。

云服务器105可以包括能与系统100的各个模块无线通信的安全云服务器或远程安全服务器。云服务器105的主要功能是充当用于加密数据存储的安全数据库。因此,云服务器105不一定必须配置加密或解密模块。

移动模块115和服务模块110分别可包括但不限于电子模块,该电子模块设置在任何能够执行无线通信功能和计算功能的设备中,例如智能电话、平板电脑、移动计算机、笔记本、以及智能手表等可穿戴电子设备等。移动模块115可以设置在智能车辆的所有者或授权用户所拥有的任何电子设备中,而服务设备110可以设置在授权第三方服务提供商所拥有的任何电子设备中,例如汽修店修理工的平板或停车场服务员的智能移动设备。

车载模块120可以设置在智能车辆的指挥和控制单元中,指挥和控制单元与多个电子系统连接。这些电子系统执行智能车辆的智能功能,例如感知车辆的周围环境、激活和去激活车辆引擎或娱乐系统以响应检测到的动作、响应于可用数据以预测或自适应方式自主控制车辆。多数情况下,这些智能系统至少包括用于信号获取的传感器、用于传输收集和/或收到的数据到车辆的指挥与控制单元的元件、用于传输决策和指令的组件以及用于执行或触发指定动作的执行器。

图2示出了表示根据本发明实施例的用于执行实施例的电子设备200的组件的方框图,该电子设备设于模块110、115和120内。这些组件也可以设置在与云服务器120连接的控制器上。本领域技术人员将认识到,设于每个模块或控制器内的每个电子设备的确切配置可以不同,电子设备200的确切配置也可以不同,图2所示的布局和配置仅作为示例提供。

在本发明实施例中,设备200包括控制器201和用户界面202。用户通过用户界面202实现与电子设备200之间的手动交互,因此该界面包含输入/输出组件以便用户输入用于控制电子设备200的指令。本领域技术人员将认识到,用户接口202的组件可能因具体实施例而异,但通常包括显示器240、键盘235和轨迹板236中的一个或多个。

控制器201通过总线215与用户界面202进行数据通信,包括存储器220、安装在电路板上且用于处理本实施例相关指令和数据的中央处理器(cpu)205、操作系统206、用于与用户界面202进行通信的输入/输出(input/output,i/o)接口230以及在本实施例中以网卡250形式呈现的通信接口。网卡250可以帮助电子设备200经由有线或无线网络发送/接收数据等。网卡250适用于但不限于如下无线网络:无线保真(wireless-fidelity,wi-fi)、蓝牙、近场通信(nearfieldcommunication,nfc)、蜂窝网络、卫星网络、电信网络、广域网(wideareanetwork,wan)等等。

存储器220和操作系统206通过总线210与cpu205进行数据通信。存储器分为易失性存储器和非易失性存储器且每种不止一个,包括随机存取存储器(randomaccessmemory,ram)220、只读存储器(readonlymemory,rom)225和大容量存储设备245,其中大容量存储设备245包含一个或多个固态硬盘(solid-statedrive,ssd)。存储器220还包括用于安全存储私用加密密钥如根密钥和/或私钥的安全存储器246。需要说明的是,安全存储器246内的内容仅模块200的超级用户或管理员有权限访问,而模块200的任何其它用户都没有权限。本领域技术人员将认识到,上述存储器包括非瞬时性计算机可读介质,因而可以理解为包括除瞬态传播信号之外的所有计算机可读介质。通常情况下,指令以程序代码形式存储在存储器中,但是也可以使用硬连线指令。存储器220可能包括内核和/或编程模块,例如可以存储在易失性或非易失性存储器中的软件应用程序。

需要说明的是,术语“cpu”一般指能处理类似指令的任何设备或组件,例如微处理器、微控制器、可编程逻辑设备或其它计算设备。因此,cpu205可以是任何能够接收信号、根据存储器中指令进行信号处理并输出信号(例如,输出信号给存储器组件或显示器240)的逻辑电路。在本实施例中,cpu205可以是具有寻址空间的单核或多核处理器。在一示例中,cpu205有多个核,例如采用8核cpu。

图3示出了根据本发明实施例的设于系统100的模块中的单独组件。如上所述,车载模块120可设置在智能车辆的指挥和控制单元中。随着智能车辆的使用,智能车辆中的电子系统将开始积累各种数据日志。例如,可以收集的数据包括但不限于,车辆引擎相关的数据如车辆引擎的每秒转数、车辆的速度、车辆的gps定位、车辆的胎压、车辆的油耗、车辆的引擎温度、车辆的制动液位、车辆的电池电量、车辆摄像头捕获的图像等等。

所有收集的数据日志将按照预设的时间间隔标记一个时间元素,该时间元素表示数据的标记时间或收集数据的平均时间。预设的时间间隔可代表24小时的时间周期、7天的时间周期、一个月的时间周期或任何其它时间周期并作为设计选项留给本领域技术人员决定。每个时间元素可以使用任何分层时间格式表示,例如“年.月.周.日”、“年.月.周”、“年.月”、“日.周.月.年”或此类分层时间格式的任意组合,条件是格式中包括至少两种时间单位。这两种时间单位包括一个大时间单位和一个小时间单位,大时间单位代表的时间单位大于小时间单位代表的时间单位。例如,分层时间格式“年.月”可以用作时间元素,因为“年”代表大时间单位而“月”代表小时间单位。而在另一示例中,分层时间格式“年.月.周.日”可以划分为一个表示为“年.月”的大时间单位和一个表示为“周.日”的小时间单位。本领域技术人员将认识到,大时间单位可包括任意时间格式组合,只要大时间单位代表的时间单位大于小时间单位代表的时间单位。分层时间格式也可表示为一个节点树状结构,树状结构上的根节点代表分层时间格式中最大的时间单位,而树状结构的子节点可代表较小的时间单位。例如,当分层时间格式“年.月.周”表示为节点树状结构时,“年”可由根节点表示,“月”可由根节点的分支子节点表示,“周”可由“月”子节点的分支子节点表示。子节点距根节点(处于树状结构的顶端)越远,这些子节点在树状结构中的位置越靠下。

当收集的数据标记了时间元素时,将标记了时间元素的数据的类型或类别附加到时间元素之后,从而构成“身份”,其格式为:“车辆.分类.时间元素”,与节点树状结构上节点的格式类似。在此格式中,“车辆”代表收集数据的来源车辆,“分类”表示已标记的数据的类别或类型,“时间元素”表示数据的标记时间。本领域技术人员将认识到,此示例中节点树状结构的根节点可以为“车辆”,因为所有收集的数据都与“车辆”相关,而“分类”分支代表从根节点向下延伸的子节点,“时间元素”分支代表从子节点向下延伸的孙节点,继而拥有此身份的节点在节点树状结构上可被归类为“车辆.分类.时间元素”节点。

例如,假设收集了车辆的引擎速度相关数据,给该数据标记由节点树状结构上的节点表示的身份“车辆.引擎速度.2016.06”,其中,“车辆”代表根节点,“引擎速度”代表“分类”分支,而“2016.06”(以“年.月”格式为例)代表标记数据的时间,其中该时间元素分支采用了分层时间格式。在此示例中,“引擎速度”这一“分类”分支被附加到时间元素之后以构成身份。本领域技术人员将认识到,根据车辆的电子系统收集的数据的类型,此流程可针对所有类型分类重复。本领域技术人员将认识到,“分类”分支可被附加到具有任意类型的分层时间格式的时间元素之后,例如“年.月.周.日”、“年.月.周”、“年.月”或此类分层格式的任意组合,条件是时间格式包括至少两种上述时间单位。

在加密任何数据日志之前,根密钥模块305将为基于身份的分层加密(hierarchicalidentitybasedencryption,hibe)方案生成一个主密钥或根密钥。根密钥关联根节点,此根节点在上文示例中为收集数据的来源车辆。此根密钥储存在根密钥模块305内的安全存储器中,随后被用于获取私用数据密钥或子密钥以加密收集的数据日志。hibe方案是一种非对称加密方案,采用定制的分层节点树状结构。该节点树状结构可被可视化为树,树具有从单个根节点向下延伸(或扩展)的根-父-子-孙等节点。在此描述中,本领域技术人员将认识到,树状结构上的第一子节点指的是位于树状结构最高处(即,最接近根节点)的子节点,而树状结构上的第二子节点指的是从第一子节点向下延伸的子节点,即在树状结构上的所处位置低于第一节点,树状结构上的第三子节点指的是从第二子节点向下延伸的子节点,即在树状结构上的所处位置低于第二子节点。本领域技术人员还将认识到,子节点的序号越大,表示子节点在节点树状结构上所处的位置越低。此外,提及节点树状结构上的节点时指的是组成子节点分层结构的节点。例如,处于第三子节点层的节点可包括根节点、第一子节点、第二子节点以及第三子节点(即,根.第一.第二.第三)。如另一示例所示,处于第一子节点层的节点可包括根节点和第一子节点(即,根.第一)。

总之,对于加密流程,使用对应的子密钥加密与树状结构上的每个节点关联的数据或纯文本,其中,每个对应的子密钥基于节点的关联身份(或节点在节点树状结构上的位置)以及节点的子密钥生成。对于解密流程,使用根密钥来获取父密钥以解密关联的父文件和/或关联的密文。然后可以使用父密钥获取位于树状结构更低位置的节点的子密钥。之后再利用这些子密钥解密关联的子文件。此后可重复该流程以解密与位于树状结构更低位置的节点关联的文件。

需要说明的是,此hibe方案仅允许向下解密流程但不允许向上解密流程。这意味着,子密钥不可用于解密使用与父节点身份关联的私用数据密钥加密的加密文件。也就是说,属于较低节点的私用数据密钥不可用于解密较高节点中的加密文件,较高节点即离根节点更近的节点。例如,某教授的身份可写为“大学.学院.系部.姓名”,其中与树状结构的根关联的身份为“大学”。大学的校长可以拥有可用于获取所有大学员工包括学院院长系部部长等的密钥(即子密钥)的根密钥,而学院院长可获取其学院内所有人员包括系部主任的(即,树状结构上较低节点的)子密钥,系部主任可获取其系部内所有教授的子密钥。然而,隶属系部的普通教授(拥有“大学.学院.系部.姓名”身份)不能使用与其身份关联的子密钥解密被其系部主任加密的材料。这是因为其系部主任会使用基于自己的“大学.学院.系部”身份生成的自己的数据密钥加密了自己的材料,且系部主任在树状结构上所处的节点比教授的节点高(即,教授拥有的是子密钥而系部主任拥有的是父密钥)。因此,属于树状结构上较低节点的子密钥(即,教授的密钥)不可用于解密使用与更高节点关联的身份(即,系部主任的身份)加密的材料。本领域技术人员所熟知的hibe方案工作方式的详细解释可参见丹·伯奈等撰写的出版物“密文大小恒定的基于身份的分层加密(hierarchicalidentitybasedencryptionwithconstantsizeciphertext)”。

回到图3中示出的示例,按预设的时间间隔,给与分类元素关联的数据标记分类元素以构成身份。默认情况下,应当理解,作为根节点的车辆元素始终作为根包括在身份中。扼要重述:身份包括车辆元素(即根节点)、代表数据类型的分类元素以及代表给数据标记身份的时间的时间元素。该身份及其标记的数据日志随后被提供给加密和上传模块310。然后模块310将使用对应的子密钥加密每条数据日志,每个对应的子密钥基于数据日志的标记身份和之前生成的根密钥生成。

也可以说,每个对应的子密钥可基于每条数据日志的标记节点和根密钥生成。扼要重述:每个身份可表示为节点树状结构上的一个节点。于是,为了给节点树状结构上的节点(或身份)生成对应的子密钥,首先要确定标记了数据日志的节点的适当子节点。然后使用根密钥按层级降序顺序计算子密钥。例如,标记了数据日志的节点的适当子节点可包括第一子节点、第二子节点和第三子节点。在此示例中,将首先使用根密钥、第一子节点和根节点为节点的第一子节点生成第一子节点密钥。一旦完成,将使用第一子节点密钥、节点的第二子节点、第一子节点和根节点为第二子节点生成第二子节点密钥。最后,使用第三子节点、第二子节点、第一子节点、根节点和第二子节点密钥为节点生成子密钥。

然后,加密和上传模块310上传加密的数据及其各自的标记身份(节点)到云服务器105。在此阶段有必要注意的是,在不偏离本发明的情况下,术语身份和节点在此描述中自始至终可交替使用。如果在此阶段车载模块120无法与云服务器105建立无线连接,车载模块120可储存准备上传的材料直到与云服务器105的无线连接建立。一旦建立了无线连接,就可将材料上传到云服务器105。

例如,按预设的示例时间间隔,可通过给关联的数据日志标记包括“车辆.引擎速度.2016.01.01”的身份或节点来构成第一身份,同理,也可通过给关联的数据日志标记包括“车辆.电池电量.2016.01.01”的身份或节点来构成第二身份。在此阶段有必要重申,对于第一身份或节点的结构,根节点为“车辆”,第一子节点为“引擎速度”,第二子节点为“2016.01”(只要是大于第三子节点的时间单位)以及第三子节点为“01”。

然后,将这两个身份及其标记的数据日志传输到加密和上传模块310。模块310使用第一身份(即“车辆.引擎速度.2016.01.01”)和之前生成的根密钥生成与第一身份关联的子密钥。然后,使用此子密钥加密标记到第一身份的数据日志。第一身份的子密钥的生成过程如下:首先使用根密钥和“车辆.引擎速度”生成第一子节点密钥。一旦完成,将使用第一子节点密钥和“车辆.引擎速度.2016.01”生成第二子节点密钥。最后,使用“车辆.引擎速度.2016.01.01”和第二子节点密钥生成第一身份的子密钥。

类似地,模块310将使用第二身份(即“车辆.电池电量.2016.01.01”)和之前生成的根密钥生成与第二身份关联的子密钥。然后,使用与第二身份关联的此子密钥加密标记到第二身份的数据日志。

在本发明的实施例中,可通过标准hibe加密函数如encrypt(“childkey[vehicle.engine_speed.2016.01.01]”.datalog)来执行关联的数据日志的加密流程。加密的数据日志及其各自的标记身份随后可从模块310上传到云服务器105。云服务器105将接收加密的数据及其标记身份并将所有收到的材料储存在数据库330中,该数据库包括设于安全服务器内的安全存储器。

在此示例实施例中,假设该受试车辆已安装了车载模块120。当第三方服务提供商欲获取车辆的(某个具体时间周期的)特定数据以执行各种流程或维护工作时,第三方服务提供商将使用服务模块110来执行数据解密流程。设于服务模块110内的认证和服务模块340将基于储存在服务器105中的数据的标记身份或节点识别待解密的数据。具体而言,模块340将选择车辆的具有所要求的分类元素和落在要求时间周期内的时间元素(至少具有一个大时间单位和一个小时间单位)的身份或节点。也就是说,模块340可发送一条包含所需的具体时间周期的请求到云服务器105,请求具有此时间周期内的节点的加密车载数据。

收到检索请求后,云服务器105将检索标记了落在检索请求指定的时间周期内的节点或身份的所有加密车载数据。然后云服务器105将所检索出的加密车载数据(标记了落在要求时间周期内的身份)传输到模块340。在此阶段应当重申,每个身份对应节点树状结构上的一个节点。于是,这意味着落在要求时间周期内的身份都将具有节点树状结构上的一个共有节点。在此示例中,身份{“车辆.速度.2016.02.01~车辆.速度.2016.02.28”}的共有节点实际为“车辆.速度.2016.02”。

从所收到的节点或所收到的身份中,模块340将识别出所收到的节点共有的一组子节点。模块340随后向车载模块120请求对应此共有身份或共有子节点组的聚合密钥。需要说明的是,请求包含所确定的共有身份或共有节点。

例如,模块340可识别出所收到的节点具有为所有收到的节点所共有的大时间单位。于是使用该大时间单位来识别共有子节点组。然后,将仅包括根节点、分类元素(第一子节点)和所识别出的共有大时间单位(第二子节点)的共有子节点组作为聚合密钥请求的一部分传输到云服务器105。

在更为详细的示例中,假设模块340已经检索出时间周期包括2016年2月整月的关于车辆速度的加密数据,即:{“车辆.速度.2016.02.01~车辆.速度.2016.02.28”}。此检索出的身份集合中的所有身份所共有的大时间单位或选择的身份所属的时间周期为“2016.02”,代表年和月。也就是说,这意味着此示例中共有子节点组可为“车辆.速度.2016.02”。出于完整性,需要说明的是,在此示例中,小时间单位代表天。然后将带有共有子节点组“车辆.速度.2016.02”的聚合密钥请求传输到车载模块120。

设于车载模块120内的认证模块315接收带有共有子节点组的请求。认证模块315将分析请求,然后根据hibe方案基于根密钥和共有子节点组中子节点的层级关系为共有子节点组生成聚合密钥。一旦生成了共有子节点组的聚合密钥,就将聚合密钥从车载模块120传输到服务模块110。

对于上述示例,共有子节点组包括“车辆.速度.2016.02”。于是,将使用根密钥和“车辆.速度”首先生成与最高非根节点即“速度”关联的子密钥kspeed。然后使用子密钥kspeed和“车辆.速度.2016”为按序低一级的节点即“2016”生成子密钥kspeed.2016。然后,使用该子密钥kspeed.2016和“车辆.速度.2016.02”为按序更低一级的节点即“02”生成子密钥kspeed.2016.02。其后,将共有子节点组“车辆.速度.2016.02”的聚合密钥kspeed.2016.02从车载模块120传输到服务模块110。

认证和服务模块340随后接收和储存来自认证模块315的聚合密钥。模块340进而使用所收到的聚合密钥和检索出的每条加密车载数据的标记身份或节点获取节点的子密钥,以解密附加了每个身份或节点的每条数据日志。然后,分析解密的数据日志以获取车辆相关的诊断数据。

回到之前的示例,对于{“车辆.速度.2016.02.01~车辆.速度.2016.02.28”}之间的身份集合,这意味着模块340可使用聚合密钥kspeed.2016.02为该时间周期内包含的身份或节点生成所有子密钥,其中,聚合密钥和关联的身份或节点用于生成此集合中每个身份的子密钥。在本示例中,这意味着将使用聚合密钥及其关联的身份或节点生成以下子密钥:“kspeed.2016.02.01”、“kspeed.2016.02.02”……“kspeed.2016.02.27”、“kspeed.2016.02.28”。然后,可以使用每个子密钥解密标记到此集合中每个唯一身份或节点的每条数据日志。

然而,如果模块340欲获取车辆相关的特定数据,模块340将基于储存在服务器105中的数据的标记身份识别待解密的特定数据。在本实施例中,模块340将选择具有要求的分类元素和时间元素的特定身份,或者也可以说,模块340将选择节点树状结构上特定节点以待解密。模块340随后将传输特定子密钥请求到车载模块120,该请求可包括特定身份或特定节点。

例如,假设模块340欲获取标记到如下身份集合的特定数据:{“车辆.速度.2016.02.01”、“车辆.速度.2016.02.02”、“车辆.速度.2016.02.03”、“车辆.速度.2016.02.04”、“车辆.速度.2016.02.06”}。随后在请求中将这些特定身份传输到车载模块120,且忽略如上文描述的确定共有节点或共有身份的步骤。

设于车载模块120内的认证模块315接收请求和特定身份或节点。认证模块315将分析该解密请求并使用之前生成的根密钥和hibe方案为所收到的身份生成子密钥。一旦生成了特定身份或节点的子密钥,就将该子密钥从车载模块120传输到服务模块110。对于上述示例,所提供的身份可包括{“车辆.速度.2016.02.01”,“车辆.速度.2016.02.02”,“车辆.速度.2016.02.03”,“车辆.速度.2016.02.04”,“车辆.速度.2016.02.06”}。于是,将首先使用根密钥生成与最高非根节点即“速度”关联的子密钥kspeed。然后使用子密钥kspeed为按序低一级的节点即“2016”生成子密钥kspeed.2016。然后,使用该子密钥kspeed.2016为按序更低一级的节点即“02”生成子密钥kspeed.2016.02。其后,使用子密钥2016.02为按序更低一级的节点即“01、02、03、04、和06”生成子密钥kspeed.2016.02.01、kspeed.2016.02.02、kspeed.2016.02.03、kspeed.2016.02.04和kspeed.2016.02.06。然后,将子密钥kspeed.2016.02.01、kspeed.2016.02.02、kspeed.2016.02.03、kspeed.2016.02.04和kspeed.2016.02.06从车载模块120传输到服务模块110。

认证和服务模块340将接收和储存来自认证模块315的特定身份的子密钥。然后使用该子密钥及每个唯一身份或节点来解密附加了每个身份的每条数据日志。然后,分析解密的数据日志以获取车辆相关的诊断数据。

出于完整性,需要说明的是,如果模块340要请求与两个不同的身份集合关联的加密数据(即,分类分支包括两种类型,例如速度和电池),则可导致服务模块110向车载模块120传输用于获取两个聚合密钥的请求和两组共有子节点。然后,认证模块315将分析该请求,并使用上述方法为两组共有子节点生成两个唯一的聚合密钥。一旦生成了这两个共有子节点组的聚合密钥,就将该聚合密钥从车载模块120传输到服务模块110。

模块340将执行类似解密流程,其中,对于第一选择身份集合,模块340将使用第一聚合密钥和检索出的每条加密数据的标记身份或节点获取此第一集合内每条数据日志的子密钥,对于第二选择身份集合,模块340将使用第二聚合密钥和检索出的每条数据日志的标记身份获取此第二集合内每条数据日志的子密钥。然后使用获取的每个子密钥解密对应的标记数据日志。

在本发明的又一实施例中,车辆的用户可能需要通过使用其移动设备管理私钥的发布,这可由移动模块115完成。移动模块115设置在用户的移动设备中并包括认证模块350、管理模块360和鉴权模块355。为了使移动模块115能向第三方服务提供商发布聚合密钥或鉴权码,首先需要从根密钥模块305(设于车载模块120中)复制根密钥到移动模块115。这可通过密码认证密钥交换(passwordauthenticatedkeyexchange,pake)方案完成。在pake方案中,认证模块350将首先检索移动模块115和车载模块120均知道的预设共享密码。例如,移动模块和车载模块均知道的共享密码可以是快速响应矩阵(quick-response,qr)码或数字图像。移动模块115可将qr码显示在移动设备的显示屏上,连接到车载模块120的摄像头可捕获显示的qr码。

然后移动模块115中的认证模块350将使用标准加密方法加密共享密码。然后将加密的共享密码从移动模块115传输到车载模块120,以协商用于在车载模块120和移动模块115之间建立安全通信的共享加密密钥。一旦完成,就使用共享加密密钥来加密来自根密钥模块305的根密钥。然后,使用短距离无线通信方法将加密的根密钥传输到移动模块115,继而解密并在认证模块350中储存加密的根密钥。

一旦根密钥储存到认证模块350中,与认证模块350协同工作的鉴权模块355可执行设于车载模块120内的上传和加密模块310和认证模块315的功能。也就是说,用于获取聚合密钥的请求和共有子节点组可由设于移动模块115内的鉴权模块355代为接收。鉴权模块355将分析该请求并使用根密钥生成聚合密钥,如上所述。一旦生成了共享子节点组的聚合密钥,就将该聚合密钥从移动模块115传输到服务模块110,然后可按上文所述进行解密流程。

在本发明的又一实施例中,可要求第三方服务提供商控制车辆一段时间。例如,如果第三方服务提供商是自动停车系统,则第三方服务提供商需要获得要求的权限或特权以控制车辆。为此,用户将需要授予服务提供商有限特权以使服务提供商可以在固定时间段内向车辆下发命令。在管理模块360使用储存在认证模块350中的根密钥来获取特定特权的签名密钥时发起有限特权的授予。在该密钥中指示了分类元素和特权的失效时间。例如,假设签名密钥包括“自动驾驶.2016.11.03.02.7pm”。将该签名密钥从模块360通过移动模块115发送到服务模块110。然后服务模块110可使用该签名密钥来控制所需的车辆特性。为此,可将签名密钥从服务模块110传输到车载模块120,其中认证模块315将使用储存在根密钥模块305中的根密钥验证签名密钥的有效性。如果认证模块315确定该签名密钥确实是由相同的根密钥发布的,则认证模块将签名密钥中包含的命令转发到控制模块320。然后控制模块320将使得车辆中的适当电子系统执行该命令。

根据本发明实施例,提供了一种控制车辆的车载数据访问的方法,收集车载数据并给其标记节点树状结构上的节点,车载数据由设于车辆中的车载模块加密并储存到云服务器上,所述方法包括服务设备或移动模块,执行以下五个步骤:

步骤1、发送请求到云服务器,其中,该请求包括一个时间周期,云服务器在收到请求时检索拥有对应于时间周期的标记节点的加密车载数据;

步骤2、接收来自云服务器的检索出的加密车载数据及其标记节点,其中,每个节点代表节点树状结构上的一个节点;

步骤3、确定收到的加密车载数据的标记节点共有的一组子节点;

步骤4、为共有子节点组请求聚合密钥;

步骤5、基于请求的聚合密钥和收到的每条加密车载数据的标记节点为收到的每条加密车载数据生成子密钥,其中,每个生成的子密钥用于解密对应的加密车载数据。

为了提供此种系统或方法,需要一个流程以生成用来计算子密钥的聚合密钥,以便解密使用子密钥加密了的密文。以下说明以及图4和图5描述了根据本发明的提供流程的流程实施例。

图4示出了由车载模块执行以加密标记的数据日志和获取私钥的流程400。流程400始于步骤400:车载模块从设于智能车辆中的各个电子系统中收集数据日志。接着,流程400在步骤405给收集的数据日志标记其各自的身份,其中每个身份包括节点树状结构形式的“根”分支、“分类”分支和“时间”分支。“分类”分支代表收集的数据日志的类型或类别,如车辆速度、油箱液位等,而“时间”分支代表给数据日志标记身份的时间或收集数据的平均时间。“根”分支与收集数据的来源车辆的名字或标识相关联。需要说明的是,步骤405可以按预设的时间间隔发生,具体的时间间隔作为设计选项由本领域技术人员决定。

流程400在步骤410获取hibe方案的根密钥。根密钥与车辆关联。接着,流程400在步骤415选择唯一身份及其标记的数据日志。在步骤425,流程400使用根密钥和基于hibe方案为选择的身份计算出的子密钥加密标记到所选身份的数据日志。流程400在步骤430确定是否存在待流程400选择的具有标记的数据日志的另一唯一身份。如果流程400确定存在这样的另一唯一身份,则流程400转到步骤435,在步骤435中,流程400选择下一个唯一身份及其标记的数据日志。然后流程400返回步骤425为所选择的身份计算子密钥并使用根密钥和hibe方案加密标记的数据日志,并且,流程400重复步骤430到步骤435,直到流程400处理完所有标记到唯一身份的数据日志,即所有数据日志都已被加密。

然后流程400从步骤430转到步骤440:将加密车载数据及其对应的身份从车载模块传输到云服务器。一旦完成,流程400将在步骤445保持空闲模式,等待接收生成聚合密钥的请求。如果流程400在步骤445收到生成聚合密钥的请求,则流程400转到步骤450:使用根密钥和共有子节点组或特定的身份/节点来为共有子节点组生成聚合密钥,或为特定的身份生成特定的子密钥。然后流程400将聚合密钥传输到发起请求的源,并返回步骤445的空闲模式。

图5示出了由服务模块执行以获取聚合密钥用于解密选择的标记加密数据日志的流程500。流程500始于步骤505,在此步骤流程500收到命令要求解密标记到特定身份的车载数据,每个身份具有与第一节点关联的特定分类元素/分支以及具有与第二节点关联的特定时间周期,即这些身份具有第一分类元素和第一大时间单位。接着,流程500请求聚合密钥,该密钥与具有特定分类元素且对应于特定时间段的身份即共有身份相关联。发生在步骤510的此请求涉及以下内容:流程500发送聚合密钥请求及包括第一分类元素和第一大时间单位的共有子节点组到拥有hibe方案根密钥的模块(如车载模块或移动模块)。一旦获取所要求的聚合密钥,流程500转到步骤515。在步骤515,从云服务器检索标记到具有特定分类元素且对应于特定时间段的这些身份或节点的车载数据及其标记身份。需要说明的是,步骤515可在步骤510前发生,这两个步骤可互换。

接着,流程500从检索出的材料集合中选择一个检索到的身份和标记的加密车载数据。此举发生在步骤520。接着,流程500转到步骤525,在步骤525中,流程500使用选择的身份和聚合密钥及hibe方案为选择的身份获取子密钥。然后流程500在步骤530使用获取的子密钥解密标记到选择的身份的加密数据日志。

流程500在步骤535检查是否存在另一个检索出的身份,标记到该身份的加密数据日志待步骤525和530处理。如果流程500确定存在另一个这样的身份,则流程500转到步骤540:选择下一个身份及其标记的加密数据日志。然后,流程500转到步骤525,在步骤525中,流程500使用选择的身份和聚合密钥及hibe方案为选择的身份获取另一个子密钥。接着,流程500在步骤530使用新获取的子密钥解密标记到选择的身份的加密数据日志。重复步骤525到535,直到所有检索出的身份及其标记的加密数据日志都已被步骤525和530处理。然后,流程500结束。

以上是如在所附权利要求书中阐述的根据本发明的系统和过程的实施例的描述。预计其它人可能会或将会设计出属于所附权利要求书范围内的替代方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1