用于管理加密密钥的方法、装置、设备、存储介质以及相应车辆与流程

文档序号:16210447发布日期:2018-12-08 07:40阅读:245来源:国知局
用于管理加密密钥的方法、装置、设备、存储介质以及相应车辆与流程

本公开的实施例总体上涉及安全系统,并且更具体地涉及用于在安全系统中管理加密密钥的方法、装置、设备、存储介质以及相应车辆。

背景技术

为了保护数据的安全性和隐私性,常常采用加密的方式对数据进行安全保护。在安全系统中,业界常用的加密算法包括对称加密算法(aes)和非对称加密算法(rsa)等。这些加密算法的核心要素为密钥。如果加密密钥被恶意用户窃取或者伪造,则必然威胁到整个安全系统的运转。

如何安全有效地管理加密密钥,是数据安全保护的核心。特别是在一些特殊领域中,比如车辆等隐私性极高的安全系统中,保证加密密钥的安全性显得尤为重要。



技术实现要素:

根据本公开的示例实施例,提供了一种用于管理加密密钥的方法、装置、设备、存储介质以及相应车辆。

在本公开的第一方面中,提供了一种用于在安全系统中管理加密密钥的方法。该方法包括:响应于启动所述安全系统,从所述安全系统的用户可访问的存储区域中向所述安全系统的内核域加载一个或多个加密密钥的经加密的密文;将所述一个或多个加密密钥的经加密的密文从内核域提供给所述安全系统的硬件域;在所述硬件域中,利用根密钥对所述一个或多个加密密钥的经加密的密文进行解密,以获得所述一个或多个加密密钥;从所述硬件域向所述内核域提供所述一个或多个加密密钥。

在本公开的第二方面中,提供了一种用于在安全系统中管理加密密钥的装置。该装置包括:内核域加密管理单元,被配置为响应于启动所述安全系统,从所述安全系统的用户可访问的存储区域中向所述安全系统的内核域加载一个或多个加密密钥的经加密的密文;将所述一个或多个加密密钥的经加密的密文从内核域提供给所述安全系统的硬件域;硬件域加密管理单元,被配置为:在所述硬件域中,利用根密钥对所述一个或多个加密密钥的经加密的密文进行解密,以获得所述一个或多个加密密钥;从所述硬件域向所述内核域提供所述一个或多个加密密钥。

在本公开的第三方面中,提供了一种电子设备,其包括一个或多个处理器以及存储装置,存储装置用于存储一个或多个程序。一个或多个程序当被一个或多个处理器执行,使得电子设备实现根据本公开的实施例的方法或过程。

在本公开的第四方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的实施例的方法或过程。

在本公开的第五方面中,提供了一种车辆,其包括根据本公开的实施例的电子设备。

应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其它特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了本公开的实施例能够实现在其中的示例环境的示意图;

图2示出了根据本公开的实施例的用于在安全系统中管理密钥的方法的流程图;

图3示出了根据本公开的实施例的在初始化阶段用于管理加密密钥的方法的流程图;

图4示出了根据本公开的实施例的用于在安全系统中管理加密密钥的装置的框图;以及

图5示出了能够实施本公开的多个实施例的电子设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。下文还可能包括其它明确的和隐含的定义。

如背景技术所述,密钥的有效管理是安全系统的核心。但是,现有的加密密钥的管理存在安全隐患。通常而言,加密密钥会以文件形式存储在用户域的存储装置。这些存储装置为非易失性存储器,虽然可以为特定存储区域设定保护措施(例如用户名、密码验证),但是相对而言仍然容易被破坏或者被恶意用户所盗取。

本公开的实施方式提供一种对加密密钥管理的技术方案,其中利用了硬件加密并借助内核域来实现加密密钥的安全管理。以下参照图1-图5对本公开的各种实施方式进行详细描述。

图1示出了本公开的实施例能够实现在其中的示例环境100的示意图。示例环境100例如可以是诸如车辆等安全系统,能够实现基于密钥的加密算法以便对用户或业务数据(以下称为“业务数据”)进行加密。如所示出的,示例环境100例如可以包括用户域110、内核域120和硬件域130。

