用于加密、解密和认证的方法和装置与流程

文档序号:14993322发布日期:2018-07-20 22:56阅读:246来源:国知局

与示例性实施例一致的装置和方法涉及加密、解密和认证。更具体地,与示例性实施例一致的设备和方法涉及在共享环境通信平台上的数据的加密、解密和认证。



技术实现要素:

一个或多个示例性实施例提供了一种在共享环境通信平台上加密、解密和认证数据的方法和装置。更具体地,一个或多个示例性实施例提供了一种在诸如嵌入式车辆网络的共享环境通信平台上加密、解密和认证数据的方法和装置。

根据示例性实施例的一个方面,提供了一种用于认证数据的方法。该方法包括基于在车辆部件处检测到的信息生成车辆数据;基于存储在第一设备处的对称秘密密钥以及关于车辆的信息和关于车辆的驾驶员的信息中的至少一个来生成动态秘密密钥;以及通过使用所生成的动态秘密密钥来生成消息认证代码以认证车辆数据。

关于车辆的信息可以包括电子控制器单元的标识信息、电子控制器单元组的标识信息、与网络相对应的标识信息、车辆的标识信息以及与车辆功能相对应的信息。

关于驾驶员的信息可以包括驾驶员的标识信息、驾驶员的认证信息、基于驾驶员动作的动态生成信息以及与驾驶员相对应的车辆设置中的至少一个。

该方法可以进一步包括通过使用所生成的动态秘密密钥来加密车辆数据。

该方法可以进一步包括将加密的车辆数据添加到消息有效负荷;以及将消息认证代码和消息有效负荷传输到第二设备。

该方法还可以包括将消息认证代码添加到消息有效负荷;以及将消息有效负荷传输到第二设备。

所述方法可以进一步包括基于存储在所述第一设备处的所述对称秘密密钥以及关于车辆的信息和关于车辆驾驶员的信息中的至少一个来生成第二动态秘密密钥;以及通过使用所生成的第二动态秘密密钥来加密车辆数据。

根据另一示例性实施例的一方面,提供了一种用于认证数据的方法。该方法包括在第二设备处接收车辆数据和消息认证代码;基于存储在第二设备处的对称秘密密钥以及关于车辆的信息和关于车辆的驾驶员的信息中的至少一个来生成动态秘密密钥;以及基于所生成的动态秘密密钥来验证所接收的消息认证代码和车辆数据。

关于车辆的信息可以包括电子控制器单元的标识信息、电子控制器单元组的标识信息、与网络相对应的标识信息、车辆的标识信息以及与车辆功能相对应的信息。

关于驾驶员的信息可以包括驾驶员的标识信息、驾驶员的认证信息、基于驾驶员动作的动态生成信息以及与驾驶员相对应的车辆设置中的至少一个。

车辆数据可以包括加密的车辆数据。该方法可以进一步包括通过使用所生成的动态秘密密钥来加密车辆数据。

该方法进一步包括基于消息认证代码响应于验证的消息有效负荷在第二设备处执行与解密的车辆数据相对应的车辆功能。

该方法还包括基于存储在第一设备处的对称秘密密钥以及关于车辆的信息和关于车辆驾驶员的信息中的至少一个来生成第二动态秘密密钥;以及通过使用所生成的第二动态秘密密钥来加密车辆数据。

根据另一个示例性实施例的一个方面,提供了一种用于认证、加密和/或解密数据的系统。该系统包括至少一个包括计算机可执行指令的存储器;以及至少一个处理器,其被配置为读取并执行计算机可执行指令。所述计算机可执行指令使得至少一个处理器:生成车辆数据;基于存储在第一设备处的对称秘密密钥以及关于车辆的信息和关于车辆驾驶员的信息中的至少一个来生成第二动态秘密密钥;并基于所生成的动态秘密密钥生成消息认证代码。

根据另一个示例性实施例的一个方面,提供了一种用于认证、加密和/或解密数据的系统。该系统包括至少一个包括计算机可执行指令的存储器;以及至少一个处理器,其被配置为读取并执行计算机可执行指令。所述计算机可执行指令使得至少一个处理器:生成车辆数据;基于存储在第一设备处的对称秘密密钥以及关于车辆的信息和关于车辆驾驶员的信息中的至少一个来生成动态秘密密钥;以及通过使用所生成的动态秘密密钥来加密车辆数据。

计算机可执行指令还可以使得至少一个处理器:基于所生成的动态秘密密钥来生成消息认证代码;将消息认证代码和加密的车辆数据添加到消息中;以及将消息认证代码和消息传输到第二设备。