用户域110可以包括一个或多个应用(示例性示出为应用111-1、111-2、111-3)。这些应用所产生、获取或交互的数据在本公开中称为业务数据。通常业务数据可能含有安全敏感的信息,因此需要通过加密算法来进行保护。用户域110具有用户可访问的存储装置112,通常为非易失性存储器。存储装置112中存储的数据由于是用户可访问的,因此容易被恶意用户所获取。如果如现有技术一样,将加密业务数据的加密密钥明文存储在存储装置112中,则一旦恶意用户获得加密密钥,将严重威胁整个安全系统的安全性。

内核域120通常可以被理解为属于操作系统的一部分,用户域110应用111-1、111-2、111-3的进程可以通过系统调用来使用内核域120中的内核域加密管理单元121,以便对业务数据进行加密或解密。内核域120可以具有对应的内核域存储122,通常为易失性存储器,用于在进程调用中对处理的数据进行缓存。由于内核域存储122易失的特性,所存储的数据在系统掉电时将会被清空。例如,在对业务数据进行加密解密时,可以将加密密钥存储在内核域存储122中。当诸如示例环境100的安全系统断电或关机时,则内核域存储122将不再保留所存储的加密密钥。由于,由于内核域120相对于用户域110而言更加底层和封闭,而且不会永久性存储密钥信息,因此不易收到恶意用户攻击,安全性更高。

硬件域130处于示例环境100的安全系统的底层,由诸如芯片的硬件组件构成。根据本公开的实施方式,硬件域130包括硬件域加密管理单元131,被配置为执行基于硬件加密算法的加密和解密功能。在一些实施方式中,该硬件域加密管理单元131可以包括诸如受信平台模块芯片,其可以产生并存储硬件加密密钥,以下称为“根密钥”,并使用该根密钥来对内核域120所指定的内容进行加密。

根据本公开的实施方式,在内核域120中通过内核域加密管理单元121随机产生用于加密业务数据的加密密钥,并利用硬件域130的硬件域加密管理单元131来对该加密密钥进行加密。然后,将加密密钥的加密后的密文存储在用户域110的存储装置112中。由此,任何用户在用户域110中至多只能获得加密密钥的经加密的密文,而不能获得加密密钥的明文。而在工作阶段,内核域120可以加载加密密钥的经加密的密文,通过硬件域130的硬件域加密管理单元131来对经加密的加密密钥进行解密,由此获得加密密钥的明文。这些加密密钥的明文仅缓存在内核域120的内核域存储122中,并且被用于在加密解密功能被调用时对相应业务数据进行加密或解密。

通过这种方式,用户域110只能存储加密后的加密密钥的密文,不能直接获得加密密钥明文,而加密密钥明文仅被控制在内核域120之内,且对加密密钥进行加密的根密钥仅保留在硬件域130中。这种分层式密钥管理方式增加了加密密钥的存储和管理的安全性。

以下将参照图2至图4来描述本公开的各种实施方式。基于这些描述,本公开各个实施方式的特点和优点将会更加明显。但是应该理解,这些具体实施方式仅是示例性,本领域的技术人员可以在本公开教导的精神之内作出任何适应性修改和变形,而不会超出本公开的范围。

图2示出了根据本公开的实施例的用于在安全系统中管理密钥的方法200的流程图。

如图2所示,在框210中,响应于启动诸如图1所示示例环境100的安全系统,从安全系统的用户可访问的存储区域(例如存储装置112)中向安全系统的内核域(120)加载一个或多个加密密钥的经加密的密文。用户可访问的存储区域例如可以是如图1所示的用户域110中的存储装置112。在该存储区域中,存储有经加密的加密密钥的密文。内核域120在安全系统加点启动时可以通过读写接口从存储装置112中加载这些经加密的加密密钥的密文。

在框220中,将所获得的一个或多个加密密钥的经加密的密文从内核域(120)提供给安全系统的硬件域(130)。这是因为,如将参照图3所详细描述的,硬件域130将提供对于加密密钥的加密和解密功能。只有通过硬件域130才能够对经加密的加密密钥的密文进行解密。