计算机可执行指令还可以使得至少一个处理器:基于所生成的动态秘密密钥来生成消息认证代码;以及将消息认证代码传输到第二设备。

计算机可执行指令还可以使得至少一个处理器:在第二设备处接收消息认证代码和消息;基于存储在第二设备处的对称秘密密钥以及关于车辆的信息和关于车辆的驾驶员的信息中的至少一个来生成动态秘密密钥;在第二设备处基于所生成的动态秘密密钥解密加密的车辆数据;并且在第二设备处验证基于消息认证代码的消息。

关于车辆的信息可以包括电子控制器单元的标识信息、电子控制器单元组的标识信息、与网络相对应的标识信息、车辆的标识信息以及与车辆功能相对应的信息。

关于驾驶员的信息可以包括驾驶员的标识信息、驾驶员的认证信息、基于驾驶员动作的动态生成信息以及与驾驶员相对应的车辆设置中的至少一个。

计算机可执行指令还可以使得至少一个处理器基于消息认证代码响应于验证的消息在第二设备处处理车辆数据。

从示例性实施例的以下详细描述和附图中,示例性实施例的其他目的、优点和新颖特征将变得更加明显。

附图说明

图1示出了根据示例性实施例的用于对数据进行加密、解密或认证的装置的框图;

图2示出了根据示例性实施例的通过生成消息认证代码来验证数据用于认证数据的方法的流程图;

图3示出了根据示例性实施例的基于接收到的消息认证代码用于认证数据的方法的流程图;以及

图4示出了根据示例性实施例的一方面的嵌入式车辆网络的加密和解密数据的流程图。

具体实施方式

现在将参照附图说明中的图1-4详细描述对数据进行加密、解密和认证的设备和方法,其中,相同的附图标记始终表示相同的元件。

以下公开将使本领域技术人员能够实践本发明构思。然而,这里公开的示例性实施例仅仅是示例性的,并不将本发明构思限制于这里描述的示例性实施例。此外,每个示例性实施例的特征或方面的描述通常应被认为可用于其他示例性实施例的方面。

还应理解,在此处陈述的是,第一元件“连接到”、“附接到”、“形成在...上”或“设置在”第二元件上,第一元件可以直接连接到、直接形成在第二元件上或直接设置在第二元件上,或者在第一元件和第二元件之间可以存在中间元件,除非声明第一元件“直接”连接到、附接到、形成在或布置在第二元件上。此外,如果第一元件被配置为从第二元件“发送”或“接收”信息,则第一元件可以直接向第二元件发送或从第二元件接收信息、经由总线发送或接收信息、经由网络发送或接收信息,或经由中间元件发送或接收信息,除非指示第一元件“直接”向或从第二元件发送或接收信息。

在整个公开内容中,所公开的一个或多个元件可被组合成单个设备或组合成一个或多个设备。另外,可以在单独的设备上提供单独的元件。

通过在不解密数据的情况下使交换的数据无法标识给查看数据的任何人来对要传输的数据进行加密以确保数据和信息的安全传输。另外,可以根据仅基于传输设备和/或接收设备已知的变量的算法来生成消息认证代码(mac),以确保接收到的消息从置信源发送。此外,可以使用认证和加密来确保数据保持秘密并确保数据由置信源传输。mac的使用减少了未授权源通过使用合法源的mac来发送消息进行欺骗的可能性。例如,经由车内局域网(lans)在电子控制器单元(ecus)之间传输的某些关键信息必须经过认证,以确保这些消息中包含的数据是来自置信源。

为了认证消息,这些消息的传输器负责在传输之前生成mac并将其置于消息的有效负荷中。这些消息的接收器然后可以在接受用于功能处理的接收数据之前成功地验证mac。可以使用在消息的传输器和接收器之间共享的秘密对称密钥来生成mac。密钥可以是128位、192位或256位密钥。然而,秘密密钥不限于上述配置,并且可以改变长度。

在对称密钥加密中,传输器和接收器都具有用于对数据进行加密、解密和/或认证的相同密钥的副本。对称秘密密钥不改变并且必须保持秘密以便不暴露加密的数据。此外,根据传输器和接收器都知道的变量和算法来生成动态密钥。然后所生成的动态密钥可以用于加密、解密和/或认证数据。因此,由于变量的变化,动态密钥可能会随时间而改变。由于这样的车辆和驾驶员动态数据可能会阻碍外部攻击的有效性,因为攻击者需要考虑即时访问信息,应该监测其变量的知识以生成动态秘密密钥,每个变量如何影响动态密钥计算、存储在非易失性存储器上的原始对称秘密密钥以及正在使用的密码算法。

根据一个实例,安全外围设备(例如,安全硬件扩展(she))可以用于加密硬件加速、安全密钥存储和安全密钥限制。she可以为应用层提供一套基于aes的固定密码服务组。例如,加密和解密、基于密码的消息认证代码(cmac)生成和验证、随机数字生成、引导加载器验证和/或唯一设备标识。

对称秘密密钥和证书可以存储在专用存储器(例如,非易失性存储器)中,该应用不可对其进行访问并且只能由安全外围控制逻辑访问。存储在安全存储器中的密钥可以通过索引(例如,从0到14)来引用,并且通过特殊过程在安全存储器中更新。根据一个实例,存储器可以用作二十个128位通用密钥的存储器,其可以用于加密、解密或mac生成和/或验证。

根据另一个实例,将经认证的消息分成虚拟群组允许对秘密(密钥)的细粒进行分离以限制暴露的秘密密钥的损害。可以通过将相同的秘密对称密钥分配给受限制的ecu组(或实体)来从传统的对称密码术中形成虚拟群组。在一个实例中,动态密钥可以基于被认为对特定元件操作重要的密钥变量和/或通信而生成。这些动态密钥的生成将允许虚拟群组根据被认为对那些特定元件的通信来说重要的关键变量进一步分离。

图1示出根据示例性实施例的用于对数据100进行加密、解密或认证的装置的框图。如图1所示,根据示例性实施例的对数据100进行加密、解密或认证的装置包括控制器101、电源102、存储器103、车辆信息输入104以及通信设备105。然而,加密解密或认证数据100的装置不限于上述配置,并且可以被配置为包括附加元件和/或省略一个或多个前述元件。进行数据100加密、解密或认证的装置可以作为车辆的一部分、作为车辆(ecu)的一部分或作为独立的部件来实现。

控制器101控制对数据100进行加密、解密或认证的装置的整体操作和功能。控制器101可以控制加密和解密数据的装置的电源102、存储器103、车辆信息输入104和通信设备105中的一个或多个。控制器101可以包括处理器、微处理器、中央处理单元(cpu)、图形处理器、应用专用集成电路(asic)、现场可编程门阵列(fpga)、状态机、电路以及硬件、软件和固件组件的组合中的一个或多个。

控制器101被配置为发送和/或接收来自对数据100进行加密、解密或认证的装置的存储器103、车辆信息输入104和通信设备105中的一个或多个的信息。该信息可以经由总线或网络发送和接收,或者可以直接读取或写入到加密、解密或验证数据100的装置的存储器103、车辆信息输入104和通信设备105的一个或多个中。合适的网络连接的实例包括控制器局域网(can)、面向媒体的系统传输(most)、本地互连网络(lin)、局域网(lan)以及其他适当的连接,诸如以太网。

电源102向加密、解密或认证数据100的装置的控制器101、存储器103、车辆信息输入104和通信设备105中的一个或多个提供电力。电源102可以包括电池、插座、电容器、太阳能电池、发电机、风能设备、交流发电机等中的一个或多个。

存储器103被配置用于存储信息并检索由加密、解密或认证数据100的装置使用的信息100。存储器103可以由控制器101控制,以存储和检索关于车辆的信息以及关于车辆的驾驶员的信息中的包括加密、解密和认证算法、对称密钥、动态秘密密钥的信息。关于车辆的驾驶员的信息可以包括驾驶员的标识信息、驾驶员的认证信息以及与驾驶员相对应的车辆设置。关于车辆的信息可以包括电子控制器单元的标识信息、电子控制器单元组的标识信息、与网络相对应的标识信息、车辆的标识信息以及与车辆功能相对应的信息中的至少一个。存储器103还可以包括被配置为由处理器执行的计算机指令,以执行加密、解密或认证数据100的装置的功能。

存储器103可以包括软盘、光盘、cd-roms(光盘只读存储器)、磁光盘、roms(只读存储器)、rams(随机存取存储器)、eproms(可擦除可编程只读存储器)、eeproms(电可擦除可编程只读存储器)、磁卡或光卡、闪存、高速缓冲存储器以及适用于存储机器可执行指令的其他类型的介质/机器可读介质中的一个或多个。

车辆信息输入104被配置为从车辆诊断模块、发动机控制模块、动力传动系控制模块、车身控制模块和人机界面模块中的一个或多个接收信息。可以通过车辆内通信网络,诸如使用控制器局域网(can)总线,或者任何其它类型的网络和/或协议或者通过通信设备105来接收该信息。