在框230中,在该硬件域(130)中,利用根密钥对一个或多个加密密钥的经加密的密文进行解密,以获得一个或多个加密密钥。

在框240中,从该硬件域(130)向内核域(120)提供该一个或多个加密密钥。此时,内核域120可以获得加密密钥的明文。根据本公开的实施方式,一个或多个加密密钥可以被贮存在内核域120的易失性存储器(例如内核域存储122)中。根据本公开的一个或多个实施方式,用户域110中的应用的进程调用内核域120的加密/解密功能时,内核域120中的诸如内核域加密管理单元121可以利用内核域存储122中缓存的一个或多个加密密钥对相应业务数据进行加密或解密。

根据本公开的一个或多个实施方式,在内核域中还可以根据调用进程身份信息,确定是否允许利用一个或多个加密密钥对相应的业务数据进行加密或解密。当从用户域110中进行系统调用时,内核域120可以获取进行调用的进程的身份信息,(例如进程名和/或其它属性等)。内核域120可以基于预先配置的白名单进行访问控制。例如在白名单中可以预先定义有权限调用加密/解密功能的进程。如果调用者的进程身份与白名单中的任何一项均不符,则可以判断该进程无权调用加密/解密功能,以对相应业务数据进行加密/解密。在这种情况下,该未授权的进程为非法进程,而对应的应用为非法应用。通过这样的设置,可以有利地防止未授权的非法应用访问、解密并获取安全数据。本领域的技术人员可以注意到,根据该实施方式,访问控制策略被实现在更底层的内核域120中,这大大增加了恶意用户实施攻击的难度。

图3示出了根据本公开的实施例的在初始化阶段用于管理加密密钥的方法300的流程图。

如图3所示,在框310中,在安全系统的初始化阶段,在内核域(120)中生成一个或多个加密密钥。根据本公开的实施方式,内核域120中的内核域加密管理单元121可以例如随机产生一个或多个加密密钥。

在框320中,将一个或多个加密密钥从内核域(120)提供给该硬件域(130)。

在框330中,在硬件域(130)中,利用根密钥对一个或多个加密密钥进行加密,以获得一个或多个加密密钥的经加密的密文。根据本公开的一个或多个实施方式,在硬件域130中,例如授信平台模块芯片的硬件域加密管理单元131可以生成并永久性存储根密钥。

在框340中,从硬件域(130)向内核域(120)提供一个或多个加密密钥的经加密的密文。

在框350中,通过内核域(120)将一个或多个加密密钥的经加密的密文存储到用户域(110)的用户可访问的存储区域(112)中。

通过上述的初始化过程,用于对加密密钥进行加密的根密钥仅被控制在硬件域130中,而不会为上层——内核域120、用户域110所知。因此,恶意用户若要破解加密密钥,必须先获得底层的根密钥,才能对加密密钥的经加密的密文进行解密,由此大大增加了攻击难度。

图4示出了根据本公开的实施例的用于在安全系统中管理加密密钥的装置400的框图。

如图4所示,在安全系统中管理加密密钥的装置400包括内核域加密管理单元410和硬件域加密管理单元420。

在工作阶段,内核域加密管理单元410被配置为响应于启动该安全系统,从该安全系统的用户可访问的存储区域中向该安全系统的内核域加载一个或多个加密密钥的经加密的密文。内核域加密管理单元410将该一个或多个加密密钥的经加密的密文从内核域提供给该安全系统的硬件域。

硬件域加密管理单元420被配置为:在该硬件域中,利用根密钥对该一个或多个加密密钥的经加密的密文进行解密,以获得该一个或多个加密密钥。并且,硬件域加密管理单元420将该一个或多个加密密钥从该硬件域提供到该内核域。

根据本公开的一个或多个实施方式,响应于接收到来自硬件域的一个或多个加密密钥的明文,内核域加密管理单元410可以将该一个或多个加密密钥贮存在该内核域的易失性存储器中。内核域加密管理单元410可以利用该一个或多个加密密钥对该安全系统的业务数据进行加密或解密。

根据本公开的一个或多个实施方式,在初始化阶段,该内核域加密管理单元410可以被配置为按照任何适当的方式来生成一个或多个加密密钥,这些加密密钥将被用于在工作阶段对业务数据进行加密或解密。内核域加密管理单元410可以将该一个或多个加密密钥从该内核域提供给该硬件域。响应于接收到来自内核域的一个或多个加密密钥,该硬件域加密管理单元420可以被配置为在该硬件域中,利用该根密钥对来自该内核域的该一个或多个加密密钥进行加密,以获得该一个或多个加密密钥的经加密的密文。该硬件域加密管理单元420可以向该内核域提供该一个或多个加密密钥的经加密的密文。接着,该内核域加密管理单元410可以将从该硬件域获得该一个或多个加密密钥的经加密的密文存储到该用户可访问的存储区域中。

根据本公开的一个或多个实施方式,该内核域加密管理单元410还可以被配置为根据调用进程身份信息,确定是否允许利用该一个或多个加密密钥对该业务数据进行加密或解密。在一些实现中,可以将允许调用加密/解密功能的进程身份信息记录到白名单中。其中,进程的身份信息例如可以包括进程的名称、标识以及其他能够识别进程的属性。

根据本公开的一个或多个实施方式,该硬件域加密管理单元420还可以被配置为在该硬件域中生成并永久性存储根密钥。在一些实现中,该硬件域加密管理单元是在该硬件域中一个或多个受信平台模块芯片。

参照图1的描述可以理解,装置400所包括的各种装置,即内核域加密管理单元410和硬件域加密管理单元420可以对应于或者部分地对应于参照图1所描述对应于内核域加密管理单元121和硬件域加密管理单元131。在一些具体实现上,内核域加密管理单元410可以全部或者部分地被实现为操作系统中的功能模块和接口模块,而硬件域加密管理单元420可以全部或者部分地被实施为硬件芯片/芯片组或者软件和硬件的组合。这里所描述的实现方式以及本领域技术人员基于本公开的教导容易想到的其他实现方式都没有脱离本公开的构思,并且仍然属于本公开的范围。

图5示出了可以用来实施本公开的实施例的示例设备500的示意性框图。应当理解,设备500可以用于实现本公开所描述的装置400。根据本公开的一种实施方式,该设备500可以被包括在车辆中。

如图所示,设备500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序指令,来执行各种适当的动作和处理。在ram503中,还可存储设备500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线804彼此相连。输入/输出(i/o)接口505也连接至总线504。

设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其它设备交换信息/数据。

处理单元501执行上文所描述的各个方法和过程,例如方法200、300。例如,在一些实施例中,方法200、300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram503并由cpu501执行时,可以执行上文描述的方法200、300的一个或多个动作或步骤。备选地,在其它实施例中,cpu501可以通过其它任何适当的方式(例如,借助于固件)而被配置为执行方法。

通过根据本公开的各种实施方式,可以利用硬件加密并且借助于内核域对加密密钥实现安全管理。在初始化阶段,内核域产生用于加密/解密业务数据的加密密钥,但不会将加密密钥的明文直接存储到用户域。相反,利用底层硬件来对加密密钥进行加密,并将加密后的加密密钥的密文存储在用户域。这使得用户域至多只能获得加密后的加密密钥的密文,而不能获得加密密钥的明文。在工作阶段,内核域加载加密后的加密密钥的密文,通过硬件提供的根密钥进行解密,获得明文的加密密钥。由此,可以利用加密密钥对用户空间的业务数据进行加密或解密。由此,在工作阶段中,由于内核域仅临时缓存加密密钥,且由于内核域较用户域而言是更低层,因此提升了加密密钥的存储和管理的安全性。根据本公开的实施方式能够大大提升恶意用户通过获取加密密钥来攻击安全系统的难度。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld),等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各动作或步骤,但是这应当理解为要求这样动作或步骤以所示出的特定次序或以顺序次序执行,或者要求所有图示的动作或步骤应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开的实施例,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

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