发动机控制模块可以控制发动机操作的各个方面,例如燃料点火和点火正时,并且可以提供关于各种发动机部件的信息。动力传动系控制模块可以调节车辆动力传动系的一个或多个部件的操作并且可以提供关于车辆动力传动系的部件的信息。车身控制模块可以控制位于整个车辆中的各种电气部件,如车辆的电动门锁和头灯,并且可以提供关于电气部件的信息。车辆诊断模块可以提供来自装备在车辆中的一个或多个传感器的数据。例如,车辆可以配备有诸如来自轮胎传感器、制动传感器、流体传感器以及监测车辆的对应部件的性能的各种其他传感器中的一个或多个的传感器。车辆诊断模块,诸如使用控制器局域网(can)总线或任何其他类型的网络和/或协议通过车辆内通信网络从传感器接收数据。通过监测来自传感器的数据,车辆诊断模块然后可以将该信息提供给车辆信息输入104。

通信设备105可以由加密、解密或认证数据100的装置使用,以根据各种通信方法与各种类型的外部装置进行通信。通信设备105可以用于向/从加密、解密或认证数据100的装置的控制器101传输/接收信息。要传输或接收的信息的实例可以包括mac、加密的和未加密的数据。通信设备105可以包括各种通信模块,例如远程信息处理单元、广播接收模块、近场通信(nfc)模块、gps接收器、有线通信模块或无线通信模块中的一个或多个。广播接收模块可以包括地面广播接收模块,其包括用于接收地面广播信号的天线、解调器和均衡器等。nfc模块是根据nfc方法与位于附近距离处的外部装置通信的模块。gps接收器是从gps卫星接收gps信号并检测当前位置的模块。有线通信模块可以是通过诸如局域网、控制器局域网(can)或外部网络的有线网络来接收信息的模块。无线通信模块是通过使用诸如ieee802.11协议、wimax、wi-fi或ieee通信协议的无线通信协议连接到外部网络并与外部网络通信的模块。无线通信模块还可以包括移动通信模块,其访问移动通信网络并且根据诸如第三代(3g)、第三代合作伙伴计划(3gpp)、长期演进(lte)、蓝牙、evdo、cdma、gprs、edge或zigbee执行通信。

输出(未示出)可以用于以一种或多种形式包括:视觉、听觉和/或触觉形式输出信息。输出可以由控制器101控制,以将输出提供给加密、解密或认证数据100的装置的用户。输出可以包括扬声器、显示器、透明显示器、位于中央的显示器、抬头显示器、挡风玻璃显示器、触觉反馈设备、振动设备、触觉反馈设备、抽头反馈设备、全息显示器、仪表灯、指示灯等中的一个或多个。输出可以输出包括声音通知、灯光通知和显示通知中的一个或多个的通知。

用户输入(未示出)可以被配置为向加密、解密或认证数据100的装置提供信息和命令。用户输入可以被用来将用户输入等提供给控制器101。用户输入可以包括触摸屏、键盘、软键盘、按钮、运动检测器、语音输入检测器、麦克风、照相机、触控板、鼠标、触摸板等中的一个或多个。用户输入可以被配置为接收包括关于车辆的驾驶员的信息和关于车辆的信息的用户输入。

对数据100进行加密、解密或认证的装置的控制器101可以被配置为基于来自车辆传感器的信息来接收或生成车辆数据;基于存储在第一设备处的对称秘密密钥以及关于车辆的信息和关于车辆的驾驶员的信息中的至少一个来生成动态秘密密钥;并且生成消息认证代码以通过使用所生成的动态秘密密钥来认证车辆数据。

加密、解密或认证100的装置的控制器101还可以被配置为基于所生成的动态秘密密钥来加密车辆数据;将消息认证代码和加密的车辆数据添加到消息中;并将消息认证代码和消息传输到第二设备。

加密、解密或认证100的装置的控制器101也可以被配置为将消息认证代码添加到消息;并将消息认证代码和消息传输到第二设备。

对数据100进行加密、解密或认证的装置的控制器101可以被配置为在第二设备处接收消息认证代码和消息;基于存储在第二设备处的对称秘密密钥以及关于车辆的信息和关于车辆的驾驶员的信息中的至少一个来生成动态秘密密钥;在第二设备处基于所生成的动态秘密密钥解密加密的车辆数据;并且在第二设备处验证基于消息认证代码的消息。可以通过基于关于车辆的信息和关于车辆的驾驶员的信息中的至少一个的信息来确定或计算第二设备处的消息认证码来执行验证,并将所确定的或计算的消息认证代码接收到的消息认证码进行比较。

对数据100进行加密、解密或认证的装置的控制器101还可以被配置为基于消息认证代码响应于认证的消息有效负荷在第二设备处处理消息有效负荷。

图2示出根据示例性实施例的通过生成消息认证代码来验证数据来认证数据的方法的流程图。可以由装置执行图2的方法,对数据100进行加密、解密或认证,或者可以将数据编码到计算机可读介质中作为可由计算机执行以执行该方法的指令。

参考图2,在操作s210中基于在车辆部件处检测到的信息生成车辆数据。在操作s220中,基于存储在第一设备处的对称秘密密钥以及关于车辆的信息和关于车辆的驾驶员的信息中的至少一个来生成动态秘密密钥。在操作s230中,通过使用所生成的动态秘密密钥来生成消息认证代码。消息认证代码可以通过数据传输到第二设备并且被第二设备用来验证该数据。

图3示出了根据示例性实施例的基于接收到的消息认证代码来认证数据的方法的流程图。图3的方法可以由加密、解密或认证100的装置执行,或者可以作为可由计算机执行的指令编码到计算机可读介质中以执行该方法。

参考图3,在操作s310中,在第二设备处接收消息认证代码和消息有效负荷。可以从第一设备接收消息认证代码和消息有效负荷。在操作s320中,基于存储在第二设备处的对称秘密密钥以及关于车辆的信息和关于车辆的驾驶员的信息中的至少一个来生成动态秘密密钥。在操作s330中,通过使用所生成的动态秘密密钥来确定消息认证代码,并且验证所接收到的消息认证代码。在操作s330中,基于所确定的消息认证代码对消息有效负荷进行认证。例如,所确定的消息认证代码可以与接收到的消息认证代码进行比较以验证所接收到的数据。

图4示出了根据示例性实施例的一方面的嵌入式车辆网络的加密和解密数据的流程图。图4的方法可以由对数据100进行加密、解密或认证的装置执行,或者可以作为可由计算机执行的指令编码到计算机可读介质中以执行该方法。

参考图4,示出了第一ecu400、车辆和驾驶员信息输入405与第二ecu410之间的信息流。在操作s411中,基于在诸如第一ecu400的车辆部件处检测到的信息生成车辆数据。在操作s413中,基于存储在第一ecu400中的对称秘密密钥以及从车辆接收到的关于车辆的信息和关于车辆的驾驶员的信息以及关于从操作s412中的车辆和驾驶员信息输入405中接收到的信息的至少一个生成动态秘密密钥。在操作s414中通过使用所生成的动态秘密密钥来加密车辆数据,并且在操作s415中将车辆数据放置在传输到第二ecu410的消息有效负荷中。在一个实例中,在操作s415中,使用消息认证代码(可选)将消息有效负荷传输到第二ecu410。在另一个实例中,消息认证代码也可以基于生成的动态秘密密钥生成。

在操作s416中,第二ecu410从第一ecu400接收消息认证代码和加密的消息有效负荷。在操作s418中,基于存储在第二ecu410中的对称秘密密钥以及关于车辆的信息和关于从操作s417中的车辆信息输入405接收到的车辆的驾驶员的信息中的至少一个,在第二ecu410处生成动态秘密密钥。然后在操作s419中基于所生成的动态秘密密钥来对加密的消息有效负荷进行解密。

在操作s420(可选)中,第二ecu410基于存储在第二ecu410中的对称秘密密钥以及关于车辆的信息和关于从车辆信息输入405接收到的车辆的驾驶员的信息中的至少一个,使用在第二ecu处确定的消息认证代码来验证接收到的消息认证代码。可以将在第二ecu处确定的消息认证代码与从第一ecu接收到的消息认证代码进行比较。

本文公开的过程、方法或算法可以交付给处理设备、控制器或计算机/由处理设备、控制器或计算机执行,该处理设备、控制器或计算机可以包括任何现有的可编程电子控制设备或专用电子控制设备。类似地,所述过程、方法或算法可被存储为可由控制器或计算机以多种形式执行的数据和指令,所述形式包括但不限于永久存储在不可写存储介质(诸如rom设备)上的信息以及可变地存储在可写存储介质,诸如软盘、磁带、cd、ram设备以及其它磁性和光学介质上。过程、方法或算法也可以在软件可执行对象中实现。或者,可以使用适当的硬件组件,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、状态机、控制器或其他硬件组件或者设备或硬件,软件和固件部件的组合来全部或部分地实现过程、方法或算法。

以上参照附图描述了一个或多个示例性实施例。上面描述的示例性实施例应该仅被认为是描述性的而不是为了限制的目的。而且,示例性实施例可以在不脱离由所附权利要求限定的本发明构思的精神和范围的情况下进行修改。

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